/* Approved editorial direction. Home visual behaviour remains in styles.css. */
.dir-page{--bg:#f1efe9;--paper:#202520;--muted:#586056;--line:#20252030;background:var(--bg);color:var(--paper);font-family:ShermanHaas,'Helvetica Neue',Helvetica,Arial,sans-serif;line-height:1.5}
.dir-page *{box-sizing:border-box}.dir-page img{display:block;width:100%;height:100%;object-fit:cover}.dir-page figure{margin:0}.dir-page h1,.dir-page h2{font-weight:400;letter-spacing:-.055em;line-height:1.02;margin:24px 0}.dir-page h1{font-size:clamp(48px,7vw,106px)}.dir-page h2{font-size:clamp(34px,4.4vw,68px)}.dir-page p{max-width:560px;font-size:17px;line-height:1.65}.dir-page a{color:inherit}.dir-page figcaption{font-size:11px;line-height:1.5;padding-top:12px;color:#586056}.dir-kicker{font-size:10px;text-transform:uppercase;letter-spacing:.13em}.dir-note,.dir-page p.dir-note{font-size:13px;color:#586056;line-height:1.65}.dir-link{display:inline-flex;align-items:center;gap:36px;padding:14px 0;border-bottom:1px solid currentColor;font-size:13px;text-decoration:none;margin:14px 16px 14px 0}.dir-link:focus-visible,.dir-header a:focus-visible{outline:2px solid currentColor;outline-offset:6px}.dir-link span{transition:translate .3s}.dir-link:hover span{translate:3px -3px}.dir-skip{position:fixed;top:-100px;left:20px;z-index:1000;background:#f1efe9;padding:14px}.dir-skip:focus{top:0}
.dir-header{position:sticky;top:0;z-index:10;background:#f1efe9ed;backdrop-filter:blur(12px);padding:20px 4%;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #20252025}.dir-brand{display:flex;gap:16px;text-decoration:none;align-items:center;font-size:16px;letter-spacing:.09em}.dir-brand svg{width:24px;height:32px}.dir-brand small{display:block;font-size:8px;letter-spacing:.3em}.dir-header nav{display:flex;gap:24px;font-size:12px}.dir-header nav a{padding:10px 0;text-decoration:none}.dir-heading{padding:90px 7% 60px}.dir-banner{margin:0 7%!important}.dir-banner img{height:390px}.dir-service-list{padding:60px 7%}.dir-service{display:grid;grid-template-columns:1.2fr 1fr;gap:12%;padding:55px 0;border-top:1px solid #20252035;scroll-margin-top:110px}.dir-service h2{font-size:clamp(30px,3.5vw,52px)}.dir-service .dir-statement{font-size:21px}.dir-close{padding:80px 7%;background:#202b24;color:#f1efe9}.dir-close h2{max-width:850px}.dir-footer{padding:35px 7%;display:flex;justify-content:space-between;gap:20px;font-size:10px;border-top:1px solid #20252030}
.dir-case-hero{display:grid;grid-template-columns:1fr 1.15fr;min-height:70svh;gap:6%;padding:65px 4% 0 7%;align-items:center}.dir-case-hero>img{max-height:700px;aspect-ratio:4/5}.dir-disclaimer{padding:12px 7%;font-size:11px!important;max-width:none!important}.dir-editorial{display:grid;grid-template-columns:1fr 1.25fr;align-items:center;gap:10%;padding:90px 7%;scroll-margin-top:90px}.dir-editorial figure img{aspect-ratio:4/3}.dir-editorial.reverse{direction:rtl}.dir-editorial.reverse>*{direction:ltr}.dir-method{padding:90px 16%;background:#e8e7df;scroll-margin-top:90px}.dir-method p{max-width:680px}.dir-studio{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:8%;padding:60px 7% 100px}.dir-portrait{position:relative;height:680px;isolation:isolate;overflow:hidden}.dir-portrait>span{position:absolute;inset:0;font-size:clamp(180px,31vw,480px);line-height:1.2;color:#c4c7ba;letter-spacing:-.1em;z-index:-1}.dir-portrait img{object-fit:contain;object-position:bottom}.dir-contact{display:grid;grid-template-columns:1fr 1.05fr;gap:8%;padding:80px 7%;align-items:start;scroll-margin-top:90px}.dir-contact h1{font-size:clamp(43px,5.5vw,80px)}.dir-contact figure{max-width:380px;margin-top:40px}.dir-contact figure img{aspect-ratio:4/3}.dir-form{padding:32px;background:#e8e7df;border-top:1px solid #20252040}.dir-page .dir-prototype{font-size:11px;color:#586056}.dir-fields{display:grid;grid-template-columns:1fr 1fr;gap:26px 20px;margin:30px 0}.dir-fields label{font-size:12px}.dir-fields input,.dir-fields select,.dir-fields textarea{display:block;border:0;border-bottom:1px solid #20252070;padding:14px 0;background:transparent;width:100%;color:#202520;font:inherit;border-radius:0;opacity:1}.dir-fields .wide{grid-column:1/-1}.dir-form button{padding:16px 22px;border:0;background:#202b24;color:#f1efe9;font:inherit;font-size:13px;opacity:1}.dir-home-services{display:grid;grid-template-columns:1fr 1.3fr;gap:8%;padding:90px var(--pad);background:#e8e7df;color:#202520}.dir-home-services h2{font-size:clamp(36px,5vw,76px);font-weight:400;letter-spacing:-.045em;line-height:1.03;margin:25px 0}.dir-home-services p{font-size:16px;line-height:1.6}.dir-home-services>div:last-child>a{display:flex;align-items:center;gap:20px;border-top:1px solid #20252035;padding:26px 0;font-size:clamp(22px,2.5vw,38px);letter-spacing:-.035em;text-decoration:none;color:inherit}.dir-home-services small{font-size:10px;letter-spacing:0}.dir-home-services>div:last-child>a>span:last-child{margin-left:auto;font-size:20px}
@media(max-width:900px){.dir-header nav{gap:14px}.dir-case-hero{gap:4%}.dir-contact{gap:5%;padding-inline:5%}.dir-form{padding:22px}.dir-fields{grid-template-columns:1fr}.dir-portrait{height:500px}}
@media(max-width:600px){.dir-header{padding:15px 5%;align-items:center}.dir-brand span{display:none}.dir-header nav{gap:14px;font-size:11px}.dir-heading{padding:55px 6% 35px}.dir-page h1{font-size:50px}.dir-page p{font-size:16px}.dir-banner{margin-inline:6%!important}.dir-banner img{height:auto;aspect-ratio:4/3}.dir-service-list{padding:35px 6%}.dir-service{grid-template-columns:1fr;gap:10px;padding:35px 0}.dir-service h2{margin:15px 0}.dir-case-hero{grid-template-columns:1fr;padding:45px 6% 0;gap:25px;min-height:0}.dir-case-hero>img{aspect-ratio:4/3;height:auto}.dir-editorial,.dir-contact,.dir-studio{grid-template-columns:1fr;gap:30px;padding:50px 6%}.dir-editorial.reverse{direction:ltr}.dir-editorial figure img{height:auto}.dir-method,.dir-close{padding:55px 6%}.dir-portrait{height:440px;max-width:360px;width:100%;margin:auto}.dir-portrait>span{font-size:300px}.dir-studio>div:last-child{grid-row:1}.dir-contact figure{display:none}.dir-fields{gap:20px}.dir-footer{display:block;padding:28px 6%}.dir-footer span{display:block;margin:8px 0}.dir-home-services{grid-template-columns:1fr;padding:55px 6%;gap:25px}.dir-home-services>div:last-child>a{font-size:25px}.dir-page h2{font-size:38px}}
@media(prefers-reduced-motion:reduce){.dir-link span{transition:none}}
.dir-header nav a{min-height:44px;display:flex;align-items:center}.dir-page p+p{margin-top:14px}
.b-credit{font-size:14px!important;border-top:1px solid #20252030;padding-top:20px}.b-credit small{font-size:11px}.b-method article{display:grid;grid-template-columns:40px 1fr;gap:20px;border-top:1px solid #20252035;padding:24px 0}.b-method article>span{font-size:11px}.b-method h3{font-size:25px;font-weight:400;letter-spacing:-.025em;margin:0}.b-method p{margin:12px 0 0}.b-dossier{padding:80px 7%;display:grid;grid-template-columns:1fr 1fr;gap:8%}.b-sheet{background:#e8e7df;border-top:1px solid #20252070;padding:28px}.b-sheet>div{padding:18px 0;border-bottom:1px solid #20252025}.b-sheet small{font-size:11px;color:#586056}.b-sheet p{font-size:15px;margin:8px 0}.b-manifesto{padding:70px 16%}.b-manifesto details{border-block:1px solid #20252030;padding:20px 0;margin-top:30px}.b-manifesto summary{cursor:pointer;font-size:14px;min-height:44px;display:list-item;align-content:center}.b-manifesto details[open] p{margin-top:20px}.b-audience{display:flex;gap:26px;margin-bottom:35px;font-size:13px}.b-audience a{min-height:44px;align-content:center}.b-light-note{color:#d1d4c9;font-size:13px!important}.dir-home-services>div:last-child>p{font-size:13px;margin:0 0 20px}.dir-home-services{padding-block:55px}.b-logistics h2{font-size:clamp(32px,3.7vw,56px)}@media(max-width:600px){.b-dossier{grid-template-columns:1fr;padding:50px 6%;gap:25px}.b-manifesto{padding:50px 6%}.b-sheet{padding:22px}.b-method article{grid-template-columns:25px 1fr;gap:12px}.b-audience{gap:20px}}

@font-face{font-family:ShermanHaas;src:local('Neue Haas Grotesk Display Pro'),local('Neue Haas Grotesk Display');font-weight:100 900;font-display:swap}
.dir-page{margin:0}.dir-page button,.dir-page input,.dir-page select,.dir-page textarea{font:inherit}.dir-page :focus-visible{outline:2px solid currentColor;outline-offset:5px}.dir-page main{overflow:clip}.dir-page .analytics-choice p{color:#f1efe9;font-size:14px}.dir-form .sprint-form{margin:0;padding:0;border:0}.dir-page .sprint-footer{font-size:12px}.dir-page .b-manifesto details p{padding:0;color:inherit}.dir-page .dir-close p{color:inherit}.dir-page .dir-close .b-light-note{color:#d1d4c9}.dir-page a{overflow-wrap:anywhere}.dir-page .dir-header a{overflow-wrap:normal}.dir-page .dir-contact>div{min-width:0}.dir-page .sprint-form iframe{max-width:100%}
@media(max-width:380px){.dir-header nav{gap:9px;font-size:10px}.dir-header{padding-inline:4%}.dir-page h1{font-size:44px}}
.dir-page section[id]{scroll-margin-top:100px}
/* Editorial navigation and journal: same palette, explicit destinations. */
.mobile-nav.editorial-menu{width:min(720px,calc(100% - 32px));padding:28px 32px;gap:28px;overscroll-behavior:contain}
.mobile-nav.editorial-menu:not([hidden]){display:grid;grid-template-columns:1fr 1fr}
.menu-caption{font-size:9px;line-height:1.5;letter-spacing:.12em;text-transform:uppercase;color:#bdc5b7;margin-bottom:12px}
.menu-group>a{display:block;border-top:1px solid #ffffff24;padding:13px 0;color:#f1efe9;font-size:25px;line-height:1.15;letter-spacing:-.035em}
.menu-group>a small{display:block;font-size:10px;letter-spacing:.015em;color:#bdc5b7;margin-top:6px}
.menu-group>a:hover{color:#cad6bf}.menu-utility{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:8px 24px;border-top:1px solid #ffffff30;padding-top:14px}.menu-utility>a,.menu-utility .motion-settings{font-size:12px;line-height:1.5;min-height:44px;display:flex;align-items:center;color:#f1efe9;margin:0;padding:0}.menu-utility .motion-settings{flex-basis:100%;color:#bdc5b7;text-align:left}
.section-context{display:flex;flex-direction:column;gap:10px;align-items:flex-end}.section-more{display:flex;align-items:center;gap:12px;min-height:32px;font-size:11px;line-height:1.5;letter-spacing:0;text-transform:none;text-decoration:underline;text-decoration-color:currentColor;text-underline-offset:5px;opacity:.85}.section-more:hover{opacity:1}.practice-top .section-more{margin-top:10px;font-size:11px}
.journal-disclosure{font-size:12px;line-height:1.6;color:#586056;max-width:720px;margin:0 0 26px}.journal .editorial-post{position:relative}.editorial-post .post-status{position:absolute;top:53px;left:26px;font-size:10px;letter-spacing:.02em;color:#fff;opacity:.85}.editorial-post:after{background:linear-gradient(180deg,#111c22c2,transparent 42%,#101b16e8)}.editorial-post .post-foot{display:flex;justify-content:space-between;gap:12px;font-size:10px}.journal-media p{font-size:12px;color:#586056;margin-top:12px}.journal-media .text-link{margin-top:8px}.journal-heading>p{max-width:380px}
@media(max-width:600px){.mobile-nav.editorial-menu{padding:22px;gap:20px}.menu-group>a{font-size:20px;padding:12px 0}.menu-caption{font-size:8px;min-height:24px}.menu-group>a small{font-size:9px}.menu-utility{gap:4px 18px}.section-label{flex-wrap:wrap;gap:14px}.section-context{align-items:flex-start;text-align:left}.studio .section-context,.process-atlas .section-context{align-items:center}.editorial-post .post-status{left:20px;top:48px}.journal-disclosure{font-size:11px}.journal-heading h2{max-width:100%}.journal-bottom{gap:24px;flex-wrap:wrap}}
@media(max-width:360px){.mobile-nav.editorial-menu{gap:14px;padding:18px}.menu-group>a{font-size:18px}}
.philosophy .section-label .section-context{display:flex}
.philosophy .section-label span.section-context{display:flex}
