@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700&family=Prata&display=swap');

:root {
  --ink: #17332a;
  --ink-deep: #0d211a;
  --green: #1f5846;
  --gold: #bd8a43;
  --gold-light: #ddbd7d;
  --sand: #f1eadf;
  --cream: #fcfaf5;
  --white: #fff;
  --muted: #5f6d67;
  --line: #d9d0c2;
  --serif: 'Prata', Georgia, serif;
  --sans: 'Manrope', Arial, sans-serif;
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 118px; }
body { margin: 0; color: var(--ink); background: var(--cream); font-family: var(--sans); line-height: 1.72; -webkit-font-smoothing: antialiased; }
body.modal-open { overflow: hidden; }
img { display: block; max-width: 100%; }
figure { margin: 0; }
h1, h2, h3, p { margin-top: 0; }
h1, h2, h3 { font-family: var(--serif); font-weight: 400; line-height: 1.12; }
h2 { max-width: 900px; margin-bottom: 30px; font-size: clamp(2.4rem, 4.8vw, 4.65rem); letter-spacing: -.04em; }
h3 { font-size: 1.35rem; }
a { color: inherit; text-decoration: none; }
button, input, textarea { font: inherit; }
.container { width: min(1180px, calc(100% - 48px)); margin-inline: auto; }
.narrow { width: min(850px, calc(100% - 48px)); }
.section { padding: 126px 0; }
.sand { background: var(--sand); }
.center { text-align: center; }
.skip-link { position: fixed; left: 16px; top: -100px; z-index: 999; padding: 12px 18px; background: var(--white); color: var(--ink); box-shadow: 0 8px 30px #0003; }
.skip-link:focus { top: 16px; }
.scroll-progress { position: fixed; top: 0; right: 0; left: 0; z-index: 200; height: 3px; pointer-events: none; }
.scroll-progress span { display: block; width: 100%; height: 100%; background: linear-gradient(90deg, var(--gold), var(--gold-light)); box-shadow: 0 0 12px rgb(221 189 125 / 55%); transform: scaleX(0); transform-origin: left; will-change: transform; }
.svg-sprite { position: absolute; width: 0; height: 0; overflow: hidden; }
.icon, .feature-icon { fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.icon { width: 20px; height: 20px; }
.eyebrow { margin-bottom: 18px; color: var(--gold); font-size: .72rem; font-weight: 700; letter-spacing: .22em; text-transform: uppercase; }

.topline { max-height: 38px; overflow: hidden; background: var(--ink); color: #ebe5da; font-size: .76rem; opacity: 1; transition: max-height .25s, opacity .2s; }
.topline .container { display: flex; justify-content: space-between; padding: 8px 0; }
.site-header.scrolled .topline { max-height: 0; opacity: 0; }
.social, .footer-social { display: flex; gap: 20px; }
.social a, .footer-social a { transition: color .2s; }
.social a:hover, .footer-social a:hover { color: var(--gold-light); }
.contact-link { display: inline-flex; align-items: center; gap: .45em; }
.contact-icon { flex: none; width: 1rem; height: 1rem; }
.site-header { position: sticky; top: 0; z-index: 50; background: rgb(252 250 245 / 94%); border-bottom: 1px solid rgb(23 51 42 / 9%); backdrop-filter: blur(16px); transition: box-shadow .25s, background .25s; }
.site-header.scrolled { background: rgb(252 250 245 / 98%); box-shadow: 0 14px 36px rgb(13 33 26 / 8%); }
.navbar { display: flex; align-items: center; justify-content: space-between; min-height: 80px; }
.brand { display: flex; align-items: center; gap: 11px; font-family: var(--serif); font-size: .88rem; letter-spacing: .08em; line-height: 1; }
.brand b, .brand small { display: block; }
.brand small { margin-top: 6px; font-family: var(--sans); font-size: .52rem; font-weight: 600; letter-spacing: .19em; text-transform: uppercase; }
.brand-logo { width: 46px; height: 46px; flex: 0 0 46px; object-fit: cover; box-shadow: 0 0 0 1px rgb(36 51 46 / 10%); }
.brand-mark { display: grid; place-items: center; width: 46px; height: 46px; flex: 0 0 46px; border: 1px solid var(--gold); border-radius: 50%; color: var(--gold); font-family: var(--serif); font-size: 1.6rem; }
.nav-links { display: flex; align-items: center; gap: 23px; font-size: .81rem; font-weight: 600; }
.nav-links > a:not(.btn) { position: relative; padding: 28px 0; }
.nav-links > a:not(.btn)::after { position: absolute; right: 0; bottom: 22px; left: 0; height: 1px; content: ''; background: var(--gold); transform: scaleX(0); transform-origin: right; transition: transform .25s; }
.nav-links > a:not(.btn):hover::after, .nav-links > a:not(.btn).active::after { transform: scaleX(1); transform-origin: left; }
.nav-links > a:not(.btn).active { color: var(--green); }
.menu-toggle { display: none; width: 42px; padding: 8px; border: 0; background: transparent; cursor: pointer; }
.menu-toggle span { display: block; height: 2px; margin: 6px 0; background: var(--ink); transition: .25s; }

.btn { display: inline-flex; align-items: center; justify-content: center; min-height: 52px; padding: 14px 28px; border: 1px solid var(--gold); border-radius: 2px; background: var(--gold); box-shadow: 0 12px 28px rgb(189 138 67 / 16%); color: var(--white) !important; font-size: .7rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; cursor: pointer; transition: background .25s, border-color .25s, color .25s, transform .25s, box-shadow .25s; }
.btn:hover { border-color: var(--green); background: var(--green); box-shadow: 0 16px 32px rgb(31 88 70 / 18%); transform: translateY(-2px); }
.btn-small { min-height: 42px; padding: 10px 17px; }
.btn.light { border-color: var(--white); background: var(--white); color: var(--green) !important; }
.btn.light:hover { border-color: var(--gold); background: var(--gold); color: var(--white) !important; }
.btn-outline { border-color: rgb(255 255 255 / 45%); background: transparent; }
.btn-outline:hover { border-color: var(--white); background: transparent; }

.hero { position: relative; display: flex; min-height: 760px; align-items: center; padding: 72px 0 82px; background: linear-gradient(105deg, #f4f4ed 0 58%, #dfe8df 58%); overflow: hidden; }
.hero::before { position: absolute; top: 0; bottom: 0; left: calc(50% + 75px); width: 1px; content: ''; background: rgb(23 51 42 / 10%); transform: rotate(8deg); transform-origin: top; }
.hero::after { position: absolute; top: 8%; right: -8%; width: min(46vw, 680px); aspect-ratio: 1; content: ''; border: 1px solid rgb(189 138 67 / 24%); border-radius: 50%; box-shadow: inset 0 0 0 70px rgb(255 255 255 / 5%), inset 0 0 0 140px rgb(31 88 70 / 4%); animation: orbit-drift 12s ease-in-out infinite alternate; pointer-events: none; }
.hero-grid { position: relative; display: grid; grid-template-columns: 1.03fr .97fr; align-items: center; gap: 84px; }
.hero h1 { margin: 0 0 28px; font-size: clamp(4.35rem, 8.1vw, 7.8rem); letter-spacing: -.07em; }
.hero h1 span { color: var(--green); }
.hero h1 small { display: block; margin-top: 24px; color: var(--ink); font-family: var(--sans); font-size: clamp(.68rem, 1vw, .84rem); font-weight: 700; letter-spacing: .18em; line-height: 1.5; text-transform: uppercase; }
.lead { max-width: 640px; color: #405149; font-size: 1.12rem; line-height: 1.75; }
.hero-actions { display: flex; align-items: center; gap: 26px; margin: 32px 0 26px; }
.text-link { display: inline-flex; align-items: center; gap: 9px; border-bottom: 1px solid; font-size: .83rem; font-weight: 700; }
.text-link .icon { width: 17px; transition: transform .2s; }
.text-link:hover .icon { transform: translateX(4px); }
.microcopy { margin: -10px 0 22px; color: var(--green); font-size: .69rem; font-weight: 700; }
.hero-proof { display: grid; grid-template-columns: repeat(3, 1fr); max-width: 650px; border-top: 1px solid rgb(23 51 42 / 18%); }
.hero-proof span { padding: 18px 14px 0 0; color: var(--muted); font-size: .66rem; line-height: 1.45; }
.hero-proof strong { display: block; margin-bottom: 3px; color: var(--ink); font-family: var(--serif); font-size: 1.12rem; font-weight: 400; }
.hero-image { position: relative; }
.hero-image::before { position: absolute; inset: -14px 14px 28px -14px; z-index: -1; content: ''; border: 1px solid rgb(189 138 67 / 48%); border-radius: 250px 250px 3px 3px; }
.hero-slides { position: relative; height: 620px; overflow: hidden; border-radius: 250px 250px 3px 3px; background: #c9d3cb; }
.hero-slides::after { position: absolute; inset: 0; z-index: 1; content: ''; background: linear-gradient(180deg, rgb(13 33 26 / 4%), rgb(13 33 26 / 24%)); pointer-events: none; }
.hero-slides .hero-slide { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center calc(50% + var(--hero-parallax-y, 0px)); opacity: 0; filter: saturate(.86) contrast(1.03); transform: scale(1.11); transition: opacity 1.15s ease, transform 7s ease, object-position .15s linear; will-change: transform, object-position; }
.hero-slides .hero-slide.active { z-index: 1; opacity: 1; transform: scale(1.045); }
.hero-image figcaption { display: flex; justify-content: space-between; gap: 24px; }
.hero-image figcaption, .portrait figcaption, .image-copy figcaption, .mentor-photo figcaption, .practice-media figcaption { margin-top: 9px; color: var(--muted); font-size: .7rem; letter-spacing: .08em; text-transform: uppercase; }
.hero-count { color: var(--gold); }
.hero-dots { position: absolute; top: 28px; right: 28px; z-index: 3; display: flex; gap: 8px; }
.hero-dots button { width: 9px; height: 9px; padding: 0; border: 1px solid rgb(255 255 255 / 80%); border-radius: 50%; background: transparent; box-shadow: 0 2px 10px #0003; cursor: pointer; transition: width .25s, border-radius .25s, background .25s; }
.hero-dots button.active { width: 28px; border-radius: 9px; background: var(--white); }
.hero-badge { position: absolute; bottom: 52px; left: -54px; z-index: 4; display: flex; width: 158px; height: 158px; flex-direction: column; align-items: center; justify-content: center; border: 8px solid #f4f4ed; border-radius: 50%; background: var(--green); color: var(--white); text-align: center; animation: badge-float 5.5s ease-in-out infinite; }
.hero-badge strong { font-family: var(--serif); font-size: 1.35rem; font-weight: 400; line-height: 1; }
.hero-badge span { margin-top: 6px; font-size: .61rem; letter-spacing: .09em; line-height: 1.35; text-transform: uppercase; }

.factbar { border-bottom: 1px solid rgb(255 255 255 / 10%); background: var(--ink); color: var(--white); }
.fact-grid { display: grid; grid-template-columns: repeat(4, 1fr); }
.fact-grid > div { display: flex; align-items: center; gap: 16px; min-height: 112px; padding: 24px 27px; border-right: 1px solid rgb(255 255 255 / 12%); }
.fact-grid > div:first-child { border-left: 1px solid rgb(255 255 255 / 12%); }
.fact-grid .icon { width: 27px; height: 27px; flex: 0 0 27px; color: var(--gold-light); }
.fact-grid span, .fact-grid strong { display: block; }
.fact-grid span { color: #aebbb5; font-size: .68rem; }
.fact-grid strong { margin-bottom: 2px; color: var(--white); font-family: var(--serif); font-size: .98rem; font-weight: 400; }

.quote-section { padding: 108px 0; background: var(--green); color: var(--white); }
.quote-grid { display: grid; grid-template-columns: 150px 1fr; align-items: start; gap: 36px; max-width: 1040px; }
.quote-mark { color: var(--gold-light); font-family: var(--serif); font-size: 9rem; line-height: .78; opacity: .72; }
.quote { max-width: 860px; margin-bottom: 26px; font-family: var(--serif); font-size: clamp(1.55rem, 3vw, 2.55rem); font-style: italic; line-height: 1.48; }
.quote-author { margin-bottom: 0; color: #dbc69d; font-size: .69rem; letter-spacing: .13em; text-transform: uppercase; }
.split { display: grid; grid-template-columns: .88fr 1.12fr; gap: 100px; }
.section-intro { max-width: 430px; margin-top: 42px; padding-left: 24px; border-left: 2px solid var(--gold); color: var(--muted); font-size: 1.08rem; }
.prose { font-size: 1.02rem; }
.prose p { margin-bottom: 23px; }
.about-note { display: grid; grid-template-columns: 130px 1fr; gap: 24px; margin-top: 42px; padding: 27px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.about-note span { color: var(--gold); font-size: .67rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.about-note p { margin: 0; color: var(--ink); font-family: var(--serif); font-size: 1.15rem; line-height: 1.5; }

.method-section { padding: 122px 0; background: var(--ink-deep); color: #e6ece8; }
.method-section h2 { color: var(--white); }
.method-section .eyebrow { color: var(--gold-light); }
.method-heading { display: grid; grid-template-columns: 1fr 1fr; align-items: end; column-gap: clamp(56px, 7vw, 105px); }
.method-heading .eyebrow, .method-heading h2 { grid-column: 1; }
.method-heading > .heading-copy { grid-column: 2; grid-row: 1 / 3; margin-bottom: 32px; color: #aebbb5; }
.heading-copy { max-width: 570px; }
.heading-copy p { margin: 0; font-size: 1.02rem; line-height: 1.72; }
.heading-copy p + p { margin-top: 15px; padding-top: 15px; border-top: 1px solid var(--line); }
.method-heading .heading-copy p + p { border-color: rgb(255 255 255 / 12%); }
.method-grid { display: grid; grid-template-columns: repeat(3, 1fr); margin-top: 62px; border-top: 1px solid rgb(255 255 255 / 15%); border-left: 1px solid rgb(255 255 255 / 15%); }
.method-grid article { position: relative; min-height: 330px; padding: 42px 38px; border-right: 1px solid rgb(255 255 255 / 15%); border-bottom: 1px solid rgb(255 255 255 / 15%); transition: background .3s, transform .3s; }
.method-grid article:hover { background: rgb(255 255 255 / 4%); transform: translateY(-4px); }
.method-grid article > span { position: absolute; top: 36px; right: 36px; color: #73857d; font-family: var(--serif); font-size: .9rem; }
.method-grid .feature-icon { width: 48px; height: 48px; color: var(--gold-light); }
.method-grid h3 { margin: 54px 0 16px; color: var(--white); font-size: 1.65rem; }
.method-grid p { margin: 0; color: #aebbb5; font-size: .9rem; }

.visual-story { display: grid; grid-template-columns: 1.3fr 1fr 1fr; background: var(--ink-deep); }
.visual-story figure { position: relative; min-height: 540px; overflow: hidden; }
.visual-story img { width: 100%; height: 100%; object-fit: cover; opacity: .9; filter: saturate(.9); transform: translate3d(0, var(--parallax-y, 0), 0) scale(1.08); transition: opacity .35s, transform .18s linear, filter .35s; will-change: transform; }
.visual-story figure:hover img { opacity: 1; transform: translate3d(0, var(--parallax-y, 0), 0) scale(1.115); }
.visual-story figcaption { position: absolute; right: 0; bottom: 0; left: 0; padding: 45px 25px 22px; background: linear-gradient(transparent, rgb(0 0 0 / 75%)); color: var(--white); font-family: var(--serif); font-size: .95rem; }
.visual-story figcaption span { margin-right: 10px; color: var(--gold-light); font-family: var(--sans); font-size: .65rem; }

.field-notes { overflow: hidden; background: #f6f1e8; }
.gallery-toolbar { display: flex; align-items: flex-end; justify-content: space-between; gap: 30px; margin: 55px 0 22px; padding-top: 20px; border-top: 1px solid var(--line); }
.gallery-toolbar p { display: flex; flex-direction: column; margin: 0; }
.gallery-toolbar strong { font-family: var(--serif); font-size: 1.12rem; font-weight: 400; }
.gallery-toolbar span { color: var(--muted); font-size: .72rem; }
.gallery-toolbar > div { display: flex; gap: 8px; }
.gallery-button { display: grid; place-items: center; width: 48px; height: 48px; border: 1px solid var(--line); border-radius: 50%; background: transparent; color: var(--ink); cursor: pointer; transition: border-color .25s, background .25s, color .25s, transform .25s; }
.gallery-button:first-child .icon { transform: rotate(180deg); }
.gallery-button:hover { border-color: var(--green); background: var(--green); color: var(--white); transform: translateY(-2px); }
.gallery-track { display: flex; gap: 22px; overflow-x: auto; padding: 0 0 20px; scroll-behavior: smooth; scroll-snap-type: x mandatory; scrollbar-color: var(--gold) transparent; scrollbar-width: thin; }
.gallery-card { position: relative; flex: 0 0 min(48vw, 570px); scroll-snap-align: start; background: var(--ink); color: var(--white); overflow: hidden; }
.gallery-card img { width: 100%; height: 510px; object-fit: cover; opacity: .9; filter: saturate(.82); transition: opacity .35s, filter .35s, transform .8s; }
.gallery-card:hover img { opacity: 1; filter: saturate(1); transform: scale(1.025); }
.gallery-card figcaption { position: absolute; right: 0; bottom: 0; left: 0; display: grid; grid-template-columns: auto 1fr; column-gap: 16px; padding: 70px 28px 25px; background: linear-gradient(transparent, rgb(8 24 18 / 88%)); }
.gallery-card figcaption span { grid-row: 1 / 3; color: var(--gold-light); font-family: var(--serif); font-size: .85rem; }
.gallery-card figcaption strong { font-family: var(--serif); font-size: 1.2rem; font-weight: 400; }
.gallery-card figcaption small { color: #c0cbc5; font-size: .72rem; }

.section-heading { display: grid; grid-template-columns: 1fr 1fr; align-items: end; column-gap: clamp(56px, 7vw, 105px); }
.section-heading > div > h2 { margin-bottom: 0; }
.section-heading > .heading-copy { margin: 0 0 8px; color: var(--muted); }
.cards { display: grid; grid-template-columns: repeat(3, 1fr); margin-top: 62px; gap: 1px; border: 1px solid var(--line); background: var(--line); }
.cards article { position: relative; min-height: 315px; padding: 40px; background: var(--cream); transition: background .25s, transform .25s, box-shadow .25s; }
.cards article:hover { z-index: 1; background: var(--white); box-shadow: 0 20px 45px rgb(23 51 42 / 9%); transform: translateY(-4px); }
.motion-card { --spot-x: 50%; --spot-y: 50%; position: relative; isolation: isolate; overflow: hidden; }
.motion-card::before { position: absolute; inset: 0; z-index: 0; content: ''; background: radial-gradient(360px circle at var(--spot-x) var(--spot-y), rgb(221 189 125 / 18%), transparent 58%); opacity: 0; transition: opacity .35s; pointer-events: none; }
.motion-card:hover::before { opacity: 1; }
.motion-card > * { position: relative; z-index: 1; }
.cards article > span { position: absolute; top: 38px; right: 36px; color: var(--gold); font-family: var(--serif); font-size: .85rem; font-style: italic; }
.feature-icon { width: 42px; height: 42px; color: var(--gold); }
.cards h3 { margin: 34px 0 16px; font-size: 1.42rem; }
.cards p { margin-bottom: 0; color: var(--muted); font-size: .9rem; }
.section-action { display: flex; align-items: center; justify-content: space-between; gap: 50px; margin-top: 46px; padding: 34px 38px; border: 1px solid var(--line); background: var(--cream); }
.section-action p { max-width: 720px; margin: 0; color: var(--muted); }
.section-action strong { color: var(--ink); font-family: var(--serif); font-size: 1.15rem; font-weight: 400; }

.audience { background: var(--cream); }
.audience-heading { display: grid; grid-template-columns: 1fr 1fr; column-gap: 70px; }
.audience-heading .eyebrow, .audience-heading h2 { grid-column: 1; }
.audience-heading > .heading-copy { grid-column: 2; grid-row: 1 / 3; align-self: end; color: var(--muted); }
.audience-grid { display: grid; grid-template-columns: 1fr 1fr; margin: 55px 0 70px; border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.audience-grid article { position: relative; min-height: 250px; padding: 42px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.audience-grid .list-number { color: var(--gold); font-family: var(--serif); font-size: .85rem; font-style: italic; }
.audience-grid h3 { margin: 30px 0 14px; font-size: 1.45rem; }
.audience-grid p { margin: 0; color: var(--muted); font-size: .9rem; }
.outcomes { display: grid; grid-template-columns: .85fr 1.15fr; gap: 75px; margin-bottom: 42px; padding: 58px; background: var(--ink); color: var(--white); }
.outcomes h2 { margin-bottom: 0; color: var(--white); font-size: clamp(2.1rem, 4vw, 3.4rem); }
.outcomes ul { display: grid; gap: 0; margin: 0; padding: 0; list-style: none; }
.outcomes li { position: relative; padding: 13px 0 13px 30px; border-bottom: 1px solid rgb(255 255 255 / 16%); }
.outcomes li::before { position: absolute; top: 17px; left: 0; width: 15px; height: 8px; content: ''; border-bottom: 1px solid var(--gold-light); border-left: 1px solid var(--gold-light); transform: rotate(-45deg); }

.appeal-grid { display: grid; grid-template-columns: .82fr 1.18fr; align-items: center; gap: 92px; }
.portrait img { width: 100%; height: 730px; object-fit: cover; object-position: center 18%; filter: saturate(.72); }
.appeal-grid > div > p:not(.eyebrow, .signature) { font-size: 1.02rem; }
.appeal-grid .appeal-lead { margin-bottom: 30px; color: var(--ink); font-family: var(--serif); font-size: 1.3rem !important; line-height: 1.58; }
.signature { margin-top: 34px; color: var(--gold); font-family: var(--serif); font-size: 1.8rem; font-style: italic; }

.dark { background: var(--ink); color: #e9eeeb; }
.dark h2 { color: var(--white); }
.dark .eyebrow { color: var(--gold-light); }
.teacher-grid { display: grid; grid-template-columns: .83fr 1.17fr; gap: 90px; }
.teacher-title img { width: 100%; height: 500px; margin-top: 55px; object-fit: cover; object-position: center 24%; filter: saturate(.68); }
.stats { display: flex; gap: 70px; margin-top: 44px; padding-top: 32px; border-top: 1px solid #53615d; }
.stats div { display: flex; flex-direction: column; }
.stats strong { color: var(--gold-light); font-family: var(--serif); font-size: 3rem; line-height: 1; }
.stats span { max-width: 150px; margin-top: 7px; font-size: .65rem; letter-spacing: .12em; text-transform: uppercase; }
.mentor-photo { margin-top: 54px; }
.mentor-photo img { width: 100%; max-height: 520px; object-fit: cover; filter: saturate(.78); }
.dark .mentor-photo figcaption { color: #9ca8a2; }

.image-copy { display: grid; grid-template-columns: .85fr 1.15fr; align-items: center; gap: 90px; }
.image-copy figure > img { width: 100%; height: 680px; object-fit: cover; filter: saturate(.76); }
.image-copy h3 { margin-bottom: 28px; color: var(--gold); font-family: var(--sans); font-size: .72rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.image-copy details { margin-top: 30px; padding-top: 20px; border-top: 1px solid var(--line); }
.image-copy summary, .faq summary { font-weight: 700; cursor: pointer; }
.poddar-milestones { display: grid; grid-template-columns: repeat(3, 1fr); margin-top: 34px; border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.poddar-milestones div { min-height: 138px; padding: 22px 18px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.poddar-milestones strong, .poddar-milestones span { display: block; }
.poddar-milestones strong { margin-bottom: 9px; color: var(--gold); font-family: var(--serif); font-size: 1.05rem; font-weight: 400; }
.poddar-milestones span { color: var(--muted); font-size: .7rem; line-height: 1.55; }
.poddar-details summary { position: relative; padding-right: 34px; color: var(--ink); font-family: var(--serif); font-size: 1.1rem; font-weight: 400; list-style: none; }
.poddar-details summary::-webkit-details-marker { display: none; }
.poddar-details summary::after { position: absolute; top: 0; right: 0; content: '+'; color: var(--gold); font-family: var(--sans); }
.poddar-details[open] summary::after { content: '–'; }
.poddar-details-copy { margin-top: 22px; padding: 24px 26px; background: var(--sand); }
.poddar-details-copy p { margin-bottom: 16px; color: var(--muted); font-size: .86rem; }
.poddar-details-copy p:last-child { margin-bottom: 0; }
.poddar-details-copy .poddar-source { margin-top: 22px; padding-top: 17px; border-top: 1px solid var(--line); color: #7d8782; font-size: .68rem; font-style: italic; }
.landmark { position: relative; margin-top: 90px; overflow: hidden; }
.landmark img { width: 100%; height: 430px; object-fit: cover; filter: saturate(.73); transform: translate3d(0, var(--parallax-y, 0), 0) scale(1.08); will-change: transform; }
.landmark > div { position: absolute; bottom: 0; left: 0; display: flex; min-width: 470px; flex-direction: column; padding: 28px 36px; background: var(--cream); }
.landmark span { color: var(--gold); font-size: .65rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.landmark strong { margin-top: 6px; font-family: var(--serif); font-size: 1.35rem; font-weight: 400; line-height: 1.35; }
.video-archive { overflow: hidden; background: var(--ink-deep); color: var(--white); }
.video-archive h2 { color: var(--white); }
.video-archive .eyebrow { color: var(--gold-light); }
.video-archive .heading-copy { color: #aebbb5; }
.video-archive .heading-copy p + p { border-color: rgb(255 255 255 / 12%); }
.video-archive-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; margin-top: 60px; }
.video-story { position: relative; display: grid; grid-template-columns: minmax(220px, .9fr) 1.1fr; min-height: 520px; overflow: hidden; border: 1px solid rgb(255 255 255 / 14%); background: #122b22; }
.video-story figure { min-width: 0; background: #050806; }
.video-story video { display: block; width: 100%; height: 100%; min-height: 520px; aspect-ratio: 9 / 16; object-fit: contain; background: #050806; }
.video-story > div { display: flex; flex-direction: column; justify-content: flex-end; padding: 34px 30px; }
.video-story h3 { margin: 0 0 18px; color: var(--white); font-size: 1.65rem; }
.video-story p { margin: 0; color: #aebbb5; font-size: .82rem; line-height: 1.68; }
.reverse > figure:first-child { order: 2; }
.antenna img { object-fit: cover !important; }
.method-note { margin: 34px 0; padding: 24px 26px; border-left: 3px solid var(--gold); background: rgb(255 255 255 / 58%); color: var(--muted); font-size: .83rem; }
.method-note strong { color: var(--ink); }
.reverse > .practice-media { order: 2; }
.practice-media { display: grid; height: 700px; grid-template-columns: 1.08fr .92fr; grid-template-rows: 1fr 1fr; gap: 12px; }
.practice-media figure { position: relative; display: grid; min-width: 0; min-height: 0; grid-template-rows: minmax(0, 1fr) auto; gap: 9px; overflow: hidden; }
.practice-media figure > img, .practice-media video { width: 100%; height: 100%; min-height: 0; object-fit: cover; background: var(--ink-deep); filter: saturate(.82); }
.practice-media .practice-video { grid-row: 1 / 3; }
.practice-media figcaption { min-height: 1.5em; margin-top: 0; overflow: hidden; line-height: 1.5; text-overflow: ellipsis; white-space: nowrap; }

.program { background: #f8f4ec; }
.program-modules { display: grid; grid-template-columns: 1fr 1fr; margin-top: 64px; gap: 22px; }
.program-module { padding: 42px 42px 36px; border: 1px solid var(--line); background: var(--cream); transition: border-color .25s, box-shadow .25s, transform .25s; }
.program-module:hover { border-color: rgb(189 138 67 / 65%); box-shadow: 0 20px 45px rgb(23 51 42 / 8%); transform: translateY(-3px); }
.program-module header { min-height: 110px; padding-bottom: 25px; border-bottom: 1px solid var(--line); }
.program-module header span { color: var(--gold); font-size: .66rem; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; }
.program-module h3 { max-width: 420px; margin: 12px 0 0; font-size: 1.75rem; }
.program-module ol { margin: 24px 0 0; padding-left: 25px; }
.program-module li { padding: 10px 0 10px 8px; color: var(--muted); font-size: .88rem; transition: color .22s, transform .22s; }
.program-module li:hover { color: var(--ink); transform: translateX(4px); }
.program-module li::marker { color: var(--gold); font-family: var(--serif); }
.program-module:last-child:nth-child(odd) { grid-column: 1 / -1; }
.program-action { display: flex; align-items: center; justify-content: space-between; gap: 40px; margin-top: 24px; padding: 38px 42px; background: var(--ink); color: var(--white); }
.program-action strong { font-family: var(--serif); font-size: 1.35rem; font-weight: 400; }
.program-action p { max-width: 650px; margin: 7px 0 0; color: #aebbb5; font-size: .85rem; }
.program-action .btn { flex: 0 0 auto; }
.program-actions { display: flex; flex: 0 0 auto; gap: 10px; }
.faq details { padding: 26px 0; border-top: 1px solid var(--line); }
.faq details:last-child { border-bottom: 1px solid var(--line); }
.faq summary { padding-right: 35px; list-style: none; font-family: var(--serif); font-size: 1.15rem; font-weight: 400; }
.faq summary::-webkit-details-marker { display: none; }
.faq summary::after { float: right; content: '+'; color: var(--gold); font-family: var(--sans); }
.faq details[open] summary::after { content: '–'; }
.faq details p { margin: 18px 0 0; color: var(--muted); }
.faq details[open] p { animation: faq-open .32s ease both; }

.cta { padding: 105px 0; background: var(--green); color: var(--white); text-align: center; }
.cta h2 { max-width: 900px; margin: 0 auto 25px; }
.cta p:not(.eyebrow) { max-width: 650px; margin: 0 auto 31px; }
.cta-note { display: grid; grid-template-columns: auto 1fr auto 1fr auto 1fr; gap: 14px; max-width: 1000px; margin: 45px auto; text-align: left; }
.cta-note > span { display: grid; place-items: center; width: 42px; height: 42px; border: 1px solid rgb(255 255 255 / 35%); border-radius: 50%; color: var(--gold-light); font-family: var(--serif); font-size: .75rem; }
.cta .cta-note p { margin: 0; font-size: .75rem; line-height: 1.5; }
.cta-note strong { display: block; margin-bottom: 3px; color: var(--white); font-family: var(--serif); font-size: .95rem; font-weight: 400; }
.cta-actions { display: flex; justify-content: center; gap: 12px; }
.site-footer { padding: 78px 0 0; overflow: hidden; background: var(--ink-deep); color: #d9dfda; }
.footer-main { display: grid; grid-template-columns: 1.4fr .62fr 1fr 1fr; align-items: start; gap: clamp(34px, 5vw, 76px); padding-bottom: 60px; }
.footer-about .brand { display: inline-flex; color: var(--white); }
.footer-about > p { max-width: 410px; margin: 25px 0 20px; color: #9eaaa4; font-size: .78rem; line-height: 1.75; }
.footer-place { display: inline-flex; align-items: center; gap: 9px; color: var(--gold-light); font-size: .64rem; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; }
.footer-place::before { width: 7px; height: 7px; border-radius: 50%; background: var(--gold); box-shadow: 0 0 0 5px rgb(189 138 67 / 12%); content: ''; }
.footer-column { display: flex; flex-direction: column; align-items: flex-start; gap: 11px; color: #b7c1bc; font-size: .74rem; }
.footer-title { margin-bottom: 10px; color: var(--gold-light); font-size: .63rem; font-weight: 700; letter-spacing: .17em; text-transform: uppercase; }
.footer-column a { line-height: 1.55; transition: color .2s; }
.footer-column a:hover { color: var(--gold-light); }
.footer-column a[aria-current='page'] { color: var(--white); }
.footer-contacts p { margin: 0 0 8px; color: #84918b; line-height: 1.7; }
.footer-social { flex-wrap: wrap; flex-direction: row !important; margin-top: 10px; gap: 16px; color: var(--white); font-weight: 700; }
.footer-bottom { display: flex; min-height: 72px; align-items: center; justify-content: space-between; gap: 28px; border-top: 1px solid rgb(255 255 255 / 10%); color: #75827c; font-size: .64rem; letter-spacing: .03em; }
.footer-bottom p { margin: 0; }
.footer-bottom a:hover { color: var(--white); }
.compact-footer .footer-main { grid-template-columns: 1.6fr 1fr .65fr; }

.cookie-banner { position: fixed; right: auto; bottom: 16px; left: 16px; z-index: 120; display: grid; width: min(390px, calc(100% - 32px)); grid-template-columns: 1fr; align-items: center; gap: 12px; padding: 16px 18px; border: 1px solid rgb(221 189 125 / 42%); background: rgb(13 33 26 / 97%); box-shadow: 0 20px 55px rgb(0 0 0 / 34%); color: var(--white); opacity: 0; transform: translateY(18px); transition: opacity .26s, transform .26s; backdrop-filter: blur(16px); }
.cookie-banner[hidden] { display: none; }
.cookie-banner.visible { opacity: 1; transform: none; }
.cookie-copy { max-width: 100%; }
.cookie-banner p { margin: 0; color: #bbc5c0; font-size: .64rem; line-height: 1.5; }
.cookie-banner p a { color: var(--white); text-decoration: underline; text-underline-offset: 3px; }
.cookie-actions { display: flex; gap: 8px; }
.cookie-actions .btn { min-width: 0; min-height: 38px; flex: 1; padding: 8px 13px; font-size: .57rem; }
.cookie-actions .cookie-reject { border-color: rgb(255 255 255 / 35%); background: transparent; box-shadow: none; }
.cookie-actions .cookie-reject:hover { border-color: var(--white); background: rgb(255 255 255 / 8%); }

.modal { position: fixed; inset: 0; width: min(720px, calc(100% - 32px)); max-width: none; max-height: calc(100% - 32px); margin: auto; padding: 0; overflow: auto; overscroll-behavior: contain; border: 1px solid var(--line); border-top: 3px solid var(--gold); background: var(--cream); color: var(--ink); box-shadow: 0 25px 80px #0006; }
.modal::backdrop { background: rgb(20 31 26 / 88%); }
.modal-card { padding: clamp(20px, 5vw, 42px); }
.modal-header { padding-right: 48px; }
.modal-header .eyebrow { margin-bottom: 12px; color: var(--green); }
.modal-header h2 { margin-bottom: 12px; font-size: clamp(2rem, 5vw, 3.2rem); }
.modal-header p:last-child { margin-bottom: 16px; color: var(--muted); font-size: .87rem; }
.modal-close { position: sticky; top: 12px; z-index: 1; display: grid; place-items: center; float: right; width: 44px; height: 44px; margin: -4px -4px 0 8px; padding: 0; border: 1px solid var(--line); background: var(--cream); color: var(--ink); font-size: 1.9rem; line-height: 1; cursor: pointer; }
.form-links { display: flex; flex-wrap: wrap; gap: 6px 18px; margin-bottom: 15px; color: var(--green); font-size: .76rem; font-weight: 700; }
.form-links a { text-decoration: underline; text-underline-offset: 3px; }
.course-form-frame { display: block; width: 100%; border: 0; outline: 1px solid var(--line); background: var(--cream); }
.mobile-enroll { display: none; }
.legal-page { background: #f7f3eb; }
.legal { padding-top: 96px; }
.legal-layout { display: grid; grid-template-columns: .78fr 1.22fr; align-items: start; gap: clamp(60px, 9vw, 130px); }
.legal-intro { position: sticky; top: 120px; }
.legal h1 { max-width: 560px; margin: 0 0 32px; font-family: var(--serif); font-size: clamp(3rem, 5vw, 5.2rem); font-weight: 400; line-height: 1.08; letter-spacing: -.05em; }
.legal-lead { max-width: 520px; color: var(--muted); font-size: .96rem; }
.legal-date { display: inline-block; margin-top: 18px; padding-top: 18px; border-top: 1px solid var(--line); color: #7f8984; font-size: .68rem; letter-spacing: .08em; text-transform: uppercase; }
.legal-content { padding-top: 11px; }
.legal-content section { padding: 0 0 34px; border-bottom: 1px solid var(--line); }
.legal-content section + section { padding-top: 34px; }
.legal h2 { max-width: 680px; margin: 0 0 17px; font-family: var(--serif); font-size: 1.55rem; letter-spacing: -.02em; }
.legal p, .legal li { color: var(--muted); font-size: .88rem; line-height: 1.8; }
.legal p { margin-bottom: 16px; }
.legal p:last-child { margin-bottom: 0; }
.legal ul { margin: 0; padding-left: 23px; }
.legal li { padding: 4px 0 4px 6px; }
.legal a:not(.btn) { color: var(--green); text-decoration: underline; text-underline-offset: 3px; }
.legal code { padding: 2px 6px; background: var(--sand); color: var(--ink); font-family: Consolas, monospace; font-size: .76rem; overflow-wrap: anywhere; }
.legal-note { margin-top: 34px; padding: 28px 30px; border-left: 3px solid var(--gold); background: var(--sand); }
.legal-note strong { display: block; margin-bottom: 7px; color: var(--ink); font-family: var(--serif); font-size: 1.15rem; font-weight: 400; }
.legal-note p { margin: 0; }
.legal-back { margin-top: 32px !important; }
.legal-settings-button { padding: 11px 16px; border: 1px solid var(--green); background: transparent; color: var(--green); font-size: .7rem; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; cursor: pointer; transition: background .2s, color .2s; }
.legal-settings-button:hover { background: var(--green); color: var(--white); }
.legal-table { margin-top: 25px; border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.legal-table-row { display: grid; grid-template-columns: 1.1fr 1.5fr 1.2fr; }
.legal-table-row > span { min-width: 0; padding: 15px 17px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); color: var(--muted); font-size: .71rem; line-height: 1.55; }
.legal-table-head > span { background: var(--sand); color: var(--ink); font-weight: 700; }

.reveal { opacity: 1; transform: none; }
.js .reveal { opacity: 0; transform: translateY(30px); transition: opacity .75s cubic-bezier(.22, .8, .3, 1), transform .75s cubic-bezier(.22, .8, .3, 1); transition-delay: var(--reveal-delay, 0s); }
.js .reveal.visible { opacity: 1; transform: none; }
.js .reveal.visible .feature-icon { animation: icon-arrive .65s cubic-bezier(.2, .8, .3, 1) both; }

@keyframes orbit-drift { from { opacity: .55; transform: translate3d(-10px, -12px, 0) rotate(-4deg); } to { opacity: 1; transform: translate3d(22px, 18px, 0) rotate(7deg); } }
@keyframes badge-float { 0%, 100% { transform: translateY(0) rotate(-1deg); } 50% { transform: translateY(-10px) rotate(1deg); } }
@keyframes icon-arrive { from { opacity: .1; transform: scale(.72) rotate(-9deg); } to { opacity: 1; transform: scale(1) rotate(0); } }
@keyframes faq-open { from { opacity: 0; transform: translateY(-7px); } to { opacity: 1; transform: translateY(0); } }

@media (max-width: 1040px) {
  .nav-links { position: absolute; top: 100%; right: 0; left: 0; display: none; flex-direction: column; align-items: stretch; gap: 0; padding: 20px 24px 28px; background: var(--cream); box-shadow: 0 16px 30px #0002; }
  .nav-links.open { display: flex; }
  .nav-links > a:not(.btn) { padding: 12px 0; }
  .nav-links > a:not(.btn)::after { display: none; }
  .menu-toggle { display: block; }
  .hero-grid, .split, .appeal-grid, .teacher-grid, .image-copy { grid-template-columns: 1fr; gap: 58px; }
  .hero { background: #f4f4ed; }
  .hero::before, .hero::after { display: none; }
  .hero-image { max-width: 760px; }
  .hero-badge { left: 18px; border-color: #f4f4ed; }
  .fact-grid { grid-template-columns: 1fr 1fr; }
  .fact-grid > div:nth-child(3) { border-left: 1px solid rgb(255 255 255 / 12%); }
  .cards { grid-template-columns: 1fr 1fr; }
  .section-heading, .method-heading { grid-template-columns: 1fr; }
  .section-heading > .heading-copy { margin-top: 24px; }
  .method-heading .eyebrow, .method-heading h2, .method-heading > .heading-copy { grid-column: 1; grid-row: auto; }
  .method-heading > .heading-copy { margin-bottom: 0; }
  .method-grid { grid-template-columns: 1fr; }
  .method-grid article { min-height: 0; }
  .program-modules { grid-template-columns: 1fr; }
  .reverse > figure:first-child { order: 0; }
  .reverse > .practice-media { order: 2; }
  .visual-story { grid-template-columns: 1fr 1fr; }
  .visual-story figure:first-child { grid-column: 1 / -1; }
  .portrait img { height: 650px; }
  .image-copy figure > img { height: 580px; }
  .audience-heading, .outcomes { grid-template-columns: 1fr; }
  .audience-heading .eyebrow, .audience-heading h2, .audience-heading > .heading-copy { grid-column: 1; grid-row: auto; }
  .outcomes { gap: 35px; }
  .section-action { align-items: flex-start; flex-direction: column; gap: 25px; }
  .program-action { align-items: flex-start; flex-direction: column; }
  .program-actions { flex-wrap: wrap; }
  .video-archive-grid { grid-template-columns: 1fr; }
  .video-story { grid-template-columns: minmax(250px, .8fr) 1.2fr; }
  .cta-note { grid-template-columns: auto 1fr; max-width: 600px; }
  .footer-main, .compact-footer .footer-main { grid-template-columns: 1.25fr 1fr; }
  .legal-layout { grid-template-columns: 1fr; gap: 50px; }
  .legal-intro { position: static; }
  .legal-intro .legal-lead { max-width: 720px; }
  .cookie-banner { gap: 12px; }
}

@media (max-width: 700px) {
  html { scroll-padding-top: 74px; }
  body { padding-bottom: 74px; }
  .container, .narrow { width: min(100% - 32px, 1180px); }
  .topline .container > span { display: none; }
  .topline .container { justify-content: center; }
  .topline .social { gap: 12px; }
  .navbar { min-height: 72px; }
  .brand { font-size: .75rem; }
  .brand-mark, .brand-logo { width: 40px; height: 40px; flex-basis: 40px; }
  .section { padding: 78px 0; }
  h2 { font-size: 2.35rem; }
  .hero { min-height: 780px; padding: 54px 0 70px; background: var(--ink-deep); color: var(--white); }
  .hero-grid { display: block; }
  .hero-copy { position: relative; z-index: 2; }
  .hero h1 { font-size: clamp(3.25rem, 14vw, 4.35rem); }
  .hero h1 span { color: var(--gold-light); }
  .hero h1 small { margin-top: 18px; color: var(--white); font-size: .62rem; }
  .lead { color: #e3e9e5; font-size: 1rem; }
  .hero-actions { align-items: stretch; flex-direction: column; gap: 18px; }
  .hero-actions .btn, .hero-actions .text-link { flex: 1; justify-content: center; }
  .hero-actions .text-link { color: var(--white); }
  .microcopy { color: var(--gold-light); }
  .hero-proof { grid-template-columns: 1fr 1fr; border-color: rgb(255 255 255 / 28%); }
  .hero-proof span { color: #bec9c3; }
  .hero-proof strong { color: var(--white); }
  .hero-proof span:last-child { grid-column: 1 / -1; }
  .hero-image { position: absolute; top: -54px; right: calc((100vw - 100%) / -2); bottom: -70px; left: calc((100vw - 100%) / -2); z-index: 0; max-width: none; }
  .hero-image::before, .hero-image figcaption, .hero-badge { display: none; }
  .hero-slides { height: 100%; border-radius: 0; }
  .hero-slides::after { background: linear-gradient(180deg, rgb(9 28 21 / 80%), rgb(9 28 21 / 74%) 48%, rgb(9 28 21 / 90%)); }
  .hero-slides .hero-slide { filter: saturate(.68) contrast(1.08); }
  .hero-dots { top: auto; right: 0; bottom: 0; }
  .fact-grid { grid-template-columns: 1fr; }
  .fact-grid > div, .fact-grid > div:first-child, .fact-grid > div:nth-child(3) { min-height: 92px; padding: 20px 10px; border-right: 0; border-bottom: 1px solid rgb(255 255 255 / 12%); border-left: 0; }
  .quote-section { padding: 70px 0; }
  .quote-grid { grid-template-columns: 1fr; }
  .quote-mark { display: none; }
  .section-intro { margin-top: 25px; }
  .about-note { grid-template-columns: 1fr; gap: 10px; }
  .method-section { padding: 78px 0; }
  .method-grid { margin-top: 38px; }
  .method-grid article { padding: 34px 26px; }
  .visual-story { grid-template-columns: 1fr; }
  .visual-story figure, .visual-story figure:first-child { grid-column: auto; min-height: 430px; }
  .gallery-toolbar { align-items: center; margin-top: 38px; }
  .gallery-toolbar span { display: none; }
  .gallery-button { width: 42px; height: 42px; }
  .gallery-card { flex-basis: 88%; }
  .gallery-card img { height: 430px; }
  .gallery-card figcaption { padding: 70px 20px 20px; }
  .cards { grid-template-columns: 1fr; }
  .cards article { min-height: 0; }
  .audience-grid { grid-template-columns: 1fr; }
  .audience-grid article { min-height: 0; padding: 32px 26px; }
  .outcomes { padding: 38px 25px; }
  .section-action { padding: 28px 24px; }
  .program-modules { margin-top: 38px; gap: 14px; }
  .program-module { padding: 32px 25px 26px; }
  .program-module header { min-height: 0; }
  .program-module:last-child:nth-child(odd) { grid-column: auto; }
  .program-action { padding: 30px 25px; }
  .program-actions { width: 100%; flex-direction: column; }
  .program-actions .btn { width: 100%; }
  .portrait img, .image-copy figure > img { height: 500px; }
  .practice-media { height: auto; grid-template-columns: 1fr 1fr; grid-template-rows: auto; }
  .practice-media .practice-video { height: 560px; grid-column: 1 / -1; grid-row: auto; }
  .practice-media > figure:not(.practice-video) { height: 285px; }
  .practice-media figure > img, .practice-media video { height: 100%; }
  .teacher-title img { height: 430px; }
  .stats { gap: 32px; }
  .landmark { width: 100%; margin-top: 65px; }
  .landmark img { height: 400px; }
  .landmark > div { right: 16px; left: 16px; min-width: 0; }
  .poddar-milestones { grid-template-columns: 1fr; }
  .poddar-milestones div { min-height: 0; }
  .video-archive-grid { margin-top: 38px; }
  .video-story { grid-template-columns: 1fr; }
  .video-story video { height: auto; min-height: 0; max-height: 680px; }
  .video-story > div { padding: 30px 25px 34px; }
  .cta-actions { flex-direction: column; align-items: stretch; }
  .modal { width: calc(100% - 16px); max-height: calc(100% - 16px); }
  .modal-card { padding: 20px 14px; }
  .mobile-enroll { position: fixed; right: 0; bottom: 0; left: 0; z-index: 49; display: flex; min-height: 74px; align-items: center; justify-content: space-between; gap: 16px; padding: 10px 16px; border-top: 1px solid rgb(255 255 255 / 12%); background: var(--ink-deep); color: var(--white); box-shadow: 0 -12px 30px rgb(13 33 26 / 18%); transition: opacity .22s, transform .28s; }
  .mobile-enroll span { color: #aebbb5; font-size: .62rem; line-height: 1.35; }
  .mobile-enroll strong { display: block; color: var(--white); font-family: var(--serif); font-size: .9rem; font-weight: 400; }
  .mobile-enroll .btn { min-height: 44px; padding: 10px 18px; font-size: .64rem; }
  .site-footer { padding-top: 58px; }
  .footer-main, .compact-footer .footer-main { grid-template-columns: 1fr; gap: 36px; padding-bottom: 42px; }
  .footer-about > p { max-width: 100%; }
  .footer-column { gap: 12px; }
  .footer-bottom { min-height: 94px; align-items: flex-start; flex-direction: column; justify-content: center; gap: 5px; }
  .legal-page { padding-bottom: 0; }
  .legal-page .navbar .text-link { font-size: 0; }
  .legal-page .navbar .text-link::after { content: 'На сайт →'; font-size: .72rem; }
  .legal { padding-top: 70px; }
  .legal-layout { gap: 38px; }
  .legal h1 { font-size: clamp(2.65rem, 12vw, 3.7rem); }
  .legal h2 { font-size: 1.35rem; }
  .legal p, .legal li { font-size: .82rem; }
  .legal-note { padding: 23px 21px; }
  .legal-table { overflow-x: auto; }
  .legal-table-row { min-width: 660px; }
  .cookie-banner { right: 12px; bottom: 12px; left: 12px; width: auto; max-height: calc(100vh - 24px); gap: 12px; padding: 17px 18px; overflow: auto; }
  .legal-page .cookie-banner { bottom: 12px; }
  .cookie-actions { width: 100%; }
  .cookie-actions .btn { width: 100%; min-width: 0; }
  .cookie-banner-open .mobile-enroll { opacity: 0; transform: translateY(100%); pointer-events: none; }
}

@media (max-width: 360px) {
  .modal { width: 100%; width: 100dvw; margin-inline: 0 auto; border-inline: 0; }
  .modal-card { padding-inline: 0; }
  .modal-header, .form-links { margin-inline: 14px; }
  .modal-close { margin-right: 10px; }
  /* Give the form's fixed-width footer room on narrow screens. */
  .course-form-frame { zoom: .92; }
}

@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; }
  .js .reveal { opacity: 1; transform: none; }
  .hero-badge { animation: none; }
  .motion-card::before { display: none; }
}
