:root {
  --saffron: #E07B39;
  --saffron-light: #F5E6D8;
  --green-deep: #1E3A2F;
  --green-mid: #2D5440;
  --cream: #FAF7F2;
  --cream-dark: #F0EBE3;
  --ink: #1C1917;
  --ink-muted: #6B5F55;
  --white: #FFFFFF;
  --card-border: #E8E0D6;
  --shadow: 0 2px 12px rgba(28, 25, 23, 0.08);
}

* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

body {
  font-family: 'DM Sans', sans-serif;
  background: var(--cream);
  color: var(--ink);
  min-height: 100vh;
}

/* HEADER + NAV (SHARED ACROSS ALL PAGES) */
header {
  background: var(--green-deep);
  padding: 0 24px;
}

.header-inner {
  max-width: 960px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px 0;
}

.logo {
  font-family: 'Fraunces', serif;
  font-size: 1.4rem;
  font-weight: 700;
  color: var(--cream);
  text-decoration: none;
}

.logo span {
  color: var(--saffron);
}

.header-tagline {
  font-size: 0.8rem;
  color: rgba(250, 247, 242, 0.5);
}

.nav-social {
  display: flex;
  align-items: center;
  gap: 4px;
  margin-left: auto;
  padding-left: 12px;
}

.nav-social-link {
  color: rgba(250, 247, 242, 0.5);
  padding: 6px;
  display: flex;
  align-items: center;
  transition: color 0.2s;
  text-decoration: none;
}

.nav-social-link:hover {
  color: var(--saffron);
}

nav {
  background: var(--green-deep);
  border-top: 1px solid rgba(255, 255, 255, 0.1);
}

.nav-inner {
  max-width: 960px;
  margin: 0 auto;
  padding: 0 24px;
  display: flex;
  gap: 0;
  overflow-x: auto;
}

.nav-link {
  color: rgba(250, 247, 242, 0.7);
  text-decoration: none;
  font-size: 0.82rem;
  font-weight: 500;
  padding: 11px 16px;
  white-space: nowrap;
  border-bottom: 2px solid transparent;
  transition: all 0.2s;
  display: block;
}

.nav-link:hover,
.nav-link.active {
  color: var(--saffron);
  border-bottom-color: var(--saffron);
}

/* UPCOMING EVENT STRIP (SHARED ACROSS ALL PAGES) */
.upcoming-strip { background:var(--saffron-light); border-top:1px solid #E8D5C4; border-bottom:1px solid #E8D5C4; padding:20px 24px; }
.upcoming-inner { max-width:960px; margin:0 auto; display:flex; align-items:center; gap:16px; flex-wrap:wrap; }
.upcoming-dot { width:9px; height:9px; background:var(--saffron); border-radius:50%; flex-shrink:0; animation:upcoming-pulse 1.8s ease-in-out infinite; }
@keyframes upcoming-pulse { 0%,100%{opacity:1;transform:scale(1);}50%{opacity:0.5;transform:scale(0.8);} }
.upcoming-text { font-size:0.9rem; color:var(--ink); flex:1; }
.upcoming-text strong { font-weight:700; }
.upcoming-link { background:var(--saffron); color:white; padding:8px 18px; border-radius:8px; text-decoration:none; font-size:0.82rem; font-weight:600; white-space:nowrap; }
.upcoming-link:hover { opacity:0.85; }

/* SLIM BANNER (SHARED ACROSS INNER PAGES) */
.slim-banner {
  background: var(--green-deep);
  border-bottom: 2px solid var(--saffron);
  padding: 10px 24px;
}

.slim-banner-inner {
  max-width: 960px;
  margin: 0 auto;
}

.slim-banner-line1 {
  font-family: 'Fraunces', serif;
  font-size: 1rem;
  font-style: italic;
  color: var(--cream);
  font-weight: 600;
}

.slim-banner-line2 {
  font-size: 0.78rem;
  color: rgba(250, 247, 242, 0.55);
  margin-top: 1px;
}

/* PAGE TITLE (SHARED) */
.page-title {
  max-width: 960px;
  margin: 0 auto;
  padding: 36px 24px 0;
}

.page-title h1 {
  font-family: 'Fraunces', serif;
  font-size: clamp(1.6rem, 4vw, 2.4rem);
  color: var(--green-deep);
  font-weight: 700;
  margin-bottom: 6px;
}

.page-title h1 em {
  font-style: italic;
  color: var(--saffron);
}

.page-title p {
  font-size: 0.9rem;
  color: var(--ink-muted);
  line-height: 1.6;
  max-width: 600px;
}

/* CONTENT CONTAINER */
.content {
  max-width: 960px;
  margin: 0 auto;
  padding: 32px 24px 80px;
}

.section-label {
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--ink-muted);
  margin-bottom: 20px;
}

/* FOOTER (SHARED ACROSS ALL PAGES) */
footer {
  background: var(--green-deep);
  text-align: center;
  padding: 28px 24px;
}

footer p {
  color: rgba(250, 247, 242, 0.5);
  font-size: 0.8rem;
  line-height: 1.6;
}

/* PASSWORD GATE (index.html only, but included here for simplicity) */
#gate {
  position: fixed;
  inset: 0;
  background: var(--green-deep);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1000;
  padding: 24px;
}

.gate-box {
  background: var(--cream);
  border-radius: 16px;
  padding: 48px 40px;
  max-width: 500px;
  width: 100%;
  text-align: center;
}

.gate-logo {
  font-family: 'Fraunces', serif;
  font-size: 2.4rem;
  font-weight: 700;
  color: var(--green-deep);
  line-height: 1;
  margin-bottom: 4px;
}

.gate-logo span {
  color: var(--saffron);
}

.gate-sub {
  font-size: 0.85rem;
  color: var(--ink-muted);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  margin-bottom: 32px;
}

.gate-label {
  font-size: 0.9rem;
  color: var(--ink-muted);
  margin-bottom: 12px;
  display: block;
}

.gate-input {
  width: 100%;
  padding: 14px 18px;
  border: 2px solid var(--card-border);
  border-radius: 10px;
  font-size: 1rem;
  font-family: 'DM Sans', sans-serif;
  background: var(--white);
  color: var(--ink);
  outline: none;
  transition: border-color 0.2s;
  text-align: center;
  letter-spacing: 0.08em;
}

.gate-input:focus {
  border-color: var(--saffron);
}

.gate-btn {
  width: 100%;
  margin-top: 14px;
  padding: 14px;
  background: var(--saffron);
  color: white;
  border: none;
  border-radius: 10px;
  font-size: 1rem;
  font-family: 'DM Sans', sans-serif;
  font-weight: 600;
  cursor: pointer;
  transition: background 0.2s;
}

.gate-btn:hover {
  background: #C96A2A;
}

.gate-error {
  margin-top: 12px;
  font-size: 0.85rem;
  color: #C0392B;
  min-height: 20px;
}

.gate-hint {
  margin-top: 24px;
  font-size: 0.8rem;
  color: var(--ink-muted);
}

#main {
  display: none;
}

/* RESPONSIVE */
@media (max-width: 620px) {
  .header-inner {
    flex-direction: column;
    align-items: flex-start;
    gap: 4px;
  }
}

/* === PAGE HERO (shared: guidelines, subgroups, new-to-berlin, resources, events) === */
.page-hero { background:linear-gradient(135deg,var(--green-deep) 0%,var(--green-mid) 100%); padding:36px 24px; border-bottom:3px solid var(--saffron); }
.page-hero h1 { font-family:'Fraunces',serif; font-size:clamp(1.6rem,4vw,2.4rem); color:var(--cream); font-weight:700; margin-bottom:8px; }
.page-hero h1 em { font-style:italic; color:var(--saffron); }
.page-hero p { color:rgba(250,247,242,0.7); font-size:0.95rem; max-width:600px; line-height:1.6; }

/* === GUIDELINES PAGE === */
.guideline-item { display:flex; gap:16px; align-items:flex-start; padding:20px 0; border-bottom:1px solid var(--cream-dark); }
.guideline-item:last-child { border-bottom:none; }
.guideline-icon { font-size:1.5rem; flex-shrink:0; margin-top:2px; }
.guideline-text { flex:1; }
.guideline-title { font-family:'Fraunces',serif; font-size:1rem; font-weight:600; color:var(--green-deep); margin-bottom:4px; }
.guideline-desc { font-size:0.88rem; color:var(--ink-muted); line-height:1.6; }
.motto-box { background:var(--green-deep); border-radius:14px; padding:28px 32px; margin-bottom:40px; text-align:center; }
.motto-box h2 { font-family:'Fraunces',serif; font-size:1.3rem; font-style:italic; color:var(--saffron); margin-bottom:8px; }
.motto-box p { color:rgba(250,247,242,0.7); font-size:0.9rem; line-height:1.6; }

/* === SUBGROUPS PAGE === */
.subgroups-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(280px,1fr)); gap:20px; }
.sg-card { background:var(--white); border:1px solid var(--card-border); border-radius:14px; padding:24px; box-shadow:var(--shadow); display:flex; flex-direction:column; gap:10px; }
.sg-card.main-group { border-color:var(--saffron); border-width:2px; }
.sg-header { display:flex; align-items:center; gap:12px; }
.sg-icon { font-size:1.6rem; flex-shrink:0; }
.sg-name { font-family:'Fraunces',serif; font-size:1.05rem; font-weight:600; color:var(--green-deep); }
.sg-badge { font-size:0.65rem; font-weight:700; text-transform:uppercase; letter-spacing:0.08em; background:var(--saffron-light); color:var(--saffron); padding:2px 8px; border-radius:100px; }
.sg-desc { font-size:0.85rem; color:var(--ink-muted); line-height:1.6; flex:1; }
.sg-note { font-size:0.78rem; color:var(--ink-muted); font-style:italic; border-top:1px solid var(--cream-dark); padding-top:10px; }
@media(max-width:620px) { .subgroups-grid { grid-template-columns:1fr; } }

/* === NEW TO BERLIN PAGE === */
.step-card { background:var(--white); border:1px solid var(--card-border); border-radius:14px; padding:24px; margin-bottom:20px; box-shadow:var(--shadow); display:flex; gap:20px; align-items:flex-start; }
.step-num { background:var(--saffron); color:white; font-family:'Fraunces',serif; font-size:1.1rem; font-weight:700; width:40px; height:40px; border-radius:50%; display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.step-body { flex:1; }
.step-title { font-family:'Fraunces',serif; font-size:1rem; font-weight:600; color:var(--green-deep); margin-bottom:6px; }
.step-desc { font-size:0.87rem; color:var(--ink-muted); line-height:1.65; }
.step-desc a { color:var(--saffron); text-decoration:none; }
.step-desc a:hover { text-decoration:underline; }
.step-desc strong { color:var(--ink); }
.step-desc ul { margin:8px 0 0 16px; }
.step-desc li { margin-bottom:4px; }
.tip-box { background:var(--saffron-light); border:1px solid var(--saffron); border-radius:10px; padding:16px 20px; margin-bottom:32px; font-size:0.87rem; color:var(--ink); line-height:1.6; }
.tip-box strong { color:var(--saffron); }
@media(max-width:620px) { .step-card { flex-direction:column; gap:12px; } }

/* === RESOURCES / LIBRARY PAGE === */
.resource-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(260px,1fr)); gap:14px; margin-bottom:8px; }
.resource-card { background:var(--white); border:1px solid var(--card-border); border-radius:10px; padding:16px 18px; box-shadow:var(--shadow); text-decoration:none; display:flex; flex-direction:column; gap:4px; transition:box-shadow 0.2s,transform 0.15s; }
.resource-card:hover { box-shadow:0 4px 16px rgba(28,25,23,0.12); transform:translateY(-1px); }
.resource-name { font-weight:600; font-size:0.9rem; color:var(--green-deep); }
.resource-desc { font-size:0.8rem; color:var(--ink-muted); line-height:1.5; }
.resource-url { font-size:0.72rem; color:var(--saffron); margin-top:2px; }
@media(max-width:620px) { .resource-grid { grid-template-columns:1fr; } }

/* === EVENTS PAGE === */
.upcoming-card { background:var(--green-deep); border-radius:14px; padding:28px; margin-bottom:32px; display:flex; gap:20px; align-items:flex-start; }
.upcoming-date { background:var(--saffron); color:white; border-radius:10px; padding:10px 14px; text-align:center; flex-shrink:0; min-width:60px; }
.upcoming-day { font-family:'Fraunces',serif; font-size:1.8rem; font-weight:700; line-height:1; }
.upcoming-mon { font-size:0.75rem; font-weight:600; text-transform:uppercase; letter-spacing:0.06em; opacity:0.85; }
.upcoming-title { font-family:'Fraunces',serif; font-size:1.1rem; font-weight:600; color:var(--cream); margin-bottom:6px; }
.upcoming-meta { font-size:0.85rem; color:rgba(250,247,242,0.7); line-height:1.5; margin-bottom:12px; }
.rsvp-btn { display:inline-block; background:var(--saffron); color:white; padding:8px 18px; border-radius:8px; text-decoration:none; font-size:0.82rem; font-weight:600; }
.rsvp-btn:hover { opacity:0.85; }
.event-item { display:flex; gap:20px; padding:20px 0; border-bottom:1px solid var(--cream-dark); align-items:flex-start; }
.event-item:last-child { border-bottom:none; }
.event-date-pill { background:var(--cream-dark); color:var(--ink-muted); border-radius:8px; padding:6px 12px; font-size:0.78rem; font-weight:600; flex-shrink:0; text-align:center; min-width:72px; font-family:'Fraunces',serif; }
.event-title { font-weight:600; font-size:0.92rem; color:var(--ink); margin-bottom:3px; }
.event-meta { font-size:0.8rem; color:var(--ink-muted); line-height:1.5; margin-bottom:6px; }
.event-album { display:inline-block; font-size:0.75rem; font-weight:600; color:var(--saffron); text-decoration:none; }
.event-album:hover { text-decoration:underline; }
.album-block { margin-bottom:40px; }
.album-label { font-family:'Fraunces',serif; font-size:1rem; font-weight:600; color:var(--green-deep); margin-bottom:12px; }
.album-frame { width:100%; border-radius:10px; overflow:hidden; border:1px solid var(--card-border); }
.album-frame iframe { display:block; width:100%; height:480px; border:none; }
@media(max-width:620px) { .upcoming-card { flex-direction:column; gap:16px; } .event-item { flex-direction:column; gap:8px; } }

/* === KNOWLEDGE BASE PAGE === */
.page-intro { max-width:960px; margin:0 auto; padding:32px 24px 0; }
.page-intro h1 { font-family:'Fraunces',serif; font-size:clamp(1.5rem,3.5vw,2.2rem); color:var(--green-deep); font-weight:700; margin-bottom:8px; }
.page-intro h1 em { font-style:italic; color:var(--saffron); }
.pill-row { display:flex; flex-wrap:wrap; gap:8px; margin-top:16px; margin-bottom:8px; }
.pill { background:var(--cream-dark); color:var(--ink-muted); border:1px solid var(--card-border); border-radius:100px; padding:5px 14px; font-size:0.8rem; cursor:pointer; transition:all 0.2s; white-space:nowrap; }
.pill:hover,.pill.active { background:var(--saffron); border-color:var(--saffron); color:white; }
.cards-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(280px,1fr)); gap:20px; margin-bottom:56px; }
.card { background:var(--white); border:1px solid var(--card-border); border-radius:14px; overflow:hidden; box-shadow:var(--shadow); transition:box-shadow 0.2s,transform 0.15s; }
.card:hover { box-shadow:0 6px 24px rgba(28,25,23,0.13); transform:translateY(-2px); }
.card-header { display:flex; align-items:flex-start; gap:14px; padding:20px; cursor:pointer; }
.card-icon { font-size:1.5rem; flex-shrink:0; line-height:1; margin-top:2px; }
.card-title-wrap { flex:1; }
.card-title { font-family:'Fraunces',serif; font-size:1.05rem; font-weight:600; color:var(--green-deep); line-height:1.25; margin-bottom:4px; }
.card-desc { font-size:0.8rem; color:var(--ink-muted); line-height:1.4; }
.card-toggle { font-size:1.1rem; color:var(--ink-muted); flex-shrink:0; transition:transform 0.25s; margin-top:2px; }
.card.open .card-toggle { transform:rotate(180deg); }
.card-body { display:none; }
.card.open .card-body { display:block; }
.qa-item { padding:16px 20px; border-bottom:1px solid var(--cream-dark); }
.qa-item:last-child { border-bottom:none; }
.qa-q { font-size:0.88rem; font-weight:600; color:var(--saffron); margin-bottom:7px; line-height:1.4; }
.qa-a { font-size:0.87rem; color:#3D3530; line-height:1.65; }
.qa-a ul { margin:8px 0 0 16px; }
.qa-a li { margin-bottom:4px; }
.qa-a strong { color:var(--ink); font-weight:600; }
.qa-a a { color:var(--saffron); text-decoration:none; }
.qa-a a:hover { text-decoration:underline; }
#no-results { display:none; text-align:center; padding:48px 24px; color:var(--ink-muted); }
@media(max-width:620px) { .cards-grid { grid-template-columns:1fr; } }

/* === COMMUNITY PAGE === */
.avail-section { margin-bottom:56px; }
.avail-intro { font-size:0.9rem; color:var(--ink-muted); line-height:1.6; margin-bottom:24px; max-width:680px; }
.avail-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(260px,1fr)); gap:16px; margin-bottom:24px; }
.avail-category { background:var(--white); border:1px solid var(--card-border); border-radius:12px; padding:18px; box-shadow:var(--shadow); }
.avail-cat-header { display:flex; align-items:center; gap:10px; margin-bottom:12px; }
.avail-cat-icon { font-size:1.3rem; }
.avail-cat-title { font-family:'Fraunces',serif; font-size:0.95rem; font-weight:600; color:var(--green-deep); }
.avail-names { display:flex; flex-wrap:wrap; gap:6px; }
.avail-name { background:var(--cream-dark); color:var(--ink); border-radius:100px; padding:4px 12px; font-size:0.77rem; font-weight:500; border:1px solid var(--card-border); }
.avail-name a { color:inherit; text-decoration:none; }
.avail-name a:hover { color:var(--saffron); }
.avail-empty { font-size:0.78rem; color:var(--ink-muted); font-style:italic; }
.avail-cta { background:var(--green-deep); border-radius:12px; padding:20px 24px; display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap; }
.avail-cta-text { color:rgba(250,247,242,0.85); font-size:0.88rem; line-height:1.5; }
.avail-cta-text strong { color:white; display:block; margin-bottom:2px; }
.avail-btn { background:var(--saffron); color:white; padding:10px 20px; border-radius:8px; text-decoration:none; font-size:0.85rem; font-weight:600; white-space:nowrap; flex-shrink:0; }
.avail-btn:hover { opacity:0.85; }
.members-section { margin-bottom:56px; }
.members-controls { display:flex; gap:12px; margin-bottom:20px; align-items:center; flex-wrap:wrap; }
.members-search-wrap { flex:1; min-width:200px; position:relative; }
.members-search-icon { position:absolute; left:13px; top:50%; transform:translateY(-50%); color:var(--ink-muted); font-size:0.85rem; pointer-events:none; }
.members-search { width:100%; padding:11px 16px 11px 38px; border:1px solid var(--card-border); border-radius:9px; font-family:'DM Sans',sans-serif; font-size:0.9rem; background:var(--white); color:var(--ink); outline:none; transition:border-color 0.2s; }
.members-search:focus { border-color:var(--saffron); }
.members-count { font-size:0.82rem; color:var(--ink-muted); white-space:nowrap; }
.members-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(235px,1fr)); gap:16px; }
.member-card { background:var(--white); border:1px solid var(--card-border); border-radius:12px; padding:18px; box-shadow:var(--shadow); display:flex; flex-direction:column; transition:box-shadow 0.2s,transform 0.15s; }
.member-card:hover { box-shadow:0 6px 20px rgba(28,25,23,0.1); transform:translateY(-1px); }
.member-top { display:flex; align-items:flex-start; gap:12px; margin-bottom:10px; }
.member-avatar { width:42px; height:42px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-family:'Fraunces',serif; font-size:0.9rem; font-weight:700; color:white; flex-shrink:0; }
.member-name { font-size:0.9rem; font-weight:600; color:var(--ink); line-height:1.25; }
.member-role { font-size:0.75rem; color:var(--ink-muted); line-height:1.45; margin-top:2px; }
.member-notes { font-size:0.77rem; color:#4A4440; line-height:1.6; border-top:1px solid var(--cream-dark); padding-top:10px; margin-top:4px; margin-bottom:10px; flex:1; }
.member-tags { display:flex; flex-wrap:wrap; gap:4px; margin-bottom:12px; }
.member-tag { background:var(--saffron-light); color:var(--saffron); border-radius:4px; font-size:0.66rem; font-weight:600; padding:2px 7px; text-transform:uppercase; letter-spacing:0.05em; }
.member-linkedin { display:inline-flex; align-items:center; gap:5px; background:var(--green-deep); color:white; padding:7px 12px; border-radius:7px; text-decoration:none; font-size:0.76rem; font-weight:600; transition:opacity 0.2s; align-self:flex-start; }
.member-linkedin:hover { opacity:0.8; }
.member-no-linkedin { font-size:0.75rem; color:var(--ink-muted); font-style:italic; margin-top:auto; }
#members-no-results { color:var(--ink-muted); font-style:italic; font-size:0.87rem; padding:20px 0; display:none; }
@media(max-width:620px) { .members-grid { grid-template-columns:1fr; } }

/* === HOME PAGE === */
.hero { background:linear-gradient(140deg,var(--green-deep) 0%,#2D5440 60%,#1E3A2F 100%); padding:64px 24px 56px; border-bottom:3px solid var(--saffron); }
.hero-inner { max-width:760px; margin:0 auto; }
.hero-eyebrow { font-size:0.75rem; font-weight:600; letter-spacing:0.18em; text-transform:uppercase; color:var(--saffron); margin-bottom:16px; }
.hero h1 { font-family:'Fraunces',serif; font-size:clamp(2.4rem,6vw,3.8rem); color:var(--cream); font-weight:700; line-height:1.1; margin-bottom:20px; }
.hero h1 em { font-style:italic; color:var(--saffron); }
.hero-desc { font-size:1.05rem; color:rgba(250,247,242,0.75); line-height:1.7; max-width:540px; margin-bottom:32px; }
.hero-stats { display:flex; gap:32px; flex-wrap:wrap; }
.stat-num { font-family:'Fraunces',serif; font-size:1.8rem; font-weight:700; color:var(--cream); line-height:1; }
.stat-label { font-size:0.78rem; color:rgba(250,247,242,0.5); margin-top:2px; }
.section { max-width:960px; margin:0 auto; padding:56px 24px 0; }
.section-last { padding-bottom:80px; }
.section-eyebrow { font-size:0.72rem; font-weight:600; letter-spacing:0.16em; text-transform:uppercase; color:var(--ink-muted); margin-bottom:8px; }
.section-title { font-family:'Fraunces',serif; font-size:1.6rem; font-weight:700; color:var(--green-deep); margin-bottom:24px; }
.section-title em { font-style:italic; color:var(--saffron); }
.hub-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(270px,1fr)); gap:16px; }
.hub-card { background:var(--white); border:1px solid var(--card-border); border-radius:14px; padding:22px; box-shadow:var(--shadow); text-decoration:none; display:flex; flex-direction:column; gap:10px; transition:box-shadow 0.2s,transform 0.15s; }
.hub-card:hover { box-shadow:0 6px 24px rgba(28,25,23,0.12); transform:translateY(-2px); }
.hub-icon { font-size:1.6rem; line-height:1; }
.hub-name { font-family:'Fraunces',serif; font-size:1rem; font-weight:600; color:var(--green-deep); }
.hub-desc { font-size:0.82rem; color:var(--ink-muted); line-height:1.55; flex:1; }
.hub-cta { font-size:0.78rem; font-weight:600; color:var(--saffron); margin-top:4px; }
.manifesto { background:var(--green-deep); margin:56px 0 0; padding:56px 24px; }
.manifesto-inner { max-width:680px; margin:0 auto; text-align:center; }
.manifesto h2 { font-family:'Fraunces',serif; font-size:1.8rem; font-style:italic; color:var(--cream); font-weight:700; line-height:1.3; margin-bottom:20px; }
.manifesto h2 em { color:var(--saffron); font-style:normal; }
.manifesto-rules { display:flex; flex-direction:column; gap:12px; text-align:left; margin-top:32px; }
.rule { display:flex; gap:14px; align-items:flex-start; }
.rule-icon { font-size:1rem; flex-shrink:0; margin-top:2px; }
.rule-text { font-size:0.88rem; color:rgba(250,247,242,0.72); line-height:1.6; }
.rule-text strong { color:var(--cream); }
@media(max-width:620px) { .hero { padding:44px 24px 40px; } .hero-stats { gap:20px; } .hub-grid { grid-template-columns:1fr; } }
