h1,h2,h3{font-weight:500;letter-spacing:-.045em}h1{font-size:clamp(38px,4.7vw,72px);line-height:1.07}.home-hero h1{font-size:clamp(36px,4.5vw,69px);max-width:13ch}.home-hero h1 br{display:none}.hero-desc{max-width:48ch;font-size:16px}.hero-desc br{display:none}.page-head h1{max-width:19ch}.nav nav a{font-size:12px}.project h3{font-size:27px}.project-stack h3{font-size:23px}.engagements h2{font-size:29px}.method-core strong{font-size:28px}.method-branches h3{font-size:26px}.cta h2{max-width:20ch;font-size:clamp(34px,4.6vw,64px)}.cta h2 br{display:none}.about-strip h2{font-size:clamp(32px,3.6vw,52px)}.email{letter-spacing:-.04em}@media(max-width:600px){.home-hero h1{font-size:45px;max-width:13ch}.page-head h1{font-size:42px}.hero-desc{font-size:15px}.method-branches h3{font-size:25px}.cta h2{font-size:38px}.engagements h2{font-size:28px}.project h3{font-size:26px}.nav nav a{font-size:18px}}
/* Keep navigation in Safari's viewport layer rather than its sticky scroll layer. */
:root{--nav-height:86px;--nav-safe-top:env(safe-area-inset-top,0px)}
body{padding-top:calc(var(--nav-height) + var(--nav-safe-top))}
.nav{position:fixed;inset:0 0 auto;top:0;height:calc(var(--nav-height) + var(--nav-safe-top));padding-top:var(--nav-safe-top);background:var(--paper);backdrop-filter:none;-webkit-backdrop-filter:none;z-index:100}
html{scroll-padding-top:calc(var(--nav-height) + var(--nav-safe-top) + 20px)}
@media(max-width:600px){:root{--nav-height:70px}.nav nav{top:100%;max-height:calc(100dvh - var(--nav-height) - var(--nav-safe-top));overflow-y:auto}}
/* Editorial case studies */
.case-back{display:inline-block;font-size:12px;margin-bottom:32px;border-bottom:1px solid var(--line);padding-bottom:5px}
.case-page .page-head h1{max-width:20ch}.case-page .intro{max-width:65ch}
.case-facts{display:flex;flex-wrap:wrap;gap:10px 30px;border-top:1px solid var(--line);margin-top:35px;padding-top:18px;font-size:11px;color:var(--muted)}
.case-insight{background:#e9ebe3}.case-page .case-intro h2{max-width:23ch}.case-page .case-intro p:not(.eyebrow){max-width:66ch;line-height:1.85}
.case-strategies{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:42px}
.case-strategies article{border-top:1px solid var(--line);padding-top:18px}.case-strategies h3{font-size:28px;margin:22px 0 16px;max-width:20ch}.case-strategies p{font-size:15px;line-height:1.85}
.case-journey{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:55px;border-block:1px solid var(--ink);padding:22px 0;gap:36px}.case-journey>div{display:flex;gap:15px;align-items:baseline;position:relative;padding-right:18px}.case-journey>div:not(:last-child):after{content:'→';position:absolute;right:-18px;color:var(--accent)}.case-journey span{font-size:10px;color:var(--accent)}.case-journey p{font-size:16px;color:var(--ink)}
.case-scope{padding-bottom:60px}.case-source{margin-top:30px;border-top:1px solid var(--line);padding-top:18px;max-width:85ch;font-size:12px;color:var(--muted)}.case-source summary{cursor:pointer}.case-source p{margin-top:14px;line-height:1.85}.case-source cite{font-style:normal}
.case-next{padding-block:40px;background:#e9ebe3}.case-next .eyebrow{margin-bottom:15px}.case-next a{display:flex;justify-content:space-between;gap:30px;font-size:clamp(23px,3vw,42px);line-height:1.3;letter-spacing:-.035em}.case-card-copy{font-size:14px;margin-top:12px;max-width:58ch;line-height:1.75}
@media(max-width:900px){.case-strategies{gap:24px}.case-strategies h3{font-size:24px}}
@media(max-width:600px){.case-back{margin-bottom:24px}.case-facts{gap:8px 20px;font-size:10px}.case-strategies{grid-template-columns:1fr;gap:30px}.case-strategies h3{font-size:27px;margin-top:12px;max-width:none}.case-journey{grid-template-columns:1fr;gap:28px;margin-top:35px}.case-journey>div:not(:last-child):after{content:'↓';right:auto;left:0;bottom:-26px}.case-page .case-intro p:not(.eyebrow){font-size:15px}.case-scope{padding-bottom:40px}.case-next{padding-block:30px}.case-card-copy{font-size:13px}}
.case-evidence{background:var(--ink);color:var(--paper);padding-block:45px}.case-evidence .eyebrow{color:#bfc1b7}.evidence-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:40px}.evidence-grid strong{display:block;font-size:clamp(55px,7vw,98px);line-height:1.15;font-weight:500;letter-spacing:-.055em}.evidence-grid h3{font-size:22px;margin-top:15px}.evidence-grid p{color:#c4c6bc;font-size:12px;margin-top:8px}.evidence-source{font-size:11px;line-height:1.8;color:#bfc1b7;border-top:1px solid #ffffff35;margin-top:30px;padding-top:18px;max-width:100ch}.framework-title{max-width:28ch}.framework-intro{max-width:70ch;margin:20px 0 36px;font-size:16px;line-height:1.85}.case-value>h2{max-width:27ch;margin-bottom:36px}.case-value .case-strategies h3{margin-top:0;font-size:25px}.case-quote{padding-block:10px 65px}.case-quote blockquote{margin:0;max-width:32ch;font-size:clamp(26px,3.2vw,42px);letter-spacing:-.03em;line-height:1.4;color:var(--accent)}.case-quote figcaption{margin-top:22px;font-size:12px;color:var(--muted)}
@media(max-width:600px){.case-evidence{padding-block:35px}.evidence-grid{grid-template-columns:1fr;gap:30px}.evidence-grid strong{font-size:64px}.evidence-grid h3{font-size:21px}.framework-intro{font-size:15px}.case-quote{padding-bottom:40px}}
/* The value proposition is the visual culmination of each case. */
.value-hero{background:#171815;color:#f6f5f1;padding-block:80px 75px;position:relative;overflow:hidden}
.value-heading{display:flex;justify-content:space-between;gap:20px;align-items:baseline;border-top:1px solid #777a6f;padding-top:18px;margin-bottom:52px}
.value-heading .eyebrow{color:#d2d4ca;margin:0}.value-signature{font-size:10px;letter-spacing:.12em;color:#a9ad9e}
.value-hero h2{font-size:clamp(46px,6.3vw,94px);line-height:1.02;letter-spacing:-.055em;max-width:22ch;margin:0;font-weight:500}
.value-hero h2 em{color:#f6f5f1}.value-lead{color:#c7cabf;max-width:58ch;font-size:18px;line-height:1.7;margin-top:28px}
.value-outcomes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px;margin-top:64px}
.value-outcomes article{border-top:1px solid #606456;padding-top:18px}.value-index{display:flex;justify-content:space-between;font-size:12px;color:#bfc1b8}.value-index span{font-size:22px;line-height:1}
.value-outcomes h3{font-size:clamp(28px,3vw,42px);margin:27px 0 24px;letter-spacing:-.04em}.value-outcomes h4{font-size:16px;font-weight:500;line-height:1.5;margin:0 0 12px}.value-outcomes p{color:#b9bdb0;font-size:14px;line-height:1.85;max-width:36ch}
.value-hero+.case-scope,.value-hero+.case-quote{padding-top:65px}
/* Keep supporting research secondary to the project value. */
.case-evidence{background:#e9ebe3;color:var(--ink)}.case-evidence .eyebrow,.evidence-grid p,.evidence-source{color:var(--muted)}.evidence-source{border-top-color:#bfc3b7}.evidence-grid strong{font-size:clamp(48px,5vw,70px)}
@media(max-width:600px){.value-hero{padding-block:45px}.value-heading{margin-bottom:34px}.value-signature{display:none}.value-hero h2{font-size:45px;line-height:1.08}.value-hero h2 br{display:none}.value-lead{font-size:16px;margin-top:24px}.value-outcomes{grid-template-columns:1fr;gap:32px;margin-top:40px}.value-outcomes h3{font-size:36px;margin:18px 0}.value-outcomes p{max-width:none}.value-hero+.case-scope,.value-hero+.case-quote{padding-top:40px}}
.experience-feature{padding-block:85px}.experience-feature>h2{font-size:clamp(38px,4.7vw,68px);line-height:1.08;max-width:24ch}.experience-lead{font-size:17px;max-width:65ch;margin:25px 0 45px}.experience-editorial{display:grid;grid-template-columns:1.5fr 1fr;gap:45px;align-items:center}.experience-editorial img{aspect-ratio:1.35;object-fit:cover}.experience-editorial figcaption{font-size:11px;color:var(--muted);margin-top:12px;line-height:1.7}.experience-feature h3{font-size:32px;line-height:1.2;margin:20px 0}.experience-feature article p{font-size:15px;line-height:1.85}.experience-feature .touchpoint{border-top:1px solid var(--line);padding-top:17px;margin-top:22px;font-size:13px}.touchpoint strong{color:var(--ink);font-weight:500}.experience-touchpoints{display:grid;grid-template-columns:1fr 1fr;gap:60px;margin-top:50px;padding-top:30px;border-top:1px solid var(--line)}.value-rows{margin-top:65px}.value-rows article{display:grid;grid-template-columns:1fr 1.3fr;gap:70px;border-top:1px solid #606456;padding-block:35px}.value-rows h3{font-size:clamp(30px,3vw,43px);line-height:1.15;margin-top:22px}.value-rows h4{font-size:21px;line-height:1.4;font-weight:500;margin:0 0 18px}.value-rows p{font-size:15px;line-height:1.85;color:#c7cabf}.value-implication{margin-top:22px;padding-left:20px;border-left:2px solid #f6f5f1}.value-implication strong{display:block;color:#fff;font-weight:500;font-size:12px;letter-spacing:.06em;margin-bottom:8px}.value-evidence-note{font-size:11px;color:#a9ad9e;max-width:95ch;border-top:1px solid #606456;padding-top:20px}.value-depth h2{font-size:clamp(44px,5.8vw,84px)}
@media(max-width:700px){.experience-feature{padding-block:45px}.experience-editorial,.experience-touchpoints,.value-rows article{grid-template-columns:1fr;gap:25px}.experience-feature h3{font-size:29px}.experience-touchpoints{gap:35px;margin-top:35px}.value-rows{margin-top:40px}.value-rows article{padding-block:30px}.value-depth h2{font-size:44px}.value-rows h3 br{display:none}}
.language-switch{display:flex;align-items:center;gap:9px;white-space:nowrap;font-size:12px;border-left:1px solid var(--line);padding-left:18px}.language-switch a{color:var(--muted);padding-block:12px}.language-switch [aria-current]{color:var(--ink);font-weight:700}.language-switch a:hover{color:var(--accent)}
@media(max-width:900px) and (min-width:601px){.nav{gap:16px}.nav nav{gap:18px}.nav-contact{padding-left:18px}.nav-contact span{margin-left:12px}}
@media(max-width:600px){.nav{gap:16px}.nav .menu-toggle{margin-left:auto}.language-switch{padding-left:14px;gap:7px;font-size:12px}}
.full-case-link{display:inline-flex;gap:30px;font-size:14px;border-bottom:1px solid var(--ink);padding-block:12px 6px;margin-top:18px}.original-case{padding-block:85px;border-bottom:1px solid var(--line)}.original-heading{max-width:900px;margin-bottom:55px}.original-heading h2{font-size:clamp(30px,3.5vw,48px);line-height:1.4}.original-heading>p:last-child{font-size:13px;line-height:1.9;margin-top:24px;max-width:75ch}.original-layout{display:grid;grid-template-columns:240px minmax(0,1fr);gap:65px}.original-toc{position:sticky;top:110px;align-self:start;display:grid}.original-toc a{padding:14px 0;border-top:1px solid var(--line);font-size:13px;line-height:1.7}.original-toc a span{display:block;font-size:10px;color:var(--accent)}.original-prose{max-width:760px}.original-chapter{padding-bottom:55px}.original-chapter+.original-chapter{border-top:1px solid var(--line);padding-top:45px}.original-chapter h3{font-size:32px;line-height:1.45;margin-bottom:28px}.original-chapter h4{font-size:21px;font-weight:500;line-height:1.6;margin:36px 0 16px}.original-chapter p:not(.eyebrow){font-size:16px;line-height:2.05;margin-bottom:22px;color:#44473f;text-align:left;overflow-wrap:anywhere}.original-chapter .original-reference{font-size:13px!important;margin-bottom:10px!important}.original-case+.case-scope{padding-top:60px}
@media(max-width:800px){.original-layout{grid-template-columns:1fr;gap:35px}.original-toc{position:static;grid-template-columns:1fr 1fr;gap:0 20px}.original-case{padding-block:50px}.original-heading{margin-bottom:30px}.original-chapter h3{font-size:27px}.original-chapter p:not(.eyebrow){font-size:15px}.full-case-link{font-size:13px;gap:15px}}

/* Larger shared navigation, with a cleaner logo area. */
.nav nav a{font-size:17px;white-space:nowrap}
.nav .language-switch{font-size:16px}
@media(min-width:901px){.nav nav{gap:34px}}
@media(min-width:601px) and (max-width:900px){.nav{gap:14px;padding-inline:3vw}.nav nav{gap:16px}.nav nav a{font-size:15px}.nav .language-switch{font-size:14px;padding-left:12px}.nav-contact{padding-left:14px}.nav-contact span{margin-left:10px}}
@media(max-width:600px){.nav nav a{font-size:21px}.nav .menu-toggle{font-size:17px}.nav .language-switch{font-size:15px}}
/* Soft translucent navigation lets the page subtly show through. */
.nav{background:rgba(246,245,241,.84);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid rgba(217,217,208,.65)}
