/* style.css */
:root{--paper:#f4f1e9;--ink:#24251f;--muted:#626359;--line:#c8c8bc;--orange:#bd3c24;--olive:#dadbb7}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit}a,button{touch-action:manipulation}a:focus-visible,button:focus-visible{outline:3px solid var(--orange);outline-offset:6px}p{line-height:1.6}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-weight:500;letter-spacing:-.045em}h1{font-size:clamp(56px,8.4vw,132px);line-height:.96;margin-bottom:56px}h1 span{font-family:Georgia,'Times New Roman',serif;font-style:italic;letter-spacing:-.055em;font-weight:400}h2{font-size:clamp(34px,4.3vw,65px);line-height:1.08}h3{font-size:26px;line-height:1.16}.eyebrow{font-size:11px;letter-spacing:.12em;font-weight:600;display:block;margin-bottom:28px;text-transform:uppercase;line-height:1.5}.skip{position:absolute;left:20px;top:-100px;background:var(--ink);color:white;padding:15px;z-index:4}.skip:focus{top:15px}.preview{padding:10px 4.5%;background:#e5e4da;display:flex;justify-content:space-between;align-items:center;font-size:10px;letter-spacing:.1em}.review-toggle{border:0;background:none;color:var(--ink);cursor:pointer;padding:3px;font-size:11px}.review-toggle span{margin-left:10px}.review{padding:35px 4.5%;background:#e5e4da;display:grid;grid-template-columns:1fr 1fr;gap:50px}.review[hidden]{display:none}.review h2{font-size:25px}.review p,.review li{font-size:14px;line-height:1.6}.review ul{margin:0;padding-left:20px}header{padding:30px 4.5%;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line)}.wordmark{font-size:25px;font-weight:700;letter-spacing:-1.3px;white-space:nowrap}.dot{color:var(--orange)}nav{display:flex;align-items:center;gap:35px;font-size:13px}nav a{padding:6px 0}nav a:hover,nav [aria-current=page]{text-decoration:underline;text-underline-offset:5px}.nav-contact{border-bottom:1px solid var(--ink)}.nav-contact span{margin-left:20px}section{padding:100px 4.5%}.hero{padding-top:65px;padding-bottom:60px}.hero .eyebrow{margin-bottom:45px}.hero h1{max-width:1200px}.hero-bottom{display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:end;max-width:1210px}.hero-mark{font-size:150px;line-height:1;color:var(--orange);font-weight:400}.hero-bottom h2{font-size:20px;line-height:1.35;letter-spacing:-.02em;max-width:400px}.hero-bottom p{font-size:16px;max-width:520px}.text-link{display:inline-flex;gap:22px;align-items:center;border-bottom:1px solid;padding:8px 0;font-size:13px}.text-link:hover{color:var(--orange)}.selected{border-top:1px solid var(--line);padding-top:65px}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:50px;margin-bottom:45px}.section-heading h2{margin:0}.section-heading>p{max-width:350px;font-size:16px}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:50px 24px}.project-card:first-child{grid-column:1/-1}.project-art{position:relative;isolation:isolate;overflow:hidden;min-height:390px;padding:28px;display:flex;flex-direction:column;justify-content:space-between;background:#b6ced4;color:#182f38}.project-card:first-child .project-art{min-height:500px}.project-art:before,.project-art:after{content:'';position:absolute;z-index:-1;pointer-events:none}.aqua:before{width:80%;height:260%;left:35%;top:-100%;border:1px solid #182f3855;transform:rotate(28deg);border-radius:50%}.aqua:after{width:80%;height:260%;left:25%;top:-100%;border:1px solid #182f3855;transform:rotate(28deg);border-radius:50%}.hotels{background:#b53c62;color:#fff1c4}.hotels:before{background:#f77d42;width:65%;height:150%;right:-25%;top:-20%;transform:rotate(-25deg)}.fashion{background:#d7db60;color:#24251f}.fashion:before{width:180%;height:50%;border:1px solid #24251f;left:-30%;top:40%;transform:rotate(-35deg)}.fashion:after{width:180%;height:50%;border:1px solid #24251f;left:-30%;top:47%;transform:rotate(-35deg)}.olive{background:var(--olive)}.art-kicker{font-size:11px;letter-spacing:.07em;text-transform:uppercase}.art-title{font-weight:700;font-size:clamp(60px,7vw,120px);line-height:.85;letter-spacing:-.075em;max-width:80%;margin:30px 0}.project-card:first-child .art-title{font-size:clamp(110px,18vw,260px)}.art-note{font-size:9px;letter-spacing:.06em;max-width:80%}.art-index{position:absolute;right:25px;bottom:24px;font-size:12px}.project-card:hover .project-art{filter:saturate(1.1)}.card-caption{padding-top:20px;display:flex;justify-content:space-between;gap:20px}.card-caption h3{font-size:22px;margin-bottom:7px}.card-caption p{font-size:12px;margin-bottom:0;color:var(--muted)}.round-arrow{width:35px;height:35px;flex:0 0 35px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center}.services{background:var(--olive)}.service-row{display:grid;grid-template-columns:55px 1fr 1fr 24px;gap:20px;border-top:1px solid #7c805d;padding:30px 0;align-items:start}.service-row:last-child{border-bottom:1px solid #7c805d}.service-row>span{font-size:12px}.service-row h3{margin:0}.service-row p{margin:0;max-width:340px;font-size:14px}.service-row b{font-weight:400;font-size:24px}.service-row:hover h3{text-decoration:underline;text-underline-offset:5px}.about{display:grid;grid-template-columns:1fr 1fr;gap:8%}.about h2{max-width:550px}.large-copy{font-size:23px;line-height:1.45;letter-spacing:-.02em}.about>div>p:not(.large-copy){max-width:500px;font-size:16px}.contact{background:var(--ink);color:var(--paper)}.contact h2{font-size:clamp(60px,9.4vw,145px);line-height:.98;margin:35px 0 65px}.contact h2 span{color:#e98b68}.contact-bottom{display:flex;justify-content:space-between;gap:35px;align-items:end}.contact-bottom p{max-width:440px;margin-bottom:0;font-size:16px}.button{display:inline-flex;align-items:center;gap:65px;border:1px solid;padding:18px 22px;font-size:14px;white-space:nowrap}.button:hover{background:var(--paper);color:var(--ink)}footer{padding:40px 4.5%;display:flex;justify-content:space-between;gap:40px;align-items:start}footer p{font-size:12px;margin:0}footer>a:last-child{font-size:12px;padding-top:8px}.page-hero{padding-top:65px;padding-bottom:65px}.page-hero h1{font-size:clamp(50px,7vw,112px);margin:45px 0}.intro{font-size:20px;max-width:680px;margin-bottom:0}.offer{display:grid;grid-template-columns:1fr 1.55fr;gap:10%;border-top:1px solid var(--line);padding-top:65px;padding-bottom:65px}.offer h2{font-size:52px}.offer p{max-width:700px}.offer-list{padding:0;list-style:none;margin:30px 0}.offer-list li{padding:18px 0;border-top:1px solid var(--line);font-size:16px;line-height:1.5}.process{background:var(--olive)}.process h2{max-width:800px}.process ol{padding:0;list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:30px;margin:50px 0}.process li{border-top:1px solid #7c805d;padding-top:20px}.process li>span{font-size:12px;display:block;margin-bottom:35px}.process h3{font-size:23px}.process li p{font-size:14px}.process>p{max-width:600px;font-size:14px}.work-index{margin:0 4.5% 40px;display:grid;grid-template-columns:1fr 1fr;gap:0 30px}.work-index a{display:flex;align-items:center;gap:15px;border-top:1px solid var(--line);padding:17px 0;line-height:1.4}.work-index a span{font-size:10px;color:var(--muted)}.work-index b{font-weight:400;margin-left:auto}.case{padding:75px 4.5%;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1.55fr;gap:8%;scroll-margin-top:25px}.case-aside h2{font-size:42px;max-width:400px}.case-aside p{font-size:12px;color:var(--muted)}.case-aside .eyebrow{font-size:10px}.case-content>.project-art{margin-bottom:35px;min-height:340px}.case-content h3{font-size:32px;max-width:600px;margin-bottom:25px}.case-content>p{max-width:700px;font-size:16px}.contribution{margin-top:35px;padding-top:22px;border-top:1px solid var(--line)}.contribution .eyebrow{margin-bottom:10px;font-size:10px}.contribution p{font-size:14px;margin:0}
@media(min-width:1600px){body{max-width:1800px;margin:auto;border-left:1px solid var(--line);border-right:1px solid var(--line)}}
@media(max-width:760px){header{padding:24px 6%;align-items:start}.wordmark{font-size:22px}nav{gap:18px;font-size:12px}.nav-contact{display:none}.preview{padding:9px 6%;font-size:8px}.review{grid-template-columns:1fr;gap:15px;padding:25px 6%}.review-toggle{font-size:10px}section{padding:65px 6%}.hero{padding-top:45px}.hero h1{font-size:clamp(50px,11.5vw,85px);margin-bottom:38px}.hero .eyebrow{margin-bottom:30px}.hero-bottom{grid-template-columns:55px 1fr;gap:22px}.hero-mark{font-size:60px;align-self:start}.hero-bottom h2{font-size:18px}.hero-bottom p{font-size:14px}.section-heading{align-items:start;flex-direction:column;gap:20px;margin-bottom:30px}.section-heading .eyebrow{margin-bottom:20px}.section-heading h2{font-size:38px}.project-grid{grid-template-columns:1fr;gap:32px}.project-card:first-child{grid-column:auto}.project-art,.project-card:first-child .project-art{min-height:340px;padding:22px}.art-title,.project-card:first-child .art-title{font-size:90px}.art-note{font-size:8px}.card-caption h3{font-size:21px}.service-row{grid-template-columns:28px 1fr 20px;gap:15px;padding:25px 0}.service-row h3{font-size:24px}.service-row p{grid-column:2;font-size:14px}.service-row b{grid-column:3;grid-row:1}.about{grid-template-columns:1fr;gap:20px}.large-copy{font-size:21px}.contact h2{font-size:68px;margin-bottom:38px}.contact-bottom{align-items:start;flex-direction:column;gap:25px}.contact-bottom p{font-size:14px}.button{gap:40px}.page-hero{padding-top:45px;padding-bottom:45px}.page-hero h1{font-size:51px;margin:28px 0}.intro{font-size:17px}.offer{grid-template-columns:1fr;gap:5px;padding:45px 6%}.offer h2{font-size:39px}.offer-list li,.offer p{font-size:15px}.offer p.large-copy{font-size:21px}.process h2{font-size:38px}.process ol{grid-template-columns:1fr 1fr;gap:25px;margin-top:35px}.process li>span{margin-bottom:20px}.process h3{font-size:21px}.work-index{grid-template-columns:1fr;margin:0 6% 30px}.case{grid-template-columns:1fr;gap:30px;padding:50px 6%}.case-aside h2{font-size:36px;margin-bottom:18px}.case-content h3{font-size:28px}.case-content>p{font-size:15px}footer{padding:30px 6%;flex-wrap:wrap;gap:25px}footer p{width:50%;text-align:right;margin-left:auto}footer>a:last-child{width:100%;border-top:1px solid var(--line);padding-top:20px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.icon{display:inline-block;width:1em;height:1em;vertical-align:middle;flex-shrink:0}.hero-mark .icon{width:1em;height:1em}.work-index b .icon{width:15px;height:15px}.nav-contact .icon{width:12px;height:12px}
/* Portfolio-led direction: Montserrat, cool grey, black and red. */
/* Proposed integration only. Replace existing Montserrat face, not append.
   Preserve Montserrat-OFL.txt. Preload only Montserrat-latin-f85590225148.woff2, keeping crossorigin.
   Full original is network-error fallback and complementary-character face. */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url('/assets/fonts/Montserrat-latin-f85590225148.woff2') format('woff2'),
       url('/assets/fonts/Montserrat-full-6e712eafc11f.woff2') format('woff2'),
       url('/assets/fonts/Montserrat.ttf') format('truetype');
  unicode-range: U+0000, U+000D, U+0020-007E, U+00A0-00AC, U+00AE-0183, U+0186-018C, U+018E-0194, U+0196-01A1, U+01A4-01A6, U+01A9, U+01AC-01B9, U+01C0-01F5, U+01F8-0220, U+0222-0223, U+0226-0233, U+0237, U+023A-023E, U+0241-0251, U+0253-0254, U+0256-0259, U+025B-025C, U+025F-0260, U+0263-0266, U+0268-026C, U+026F, U+0271-0272, U+0274-0275, U+027D-027E, U+0280, U+0283, U+0287-028C, U+028E, U+0292, U+0294-0295, U+0298, U+029D, U+02B0, U+02B7-02C1, U+02C6-02CC, U+02D7-02DD, U+02EC, U+02EE, U+02FB-02FC, U+0300-0304, U+0306-030D, U+030F-0313, U+0315, U+031B, U+0320, U+0323-0329, U+032D-0332, U+0334-0338, U+034F, U+0358, U+035C-035D, U+035F, U+0361-0362, U+1E00-1E9B, U+1E9E, U+1EA0-1EF9, U+2007-200B, U+2010, U+2012-2015, U+2018-201A, U+201C-201E, U+2020-2022, U+2026, U+2030, U+2032-2033, U+2039-203A, U+2044, U+2052, U+20A1, U+20A3-20A4, U+20A6-20A7, U+20A9, U+20AB-20AE, U+20B1-20B2, U+20B4-20B5, U+20B8-20BA, U+20BC-20BD, U+20BF, U+2113, U+2116, U+2122, U+2126, U+212A-212B, U+212E, U+2144, U+2190-2199, U+2202, U+2205-2206, U+220F, U+2211-2212, U+2215, U+2219-221A, U+221E, U+222B, U+2248, U+2260, U+2264-2265, U+2C60-2C66, U+2C6D-2C6F, U+2C72-2C73, U+A726-A727, U+A740-A741, U+A789-A78D, U+A792-A793, U+A7A8-A7AB, U+A7AD-A7AE, U+A7B1-A7B9, U+A7C7-A7C8, U+A7CB-A7CD, U+A7DA-A7DC, U+AB53;
}
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url('/assets/fonts/Montserrat-full-6e712eafc11f.woff2') format('woff2'),
       url('/assets/fonts/Montserrat.ttf') format('truetype');
  unicode-range: U+0394, U+039B, U+03A7, U+03A9, U+03BB-03BC, U+03C0, U+03C7, U+0400-045F, U+0462-0463, U+046A-046B, U+0472-0475, U+048A-04FF, U+0510-0513, U+051A-051D, U+0524-0529, U+052E-052F, U+1D3A, U+1D43, U+1D49, U+1D4B, U+1D52-1D53, U+1D58, U+1D5B, U+1D7B, U+1D7D-1D7E, U+1D91, U+1DA4, U+1DB6, U+1DBB, U+1DBF, U+1DC4-1DCA, U+2070-2071, U+2074-2079, U+207F-2089, U+2153-2154, U+215B-215E, U+2183-2184, U+24B6, U+24D0, U+25A0-25A1, U+25B2-25B3, U+25B6-25B7, U+25BC-25BD, U+25C0-25C1, U+25C6-25C7, U+25CA, U+25CC, U+27E8-27E9, U+A717-A71A, U+FB01-FB02;
}
@font-face{font-family:Allura;src:url('/assets/fonts/Allura.ttf') format('truetype');font-weight:400;font-display:swap}
:root{--paper:#e7e7e7;--ink:#1e1e1e;--muted:#595959;--line:#bdbdbd;--orange:#ce2029;--olive:#dddddd}body{font-family:Montserrat,Arial,sans-serif}h1,h2,h3{font-weight:800;letter-spacing:-.065em}h1 span{font-family:inherit;font-style:normal;font-weight:800;letter-spacing:inherit}.wordmark{font-weight:800;letter-spacing:-1.4px}.preview,.review{background:#d9d9d9}.hero{padding-top:48px}.hero h1{position:relative;margin-bottom:45px;padding-top:85px}.hero .signature{display:block;font-family:Allura,cursive;font-size:clamp(65px,9vw,140px);font-weight:400;letter-spacing:-.025em;color:#df242b;line-height:.8;position:absolute;top:8px;left:14%;transform:rotate(-8deg);z-index:1}.hero .hero-title{font-size:clamp(65px,9.5vw,152px);letter-spacing:-.09em;line-height:.85;display:block}.hero-bottom{grid-template-columns:.65fr 1.35fr;gap:6%;max-width:1300px}.hero-bottom h2{font-weight:600;font-size:21px;letter-spacing:-.04em;max-width:570px}.hero-bottom p{font-size:15px;max-width:650px}.hero-bottom .offer-summary{font-size:12px;color:var(--muted);max-width:570px}.hero-mark{font-size:140px}.hero-actions{display:flex;align-items:center;gap:24px;flex-wrap:wrap;margin-top:28px}.button.primary{background:var(--ink);color:var(--paper);border-color:var(--ink);gap:35px}.button.primary:hover{background:#ce2029;border-color:#ce2029;color:#fff}.hero-actions .text-link{font-size:12px}.section-heading h2{font-size:clamp(38px,5vw,75px)}.project-image{position:relative;margin:0;overflow:hidden;background:#cfcfcf}.project-image img{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;display:block;transition:transform .35s ease}.project-card:first-child .project-image img{aspect-ratio:2.1/1;object-position:center 50%}.project-image figcaption{position:absolute;left:12px;bottom:12px;background:rgba(20,20,20,.82);color:#fff;font-size:8px;letter-spacing:.025em;padding:5px 7px;line-height:1.3}.project-card:hover img{transform:scale(1.015)}.card-caption h3{font-size:22px;font-weight:700;letter-spacing:-.05em}.card-caption p{font-size:10px}.round-arrow{color:var(--orange);border-color:var(--orange)}.service-row{border-color:#aaa}.service-row:last-child{border-color:#aaa}.service-row h3{font-weight:700;font-size:26px}.service-row b{color:var(--orange)}.about{row-gap:35px}.about-photo{margin:0;grid-column:1/-1}.about-photo img{width:100%;height:auto;display:block}.about-photo figcaption{font-size:9px;line-height:1.5;color:var(--muted);padding-top:10px}.about h2{font-size:clamp(36px,4.8vw,68px)}.large-copy{font-size:21px;letter-spacing:-.025em}.contact h2{font-weight:800;letter-spacing:-.075em}.contact h2 span{color:#ff4148}.contact .button{background:#e7e7e7;color:#1e1e1e;border:0}.contact .button:hover{background:#fff}.contact p{font-size:14px}.page-hero h1{font-size:clamp(53px,8vw,120px);line-height:.94;letter-spacing:-.075em}.page-hero h1 span{color:#ce2029}.intro{font-size:18px;max-width:760px}.scope-intro{font-size:14px;max-width:650px;margin-top:22px}.offer h2{font-size:50px}.offer p{font-size:15px}.offer p.large-copy{font-size:21px}.offer-list li{font-size:15px}.case-aside h2{font-weight:800;font-size:43px}.case-content .project-image{margin-bottom:32px}.case-content .project-image img{aspect-ratio:3/2}.case-content .japan-taiwan img,.case-content .ritz-carlton img{aspect-ratio:4/3;object-position:50% 35%}.case-content h3{font-weight:600;font-size:30px;letter-spacing:-.045em}.case-content>p{font-size:15px}.work-index a{font-size:12px}.questions{border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1.55fr;gap:10%}.questions h2{font-size:45px}.questions details{padding:22px 0;border-top:1px solid var(--line)}.questions details:last-child{border-bottom:1px solid var(--line)}.questions summary{cursor:pointer;font-size:15px;font-weight:600;line-height:1.5;padding-right:20px}.questions details p{font-size:14px;line-height:1.65;margin:18px 0 0}.process li{border-color:#aaa}.process h3{font-weight:650;letter-spacing:-.04em}.text-link,.button{font-weight:500}footer p{font-size:11px}
@media(max-width:760px){header{padding:23px 6%}.wordmark{font-size:20px}nav{gap:16px;font-size:11px}.hero{padding-top:38px}.hero .eyebrow{font-size:9px;margin-bottom:20px}.hero h1{padding-top:62px;margin-bottom:35px}.hero .signature{font-size:74px;left:10%;top:8px}.hero .hero-title{font-size:clamp(49px,10.2vw,74px);line-height:.91;letter-spacing:-.085em}.hero-bottom{grid-template-columns:1fr;gap:15px}.hero-mark{display:none}.hero-bottom h2{font-size:18px;max-width:360px}.hero-bottom p{font-size:14px}.hero-bottom .offer-summary{font-size:11px}.hero-actions{gap:20px;margin-top:20px}.hero-actions .button{font-size:12px;padding:15px;gap:18px}.hero-actions .text-link{font-size:11px}.section-heading h2{font-size:40px}.project-card:first-child .project-image img,.project-image img{aspect-ratio:3/2}.project-image figcaption{font-size:7px;left:8px;bottom:8px}.card-caption h3{font-size:22px}.service-row h3{font-size:23px}.service-row p{font-size:13px}.about h2{font-size:38px}.large-copy{font-size:19px}.about-photo img{aspect-ratio:1.3/1;object-fit:cover;object-position:68% 50%}.about-photo figcaption{font-size:8px}.contact h2{font-size:58px}.page-hero h1{font-size:clamp(40px,10.3vw,63px);line-height:.98}.intro{font-size:16px}.scope-intro{font-size:13px}.offer h2{font-size:36px}.offer p.large-copy{font-size:19px}.offer p,.offer-list li{font-size:14px}.case-aside h2{font-size:36px;overflow-wrap:normal}.case-content h3{font-size:25px}.case-content>p{font-size:14px}.case-content .project-image{margin-bottom:25px}.work-index a{font-size:11px}.questions{grid-template-columns:1fr;gap:20px}.questions h2{font-size:36px}.questions summary{font-size:14px}.questions details p{font-size:13px}.process h2{font-size:36px}.process h3{font-size:20px}.process li p{font-size:13px}.contact .button{font-size:13px}}
@media(prefers-reduced-motion:reduce){.project-image img{transition:none}}
.hero .signature{white-space:nowrap}@media(max-width:760px){.hero .signature{font-size:clamp(50px,16vw,74px);left:6%;top:6px}.hero h1{padding-top:68px}.hero .hero-title{font-size:clamp(40px,10.2vw,74px)}}
/* Targeted conversion and accessibility audit, preview 03. */
summary:focus-visible{outline:3px solid var(--orange);outline-offset:6px}main:focus{outline:none}.review-toggle,nav a{min-height:44px;display:inline-flex;align-items:center}.related-work{font-size:14px;line-height:1.8}.related-work a,.email-fallback a{text-decoration:underline;text-underline-offset:4px}.email-fallback{margin:35px 0 0;font-size:13px!important;overflow-wrap:anywhere}.contact a:focus-visible{outline-color:#ff767c}.questions summary{min-height:44px}.hero-bottom .offer-summary{font-size:14px;line-height:1.65}.card-caption p{font-size:12px}.case-aside p{line-height:1.65}.project-image figcaption{font-size:10px}.about-photo figcaption{font-size:11px}
@media(max-width:760px){header{flex-wrap:wrap;gap:10px;padding-top:15px;padding-bottom:15px}header nav{width:100%;justify-content:space-between;gap:16px;font-size:13px}.nav-contact{display:inline-flex;gap:8px;border-bottom:0}.nav-contact span{margin-left:0}.preview{font-size:9px}.review-toggle{font-size:11px}.hero-bottom .offer-summary{font-size:13px}.project-image figcaption{font-size:9px}.card-caption p{font-size:12px}.about-photo figcaption{font-size:10px}.email-fallback{font-size:12px!important}}
:root{--orange:#c51f28}
.case-content .japan-taiwan img{object-position:50% 65%}.case-content .ritz-carlton img{object-position:50% 55%}

/* Study 26 — email stays primary, with a quieter LinkedIn invitation. */
.contact-actions{display:flex;flex-direction:column;align-items:flex-end;gap:14px;flex-shrink:0}
.contact .contact-actions .text-link{font-size:13px;line-height:1.5;min-height:44px;gap:18px}
@media(max-width:760px){.contact-actions{align-items:flex-start;max-width:100%;flex-shrink:1}}

/* Full-bleed colour bands; retain the existing 1800px content canvas. */
@media(min-width:1600px){
 body{border-left-color:transparent;border-right-color:transparent}
 body > header,main > .hero,main > .page-hero{box-shadow:0 0 0 100vmax var(--butter);clip-path:inset(0 -100vmax)}
 main > .contact,body > footer{box-shadow:0 0 0 100vmax var(--cobalt);clip-path:inset(0 -100vmax)}
}


/* content-editorial.css */
/* The Study 06 identity, scaled for reading and exploring the work. */
.content-editorial {
  --paper: #f4f1e8;
  --ink: #151515;
  --muted: #55534f;
  --line: #bbb8ad;
  --orange: #173cec;
  --cobalt: #173cec;
  --butter: #f2e59c;
  background: var(--paper);
  color: var(--ink);
}
.content-editorial .preview,
.content-editorial .review { background: var(--paper); color: var(--cobalt); }
.content-editorial .preview { font-family: monospace; letter-spacing: .02em; }
.content-editorial .review-toggle { color: var(--cobalt); }
.content-editorial .skip { background: var(--butter); color: var(--cobalt); }
.content-editorial header { background: var(--butter); color: var(--cobalt); padding: 22px 4.5%; border: 0; }
.content-editorial header .wordmark { display: flex; gap: 14px; align-items: center; letter-spacing: 0; }
.content-editorial .db-mark {
  width: 58px; height: 58px; display: flex; align-items: center; justify-content: center;
  background: var(--cobalt); color: var(--butter); box-shadow: inset 0 0 0 1px var(--cobalt);
  font: 700 36px Arial, Helvetica, sans-serif; letter-spacing: -3px;
  transition: background-color .24s ease, color .24s ease;
}
.content-editorial .db-mark span { color: inherit; font-size: 28px; margin-left: 3px; }
.content-editorial header .wordmark:is(:hover,:focus-visible) .db-mark { background: var(--butter); color: var(--cobalt); }
.content-editorial .brand-caption { font-size: 10px; line-height: 1.5; font-weight: 500; }
.content-editorial header nav { font-size: 12px; gap: 30px; }
.content-editorial .nav-contact { border-color: var(--cobalt); }
.content-editorial :is(h1,h2,h3,.eyebrow) { color: var(--cobalt); }
.content-editorial .eyebrow { font: 11px/1.6 monospace; letter-spacing: .03em; }
.content-editorial section { padding-top: 76px; padding-bottom: 76px; }
.content-editorial .page-hero {
  display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1.1fr); column-gap: 8%;
  background: var(--butter); padding-top: 35px; padding-bottom: 60px; color: var(--cobalt);
}
.content-editorial .page-hero > .eyebrow { grid-column: 1/-1; border-top: 1px solid #173cec66; padding-top: 20px; margin-bottom: 30px; }
.content-editorial .page-hero h1 { grid-column: 1; grid-row: 2/5; font-size: clamp(42px,4.5vw,68px); line-height: 1; margin: 0; max-width: 550px; }
.content-editorial .page-hero h1 span { color: inherit; }
.content-editorial .page-hero > :is(.intro,.scope-intro,.hero-actions) { grid-column: 2; }
.content-editorial .intro { font-size: 18px; line-height: 1.65; max-width: 65ch; }
.content-editorial .scope-intro { font-size: 16px; line-height: 1.7; margin-top: 20px; }
.content-editorial .hero-actions { margin-top: 25px; gap: 22px; }
.content-editorial .button { font-size: 13px; padding: 16px 20px; gap: 26px; }
.content-editorial .button.primary { background: var(--cobalt); color: var(--butter); border-color: var(--cobalt); }
.content-editorial .button.primary:hover { background: var(--ink); border-color: var(--ink); color: var(--butter); }
.content-editorial .text-link { font-size: 13px; min-height: 44px; }
.content-editorial .page-hero .text-link:hover { color: var(--ink); }
.content-editorial .offer { grid-template-columns: minmax(0,.65fr) minmax(0,1.35fr); gap: 8%; }
.content-editorial .offer > div { min-width: 0; max-width: 780px; }
.content-editorial .offer h2 { font-size: clamp(30px,3.5vw,46px); line-height: 1.08; margin-bottom: 26px; }
.content-editorial .offer p { font-size: 16px; line-height: 1.75; max-width: 67ch; }
.content-editorial .offer p.large-copy { font-size: 21px; line-height: 1.5; }
.content-editorial .offer-list { margin: 28px 0; }
.content-editorial .offer-list li { font-size: 16px; line-height: 1.7; padding: 19px 0; }
.content-editorial .related-work { background: var(--butter); padding: 20px 22px; border-left: 3px solid var(--cobalt); }
.content-editorial .related-work a { color: var(--cobalt); }
.content-editorial .process { background: var(--butter); }
.content-editorial .process h2 { font-size: clamp(32px,3.7vw,48px); line-height: 1.08; }
.content-editorial .process ol { gap: 30px; }
.content-editorial .process li { min-width: 0; border-top: 2px solid var(--cobalt); }
.content-editorial .process li > span { color: var(--cobalt); font: 12px/1.5 monospace; margin-bottom: 24px; }
.content-editorial .process h3 { font-size: 23px; letter-spacing: -.04em; }
.content-editorial .process p,.content-editorial .process li p { font-size: 16px; line-height: 1.7; }
.content-editorial .questions { grid-template-columns: minmax(0,.65fr) minmax(0,1.35fr); gap: 8%; }
.content-editorial .questions > div { min-width: 0; }
.content-editorial .questions h2 { font-size: 37px; }
.content-editorial .questions summary { font-size: 16px; line-height: 1.6; color: var(--cobalt); }
.content-editorial .questions details p { font-size: 16px; line-height: 1.75; max-width: 65ch; }
.content-editorial .work-index { margin-top: 32px; margin-bottom: 60px; gap: 0 45px; }
.content-editorial .work-index a { min-width: 0; font-size: 15px; min-height: 78px; padding: 18px 0; }
.content-editorial .work-index a span { font: 11px/1.5 monospace; color: var(--cobalt); min-width: 28px; }
.content-editorial .work-index a b { color: var(--cobalt); }
.content-editorial .work-index a:hover { color: var(--cobalt); }
.content-editorial .agency-chapter { background: var(--cobalt); color: var(--paper); }
.content-editorial .agency-heading { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,.65fr); gap: 8%; align-items: end; margin-bottom: 48px; }
.content-editorial .agency-chapter :is(h2,h3,.eyebrow) { color: var(--butter); }
.content-editorial .agency-heading h2 { font-size: clamp(34px,3.8vw,54px); line-height: 1.03; margin: 0; }
.content-editorial .agency-heading > p { font-size: 17px; line-height: 1.7; margin-bottom: 0; max-width: 44ch; }
.content-editorial .agency-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 40px 56px; }
.content-editorial .agency-card { border-top: 1px solid #f2e59c99; padding-top: 25px; min-width: 0; }
.content-editorial .agency-card:nth-child(-n+2) { grid-column: 1/-1; border: 2px solid var(--butter); padding: 32px; display: grid; grid-template-columns: minmax(0,.8fr) minmax(0,1.2fr); gap: 8%; }
.content-editorial .agency-card:last-child { grid-column: 1/-1; display: grid; grid-template-columns: minmax(0,.8fr) minmax(0,1.2fr); gap: 8%; }
.content-editorial .work-status { display: inline-block; color: var(--butter); border: 1px solid #f2e59c99; padding: 5px 8px; font: 10px/1.6 monospace; letter-spacing: .02em; text-transform: uppercase; margin-bottom: 24px; }
.content-editorial .agency-card h3 { font-size: 31px; line-height: 1.1; margin: 0 0 15px; letter-spacing: -.05em; }
.content-editorial .agency-card:nth-child(-n+2) h3 { font-size: 39px; }
.content-editorial .agency-discipline { font: 11px/1.7 monospace; color: var(--butter); margin-bottom: 24px; }
.content-editorial .agency-contribution { font-size: 16px; line-height: 1.75; max-width: 67ch; margin-bottom: 0; }
.content-editorial .archive-heading { padding: 65px 4.5% 0; }
.content-editorial .archive-heading h2 { font-size: 39px; line-height: 1.06; margin-bottom: 20px; }
.content-editorial .archive-heading > p { font-size: 16px; line-height: 1.7; max-width: 60ch; }
.content-editorial .case { grid-template-columns: minmax(0,.8fr) minmax(0,1.5fr); gap: 8%; padding-top: 68px; padding-bottom: 68px; }
.content-editorial .case-aside,.content-editorial .case-content { min-width: 0; }
.content-editorial .case-aside .eyebrow { font-size: 10px; max-width: 38ch; margin-bottom: 22px; }
.content-editorial .case-aside h2 { font-size: clamp(30px,3.1vw,44px); line-height: 1.07; margin-bottom: 25px; }
.content-editorial .case-aside > p { font-size: 14px; line-height: 1.7; max-width: 32ch; }
.content-editorial .case-aside .text-link { font-size: 12px; }
.content-editorial .case-aside > .case-role { font-size: 16px; margin: 24px 0 18px; }
.content-editorial .case-role > span { display: block; color: var(--cobalt); font: 10px/1.7 monospace; text-transform: uppercase; margin-bottom: 8px; }
.content-editorial .case-content .project-image { padding: 9px 9px 0; background: var(--cobalt); margin-bottom: 35px; }
.content-editorial .case-content .project-image img { aspect-ratio: 3/2; }
.content-editorial .case-content .project-image figcaption { position: static; background: none; color: var(--paper); padding: 10px 1px; font: 10px/1.6 monospace; }
.content-editorial .case-content .japan-taiwan img,.content-editorial .case-content .ritz-carlton img { aspect-ratio: 4/3; }
.content-editorial .case-content h3 { font-size: clamp(27px,2.6vw,36px); line-height: 1.15; font-weight: 650; margin-bottom: 30px; }
.content-editorial .case-content > p,.content-editorial .contribution p { font-size: 16px; line-height: 1.75; }
.content-editorial .case-story { margin: 0; }
.content-editorial .case-story > div { display: grid; grid-template-columns: 128px minmax(0,1fr); gap: 28px; padding: 24px 0; border-top: 1px solid var(--line); }
.content-editorial .case-story dt { color: var(--cobalt); font: 11px/1.7 monospace; text-transform: uppercase; padding-top: 3px; }
.content-editorial .case-story dd { margin: 0; font-size: 16px; line-height: 1.75; max-width: 63ch; }
.content-editorial .creator-film { display: grid; grid-template-columns: minmax(0,270px) minmax(0,1fr); gap: 32px; align-items: center; margin: 38px 0 0; padding: 24px; border: 2px solid var(--cobalt); background: var(--butter); }
.content-editorial .creator-film video { display: block; width: 100%; height: auto; aspect-ratio: 9/16; object-fit: contain; background: var(--ink); }
.content-editorial .creator-film video:focus-visible { outline: 3px solid var(--cobalt); outline-offset: 5px; }
.content-editorial .creator-film .eyebrow { margin-bottom: 16px; font-size: 10px; }
.content-editorial .creator-film h4 { color: var(--cobalt); font-size: 29px; line-height: 1.1; letter-spacing: -.055em; margin: 0 0 22px; }
.content-editorial .creator-film p { font-size: 15px; line-height: 1.7; }
.content-editorial .creator-film .creator-credit { font: 11px/1.8 monospace; margin: 25px 0; }
.content-editorial .creator-film summary { color: var(--cobalt); font-size: 13px; line-height: 1.6; min-height: 44px; padding: 10px 0; cursor: pointer; }
.content-editorial .creator-film details p { font-size: 14px; }
.content-editorial .contact { background: var(--cobalt); color: var(--paper); }
.content-editorial .contact .eyebrow { color: var(--butter); }
.content-editorial .contact h2 { font-size: clamp(42px,5vw,72px); line-height: 1; margin: 25px 0 38px; color: var(--butter); }
.content-editorial .contact h2 span { color: inherit; }
.content-editorial .contact-bottom { align-items: center; }
.content-editorial .contact p { font-size: 16px; line-height: 1.75; }
.content-editorial .contact .button { background: var(--butter); color: var(--cobalt); }
.content-editorial .contact .button:hover { background: var(--paper); }
.content-editorial .email-fallback { font-size: 16px!important; }
.content-editorial .email-fallback a { display: inline-block; min-height: 44px; padding: 8px 0; }
.content-editorial .contact a:focus-visible,.content-editorial footer a:focus-visible { outline-color: var(--butter); }
.content-editorial footer { background: var(--cobalt); color: var(--paper); border-top: 1px solid #f4f1e866; }
.content-editorial footer .dot { color: var(--butter); }
.content-editorial footer p { font: 10px/1.7 monospace; }

@media(max-width:1000px) {
  .content-editorial .page-hero { column-gap: 6%; }
  .content-editorial .process ol { grid-template-columns: 1fr 1fr; gap: 35px; }
  .content-editorial .case { grid-template-columns: 1fr; gap: 30px; }
  .content-editorial .case-aside { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); column-gap: 8%; align-items: start; }
  .content-editorial .case-aside > .eyebrow { grid-column: 1/-1; }
  .content-editorial .case-aside h2 { grid-column: 1; grid-row: 2/4; max-width: 520px; margin-bottom: 0; }
  .content-editorial .case-aside > p,.content-editorial .case-aside > a { grid-column: 2; }
  .content-editorial .case-aside > a { justify-self: start; }
}
@media(max-width:760px) {
  .content-editorial header { padding: 14px 6%; gap: 12px; }
  .content-editorial .db-mark { width: 44px; height: 44px; font-size: 29px; }
  .content-editorial .brand-caption { font-size: 9px; }
  .content-editorial header nav { width: 100%; gap: 15px; font-size: 12px; }
  .content-editorial section { padding-top: 50px; padding-bottom: 50px; }
  .content-editorial .page-hero { display: block; padding: 12px 6% 45px; }
  .content-editorial .page-hero > .eyebrow { margin-bottom: 27px; }
  .content-editorial .page-hero h1 { font-size: clamp(38px,9.8vw,58px); margin-bottom: 28px; }
  .content-editorial .intro { font-size: 17px; }
  .content-editorial .scope-intro { font-size: 16px; }
  .content-editorial .hero-actions { gap: 20px; }
  .content-editorial .hero-actions .button { font-size: 13px; }
  .content-editorial .hero-actions .text-link { font-size: 13px; }
  .content-editorial .offer,.content-editorial .questions { grid-template-columns: 1fr; gap: 14px; }
  .content-editorial .offer h2 { font-size: 33px; }
  .content-editorial .offer .eyebrow { margin-bottom: 12px; }
  .content-editorial .offer p.large-copy { font-size: 20px; }
  .content-editorial .related-work { padding: 18px; }
  .content-editorial .process h2,.content-editorial .questions h2 { font-size: 34px; }
  .content-editorial .process ol { gap: 28px 22px; }
  .content-editorial .process h3 { font-size: 21px; }
  .content-editorial .work-index { grid-template-columns: 1fr; margin: 20px 6% 35px; }
  .content-editorial .work-index a { font-size: 14px; min-height: 70px; }
  .content-editorial .agency-heading { grid-template-columns: 1fr; gap: 24px; margin-bottom: 35px; }
  .content-editorial .agency-heading h2 { font-size: 37px; }
  .content-editorial .agency-heading > p { font-size: 16px; }
  .content-editorial .agency-grid { grid-template-columns: 1fr; gap: 32px; }
  .content-editorial .agency-card:nth-child(-n+2) { grid-column: auto; grid-template-columns: 1fr; padding: 22px; gap: 0; }
  .content-editorial .agency-card:last-child { grid-column: auto; grid-template-columns: 1fr; gap: 0; }
  .content-editorial .agency-card h3,.content-editorial .agency-card:nth-child(-n+2) h3 { font-size: 30px; }
  .content-editorial .agency-discipline { margin-bottom: 20px; }
  .content-editorial .archive-heading { padding: 45px 6% 0; }
  .content-editorial .archive-heading h2 { font-size: 34px; }
  .content-editorial .case { padding: 48px 6%; }
  .content-editorial .case-aside { display: block; }
  .content-editorial .case-aside h2 { font-size: 34px; margin-bottom: 20px; }
  .content-editorial .case-aside > p { max-width: none; }
  .content-editorial .case-content .project-image { padding: 7px 7px 0; margin-bottom: 28px; }
  .content-editorial .case-content .project-image figcaption { font-size: 9px; }
  .content-editorial .case-content h3 { font-size: 29px; }
  .content-editorial .case-story > div { grid-template-columns: 1fr; gap: 9px; padding: 22px 0; }
  .content-editorial .case-story dt { font-size: 11px; }
  .content-editorial .creator-film { grid-template-columns: 1fr; gap: 25px; padding: 18px; }
  .content-editorial .creator-film video { max-width: 300px; justify-self: center; }
  .content-editorial .contact h2 { font-size: 45px; }
  .content-editorial .contact-bottom { align-items: start; }
  .content-editorial .email-fallback { font-size: 15px!important; }
  .content-editorial footer p { font-size: 9px; }
}
@media(max-width:380px) { .content-editorial .process ol { grid-template-columns: 1fr; } }
@media(prefers-reduced-motion:reduce) {
  .content-editorial .db-mark,.content-editorial .project-image img { transition: none; }
  .content-editorial .project-card:hover img { transform: none; }
}

/* Study 18: condensed agency capabilities and a short Daydream proof point. */
.content-editorial .agency-chapter-compact .agency-grid{gap:32px 48px}
.content-editorial .agency-chapter-compact .agency-card:nth-child(n){display:block;grid-column:auto;border:0;border-top:1px solid #f2e59c99;padding:16px 0 0}
.content-editorial .agency-chapter-compact .agency-card h3{font-size:31px;margin-bottom:10px}
.content-editorial .agency-chapter-compact .work-status{margin-bottom:10px}
.content-editorial .agency-chapter-compact .agency-discipline{margin-bottom:10px}
.content-editorial .agency-chapter-compact{padding-top:44px;padding-bottom:44px}
.content-editorial .agency-chapter-compact .agency-heading{display:block;margin-bottom:24px}
.content-editorial .agency-chapter-compact .agency-heading .eyebrow{margin-bottom:12px}
/* Keep project context beside long narratives; use normal flow on small screens. */
@media(min-width:1001px) and (min-height:800px){.content-editorial .case-aside{align-self:start;position:sticky;top:32px}}
.content-editorial .daydream-results{display:grid;grid-template-columns:1fr 1fr;gap:24px;padding:24px 0;margin:28px 0 12px;border-block:1px solid var(--cobalt);color:var(--cobalt)}
.daydream-results dt{font:11px/1.5 monospace;text-transform:uppercase;margin-bottom:12px}
.daydream-results dd{font-size:clamp(30px,3.5vw,50px);line-height:1;letter-spacing:-.06em;font-weight:700;margin:0}
.content-editorial .case-content .daydream-source-note{font-size:12px;line-height:1.7}
@media(max-width:760px){.content-editorial .agency-chapter-compact .agency-grid{gap:24px}.content-editorial .agency-chapter-compact .agency-card h3{font-size:28px}.content-editorial .daydream-results{gap:15px}.daydream-results dd{font-size:clamp(28px,8.6vw,42px)}}
@media(max-width:760px){.content-editorial .agency-chapter-compact{padding-top:32px;padding-bottom:32px}}

/* Study 20: a single top-level project index and consistent reported results. */
.content-editorial .work-index-top{margin-top:0;margin-bottom:0;padding:16px 0 24px}
.content-editorial .work-index-top a{min-height:56px;padding-block:10px}
.content-editorial .campaign-results{background:var(--butter);color:var(--cobalt);border:2px solid var(--cobalt);padding:28px;margin:32px 0 0}
.campaign-results h4{font-size:17px;line-height:1.5;font-weight:650;margin:0 0 25px}
.campaign-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin:0}
.campaign-metrics>div{display:flex;flex-direction:column;min-width:0;border-top:1px solid var(--cobalt);padding-top:15px}
.campaign-metrics dt{font-size:13px;line-height:1.6;order:2;margin-top:8px}
.campaign-metrics dd{font-size:clamp(32px,4.1vw,58px);line-height:1;font-weight:800;letter-spacing:-.065em;margin:0}
.campaign-metrics dd span{font-size:.65em;letter-spacing:-.04em}
.campaign-results .results-deliverables{font-size:14px;line-height:1.65;margin:22px 0 0}
.campaign-results .results-source-note{font-size:12px;line-height:1.65;max-width:65ch;margin:24px 0 0}
@media(max-width:760px){
 .content-editorial .work-index-top{padding:12px 0 20px}
 .content-editorial .work-index-top a{min-height:48px}
 .content-editorial .campaign-results{padding:20px;margin-top:28px}
 .campaign-metrics{gap:16px}
 .campaign-metrics dd{font-size:clamp(28px,8vw,48px)}
 .campaign-metrics dt{font-size:12px}
}
@media(max-width:380px){.campaign-metrics{grid-template-columns:1fr}.campaign-metrics dd{font-size:42px}}

/* Study 22: relevant coverage, quiet source notes and campaign media. */
.content-editorial #daydream-island .results-source-note{font-size:12px;font-style:italic;line-height:1.65;margin-top:18px}
.content-editorial .case-content .project-image:is(.japan-taiwan,.ritz-carlton,.eu-yan-sang){background:var(--butter);border:2px solid var(--cobalt)}
.content-editorial .case-content .project-image:is(.japan-taiwan,.ritz-carlton,.eu-yan-sang) figcaption{color:var(--cobalt)}
.content-editorial .case-coverage{border-top:1px solid var(--line);padding-top:17px;margin:24px 0 20px;min-width:0}
.content-editorial .case-aside .case-coverage h3{font:10px/1.7 monospace;text-transform:uppercase;letter-spacing:.03em;margin:0 0 7px;color:var(--cobalt)}
.content-editorial .case-aside .case-coverage a{display:flex;align-items:center;gap:16px;font-size:13px;line-height:1.5;padding:8px 0;min-height:44px;max-width:100%;text-decoration:none;color:var(--cobalt)}
.case-coverage a>span:first-child{min-width:0}
.case-coverage a>span:last-child{flex-shrink:0}
.coverage-source{display:block;font-size:11px;line-height:1.6;margin-bottom:3px}
.content-editorial .case-coverage p{font-size:11px;line-height:1.6;margin:8px 0 0;max-width:36ch}
@media(min-width:761px) and (max-width:1000px){.content-editorial .case-coverage{grid-column:2}}
.content-editorial .creator-film.landscape-film{display:block;padding:0;overflow:hidden}
.content-editorial .landscape-film video{aspect-ratio:16/9;width:100%;max-width:none}
.content-editorial .landscape-film figcaption{padding:24px}
.content-editorial .landscape-film h4{font-size:28px;margin-bottom:16px}
.content-editorial .landscape-film .creator-credit{margin:18px 0}
@media(max-width:760px){.content-editorial .landscape-film figcaption{padding:20px}}
.creator-film.landscape-film video:focus-visible{outline-offset:-6px}
.creator-film.landscape-film video::cue{font-size:clamp(12px,1.3vw,16px)}

.content-editorial.strategy-page .pitch-agency-proof{margin:24px 0;border-top:1px solid var(--line);padding-top:18px}
.content-editorial.strategy-page .pitch-agency-proof p{font:11px/1.6 monospace;color:var(--muted);margin:0 0 16px}
/* Study 30 — equal logo cells, shared centres and balanced responsive rows. */
.pitch-agency-proof ul{list-style:none;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:24px;margin:0;padding:0;align-items:center}
.pitch-agency-proof li{height:64px;display:flex;align-items:center;justify-content:center;min-width:0;padding:0 4px}
.pitch-agency-proof img{display:block;max-width:100%;width:auto;height:auto;max-height:58px;object-fit:contain;object-position:center;filter:brightness(0)}
.pitch-agency-proof .proof-ah{width:104px}
.pitch-agency-proof .proof-mint{width:49px}
.pitch-agency-proof .proof-jjw{width:66px}
.pitch-agency-proof .proof-komodo{width:116px}
.pitch-agency-proof .proof-sedgwick{width:160px}
@media(max-width:1200px) and (min-width:761px){
 .pitch-agency-proof ul{grid-template-columns:repeat(6,minmax(0,1fr));gap:24px}
 .pitch-agency-proof li{grid-column:span 2}
 .pitch-agency-proof li:nth-child(4){grid-column:2/span 2}
}
@media(max-width:760px){
 .pitch-agency-proof ul{grid-template-columns:repeat(4,minmax(0,1fr));gap:20px 24px}
 .pitch-agency-proof li{grid-column:span 2}
 .pitch-agency-proof li:last-child{grid-column:2/span 2}
}

/* Review 35: compact, evenly spaced pitch credentials and explicit deliverables. */
.strategy-page .pitch-agency-proof ul{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px 18px;max-width:560px}
.strategy-page .pitch-agency-proof li:nth-child(n){grid-column:auto;height:56px;padding:0}
.strategy-page .pitch-agency-proof img{max-height:44px;max-width:100%}
.strategy-page .pitch-agency-proof .proof-ah{width:100px}
.strategy-page .pitch-agency-proof .proof-mint{width:38px}
.strategy-page .pitch-agency-proof .proof-jjw{width:56px}
.strategy-page .pitch-agency-proof .proof-komodo{width:106px}
.strategy-page .pitch-agency-proof .proof-sedgwick{width:116px}
.strategy-page .pitch-agency-proof .proof-eleven{width:92px}
.strategy-page .pitch-agency-proof .proof-tbwa{width:84px}
.strategy-page .deliverables-heading{font-size:17px;line-height:1.5;color:var(--cobalt);margin:28px 0 4px}
@media(max-width:480px){.strategy-page .pitch-agency-proof ul{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px 16px}}


/* aqua-case.css */
/* Study 15: Aqua's strategic story and reported regional results. */
.content-editorial #norwegian-aqua .aqua-opening h3 {
  font-size:clamp(32px,3.4vw,48px); line-height:1.06;
  font-weight:800; letter-spacing:-.055em; margin:0 0 24px;
}
.content-editorial #norwegian-aqua .aqua-lead {
  font-size:18px; line-height:1.7; max-width:60ch; margin:0 0 32px;
}
.content-editorial #norwegian-aqua .aqua-results {
  background:var(--butter); color:var(--cobalt); border:2px solid var(--cobalt);
  padding:28px; margin:32px 0;
}
.content-editorial #norwegian-aqua .aqua-result-line {
  font-size:17px; line-height:1.5; font-weight:650; max-width:38ch; margin:0 0 25px;
}
.content-editorial #norwegian-aqua .aqua-metrics {
  display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; margin:0;
}
.content-editorial #norwegian-aqua .aqua-metrics > div {
  display:flex; flex-direction:column; min-width:0; border-top:1px solid var(--cobalt); padding-top:15px;
}
.content-editorial #norwegian-aqua .aqua-metrics dt {
  font-size:13px; line-height:1.6; order:2; margin-top:8px;
}
.content-editorial #norwegian-aqua .aqua-metrics dd {
  font-size:clamp(44px,4.6vw,66px); line-height:1; font-weight:800; letter-spacing:-.065em; margin:0;
}
.content-editorial #norwegian-aqua .aqua-metrics dd span {font-size:.7em; letter-spacing:-.04em;}
.content-editorial #norwegian-aqua .aqua-source-note {
  font-size:12px; line-height:1.65; max-width:65ch; margin:24px 0 0;
}
.content-editorial #norwegian-aqua .aqua-story > div {
  padding:28px 0; border-top:1px solid var(--line);
}
.content-editorial #norwegian-aqua .aqua-story .eyebrow {display:block; margin-bottom:16px;}
.content-editorial #norwegian-aqua .aqua-story h4 {
  font-size:29px; line-height:1.12; font-weight:750; letter-spacing:-.045em;
  color:var(--cobalt); margin:0 0 20px;
}
.content-editorial #norwegian-aqua .aqua-story p {
  font-size:16px; line-height:1.75; max-width:64ch; margin:0 0 16px;
}
.content-editorial #norwegian-aqua .aqua-story p:last-child {margin-bottom:0;}
.content-editorial #norwegian-aqua .creator-film {grid-template-columns:minmax(0,.9fr) minmax(0,1fr); margin-top:12px; gap:26px;}
.content-editorial #norwegian-aqua .creator-film video {max-width:270px; justify-self:center;}
.content-editorial #norwegian-aqua .aqua-next {margin-top:28px;}
@media(max-width:760px) {
 .content-editorial #norwegian-aqua .aqua-opening h3 {font-size:34px;}
 .content-editorial #norwegian-aqua .aqua-lead {font-size:17px;}
 .content-editorial #norwegian-aqua .aqua-results {padding:20px; margin:28px 0;}
 .content-editorial #norwegian-aqua .aqua-result-line {font-size:16px; margin-bottom:22px;}
 .content-editorial #norwegian-aqua .aqua-metrics {gap:16px;}
 .content-editorial #norwegian-aqua .aqua-metrics dd {font-size:clamp(38px,10vw,64px);}
 .content-editorial #norwegian-aqua .aqua-metrics dt {font-size:12px;}
 .content-editorial #norwegian-aqua .aqua-source-note {margin-top:20px;}
 .content-editorial #norwegian-aqua .aqua-story > div {padding:25px 0;}
 .content-editorial #norwegian-aqua .aqua-story h4 {font-size:28px;}
 .content-editorial #norwegian-aqua .creator-film {grid-template-columns:1fr;}
}

/* Study 25 — a stronger strategic opening. */
.content-editorial #norwegian-aqua .aqua-lead strong{font-weight:700;color:var(--ink)}


/* yopro-case.css */
/* Study 17: current agency work, with original posts linked on Instagram. */
.content-editorial #yopro-beat-alcaraz .case-years {white-space:nowrap;}
.content-editorial .agency-card .yopro-case-link {color:var(--butter); margin-top:18px; border-color:var(--butter);}
.content-editorial .agency-card .yopro-case-link:focus-visible {outline-color:var(--butter);}
.content-editorial #yopro-beat-alcaraz .yopro-status {margin:25px 0; padding:16px 0; border-block:1px solid var(--line);}
.content-editorial #yopro-beat-alcaraz .yopro-status > span {font:11px/1.7 monospace; text-transform:uppercase; color:var(--cobalt);}
.content-editorial #yopro-beat-alcaraz .yopro-status p {font-size:14px; line-height:1.65; margin:8px 0 0;}
.content-editorial #yopro-beat-alcaraz .yopro-opening {background:var(--butter); border:2px solid var(--cobalt); padding:32px; margin-bottom:30px;}
.content-editorial #yopro-beat-alcaraz .yopro-opening > .eyebrow {display:block; margin-bottom:22px;}
.content-editorial #yopro-beat-alcaraz .yopro-opening h3 {font-size:clamp(34px,3.5vw,48px); font-weight:800; line-height:1.05; letter-spacing:-.055em; margin:0 0 25px;}
.content-editorial #yopro-beat-alcaraz .yopro-opening p {font-size:18px; line-height:1.7; color:var(--cobalt); margin:0;}
.content-editorial #yopro-beat-alcaraz .yopro-opening a {text-decoration:underline; text-underline-offset:3px;}
.content-editorial #yopro-beat-alcaraz .yopro-lead {font-size:18px; line-height:1.75; margin:0 0 28px;}
.content-editorial #yopro-beat-alcaraz .yopro-story > div {padding:28px 0; border-top:1px solid var(--line);}
.content-editorial #yopro-beat-alcaraz .yopro-story .eyebrow {display:block; margin-bottom:16px;}
.content-editorial #yopro-beat-alcaraz :is(.yopro-story,.yopro-examples) h4 {font-size:29px; line-height:1.14; font-weight:750; letter-spacing:-.045em; color:var(--cobalt); margin:0 0 20px;}
.content-editorial #yopro-beat-alcaraz .yopro-story p {font-size:16px; line-height:1.75; margin:0 0 16px; max-width:64ch;}
.content-editorial #yopro-beat-alcaraz .yopro-story p:last-child {margin-bottom:0;}
.content-editorial #yopro-beat-alcaraz .yopro-story a {color:var(--cobalt); text-decoration:underline; text-underline-offset:3px;}
.content-editorial #yopro-beat-alcaraz .yopro-examples {border-top:2px solid var(--cobalt); padding-top:28px; margin-top:8px;}
.content-editorial #yopro-beat-alcaraz .yopro-examples > .eyebrow {display:block; margin-bottom:16px;}
.content-editorial #yopro-beat-alcaraz .yopro-link-note {font-size:14px; line-height:1.65; margin:0 0 24px;}
.content-editorial #yopro-beat-alcaraz .yopro-examples h5 {font:11px/1.7 monospace; text-transform:uppercase; color:var(--cobalt); margin:28px 0 14px;}
.content-editorial #yopro-beat-alcaraz .instagram-posts {display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px;}
.content-editorial #yopro-beat-alcaraz .instagram-posts > a {min-width:0; padding:22px; border:1px solid var(--cobalt); color:var(--cobalt); text-decoration:none; display:flex; flex-direction:column; align-items:start; background:var(--butter);}
.content-editorial #yopro-beat-alcaraz .post-number {font:11px/1.5 monospace; margin-bottom:25px;}
.content-editorial #yopro-beat-alcaraz .post-title {font-size:21px; line-height:1.2; font-weight:700; letter-spacing:-.035em; margin-bottom:16px;}
.content-editorial #yopro-beat-alcaraz .post-author {font-size:12px; line-height:1.65; overflow-wrap:anywhere; margin-bottom:22px;}
.content-editorial #yopro-beat-alcaraz .post-action {font-size:12px; line-height:1.7; margin-top:auto; display:flex; align-items:center; gap:12px;}
.content-editorial #yopro-beat-alcaraz .instagram-posts a:hover .post-action {text-decoration:underline; text-underline-offset:4px;}
.content-editorial #yopro-beat-alcaraz .yopro-next {margin-top:28px;}
@media(min-width:761px) and (max-width:1000px) {
 .content-editorial #yopro-beat-alcaraz .yopro-status {grid-column:2;}
}
@media(max-width:760px) {
 .content-editorial #yopro-beat-alcaraz .yopro-opening {padding:22px;}
 .content-editorial #yopro-beat-alcaraz .yopro-opening h3 {font-size:34px;}
 .content-editorial #yopro-beat-alcaraz :is(.yopro-opening p,.yopro-lead) {font-size:17px;}
 .content-editorial #yopro-beat-alcaraz :is(.yopro-story,.yopro-examples) h4 {font-size:28px;}
 .content-editorial #yopro-beat-alcaraz .instagram-posts {gap:12px;}
 .content-editorial #yopro-beat-alcaraz .instagram-posts > a {padding:17px;}
 .content-editorial #yopro-beat-alcaraz .post-title {font-size:20px;}
 .content-editorial #yopro-beat-alcaraz .post-action {font-size:11px; gap:6px;}
}
@media(max-width:360px) {
 .content-editorial #yopro-beat-alcaraz .instagram-posts {grid-template-columns:1fr;}
}

/* Study 22: actual campaign media, with original-post links always available. */
.content-editorial #yopro-beat-alcaraz .yopro-opening{background:none;border:0;padding:0;margin:34px 0 28px}
.content-editorial .instagram-film{display:block;padding:0;margin:0;overflow:hidden}
.instagram-player{max-width:340px;margin:0 auto;background:#fff}
.instagram-player iframe{display:block;border:0;width:100%;height:630px;max-width:100%}
.content-editorial .instagram-film figcaption{padding:22px 24px}
.content-editorial .instagram-film h4{font-size:27px;margin-bottom:16px}
.content-editorial .instagram-film .creator-credit{margin:16px 0 10px;overflow-wrap:anywhere}
.content-editorial .instagram-film .embed-note{font-size:11px;line-height:1.6;margin:10px 0 0}
.instagram-narrow{display:none}
.content-editorial #yopro-beat-alcaraz .yopro-examples{border:0;padding:0;margin-top:28px}
.yopro-more{list-style:none;padding:0;margin:0}
.yopro-more li{border-top:1px solid var(--line)}
.yopro-more a{display:flex;justify-content:space-between;gap:16px;padding:12px 0;line-height:1.5}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:760px){.content-editorial .instagram-film figcaption{padding:20px}}
@media(max-width:389px){
 .instagram-player{display:none}
 .instagram-narrow{display:block}
}

/* Study 25 — supplied campaign image and a clear black opening. */
.content-editorial #yopro-beat-alcaraz .yopro-opening p{color:var(--ink)}
.content-editorial #yopro-beat-alcaraz .yopro-opening strong{font-weight:700}
.content-editorial #yopro-beat-alcaraz .yopro-opening a{color:inherit;text-decoration-thickness:1px}
.content-editorial #yopro-beat-alcaraz .yopro-opening a:hover{color:var(--cobalt)}
.content-editorial #yopro-beat-alcaraz .yopro-opening a:focus-visible{outline:3px solid var(--cobalt);outline-offset:4px}
.content-editorial .case-content .yopro-supplied-image img{aspect-ratio:800/431;object-fit:contain}


/* work-refinement.css */
/* Study 23: a visual Work opening, a designed index and a quieter agency chapter. */
.content-editorial .work-hero{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);column-gap:6%;padding-bottom:42px;align-items:start}
.content-editorial .work-hero h1{grid-column:1;grid-row:2;font-size:clamp(54px,6.3vw,86px);line-height:.94;margin-bottom:24px}
.content-editorial .work-hero>.intro{grid-column:1;grid-row:3;font-size:17px;line-height:1.7;max-width:37ch}
.content-editorial .work-hero>.hero-actions{grid-column:1;grid-row:4;margin-top:18px}
.work-hero-image{grid-column:2;grid-row:2/5;margin:0;background:var(--cobalt);padding:8px 8px 0;align-self:start}
.work-hero-image img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}
.work-hero-image figcaption{color:var(--butter);font:10px/1.6 monospace;padding:10px 3px}
.content-editorial .work-index-top{display:block;margin:0;padding:28px 4.5% 30px;background:var(--cobalt);color:var(--butter)}
.index-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:16px}
.content-editorial .index-heading h2{color:var(--butter);font-size:27px;line-height:1.1;margin:0;letter-spacing:-.05em}
.index-heading>span{font:10px/1.6 monospace;white-space:nowrap}
.index-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 28px}
.content-editorial .work-index .index-links a{display:grid;grid-template-columns:22px minmax(0,1fr) 16px;column-gap:10px;align-items:center;min-height:58px;padding:10px 4px;border-color:#f2e59c77;line-height:1.5}
.content-editorial .work-index .index-links .index-number{font:10px/1.5 monospace;min-width:0;color:inherit}
.content-editorial .work-index .index-links .index-label{font:500 14px/1.5 Montserrat,Arial,sans-serif;min-width:0;color:inherit}
.content-editorial .work-index .index-links b{color:inherit;margin:0}
.content-editorial .agency-chapter{background:var(--paper);color:var(--ink);border-block:1px solid var(--line)}
.content-editorial .agency-chapter :is(h2,h3,.eyebrow){color:var(--cobalt)}
.content-editorial .agency-chapter-compact .agency-card:nth-child(n){border-color:var(--line)}
.content-editorial .agency-chapter .work-status{color:var(--cobalt);border-color:var(--cobalt)}
.content-editorial .agency-chapter .agency-discipline{color:var(--muted)}
.content-editorial .agency-public-link{margin-top:16px;font-size:12px;line-height:1.6;gap:14px}
.content-editorial .agency-context{font:10px/1.6 monospace;color:var(--muted);margin:5px 0 0}
.case-coverage .coverage-item+.coverage-item{margin-top:14px}
.content-editorial #yopro-beat-alcaraz .yopro-opening{margin-top:0}
.content-editorial #yopro-beat-alcaraz .campaign-examples{padding:0}
.content-editorial .campaign-examples>h4{color:var(--cobalt);font-size:31px;line-height:1.1;letter-spacing:-.05em;margin:0 0 24px}
.campaign-example-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.content-editorial .campaign-example{display:flex;flex-direction:column;align-items:stretch;gap:0;border:2px solid var(--cobalt);padding:22px!important;min-width:0;--control-bg:var(--butter);--control-fg:var(--cobalt);--control-rest:var(--butter)}
.example-scope{font:10px/1.6 monospace;margin-bottom:28px}
.example-title{font-size:29px;line-height:1.06;font-weight:750;letter-spacing:-.055em;margin-bottom:20px}
.example-copy{font-size:14px;line-height:1.7;margin-bottom:16px}
.example-author{font:10px/1.7 monospace;overflow-wrap:anywhere;margin-top:auto;margin-bottom:20px}
.example-action{display:flex;justify-content:space-between;gap:16px;align-items:center;border-top:1px solid;padding-top:13px;font-size:12px}
.content-editorial .campaign-link-note{font-size:11px;line-height:1.7;color:var(--muted);margin:14px 0 24px}
@media(max-width:1000px){.content-editorial .work-hero h1{font-size:58px}.content-editorial .work-hero>.intro{font-size:16px}.index-links{gap:0 20px}.content-editorial .work-index .index-links .index-label{font-size:13px}}
@media(max-width:760px){
 .content-editorial .work-hero{display:flex;flex-direction:column;padding:12px 6% 32px}
 .content-editorial .work-hero>.eyebrow{width:100%;margin-bottom:20px}
 .content-editorial .work-hero h1{font-size:56px;margin-bottom:24px}
 .work-hero-image{width:100%;margin-bottom:23px;padding:6px 6px 0}
 .work-hero-image figcaption{font-size:9px;padding:8px 2px}
 .content-editorial .work-hero>.intro{font-size:16px;max-width:none}
 .content-editorial .work-hero>.hero-actions{margin-top:14px}
 .content-editorial .work-index-top{padding:24px 6%}
 .index-heading{align-items:start;margin-bottom:16px}
 .content-editorial .index-heading h2{font-size:22px;max-width:none}
 .index-heading>span{font-size:9px;max-width:64px;white-space:normal;text-align:right}
 .index-links{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 20px}
 .content-editorial .work-index .index-links a{grid-template-columns:minmax(0,1fr) 15px;gap:4px 6px;align-items:start;min-height:74px;padding:8px 2px}
 .content-editorial .work-index .index-links .index-number{grid-column:1;grid-row:1}
 .content-editorial .work-index .index-links .index-label{grid-column:1/-1;grid-row:2;font-size:13px;max-width:16ch}
 .content-editorial .work-index .index-links b{grid-column:2;grid-row:1}
 .campaign-example-grid{grid-template-columns:1fr;gap:18px}
 .content-editorial .campaign-example{padding:20px!important}
 .example-scope{margin-bottom:20px}
 .example-title{font-size:31px}
}
/* Preserve all three people in the original panoramic portfolio photograph. */
.work-hero-image img{aspect-ratio:2/1;object-position:77% 50%}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.work-hero-image img{aspect-ratio:3/2;object-position:50% 50%}
.content-editorial .campaign-still figure{margin:0;background:var(--butter);border:2px solid var(--cobalt);overflow:hidden}
.campaign-still img{display:block;width:100%;height:auto}
.campaign-still figcaption{padding:24px}
.content-editorial .campaign-still figcaption .eyebrow{font:10px/1.6 monospace;margin-bottom:14px}
.content-editorial .campaign-still figcaption p{font-size:15px;line-height:1.7}
.content-editorial .campaign-still figcaption .creator-credit{font:11px/1.8 monospace;margin:18px 0 0}
@media(max-width:760px){.campaign-still figcaption{padding:18px}}
.agency-brand-image{margin:22px 0 0;max-width:310px}
.agency-brand-image img{display:block;width:100%;height:auto;border:6px solid var(--butter)}
.content-editorial .agency-brand-image figcaption{font:10px/1.6 monospace;color:var(--muted);margin-top:8px}
@media(max-width:760px){.agency-brand-image{max-width:260px;margin-top:18px}}

/* Study 25 — retain the image frame after removing its selected caption. */
.content-editorial .case-content .project-image.japan-taiwan{padding-bottom:9px}
@media(max-width:760px){.content-editorial .case-content .project-image.japan-taiwan{padding-bottom:7px}}

/* Study 27 — two supplied portrait films, held in one campaign panel. */
.content-editorial #yopro-beat-alcaraz .campaign-films{background:var(--butter);border:2px solid var(--cobalt);padding:28px;margin-top:30px}
.content-editorial .campaign-films .campaign-film-intro{font-size:15px;line-height:1.7;margin:0 0 24px;max-width:60ch}
.campaign-film-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.campaign-film-grid figure{margin:0;min-width:0}
.content-editorial .campaign-film-grid figcaption{font-size:14px;font-weight:650;line-height:1.5;color:var(--cobalt);margin-bottom:14px}
.campaign-film-grid figcaption span{display:block;font:11px/1.8 monospace;margin-top:4px}
.campaign-film-grid video{display:block;width:100%;height:auto;aspect-ratio:9/16;object-fit:contain;background:#111;max-width:320px;margin:0 auto}
.campaign-film-grid video:focus-visible{outline:3px solid var(--cobalt);outline-offset:5px}
.home-advantage-image img{aspect-ratio:4/3;object-fit:contain}
@media(max-width:760px){
 .content-editorial #yopro-beat-alcaraz .campaign-films{padding:20px 16px}
 .campaign-film-grid{grid-template-columns:1fr;gap:28px}
 .content-editorial .campaign-film-grid figcaption{font-size:14px}
}

/* Keep the full frame when private-review-only captions are removed. */
.content-editorial .case-content .project-image.uncaptioned{padding-bottom:9px}
@media(max-width:760px){.content-editorial .case-content .project-image.uncaptioned{padding-bottom:7px}}

/* Study 30 — make each case enquiry a clear primary action. */
.content-editorial .case-aside .case-enquiry{font-size:12px;line-height:1.5;padding:15px 18px;gap:18px;max-width:100%;min-height:48px}
.content-editorial .case-enquiry .icon{flex-shrink:0}
/* Keep the supplied architectural photograph complete, rather than portrait-cropping it. */
.content-editorial .case-content .ritz-carlton img{aspect-ratio:16/9;object-fit:contain}

/* Review 36: shared rows keep the two agency stories and images aligned. */
@media(min-width:761px){
 .content-editorial .agency-chapter-compact .agency-grid{row-gap:22px}
 .content-editorial .agency-chapter-compact .agency-card:nth-child(n){display:grid;grid-template-columns:1fr;grid-template-rows:subgrid;grid-row:span 3;row-gap:22px}
 .content-editorial .agency-chapter-compact .agency-contribution{margin:0}
}
.content-editorial .agency-chapter-compact .agency-brand-image{width:100%;max-width:none;margin:0}
.content-editorial .agency-chapter-compact .agency-brand-image img{width:100%;aspect-ratio:4/3;object-fit:cover;box-sizing:border-box}
@media(max-width:760px){.content-editorial .agency-chapter-compact .agency-brand-image{margin-top:22px}}

.work-hero-image picture{display:block}


/* contact.css */
/* Shared boxed invitation, matching actions and one concise prompt. */
#contact.contact{background:var(--cobalt);color:var(--paper);padding-top:60px;padding-bottom:65px}
#contact.contact h2{display:inline-block;max-width:100%;font-size:clamp(54px,7.7vw,112px);font-weight:800;line-height:.98;letter-spacing:-.065em;color:var(--butter);border:4px solid var(--butter);padding:25px 35px;margin:25px 0 40px}
#contact.contact h2 span{color:inherit}
#contact .contact-bottom{display:block}
#contact .contact-actions{display:flex;flex-direction:row;justify-content:flex-start;align-items:stretch;flex-wrap:wrap;gap:16px;max-width:100%}
#contact .contact-actions .button{width:260px;max-width:100%;min-height:56px;display:inline-flex;align-items:center;justify-content:space-between;gap:24px;padding:16px 20px;font-size:13px;line-height:1.5;flex-shrink:0}
#contact .contact-bottom > p{max-width:58ch;margin:24px 0 0;font-size:16px;line-height:1.75}
@media(max-width:760px){
 #contact.contact{padding-top:45px;padding-bottom:45px}
 #contact.contact h2{font-size:clamp(34px,9.2vw,68px);border-width:3px;padding:18px 15px;margin:20px 0 30px}
 #contact .contact-actions{flex-direction:column;align-items:stretch;gap:12px}
 #contact .contact-actions .button{width:100%;min-width:0;min-height:54px}
 #contact .contact-bottom > p{margin-top:22px}
}

/* Study 30 — approved direct contact details on every page. */
footer .footer-details{min-width:0}
footer .footer-contact{font:13px/1.5 Montserrat,Arial,sans-serif;margin-top:12px}
footer .footer-contact a{display:flex;align-items:center;min-height:44px;color:inherit;overflow-wrap:anywhere;text-underline-offset:4px}
footer .footer-contact a:hover{text-decoration:underline}
@media(max-width:760px){
 footer .footer-details{width:100%}
 footer .footer-details p{width:auto;text-align:left;margin:0}
 footer .footer-contact{font-size:12px}
}

/* Review 34: readable direct details, consistent on every page. */
footer .footer-contact{font-size:16px;line-height:1.5}
footer .footer-contact a[href^="tel:"]{font-weight:600}


/* interactions.css */
/* One explicit colour contract, loaded last. Scoped !important colour rules
   supersede older page/ID hover rules, including on non-hover touch devices. */
footer .wordmark {color:var(--butter);}
[data-invert] {
  --control-bg:var(--paper); --control-fg:var(--ink); --control-rest:transparent;
  --control-edge:var(--control-fg);
  background-color:var(--control-rest)!important;
  color:var(--control-fg)!important;
  transition:none!important;
}
[data-invert-tone="paper-blue"] {--control-fg:var(--cobalt);}
[data-invert-tone="butter"] {--control-bg:var(--butter); --control-fg:var(--cobalt);}
[data-invert-tone="dark"] {--control-bg:var(--cobalt); --control-fg:var(--butter);}
[data-invert-tone="dark-paper"] {--control-bg:var(--cobalt); --control-fg:var(--paper);}
[data-invert="primary"], [data-invert="frame"] {
  --control-bg:var(--cobalt); --control-fg:var(--butter);
  --control-rest:var(--control-bg); --control-edge:var(--cobalt);
}
[data-invert="light"] {
  --control-bg:var(--butter); --control-fg:var(--cobalt);
  --control-rest:var(--control-bg); --control-edge:var(--butter);
}
[data-invert="arrow"] {
  --control-bg:var(--cobalt); --control-fg:var(--paper);
  --control-rest:var(--control-bg); --control-edge:var(--cobalt);
}
[data-invert="post"] {--control-rest:var(--control-bg);}
[data-invert="row"]:not([data-invert-tone="dark"]) {color:var(--ink)!important;}
[data-invert="primary"], [data-invert="light"], [data-invert="frame"], [data-invert="arrow"] {
  box-shadow:inset 0 0 0 1px var(--control-edge);
  border-color:var(--control-edge)!important;
}
[data-invert="line"] {min-height:44px; padding-inline:8px;}
footer [data-invert="line"] {display:inline-flex; align-items:center; gap:12px;}
[data-invert="row"], [data-invert="card"], [data-invert="disclosure"] {padding-inline:12px;}
[data-invert="card"] {padding-right:40px;}
.home-editorial [data-invert="card"]>span {right:12px;}
[data-invert="disclosure"] {min-height:44px;}
[data-invert="card"][data-invert-tone="dark"] p {color:var(--paper);}

/* Keyboard and press feedback do not depend on hover or Javascript. */
[data-invert]:is(:focus-visible,:active),
[data-invert-trigger]:is(:focus-visible,:active) [data-invert] {
  background-color:var(--control-fg)!important; color:var(--control-bg)!important;
}
[data-invert]:focus-visible {
  outline:3px solid var(--control-edge)!important; outline-offset:5px;
}
[data-invert="row"]:is(:focus-visible,:active) :is(span,b),
[data-invert="card"]:is(:focus-visible,:active) :is(h3,p,span) {color:inherit!important;}

/* Fine-pointer hover only: touch retains one-tap activation and press feedback. */
@media(hover:hover) and (pointer:fine) {
  [data-invert]:hover, [data-invert-trigger]:hover [data-invert] {
    background-color:var(--control-fg)!important; color:var(--control-bg)!important;
  }
  [data-invert="row"]:hover :is(span,b),
  [data-invert="card"]:hover :is(h3,p,span) {color:inherit!important;}
}
@media(hover:none), (pointer:coarse) {
  .home-editorial .project-card:hover img, .home-editorial .hero-feature:hover img {transform:none;}
}
@media(prefers-reduced-motion:reduce) {
  [data-invert], [data-invert] .icon {animation:none!important; transition:none!important;}
}


/* privacy.css */
.footer-privacy{font-size:12px;line-height:1.5;display:inline-flex;align-items:center;min-height:44px;text-decoration:underline;text-underline-offset:4px}.privacy-reading{max-width:900px;margin:auto}.privacy-reading h1{font-size:clamp(40px,6vw,70px)}.privacy-reading h2{font-size:26px;margin:36px 0 14px}.privacy-reading p{font-size:16px;line-height:1.7}.privacy-reading a{text-decoration:underline}

