/* Shared typography, composition and motion for every Field One page. */
:root{--gutter:clamp(24px,6vw,96px);--frame:#292d30;--frame-ink:#fff;--signal:#f1dcbf;--ease:cubic-bezier(.22,.8,.2,1);--line-normal:1.5;--line-loose:1.5}
body{font-size:1.125rem;line-height:1.5;color:#242729}
.wrap{width:100%;max-width:1440px;padding-inline:var(--gutter)}
a,button,summary{-webkit-tap-highlight-color:transparent}button{font-family:inherit}
:focus-visible{outline:2px solid #a47a42;outline-offset:5px}
.field-hero{position:relative;isolation:isolate;background:var(--frame);color:#fff;padding:0 var(--gutter) 28px;overflow:clip;min-height:100svh;display:flex;flex-direction:column;gap:clamp(24px,4vw,56px)}
.field-header{display:flex;justify-content:space-between;align-items:center;gap:32px;padding-top:28px;position:relative;z-index:10}
.field-header .logo-slot{width:80px;margin:0;flex-shrink:0;filter:brightness(0) invert(1);transition:transform .4s var(--ease)}
.field-header .logo-slot:hover{transform:rotate(-6deg)}
.field-header .menu-bar,.field-header .menu-bar .wrap{padding:0;margin:0;border:0;width:auto}
.field-header .menu-dropdown,.field-header .menu-dropdown.open{position:static;display:flex;flex-direction:row;gap:28px;align-items:center;width:auto;max-width:none;max-height:none;opacity:1;overflow:visible;padding:0;margin:0;transform:none;border:0;background:none}
.field-header .menu-dropdown a{width:auto;color:#fff;font-size:1rem;white-space:nowrap;padding:10px 0;border:0}
.field-header .menu-toggle{display:none}
.field-heading{position:relative;z-index:2;width:100%;padding-top:12px;will-change:transform}
.field-heading .eyebrow{color:var(--signal);font-size:.875rem;line-height:1.4;margin:0 0 20px}
.field-heading h1{font:500 clamp(3rem,6.5vw,7rem)/1.04 var(--font-body);letter-spacing:-.035em!important;max-width:23ch;text-wrap:balance;margin:0;color:#fff}
.field-stage{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);align-items:center;gap:clamp(36px,7vw,110px);padding-bottom:12px;flex:1}
.field-media{position:relative;aspect-ratio:1.8;overflow:hidden;transform:translate3d(var(--pointer-x,0px),var(--media-y,0px),0) rotate(var(--media-rotate,0deg));transform-origin:50% 50%;will-change:transform;clip-path:inset(0 var(--media-crop,0%) 0 0);background:#222;}
.field-media video{display:block!important;position:static!important;width:100%!important;height:100%!important;object-fit:cover!important;opacity:1!important;transform:scale(1.06) translateY(var(--video-y,0px))!important;clip-path:none!important;transition:none!important}
.field-intro{position:relative;z-index:2;max-width:54ch}
.field-intro p,.field-intro p.intro,.field-intro p.hero-sub{font-size:clamp(1.125rem,1.55vw,1.5rem);line-height:1.5;color:#f3f3ef;margin:0;max-width:54ch}
.field-intro p+p{margin-top:20px}.field-intro .tagline{font-size:clamp(1.5rem,3vw,3rem);line-height:1.12;font-style:normal}
.field-intro .byline{font-size:.875rem;line-height:1.5;color:#c3c9c8}
.field-foot{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-top:auto;position:relative;z-index:2;padding-top:16px}
.field-foot .hero-brand-tagline,.field-foot .location,.field-foot .vh-credit{position:static;color:#dbe0df;font-size:.75rem;line-height:1.4;margin:0;max-width:none;opacity:1;text-transform:uppercase}
.field-foot .location,.field-foot .vh-credit{text-align:right;max-width:30ch}.field-foot .hero-brand-tagline span{display:block}
.text-hero .field-stage{display:block;align-self:flex-end;width:min(70%,850px)}
.text-hero .field-intro{max-width:65ch}.text-hero .field-heading h1{max-width:20ch}
section:not(.field-hero):not(.hero):not(.vh-hero):not(.page-hero),.panel,.dark-panel{padding-block:clamp(64px,7vw,112px)}
h2.fo-h2,.humane-teaser h2,.closing-statement p{font-size:clamp(2rem,3.5vw,3.75rem);font-weight:500;line-height:1.12;letter-spacing:-.025em!important;max-width:26ch}
.lede{font-size:clamp(1.4rem,2.5vw,2.5rem);line-height:1.28;max-width:38ch}
.section-eyebrow{font-size:.875rem;line-height:1.4;margin-bottom:28px}
.content p:not(.lede),section .wrap>p:not(.lede),.phase p,.item p,.fm-copy,.fm-meta li,.partner-body p,.partner-body li,.field-detail p,.fc-row p,.hbd-principle-row p,.decision-item p,.work-block p{font-size:1.125rem;line-height:1.55}
.fm-desc,.partner-area,.jo-desc,.collab-partner{font-size:1rem;line-height:1.45;color:#555d5d;font-style:normal}
.phase-meta,.item .who,.item .meta,.phase .deliv,.jo-status,.fm-num,.fm-meta h4,.partner-body h4{font-size:.875rem;line-height:1.45}
.fm-title,.jo-title,.partner-logo,.field-disclosure strong{font-size:clamp(1.5rem,2.8vw,2.5rem);font-weight:500;line-height:1.15;letter-spacing:-.02em!important}
.fm-row summary{padding:28px 0;gap:24px}.fm-title-wrap{display:grid;gap:8px}.fm-toggle{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid #9aa4a0;border-radius:50%;transition:transform .4s var(--ease),background .3s}
.fm-row[open] .fm-toggle{transform:rotate(45deg);background:var(--signal);color:#242729}
.fm-row summary:hover,.field-disclosure summary:hover,.partner-field summary:hover{background:#292d30;color:#fff;transform:none}
summary:hover .fm-desc,summary:hover .fm-num,summary:hover .partner-area,summary:hover .collab-partner,summary:hover .jo-status{color:#e4e8e5}
.fm-body{padding-top:20px;padding-bottom:32px}.fm-body-grid{gap:48px}
.partner-field[open] .partner-body,.partner-field[open] .partner-area{color:#fff}
.about-block{min-height:0!important;padding:0!important;grid-template-columns:var(--gutter) 1fr}
.about-block .content{padding:clamp(64px,7vw,112px) var(--gutter) clamp(64px,7vw,112px) 32px;gap:28px}
.about-block .vside{border-right-width:1px}.about-block .vside span{font-size:1rem}
/* Contact is one quiet, consistently sized row. */
.contact-block{height:40px!important;min-height:0!important;max-height:40px!important;padding:0!important;display:block;background:#292d30;color:#fff;overflow:hidden}
.contact-block .wrap{height:40px;display:flex;align-items:center;gap:24px}
.contact-block h2.fo-h2{font-size:.875rem;line-height:1;margin:0;font-weight:500;letter-spacing:0!important;flex:0 0 auto}
.contact-block .wrap>p{font-size:.875rem;line-height:1.2;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#c9cecb;max-width:none;flex:1}
.contact-block a.mail,.contact-block .cta-button{width:auto;height:30px;min-height:0;flex:0 0 auto;margin:0 0 0 auto;padding:0 14px;border-radius:2px;font-size:.875rem;line-height:1;font-weight:600;background:#f1dcbf;transform:none;text-transform:none}
.contact-block a.mail:hover,.contact-block .cta-button:hover{background:#fff;transform:none}
.modal-submit{width:auto;height:auto;min-height:44px;padding:12px 24px;border-radius:2px;font-size:1rem;transform:none}.modal-card{line-height:1.5}
.site-footer{padding:18px 0}.footer-tagline{font-size:.875rem;line-height:1.5;max-width:85ch}
.reveal-section{opacity:1;transform:none}.motion-ready .motion-item{transition:opacity .7s ease,transform .9s var(--ease);transition-delay:var(--stagger,0ms)}
.motion-ready .motion-item.is-waiting{opacity:0;transform:translateY(36px)}
.reading-progress{position:fixed;top:0;left:0;width:100%;height:3px;z-index:100;background:var(--signal);transform:scaleX(var(--progress,0));transform-origin:left;pointer-events:none}
@media(max-width:760px){
 .field-hero{gap:28px;padding-bottom:24px;min-height:100svh}.field-header{padding-top:20px;align-items:flex-start}.field-header .logo-slot{width:64px}
 .field-header .menu-toggle{display:flex;padding:12px;width:44px;height:44px;justify-content:center}.field-header .menu-toggle span{background:#fff}
 .field-header .menu-dropdown{display:none}.field-header .menu-dropdown.open{display:flex;position:absolute;right:0;top:76px;flex-direction:column;align-items:stretch;gap:0;padding:16px 24px;background:#292d30;border:1px solid #737c7c;width:min(300px,85vw);box-shadow:0 16px 30px #0005}
 .field-header .menu-dropdown a{padding:12px 0;text-align:left}
 .field-heading{padding-top:16px}.field-heading h1{font-size:clamp(2.6rem,8.5vw,4rem);max-width:22ch;line-height:1.06}
 .field-stage{grid-template-columns:1fr;gap:28px}.field-media{aspect-ratio:1.65;transform:none;clip-path:none}.field-intro{max-width:52ch}
 .field-intro p,.field-intro p.intro,.field-intro p.hero-sub{font-size:1.125rem;line-height:1.45}
 .field-foot{align-items:flex-start;gap:20px;flex-wrap:wrap}.field-foot .hero-brand-tagline,.field-foot .location,.field-foot .vh-credit{font-size:.75rem;text-align:left}
 .text-hero .field-stage{width:100%}.field-heading .eyebrow{margin-bottom:16px}
 .contact-block .wrap>p{display:none}.contact-block .wrap{gap:12px}
 .fm-row summary{gap:12px;grid-template-columns:28px 1fr 32px}.fm-toggle{width:30px;height:30px}
 .about-block{grid-template-columns:28px 1fr}.about-block .content{padding:64px 24px}.about-block .vside span{font-size:.875rem}
 .field-disclosure summary{gap:12px}.field-disclosure strong{font-size:1.5rem}.jo-status{font-size:.875rem}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.motion-ready .motion-item.is-waiting{opacity:1;transform:none}.field-media,.field-heading,.field-media video{transform:none!important;clip-path:none!important}.reading-progress{display:none}}
section.field-hero{padding-top:0!important;padding-bottom:28px!important}
@media(max-width:760px){section.field-hero{padding-bottom:24px!important}}
.dark-panel a,.field-check a{color:#f1dcbf}.modal-card label{font-size:.875rem;line-height:1.4}.modal-card input,.modal-card textarea{font:400 1rem/1.5 var(--font-body)}
.dark-panel .fo-h2,.panel .fo-h2,.about-block .content h2{font-size:clamp(2rem,3.5vw,3.75rem);line-height:1.12}
.field-header .menu-dropdown a{transition:transform .3s var(--ease)}.field-header .menu-dropdown a:hover{transform:translateY(-3px)}
/* Background-video composition: the entire hero sits over its existing film. */
.field-hero.has-media{gap:clamp(28px,5vh,60px);background:#202625}
.field-hero.has-media .field-media{position:absolute;inset:0;width:100%;height:100%;aspect-ratio:auto;z-index:-2;overflow:hidden;pointer-events:none;transform:none!important;clip-path:none!important;will-change:auto}
.field-hero.has-media .field-media video{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;object-fit:cover!important;transform:none!important;transition:none!important}
.field-hero.has-media::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(90deg,rgba(12,20,19,.75),rgba(12,20,19,.35)),linear-gradient(0deg,rgba(12,20,19,.7),transparent 45%,rgba(12,20,19,.4))}
.field-hero.has-media .field-heading{padding-top:clamp(32px,8vh,100px);will-change:auto;transform:none!important}
.field-hero.has-media .field-stage{display:block;flex:0 0 auto;padding:0;max-width:56ch;width:100%;align-self:flex-start}
.field-hero.has-media .field-intro{max-width:56ch}
.field-hero.has-media .field-foot{padding-top:48px}
.field-hero.has-media .field-intro p,.field-hero.has-media .field-heading h1,.field-hero.has-media .field-foot p{color:#fff}
.partners-more{margin:0}.partners-more .partner-link{margin-top:0;text-decoration:none;border-bottom:1px solid #1f5a45;line-height:1.5;font-size:1.125rem}.partners-more .partner-link:hover{color:#1f5a45}
@media(max-width:760px){.field-hero.has-media{gap:28px}.field-hero.has-media .field-heading{padding-top:36px}.field-hero.has-media .field-foot{padding-top:40px}.field-hero.has-media::after{background:linear-gradient(90deg,rgba(12,20,19,.72),rgba(12,20,19,.5)),linear-gradient(0deg,rgba(12,20,19,.65),transparent 60%)}}
/* Founder: a quiet, wide biographical note rather than another large statement. */
section#founder{padding-block:48px;border-top:1px solid #dce0dd}
#founder .founder-layout{display:grid;grid-template-columns:minmax(150px,.65fr) minmax(0,2.35fr);gap:clamp(28px,4vw,56px);align-items:start;max-width:1400px;margin-inline:auto}
#founder .section-eyebrow{margin-bottom:12px;font-size:.875rem;font-weight:400}
#founder h2.fo-h2{font-size:clamp(1.5rem,2.2vw,2rem);line-height:1.15;font-weight:400;margin:0}
#founder .founder-copy{columns:2;column-gap:36px}
#founder .founder-copy p{font-size:1rem;font-weight:300;line-height:1.5;margin:0 0 14px;max-width:none;break-inside:avoid;color:#353b39}
#founder .founder-copy a{font-weight:400}
@media(max-width:900px){#founder .founder-layout{grid-template-columns:1fr}#founder .founder-copy{columns:2}}
@media(max-width:600px){section#founder{padding-block:36px}#founder .founder-copy{columns:1}#founder .founder-layout{gap:24px}}

/* Restored full-bleed film heroes, shared across every route. */
section.field-hero{position:relative;isolation:isolate;display:flex;flex-direction:column;min-height:88svh;padding:0 var(--gutter) 32px!important;gap:32px;background:#252b2b;color:#fff;overflow:hidden}
.field-hero .field-header{padding-top:26px;min-height:92px;align-items:center}
.field-hero .field-header .logo-slot{width:100px;transform:none}
.field-hero .field-heading{padding-top:clamp(30px,6vh,72px);transform:none!important;will-change:auto}
.field-hero .field-heading h1{font-size:clamp(2.25rem,3.5vw,4rem);line-height:1.12;font-weight:500;max-width:24ch;letter-spacing:-.025em!important;color:#fff}
.field-hero .field-heading .eyebrow{color:#fff;margin-bottom:16px}
.field-hero .field-stage{display:block;flex:1;width:100%;max-width:none;align-self:stretch;padding:0}
.field-hero .field-intro{max-width:60ch}
.field-hero .field-intro p{font-size:clamp(1.125rem,1.4vw,1.375rem);line-height:1.5;color:#fff}
.field-hero .field-intro .tagline{font-size:1.5rem;line-height:1.3}
.field-hero .field-media{position:absolute;inset:0;width:100%;height:100%;aspect-ratio:auto;z-index:-2;pointer-events:none;transform:none!important;clip-path:none!important;will-change:auto}
.field-hero .field-media video{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;object-fit:cover!important;transform:none!important;clip-path:none!important;opacity:1!important}
.field-hero::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(90deg,#10191999,#10191926),linear-gradient(0deg,#101919a6,transparent 65%,#10191966)}
.field-hero .field-foot{margin-top:auto;padding-top:48px;gap:28px;align-items:flex-end}
.field-hero .field-foot p{color:#fff;font-size:.8125rem;line-height:1.5;opacity:1}
.field-hero .field-header a{color:#fff}
@media(max-width:760px){section.field-hero{min-height:90svh;padding-bottom:24px!important;gap:24px}.field-hero .field-header{min-height:76px;padding-top:18px}.field-hero .field-header .logo-slot{width:80px}.field-hero .field-heading{padding-top:24px}.field-hero .field-heading h1{font-size:clamp(2rem,7vw,3rem)}.field-hero .field-foot{padding-top:32px;align-items:flex-start}.field-hero .field-foot p{text-align:left}.field-hero .field-intro p{font-size:1.125rem}}

/* Dusty lilac introduction panel on About. */
.field-hero + .about-block{background:#C3B1C8;}
.field-hero + .about-block .content,.field-hero + .about-block .vside{background:transparent;}

/* Warm gray How I work panel. */
.about-block + .about-block{background:#D4D0C9;}
.about-block + .about-block .content,.about-block + .about-block .vside,.about-block + .about-block .work-block{background:transparent;}

/* Consistent section side labels with lighter tinted backgrounds. */
.about-block .vside,#founder>.vside{display:flex;align-items:flex-end;justify-content:center;padding:32px 0;border-right:1px solid var(--jade);}
.about-block .vside span,#founder>.vside span{writing-mode:vertical-rl;transform:rotate(180deg);text-transform:uppercase;font-size:.875rem;line-height:1.2;font-weight:600;letter-spacing:.08em;white-space:nowrap;}
.field-hero + .about-block .vside{background:#E4DCE6;}
.about-block + .about-block .vside{background:#ECEAE7;}
section#founder{display:grid;grid-template-columns:var(--gutter) minmax(0,1fr);padding:0!important;background:#F0EDE8;}
#founder>.vside{background:#FAF9F7;}
#founder .founder-layout{width:100%;max-width:none;padding:48px var(--gutter) 48px 32px;}
@media(max-width:760px){section#founder{grid-template-columns:28px minmax(0,1fr)}#founder .founder-layout{padding:48px 24px}.about-block .vside,#founder>.vside{padding-block:24px}.about-block .vside span,#founder>.vside span{font-size:.75rem;}}

/* Founder follows the same side-label and full-width content layout. */
section#founder{background:#EEECE8;}
#founder>.vside{background:#F8F7F5;}
#founder .founder-layout{display:flex;flex-direction:column;align-items:stretch;gap:28px;padding:clamp(64px,7vw,112px) var(--gutter) clamp(64px,7vw,112px) 32px;}
#founder h2.fo-h2{font-size:clamp(2rem,3.5vw,3.75rem);font-weight:500;line-height:1.12;max-width:none;}
#founder .founder-copy{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;columns:auto;}
#founder .founder-copy p{font-size:1.125rem;line-height:1.55;font-weight:400;margin:0;}
#founder .founder-copy p:last-child{grid-column:1/-1;}
@media(max-width:760px){#founder .founder-layout{padding:64px 24px;}#founder .founder-copy{grid-template-columns:1fr;gap:24px;}}

/* Twenty percent smaller brand mark and film attribution. */
.field-hero .field-header .logo-slot{width:80px;}
.field-hero .field-foot .vh-credit{font-size:.65rem;}
@media(max-width:760px){.field-hero .field-header .logo-slot{width:64px;}}
