@font-face{font-family:'DM Sans';font-style:normal;font-weight:300;font-display:swap;src:url('assets/fonts/dm-sans-300.ttf') format('truetype')}
@font-face{font-family:'DM Sans';font-style:normal;font-weight:400;font-display:swap;src:url('assets/fonts/dm-sans-400.ttf') format('truetype')}
@font-face{font-family:'DM Sans';font-style:normal;font-weight:500;font-display:swap;src:url('assets/fonts/dm-sans-500.ttf') format('truetype')}
@font-face{font-family:'Instrument Serif';font-style:normal;font-weight:400;font-display:swap;src:url('assets/fonts/instrument-serif-regular.ttf') format('truetype')}
@font-face{font-family:'Instrument Serif';font-style:italic;font-weight:400;font-display:swap;src:url('assets/fonts/instrument-serif-italic.ttf') format('truetype')}

:root { --ivory:#f2f0e9; --ink:#1c1d1a; --muted:#96968e; --sage:#87917a; --line:rgba(28,29,26,.18); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; overflow-x:clip; background:var(--ivory); color:var(--ink); font-family:'DM Sans',sans-serif; font-weight:300; }
a { color:inherit; text-decoration:none; }
.site-header { position:fixed; z-index:20; top:0; left:0; width:100%; padding:24px 3vw; display:grid; grid-template-columns:1fr auto; align-items:center; color:var(--ink); transition:transform .4s ease,color .35s ease; }
.site-header .brand-logo { filter:none; transition:filter .35s ease; }
.site-header.light-nav { color:white; }
.site-header.light-nav .brand-logo { filter:invert(1); }
.desktop-nav {
  position:relative;
  isolation:isolate;
  padding:14px 22px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.17);
  border-radius:999px;
  background:linear-gradient(115deg,rgba(255,255,255,.11),rgba(255,255,255,.035) 55%,rgba(255,255,255,.075));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.22),0 10px 30px rgba(0,0,0,.11);
  backdrop-filter:blur(16px) saturate(135%);
  -webkit-backdrop-filter:blur(16px) saturate(135%);
}
.site-header.light-nav .desktop-nav { text-shadow:0 1px 10px rgba(0,0,0,.62); }
.desktop-nav:before {
  content:"";
  position:absolute;
  z-index:-1;
  top:-90%;
  left:7%;
  width:48%;
  height:170%;
  border-radius:50%;
  background:rgba(255,255,255,.07);
  filter:blur(14px);
  transform:rotate(-12deg);
  pointer-events:none;
}
.brand { display:block; width:max-content; }
.brand-logo { display:block; width:150px; height:auto; max-height:72px; object-fit:contain; object-position:left center; filter:invert(1); }
.desktop-nav { display:flex; gap:clamp(18px,2.5vw,38px); font-size:10px; text-transform:uppercase; letter-spacing:.13em; transition:opacity .22s ease,transform .28s cubic-bezier(.2,.7,.2,1); }
.site-header.nav-scrolling .desktop-nav { opacity:0; transform:translateY(-14px) scale(.98); pointer-events:none; }
.desktop-nav a,.header-cta { position:relative; }
.desktop-nav a:after,.header-cta:after { content:""; position:absolute; left:0; bottom:-5px; width:0; height:1px; background:currentColor; transition:width .3s; }
.desktop-nav a:hover:after,.header-cta:hover:after { width:100%; }
.mobile-menu-toggle { display:none; }
.header-cta { justify-self:end; font-size:11px; text-transform:uppercase; letter-spacing:.13em; }
.scroll-film { height:500vh; background:#10110f; }
.film-sticky { position:sticky; top:0; height:100vh; overflow:hidden; color:white; }
.film-frame,.film-fallback { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.film-frame { z-index:0; }
.film-fallback { background-image:url('assets/project-01-living.jpeg'); background-size:cover; background-position:center; transform:scale(1.06); transition:opacity .5s; }
.film-sticky.video-ready .film-fallback { opacity:0; }
.film-shade { position:absolute; z-index:2; inset:0; background:linear-gradient(90deg,rgba(10,12,10,.68) 0%,rgba(10,12,10,.12) 58%,rgba(10,12,10,.28) 100%),linear-gradient(0deg,rgba(0,0,0,.38),transparent 45%); }
.film-grain { position:absolute; z-index:3; inset:-40%; opacity:.045; pointer-events:none; background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.95' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E"); animation:grain .25s steps(2) infinite; }
@keyframes grain { 0%{transform:translate(0)} 25%{transform:translate(3%,-2%)} 50%{transform:translate(-2%,3%)} 75%{transform:translate(2%,2%)} }
.hero-copy { position:absolute; z-index:4; left:6vw; top:50%; transform:translateY(-43%); width:min(760px,70vw); }
.hero-copy .eyebrow,
.hero-copy h1,
.hero-copy .hero-intro,
.film-chapters,
.scroll-cue {
  opacity:0;
  transition:opacity .75s cubic-bezier(.2,.7,.2,1),transform .9s cubic-bezier(.2,.7,.2,1),filter .9s;
  will-change:opacity,transform;
}
.hero-copy .eyebrow { transform:translateY(18px); }
.hero-copy h1 { transform:translateY(55px); filter:blur(8px); }
.hero-copy .hero-intro { transform:translateY(24px); }
.film-chapters { transform:translateY(calc(-50% + 22px)); }
.scroll-cue { transform:translateY(12px); }
.hero-copy .eyebrow.shown,
.hero-copy h1.shown,
.hero-copy .hero-intro.shown,
.scroll-cue.shown { opacity:1; transform:translateY(0); filter:blur(0); }
.film-chapters.shown { opacity:1; transform:translateY(-50%); }
.hero-copy.film-out .eyebrow,
.hero-copy.film-out h1,
.hero-copy.film-out .hero-intro { opacity:0; transform:translateY(-28px); filter:blur(5px); }
.film-chapters.film-out { opacity:0; transform:translateY(calc(-50% - 20px)); }
.eyebrow,.section-number { text-transform:uppercase; letter-spacing:.22em; font-size:10px; font-weight:500; }
.hero-copy h1,.section-heading h2,.green-content h2,.statement-section h2,.footer-top h2 { margin:18px 0 30px; font-size:clamp(70px,10.2vw,164px); font-weight:300; line-height:.78; letter-spacing:-.055em; }
em { font-family:'Instrument Serif'; font-weight:400; }
.hero-intro { width:min(420px,80%); margin-left:20vw; font-size:14px; line-height:1.65; }
.film-chapters { display:none; }
.chapter { opacity:.35; transition:.4s; }
.chapter.active { opacity:1; }
.scroll-cue { position:absolute; z-index:4; left:3vw; bottom:35px; display:flex; align-items:center; gap:14px; font-size:9px; text-transform:uppercase; letter-spacing:.18em; }
.scroll-cue i { display:block; width:60px; height:1px; background:rgba(255,255,255,.4); overflow:hidden; }
.scroll-cue i:after { content:""; display:block; width:35%; height:100%; background:white; animation:cue 1.8s infinite; }
@keyframes cue { from{transform:translateX(-100%)} to{transform:translateX(320%)} }
.progress { position:absolute; z-index:4; right:3vw; bottom:38px; width:130px; height:1px; background:rgba(255,255,255,.25); }
.progress span { display:block; width:0; height:100%; background:white; }
.video-note { position:absolute; z-index:4; top:105px; right:3vw; display:flex; align-items:center; gap:8px; padding:9px 12px; border:1px solid rgba(255,255,255,.25); border-radius:30px; backdrop-filter:blur(12px); font-size:9px; text-transform:uppercase; letter-spacing:.12em; transition:opacity .5s; }
.video-note-dot { width:6px; height:6px; background:#d6bd7d; border-radius:50%; box-shadow:0 0 0 4px rgba(214,189,125,.16); }
.intro-section { padding:130px 5vw 40px; }
.section-number { padding-bottom:25px; border-bottom:1px solid var(--line); color:#62645e; }
.intro-grid { display:grid; grid-template-columns:1.2fr 1fr; gap:12vw; padding:80px 0 110px; }
.intro-grid h2 { margin:0; font-family:'Instrument Serif'; font-size:clamp(58px,8vw,126px); font-weight:400; line-height:.88; }
.intro-copy { align-self:end; max-width:580px; }
.intro-copy p { font-size:15px; line-height:1.8; color:#5e605a; }
.intro-copy .lead { color:var(--ink); font-size:clamp(20px,2.1vw,31px); line-height:1.4; }
.text-link { display:inline-flex; gap:80px; margin-top:28px; padding-bottom:7px; border-bottom:1px solid; font-size:11px; text-transform:uppercase; letter-spacing:.16em; }
.service-line { display:flex; flex-wrap:wrap; justify-content:space-between; gap:25px; padding:28px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); font-size:10px; text-transform:uppercase; letter-spacing:.14em; }
.projects-section { padding:130px 5vw; background:#1b1d1a; color:white; }
.section-heading { display:grid; grid-template-columns:1fr 2fr 1fr; align-items:end; margin-bottom:90px; }
.section-number.light { color:#aaa; border:0; }
.section-heading h2 { margin:0; font-size:clamp(62px,8.5vw,130px); }
.section-heading p { max-width:260px; color:#aaa; font-size:13px; line-height:1.6; }
.project-scroll-stage { --project-scale:.86; --project-radius:6px; position:relative; width:100vw; height:300vh; margin-left:-5vw; }
.project-slider { position:sticky; top:0; width:100vw; height:100vh; min-height:620px; overflow:hidden; border-radius:var(--project-radius); background:#111; box-shadow:0 35px 80px rgba(0,0,0,.28); transform:scale(var(--project-scale)); transform-origin:center; will-change:transform,border-radius; }
.project-slides,.project-slide { position:absolute; inset:0; }
.project-slide { opacity:0; transform:scale(1.065); background:linear-gradient(90deg,rgba(8,9,8,.73),rgba(8,9,8,.08) 58%,rgba(8,9,8,.2)),var(--project-image) center/cover; transition:opacity .85s ease,transform 1.15s cubic-bezier(.2,.7,.2,1); pointer-events:none; }
.project-slide.is-active { z-index:1; opacity:1; transform:scale(1); pointer-events:auto; }
.project-slide-copy { position:absolute; z-index:2; left:6%; top:50%; width:min(520px,42%); transform:translateY(-38%); opacity:0; transition:opacity .55s .28s ease,transform .75s .22s cubic-bezier(.2,.7,.2,1); }
.project-slide.is-active .project-slide-copy { opacity:1; transform:translateY(-50%); }
.project-slide-copy>span { font-size:9px; letter-spacing:.2em; text-transform:uppercase; }
.project-slide-copy h3 { margin:18px 0 26px; font-size:clamp(62px,7vw,112px); font-weight:300; line-height:.78; letter-spacing:-.045em; }
.project-slide-copy p { max-width:430px; margin:0; color:rgba(255,255,255,.72); font-size:13px; line-height:1.7; }
.project-thumbs { position:absolute; z-index:4; right:36px; bottom:36px; display:flex; gap:14px; }
.project-thumb { position:relative; width:clamp(78px,8vw,122px); height:clamp(112px,13vw,178px); padding:0; overflow:hidden; border:1px solid rgba(255,255,255,.24); border-radius:2px; background:var(--thumb-image) center/cover; color:white; cursor:pointer; transition:transform .5s cubic-bezier(.2,.7,.2,1),opacity .4s,border-color .4s; opacity:.62; }
.project-thumb:after { content:""; position:absolute; inset:0; background:linear-gradient(0deg,rgba(0,0,0,.58),transparent 60%); }
.project-thumb:before { content:""; position:absolute; z-index:2; left:0; bottom:0; width:0; height:2px; background:white; }
.project-thumb.is-active:before { animation:projectThumbProgress 4.2s linear forwards; }
@keyframes projectThumbProgress { from{width:0} to{width:100%} }
.project-thumb span { position:absolute; z-index:1; left:10px; bottom:9px; font-size:9px; letter-spacing:.15em; }
.project-thumb:hover,.project-thumb.is-active { opacity:1; transform:translateY(-10px); border-color:rgba(255,255,255,.75); }
.project-controls { position:absolute; z-index:5; left:6%; bottom:38px; display:flex; align-items:center; gap:9px; }
.project-controls button { display:grid; place-items:center; width:46px; height:46px; padding:0; border:1px solid rgba(255,255,255,.38); border-radius:50%; background:rgba(255,255,255,.08); color:white; font-size:18px; cursor:pointer; backdrop-filter:blur(12px); transition:.3s; }
.project-controls button:hover { background:white; color:#171815; }
.project-counter { margin-left:14px; color:rgba(255,255,255,.5); font-size:9px; letter-spacing:.18em; }
.project-counter b { color:white; font-weight:400; }
.green-section { display:grid; grid-template-columns:1.15fr .85fr; min-height:100vh; }
.green-visual { position:relative; min-height:760px; background:url('assets/project-05-lobby.jpeg') center/cover; }
.green-video { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:0; transition:opacity .35s ease; }
.green-video.is-trimmed-ready { opacity:1; }
.green-badge { position:absolute; right:-70px; top:80px; display:grid; place-items:center; width:140px; height:140px; border-radius:50%; background:var(--sage); color:white; font-family:'Instrument Serif'; font-size:25px; line-height:.85; text-align:center; transform:rotate(-8deg); }
.green-content { padding:100px 7vw; align-self:center; }
.green-content h2 { margin:65px 0 45px; font-size:clamp(58px,6.4vw,100px); }
.green-content>p { max-width:560px; color:#5f625b; line-height:1.8; }
.green-content ul { list-style:none; padding:40px 0 0; margin:50px 0 0; border-top:1px solid var(--line); }
.green-content li { padding:18px 0; border-bottom:1px solid var(--line); font-size:13px; }
.green-content li span { display:inline-block; width:55px; color:#8c8e86; font-size:9px; }
.statement-section { padding:16vw 5vw; text-align:center; background:#d7d2c6; }
.statement-section p { text-transform:uppercase; letter-spacing:.18em; font-size:10px; line-height:1.7; }
.statement-section h2 { margin:50px 0 0; font-size:clamp(67px,10vw,150px); }
footer { padding:100px 5vw 30px; background:#171815; color:white; }
.footer-top { position:relative; padding-bottom:100px; border-bottom:1px solid rgba(255,255,255,.22); }
.footer-top h2 { font-size:clamp(64px,9vw,140px); }
.circle-link { position:absolute; right:0; bottom:100px; display:grid; place-items:center; width:110px; height:110px; border:1px solid rgba(255,255,255,.45); border-radius:50%; font-size:35px; transition:.35s; }
.circle-link:hover { background:white; color:#171815; transform:rotate(45deg); }
.footer-grid { display:grid; grid-template-columns:repeat(3,1fr); column-gap:6vw; row-gap:55px; padding:60px 0 100px; }
.footer-grid span { color:#777; font-size:9px; text-transform:uppercase; letter-spacing:.18em; }
.footer-grid p { font-size:12px; line-height:1.8; }
.footer-bottom { display:flex; justify-content:space-between; padding-top:24px; border-top:1px solid rgba(255,255,255,.15); color:#777; font-size:9px; text-transform:uppercase; letter-spacing:.12em; }
.contact-dialog { width:min(650px,calc(100vw - 36px)); padding:65px; border:1px solid rgba(255,255,255,.24); border-radius:28px; background:linear-gradient(135deg,rgba(34,36,32,.94),rgba(15,16,14,.9)); color:white; box-shadow:0 35px 100px rgba(0,0,0,.48),inset 0 1px 0 rgba(255,255,255,.18); backdrop-filter:blur(24px) saturate(130%); }
.contact-dialog::backdrop { background:rgba(10,11,9,.58); backdrop-filter:blur(9px); }
.contact-dialog[open] { animation:dialogIn .45s cubic-bezier(.2,.8,.2,1); }
@keyframes dialogIn { from{opacity:0;transform:translateY(24px) scale(.96)} to{opacity:1;transform:none} }
.contact-dialog-close { position:absolute; top:22px; right:22px; display:grid; place-items:center; width:40px; height:40px; border:1px solid rgba(255,255,255,.28); border-radius:50%; background:transparent; color:white; font-size:24px; font-weight:200; cursor:pointer; }
.contact-dialog h2 { margin:25px 0; font-size:clamp(55px,7vw,90px); font-weight:300; line-height:.82; letter-spacing:-.045em; }
.contact-dialog>p { max-width:430px; color:rgba(255,255,255,.68); font-size:14px; line-height:1.7; }
.contact-email { display:flex; justify-content:space-between; gap:25px; margin-top:45px; padding:18px 0; border-top:1px solid rgba(255,255,255,.28); border-bottom:1px solid rgba(255,255,255,.28); font-size:clamp(16px,2vw,23px); }
.contact-phone { margin-top:0; border-top:0; }
.legal-page { min-height:100vh; background:var(--ivory); }
.legal-page .site-header { position:absolute; color:var(--ink); mix-blend-mode:normal; border-bottom:1px solid var(--line); }
.legal-page .brand-logo { filter:none; }
.legal-main { max-width:1100px; margin:0 auto; padding:190px 5vw 120px; }
.legal-back { display:inline-block; margin-bottom:65px; font-size:10px; text-transform:uppercase; letter-spacing:.16em; }
.legal-main h1 { margin:0 0 70px; font-family:'Instrument Serif'; font-size:clamp(70px,11vw,150px); font-weight:400; line-height:.82; }
.legal-layout { display:grid; grid-template-columns:.65fr 1.35fr; gap:8vw; padding-top:40px; border-top:1px solid var(--line); }
.legal-layout>p { margin:0; color:#72746d; font-size:11px; text-transform:uppercase; letter-spacing:.15em; }
.legal-content { max-width:700px; }
.legal-content section { padding:0 0 38px; margin-bottom:38px; border-bottom:1px solid var(--line); }
.legal-content h2 { margin:0 0 16px; font-family:'Instrument Serif'; font-size:32px; font-weight:400; }
.legal-content p,.legal-content li { color:#555852; font-size:14px; line-height:1.8; }
.legal-content ul { padding-left:18px; }
.legal-placeholder { padding:18px 20px; background:#e4dfd3; border-left:3px solid var(--sage); }
.reveal { opacity:0; transform:translateY(45px); transition:opacity .9s,transform .9s; }
.reveal.visible { opacity:1; transform:none; }
@media (max-width:800px) {
  .site-header { grid-template-columns:1fr auto; gap:10px; padding:14px max(16px,env(safe-area-inset-right)) 12px max(16px,env(safe-area-inset-left)); background:linear-gradient(180deg,rgba(0,0,0,.38),transparent); } .brand-logo{width:96px;max-height:48px}
  .mobile-menu-toggle{display:grid;place-content:center;gap:6px;width:46px;height:46px;padding:0;border:1px solid rgba(255,255,255,.28);border-radius:50%;background:linear-gradient(135deg,rgba(255,255,255,.19),rgba(255,255,255,.06));color:inherit;box-shadow:inset 0 1px 0 rgba(255,255,255,.24),0 8px 24px rgba(0,0,0,.12);backdrop-filter:blur(15px) saturate(140%);-webkit-backdrop-filter:blur(15px) saturate(140%)}
  .mobile-menu-toggle span{display:block;width:18px;height:1px;background:currentColor;transition:transform .3s ease}
  .site-header.mobile-menu-open .mobile-menu-toggle span:first-child{transform:translateY(3.5px) rotate(45deg)}.site-header.mobile-menu-open .mobile-menu-toggle span:last-child{transform:translateY(-3.5px) rotate(-45deg)}
  .desktop-nav{position:absolute;top:72px;right:max(16px,env(safe-area-inset-right));display:flex;flex-direction:column;align-items:stretch;width:min(270px,calc(100vw - 32px));gap:0;padding:10px;border-radius:22px;overflow:hidden;font-size:10px;opacity:0;visibility:hidden;transform:translateY(-10px) scale(.97);transform-origin:top right;pointer-events:none;transition:opacity .25s ease,transform .3s ease,visibility .25s;background:linear-gradient(135deg,rgba(38,39,35,.76),rgba(20,21,19,.58));box-shadow:inset 0 1px 0 rgba(255,255,255,.22),0 18px 45px rgba(0,0,0,.25);backdrop-filter:blur(22px) saturate(140%);-webkit-backdrop-filter:blur(22px) saturate(140%);color:white;text-shadow:0 1px 10px rgba(0,0,0,.45)}
  .desktop-nav a{padding:15px 14px;border-bottom:1px solid rgba(255,255,255,.13)}.desktop-nav a:last-child{border-bottom:0}.desktop-nav a:after{display:none}
  .site-header.mobile-menu-open .desktop-nav{opacity:1;visibility:visible;transform:none;pointer-events:auto}.site-header.nav-scrolling:not(.mobile-menu-open) .desktop-nav{opacity:0;transform:translateY(-10px) scale(.97)}
  .scroll-film{height:430vh}.film-sticky{height:100svh}.film-frame,.film-fallback{object-position:center center}
  .hero-copy{left:20px;top:50%;width:calc(100vw - 40px)}.hero-copy h1{font-size:clamp(64px,19vw,104px);line-height:.8}.hero-intro{margin-left:0;width:min(330px,88%);font-size:12px}.film-chapters{display:none}.progress{right:20px;bottom:max(28px,env(safe-area-inset-bottom));width:95px}.scroll-cue{left:20px;bottom:max(26px,env(safe-area-inset-bottom))}.video-note{top:126px;right:16px}
  .intro-section,.projects-section{padding-left:20px;padding-right:20px}.intro-grid,.section-heading,.green-section{grid-template-columns:1fr}.intro-grid{gap:50px;padding:50px 0 80px}.section-heading{gap:25px}.section-heading p{margin-left:30%}
  .project-scroll-stage{height:260vh;margin-left:-20px}.project-slider{height:100svh;min-height:0;transform:none!important;border-radius:0!important;will-change:auto}.project-slide{background-position:center;transform:translateZ(0) scale(1.02);backface-visibility:hidden;transition:opacity .5s ease,transform .7s ease}.project-slide.is-active{transform:translateZ(0) scale(1)}.project-slide-copy{left:24px;top:40%;width:calc(100% - 48px)}.project-slide-copy h3{font-size:clamp(49px,15vw,70px)}.project-slide-copy p{max-width:95%;font-size:12px}.project-thumbs{right:auto;left:24px;bottom:96px;width:calc(100% - 48px);gap:9px;overflow-x:auto;padding-top:12px;scrollbar-width:none}.project-thumbs::-webkit-scrollbar{display:none}.project-thumb{flex:0 0 68px;width:68px;height:92px}.project-controls{left:24px;bottom:max(24px,env(safe-area-inset-bottom))}.project-controls button{width:44px;height:44px}
  .green-visual{min-height:65vh}.green-badge{right:20px;top:20px;width:110px;height:110px}.green-content{padding:80px 20px}.footer-grid{grid-template-columns:1fr 1fr}.circle-link{position:static;width:80px;height:80px;margin-top:40px}.footer-top{padding-bottom:70px}.footer-bottom{gap:20px}
  .legal-main{padding:130px 20px 80px}.legal-layout{grid-template-columns:1fr;gap:35px}.legal-page .site-header{background:linear-gradient(180deg,rgba(242,240,233,.98),rgba(242,240,233,.82),transparent)}.legal-page .mobile-menu-toggle{border-color:rgba(28,29,26,.2);background:rgba(255,255,255,.45)}.contact-dialog{padding:58px 26px 35px;border-radius:22px}
}
@media (max-width:560px) {
  .site-header{padding-top:max(10px,env(safe-area-inset-top))}.brand-logo{width:90px}.desktop-nav{gap:15px;font-size:7.5px;letter-spacing:.11em}
  .intro-section{padding-top:105px}.intro-grid h2{font-size:clamp(54px,16vw,76px)}.intro-copy .lead{font-size:20px}.section-heading{margin-bottom:55px}.section-heading h2{font-size:clamp(54px,15vw,76px)}.section-heading p{margin-left:0;max-width:310px}
  .projects-section{padding-top:100px;padding-bottom:100px}.project-slide-copy{top:37%}.project-slide-copy p{line-height:1.55}.project-thumbs{bottom:92px}
  .green-section{min-height:0}.green-visual{min-height:56svh}.green-content{padding:70px 20px}.green-content h2{margin:45px 0 32px;font-size:clamp(54px,16vw,78px)}.green-content ul{margin-top:36px;padding-top:25px}
  footer{padding:80px 20px 26px}.footer-top h2{font-size:clamp(55px,16vw,78px)}.footer-grid{grid-template-columns:1fr;row-gap:34px;padding:48px 0 65px}.footer-bottom{flex-direction:column;align-items:flex-start}.contact-dialog{width:calc(100vw - 24px);padding:52px 20px 28px}.contact-dialog h2{font-size:clamp(50px,15vw,68px)}.contact-email{font-size:14px;overflow-wrap:anywhere}
}
@media (prefers-reduced-motion:reduce) { *{scroll-behavior:auto!important;animation:none!important;transition:none!important}.scroll-film{height:100vh} }
@media (prefers-reduced-motion:reduce) {
  .hero-copy .eyebrow,.hero-copy h1,.hero-copy .hero-intro,.film-chapters,.scroll-cue { opacity:1; transform:none; filter:none; }
}
