@font-face {
  font-family: "Gemo Display";
  src: local("Poppins SemiBold"), local("Poppins-SemiBold");
  font-weight: 600 800;
  font-display: swap;
}

:root {
  --color-ink: #1e1e1e;
  --color-ink-soft: #31302e;
  --color-ember: #e93436;
  --color-ember-dark: #a91f27;
  --color-flame: #f08639;
  --color-sun: #f2c14e;
  --color-pine: #204b38;
  --color-cream: #f8f3ea;
  --color-sand: #e6d7c4;
  --color-white: #fff;
  --space-1: .25rem;
  --space-2: .5rem;
  --space-3: .75rem;
  --space-4: 1rem;
  --space-6: 1.5rem;
  --space-8: 2rem;
  --space-12: 3rem;
  --space-16: 4rem;
  --space-24: 6rem;
  --radius-sm: .375rem;
  --radius-md: .875rem;
  --radius-lg: 1.5rem;
  --shadow-warm: 0 1.5rem 4rem rgb(55 31 20 / .16);
  --container: 77.5rem;
  --container-wide: 95rem;
  --font-display: "Gemo Display", "Aptos Display", "Arial Narrow", sans-serif;
  --font-body: "Aptos", "Segoe UI", system-ui, sans-serif;
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--color-cream); color: var(--color-ink); font-family: var(--font-body); line-height: 1.6; }
img { display: block; max-width: 100%; }
a { color: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
:focus-visible { outline: .2rem solid var(--color-sun); outline-offset: .25rem; }

.container { width: min(calc(100% - 2rem), var(--container)); margin-inline: auto; }
.container--wide { max-width: var(--container-wide); }
.section { padding-block: clamp(4.5rem, 9vw, 8rem); }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.skip-link { position: fixed; z-index: 1000; top: .75rem; left: .75rem; transform: translateY(-200%); background: var(--color-white); color: var(--color-ink); padding: .75rem 1rem; border-radius: var(--radius-sm); }
.skip-link:focus { transform: none; }

.site-header { position: fixed; z-index: 50; inset: 0 0 auto; color: var(--color-white); transition: background-color .2s ease, box-shadow .2s ease; }
.site-header[data-scrolled] { background: rgb(30 30 30 / .96); box-shadow: 0 .5rem 1.5rem rgb(0 0 0 / .15); }
.site-header__inner { min-height: 6rem; display: flex; align-items: center; justify-content: space-between; gap: var(--space-8); }
.brand { display: inline-flex; align-items: center; gap: .8rem; text-decoration: none; }
.brand img { width: 3.8rem; height: 3.8rem; object-fit: contain; filter: drop-shadow(0 .2rem .5rem rgb(0 0 0 / .25)); }
.brand__text { display: grid; line-height: 1.1; text-transform: uppercase; letter-spacing: .04em; }
.brand__text strong { font-family: var(--font-display); font-size: 1rem; }
.brand__text small { margin-top: .3rem; font-size: .65rem; letter-spacing: .12em; opacity: .76; }
.main-nav { display: flex; align-items: center; gap: clamp(1rem, 2.4vw, 2.25rem); font-size: .94rem; font-weight: 650; }
.main-nav > a:not(.button) { text-decoration: none; text-underline-offset: .45rem; }
.main-nav > a:not(.button):hover { text-decoration: underline; text-decoration-color: var(--color-flame); text-decoration-thickness: .15rem; }
.nav-toggle { display: none; }

.button { display: inline-flex; min-height: 3.25rem; align-items: center; justify-content: center; padding: .8rem 1.35rem; border: .1rem solid var(--color-ember); border-radius: var(--radius-sm); background: var(--color-ember); color: var(--color-white); font-weight: 750; text-decoration: none; transition: transform .18s ease, background-color .18s ease, border-color .18s ease; }
.button:hover { transform: translateY(-.15rem); background: var(--color-ember-dark); border-color: var(--color-ember-dark); }
.button--small { min-height: 2.8rem; padding: .6rem 1rem; }
.button--ghost { background: rgb(20 20 20 / .16); border-color: rgb(255 255 255 / .65); backdrop-filter: blur(.25rem); }
.button--ghost:hover { background: var(--color-white); border-color: var(--color-white); color: var(--color-ink); }

.hero { position: relative; min-height: min(54rem, 100svh); display: grid; align-items: end; overflow: hidden; color: var(--color-white); background: var(--color-ink); }
.hero__media, .hero__media img, .hero__shade { position: absolute; inset: 0; width: 100%; height: 100%; }
.hero__media img { object-fit: cover; object-position: center 38%; }
.hero__shade { background: linear-gradient(90deg, rgb(11 10 9 / .88) 0%, rgb(11 10 9 / .54) 48%, rgb(11 10 9 / .12) 76%), linear-gradient(0deg, rgb(11 10 9 / .72), transparent 48%); }
.hero__path { position: absolute; width: 52rem; height: 52rem; right: -14rem; bottom: -25rem; border: .12rem solid rgb(255 255 255 / .22); border-radius: 45% 55% 50% 50%; transform: rotate(14deg); box-shadow: 0 0 0 2.5rem rgb(255 255 255 / .045), 0 0 0 5rem rgb(255 255 255 / .03); }
.hero__content { position: relative; z-index: 2; padding-top: 10rem; padding-bottom: clamp(7.5rem, 12vw, 10rem); }
.eyebrow { margin: 0 0 var(--space-4); color: var(--color-sun); font-size: .76rem; font-weight: 800; letter-spacing: .17em; text-transform: uppercase; }
.eyebrow--dark { color: var(--color-ember-dark); }
.hero h1 { max-width: 12ch; margin: 0; font-family: var(--font-display); font-size: clamp(3.3rem, 7.1vw, 7.4rem); font-weight: 700; letter-spacing: -.045em; line-height: .93; text-wrap: balance; }
.hero__lead { max-width: 38rem; margin: var(--space-8) 0 0; color: rgb(255 255 255 / .88); font-size: clamp(1.05rem, 1.8vw, 1.35rem); line-height: 1.55; }
.hero__actions { display: flex; flex-wrap: wrap; gap: var(--space-4); margin-top: var(--space-8); }
.hero__location { display: flex; align-items: center; gap: .6rem; margin: var(--space-8) 0 0; font-size: .84rem; letter-spacing: .04em; color: rgb(255 255 255 / .72); }
.hero__location span { color: var(--color-flame); font-size: 1.25rem; }
.hero__scroll { position: absolute; z-index: 3; right: max(1rem, calc((100vw - var(--container-wide)) / 2)); bottom: 2.5rem; display: flex; align-items: center; gap: .75rem; color: var(--color-white); font-size: .76rem; font-weight: 700; letter-spacing: .08em; text-decoration: none; text-transform: uppercase; }
.hero__scroll span:last-child { display: grid; width: 2.5rem; height: 2.5rem; place-items: center; border: .08rem solid rgb(255 255 255 / .4); border-radius: 50%; }

.intro { position: relative; background: var(--color-cream); }
.intro::before { content: ""; position: absolute; top: 0; left: max(1rem, calc((100vw - var(--container-wide)) / 2)); width: 8rem; height: .4rem; background: linear-gradient(90deg, var(--color-ember) 0 58%, var(--color-flame) 58%); }
.intro__grid { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(18rem, .8fr); gap: clamp(3rem, 8vw, 8rem); align-items: end; }
.intro h2, .branches h2 { max-width: 14ch; margin: 0; font-family: var(--font-display); font-size: clamp(2.5rem, 5vw, 5rem); letter-spacing: -.04em; line-height: 1.03; }
.intro__copy { max-width: 34rem; padding-bottom: .5rem; }
.intro__copy p { margin: 0 0 var(--space-6); font-size: clamp(1.05rem, 1.5vw, 1.25rem); }
.text-link { display: inline-flex; gap: .7rem; color: var(--color-ember-dark); font-weight: 800; text-decoration-thickness: .1rem; text-underline-offset: .35rem; }

.branches { background-color: #efe4d6; background-image: radial-gradient(circle at 12% 20%, rgb(233 52 54 / .07), transparent 25%), repeating-radial-gradient(ellipse at 90% 85%, transparent 0 2.9rem, rgb(30 30 30 / .035) 3rem 3.08rem); }
.branches h2 { max-width: 18ch; }
.branch-path { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin-top: clamp(3rem, 7vw, 6rem); border-top: .1rem solid rgb(30 30 30 / .22); }
.branch { position: relative; min-height: 18rem; display: flex; flex-direction: column; justify-content: end; padding: 2rem 1.5rem; border-right: .1rem solid rgb(30 30 30 / .16); color: var(--color-ink); text-decoration: none; overflow: hidden; transition: color .2s ease, transform .2s ease; }
.branch:first-child { border-left: .1rem solid rgb(30 30 30 / .16); }
.branch::before { content: ""; position: absolute; inset: auto 0 0; height: .55rem; background: var(--branch-color); transition: height .25s ease; }
.branch:hover { color: var(--branch-foreground, var(--color-white)); transform: translateY(-.5rem); }
.branch:hover::before { height: 100%; }
.branch > * { position: relative; z-index: 1; }
.branch__number { position: absolute; top: 1.2rem; left: 1.5rem; font-family: var(--font-display); font-size: .75rem; opacity: .52; }
.branch strong { font-family: var(--font-display); font-size: clamp(1.45rem, 2.2vw, 2.25rem); line-height: 1; }
.branch > span:not(.branch__number, .branch__arrow) { margin-top: .65rem; font-size: .82rem; opacity: .72; }
.branch__arrow { position: absolute; right: 1.25rem; bottom: 1.75rem; font-size: 1.3rem; opacity: 0; transform: translate(-.5rem, .5rem); transition: opacity .2s ease, transform .2s ease; }
.branch:hover .branch__arrow { opacity: 1; transform: none; }
/* Paletas oficiais dos Ramos — manuais de identidade visual dos Escoteiros do Brasil (2025). */
.branch--lobinho { --branch-color: #FAB81B; --branch-foreground: #004387; } /* Pantone P 10-8 C */
.branch--escoteiro { --branch-color: #005321; } /* Pantone P 147-15 C */
.branch--senior { --branch-color: #A8153D; } /* Pantone P 60-16 C */
.branch--pioneiro { --branch-color: #E20613; } /* Pantone P 57-8 C */
.content-note { max-width: 52rem; margin: var(--space-8) 0 0; color: #665f58; font-size: .8rem; }

.site-footer { padding-block: var(--space-16) var(--space-8); background: var(--color-ink); color: rgb(255 255 255 / .72); }
.site-footer__grid { display: grid; grid-template-columns: 1.1fr 1.2fr .7fr; gap: clamp(2.5rem, 7vw, 7rem); }
.site-footer__brand { display: flex; align-items: center; gap: 1rem; color: var(--color-white); }
.site-footer__brand img { width: 5.5rem; height: 5.5rem; }
.site-footer__brand div { display: grid; line-height: 1.25; }
.site-footer__brand strong { max-width: 13rem; font-family: var(--font-display); font-size: 1.15rem; text-transform: uppercase; }
.site-footer__brand span { margin-top: .4rem; color: var(--color-flame); font-size: .72rem; font-weight: 800; letter-spacing: .13em; }
.site-footer h2 { margin: 0 0 1rem; color: var(--color-white); font-family: var(--font-display); font-size: 1rem; letter-spacing: .02em; }
.site-footer p { margin: 0; }
.site-footer nav { display: grid; justify-items: start; gap: .45rem; }
.site-footer a { text-underline-offset: .25rem; }
.site-footer__bottom { display: flex; justify-content: space-between; gap: 2rem; margin-top: 4rem; padding-top: 1.5rem; border-top: .08rem solid rgb(255 255 255 / .14); font-size: .75rem; }
.site-footer strong { color: var(--color-white); }
.not-found { min-height: 100svh; display: grid; align-content: center; justify-items: start; max-width: 48rem; margin-inline: auto; padding: 2rem; }
.brand--dark { margin-bottom: 4rem; }
.not-found h1 { margin: 0; font-family: var(--font-display); font-size: clamp(3rem, 8vw, 6rem); letter-spacing: -.05em; line-height: .95; }
.not-found p:not(.eyebrow) { max-width: 34rem; margin-block: 1.5rem 2rem; }

.container--text { max-width: 48rem; }
.verification-note { margin-top: .8rem !important; color: inherit; font-size: .72rem !important; opacity: .68; }
.page-interior .site-header { position: sticky; background: var(--color-ink); }
.page-interior .site-header[data-scrolled] { background: rgb(30 30 30 / .98); }
.page-hero { position: relative; min-height: 34rem; display: grid; align-items: end; padding-block: clamp(7rem, 12vw, 11rem) clamp(4.5rem, 8vw, 7rem); overflow: hidden; color: var(--color-white); }
.page-hero::before, .page-hero::after { content: ""; position: absolute; pointer-events: none; }
.page-hero::before { width: 44rem; height: 44rem; right: -10rem; bottom: -26rem; border: .1rem solid rgb(255 255 255 / .16); border-radius: 44% 56% 48% 52%; box-shadow: 0 0 0 2.2rem rgb(255 255 255 / .04), 0 0 0 4.4rem rgb(255 255 255 / .025); transform: rotate(18deg); }
.page-hero::after { inset: 0; background-image: repeating-radial-gradient(ellipse at 15% 120%, transparent 0 3.8rem, rgb(255 255 255 / .035) 3.9rem 3.98rem); }
.page-hero > * { position: relative; z-index: 1; }
.page-hero--ember { background: linear-gradient(125deg, var(--color-ember-dark), #43191c); }
.page-hero--forest { background: linear-gradient(125deg, var(--color-pine), #10261d); }
.page-hero--ink { background: linear-gradient(125deg, var(--color-ink-soft), #0e0e0e); }
.page-hero--branch { background: linear-gradient(125deg, var(--branch-color, var(--color-ember-dark)), var(--color-ink)); }
.page-hero h1 { max-width: 14ch; margin: 0; font-family: var(--font-display); font-size: clamp(3.1rem, 7vw, 6.7rem); letter-spacing: -.045em; line-height: .96; text-wrap: balance; }
.page-hero p:last-of-type { max-width: 44rem; margin: 1.6rem 0 0; color: rgb(255 255 255 / .78); font-size: clamp(1.05rem, 1.8vw, 1.3rem); }
.branch-age { display: inline-flex; margin-top: 1.5rem; padding: .5rem .75rem; border: .08rem solid rgb(255 255 255 / .25); border-radius: var(--radius-sm); color: rgb(255 255 255 / .78); font-size: .76rem; }
.prose-grid { display: grid; grid-template-columns: minmax(15rem, .8fr) minmax(0, 1.2fr); gap: clamp(3rem, 8vw, 8rem); }
.prose-grid h2, .support h2, .scouting h2, .split-heading h2, .section-heading h2, .participate-cta h2 { margin: 0; font-family: var(--font-display); font-size: clamp(2.35rem, 4.7vw, 4.7rem); letter-spacing: -.04em; line-height: 1.02; text-wrap: balance; }
.prose { font-size: 1.08rem; }
.prose > *:first-child { margin-top: 0; }
.prose h2 { margin-top: 2.5rem; font-family: var(--font-display); font-size: 1.8rem; line-height: 1.2; }
.content-alert { display: grid; gap: .35rem; margin-top: 2rem; padding: 1.2rem 1.35rem; border-left: .35rem solid var(--color-flame); background: #fff6e9; color: #553d2a; font-size: .88rem; }
.content-alert--wide { margin: 0 0 3.5rem; }
.history { background: var(--color-pine); color: var(--color-white); }
.history h2 { max-width: 12ch; margin: 0; font-family: var(--font-display); font-size: clamp(2.7rem, 5.5vw, 5.5rem); letter-spacing: -.045em; line-height: 1; }
.principles { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; margin-top: 4rem; background: rgb(255 255 255 / .18); }
.principles article { padding: clamp(1.5rem, 4vw, 3rem); background: var(--color-pine); }
.principles span, .values-list span { color: var(--color-sun); font-size: .72rem; font-weight: 800; letter-spacing: .12em; }
.principles h3 { margin: 3.5rem 0 .6rem; font-family: var(--font-display); font-size: 1.45rem; }
.principles p { margin: 0; color: rgb(255 255 255 / .72); }
.branch-path--page { margin-top: 0; }
.branch-path--page .branch { min-height: 27rem; }
.branch-path--page .branch p { position: relative; z-index: 1; max-width: 16rem; margin: 1.2rem 0 0; font-size: .9rem; line-height: 1.5; opacity: .72; }

.agenda-preview { background: var(--color-ink); color: var(--color-white); }
.split-heading { display: grid; grid-template-columns: 1.15fr .85fr; gap: clamp(3rem, 9vw, 9rem); align-items: end; }
.empty-event { padding-left: 2rem; border-left: .1rem solid rgb(255 255 255 / .2); }
.empty-event > span { color: var(--color-flame); font-size: 2.5rem; }
.empty-event p { max-width: 32rem; color: rgb(255 255 255 / .7); }
.text-link--light { color: var(--color-sun); }
.section-heading { display: flex; align-items: end; justify-content: space-between; gap: 2rem; margin-bottom: clamp(3rem, 6vw, 5rem); }
.section-heading h2 { max-width: 13ch; }
.news-grid { display: grid; grid-template-columns: 1.2fr .9fr .9fr; gap: clamp(1.25rem, 3vw, 2.5rem); }
.news-grid--archive { grid-template-columns: repeat(3, minmax(0, 1fr)); row-gap: 4rem; }
.news-card__image { position: relative; display: block; aspect-ratio: 4 / 3; overflow: hidden; background: var(--color-sand); }
.news-card__image img { width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease; }
.news-card:hover .news-card__image img { transform: scale(1.025); }
.news-card__placeholder { display: grid; place-items: center; background: linear-gradient(145deg, var(--color-ember-dark), var(--color-ink)); color: rgb(255 255 255 / .3); font-family: var(--font-display); font-size: 2rem; letter-spacing: .25em; text-decoration: none; }
.news-card__meta { display: flex; flex-wrap: wrap; gap: .8rem; margin-top: 1.2rem; color: #756b62; font-size: .72rem; font-weight: 750; letter-spacing: .08em; text-transform: uppercase; }
.news-card__meta span { color: var(--color-ember-dark); }
.news-card h2, .news-card h3 { margin: .75rem 0 0; font-family: var(--font-display); font-size: clamp(1.25rem, 2.2vw, 2rem); line-height: 1.15; }
.news-card h2 a, .news-card h3 a { text-decoration: none; }
.news-card h2 a:hover, .news-card h3 a:hover { text-decoration: underline; text-decoration-color: var(--color-ember); text-decoration-thickness: .12rem; text-underline-offset: .25rem; }
.scouting { background: #efe4d6; }
.scouting__grid { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(3rem, 9vw, 9rem); }
.values-list { margin: 0; padding: 0; list-style: none; border-top: .1rem solid rgb(30 30 30 / .2); }
.values-list li { display: grid; grid-template-columns: 2rem .7fr 1fr; gap: 1rem; align-items: baseline; padding: 1.35rem 0; border-bottom: .1rem solid rgb(30 30 30 / .2); }
.values-list span { color: var(--color-ember-dark); }
.values-list strong { font-family: var(--font-display); font-size: 1.15rem; }
.values-list p { margin: 0; color: #675f57; font-size: .9rem; }
.participate-cta { background: linear-gradient(115deg, #311113, var(--color-ember-dark)); color: var(--color-white); }
.participate-cta__inner { display: grid; grid-template-columns: 1fr .8fr; gap: 3rem 6rem; align-items: end; }
.participate-cta h2 { max-width: 10ch; font-size: clamp(3rem, 6vw, 6rem); }
.participate-cta ol { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; margin: 0; padding: 0; list-style: none; color: rgb(255 255 255 / .8); }
.participate-cta li { display: flex; align-items: center; gap: .7rem; }
.participate-cta li span { display: grid; width: 2rem; height: 2rem; place-items: center; border: .08rem solid rgb(255 255 255 / .35); border-radius: 50%; font-size: .7rem; }
.participate-cta .button { justify-self: start; }
.support__inner { display: grid; grid-template-columns: 1.1fr .9fr; gap: clamp(3rem, 9vw, 9rem); align-items: end; }
.support__inner > div:last-child { max-width: 35rem; }

.article-header { padding-block: clamp(5rem, 9vw, 8rem) 3rem; background: #efe4d6; }
.article-header .back-link { display: inline-flex; margin-bottom: 3rem; color: var(--color-ember-dark); font-weight: 750; text-underline-offset: .25rem; }
.article-header h1 { margin: 1rem 0; font-family: var(--font-display); font-size: clamp(3rem, 7vw, 6.3rem); letter-spacing: -.05em; line-height: .96; text-wrap: balance; }
.article-header > div > p { max-width: 40rem; color: #655d55; font-size: 1.15rem; }
.article-cover { margin-top: 3.5rem; }
.article-cover img { width: 100%; max-height: 48rem; object-fit: cover; background: var(--color-sand); }
.article-cover figcaption { margin-top: .75rem; color: #756b62; font-size: .75rem; }
.article-body { padding-block: 3rem 8rem; font-size: 1.1rem; }
.article-body .content-alert { margin-bottom: 2.5rem; }
.empty-state { min-height: 22rem; display: grid; align-content: center; justify-items: start; max-width: 48rem; }
.empty-state > span { color: var(--color-ember); font-size: 3rem; }
.empty-state h2 { margin: 1rem 0 .5rem; font-family: var(--font-display); font-size: clamp(2.2rem, 5vw, 4rem); line-height: 1; }
.empty-state p { color: #675f57; }
.steps { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; background: rgb(30 30 30 / .18); }
.steps article { min-height: 19rem; padding: 2rem; background: var(--color-cream); }
.steps span { color: var(--color-ember-dark); font-size: .75rem; font-weight: 800; }
.steps h2 { margin: 5rem 0 .7rem; font-family: var(--font-display); font-size: 1.35rem; }
.steps p { margin: 0; color: #675f57; }
.participate-contact { background: var(--color-pine); color: var(--color-white); }
.participate-contact h2 { margin: 0; font-family: var(--font-display); font-size: clamp(3rem, 6vw, 5.5rem); line-height: 1; }
.participate-contact .prose-grid > div:last-child { align-self: end; }
.participate-contact .button { margin-top: 1rem; }
.contact-grid { display: grid; grid-template-columns: 1.2fr .8fr; gap: clamp(3rem, 8vw, 8rem); }
.contact-grid h2 { margin: 0 0 2rem; font-family: var(--font-display); font-size: clamp(2.5rem, 5vw, 4.5rem); line-height: 1; }
.contact-form { display: grid; gap: .5rem; }
.contact-form label { margin-top: .75rem; font-size: .86rem; font-weight: 750; }
.contact-form input, .contact-form textarea { width: 100%; border: .09rem solid #b9aa99; border-radius: var(--radius-sm); background: var(--color-white); color: var(--color-ink); font: inherit; padding: .8rem .9rem; }
.contact-form :disabled { opacity: .64; cursor: not-allowed; }
.contact-form .button { justify-self: start; margin-top: 1rem; }
.contact-details { align-self: start; padding: clamp(1.5rem, 4vw, 3rem); background: var(--color-ink); color: var(--color-white); }
.contact-details h2 { font-size: 1.5rem; }
.contact-details p { color: rgb(255 255 255 / .75); }
.contact-details nav { display: flex; flex-wrap: wrap; gap: 1rem; margin-top: 2rem; }
.contact-details a { color: var(--color-sun); text-underline-offset: .25rem; }

@media (max-width: 52rem) {
  .site-header__inner { min-height: 5.25rem; }
  .brand img { width: 3.2rem; height: 3.2rem; }
  .nav-toggle { position: relative; z-index: 2; width: 3rem; height: 3rem; display: grid; place-content: center; gap: .3rem; padding: 0; border: .08rem solid rgb(255 255 255 / .5); border-radius: var(--radius-sm); background: rgb(20 20 20 / .2); color: var(--color-white); }
  .nav-toggle span:not(.sr-only) { width: 1.25rem; height: .12rem; background: currentColor; }
  .main-nav { position: fixed; inset: 0; display: none; align-content: center; align-items: stretch; justify-content: center; flex-direction: column; padding: 7rem 2rem 3rem; background: var(--color-ink); font-family: var(--font-display); font-size: clamp(1.7rem, 8vw, 2.6rem); }
  .main-nav[data-open] { display: flex; }
  .main-nav .button { margin-top: 1rem; font-family: var(--font-body); font-size: 1rem; }
  .nav-open { overflow: hidden; }
  .hero { min-height: 50rem; }
  .hero__media img { object-position: 55% center; }
  .hero__shade { background: linear-gradient(0deg, rgb(11 10 9 / .9) 0%, rgb(11 10 9 / .4) 75%, rgb(11 10 9 / .62)); }
  .hero h1 { max-width: 10ch; font-size: clamp(3.6rem, 17vw, 5.8rem); }
  .hero__content { padding-bottom: 7.5rem; }
  .hero__scroll { display: none; }
  .intro__grid { grid-template-columns: 1fr; gap: 2.5rem; }
  .branch-path { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .branch { min-height: 14rem; border-top: .1rem solid rgb(30 30 30 / .16); }
  .site-footer__inner { flex-direction: column; }
  .site-footer__grid { grid-template-columns: 1fr; }
  .site-footer__bottom { flex-direction: column; }
  .prose-grid, .split-heading, .scouting__grid, .support__inner, .contact-grid { grid-template-columns: 1fr; }
  .principles, .news-grid, .news-grid--archive { grid-template-columns: 1fr 1fr; }
  .branch-path--page .branch { min-height: 18rem; }
  .participate-cta__inner { grid-template-columns: 1fr; }
  .steps { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 32rem) {
  .brand__text small { display: none; }
  .hero__actions { align-items: stretch; flex-direction: column; }
  .hero__actions .button { width: 100%; }
  .branch-path { grid-template-columns: 1fr; }
  .branch { min-height: 9.5rem; }
  .principles, .news-grid, .news-grid--archive, .participate-cta ol, .steps { grid-template-columns: 1fr; }
  .section-heading { align-items: start; flex-direction: column; }
  .values-list li { grid-template-columns: 2rem 1fr; }
  .values-list p { grid-column: 2; }
}

.event-list { display: grid; gap: 1rem; }
.event-card { display: grid; grid-template-columns: minmax(10rem, 13rem) 1fr auto; gap: 2rem; align-items: start; padding: 1.5rem; border: 1px solid var(--color-sand); background: var(--color-white); }
.event-card time { display: grid; gap: .35rem; color: var(--color-ink-soft); }
.event-card time strong { color: var(--color-ink); font-family: var(--font-display); font-size: 1.15rem; }
.event-card h2,.event-card h3 { margin: 0 0 .5rem; font-family: var(--font-display); }
.event-card h2 a,.event-card h3 a { text-decoration: none; }
.event-card p { margin: .25rem 0; }
.event-place { color: var(--color-ink-soft); font-size: .9rem; font-weight: 700; }
.event-list--home .event-card { background: rgb(255 255 255 / .08); border-color: rgb(255 255 255 / .2); color: var(--white); }
.event-list--home .event-card time,.event-list--home .event-place { color: rgb(255 255 255 / .72); }
.event-list--home .event-card time strong { color: var(--white); }
.event-facts { display: grid; grid-template-columns: repeat(3,1fr); gap: 1rem; margin: 0 0 2.5rem; }
.event-facts div { padding: 1rem; border-left: .2rem solid var(--color-ember); background: var(--color-white); }
.event-facts dt { color: var(--color-ink-soft); font-size: .75rem; font-weight: 800; text-transform: uppercase; }
.event-facts dd { margin: .35rem 0 0; font-weight: 750; }
.rich-content > * + * { margin-top: 1.15rem; }
.rich-content figure { margin: 2.5rem 0; }
.rich-content figure img { display: block; width: 100%; height: auto; border-radius: .25rem; background: var(--color-sand); }
.rich-content figcaption { margin-top: .65rem; color: #756b62; font-size: .82rem; }
.preview-banner { padding: .8rem 1rem; background: #f2c14e; color: #1e1e1e; font-weight: 800; text-align: center; }
@media (max-width: 48rem) { .event-card { grid-template-columns: 1fr; gap: 1rem; } .event-facts { grid-template-columns: 1fr; } }

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}
