:root{--tone-0:#172923;--tone-1:#203a32;--tone-2:#f7f4ed;--tone-3:#fffdfa;--tone-4:#616b62;--tone-5:#dcded4;--tone-6:#cbdad0;--tone-7:#e9efea;--tone-8:#bd745c;--tone-9:#ebdcc2;--tone-10:#fff;--tone-11:#253d34;--tone-12:#f8efe0;--tone-13:#eed2a0;--tone-14:#69736a;--tone-15:#536057;--tone-16:#e8cc96;--tone-17:#52665a;--tone-18:#d6e0d5;--tone-19:#59675f;--tone-20:#365348;--tone-21:#7d8a80;--tone-22:#ecf0e9;--tone-23:#ece8dd;--tone-24:#a85f4d;--tone-25:#4d5d55;--tone-26:#758077;--tone-27:#a4ada3;--tone-28:#ced4c9;--tone-29:#e7ebe1e8;--tone-30:#947868;--tone-31:#0a1b168a;--tone-32:#8e5c4c;--tone-33:#c8ac8d;--tone-34:#ebeee7;--tone-35:#c0cbbc;--tone-36:#d2dcd1;--tone-37:#879288;--tone-38:#f1f1e9;--tone-39:#e5ebe3;--tone-40:#f1e9df;--tone-41:#e8e9e4;--tone-42:#fffcf0e8;--tone-43:#1a3e36;--tone-44:#356153;--tone-45:#f8efe2;--tone-46:#8eb7a0;--tone-47:#c4d8bc;--tone-48:#d9c4a4;--tone-49:#907d61;--tone-50:#4b4338;--tone-51:#eee1c466;--tone-52:#89988a;--tone-53:#8f5849;--tone-54:#e9e0d0;--tone-55:#71756b;--tone-56:#596259;--tone-57:#8c968d;--tone-58:#889389;--tone-59:#a2614d;--tone-60:#586b60;--tone-61:#e6ebdf;--tone-62:#e4e9e1;--tone-63:#779085;--tone-64:#183b32;--tone-65:#a7bfb4;--tone-66:#e7d9c0;--tone-67:#d8dfde;--tone-68:#e7dfd6;--tone-69:#9a6653;--tone-70:#637067;--tone-71:#e0e5dd;--tone-72:#d9ddd4;--tone-73:#6a746e;--tone-74:#a6634d;--tone-75:#ae8b75;--tone-76:#829087;--tone-77:#e6eadf;--tone-78:#a7b0a7;--tone-79:#9e684d;--tone-80:#728275;--tone-81:#d2b89e;--tone-82:#c0cfc3;--tone-83:#f1ebe1;--tone-84:#b4c5ba;--tone-85:#476155;--tone-86:#aebfb1;--tone-87:#17292316;}

html[data-palette="slate"]{--tone-0:#2B2D2F;--tone-1:#2B2D2F;--tone-2:#F6F3EE;--tone-3:#FFFDF9;--tone-4:#64635F;--tone-5:#DBD6CD;--tone-6:#DBD6CD;--tone-7:#E9E6DF;--tone-8:#925840;--tone-9:#E9D7C8;--tone-10:#fff;--tone-11:#2B2D2F;--tone-12:#F6F3EE;--tone-13:#E9D7C8;--tone-14:#69736a;--tone-15:#64635F;--tone-16:#dbb8a3;--tone-17:#64635F;--tone-18:#E9E6DF;--tone-19:#64635F;--tone-20:#2B2D2F;--tone-21:#7d8a80;--tone-22:#E9E6DF;--tone-23:#E9D7C8;--tone-24:#9f7256;--tone-25:#64635F;--tone-26:#758077;--tone-27:#a4ada3;--tone-28:#ceccc8;--tone-29:#e4e3e0e8;--tone-30:#977865;--tone-31:#1413118a;--tone-32:#8a6650;--tone-33:#c3a592;--tone-34:#F6F3EE;--tone-35:#c7c5c0;--tone-36:#E9E6DF;--tone-37:#879288;--tone-38:#F6F3EE;--tone-39:#E9E6DF;--tone-40:#E9D7C8;--tone-41:#E9E6DF;--tone-42:#fbf7f4e8;--tone-43:#2B2D2F;--tone-44:#64635F;--tone-45:#f5ebe5;--tone-46:#a8a59d;--tone-47:#cdcbc7;--tone-48:#d3b9aa;--tone-49:#917260;--tone-50:#4d3f36;--tone-51:#e8d5ca66;--tone-52:#89988a;--tone-53:#8a654e;--tone-54:#E9D7C8;--tone-55:#71756b;--tone-56:#596259;--tone-57:#8c968d;--tone-58:#889389;--tone-59:#9a6f55;--tone-60:#67645c;--tone-61:#e3e2df;--tone-62:#e3e2df;--tone-63:#8a867d;--tone-64:#2B2D2F;--tone-65:#b7b5af;--tone-66:#E9D7C8;--tone-67:#DBD6CD;--tone-68:#e6ddd7;--tone-69:#956f58;--tone-70:#637067;--tone-71:#dfdedb;--tone-72:#DBD6CD;--tone-73:#6a746e;--tone-74:#9e7155;--tone-75:#ac8b77;--tone-76:#829087;--tone-77:#e3e1df;--tone-78:#a7b0a7;--tone-79:#976d54;--tone-80:#728275;--tone-81:#cdb3a3;--tone-82:#DBD6CD;--tone-83:#efe7e3;--tone-84:#c0beb9;--tone-85:#59564f;--tone-86:#bbb8b2;--tone-87:#22211e16;}
html[data-palette="midnight"]{--tone-0:#24334B;--tone-1:#24334B;--tone-2:#F6F4EF;--tone-3:#FFFEFA;--tone-4:#646B71;--tone-5:#D6DDE0;--tone-6:#D6DDE0;--tone-7:#EAEBE8;--tone-8:#986435;--tone-9:#E9DCC7;--tone-10:#fff;--tone-11:#24334B;--tone-12:#F6F4EF;--tone-13:#E9DCC7;--tone-14:#69736a;--tone-15:#646B71;--tone-16:#dcc3a2;--tone-17:#646B71;--tone-18:#EAEBE8;--tone-19:#646B71;--tone-20:#24334B;--tone-21:#7d8a80;--tone-22:#EAEBE8;--tone-23:#E9DCC7;--tone-24:#a07f55;--tone-25:#646B71;--tone-26:#758077;--tone-27:#a4ada3;--tone-28:#c3c9d3;--tone-29:#dde1e7e8;--tone-30:#988164;--tone-31:#0e11178a;--tone-32:#8b714f;--tone-33:#c4ae91;--tone-34:#F6F4EF;--tone-35:#bac1cd;--tone-36:#EAEBE8;--tone-37:#879288;--tone-38:#F6F4EF;--tone-39:#EAEBE8;--tone-40:#E9DCC7;--tone-41:#EAEBE8;--tone-42:#fbf8f4e8;--tone-43:#24334B;--tone-44:#646B71;--tone-45:#f5eee5;--tone-46:#929eb3;--tone-47:#c0c7d4;--tone-48:#d4c1a9;--tone-49:#927c5f;--tone-50:#4e4335;--tone-51:#e8dbca66;--tone-52:#89988a;--tone-53:#8b704d;--tone-54:#E9DCC7;--tone-55:#71756b;--tone-56:#596259;--tone-57:#8c968d;--tone-58:#889389;--tone-59:#9b7c54;--tone-60:#535e70;--tone-61:#dce0e6;--tone-62:#dce0e6;--tone-63:#717f96;--tone-64:#24334B;--tone-65:#a7b0bf;--tone-66:#E9DCC7;--tone-67:#D6DDE0;--tone-68:#e7e0d6;--tone-69:#977b56;--tone-70:#637067;--tone-71:#d8dce3;--tone-72:#D6DDE0;--tone-73:#6a746e;--tone-74:#9f7e54;--tone-75:#ad9576;--tone-76:#829087;--tone-77:#dbdfe6;--tone-78:#a7b0a7;--tone-79:#987a53;--tone-80:#728275;--tone-81:#cebba2;--tone-82:#D6DDE0;--tone-83:#f0eae2;--tone-84:#b2bac7;--tone-85:#465062;--tone-86:#abb4c2;--tone-87:#1a1e2616;}
html[data-palette="espresso"]{--tone-0:#332B28;--tone-1:#332B28;--tone-2:#F6F2EB;--tone-3:#FFFDF9;--tone-4:#70655E;--tone-5:#DCD5CD;--tone-6:#DCD5CD;--tone-7:#EBE6DF;--tone-8:#955B3C;--tone-9:#E9DBCE;--tone-10:#fff;--tone-11:#332B28;--tone-12:#F6F2EB;--tone-13:#E9DBCE;--tone-14:#69736a;--tone-15:#70655E;--tone-16:#dbb5a3;--tone-17:#70655E;--tone-18:#EBE6DF;--tone-19:#70655E;--tone-20:#332B28;--tone-21:#7d8a80;--tone-22:#EBE6DF;--tone-23:#E9DBCE;--tone-24:#9f6e56;--tone-25:#70655E;--tone-26:#758077;--tone-27:#a4ada3;--tone-28:#cfcac6;--tone-29:#e5e2dfe8;--tone-30:#977665;--tone-31:#1512108a;--tone-32:#8a6350;--tone-33:#c3a292;--tone-34:#F6F2EB;--tone-35:#c9c3be;--tone-36:#EBE6DF;--tone-37:#879288;--tone-38:#F6F2EB;--tone-39:#EBE6DF;--tone-40:#E9DBCE;--tone-41:#EBE6DF;--tone-42:#fbf6f4e8;--tone-43:#332B28;--tone-44:#70655E;--tone-45:#f5eae5;--tone-46:#aba19a;--tone-47:#cfc9c5;--tone-48:#d3b7aa;--tone-49:#917060;--tone-50:#4d3e36;--tone-51:#e8d4ca66;--tone-52:#89988a;--tone-53:#8a624e;--tone-54:#E9DBCE;--tone-55:#71756b;--tone-56:#596259;--tone-57:#8c968d;--tone-58:#889389;--tone-59:#9a6c55;--tone-60:#6a6059;--tone-61:#e4e1de;--tone-62:#e4e1de;--tone-63:#8e8279;--tone-64:#332B28;--tone-65:#bab2ac;--tone-66:#E9DBCE;--tone-67:#DCD5CD;--tone-68:#e6dcd7;--tone-69:#956c58;--tone-70:#637067;--tone-71:#e0ddda;--tone-72:#DCD5CD;--tone-73:#6a746e;--tone-74:#9e6d55;--tone-75:#ac8977;--tone-76:#829087;--tone-77:#e4e0de;--tone-78:#a7b0a7;--tone-79:#976a54;--tone-80:#728275;--tone-81:#cdb1a3;--tone-82:#DCD5CD;--tone-83:#efe7e3;--tone-84:#c2bcb7;--tone-85:#5c534c;--tone-86:#bdb5b0;--tone-87:#231f1d16;}

:root{--ink:var(--tone-0);--ink-2:var(--tone-1);--cream:var(--tone-2);--paper:var(--tone-3);--muted:var(--tone-4);--line:var(--tone-5);--sage:var(--tone-6);--sage-light:var(--tone-7);--clay:var(--tone-8);--ochre:var(--tone-9);--radius:2px;--serif:Georgia,"Times New Roman",serif;--sans:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased}img{display:block;max-width:100%}a{color:inherit;text-decoration:none}button{font:inherit}a:focus-visible,button:focus-visible{outline:3px solid var(--clay);outline-offset:4px}.container{max-width:1360px;margin-inline:auto;padding-inline:clamp(22px,5vw,86px)}.skip-link{position:absolute;left:12px;top:-90px;z-index:99;background:var(--tone-10);padding:12px}.skip-link:focus{top:14px}.site-header{min-height:100px;background:var(--cream);display:flex;align-items:center;justify-content:space-between;padding:12px clamp(22px,5vw,86px);position:relative;z-index:15;border-bottom:1px solid var(--line);gap:24px}.brand{display:flex;gap:14px;align-items:center;flex-shrink:0}.brand-mark{font:700 39px var(--serif);letter-spacing:-.14em;padding-right:.17em}.brand-dot{color:var(--clay)}.brand-name{font-size:14px;letter-spacing:.24em;font-weight:800;line-height:1.25}.brand-name small{display:block;margin-top:5px;font-weight:400;letter-spacing:.04em;color:var(--tone-14);font-size:9px;text-transform:none}.nav-links{display:flex;align-items:center;gap:clamp(12px,1.7vw,26px)}.nav-links>a{font-size:12px;font-weight:600;color:var(--tone-15);transition:color .2s}.nav-links>a:hover,.nav-links>a.active{color:var(--ink)}.nav-links>a.active:not(.nav-contact):after{content:"";display:block;width:18px;height:2px;background:var(--clay);margin-top:7px;position:absolute}.nav-links .nav-contact{padding:14px 18px;background:var(--ink);color:white;margin-left:10px;white-space:nowrap}.nav-contact span{margin-left:14px;color:var(--tone-16)}.menu-toggle{display:none;background:none;border:0;padding:12px;cursor:pointer}.menu-toggle span{display:block;width:25px;height:2px;margin:5px 0;background:var(--ink)}
.eyebrow{display:flex;align-items:center;gap:12px;font-size:11px;letter-spacing:.19em;font-weight:800;text-transform:uppercase;color:var(--tone-17)}.eyebrow.light{color:var(--tone-18)}.red-dot{width:7px;height:7px;border-radius:50%;display:inline-block;background:var(--clay)}h1,h2,h3,p{margin-top:0}h1,h2{font-family:var(--serif);font-weight:400;letter-spacing:-.057em}h1 em,h2 em,blockquote em{font-weight:400;color:var(--clay)}h1{font-size:clamp(52px,6vw,94px);line-height:1.05}h2{font-size:clamp(40px,4.4vw,68px);line-height:1.07}h3{font-size:25px;line-height:1.23}p{line-height:1.75;color:var(--tone-19);font-size:16px}.btn{display:inline-flex;align-items:center;justify-content:space-between;gap:32px;padding:17px 22px;font-size:12px;font-weight:750;letter-spacing:.02em;transition:background .2s,color .2s,transform .2s;min-height:53px}.btn:hover{transform:translateY(-2px)}.btn-dark{background:var(--ink);color:white}.btn-dark:hover{background:var(--tone-20)}.btn-outline{border:1px solid var(--tone-21);background:transparent;color:var(--ink)}.btn-outline:hover{background:var(--tone-22)}.btn-light{background:var(--tone-23);color:var(--ink)}.btn span{font-size:17px;font-weight:400}.text-link{display:inline-flex;align-items:center;gap:32px;font-size:13px;font-weight:750;border-bottom:1px solid var(--clay);padding-bottom:8px}.text-link span{color:var(--clay);font-size:17px}.text-link:hover{color:var(--tone-24)}
.hero{display:grid;grid-template-columns:52% 48%;min-height:690px;gap:0;padding-top:67px;padding-bottom:75px}.hero-copy{padding-top:42px;padding-right:7%;display:flex;align-items:flex-start;flex-direction:column}.hero h1{max-width:740px;margin:30px 0 30px}.hero-lead{max-width:510px;color:var(--tone-25);font-size:18px;line-height:1.7}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px}.hero-caption{display:flex;align-items:center;gap:20px;margin-top:auto;padding-top:50px;font-size:11px;letter-spacing:.045em;line-height:1.6;color:var(--tone-26)}.caption-line{width:51px;height:1px;background:var(--tone-27)}.hero-visual{position:relative;min-height:610px;margin-top:-5px}.visual-main{position:absolute;top:0;left:10%;width:75%;height:85%;background:var(--tone-28);overflow:hidden}.visual-main>img{width:100%;height:100%;object-fit:cover;object-position:center 27%;filter:saturate(.79)}.image-stamp{position:absolute;bottom:20px;left:20px;background:var(--tone-29);padding:12px 15px;font-size:11px;line-height:1.45;letter-spacing:.13em;font-weight:850}.visual-secondary{position:absolute;right:0;bottom:0;width:52%;height:42%;background:var(--tone-30);border:9px solid var(--cream);overflow:hidden}.secondary-photo{width:100%;height:100%;object-fit:cover;filter:saturate(.75)}.picture-tag{position:absolute;bottom:0;width:100%;left:0;display:flex;justify-content:space-between;padding:11px;color:white;font-size:10px;letter-spacing:.02em;background:var(--tone-31)}.visual-decoration{position:absolute;left:0;bottom:8%;width:130px;height:155px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:var(--tone-32);font-family:var(--serif);font-size:18px;text-align:center;transform:rotate(-8deg)}.decor-circle{display:block;border:1px solid var(--tone-33);border-radius:50%;width:88px;height:88px}.trust-band{background:var(--ink);color:var(--tone-34)}.trust-grid{display:grid;grid-template-columns:180px 1fr;align-items:center;min-height:115px;gap:28px}.trust-heading{font-size:10px;font-weight:800;letter-spacing:.16em;line-height:1.6;color:var(--tone-35)}.trust-names{display:flex;flex-wrap:wrap;gap:28px 43px;align-items:center}.trust-names span{color:var(--tone-36);font-size:17px;letter-spacing:.025em;font-weight:720}.section{padding-top:125px;padding-bottom:125px}.split-intro{display:grid;grid-template-columns:54% 40%;gap:6%;align-items:end;margin-bottom:55px}.split-intro h2{max-width:720px;margin:21px 0 0}.split-intro p{font-size:17px;margin-bottom:30px}.service-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;border:1px solid var(--line)}.service-card{min-height:335px;padding:30px 26px;display:flex;flex-direction:column;justify-content:space-between;border-right:1px solid var(--line);transition:background .2s}.service-card:last-child{border-right:0}.service-card:hover{background:white}.service-num{font-size:12px;color:var(--tone-37)}.service-card h3{font-family:var(--serif);font-weight:400;letter-spacing:-.04em;font-size:29px;line-height:1.16;margin-bottom:15px}.service-card h3 span{color:var(--clay);font:18px var(--sans)}.service-card p{font-size:13px;line-height:1.6;margin:0}.service-a{background:var(--tone-38)}.service-b{background:var(--tone-39)}.service-c{background:var(--tone-40)}.service-d{background:var(--tone-41)}.work-feature{background:var(--sage-light);padding:110px 0 120px}.section-top{margin-bottom:45px}.section-top-row{display:flex;align-items:end;justify-content:space-between;gap:30px}.section-top h2{margin:15px 0 0}.case-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.case-card{background:var(--paper);display:flex;flex-direction:column;min-width:0}.case-art{height:260px;position:relative;overflow:hidden;padding:23px}.case-tag{position:absolute;z-index:2;top:20px;left:20px;font-size:10px;letter-spacing:.11em;background:var(--tone-42);padding:10px;color:var(--ink);font-weight:800}.art-network{background:linear-gradient(155deg,var(--tone-43),var(--tone-44))}.network-art{height:100%;display:flex;align-items:center;justify-content:center;gap:4px;transform:rotate(-10deg)}.network-art b{font-size:15px;color:var(--tone-45);border:1px solid var(--tone-46);padding:13px 8px;font-family:var(--serif);font-weight:400}.network-art i{height:1px;background:var(--tone-47);flex:1;min-width:8px}.art-learning{background:var(--tone-48)}.learning-art{display:flex;justify-content:center;align-items:center;height:100%;gap:6px;transform:rotate(-9deg)}.learning-art span{display:flex;width:100px;height:100px;align-items:center;justify-content:center;border-radius:50%;border:1px solid var(--tone-49);font:italic 22px var(--serif);color:var(--tone-50);margin-left:-30px;background:var(--tone-51)}.learning-art span:first-child{margin-left:0}.art-photo{padding:0}.cover-photo{width:100%;height:100%;object-fit:cover;filter:saturate(.72)}.case-info{padding:29px 27px 30px;flex:1;display:flex;flex-direction:column}.case-info>span:first-child{font-size:10px;font-weight:800;letter-spacing:.12em;color:var(--tone-52)}.case-info h3{font:400 28px/1.19 var(--serif);letter-spacing:-.04em;margin:18px 0 15px}.case-info p{font-size:13px;line-height:1.65}.case-more{margin-top:auto;padding-top:22px;font-size:12px;font-weight:750;color:var(--tone-53)}.statement-section{background:var(--tone-54);padding:120px 0 100px}.statement-grid{display:grid;grid-template-columns:180px 1fr;gap:35px}.statement-overline{font-size:10px;font-weight:800;letter-spacing:.18em;color:var(--tone-55)}.statement-grid blockquote{font:400 clamp(33px,4.7vw,65px)/1.22 var(--serif);letter-spacing:-.05em;margin:0;max-width:1010px}.statement-bottom{grid-column:2;display:flex;justify-content:space-between;gap:30px;align-items:center;margin-top:42px}.statement-bottom>span{font-size:13px;color:var(--tone-56)}.journal-teaser{padding-block:120px}
.page-hero{padding-top:105px;padding-bottom:78px;border-bottom:1px solid var(--line)}.page-hero h1{max-width:1130px;margin:26px 0 45px}.page-hero-lower{display:flex;justify-content:space-between;align-items:end;gap:32px}.page-hero-lower p{max-width:700px;font-size:19px;line-height:1.65;margin:0}.page-hero-lower>span{font-size:10px;letter-spacing:.14em;font-weight:800;white-space:nowrap;color:var(--tone-57)}.service-detail-wrap{padding-top:38px;padding-bottom:105px}.service-detail{display:grid;grid-template-columns:27% 1fr;gap:25px;border-bottom:1px solid var(--line);padding:72px 0 76px;scroll-margin-top:30px}.detail-index,.tiny-label{font-size:11px;letter-spacing:.15em;font-weight:800;color:var(--tone-58)}.service-detail h2{font-size:clamp(37px,4vw,60px);max-width:770px;margin-bottom:24px}.service-detail p{max-width:660px}.service-detail .detail-statement{font-size:21px;font-family:var(--serif);color:var(--tone-59);margin-bottom:16px}.deliverables{font-size:12px;color:var(--tone-60);margin:30px 0 28px;padding:15px 0;border-top:1px solid var(--line);max-width:690px}.soft-panel{background:var(--tone-61);max-width:1188px;display:grid;grid-template-columns:1fr 1fr;gap:30px;padding-block:65px;margin-bottom:100px}.soft-panel h2{font-size:44px;margin:22px 0}.soft-panel p{margin:50px 0 0}
.project-list{padding-bottom:75px}.project{display:grid;grid-template-columns:39% 1fr;gap:7%;padding:95px 0;border-bottom:1px solid var(--line);scroll-margin-top:20px}.project-visual{min-height:360px}.project-thumb,.project-graphic{height:100%;min-height:360px}.project-thumb img{width:100%;height:100%;object-fit:cover}.project-graphic{position:relative;background:var(--tone-62);display:flex;align-items:center;justify-content:center;overflow:hidden}.project-graphic>span{position:absolute;top:22px;left:25px;font:14px var(--sans);color:var(--tone-63)}.project-graphic>strong{font:400 clamp(28px,3vw,44px) var(--serif);letter-spacing:-.04em;color:var(--tone-64);transform:rotate(-12deg);border:1px solid var(--tone-65);padding:24px 15px;border-radius:50%}.graphic-02{background:var(--tone-66)}.graphic-03{background:var(--tone-67)}.graphic-04{background:var(--tone-68)}.project-body h2{font-size:clamp(35px,3.8vw,57px);margin:20px 0}.project-role{font-size:12px;text-transform:uppercase;letter-spacing:.08em;font-weight:800;color:var(--tone-69);display:block;margin-bottom:22px}.project-body p{font-size:16px;max-width:670px}.project-meta{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:26px 0 30px}.project-meta>div{border-top:1px solid var(--line);padding-top:13px;display:flex;flex-direction:column;gap:10px}.project-meta b{font-size:11px;text-transform:uppercase;letter-spacing:.08em}.project-meta span{font-size:13px;color:var(--tone-70);line-height:1.6}.portfolio-gallery{padding-bottom:120px}.portfolio-gallery .section-top-row{margin-bottom:42px}.portfolio-gallery .section-top-row p{max-width:360px}.photo-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:30px}.gallery-item{height:260px;background:var(--tone-71);overflow:hidden}.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .4s}.gallery-item:hover img{transform:scale(1.05)}
.about-grid{display:grid;grid-template-columns:43% 1fr;gap:9%;padding-top:105px;padding-bottom:105px}.about-photo{height:760px;background:var(--tone-72)}.about-photo img{width:100%;height:100%;object-fit:cover;object-position:center top}.about-story{padding-top:22px}.about-story h2{margin:22px 0 30px}.about-story p{font-size:16px}.about-highlight{border-left:3px solid var(--clay);margin:34px 0;padding:15px 20px;font:italic 21px/1.5 var(--serif);color:var(--tone-73)}.about-highlight strong{font-style:normal;color:var(--ink);font-weight:400}.about-principles{padding-block:88px 120px;display:grid;grid-template-columns:38% 1fr;gap:10%;border-top:1px solid var(--line)}.about-principles h2{margin:20px 0}.principles>div{padding:22px 0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:42px 1fr}.principles>div span{font-size:12px;color:var(--tone-74)}.principles h3{font:400 27px var(--serif);grid-column:2;margin:0 0 7px}.principles p{grid-column:2;margin:0;font-size:14px}
.journal-list{padding-top:58px;padding-bottom:110px}.journal-row{padding:34px 0;display:grid;grid-template-columns:76px 1fr 60px;gap:22px;border-bottom:1px solid var(--line);align-items:start;transition:padding-left .2s}.journal-row:hover{padding-left:12px}.journal-index{font-family:var(--serif);font-size:23px;color:var(--tone-75)}.journal-row h2{font-size:clamp(30px,3vw,47px);margin:13px 0 13px;line-height:1.14}.journal-row p{margin:0;font-size:14px}.journal-arrow{font-size:32px;color:var(--clay);justify-self:end}.journal-note{margin-top:30px;font-size:12px;color:var(--tone-76)}.contact-layout{display:grid;grid-template-columns:58% 34%;gap:8%;padding-top:90px;padding-bottom:120px}.contact-card{background:var(--tone-77);padding:clamp(27px,5vw,60px)}.contact-card h2{font-size:clamp(39px,4vw,58px);margin:30px 0 21px}.contact-card p{max-width:520px}.contact-address{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--tone-78);padding:18px 0;margin:35px 0;font:400 clamp(21px,2.3vw,34px) var(--serif);letter-spacing:-.04em;word-break:break-word}.contact-address span{color:var(--tone-79)}.form-note{display:block;margin-top:24px;font-size:11px;line-height:1.6;color:var(--tone-80)}.contact-aside{display:flex;flex-direction:column;gap:52px;padding-top:15px}.contact-aside>div{padding-bottom:22px;border-bottom:1px solid var(--line)}.contact-aside h3{font:400 26px var(--serif);margin:15px 0}.contact-aside p{font-size:14px}
.footer{background:var(--ink);color:var(--tone-34)}.footer-main{display:grid;grid-template-columns:68% 1fr;gap:30px;padding-top:99px;padding-bottom:93px}.footer-main h2{color:var(--tone-10);font-size:clamp(44px,5vw,75px);margin:23px 0 33px}.footer-main h2 em{color:var(--tone-81)}.footer-side{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end;gap:19px}.footer-side p{color:var(--tone-82);font-size:15px}.footer-side a{font-family:var(--serif);font-size:22px;color:var(--tone-83)}.footer-side span{font-size:11px;letter-spacing:.07em;color:var(--tone-84)}.foot-bottom{min-height:65px;border-top:1px solid var(--tone-85);display:flex;align-items:center;justify-content:space-between;gap:10px;color:var(--tone-86);font-size:10px;letter-spacing:.06em}.foot-bottom a{text-decoration:underline}
@media(max-width:1100px){.brand-name small{display:none}.nav-links{gap:11px}.nav-links>a{font-size:11px}.hero{grid-template-columns:1fr 1fr;min-height:650px}.hero h1{font-size:clamp(52px,5.6vw,74px)}.hero-visual{min-height:580px}.visual-main{left:4%;width:82%}.service-card{padding:22px 19px}.service-card h3{font-size:25px}.case-info{padding:23px 20px}.case-info h3{font-size:25px}}
@media(max-width:820px){.site-header{min-height:74px}.menu-toggle{display:block}.nav-links{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:stretch;gap:0;padding:15px 26px 26px;background:var(--cream);border-bottom:1px solid var(--line);box-shadow:0 10px 15px var(--tone-87)}.nav-links.open{display:flex}.nav-links>a{padding:15px 0;font-size:15px}.nav-links .nav-contact{margin:12px 0 0;text-align:center;padding:16px}.nav-links>a.active:not(.nav-contact):after{display:none}.hero{grid-template-columns:1fr;padding-top:48px;padding-bottom:90px}.hero-copy{padding:0}.hero h1{font-size:clamp(50px,9vw,75px);max-width:720px}.hero-caption{margin:15px 0 30px}.hero-visual{min-height:510px;max-width:650px;width:100%}.visual-main{left:10%;width:70%;height:90%}.visual-secondary{width:46%;height:40%}.trust-grid{grid-template-columns:1fr;gap:18px;padding-top:30px;padding-bottom:32px}.trust-names{gap:15px 25px}.trust-names span{font-size:14px}.split-intro,.about-grid,.about-principles,.contact-layout,.soft-panel{grid-template-columns:1fr}.split-intro{gap:15px}.split-intro p{max-width:650px}.service-grid{grid-template-columns:repeat(2,1fr)}.service-card{border-bottom:1px solid var(--line)}.service-card:nth-child(2){border-right:0}.case-grid{grid-template-columns:1fr 1fr}.case-grid .case-card:last-child{grid-column:1/-1}.statement-grid{grid-template-columns:1fr;gap:25px}.statement-bottom{grid-column:1}.project{grid-template-columns:1fr;gap:25px}.project-visual{min-height:320px}.project-thumb,.project-graphic{height:360px;min-height:0}.photo-grid{grid-template-columns:repeat(2,1fr)}.about-photo{max-width:570px;height:680px}.about-principles{gap:25px}.contact-layout{gap:32px}.footer-main{grid-template-columns:1fr}.footer-side{gap:15px}.page-hero-lower{align-items:flex-start}.page-hero-lower>span{display:none}}
@media(max-width:560px){.container{padding-inline:22px}.brand-mark{font-size:33px}.brand-name{font-size:12px}.hero h1{font-size:clamp(49px,12vw,66px);margin-top:22px}.hero-lead{font-size:16px}.hero-actions{flex-direction:column;width:100%}.hero-actions .btn{width:100%}.hero-visual{min-height:390px}.visual-main{left:5%;width:84%;height:85%}.visual-secondary{width:48%;right:0;height:42%}.visual-decoration{display:none}.section{padding-block:80px}.split-intro h2,.section-top h2{font-size:44px}.service-grid,.case-grid{grid-template-columns:1fr}.service-card{min-height:260px;border-right:0}.case-grid .case-card:last-child{grid-column:auto}.section-top-row{align-items:start;flex-direction:column}.work-feature{padding:75px 0}.case-art{height:235px}.statement-section{padding:77px 0}.statement-grid blockquote{font-size:36px}.statement-bottom{align-items:start;flex-direction:column}.page-hero{padding-top:73px;padding-bottom:52px}.page-hero h1{font-size:clamp(49px,11.5vw,66px)}.page-hero-lower p{font-size:16px}.service-detail{grid-template-columns:1fr;padding:48px 0;gap:20px}.service-detail h2{font-size:43px}.soft-panel{margin-inline:22px;padding:35px 25px}.soft-panel h2{font-size:37px}.soft-panel p{margin:0}.project{padding:60px 0}.project-body h2{font-size:43px}.project-meta{grid-template-columns:1fr}.project-thumb,.project-graphic{height:310px}.photo-grid{gap:8px}.gallery-item{height:185px}.about-grid{padding-top:70px;padding-bottom:65px}.about-photo{height:490px}.about-story h2{font-size:45px}.about-principles{padding-top:60px}.journal-row{grid-template-columns:37px 1fr 24px;gap:10px}.journal-row h2{font-size:28px}.journal-arrow{font-size:21px}.contact-layout{padding-top:55px;padding-bottom:75px}.contact-card{padding:31px 24px}.contact-card h2{font-size:43px}.contact-address{font-size:24px}.footer-main{padding-top:65px;padding-bottom:65px}.footer-main h2{font-size:47px}.footer-side a{font-size:19px}.foot-bottom{flex-direction:column;align-items:flex-start;justify-content:center;padding-block:22px;gap:10px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}



























@media(max-width:560px){}

/* Portrait-only homepage styling */
.hero-portrait-only .visual-main{top:0;left:7%;width:88%;height:95%}
@media(max-width:820px){.hero-portrait-only .visual-main{left:7%;width:84%;height:94%}}
@media(max-width:560px){.hero-portrait-only{min-height:425px}.hero-portrait-only .visual-main{left:4%;width:92%;height:96%}}

/* Dedicated photography and film practice page */
.photo-intro{max-width:760px;margin:0 auto 3rem;text-align:center}.photo-intro p{font-size:1.1rem;line-height:1.7}
.photo-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem;margin:2rem 0 3rem}
.photo-gallery figure{margin:0;overflow:hidden;background:var(--tone-7);border-radius:6px}
.photo-gallery img{width:100%;height:380px;object-fit:cover;display:block;transition:transform .4s}
.photo-gallery figure:hover img{transform:scale(1.025)}
.photo-gallery figcaption{font-size:.78rem;padding:12px 14px;color:var(--tone-4)}
.practice-notes{max-width:860px;margin:2rem auto 4rem}.practice-notes p{max-width:660px}
@media(max-width:850px){.photo-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.photo-gallery img{height:300px}}
@media(max-width:550px){.photo-gallery{grid-template-columns:1fr}.photo-gallery img{height:auto;max-height:570px;object-fit:cover}}

/* Expanded photography portfolio: preserve each composition and keep an editorial rhythm. */
.gallery-chapter{margin:2.7rem 0 1.15rem;padding-top:.9rem;border-top:1px solid var(--tone-5);}
.gallery-chapter p{max-width:57ch;margin:.7rem 0 0;color:var(--tone-4);font-size:.98rem;line-height:1.65;}
.photo-gallery.gallery-expanded,.photo-gallery.gallery-archive{display:block;columns:3;column-gap:1.3rem;margin:0 0 3rem;}
.photo-gallery.gallery-expanded figure,.photo-gallery.gallery-archive figure{display:inline-block;width:100%;margin:0 0 1.3rem;break-inside:avoid;-webkit-column-break-inside:avoid;vertical-align:top;}
.photo-gallery.gallery-expanded img,.photo-gallery.gallery-archive img{width:100%;height:auto;max-height:none;object-fit:contain;display:block;}
.photo-gallery.gallery-expanded figcaption,.photo-gallery.gallery-archive figcaption{padding:12px 14px 13px;}
.photo-gallery.gallery-archive{opacity:.94;}
@media(max-width:860px){.photo-gallery.gallery-expanded,.photo-gallery.gallery-archive{columns:2;}}
@media(max-width:560px){.photo-gallery.gallery-expanded,.photo-gallery.gallery-archive{columns:1;}.gallery-chapter{margin-top:2rem;}.photo-gallery.gallery-expanded figure,.photo-gallery.gallery-archive figure{margin-bottom:1rem;}}

/* FEF-OSC flagship case study: restrained editorial presentation within Espresso & Copper */
.fef-page .page-hero { padding-top:86px;padding-bottom:64px; }
.fef-page .page-hero h1 {font-size:clamp(49px,5.8vw,84px);max-width:1120px;}
.fef-page .page-hero-lower {align-items:flex-start;}
.fef-page .page-hero-lower p {font-size:18px;line-height:1.65;max-width:770px;}
.fef-facts {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-bottom:1px solid var(--line);margin-bottom:25px;}
.fef-facts>div {padding:28px 20px 30px 0;display:flex;flex-direction:column;gap:10px;}
.fef-facts>div+div {padding-left:22px;border-left:1px solid var(--line);}
.fef-facts strong {font:400 clamp(28px,3.3vw,51px)/1.05 var(--serif);letter-spacing:-.03em;}
.fef-facts small {font-size:10px;text-transform:uppercase;letter-spacing:.09em;color:var(--muted);line-height:1.5;max-width:200px;}
.fef-context {padding:82px 0 24px;display:grid;grid-template-columns:30% 1fr;gap:9%;}
.fef-context h2 {font-size:clamp(35px,4vw,55px);margin:0 0 15px;}
.fef-context p {font-size:16px;line-height:1.85;margin-bottom:21px;}
.fef-section {padding:76px 0 95px;border-top:1px solid var(--line);}
.fef-section-head {display:flex;align-items:end;justify-content:space-between;gap:25px;margin-bottom:44px;}
.fef-section-head h2 {margin:14px 0 0;font-size:clamp(36px,4.2vw,58px);max-width:770px;}
.fef-section-head p {margin:0;line-height:1.65;max-width:350px;font-size:14px;color:var(--muted);}
.fef-output-row {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;}
.fef-output {display:flex;flex-direction:column;min-width:0;}
.fef-output .fef-cover {padding:17px 24px;background:var(--tone-40);border:1px solid var(--line);height:425px;display:flex;align-items:center;justify-content:center;}
.fef-output .fef-cover img {height:100%;width:100%;object-fit:contain;object-position:center;box-shadow:0 15px 25px #27191127;}
.fef-output h3 {font:400 28px/1.16 var(--serif);letter-spacing:-.035em;margin:22px 0 8px;}
.fef-output p {font-size:13px;line-height:1.65;color:var(--muted);margin:0;}
.fef-output small {display:block;letter-spacing:.11em;font-size:10px;text-transform:uppercase;color:var(--tone-69);font-weight:800;}
.fef-work-panels {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;}
.fef-work-panel {background:var(--tone-40);padding:34px 32px 38px;}
.fef-work-panel h3 {font:400 29px/1.24 var(--serif);letter-spacing:-.035em;margin:17px 0 17px;}
.fef-work-panel p {font-size:14px;line-height:1.8;color:var(--tone-50);margin-bottom:0;}
.fef-work-panel .tiny-label{color:var(--tone-69)}
.fef-photo-pair {display:grid;grid-template-columns:1.25fr 1fr;gap:19px;align-items:start;}
.fef-figure {margin:0;}
.fef-figure img {width:100%;height:auto;object-fit:contain;background:var(--tone-40);border:1px solid var(--line);}
.fef-figure figcaption {font-size:12px;color:var(--muted);line-height:1.65;margin-top:12px;}
.fef-evidence-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;}
.fef-result {border-top:2px solid var(--tone-69);padding-top:20px;}
.fef-result strong {font:400 clamp(34px,4vw,58px)/1 var(--serif);letter-spacing:-.04em;}
.fef-result p {font-size:13px;line-height:1.6;margin:13px 0 8px;}
.fef-result small {color:var(--muted);font-size:11px;line-height:1.45;display:block;}
.fef-quote {background:var(--ink);color:var(--cream);padding:70px 0 80px;}
.fef-quote blockquote {font:400 clamp(32px,4.8vw,58px)/1.2 var(--serif);letter-spacing:-.046em;max-width:1000px;margin:24px 0 0;}
.fef-quote blockquote em {color:var(--tone-16);}
.fef-attribution {background:var(--tone-40);padding:45px 0 52px;border-top:1px solid var(--line);}
.fef-attribution-grid {display:grid;grid-template-columns:30% 1fr;gap:9%;}
.fef-attribution h2 {font-size:32px;}
.fef-attribution p {font-size:13px;line-height:1.8;margin-bottom:11px;}
.fef-return {display:inline-block;padding-top:15px;font-size:13px;color:var(--tone-69);font-weight:700;}
@media(max-width:850px){.fef-context,.fef-attribution-grid{grid-template-columns:1fr;gap:26px}.fef-output-row{grid-template-columns:repeat(2,minmax(0,1fr))}.fef-photo-pair{grid-template-columns:1fr 1fr}.fef-facts{grid-template-columns:repeat(2,1fr)}.fef-facts>div:nth-child(3){border-left:none;padding-left:0}.fef-facts>div:nth-child(n+3){border-top:1px solid var(--line)}.fef-section-head{align-items:flex-start;flex-direction:column}.fef-section-head p{max-width:760px}}
@media(max-width:570px){.fef-page .page-hero{padding-top:64px}.fef-page .page-hero h1{font-size:clamp(44px,10.2vw,62px)}.fef-output-row,.fef-work-panels,.fef-photo-pair,.fef-evidence-grid{grid-template-columns:1fr}.fef-output .fef-cover{height:385px}.fef-work-panel{padding:25px}.fef-facts strong{font-size:38px}.fef-context{padding-top:60px}.fef-section{padding:56px 0 65px}.fef-quote{padding:55px 0 60px}}

.project-visual>a.project-thumb {display:block;height:100%;}


/* Editorial spacing system v1: shared baseline rhythm across every page.
   Label/heading pairs use one 20px interval, including in case studies,
   hero sections, gallery headings, and the footer.  Columns with a small
   section label and explanatory copy align from the top on desktop. */
:root {
  --eyebrow-heading-space: 20px;
  --editorial-column-gap: 28px;
}
.eyebrow + :is(h1, h2, h3, blockquote) {
  margin-top: var(--eyebrow-heading-space);
}
/* Ensure headings with more specific legacy declarations use the same value. */
.fef-page .page-hero .eyebrow + h1,
.fef-section-head .eyebrow + h2,
.fef-context .eyebrow + h2,
.fef-attribution .eyebrow + h2,
.page-hero .eyebrow + h1,
.page-intro .eyebrow + h1,
.practice-notes .eyebrow + h2,
.about-story .eyebrow + h2,
.hero-copy .eyebrow + h1 {
  margin-top: var(--eyebrow-heading-space);
}
/* Alignment applies to text-based editorial columns, not image/CTA layouts. */
.fef-section-head,
.split-intro,
.section-top-row {
  align-items: flex-start;
}
.fef-section-head {
  gap: var(--editorial-column-gap);
}
.fef-section-head > p,
.split-intro > div:last-child > p:first-child,
.section-top-row > p {
  margin-top: 0;
}
/* Smaller labels followed directly by supporting text also follow the rhythm. */
.gallery-chapter .eyebrow + p {
  margin-top: var(--eyebrow-heading-space);
}
@media (max-width: 850px) {
  .fef-section-head {
    gap: 24px;
  }
}

/* Printed-page mockups: full PDF pages instead of isolated infographic crops. */
.fef-figure:has(img.fef-report-page-mockup) {padding:10px 9px 0;min-width:0;}
.fef-figure img.fef-report-page-mockup {
  width:100%;height:auto;display:block;object-fit:contain;
  border:1px solid rgba(75,58,47,.08);
  background:#fff;
  box-shadow:0 20px 42px rgba(51,43,40,.19),0 3px 8px rgba(51,43,40,.09);
  transform:perspective(1150px) rotateY(-2deg) rotateZ(-.6deg);
  transform-origin:center top;
}
.fef-figure:nth-child(2) img.fef-report-page-mockup {
  transform:perspective(1150px) rotateY(2deg) rotateZ(.6deg);
}
@media (max-width:570px) {
  .fef-figure:has(img.fef-report-page-mockup){padding:0 3px;}
  .fef-figure img.fef-report-page-mockup,
  .fef-figure:nth-child(2) img.fef-report-page-mockup{transform:none;}
}
@media (prefers-reduced-motion:reduce) {
  .fef-figure img.fef-report-page-mockup{transform:none;}
}

/* Full report-page studio mockups. Original document content preserved in the scene. */
.fef-studio-mockup{width:100%;max-width:1190px;margin:0 auto;}
.fef-studio-mockup .fef-figure{margin:0;}
.fef-studio-mockup img{width:100%;height:auto;display:block;border:0;border-radius:3px;background:var(--cream);}
.fef-studio-mockup figcaption{display:grid;grid-template-columns:1fr 1fr;gap:clamp(16px,3vw,40px);margin-top:15px;font-size:12px;line-height:1.65;color:var(--muted)}
.fef-studio-mockup figcaption strong{color:var(--ink);}
@media(max-width:620px){.fef-studio-mockup figcaption{grid-template-columns:1fr;gap:8px;font-size:11px}}

/* FEF-OSC webinar/evaluation pair: two truly equal landscape presentations.
   Keep complete webinar copy visible, without clipping or enlarging beyond the card. */
.fef-photo-pair.fef-equal-pair {grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;}
.fef-equal-pair .fef-figure img {width:100%;height:auto;aspect-ratio:1221 / 882;object-fit:contain;}
@media (max-width:570px) {.fef-photo-pair.fef-equal-pair {grid-template-columns:1fr;}}

/* Consistent responsive page-edge gutters.
   The FEF-OSC article's context and section rules used padding: ... 0 ..., which
   unintentionally erased the shared .container side gutters. Reinstate them
   without changing each section's vertical spacing or full-bleed backgrounds. */
.fef-page .fef-context.container,
.fef-page .fef-section.container {
  padding-inline: clamp(22px, 5vw, 86px);
}

/* Voice Nigeria editorial case-study draft. Scoped; no changes to other pages. */
.voice-page{overflow-x:clip}.voice-hero{padding-top:clamp(64px,7vw,116px);padding-bottom:64px}.voice-hero h1{font-family:var(--font-display,Georgia,serif);font-size:clamp(56px,7vw,110px);line-height:.97;letter-spacing:-.055em;max-width:1050px;margin:22px 0 36px;font-weight:400}.voice-hero h1 em,.voice-page h2 em{color:var(--accent,#925840);font-weight:400}.voice-intro{display:flex;justify-content:space-between;gap:32px;align-items:flex-start}.voice-intro p{font-size:clamp(19px,2vw,25px);max-width:680px;line-height:1.55;color:var(--muted)}.voice-intro span{font-size:11px;letter-spacing:.13em;text-align:right;line-height:1.6;color:var(--muted)}
.voice-lead-image{position:relative;margin:0 auto;width:min(calc(100% - 72px),1480px);background:#47303a;overflow:hidden}.voice-lead-image>img{display:block;object-fit:cover;width:100%;aspect-ratio:2.65/1}.voice-lead-note{position:absolute;right:22px;bottom:17px;background:#1a1312bc;color:#fff;font-size:10px;letter-spacing:.12em;padding:10px 12px}
.voice-facts{display:grid;grid-template-columns:repeat(4,1fr);padding-top:47px;padding-bottom:50px;border-bottom:1px solid var(--line);gap:0}.voice-facts>div{padding:0 20px;border-right:1px solid var(--line)}.voice-facts>div:first-child{padding-left:0}.voice-facts>div:last-child{border-right:0}.voice-facts strong{display:block;font-size:clamp(28px,3.2vw,48px);font-family:Georgia,serif;line-height:1.1;font-weight:400}.voice-facts small{display:block;margin-top:10px;color:var(--muted);line-height:1.5;font-size:12px}
.voice-page h2{font-family:Georgia,serif;font-size:clamp(38px,4.65vw,69px);font-weight:400;letter-spacing:-.04em;line-height:1.06;margin:20px 0 0}.voice-two-col{display:grid;grid-template-columns:1fr 1fr;gap:clamp(34px,5vw,95px);padding-top:clamp(72px,8vw,130px);padding-bottom:clamp(72px,8vw,130px)}.voice-prose p,.voice-documentaries p,.voice-attribution p{font-size:clamp(16px,1.45vw,19px);line-height:1.85;color:var(--muted);margin:0 0 20px}.voice-section-title{display:grid;grid-template-columns:1.25fr .75fr;gap:clamp(28px,5vw,80px);align-items:start;margin-bottom:clamp(35px,4vw,65px)}.voice-section-title>p{font-size:15px;line-height:1.85;color:var(--muted);margin:0}.voice-section-title .eyebrow{margin-bottom:0}
.voice-roles{background:var(--tone-40);padding:clamp(72px,8vw,120px) 0}.voice-role-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}.voice-role-grid article{background:var(--tone-40);padding:clamp(25px,3vw,49px)}.voice-role-grid article>span{font-size:10px;letter-spacing:.14em;font-weight:700;color:var(--accent,#925840)}.voice-role-grid h3{font-family:Georgia,serif;font-size:clamp(25px,2.8vw,36px);font-weight:400;line-height:1.18;letter-spacing:-.02em;margin:17px 0}.voice-role-grid p{color:var(--muted);font-size:15px;line-height:1.75;margin:0}
.voice-publications{padding-top:clamp(75px,8vw,130px);padding-bottom:clamp(85px,8vw,130px)}.voice-mockup-scene{position:relative;min-height:560px;background:radial-gradient(circle at 76% 9%,#eee7df 1%,#efe8df 20%,#e7ded3 100%);border:1px solid var(--line);border-radius:2px;display:flex;justify-content:center;gap:7%;align-items:center;overflow:hidden;padding:60px 8%}.voice-mockup-scene:after{content:"";position:absolute;right:-55px;top:-85px;background:#a9714b30;width:320px;height:320px;border-radius:50%}.voice-mockup{position:relative;width:min(35%,300px);transform-style:preserve-3d;z-index:1}.voice-mockup img{width:100%;height:auto;display:block;box-shadow:10px 16px 28px #241c1799,2px 3px 4px #241c1730;border-radius:1px}.voice-mockup:before{content:"";display:block;position:absolute;top:0;bottom:0;left:0;width:9px;background:#f9f5ed70;z-index:1;box-shadow:4px 0 8px #1b151844}.voice-mockup-a{transform:perspective(1200px) rotateY(-10deg) rotateZ(-5deg)}.voice-mockup-b{transform:perspective(1200px) rotateY(10deg) rotateZ(5deg) translateY(30px)}.voice-pub-captions{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:26px}.voice-pub-captions div{display:flex;flex-direction:column;gap:6px}.voice-pub-captions b{font-size:15px}.voice-pub-captions span{font-size:13px;color:var(--muted);line-height:1.6}
.voice-editorial{padding:clamp(75px,8vw,125px) 0;background:var(--tone-40)}.voice-spread-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}.voice-spread-grid figure,.voice-photo-pages figure,.voice-photo-feature figure{margin:0;min-width:0}.voice-spread-grid img{width:100%;height:auto;display:block;box-shadow:0 11px 28px #1a100f20}.voice-page figcaption{font-size:12px;line-height:1.5;color:var(--muted);margin-top:14px}.voice-storytelling{padding-top:clamp(75px,8vw,130px);padding-bottom:clamp(75px,8vw,130px)}.voice-photo-feature{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-bottom:44px}.voice-photo-feature img{width:100%;height:auto;display:block;aspect-ratio:2.05/1;object-fit:cover}.voice-photo-pages{display:grid;grid-template-columns:1fr 1fr;gap:28px;max-width:900px;margin:0 auto}.voice-photo-pages img{width:100%;height:auto;display:block;box-shadow:0 9px 24px #2817112b}
.voice-documentaries{background:var(--tone-40)}.voice-documentaries .voice-two-col{padding-top:95px;padding-bottom:95px}.voice-pending{display:inline-flex;font-size:11px;font-weight:700;letter-spacing:.12em;border:1px solid var(--line);padding:11px 14px;margin-top:12px}.voice-attribution{padding-top:100px;padding-bottom:110px;max-width:980px}.voice-attribution p{margin-top:34px}.voice-attribution .voice-legal{font-size:13px;line-height:1.8;color:var(--muted)}
@media(max-width:800px){.voice-two-col,.voice-section-title{grid-template-columns:1fr;gap:23px}.voice-facts{grid-template-columns:repeat(2,1fr);gap:24px 0}.voice-facts>div:nth-child(2){border-right:0}.voice-facts>div:nth-child(3){padding-left:0}.voice-mockup-scene{min-height:460px}}
@media(max-width:600px){.voice-hero{padding-top:64px;padding-bottom:43px}.voice-hero h1{font-size:clamp(45px,11vw,65px);margin-top:20px}.voice-intro{display:block}.voice-intro span{display:block;text-align:left;margin-top:16px}.voice-lead-image{width:calc(100% - 32px)}.voice-lead-image>img{aspect-ratio:1.45/1}.voice-lead-note{font-size:8px}.voice-facts{padding-top:32px;padding-bottom:40px}.voice-facts>div{padding:0 12px}.voice-facts small{font-size:11px}.voice-role-grid{grid-template-columns:1fr}.voice-mockup-scene{min-height:335px;padding:32px 5%;gap:8%}.voice-mockup{width:43%}.voice-pub-captions,.voice-photo-feature,.voice-photo-pages{grid-template-columns:1fr;gap:25px}.voice-spread-grid{grid-template-columns:1fr 1fr;gap:16px}.voice-spread-grid figure:nth-child(3){grid-column:span 2;max-width:70%;margin:0 auto}.voice-publications,.voice-storytelling,.voice-editorial{padding-top:65px;padding-bottom:65px}.voice-page h2{font-size:clamp(36px,10vw,52px)}.voice-attribution{padding-top:75px;padding-bottom:90px}.voice-intro p{font-size:18px}}


/* WFP confidential-visual case study: isolated editorial presentation */
.wfp-page{overflow-x:clip}.wfp-hero{padding-top:clamp(66px,7vw,110px);padding-bottom:54px}.wfp-hero h1{max-width:1100px;margin:24px 0 36px;font-size:clamp(52px,7.1vw,111px);line-height:1.03;letter-spacing:-.055em}.wfp-hero h1 em,.wfp-page h2 em{color:var(--clay);font-weight:400}.wfp-hero-intro{display:flex;align-items:flex-start;justify-content:space-between;gap:36px;max-width:1100px}.wfp-hero-intro p{max-width:725px;font-size:clamp(20px,2.5vw,26px);line-height:1.45;color:var(--muted);margin:0}.wfp-hero-intro>span{max-width:220px;text-align:right;font-size:10px;letter-spacing:.13em;color:var(--muted);line-height:1.7}.wfp-hero .fef-return{display:inline-flex;margin-top:32px}.wfp-featured{margin-top:0;padding-bottom:34px}.wfp-featured figure{margin:0}.wfp-featured img{display:block;width:100%;height:auto;border-radius:4px}.wfp-featured figcaption,.wfp-visual-proof figcaption{margin-top:13px;font-size:12px;line-height:1.6;color:var(--muted)}.wfp-facts{display:grid;grid-template-columns:1fr 1fr 1fr;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding-top:26px;padding-bottom:26px;gap:22px}.wfp-facts div{display:flex;flex-direction:column;gap:6px;border-right:1px solid var(--line)}.wfp-facts div:last-child{border:0}.wfp-facts strong{font-family:var(--sans);font-size:26px;letter-spacing:-.035em;color:var(--ink)}.wfp-facts span{font-size:12px;color:var(--muted)}.wfp-section{padding-top:clamp(72px,8vw,112px);padding-bottom:clamp(72px,8vw,112px)}.wfp-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.9fr);gap:clamp(32px,7vw,105px);align-items:start}.wfp-page h2{font-size:clamp(38px,4.8vw,74px);line-height:1.07;letter-spacing:-.052em;font-weight:400;margin:20px 0 0}.wfp-split p,.wfp-ending p{font-size:clamp(16px,1.5vw,19px);line-height:1.75;color:var(--muted);margin:0 0 20px}.wfp-tone{background:var(--tone-40)}.wfp-section-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:56px;margin-bottom:45px}.wfp-section-heading>div{max-width:760px}.wfp-section-heading>p{width:min(100%,330px);font-size:15px;line-height:1.7;color:var(--muted);margin:0}.wfp-service-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.wfp-service-grid article{background:var(--paper);padding:32px 24px;min-height:260px;border:1px solid var(--line)}.wfp-service-grid span{display:block;color:var(--clay);letter-spacing:.13em;font-size:10px;margin-bottom:29px}.wfp-service-grid h3{font-size:22px;font-weight:500;letter-spacing:-.025em;margin-bottom:14px}.wfp-service-grid p{font-size:14px;line-height:1.7;color:var(--muted)}.wfp-visual-pair,.wfp-document-pair{display:grid;grid-template-columns:1fr 1fr;gap:22px;align-items:start}.wfp-visual-pair figure,.wfp-document-pair figure{margin:0}.wfp-art-frame{padding:18px;background:#ded6cb;min-height:310px;display:flex;align-items:center;justify-content:center;overflow:hidden}.wfp-art-frame img{width:100%;height:400px;object-fit:contain;filter:saturate(.88);box-shadow:0 18px 36px #27181033}.wfp-document-pair{margin-top:50px}.wfp-page-sheet{background:linear-gradient(145deg,#ded5c8,#f3eee7);padding:36px;min-height:360px;display:flex;justify-content:center}.wfp-page-sheet img{max-height:470px;width:auto;max-width:100%;object-fit:contain;box-shadow:0 20px 42px #27181033}.wfp-approach{background:var(--tone-40)}.wfp-ending{max-width:1000px}.wfp-ending>p{max-width:825px}.wfp-ending .wfp-disclaimer{font-size:12px;line-height:1.7;border-top:1px solid var(--line);padding-top:25px;margin-top:42px;max-width:825px}.wfp-ending .text-link{display:inline-flex;margin-top:20px}
@media(max-width:900px){.wfp-split{grid-template-columns:1fr;gap:30px}.wfp-service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.wfp-section-heading{flex-direction:column;gap:22px}.wfp-section-heading>p{width:min(100%,700px)}.wfp-hero-intro>span{display:none}}
@media(max-width:620px){.wfp-hero{padding-top:66px;padding-bottom:40px}.wfp-hero h1{font-size:clamp(42px,10.5vw,62px);line-height:1.06;overflow-wrap:break-word}.wfp-hero-intro p{font-size:19px}.wfp-section{padding-top:66px;padding-bottom:68px}.wfp-page h2{font-size:clamp(37px,10vw,50px)}.wfp-facts{grid-template-columns:1fr;gap:14px}.wfp-facts div{border-right:0;border-bottom:1px solid var(--line);padding:0 0 12px}.wfp-facts div:last-child{border:0}.wfp-service-grid,.wfp-visual-pair,.wfp-document-pair{grid-template-columns:1fr}.wfp-service-grid article{min-height:0}.wfp-art-frame img{height:335px}.wfp-page-sheet{padding:22px;min-height:0}.wfp-featured{padding-bottom:22px}}


/* NFWP-SU 2026 learning design case study */
.nw-page{overflow-x:clip}.nw-page .container{box-sizing:border-box;min-width:0}.nw-hero{padding-top:clamp(67px,7vw,106px);padding-bottom:42px}.nw-hero h1{font-family:Georgia,serif;font-size:clamp(48px,7.05vw,105px);font-weight:400;line-height:1.035;letter-spacing:-.05em;margin:23px 0 34px;max-width:1130px}.nw-page h1 em,.nw-page h2 em{color:var(--clay);font-weight:400}.nw-hero-lead{display:flex;justify-content:space-between;gap:30px;align-items:start}.nw-hero-lead p{font-size:clamp(19px,2.1vw,27px);line-height:1.43;color:var(--muted);max-width:800px;margin:0}.nw-hero-lead span{font-size:10px;text-align:right;line-height:1.8;letter-spacing:.12em;color:var(--muted);max-width:250px}.nw-hero .fef-return{margin-top:33px;display:inline-flex}.nw-hero-visual{padding-bottom:38px}.nw-page figure{margin:0}.nw-hero-visual img{display:block;width:100%;height:auto;border-radius:3px}.nw-page figcaption{font-size:12px;color:var(--muted);line-height:1.65;margin-top:12px}.nw-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding-top:25px;padding-bottom:25px;gap:0}.nw-facts>div{display:flex;flex-direction:column;gap:6px;border-right:1px solid var(--line);padding-left:28px}.nw-facts>div:first-child{padding-left:0}.nw-facts>div:last-child{border:0}.nw-facts strong{font-size:25px;letter-spacing:-.025em}.nw-facts span{font-size:12px;color:var(--muted)}.nw-section{padding-top:clamp(78px,8vw,125px);padding-bottom:clamp(78px,8vw,125px)}.nw-two-col{display:grid;grid-template-columns:1.06fr .94fr;gap:clamp(34px,6vw,106px);align-items:start}.nw-page h2{font-family:Georgia,serif;font-size:clamp(38px,4.8vw,70px);font-weight:400;letter-spacing:-.045em;line-height:1.08;margin:20px 0 0}.nw-prose p{font-size:clamp(16px,1.48vw,19px);line-height:1.77;color:var(--muted);margin:0 0 22px}.nw-toned{background:var(--tone-40)}.nw-section-head{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,.65fr);gap:clamp(30px,6vw,90px);align-items:start;margin-bottom:45px}.nw-section-head>p{font-size:15px;line-height:1.78;color:var(--muted);margin:0;max-width:390px}.nw-pathways{display:grid;grid-template-columns:1fr 1fr;gap:18px}.nw-pathways article{border:1px solid var(--line);background:var(--paper);padding:clamp(28px,4vw,50px);min-height:250px}.nw-number{font-size:10px;letter-spacing:.15em;font-weight:700;color:var(--clay)}.nw-pathways h3{font-family:Georgia,serif;font-weight:400;letter-spacing:-.025em;font-size:clamp(28px,3vw,39px);margin:36px 0 18px;line-height:1.13}.nw-pathways p,.nw-service-grid p{font-size:15px;line-height:1.7;color:var(--muted);margin:0}.nw-feature-mockup{background:#e7e1d9;border:1px solid var(--line);padding:clamp(10px,2vw,28px)}.nw-feature-mockup img{width:100%;height:auto;display:block}.nw-feature-mockup figcaption{padding:0 8px}.nw-image-pair{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:30px;align-items:start}.nw-image-pair img{width:100%;height:auto;display:block;background:#eee9e2}.nw-service-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.nw-service-grid article{border:1px solid var(--line);padding:clamp(24px,2.5vw,36px);background:var(--paper);min-width:0}.nw-service-grid span{font-size:10px;letter-spacing:.13em;color:var(--clay);font-weight:700}.nw-service-grid h3{font-size:22px;letter-spacing:-.02em;line-height:1.2;margin:24px 0 15px}.nw-details-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(35px,6vw,95px);align-items:center}.nw-details-grid img{display:block;width:100%;height:auto;border:1px solid var(--line)}.nw-deliverables p{font-size:17px;line-height:1.5;padding:21px 0;margin:0;border-bottom:1px solid var(--line);color:var(--ink)}.nw-deliverables p:first-child{border-top:1px solid var(--line)}.nw-finish{background:var(--tone-40)}.nw-attrib{font-size:13px!important;border-top:1px solid var(--line);padding-top:22px;margin-top:32px!important}.nw-finish .text-link{display:inline-flex;margin-top:16px}
@media(max-width:950px){.nw-service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.nw-section-head{grid-template-columns:1fr;gap:20px}.nw-section-head>p{max-width:760px}}
@media(max-width:700px){.nw-hero-lead>span{display:none}.nw-two-col,.nw-details-grid{grid-template-columns:1fr;gap:28px}.nw-pathways{grid-template-columns:1fr}.nw-image-pair{grid-template-columns:1fr;gap:30px}.nw-hero h1{font-size:clamp(43px,10.5vw,65px);overflow-wrap:break-word}.nw-page h2{font-size:clamp(35px,9vw,51px)}.nw-facts{gap:0}.nw-facts strong{font-size:20px}.nw-facts>div{padding-left:15px;padding-right:8px}.nw-facts span{font-size:10px}.nw-service-grid h3{margin-top:20px}.nw-section{padding-top:66px;padding-bottom:70px}.nw-section-head{margin-bottom:31px}}
@media(max-width:460px){.nw-hero{padding-top:62px}.nw-hero-lead p{font-size:18px}.nw-service-grid{grid-template-columns:1fr}.nw-facts>div{padding-left:10px}.nw-facts strong{font-size:18px}.nw-pathways h3{font-size:30px}.nw-feature-mockup{padding:9px}}

/* Stage 4.1: Journal archive and editorial article templates */
.journal-entry {display:grid;grid-template-columns:minmax(130px, 210px) 38px minmax(0,1fr) 28px;column-gap:clamp(14px,2.7vw,36px);align-items:start;padding:clamp(19px,2.5vw,30px) 0;}
.journal-entry .journal-thumb {display:block;position:relative;overflow:hidden;aspect-ratio:1.28;background:linear-gradient(135deg,#d5c1a8,#a47960);border-radius:2px;}
.journal-entry .journal-thumb:after {content:"";inset:0;position:absolute;background:linear-gradient(180deg,transparent,#30241e1a);pointer-events:none;}
.journal-entry .journal-thumb img {width:100%;height:100%;object-fit:cover;display:block;}
.journal-entry .journal-entry-main {min-width:0;}
.journal-entry h2 {margin:8px 0 11px;}
.journal-read {font-size:10px;letter-spacing:.12em;font-weight:750;color:var(--copper,#9c603d);display:inline-block;margin-top:14px;}
.article-hero {padding-top:clamp(64px,7vw,105px);padding-bottom:52px;max-width:1000px;}
.article-back {display:inline-block;color:var(--muted);font-size:13px;margin-bottom:43px;text-decoration:none;}
.article-hero h1{font-family:Georgia,'Times New Roman',serif;font-weight:normal;font-size:clamp(38px,5.2vw,79px);line-height:1.08;max-width:890px;letter-spacing:-.045em;margin:23px 0 32px;}
.article-meta {display:flex;gap:18px;flex-wrap:wrap;align-items:center;color:var(--muted);font-size:13px;}
.article-layout {max-width:1000px;padding-bottom:clamp(80px,12vw,160px);}
.journal-article-photo {margin:0 0 clamp(36px,6vw,70px);width:100%;}
.journal-article-photo img {max-height:520px;width:100%;object-fit:cover;background:#ded6cd;display:block;}
.article-body {max-width:760px;margin:0 auto;color:var(--ink,#352b27);}
.article-body p {font-size:clamp(17px,1.55vw,21px);line-height:1.82;margin:0 0 1.35em;overflow-wrap:anywhere;}
.article-end {max-width:760px;margin:65px auto 0;padding-top:25px;border-top:1px solid var(--line,#c9c0b6);display:flex;flex-wrap:wrap;gap:18px;justify-content:space-between;font-size:13px;}
.article-end a,.related-case a {color:var(--copper,#9c603d);text-decoration:underline;text-underline-offset:3px;}
.related-case{font-size:13px;line-height:1.65;margin:14px 0 19px;}
@media(max-width:780px){.journal-entry{grid-template-columns:112px 23px minmax(0,1fr) 18px;gap:13px;}.journal-entry h2{font-size:clamp(21px,4vw,29px)}.article-hero{padding-top:62px;}}
@media(max-width:530px){.journal-entry{grid-template-columns:90px minmax(0,1fr) 14px;gap:14px;}.journal-entry .journal-index{display:none;}.journal-entry .tiny-label{font-size:9px;line-height:1.4;}.journal-entry h2{font-size:21px;line-height:1.19;}.journal-entry p{font-size:12px;line-height:1.55;}.journal-entry .journal-read{font-size:9px;}.journal-entry .journal-thumb{aspect-ratio:.85;}.article-hero{padding-top:40px;}.article-hero h1{font-size:clamp(35px,9vw,52px);}.article-body p{font-size:17px;line-height:1.72;}}

/* Final journal migration: preserve media legibility, inherited editorial rhythm and accessibility. */
.journal-article-photo img {object-fit:contain; height:auto; max-height:620px;}
.journal-image-portrait {max-width:660px; margin-left:auto; margin-right:auto;}
.journal-image-portrait img {max-height:none; width:100%; height:auto; object-fit:contain;}
.journal-article-photo figcaption,.journal-article-video figcaption {font-size:12px;line-height:1.6;color:var(--muted);padding-top:12px;}
.journal-article-video {margin:24px auto 40px;max-width:790px;}
.journal-article-video video {display:block;width:100%;height:auto;max-height:570px;background:#1b1b1b;}
.article-body p a {color:var(--copper,#9c603d);text-decoration:underline;text-underline-offset:3px;}
.article-body p strong {font-weight:700;}
.article-body p {overflow-wrap:break-word;}
.article-layout {overflow-wrap:break-word;}
@media(max-width:570px){.journal-article-photo img{max-height:none;}}


/* Design Portfolio: Espresso & Copper editorial collection */
.design-portfolio-page{overflow-x:clip}
.dp-hero{background:var(--cream);border-bottom:1px solid var(--line)}
.dp-hero-grid{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);gap:clamp(40px,6vw,88px);align-items:center;padding-block:clamp(70px,8vw,118px)}
.dp-hero h1{font-size:clamp(61px,7.1vw,106px);line-height:1.03;max-width:840px;margin:28px 0 34px}
.dp-lead{font-size:clamp(18px,1.68vw,22px);line-height:1.58;max-width:600px;margin:0;color:var(--muted)}
.dp-hero-actions{display:flex;align-items:center;gap:32px;flex-wrap:wrap;margin:35px 0 0}
.dp-text-action{border-bottom:1px solid var(--clay);font-weight:750;font-size:13px;padding-bottom:8px;white-space:nowrap}
.dp-text-action span{color:var(--clay);margin-left:15px}
.dp-scrollnote{font-size:12px;margin:49px 0 0;color:var(--muted)}
.dp-featured{position:relative;min-height:620px;max-height:690px;aspect-ratio:1/1.16;background:#e8ddd4;display:flex;align-items:center;justify-content:center;overflow:hidden;border:1px solid #d9ccc0}
.dp-feature-glow{position:absolute;inset:10% 8%;background:radial-gradient(ellipse,#efe6d9 0%,transparent 68%);z-index:0}
.dp-featured img{display:block;position:absolute;height:auto;object-fit:contain;filter:drop-shadow(0 15px 17px #2b191f42)}
.dp-feature-front{width:52%;left:13%;top:13%;z-index:2;transform:rotate(-6deg)}
.dp-feature-back{width:44%;right:9%;top:22%;z-index:1;transform:rotate(8deg)}
.dp-feature-caption{position:absolute;bottom:24px;left:29px;color:#6c5546;font-size:10px;letter-spacing:.16em;font-weight:800}
.dp-intro{display:grid;grid-template-columns:1fr 1fr;gap:clamp(48px,6vw,110px);padding-block:clamp(87px,10vw,145px);border-bottom:1px solid var(--line)}
.dp-intro h2{font-size:clamp(43px,5.7vw,77px);margin:24px 0 0}
.dp-intro-copy>p{font-size:18px;max-width:600px;line-height:1.72;margin:0 0 39px}
.dp-intro-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;border-top:1px solid var(--line);padding-top:23px}
.dp-intro-stats span{display:flex;flex-direction:column;gap:9px;font-size:11px;color:var(--muted);line-height:1.4;letter-spacing:.03em}
.dp-intro-stats b{font:400 39px/1 var(--serif);letter-spacing:-.05em;color:var(--ink)}
.dp-collection{padding-block:clamp(79px,9vw,129px) 125px}
.dp-collection-top{display:grid;grid-template-columns:1fr .67fr;align-items:start;gap:40px;margin-bottom:38px}
.dp-collection-top h2{font-size:clamp(45px,5.5vw,76px);margin:22px 0 0}
.dp-collection-top p{font-size:15px;line-height:1.7;margin:6px 0 0;color:var(--muted);max-width:410px}
.dp-toolbar{display:flex;gap:9px;flex-wrap:wrap;border-bottom:1px solid var(--line);padding:0 0 22px}
.dp-filter{border:1px solid var(--line);background:transparent;color:var(--muted);cursor:pointer;padding:12px 17px;font-size:12px;font-weight:720;transition:color .2s,background .2s}
.dp-filter:hover{border-color:var(--clay);color:var(--ink)}
.dp-filter.is-selected{background:var(--ink);color:#fff;border-color:var(--ink)}
.dp-filter span{display:inline-block;margin-left:12px;opacity:.6}
.dp-live{font-size:11px;color:var(--muted);margin:17px 0 22px;letter-spacing:.04em}
.dp-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:24px;row-gap:68px;align-items:start}
.dp-piece[hidden]{display:none!important}
.dp-piece{min-width:0}
.dp-art{display:flex;position:relative;border:1px solid var(--line);width:100%;height:clamp(300px,30.6vw,410px);padding:clamp(20px,3vw,39px);align-items:center;justify-content:center;overflow:hidden;background:#eae3da;cursor:zoom-in;transition:background .24s,box-shadow .24s}
.dp-art.dp--landscape{background:#ede7df}
.dp-art img{width:100%;height:100%;object-fit:contain;transition:transform .3s ease;filter:drop-shadow(0 9px 12px #251a1530)}
.dp-art:hover img{transform:scale(1.032)}
.dp-art:hover,.dp-art:focus-visible{box-shadow:0 7px 25px #39291b17}
.dp-magnify{position:absolute;bottom:14px;right:14px;background:var(--cream);color:var(--ink);width:33px;height:33px;display:flex;align-items:center;justify-content:center;font-size:19px}
.dp-piece-label{border-top:1px solid var(--line);margin:19px 0 12px;padding-top:15px}
.dp-piece-label span{font-size:10px;letter-spacing:.10em;text-transform:uppercase;color:var(--clay);font-weight:800;line-height:1.4}
.dp-piece h3{font:400 clamp(25px,2.4vw,32px)/1.2 var(--serif);letter-spacing:-.035em;margin:0 0 12px}
.dp-piece-desc{font-size:13px;color:var(--muted);line-height:1.65;margin:0 0 10px}
.dp-piece-role{font-size:12px;color:var(--ink);line-height:1.55;margin:0 0 14px}
.dp-case-link{font-size:12px;font-weight:750;border-bottom:1px solid var(--clay);padding-bottom:5px;display:inline-block}
.dp-case-link span{margin-left:15px;color:var(--clay)}
.dp-method{background:var(--ink);color:var(--cream)}
.dp-method-inner{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(40px,8vw,125px);padding-block:clamp(83px,9vw,137px)}
.dp-method h2{margin:24px 0 0;font-size:clamp(42px,5.6vw,76px)}
.dp-method h2 em{color:#d6a68a}
.dp-method-copy p{color:#e0d4ca;font-size:17px;line-height:1.75;margin:0 0 34px}
.dp-method-list span{display:block;padding:16px 0;border-top:1px solid #65554e;font-size:14px;line-height:1.6;color:#e0d4ca}
.dp-method-list span b{color:#fff}
.dp-next{display:grid;grid-template-columns:1fr 1fr;gap:80px;padding-block:clamp(85px,10vw,145px)}
.dp-next h2{font-size:clamp(42px,5.6vw,75px);margin:24px 0 0}
.dp-next>div:nth-child(2)>p:first-child{font-size:17px;line-height:1.7;margin:0 0 30px}
.dp-next-actions{display:flex;gap:12px;flex-wrap:wrap}
.dp-disclosure{border-top:1px solid var(--line);padding-top:20px;font-size:12px;line-height:1.72;color:var(--muted);margin:34px 0 0}
.dp-lightbox{width:min(1050px,94vw);max-height:93vh;border:1px solid #b8a89e;background:var(--cream);padding:18px 25px 24px;color:var(--ink)}
.dp-lightbox::backdrop{background:#130d0cdb}
.dp-lightbox-top{display:flex;justify-content:space-between;align-items:center;gap:20px}
.dp-lightbox-top h2{font:400 24px var(--serif);margin:0}
.dp-lightbox-close{background:var(--ink);color:#fff;border:0;padding:10px 16px;cursor:pointer;font-size:12px}
.dp-lightbox-image{display:flex;justify-content:center;align-items:center;min-height:150px;margin:18px 0;background:#eae3da;padding:14px}
.dp-lightbox-image img{max-height:70vh;width:auto;max-width:100%;object-fit:contain}
#dp-lightbox-original{font-size:12px;display:block;text-align:right;color:var(--clay);text-decoration:underline;text-underline-offset:3px}
.dp-doorway{display:grid;grid-template-columns:47% 1fr;gap:clamp(28px,6vw,100px);align-items:center;padding-block:48px 70px;border-bottom:1px solid var(--line)}
.dp-doorway-media{background:var(--tone-40);padding:25px;display:flex;align-items:center;justify-content:center;min-height:330px}
.dp-doorway-media img{object-fit:contain;max-height:360px;width:100%}
.dp-doorway-copy h2{font-size:clamp(36px,4vw,58px);margin:22px 0}
.dp-doorway-copy p{margin-bottom:29px;max-width:580px}
.dp-home-link{font-size:12px;font-weight:750;border-bottom:1px solid var(--clay);padding-bottom:7px;margin-left:auto;white-space:nowrap}
.dp-home-link span{color:var(--clay);margin-left:7px}
@media(max-width:1090px){.dp-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dp-art{height:390px}.dp-featured{min-height:480px}.dp-hero-grid{gap:40px}.dp-hero h1{font-size:clamp(55px,6.8vw,80px)}.dp-home-link{display:none}}
@media(max-width:750px){.dp-hero-grid,.dp-intro,.dp-method-inner,.dp-next,.dp-doorway{grid-template-columns:1fr}.dp-hero-grid{padding-block:65px;gap:45px}.dp-hero h1{font-size:clamp(53px,10vw,75px)}.dp-featured{width:min(590px,100%);min-height:350px;max-height:550px;aspect-ratio:1.1;justify-self:center}.dp-scrollnote{margin-top:28px}.dp-intro{padding-block:73px;gap:27px}.dp-intro h2,.dp-collection-top h2,.dp-method h2,.dp-next h2{font-size:clamp(40px,8vw,55px)}.dp-collection-top{grid-template-columns:1fr;gap:18px}.dp-collection{padding-block:77px 85px}.dp-grid{gap:45px 18px}.dp-art{height:335px;padding:17px}.dp-method-inner{padding-block:72px;gap:25px}.dp-next{padding-block:79px;gap:28px}.dp-doorway{gap:28px}.dp-doorway-media{min-height:230px}.dp-doorway-media img{max-height:330px}}
@media(max-width:530px){.dp-hero h1{font-size:clamp(50px,12vw,64px)}.dp-hero-actions{flex-direction:column;align-items:stretch;gap:20px}.dp-text-action{text-align:center;align-self:center}.dp-featured{min-height:335px}.dp-feature-front{width:54%;left:9%}.dp-feature-back{width:45%;right:7%}.dp-intro-stats{gap:9px}.dp-intro-stats b{font-size:34px}.dp-collection-top h2{font-size:45px}.dp-filter{padding:11px 13px;font-size:11px}.dp-grid{grid-template-columns:1fr;gap:47px}.dp-art{height:410px;padding:28px}.dp-piece h3{font-size:30px}.dp-method-copy p{font-size:16px}.dp-next-actions{flex-direction:column}.dp-next-actions .btn{width:100%}.dp-lightbox{padding:12px 14px 15px}.dp-lightbox-image img{max-height:70vh}.dp-doorway{padding-block:32px 58px}}
@media(prefers-reduced-motion:reduce){.dp-art img{transition:none}.dp-hero{scroll-behavior:auto}}

/* Expanded design portfolio: responsive artwork collage archive */
.dp-archive{background:#e9e1d8;padding-block:clamp(82px,9vw,132px) clamp(94px,10vw,145px);border-bottom:1px solid #d2c3b4}
.dp-archive-top{display:grid;grid-template-columns:minmax(0,1.16fr) minmax(0,.7fr);gap:clamp(28px,7vw,110px);align-items:end;margin-bottom:45px}
.dp-archive-top h2{font:400 clamp(45px,5.2vw,77px)/1.095 var(--serif);letter-spacing:-.047em;margin:22px 0 0;max-width:880px;color:var(--ink)}
.dp-archive-top h2 em{color:#9e654f}
.dp-archive-intro p{color:#61534b;font-size:16px;line-height:1.75;max-width:540px;margin:0 0 22px}
.dp-archive-counter{display:block;border-top:1px solid #bbaaa0;padding-top:15px;font-size:11px;letter-spacing:.11em;text-transform:uppercase;color:#725f54;font-weight:800}
.dp-mosaic{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-auto-rows:clamp(26px,3.9vw,54px);gap:14px;grid-auto-flow:dense;align-items:stretch}
.dp-mosaic-item{min-width:0;min-height:0;display:flex;flex-direction:column;position:relative;margin:0;grid-column:span 4;grid-row:span 7;background:#f8f3eb;overflow:hidden;border:1px solid #dacdc1;box-shadow:0 8px 25px #55463e13;transition:box-shadow .25s,transform .25s}
.dp-mosaic-item:hover{box-shadow:0 16px 35px #3b2b2328;transform:translateY(-3px)}
.dp-mosaic-item.dp-mosaic-wide{grid-column:span 5;grid-row:span 6}
.dp-mosaic-item.dp-mosaic-tall{grid-column:span 3;grid-row:span 8}
.dp-mosaic-item.dp-mosaic-standard{grid-column:span 4;grid-row:span 7}
.dp-mosaic-frame{width:100%;min-height:0;flex:1;display:flex;align-items:center;justify-content:center;position:relative;padding:clamp(10px,1.5vw,22px);cursor:zoom-in;border:0;background:linear-gradient(140deg,#e4ded5,#f0e9e0);overflow:hidden}
.dp-mosaic-frame img{width:100%;height:100%;object-fit:contain;display:block;filter:drop-shadow(0 5px 8px #43392e24);transition:transform .25s}
.dp-mosaic-frame:hover img,.dp-mosaic-frame:focus-visible img{transform:scale(1.025)}
.dp-mosaic-open{position:absolute;right:11px;bottom:10px;width:30px;height:30px;display:flex;align-items:center;justify-content:center;background:#fffaf2;color:#4b352a;font-size:18px;box-shadow:0 3px 8px #2a1b1219}
.dp-mosaic-item figcaption{display:flex;flex-direction:column;gap:5px;padding:14px 17px 15px;background:#f8f3eb;border-top:1px solid #e2d6c9}
.dp-mosaic-item figcaption strong{display:block;font-size:12px;color:#42342c;line-height:1.37;font-weight:740}
.dp-mosaic-item figcaption small{display:block;font-size:10px;color:#9a6956;line-height:1.4;letter-spacing:.025em}
.dp-archive-note{font-size:12px;line-height:1.7;color:#78665a;max-width:820px;border-top:1px solid #c9b8a8;margin:32px 0 0;padding-top:15px}
@media(max-width:980px){.dp-archive-top{grid-template-columns:1fr;gap:23px}.dp-archive-intro p{max-width:730px}.dp-mosaic{grid-template-columns:repeat(6,minmax(0,1fr));grid-auto-rows:55px;gap:12px}.dp-mosaic-item.dp-mosaic-standard,.dp-mosaic-item.dp-mosaic-wide,.dp-mosaic-item.dp-mosaic-tall{grid-column:span 3;grid-row:span 6}}
@media(max-width:580px){.dp-archive{padding-block:72px 83px}.dp-archive-top{margin-bottom:26px}.dp-archive-top h2{font-size:clamp(37px,9.1vw,55px)}.dp-archive-intro p{font-size:14px}.dp-mosaic{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:42px;gap:9px}.dp-mosaic-item.dp-mosaic-standard,.dp-mosaic-item.dp-mosaic-wide,.dp-mosaic-item.dp-mosaic-tall{grid-column:span 1;grid-row:span 6}.dp-mosaic-item:nth-child(5n + 1){grid-row:span 7}.dp-mosaic-frame{padding:8px}.dp-mosaic-open{width:23px;height:23px;right:6px;bottom:5px;font-size:15px}.dp-mosaic-item figcaption{padding:10px 9px 11px;gap:3px}.dp-mosaic-item figcaption strong{font-size:10px}.dp-mosaic-item figcaption small{font-size:9px}.dp-archive-counter{font-size:10px}}
@media(prefers-reduced-motion:reduce){.dp-mosaic-item,.dp-mosaic-frame img{transition:none}}


/* Simplified collage section for design portfolio */
.dp-collage-section{background:#332b28;padding-block:clamp(68px,8vw,110px) clamp(82px,9vw,126px);border-bottom:1px solid rgba(232,214,197,.14)}
.dp-collage-title{margin:0 0 clamp(26px,3.4vw,42px);font-size:clamp(14px,1.35vw,18px);letter-spacing:.04em;color:#d8a88a}
.dp-collage-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-auto-rows:clamp(20px,2.7vw,34px);gap:12px;grid-auto-flow:dense}
.dp-collage-item{appearance:none;border:0;margin:0;padding:10px;background:#f0ece7;display:flex;align-items:center;justify-content:center;cursor:zoom-in;min-width:0;min-height:0;border-radius:0;box-shadow:0 10px 22px rgba(0,0,0,.12);transition:transform .2s ease, box-shadow .2s ease;overflow:hidden}
.dp-collage-item:hover,.dp-collage-item:focus-visible{transform:translateY(-2px);box-shadow:0 16px 30px rgba(0,0,0,.18);outline:0}
.dp-collage-item img{width:100%;height:100%;object-fit:contain;display:block;background:#fff}
.dp-collage-standard{grid-column:span 2;grid-row:span 7}
.dp-collage-tall{grid-column:span 2;grid-row:span 9}
.dp-collage-wide{grid-column:span 3;grid-row:span 7}
.dp-collage-wide img{object-fit:cover}
.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media (max-width:1100px){
  .dp-collage-grid{grid-template-columns:repeat(8,minmax(0,1fr));grid-auto-rows:28px;gap:10px}
  .dp-collage-standard,.dp-collage-tall{grid-column:span 2}
  .dp-collage-wide{grid-column:span 4}
}
@media (max-width:700px){
  .dp-collage-grid{grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:26px;gap:9px}
  .dp-collage-standard,.dp-collage-tall{grid-column:span 2}
  .dp-collage-wide{grid-column:span 4;grid-row:span 6}
  .dp-collage-title{margin-bottom:22px}
}
@media (max-width:480px){
  .dp-collage-section{padding-block:56px 70px}
  .dp-collage-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:22px;gap:8px}
  .dp-collage-standard{grid-column:span 1;grid-row:span 7}
  .dp-collage-tall{grid-column:span 1;grid-row:span 8}
  .dp-collage-wide{grid-column:span 2;grid-row:span 6}
  .dp-collage-item{padding:7px}
}


/* Reference-matched portfolio collage, 1 Nov 2026. Visual arrangement follows user screenshot. */
.design-portfolio-page section.dp-reference-section{background:var(--ink);padding:45px 0 76px;border-bottom:1px solid rgba(232,214,197,.12);color:var(--cream)}
.dp-reference-section .dp-reference-title{font-family:var(--sans);font-size:11px;line-height:1.35;font-weight:800;letter-spacing:.19em;text-transform:uppercase;color:var(--tone-16);margin:0 0 42px;padding:0 35px;display:block}
.dp-reference-stage{width:calc(100% - 30px);max-width:1600px;margin:0 auto;position:relative;aspect-ratio:1250 / 597}
.dp-reference-tile{position:absolute;left:var(--x);top:var(--y);width:var(--w);height:var(--h);padding:0!important;margin:0!important;border:0!important;box-shadow:none!important;border-radius:0!important;background:none!important;cursor:zoom-in;overflow:hidden;display:block;appearance:none;line-height:0;outline-offset:2px}
.dp-reference-tile img{display:block;width:100%;height:100%;max-width:none;object-fit:fill;border:0;margin:0;filter:none;box-shadow:none}
.dp-reference-tile:hover img,.dp-reference-extra:hover img{filter:brightness(1.055)}
.dp-reference-tile:focus-visible,.dp-reference-extra:focus-visible{outline:3px solid var(--tone-16);outline-offset:3px;z-index:3}
.dp-reference-continuation{max-width:1600px;margin:15px auto 0;padding:0 15px;columns:7;column-gap:12px}
.dp-reference-extra{display:block;break-inside:avoid;width:100%;margin:0 0 12px;padding:0;background:none;border:0;box-shadow:none;cursor:zoom-in;line-height:0;overflow:hidden}
.dp-reference-extra img{width:100%;height:auto;display:block;object-fit:contain}
@media(max-width:1100px){.dp-reference-continuation{columns:5;column-gap:10px}.dp-reference-extra{margin-bottom:10px}}
@media(max-width:800px){.design-portfolio-page section.dp-reference-section{padding-top:56px}.dp-reference-section .dp-reference-title{padding:0 23px;margin-bottom:29px}.dp-reference-stage{width:calc(100% - 24px);aspect-ratio:auto;columns:3;column-gap:9px;display:block}.dp-reference-tile{position:static;display:inline-block;width:100%!important;height:auto!important;break-inside:avoid;margin:0 0 9px!important}.dp-reference-tile img{width:100%;height:auto;object-fit:contain}.dp-reference-continuation{padding:0 12px;margin-top:0;columns:3;column-gap:9px}.dp-reference-extra{margin-bottom:9px}}
@media(max-width:510px){.design-portfolio-page section.dp-reference-section{padding-top:48px;padding-bottom:55px}.dp-reference-section .dp-reference-title{padding:0 18px;margin-bottom:24px;font-size:10px;letter-spacing:.16em}.dp-reference-stage{width:calc(100% - 18px);columns:2;column-gap:8px}.dp-reference-tile{margin-bottom:8px!important}.dp-reference-continuation{columns:2;padding:0 9px;column-gap:8px}.dp-reference-extra{margin-bottom:8px}}
@media(prefers-reduced-motion:reduce){.dp-reference-tile img,.dp-reference-extra img{transition:none}}


/* Unified single-panel collage; site typography inherited from the design system. */
.design-portfolio-page .dp-unified-section{background:var(--ink);border-bottom:1px solid rgba(232,214,197,.12);padding:52px 0 78px;color:var(--cream)}
.dp-unified-wrap{max-width:1580px;width:100%;margin:0 auto;padding:0 16px}
.dp-unified-title{font-family:var(--sans);font-weight:800;letter-spacing:.19em;line-height:1.35;font-size:11px;color:var(--tone-16);text-transform:uppercase;margin:0 0 42px;padding:0 19px}
.dp-unified-gallery{--unified-gap:10px;columns:7;column-gap:var(--unified-gap);width:100%}
.dp-unified-item{display:block;width:100%;margin:0 0 var(--unified-gap);padding:0!important;border:0!important;appearance:none;background:transparent!important;box-shadow:none!important;border-radius:0!important;line-height:0;cursor:zoom-in;break-inside:avoid;overflow:hidden;transition:filter .18s ease}
.dp-unified-item:hover{filter:brightness(1.055)}
.dp-unified-item:focus-visible{outline:3px solid var(--tone-16);outline-offset:3px;position:relative;z-index:2}
.dp-unified-item img{display:block;width:100%;height:auto;object-fit:contain;border:0!important;max-width:100%;box-shadow:none!important;filter:none}
.dp-unified-gallery.is-enhanced{columns:initial;display:grid;grid-template-columns:1fr 1.55fr .98fr 1fr 1.22fr 1fr 1.27fr;gap:var(--unified-gap);align-items:start}
.dp-unified-column{display:flex;flex-direction:column;gap:var(--unified-gap);min-width:0}
.dp-unified-gallery.is-enhanced .dp-unified-item{margin:0!important;min-width:0;flex:none}
@media(max-width:1100px){
 .dp-unified-gallery{columns:5}
 .dp-unified-gallery.is-enhanced{grid-template-columns:1.05fr 1.3fr 1fr 1.15fr 1.1fr}
 .dp-unified-title{margin-bottom:34px}
}
@media(max-width:800px){
 .dp-unified-gallery{columns:3;--unified-gap:9px}
 .dp-unified-gallery.is-enhanced{grid-template-columns:repeat(3,minmax(0,1fr))}
 .dp-unified-wrap{padding-inline:12px}
 .dp-unified-title{margin-bottom:27px;padding-inline:11px}
}
@media(max-width:510px){
 .design-portfolio-page .dp-unified-section{padding-block:45px 58px}
 .dp-unified-gallery{columns:2;--unified-gap:8px}
 .dp-unified-gallery.is-enhanced{grid-template-columns:repeat(2,minmax(0,1fr))}
 .dp-unified-wrap{padding-inline:9px}
 .dp-unified-title{font-size:10px;letter-spacing:.16em;margin-bottom:25px;padding-inline:9px}
}
@media(prefers-reduced-motion:reduce){.dp-unified-item{transition:none}}

/* Exact-reference compact collage. Uses existing site's type and palette. */
.design-portfolio-page .dp-compact-section{background:var(--ink);color:var(--cream);padding:46px 0 56px;border-bottom:1px solid rgba(232,214,197,.1)}
.dp-compact-container{width:100%;max-width:1480px;margin:0 auto;padding-inline:clamp(16px,2.4vw,34px)}
.dp-compact-title{font-family:var(--sans);font-weight:800;letter-spacing:.18em;line-height:1.35;font-size:11px;color:var(--tone-16);text-transform:uppercase;margin:0 0 35px;padding:0 1px}
.dp-compact-grid{--cgap:8px;display:grid;grid-template-columns:11.424fr 18.319fr 12.314fr 11.794fr 18.326fr 11.962fr 12.051fr;gap:var(--cgap);align-items:start}
.dp-compact-column{min-width:0;display:flex;flex-direction:column;gap:var(--cgap)}
.dp-compact-tile{width:100%;display:block;background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important;margin:0;padding:0!important;line-height:0;cursor:zoom-in;appearance:none;overflow:hidden}
.dp-compact-tile img{display:block;width:100%;height:auto;object-fit:contain;filter:none!important;box-shadow:none!important;border:0!important}
.dp-compact-tile:focus-visible{outline:2px solid var(--tone-16);outline-offset:2px}
.dp-compact-tile:hover img{filter:brightness(1.07)!important}
@media(max-width:1050px){.dp-compact-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.dp-compact-section{padding-block:44px 56px}}
@media(max-width:700px){.dp-compact-grid{grid-template-columns:repeat(3,minmax(0,1fr));--cgap:7px}.dp-compact-container{padding-inline:13px}.dp-compact-title{font-size:10px;margin-bottom:26px}}
@media(max-width:500px){.dp-compact-grid{grid-template-columns:repeat(2,minmax(0,1fr));--cgap:7px}.design-portfolio-page .dp-compact-section{padding:40px 0 46px}.dp-compact-container{padding-inline:9px}.dp-compact-title{margin-bottom:22px;padding-inline:10px;font-size:10px;letter-spacing:.16em}}


/* 2026-11-03 editorial design QA: shared typography across the redesign. */
:root{
  --editorial-body-size:16px;
  --editorial-body-leading:1.75;
  --editorial-lead-size:clamp(17px,1.65vw,20px);
  --editorial-section-title-size:clamp(40px,4.45vw,66px);
}
/* Keep existing serif display/sans text families and intentional label sizes. */
.voice-page h2,.wfp-page h2,.nw-page h2{
  font-family:var(--serif);
  font-size:var(--editorial-section-title-size);
  line-height:1.09;
  letter-spacing:-.05em;
  font-weight:400;
}
/* A single narrative text scale across all case-study long-form content. */
.voice-prose p,.voice-documentaries p,.voice-attribution p,
.wfp-split p,.wfp-ending p,.nw-prose p,
.wfp-section-heading > p,.voice-section-title > p,.nw-section-head > p{
  font-family:var(--sans);
  font-size:var(--editorial-body-size);
  line-height:var(--editorial-body-leading);
  letter-spacing:normal;
}
.voice-intro p,.wfp-hero-intro p,.nw-hero-lead p,.fef-page .page-hero-lower p{
  font-size:var(--editorial-lead-size);
  line-height:1.63;
}
/* Explicit country names may wrap cleanly without causing fact-grid overflow. */
.wfp-facts strong{font-size:clamp(22px,2.2vw,29px);line-height:1.22;overflow-wrap:normal}
.wfp-facts > div{min-width:0}
.voice-film-link{margin-top:12px}
/* Shared footer: a true two-column layout with enough vertical clearance for the CTA. */
.footer-main{
  grid-template-columns:minmax(0,1.45fr) minmax(250px,.85fr);
  column-gap:clamp(40px,7vw,100px);
  align-items:end;
}
.footer-main > div:first-child{display:flex;flex-direction:column;align-items:flex-start;min-width:0}
.footer-main h2{
  font-size:clamp(43px,4.4vw,67px);
  line-height:1.14;
  letter-spacing:-.053em;
  margin:24px 0 35px;
  max-width:770px;
  overflow-wrap:normal;
}
.footer-main .btn-light{position:relative;flex:none;align-self:flex-start;margin-top:0}
/* Photographic crops on the Selected Work preview (no stretched or diagram assets). */
#visual-stories .project-thumb{display:block;min-height:360px;overflow:hidden}
#visual-stories .project-thumb img{width:100%;height:100%;object-fit:cover;object-position:center 43%}
.portfolio-gallery .gallery-item img{object-fit:cover;object-position:center}
@media(max-width:820px){
  .footer-main{grid-template-columns:minmax(0,1fr);row-gap:45px}
  .footer-main h2{max-width:760px}
  #visual-stories .project-thumb{min-height:0;height:360px}
}
@media(max-width:600px){
  :root{--editorial-body-size:16px;--editorial-lead-size:17px;--editorial-section-title-size:clamp(36px,9.3vw,52px)}
  .footer-main h2{font-size:clamp(39px,10.8vw,50px);line-height:1.17;margin-bottom:30px}
  #visual-stories .project-thumb{height:310px}
}

/* Final prose rhythm on FEF-OSC case study, aligned with other project pages. */
.fef-context p,.fef-section-head p{
  font-family:var(--sans);
  font-size:var(--editorial-body-size);
  line-height:var(--editorial-body-leading);
}
