
/* Diamoria: mobile-first layout, progressive desktop scenes. */
@font-face{font-family:'DM Sans';font-style:normal;font-weight:400;font-display:swap;src:url('./fonts/font-0.ttf') format('truetype')}

@font-face{font-family:'DM Sans';font-style:normal;font-weight:500;font-display:swap;src:url('./fonts/font-1.ttf') format('truetype')}

:root{--ink:#090b0e;--panel:#121519;--paper:#f2f3ed;--muted:#aeb6bf;--accent:#d8ff36;--line:#e5eaf02b;--dark-line:#14171d2b;--sans:'DM Sans',Arial,sans-serif;--gutter:clamp(1.25rem,4.7vw,6rem);--ease:cubic-bezier(.16,1,.3,1);--header-height:4.5rem;color-scheme:dark}

*,*::before,*::after{box-sizing:border-box}
/* Align sections with the header; 1px overlap prevents a rounding hairline. */
html{scroll-padding-top:calc(var(--header-height) - 1px);-webkit-text-size-adjust:100%}
body{margin:0;color:var(--paper);background:var(--ink);font:400 1rem/1.65 var(--sans);-webkit-font-smoothing:antialiased}

h1,h2,h3,p,figure{margin:0}
p{overflow-wrap:anywhere}
h1,h2,h3{font-weight:500;overflow-wrap:anywhere}
h1,h2{letter-spacing:-.06em;line-height:1.04}
h2{font-size:clamp(2rem,8.6vw,3.8rem)}
em{font:inherit;color:var(--accent)}
a{color:inherit;text-decoration:none}
button,summary{color:inherit;font:inherit;cursor:pointer}
button{background:none;border:0}
button,a,summary{-webkit-tap-highlight-color:#d8ff3620;touch-action:manipulation}
img{display:block;max-width:100%;height:auto}
::selection{background:var(--accent);color:var(--ink)}
:focus-visible{outline:2px solid var(--accent);outline-offset:5px}
.agency :focus-visible{outline-color:var(--accent)}
[tabindex='-1']:focus{outline:none}
[hidden]{display:none!important}

.icon-library{position:absolute;width:0;height:0;overflow:hidden}
.icon{display:inline-block;width:1.25rem;height:1.25rem;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round;vertical-align:middle}
.container{width:min(calc(100% - var(--gutter)*2),1480px);margin-inline:auto}
.section-space{--section-top:4.5rem;padding-block:var(--section-top) 4.5rem}
.eyebrow{font-size:.75rem;font-weight:500;letter-spacing:.1em;line-height:1.65;text-transform:uppercase}

.skip-link{position:fixed;z-index:100;top:1rem;left:1rem;padding:.75rem 1.25rem;color:var(--ink);background:var(--paper);transform:translateY(-200%)}
.skip-link:focus{transform:none}
.text-link{display:inline-flex;align-items:center;gap:.85rem;min-height:44px;font-size:.875rem;max-width:100%;overflow-wrap:anywhere}
.text-link .icon,.button .icon{transition:transform .3s var(--ease)}
.button{max-width:100%;text-align:left;overflow-wrap:anywhere;display:inline-flex;align-items:center;justify-content:space-between;gap:1.5rem;min-height:56px;padding:1rem 1.4rem;font-size:.9375rem;border:1px solid var(--line)}
.button-light{background:var(--accent);color:var(--ink);border-color:var(--accent)}

.reading-progress{position:fixed;z-index:60;inset:0 0 auto;height:3px;pointer-events:none}
.reading-progress span{display:block;width:100%;height:100%;background:var(--accent);transform:scaleX(var(--page-progress,0));transform-origin:left}


/* Navigation: independently scrollable panel, including landscape phones. */
.site-header{position:absolute;z-index:30;inset:0 0 auto;min-height:4.5rem;padding:max(.85rem,env(safe-area-inset-top)) var(--gutter) .85rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}
.wordmark{font-size:2rem;letter-spacing:-.085em;line-height:1;font-weight:500;white-space:nowrap;min-height:44px;display:inline-flex;align-items:center}
.wordmark>span{color:var(--accent)}
.desktop-nav,.header-contact{display:none}
.header-actions{display:flex;align-items:center;gap:1.5rem;margin-left:auto;min-width:0}
.chapter-menu{position:relative}
.chapter-menu>summary{display:flex;align-items:center;justify-content:flex-end;gap:.9rem;min-height:44px;min-width:80px;list-style:none;font-size:.875rem}
summary::-webkit-details-marker{display:none}
.menu-lines{position:relative;width:22px;height:14px}
.menu-lines::before,.menu-lines::after{content:'';position:absolute;left:0;width:22px;height:1px;background:currentColor;transition:transform .25s}
.menu-lines::before{top:3px}
.menu-lines::after{bottom:3px}
.chapter-menu[open] .menu-lines::before{transform:translateY(3.5px) rotate(45deg)}
.chapter-menu[open] .menu-lines::after{transform:translateY(-3.5px) rotate(-45deg)}

.chapter-panel{position:absolute;right:0;top:calc(100% + .85rem);width:min(24rem,100vw - var(--gutter)*2);max-height:calc(100dvh - var(--header-height) - 24px);overflow:auto;overscroll-behavior:contain;padding:1.25rem;background:#101318;border:1px solid var(--line);border-top:2px solid var(--accent);box-shadow:0 20px 60px #0008}
.chapter-panel .eyebrow{margin-bottom:1rem;color:var(--accent)}
.chapter-panel>a{display:block;padding-block:.6rem;overflow-wrap:anywhere;min-height:48px;font-size:1.125rem;border-bottom:1px solid var(--line)}
.chapter-panel>a>span{display:inline-block;margin-right:.65rem;color:var(--muted);font-size:.75rem;min-width:1.3rem}
.chapter-panel [aria-current]{color:var(--accent)}
.chapter-panel>a.menu-email{font-size:.875rem;border:0;margin-top:.75rem;overflow-wrap:anywhere}
.site-header.is-floating{position:fixed;background:#090b0ef5;border-bottom:1px solid var(--line)}


/* Opening: no rigid height that can cut off enlarged text. */
.hero{position:relative;background:#050607}
.hero-stage{position:relative;isolation:isolate;min-height:100svh;display:flex;flex-direction:column;overflow:clip}
.hero-image,.hero-shade{position:absolute;inset:0;pointer-events:none}
.hero-image{z-index:-3}
.hero-image img{width:100%;height:100%;object-fit:cover;object-position:64% center}
.hero-shade{z-index:-2;background:linear-gradient(90deg,#020406c9,#05080b38),linear-gradient(0deg,#050607,transparent 60%,#05060740)}
.hero-content{position:relative;padding-top:clamp(7.5rem,18svh,11rem);padding-bottom:3rem;margin-block:auto}
.hero-eyebrow{display:flex;gap:.75rem;align-items:center;max-width:28ch;margin-bottom:2rem;color:#e1e7eb}
.brand-signal{width:9px;height:9px;flex-shrink:0;border:1px solid var(--accent);transform:rotate(45deg)}
.hero h1{font-size:clamp(2rem,11.2vw,5.75rem);line-height:.98;letter-spacing:-.07em}
.hero-line{display:block;transform-origin:left center}
.hero-finale{display:none}
.hero-outline{color:transparent;-webkit-text-stroke:1px #f4f8efde}
.title-dot{color:var(--accent)}
.hero-description{margin-top:1.7rem;font-size:1rem;line-height:1.6;color:#d4dbe1}
.film-invitation{display:inline-flex;align-items:center;gap:1rem;margin-top:1.8rem;font-size:1rem}
.film-invitation>span:last-child{min-width:0;overflow-wrap:anywhere}
.film-invitation small{display:block;color:#b8c2cb;font-size:.8125rem;margin-top:.15rem}
.play-circle{display:grid;place-items:center;width:52px;height:52px;flex-shrink:0;border-radius:50%;background:var(--accent);color:var(--ink);transition:transform .35s var(--ease),background .3s}
.play-circle .icon{transform:translateX(1px)}
.hero-aside{display:none}
.hero-bottom{position:relative;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem 1rem;border-top:1px solid var(--line);padding-block:1rem;font-size:.875rem}
.hero-bottom>p{display:none}
.hero-bottom>a{display:flex;align-items:center;gap:.7rem;min-height:44px}
.scroll-indicator .icon{width:20px;height:20px}
.scroll-indicator{display:grid;place-items:center;width:32px;height:40px;flex-shrink:0;border:1px solid #cfd7e750;border-radius:20px}

.section-caption{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem 1rem;padding-bottom:1.1rem;border-bottom:1px solid var(--line)}
.section-caption .eyebrow{color:var(--accent)}
.film-section .section-caption{align-items:flex-start}
.caption-note{font-size:.8125rem;color:var(--muted)}
.section-heading{display:grid;gap:1.5rem;margin-block:2rem 2.5rem}
.section-heading>p{color:var(--muted);max-width:26rem}


/* Poster and useful fallback when the external player cannot load. */
.film-frame{position:relative;width:100%;min-height:12.5rem;aspect-ratio:16/9;background:#070906;border:1px solid var(--line);overflow:clip}
.film-mount,.film-mount>div,.film-mount iframe,.film-cover,.film-cover>img,.film-cover-shade{position:absolute;inset:0;width:100%;height:100%}
.film-mount iframe{border:0;display:block}
.film-cover>img{object-fit:cover}
.film-cover-shade{background:linear-gradient(0deg,#050608b8,transparent);pointer-events:none}
.film-cover{display:grid;place-items:center}
.film-corner{position:absolute;top:1rem;left:1rem;color:#e3e9ee}
.film-launch{position:relative;display:flex;flex-direction:column;align-items:center;gap:.7rem;font-size:.875rem}
.play-circle.large{width:60px;height:60px}
.play-circle.large .icon{width:26px;height:26px}
.film-signature{display:none}
.film-footer{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem 1.5rem;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--line);font-size:.875rem;color:var(--muted)}
.film-footer>p{flex-basis:100%}
.film-footer .text-link{color:var(--paper)}
.video-retry{border-bottom:1px solid var(--accent);padding-inline:0}
.film-frame.is-loading .film-launch{opacity:.7}


/* Manifesto: a change of light and pace. */
.agency{background:var(--ink);color:var(--paper)}
.agency .section-caption{border-color:var(--line)}
.agency .eyebrow{color:var(--accent)}
.agency .caption-note{color:var(--muted)}
.agency-statement{max-width:16ch;font-size:clamp(2.2rem,9.7vw,4.75rem);margin-block:2.5rem 3rem;line-height:1.04}
.reading-word{color:rgb(242 243 237 / var(--word-opacity,1))}
.agency-grid,.expertise-grid,.faq-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:2.75rem}
.agency-art{position:relative;overflow:clip}
.agency-art img{width:100%;aspect-ratio:4/3;object-fit:cover}
.agency-art figcaption{position:absolute;inset:auto 1rem 1rem;width:fit-content;max-width:calc(100% - 2rem);padding:.5rem .7rem;font-size:.75rem;letter-spacing:.06em;color:#11141a;background:#f6f2e9ed}
.agency-copy .lead{font-size:clamp(2.2rem,7vw,3.5rem);line-height:1.08;font-weight:500;letter-spacing:-.055em;color:#11141a;margin-bottom:1.5rem}
.agency-copy>p{color:#48534a}
.agency-copy>p+p{margin-top:1.2rem}
.agency-copy .text-link{margin-top:1.5rem;border-bottom:1px solid #52644b}
.agency-notes{display:flex;flex-wrap:wrap;gap:.5rem 1.5rem;margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--dark-line);color:#48534a;font-size:.875rem}


/* Numbered editorial sequence on mobile; wider screens expand the gallery. */
.world-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:3rem}
.world-card{min-width:0}
.world-visual{width:100%;min-width:0;min-height:15rem;display:block;position:relative;aspect-ratio:4/4.25;overflow:clip;isolation:isolate;background:var(--panel)}
.world-card--automobile .world-visual{aspect-ratio:5/4;min-height:14rem}
.world-media{position:absolute;inset:0;z-index:-1;display:block;overflow:clip;background:var(--panel)}
.world-media::after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#030804e8,transparent 58%,#03080465);pointer-events:none}
.world-visual img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease)}
.world-number{overflow-wrap:anywhere;position:absolute;top:1.25rem;left:1.25rem;right:4.5rem;font-size:.75rem;line-height:1.6;text-transform:uppercase;letter-spacing:.09em}
.world-action{position:absolute;top:1rem;right:1rem;display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--accent);color:var(--ink)}
.world-visual h3{position:absolute;inset:auto 1.25rem 1.5rem;font-size:clamp(2rem,9.6vw,3.9rem);line-height:1.02;letter-spacing:-.055em}
.world-visual h3 em{color:#edf4df}
.world-caption{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.3rem 1rem;padding-top:1rem}
.world-caption>p{font-size:1rem;font-weight:500}
.world-caption>span{font-size:.8125rem;color:var(--muted)}
.world-navigation{display:none}
.world-controls{display:flex;gap:.5rem}
.world-controls button{display:grid;place-items:center;width:44px;height:44px;border:1px solid var(--line);border-radius:50%}
.world-controls button:first-child .icon{rotate:180deg}
.world-controls button:disabled{opacity:.3;cursor:default}
.world-disclaimer{margin-top:2rem;font-size:.75rem;color:var(--muted)}

.signature-band{overflow:clip;padding-block:2rem;background:var(--accent);color:var(--ink);margin-block:1rem}
.signature-track{display:flex;width:max-content}
.signature-track p{flex-shrink:0;white-space:nowrap;font-size:clamp(2.8rem,6vw,6rem);line-height:1.1;letter-spacing:-.055em;font-weight:500;padding-right:.35em}
.signature-track span{padding-inline:.3em}

.expertise-intro .eyebrow,.faq .eyebrow{color:var(--accent);margin-bottom:1.75rem}
.expertise-intro>p:not(.eyebrow){color:var(--muted);margin-top:1.5rem}
.expertise-intro .text-link{margin-top:1rem}
.service{border-top:1px solid var(--line)}
.service:last-child{border-bottom:1px solid var(--line)}
.service>summary{display:flex;align-items:center;gap:1rem;min-height:84px;padding-block:1.4rem;list-style:none}
.service h3{flex:1;min-width:0;font-size:1.3rem;line-height:1.25;letter-spacing:-.025em}
.item-number{color:var(--accent);font-size:.75rem}
.service summary>.icon,.questions summary>.icon{transition:rotate .25s}
.service[open] summary>.icon,.questions details[open] summary>.icon{rotate:45deg;color:var(--accent)}
.service[open]{border-top-color:#d8ff3666}
.service-content{padding-bottom:1.75rem}
.service-content>p{color:var(--muted)}
.service-content .service-lead{color:var(--paper);font-size:1.125rem;margin-bottom:.75rem}
.tags{display:flex;flex-wrap:wrap;gap:.5rem 1rem;list-style:none;padding:0;margin:1.5rem 0 0;font-size:.8125rem;color:#d0dbb8}
.tags li{border-bottom:1px solid var(--line);padding-bottom:.25rem}
.faq{background:var(--panel)}
.faq h2{font-size:clamp(1.9rem,8vw,3.5rem)}
.questions details{border-bottom:1px solid var(--line)}
.questions details:first-child{border-top:1px solid var(--line)}
.questions summary{display:flex;align-items:center;justify-content:space-between;gap:1.25rem;padding-block:1.4rem;list-style:none}
.questions h3{font-size:1rem;line-height:1.5}
.questions details>p{padding-bottom:1.5rem;color:var(--muted)}

.contact{position:relative;isolation:isolate;overflow:clip;min-height:calc(100svh - var(--header-height) - var(--footer-height,0px) + 1px);padding-block:var(--section-top) 6rem}
.contact-backdrop{position:absolute;z-index:-2;inset:0}
.contact-backdrop img{width:100%;height:100%;object-fit:cover;object-position:68% center}
.contact::before{content:'';position:absolute;z-index:-1;inset:0;background:#090b0ec4}
.contact-inner .eyebrow{color:var(--accent);margin-bottom:2rem}
.contact h2{font-size:clamp(2.15rem,9vw,4.5rem);max-width:16ch}
.contact-inner>p:not(.eyebrow){color:#c3ccd6;margin-top:1.75rem}
.contact-actions{display:flex;flex-wrap:wrap;align-items:center;gap:1.5rem 2.5rem;margin-top:2.5rem}
.contact-email{display:block;max-width:100%;min-height:44px;padding-block:.5rem;font-size:1rem;border-bottom:1px solid #8490a0;overflow-wrap:anywhere}
.site-footer{padding-top:3rem;padding-bottom:max(1rem,env(safe-area-inset-bottom))}
.footer-top{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1.5rem;padding-bottom:2.5rem}
.footer-brand{font-size:clamp(2rem,15vw,6rem)}
.footer-top>p{flex-basis:100%;font-size:.875rem;color:var(--muted)}
.footer-top nav{display:flex;flex-wrap:wrap;gap:1.5rem}
.footer-bottom{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:.25rem 1rem;border-top:1px solid var(--line);padding-top:1rem;font-size:.8125rem;color:var(--muted)}
.footer-bottom>span,.footer-bottom>a,.privacy>summary{display:block;min-height:44px;padding-block:.65rem}
.privacy{order:3;flex-basis:100%}
.privacy summary{list-style:none}
.privacy>div{padding:1rem;margin-bottom:1rem;border:1px solid var(--line);background:var(--panel)}
.privacy p+p{margin-top:1rem}
.privacy a{text-decoration:underline;overflow-wrap:anywhere}


/* Widen spacing, then columns, then the desktop navigation. */
@media(min-width:600px){
.section-space{--section-top:5.5rem;padding-bottom:5.5rem}
.hero-content{padding-top:9rem}
.hero h1{font-size:clamp(4rem,10.5vw,7rem)}
.hero-eyebrow{max-width:none}
.chapter-panel{padding:1.75rem}
.header-contact{display:inline-flex;align-items:center;gap:1rem;min-height:44px;padding:.55rem .8rem;font-size:.875rem;border:1px solid #f3f5ec50}
.film-frame{width:min(100%,calc(70svh * 16 / 9));margin-inline:auto}
.film-corner{top:1.5rem;left:1.5rem}
.play-circle.large{width:80px;height:80px}
.film-signature{display:block;position:absolute;bottom:1.5rem;left:1.5rem;font-size:clamp(2rem,4.5vw,4.5rem);line-height:1;letter-spacing:-.06em;pointer-events:none}
.film-footer>p{flex:1 1 20rem}
.world-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:3rem 1.5rem}
.world-visual h3{font-size:clamp(1.8rem,4.8vw,4rem)}
.world-offset{margin-top:3rem}
.agency-statement{font-size:clamp(3.7rem,8.5vw,7rem)}
.footer-top>p{order:3}
.footer-brand{font-size:5.5rem}

}

@media(min-width:900px){
:root{--gutter:clamp(2rem,5vw,6rem)}
h2{font-size:clamp(3rem,5.2vw,6rem)}
.section-space{--section-top:clamp(6rem,8.5vw,9rem);padding-bottom:clamp(6rem,8.5vw,9rem)}
.hero-content{padding-top:9rem;padding-bottom:3rem}
.hero h1{font-size:clamp(5rem,8.6vw,9.5rem)}
.hero-shade{background:linear-gradient(90deg,#040506a8,transparent 70%),linear-gradient(0deg,#050607ea,transparent 40%,#05060735)}
.hero-image img{object-position:63% center}
.hero-bottom>p{display:block;color:var(--muted);font-size:.8125rem}
.hero-bottom{padding-block:1.25rem}
.section-heading{grid-template-columns:minmax(0,1fr) minmax(12rem,.45fr);align-items:end;gap:3rem;margin-block:2.5rem 3rem}
.agency-statement{font-size:clamp(4rem,7.5vw,8rem);margin-block:4rem}
.agency-grid{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:8%;align-items:center}
.agency-art img{aspect-ratio:1}
.agency-copy .lead{font-size:clamp(2.6rem,3.8vw,4rem)}
.world-grid{gap:4rem 2rem}
.world-visual{aspect-ratio:5/4}
.world-visual h3{left:1.75rem;bottom:2rem;font-size:clamp(2.5rem,4vw,4.5rem)}
.world-number{top:1.75rem;left:1.75rem}
.world-action{top:1.5rem;right:1.5rem}
.expertise-grid,.faq-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:8%}
.expertise-intro h2{font-size:clamp(2.5rem,4.4vw,5rem)}
.service h3{font-size:clamp(1.4rem,1.9vw,2rem)}
.service-content{margin-left:2rem}
.faq h2{font-size:clamp(2.2rem,3.4vw,3.75rem)}
.questions details>p{padding-right:2.5rem}
.contact{padding-bottom:clamp(7rem,12vw,12rem)}
.contact h2{font-size:clamp(4rem,7vw,8rem)}
.contact::before{background:linear-gradient(90deg,#090b0ef2 10%,#090b0ead 58%,#090b0e5e)}
.footer-top>p{order:0;flex-basis:auto;max-width:13ch}
.footer-brand{font-size:clamp(5.5rem,8vw,9rem)}
.privacy{order:0;flex:0 1 38rem;text-align:center}
.privacy>div{text-align:left}
.footer-bottom{flex-wrap:nowrap}

}

@media(min-width:1100px){
.desktop-nav{display:flex;align-items:center;gap:1.75rem}
.desktop-nav a{display:inline-flex;align-items:center;min-height:44px;color:#e1e6ec;font-size:.875rem}
.desktop-nav [aria-current]{color:var(--accent)}
.hero-aside{display:block;position:absolute;right:var(--gutter);bottom:180px;text-align:right;font-size:.75rem;letter-spacing:.15em;line-height:1.9;color:#dce3e9}
.hero-aside>span{display:block}
.hero-aside i{display:block;width:36px;height:1px;background:var(--accent);margin:1rem 0 1rem auto}
.hero-aside small{font-size:.75rem;letter-spacing:.1em;color:#aab4bf}

}

@media(min-width:900px) and (min-height:700px){.expertise-intro{position:sticky;top:calc(var(--header-height) + var(--section-top));align-self:start}
}

@media(hover:hover) and (pointer:fine){.text-link:hover .icon,.button:hover .icon{transform:translate(3px,-2px)}
.button-light:hover,.play-circle:hover{background:#e6ff7a}
.header-contact:hover{background:var(--accent);border-color:var(--accent);color:var(--ink)}
.chapter-panel>a:hover,.desktop-nav a:hover,.service>summary:hover,.questions summary:hover{color:var(--accent)}
.film-invitation:hover .play-circle,.film-launch:hover .play-circle{transform:scale(1.07)}
.world-visual:hover img{transform:scale(1.045)}
.world-visual:hover .world-action{background:white}
}

@media print{.site-header,.film-section,.contact-backdrop,.hero-image,.hero-shade,.signature-band,.skip-link,.reading-progress{display:none}
body,.agency,.faq{color:#111;background:white}
.hero-stage{min-height:0}
.hero-content{padding-block:2rem}
.section-space{padding-block:2rem}
.expertise-intro{position:static}
.contact::before{display:none}
}

/* A typographic interlude, followed by a deliberately quieter editorial chapter. */
.impact-bridge{overflow:clip;position:relative;background:var(--accent);color:var(--ink);padding-block:2rem 3rem}
.impact-meta{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.6rem 2rem;border-bottom:1px solid #090b0e40;padding-bottom:1rem}
.impact-meta>span:last-child{display:none}
.impact-bridge h2{padding-block:3.5rem;text-align:center;letter-spacing:-.065em;line-height:1.03;font-size:clamp(2.65rem,10.8vw,12rem)}
.impact-line{display:block}
.impact-outline{color:transparent;-webkit-text-stroke:1px var(--ink)}
.impact-note{font-size:.875rem;line-height:1.5;text-align:right}
.title-line,.hero-line{display:block;overflow:clip;padding-bottom:.09em;margin-bottom:-.09em}
.title-ink,.hero-ink{display:block;transform-origin:left bottom}
.hero-outline .hero-ink{color:transparent;-webkit-text-stroke:1px #f4f8efde}
.service>summary{position:relative;isolation:isolate;padding-inline:1rem;transition:color .25s}
.service>summary::before{content:'';position:absolute;inset:0;z-index:-1;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .5s var(--ease)}
.service[open]>summary{color:var(--ink)}
.service[open]>summary::before{transform:scaleX(1)}
.service[open] .item-number,.service[open] summary>.icon{color:var(--ink)}
.service-content{margin-left:0;padding:1.5rem 1rem 2rem;background:#111711}
.service[open]{border-top-color:var(--accent)}
.chapter-panel{position:fixed;inset:calc(var(--header-height) + .5rem) var(--gutter) auto auto;width:min(48rem,calc(100% - var(--gutter)*2));padding:clamp(1.25rem,3vw,3rem);background:var(--accent);color:var(--ink);border:0;box-shadow:0 30px 80px #0008}
.chapter-panel .eyebrow,.chapter-panel>a>span{color:#3e491b}
.chapter-panel>a{font-size:clamp(1.55rem,3.3vw,3rem);letter-spacing:-.04em;line-height:1.1;padding-block:.6rem;border-color:#090b0e30}
.chapter-panel [aria-current]{color:var(--ink);text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:.2em}
.chapter-panel>a.menu-email{letter-spacing:0;font-size:.875rem}
.text-link{position:relative}
.text-link::after{content:'';position:absolute;left:0;right:0;bottom:4px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform .4s var(--ease)}
.text-link:focus-visible::after{transform:scaleX(1);transform-origin:left}
.button{transition:background .3s,color .3s,border-color .3s,transform .4s var(--ease)}
@media(min-width:600px){.impact-meta>span:last-child{display:block}.impact-bridge{padding-block:2rem 3.5rem}.impact-bridge h2{padding-block:5rem}}
@media(min-width:960px) and (min-height:640px){
.section-space{--section-top:1rem}
.hero-content{padding-top:5.5rem;padding-bottom:1.5rem}
.hero h1{font-size:clamp(4.5rem,min(8.6vw,12svh),9.5rem)}
.hero-eyebrow{margin-bottom:1.5rem}
.hero-description{margin-top:1.5rem}
.film-invitation{margin-top:1.5rem}
.hero-aside{bottom:130px}
.impact-bridge h2{padding-block:clamp(5rem,12svh,9rem)}
}
@media(hover:hover) and (pointer:fine){
.text-link:hover::after{transform:scaleX(1);transform-origin:left}
.button:hover{transform:translateY(-3px)}
.chapter-panel>a:hover{color:var(--ink);padding-left:.6rem}
.chapter-panel>a{transition:padding-left .35s var(--ease)}
.service>summary:hover::before{transform:scaleX(1)}
.service>summary:hover,.service>summary:hover .item-number,.service>summary:hover .icon{color:var(--ink)}
.world-controls button:not(:disabled):hover{background:var(--accent);color:var(--ink);border-color:var(--accent)}
}

