
@import url('https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,400;9..144,500&family=Lora:ital,wght@0,400;0,500;1,400&family=JetBrains+Mono:wght@400;500&family=Onest:wght@400;500;600&display=swap');
:root{
  --paper:#f3efe5; --paper-2:#ebe4d6; --ink:#11110f; --muted:#716b61; --soft:#9b9387;
  --coral:#f04b2f; --coral-dark:#d93d26; --sage:#6d7a5b; --charcoal:#181916;
  --line:rgba(17,17,15,.14); --max:1520px;
  --serif:'Fraunces','Lora',Georgia,serif; --sans:'Onest',Arial,sans-serif; --mono:'JetBrains Mono',monospace;
}
*{box-sizing:border-box} html{scroll-behavior:smooth} body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.5;overflow-x:hidden}
a{color:inherit;text-decoration:none} img{display:block;max-width:100%} button,input,textarea,select{font:inherit;color:inherit}.container{width:min(calc(100% - 80px),var(--max));margin-inline:auto}.hidden{display:none!important}.paper-noise{position:fixed;inset:0;pointer-events:none;z-index:99;opacity:.12;mix-blend-mode:multiply;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160' viewBox='0 0 160 160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.15'/%3E%3C/svg%3E")}
/* Header */
.site-header{position:relative;z-index:20;background:rgba(243,239,229,.96)}
.header-grid{min-height:104px;display:grid;grid-template-columns:230px 220px 1fr auto auto;gap:26px;align-items:start;padding:20px 0 16px}.logo{font:600 32px/0.86 var(--sans);letter-spacing:-.04em;text-transform:uppercase}.descriptor{font:500 11px/1.35 var(--sans);max-width:140px}.nav{display:flex;justify-content:center;gap:34px;padding-top:4px;font-size:13px}.nav a{position:relative}.nav a:after{content:'';position:absolute;left:0;right:100%;bottom:-5px;height:2px;background:var(--coral);transition:right .35s cubic-bezier(.2,1.25,.35,1)}.nav a:hover:after,.nav a.active:after{right:0}.lang{display:flex;gap:12px;font:500 11px var(--mono);padding-top:4px}.lang button{border:0;background:none;padding:0;opacity:.48;cursor:pointer}.lang button.active{opacity:1;font-weight:500}.header-cta,.btn{border:0;background:var(--ink);color:var(--paper);padding:16px 24px;display:inline-flex;align-items:center;justify-content:center;font-weight:600;font-size:14px;min-height:48px;cursor:pointer;transition:transform .5s cubic-bezier(.2,1.65,.35,1),background .25s,color .25s}.header-cta:hover,.btn:hover{transform:scale(1.045);background:var(--coral);color:var(--paper)}
/* Hero */
.hero{position:relative;min-height:780px;overflow:hidden}.hero-inner{position:relative;min-height:780px;display:grid;grid-template-columns:1.04fr .96fr}.hero-copy{position:relative;z-index:4;padding:36px 24px 60px 0}.hero-title{font-family:var(--serif);font-size:clamp(72px,8.1vw,136px);line-height:.79;letter-spacing:-.055em;font-weight:400;max-width:980px;margin:12px 0 34px}.hero-title .sans{font-family:var(--sans);font-weight:600;letter-spacing:-.07em}.hero-title .italic{font-style:italic;font-weight:400}.hero-lead{max-width:380px;font-family:var(--serif);font-size:19px;line-height:1.25;margin:0 0 24px}.hero-actions{display:flex;align-items:center;gap:28px}.text-link{font-size:13px;opacity:.72;position:relative}.text-link:after{content:'';position:absolute;left:0;right:0;bottom:-4px;height:1px;background:currentColor;transform-origin:left;transition:transform .45s cubic-bezier(.2,1.35,.35,1),background .25s}.text-link:hover{color:var(--coral)}.text-link:hover:after{transform:scaleX(.65);background:var(--coral)}
.hero-photo-wrap{position:relative;min-height:780px;perspective:1200px}.hero-photo{position:absolute;inset:0 -8vw 0 0;width:calc(100% + 8vw);height:100%;object-fit:cover;object-position:center;filter:saturate(.72) sepia(.08) contrast(.96);clip-path:polygon(6% 0,100% 0,100% 100%,19% 100%,9% 86%,0 66%,6% 48%);transform-origin:center;transition:transform .15s linear}.hero-photo-shade{position:absolute;inset:0 -8vw 0 0;pointer-events:none;background:rgba(17,17,15,.06);clip-path:polygon(6% 0,100% 0,100% 100%,19% 100%,9% 86%,0 66%,6% 48%)}
.coral-sculpture{position:absolute;left:-42px;top:28px;width:520px;height:560px;z-index:-1;transform-style:preserve-3d;perspective:900px;pointer-events:none}.coral-layer{position:absolute;inset:0;background:var(--coral);border-radius:49% 51% 44% 56% / 34% 48% 52% 66%;opacity:.8;mix-blend-mode:multiply;filter:saturate(.9)}.coral-layer:nth-child(1){transform:translateZ(0) rotate(-12deg) scale(.92)}.coral-layer:nth-child(2){transform:translate3d(75px,28px,40px) rotate(19deg) scale(.72);opacity:.48}.coral-layer:nth-child(3){transform:translate3d(-90px,210px,80px) rotate(38deg) scale(.52);opacity:.34}
.hero-side-note{position:absolute;left:-40px;bottom:82px;z-index:6;font:italic 48px/.88 var(--serif);transform:rotate(-8deg);max-width:250px}.hero-keywords{position:absolute;left:0;top:250px;z-index:5;font:500 12px/1.45 var(--mono);letter-spacing:.08em;text-transform:uppercase}.hero-keywords span{display:block}
/* Services */
.services-strip{padding:20px 0 78px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0}.service-feature{padding:28px 42px 0 0;min-width:0;position:relative;perspective:900px}.service-feature+ .service-feature{padding-left:42px;border-left:1px solid var(--line)}.service-title{font:400 clamp(36px,3.2vw,54px)/1 var(--serif);letter-spacing:-.035em;margin:0 0 10px}.service-feature p{max-width:330px;font:400 17px/1.35 var(--serif);margin:0 0 24px}.service-image{position:relative;height:295px;overflow:hidden;background:var(--paper-2);transform-style:preserve-3d;transition:transform .6s cubic-bezier(.2,1.35,.35,1)}.service-image img{width:100%;height:100%;object-fit:cover;filter:saturate(.58) sepia(.14) contrast(.96);transition:transform .7s cubic-bezier(.2,1.35,.35,1),filter .4s}.service-feature:hover .service-image{transform:translateY(-8px) rotateX(2.5deg) rotateY(-2.5deg)}.service-feature:hover img{transform:scale(1.055);filter:saturate(.82) sepia(.08)}.ink-note{position:absolute;left:18px;bottom:20px;font:italic 30px/.95 var(--serif);color:var(--ink);max-width:170px;transform:rotate(-7deg);text-shadow:0 1px 0 rgba(243,239,229,.6)}
/* Projects */
.projects-home{padding:10px 0 68px}.projects-home-grid{display:grid;grid-template-columns:1.05fr 2.15fr;gap:48px;align-items:end}.section-title{font:400 clamp(52px,5.4vw,92px)/.88 var(--serif);letter-spacing:-.05em;margin:0}.section-title .italic{font-style:italic}.project-thumbs{display:grid;grid-template-columns:1fr 1.05fr .75fr;gap:16px}.project-thumb{position:relative}.project-thumb .media{overflow:hidden;aspect-ratio:1.38/1;background:var(--paper-2);perspective:800px}.project-thumb img{width:100%;height:100%;object-fit:cover;filter:saturate(.65) sepia(.08);transition:transform .6s cubic-bezier(.2,1.35,.35,1)}.project-thumb:hover img{transform:scale(1.05) rotate(.25deg)}.project-thumb h3{font:500 14px/1.2 var(--sans);margin:10px 0 0}.project-thumb p{font:400 12px/1.3 var(--sans);color:var(--muted);margin:2px 0}
/* Proof */
.proof{padding:0 0 56px}.proof-grid{display:grid;grid-template-columns:1.35fr .65fr;gap:38px;align-items:stretch}.proof-panel{background:var(--ink);color:var(--paper);min-height:310px;display:grid;grid-template-columns:1fr 1fr;padding:0;overflow:hidden;clip-path:polygon(0 8%,94% 0,100% 100%,0 100%)}.proof-photo{height:100%;object-fit:cover;filter:grayscale(1) contrast(.95);opacity:.8}.proof-copy{padding:52px 52px 36px}.proof-quote{font:400 clamp(26px,2.4vw,42px)/1.05 var(--serif);margin:0 0 32px}.proof-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.metric strong{display:block;font:400 46px/1 var(--serif)}.metric span{font-size:11px;color:rgba(243,239,229,.7)}.sectors{display:flex;flex-direction:column;justify-content:center;padding:28px 14px}.sectors h3{font:500 12px var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:0 0 24px}.sector-cloud{display:flex;flex-wrap:wrap;gap:14px 18px}.sector-cloud span{font:600 18px var(--sans)}
/* CTA */
.final-cta{position:relative;min-height:330px;overflow:hidden;background:var(--paper-2)}.final-cta img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(.52) sepia(.12) brightness(.88)}.final-cta:after{content:'';position:absolute;inset:0;background:rgba(243,239,229,.18)}.final-cta-inner{position:relative;z-index:2;min-height:330px;display:grid;grid-template-columns:1.3fr .7fr;gap:50px;align-items:center}.final-cta h2{font:400 clamp(52px,5.5vw,96px)/.88 var(--serif);letter-spacing:-.05em;margin:0;max-width:900px}.final-cta h2 em{font-style:italic}.final-cta-side{justify-self:end;max-width:320px}.final-cta-side p{font:400 17px/1.35 var(--serif)}
/* Footer */
.site-footer{background:var(--paper);padding:26px 0 34px}.footer-grid{display:grid;grid-template-columns:220px 1fr auto auto;gap:30px;align-items:start}.footer-nav{display:flex;justify-content:center;gap:26px;font-size:12px}.footer-lang{display:flex;gap:11px;font:500 11px var(--mono)}.footer-lang button{border:0;background:none;padding:0;opacity:.5}.footer-lang button.active{opacity:1}.footer-meta{text-align:right;font:400 10px/1.4 var(--sans);color:var(--muted)}
/* Inner pages */
.page-hero{padding:70px 0 62px;position:relative;overflow:hidden}.page-hero-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:70px;align-items:end}.page-hero h1{font:400 clamp(72px,8vw,132px)/.82 var(--serif);letter-spacing:-.055em;margin:0}.page-hero p{font:400 20px/1.35 var(--serif);max-width:500px;margin:0}.blob{position:absolute;width:460px;height:420px;background:var(--coral);opacity:.86;border-radius:51% 49% 43% 57% / 55% 34% 66% 45%;z-index:-1;right:4%;top:18%;transform:rotate(17deg)}
.editorial-section{padding:66px 0}.editorial-section.alt{background:var(--paper-2)}.editorial-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:24px;align-items:start}.editorial-grid h2{grid-column:span 5;font:400 clamp(48px,5vw,82px)/.92 var(--serif);letter-spacing:-.045em;margin:0}.editorial-copy{grid-column:7 / span 5;font:400 18px/1.55 var(--serif)}.editorial-image{grid-column:2 / span 10;margin-top:34px;aspect-ratio:2.1/1;overflow:hidden}.editorial-image img{width:100%;height:100%;object-fit:cover;filter:saturate(.6) sepia(.1)}
.services-list{padding:20px 0 80px}.service-row{display:grid;grid-template-columns:1fr .8fr .55fr;gap:34px;align-items:center;min-height:190px;padding:30px 0;cursor:pointer;transition:background .35s,padding .45s cubic-bezier(.2,1.3,.35,1)}.service-row:hover{background:rgba(240,75,47,.08);padding-left:24px;padding-right:24px}.service-row h2{font:400 clamp(48px,5vw,78px)/.95 var(--serif);margin:0}.service-row p{font:400 17px/1.45 var(--serif);margin:0;color:var(--muted)}.service-preview{aspect-ratio:1.45/1;overflow:hidden;perspective:900px}.service-preview img{width:100%;height:100%;object-fit:cover;filter:saturate(.6) sepia(.08);transition:transform .55s cubic-bezier(.2,1.35,.35,1)}.service-row:hover .service-preview img{transform:scale(1.06) rotateY(-4deg)}
.feature-list{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}.feature{background:var(--paper-2);padding:28px;min-height:210px;transition:transform .5s cubic-bezier(.2,1.55,.35,1)}.feature:hover{transform:translateY(-10px) rotate(-.35deg)}.feature h3{font:400 30px/1 var(--serif);margin:16px 0 12px}.feature p{font-size:14px;color:var(--muted);margin:0}.icon{font:500 24px var(--mono);color:var(--coral)}
.timeline{display:grid;grid-template-columns:repeat(5,1fr);gap:20px}.step{padding:28px 0;background:transparent}.step strong{font:400 28px/1 var(--serif);display:block;margin-bottom:10px}.step p{font-size:13px;color:var(--muted);margin:0}.tags{display:flex;flex-wrap:wrap;gap:10px}.tag{font:400 12px var(--mono);background:var(--ink);color:var(--paper);padding:9px 12px}.related{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.related figure{margin:0}.related img{aspect-ratio:1.45/1;width:100%;object-fit:cover;filter:saturate(.58) sepia(.1)}.related figcaption{font:400 22px/1.1 var(--serif);margin-top:10px}
.projects-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:18px}.project-card{grid-column:span 4}.project-card.wide{grid-column:span 8}.project-card figure{margin:0}.project-card img{width:100%;aspect-ratio:1.35/1;object-fit:cover;filter:saturate(.62) sepia(.08);transition:transform .6s cubic-bezier(.2,1.35,.35,1)}.project-card figure{overflow:hidden}.project-card:hover img{transform:scale(1.04)}.project-card h2{font:400 32px/1 var(--serif);margin:12px 0 4px}.project-meta{font:400 11px var(--mono);color:var(--muted)}
.about-manifesto{background:var(--ink);color:var(--paper);padding:80px 0}.about-manifesto-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px}.about-manifesto h2{font:400 clamp(58px,6vw,100px)/.9 var(--serif);margin:0}.about-manifesto p{font:400 20px/1.55 var(--serif);max-width:520px}.facts{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.fact strong{font:400 72px/1 var(--serif);display:block}.fact span{font:400 12px var(--mono);color:var(--muted)}
.contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px}.contact-info h2,.contact-form h2{font:400 54px/1 var(--serif);margin:0 0 28px}.contact-list{display:grid;gap:20px}.contact-list strong{display:block;font:400 11px var(--mono);color:var(--muted);margin-bottom:4px}.contact-form{background:var(--paper-2);padding:38px}.field{margin-bottom:16px}.field label{display:block;font:400 11px var(--mono);color:var(--muted);margin-bottom:6px}.field input,.field textarea,.field select{width:100%;border:0;border-bottom:1px solid rgba(17,17,15,.25);background:transparent;padding:11px 0;outline:0}.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--coral)}.field textarea{min-height:130px;resize:vertical}.readonly-service{background:rgba(240,75,47,.08)!important;padding:12px!important;border:0!important}.form-status{font:400 11px var(--mono);margin-top:12px;min-height:18px}.map{height:420px;margin-top:34px}.map iframe{width:100%;height:100%;border:0;filter:grayscale(1) sepia(.08) contrast(.9)}
.legal{max-width:900px}.legal h1{font:400 72px/.9 var(--serif);margin:50px 0}.legal h2{font:400 34px/1 var(--serif);margin:46px 0 14px}.legal p,.legal li{font-size:16px;line-height:1.7;color:#514c44}
/* 3D / motion */
[data-tilt]{transform-style:preserve-3d;will-change:transform}.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .85s cubic-bezier(.2,1,.3,1)}.reveal.is-visible{opacity:1;transform:none}.magnetic{will-change:transform}.float-note{animation:floatNote 6s ease-in-out infinite alternate}@keyframes floatNote{from{transform:translate3d(0,0,0) rotate(-8deg)}to{transform:translate3d(0,-9px,16px) rotate(-5deg)}}
@media(max-width:1100px){.container{width:min(calc(100% - 44px),var(--max))}.header-grid{grid-template-columns:180px 1fr auto}.descriptor{display:none}.nav{grid-row:2;grid-column:1/-1;justify-content:flex-start}.hero-inner{grid-template-columns:1fr}.hero-photo-wrap{min-height:520px}.hero{min-height:auto}.hero-copy{padding-bottom:20px}.hero-photo{inset:0;width:100%;clip-path:polygon(0 0,100% 0,100% 100%,10% 100%,0 78%)}.service-grid{grid-template-columns:1fr}.service-feature,.service-feature+.service-feature{padding:32px 0;border:0}.projects-home-grid{grid-template-columns:1fr}.proof-grid{grid-template-columns:1fr}.page-hero-grid{grid-template-columns:1fr}.feature-list{grid-template-columns:repeat(2,1fr)}.timeline{grid-template-columns:repeat(2,1fr)}.related{grid-template-columns:1fr 1fr}.footer-grid{grid-template-columns:1fr 1fr}.footer-nav{justify-content:flex-start}.projects-grid .project-card,.projects-grid .project-card.wide{grid-column:span 6}.contact-grid{grid-template-columns:1fr}.about-manifesto-grid{grid-template-columns:1fr}}
@media(max-width:700px){body{font-size:15px}.container{width:calc(100% - 28px)}.header-grid{min-height:120px;grid-template-columns:1fr auto;gap:12px}.logo{font-size:26px}.header-cta{padding:12px 14px;font-size:12px}.nav{overflow:auto;gap:20px;padding-bottom:4px;white-space:nowrap}.lang{grid-column:2;grid-row:2;justify-self:end}.hero-copy{padding-top:20px}.hero-title{font-size:58px;line-height:.84}.coral-sculpture{width:320px;height:360px;left:-70px}.hero-keywords{display:none}.hero-photo-wrap{min-height:390px}.hero-side-note{font-size:34px;left:14px;bottom:40px}.hero-actions{align-items:flex-start;flex-direction:column;gap:14px}.project-thumbs{grid-template-columns:1fr}.proof-panel{grid-template-columns:1fr;clip-path:none}.proof-photo{height:240px}.proof-copy{padding:34px 24px}.proof-metrics{grid-template-columns:1fr 1fr}.final-cta-inner{grid-template-columns:1fr;gap:22px;padding:40px 0}.final-cta-side{justify-self:start}.footer-grid{grid-template-columns:1fr;gap:20px}.footer-nav{flex-wrap:wrap}.footer-meta{text-align:left}.editorial-grid h2,.editorial-copy,.editorial-image{grid-column:1/-1}.service-row{grid-template-columns:1fr;gap:14px;padding:24px 0}.feature-list{grid-template-columns:1fr}.timeline{grid-template-columns:1fr}.related{grid-template-columns:1fr}.projects-grid .project-card,.projects-grid .project-card.wide{grid-column:1/-1}.facts{grid-template-columns:1fr}.page-hero h1{font-size:58px}.contact-form{padding:24px}.section-title{font-size:56px}}


/* ===== refinement pass 2026-09-23: stable multilingual layout + service redesign ===== */
/* Layout must not jump when FR / EN changes. Geometry stays fixed; only copy changes. */
.header-grid{grid-template-columns:210px 190px minmax(430px,1fr) 92px 170px;align-items:start;min-height:112px}
.descriptor{min-height:42px}.nav{min-width:430px}.header-cta{min-width:166px;white-space:nowrap}
.site-footer{padding:34px 0 40px}.footer-grid{grid-template-columns:190px minmax(420px,1fr) 120px minmax(310px,390px);gap:34px;align-items:start}.footer-nav{justify-content:flex-start;flex-wrap:wrap;row-gap:10px}.footer-meta{max-width:390px;overflow-wrap:anywhere;line-height:1.55}

/* Reduce 3D movement: sculpture carries the motion, photography stays editorial. */
[data-tilt]{transition:transform .45s cubic-bezier(.2,1.25,.35,1)}
.hero-photo-wrap,.service-image,.service-hero-new-visual,.final-cta-media{transform:none!important}
.service-feature:hover .service-image{transform:translateY(-2px)}
.service-feature:hover img{transform:scale(1.018)}
.project-thumb:hover img,.project-card:hover img{transform:scale(1.018)}

/* Hero: keep type inside its own column in every language. */
.hero-inner{grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr)}
.hero-copy{min-width:0;overflow:visible;padding-right:46px}.hero-title{font-size:clamp(62px,6.25vw,106px);line-height:.82;max-width:100%;overflow-wrap:normal}.hero-photo-wrap{min-width:0}
.hero-side-note{left:32px;bottom:42px;max-width:250px;background:rgba(243,239,229,.94);padding:12px 16px;color:var(--ink);font-size:36px;line-height:.9;transform:rotate(-4deg);box-shadow:none}

/* Overlay text on photos must always have a readable substrate. */
.ink-note{left:16px;bottom:16px;max-width:190px;background:rgba(243,239,229,.94);padding:10px 12px;color:var(--ink);font-size:25px;line-height:.96;transform:rotate(-2deg);text-shadow:none;mix-blend-mode:normal}

/* Stable inner-page hero across languages. */
.page-hero{min-height:560px;padding:72px 0;display:flex;align-items:center}.page-hero-grid{width:100%;grid-template-columns:minmax(0,1.18fr) minmax(340px,.82fr);gap:72px;align-items:center;min-height:416px}.page-hero h1{font-size:clamp(62px,6.25vw,106px);line-height:.86;max-width:100%;min-width:0}.page-hero h1>span,.page-hero h1>em{display:inline-block}.page-hero p{font-size:19px;line-height:1.42;max-width:460px;min-height:122px;display:flex;flex-direction:column;justify-content:flex-end;position:relative;z-index:2}.blob{right:5%;top:50%;width:420px;height:380px;transform:translateY(-50%) rotate(17deg)}
.page-hero--about .page-hero-grid,.page-hero--contact .page-hero-grid,.page-hero--services .page-hero-grid,.page-hero--projects .page-hero-grid{min-height:430px}

/* About: replace the black trapezoid with an authored studio block. */
.studio-signature{padding:92px 0 104px;background:var(--paper-2);overflow:hidden}.studio-signature-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);grid-template-rows:auto auto;gap:52px 80px;position:relative;align-items:center}.studio-signature-copy{position:relative;z-index:2}.studio-signature-copy h2{font:400 clamp(54px,5.5vw,92px)/.9 var(--serif);letter-spacing:-.045em;margin:0 0 28px;max-width:900px}.studio-signature-copy p{font:400 18px/1.55 var(--serif);max-width:620px;margin:0}.studio-sculpture{height:350px;position:relative;transform-style:preserve-3d;perspective:900px}.studio-sculpture span{position:absolute;inset:8% 6%;background:var(--coral);border-radius:49% 51% 46% 54% / 37% 45% 55% 63%;opacity:.78}.studio-sculpture span:nth-child(2){transform:translate3d(38px,24px,30px) rotate(20deg) scale(.72);opacity:.42}.studio-sculpture span:nth-child(3){transform:translate3d(-34px,118px,55px) rotate(-17deg) scale(.5);opacity:.26}.studio-facts{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.studio-facts>div{background:var(--ink);color:var(--paper);min-height:170px;padding:30px}.studio-facts strong{font:400 62px/1 var(--serif);display:block}.studio-facts span{font:400 11px/1.4 var(--mono);text-transform:uppercase;letter-spacing:.06em;color:rgba(243,239,229,.68)}

/* Final CTA: no type directly on photography. */
.final-cta{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(420px,.95fr);min-height:430px;background:var(--ink);overflow:hidden}.final-cta:after{display:none}.final-cta>img{display:none}.final-cta-media{min-height:430px;overflow:hidden}.final-cta-media img{width:100%;height:100%;object-fit:cover;filter:saturate(.45) sepia(.1) contrast(.92);transform:none!important}.final-cta-panel{background:var(--coral);color:var(--ink);display:flex;align-items:center;padding:54px 7vw 54px 62px}.final-cta-copy{max-width:610px}.final-cta h2{font:400 clamp(48px,4.7vw,82px)/.92 var(--serif);letter-spacing:-.045em;margin:0 0 24px}.final-cta h2 em{font-style:italic}.final-cta p{font:400 18px/1.45 var(--serif);margin:0 0 28px;max-width:520px}.final-cta .btn{background:var(--ink);color:var(--paper)}.final-cta .btn:hover{background:var(--paper);color:var(--ink)}

/* ===== Service detail redesign ===== */
.service-page{--service-accent:var(--coral);--service-wash:#ece3d5}
.service-page--development{--service-accent:#355f5b;--service-wash:#e2e8e1}
.service-page--evolution{--service-accent:#d0a126;--service-wash:#eee5ca}
.service-hero-new{background:var(--service-wash);padding:58px 0 72px}.service-hero-new-grid{display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:64px;align-items:center;min-height:590px}.service-hero-new-copy{min-width:0}.service-hero-new h1{font:400 clamp(68px,7vw,118px)/.86 var(--serif);letter-spacing:-.05em;margin:0 0 28px;max-width:100%}.service-hero-new-copy p{font:400 22px/1.35 var(--serif);max-width:510px;margin:0 0 32px}.service-hero-new .btn{background:var(--service-accent);color:var(--paper)}.service-hero-new .btn:hover{background:var(--ink)}.service-hero-new-visual{margin:0;aspect-ratio:1.45/1;overflow:hidden;position:relative}.service-hero-new-visual:before{content:"";position:absolute;left:-1px;top:12%;width:8px;height:64%;background:var(--service-accent);z-index:2}.service-hero-new-visual img{width:100%;height:100%;object-fit:cover;filter:saturate(.62) sepia(.08) contrast(.96);transform:none!important}
.service-statement{padding:74px 0;background:var(--paper)}.service-statement-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(260px,.6fr);gap:60px;align-items:center}.service-statement h2{font:400 clamp(46px,4.7vw,78px)/.95 var(--serif);letter-spacing:-.04em;margin:0;max-width:1100px}.service-statement-shape{width:260px;height:230px;justify-self:end;background:var(--service-accent);border-radius:52% 48% 44% 56% / 40% 54% 46% 60%;opacity:.9;transform:rotate(12deg)}
.service-capabilities-section{padding:86px 0;background:var(--service-wash)}.service-capabilities-grid{display:grid;grid-template-columns:minmax(280px,.72fr) minmax(0,1.28fr);gap:72px;align-items:start}.service-section-title h2{font:400 clamp(50px,5vw,82px)/.92 var(--serif);letter-spacing:-.045em;margin:0 0 22px}.service-section-title p{font:400 17px/1.5 var(--serif);max-width:360px;margin:0}.capabilities{display:grid;grid-template-columns:1fr 1fr;gap:14px}.capability{min-height:190px;background:var(--paper);padding:30px 30px 26px;position:relative}.capability:before{content:"";position:absolute;left:0;top:0;width:10px;height:50px;background:var(--service-accent)}.capability h3{font:400 34px/1 var(--serif);margin:0 0 16px}.capability p{font-size:14px;line-height:1.5;color:var(--muted);max-width:250px;margin:0}
.service-process-section{padding:88px 0;background:var(--ink);color:var(--paper)}.service-process-grid{display:grid;grid-template-columns:minmax(260px,.55fr) minmax(0,1.45fr);gap:80px;align-items:center}.service-process-grid h2{font:400 clamp(50px,5vw,84px)/.9 var(--serif);letter-spacing:-.04em;margin:0 0 20px}.service-process-grid p{font:400 17px/1.5 var(--serif);color:rgba(243,239,229,.72);max-width:360px;margin:0}.process-track{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.process-step{min-height:190px;background:rgba(243,239,229,.07);padding:26px;display:flex;flex-direction:column;justify-content:space-between}.process-step strong{font:400 27px/1.08 var(--serif)}.process-mark{display:block;width:44px;height:44px;background:var(--service-accent);border-radius:50%}
.service-tech-section{padding:62px 0;background:var(--service-accent);color:var(--ink)}.service-tech-grid{display:grid;grid-template-columns:minmax(280px,.8fr) minmax(0,1.2fr);gap:60px;align-items:center}.service-tech-grid h2{font:400 clamp(42px,4vw,66px)/.95 var(--serif);margin:0}.service-tech-section .tags{justify-content:flex-start}.service-tech-section .tag{background:var(--ink);color:var(--paper);padding:11px 14px}
.service-related-section{padding:88px 0 96px;background:var(--paper)}.service-related-head{display:grid;grid-template-columns:.9fr 1.1fr;gap:60px;align-items:end;margin-bottom:38px}.service-related-head h2{font:400 clamp(50px,5vw,82px)/.92 var(--serif);margin:0}.service-related-head p{font:400 18px/1.5 var(--serif);max-width:520px;margin:0}.service-projects-grid{display:grid;grid-template-columns:1.15fr .85fr 1fr;gap:18px}.service-project{margin:0}.service-project img{width:100%;aspect-ratio:1.35/1;object-fit:cover;filter:saturate(.58) sepia(.08);transition:transform .5s cubic-bezier(.2,1.2,.35,1)}.service-project:hover img{transform:scale(1.015)}.service-project figcaption{font:400 24px/1.05 var(--serif);margin-top:12px}

/* Inquiry modal: header CTA opens a form immediately instead of scrolling away. */
.inquiry-modal[hidden]{display:none}.inquiry-modal{position:fixed;inset:0;z-index:300;display:grid;grid-template-columns:1fr minmax(420px,640px);background:rgba(17,17,15,.42)}.inquiry-backdrop{position:absolute;inset:0;background:rgba(17,17,15,.46)}.inquiry-panel{position:relative;z-index:2;grid-column:2;background:var(--paper);height:100%;padding:44px 48px;overflow:auto;transform:translateX(0);animation:panelIn .42s cubic-bezier(.2,1,.35,1)}@keyframes panelIn{from{transform:translateX(100%)}to{transform:translateX(0)}}.inquiry-close{position:absolute;right:22px;top:18px;border:0;background:none;font:400 34px/1 var(--serif);cursor:pointer}.inquiry-panel h2{font:400 54px/.95 var(--serif);margin:40px 0 12px}.inquiry-panel>p{font:400 16px/1.5 var(--serif);color:var(--muted);max-width:440px;margin:0 0 28px}.inquiry-modal .contact-form{background:transparent;padding:0}.inquiry-modal .contact-form h2{display:none}.body-modal-open{overflow:hidden}

@media(max-width:1100px){
  .header-grid{grid-template-columns:180px 1fr auto;min-height:126px}.nav{min-width:0}.header-cta{min-width:154px}.hero-inner{grid-template-columns:1fr}.hero-copy{padding-right:0}.hero-title{font-size:clamp(62px,10vw,96px)}.page-hero{min-height:520px}.page-hero-grid{grid-template-columns:1fr;min-height:380px}.page-hero p{min-height:0;max-width:600px}.blob{width:360px;height:330px;right:4%;top:55%;opacity:.5}.footer-grid{grid-template-columns:1fr 1fr}.footer-meta{max-width:none;text-align:left}.studio-signature-grid{grid-template-columns:1fr}.studio-sculpture{height:260px}.service-hero-new-grid{grid-template-columns:1fr}.service-hero-new-visual{aspect-ratio:1.8/1}.service-capabilities-grid,.service-process-grid,.service-tech-grid{grid-template-columns:1fr}.service-statement-grid{grid-template-columns:1fr}.service-statement-shape{justify-self:start;width:180px;height:150px}.process-track{grid-template-columns:1fr 1fr}.service-projects-grid{grid-template-columns:1fr 1fr}.service-project:last-child{grid-column:1/-1}.final-cta{grid-template-columns:1fr}.final-cta-media{min-height:320px}.final-cta-panel{padding:48px 7vw}.inquiry-modal{grid-template-columns:1fr minmax(380px,70vw)}
}
@media(max-width:700px){
  .header-grid{grid-template-columns:1fr auto;min-height:126px}.header-cta{min-width:0}.hero-title{font-size:52px;line-height:.88}.hero-side-note{font-size:28px;left:14px}.page-hero{min-height:470px;padding:46px 0}.page-hero-grid{min-height:340px;gap:28px}.page-hero h1{font-size:52px;line-height:.9}.blob{width:250px;height:230px;opacity:.38}.footer-grid{grid-template-columns:1fr}.studio-signature{padding:64px 0}.studio-signature-copy h2{font-size:52px}.studio-facts{grid-template-columns:1fr}.studio-sculpture{height:210px}.final-cta-media{min-height:250px}.final-cta-panel{padding:36px 22px}.final-cta h2{font-size:48px}.service-hero-new{padding:44px 0 56px}.service-hero-new-grid{min-height:0;gap:34px}.service-hero-new h1{font-size:54px}.service-hero-new-copy p{font-size:18px}.service-hero-new-visual{aspect-ratio:1.25/1}.service-statement{padding:54px 0}.service-statement h2{font-size:44px}.service-statement-shape{width:130px;height:110px}.service-capabilities-section,.service-process-section,.service-related-section{padding:58px 0}.capabilities{grid-template-columns:1fr}.process-track{grid-template-columns:1fr}.service-tech-grid h2{font-size:44px}.service-related-head{grid-template-columns:1fr;gap:18px}.service-projects-grid{grid-template-columns:1fr}.service-project:last-child{grid-column:auto}.inquiry-modal{grid-template-columns:1fr}.inquiry-panel{grid-column:1;padding:28px 22px}.inquiry-panel h2{font-size:46px}.ink-note{font-size:21px;max-width:165px}.service-feature p{min-height:70px}
}

/* final multilingual geometry hardening */
.nav{display:grid;grid-template-columns:repeat(5,minmax(76px,1fr));gap:12px;text-align:center;align-items:start}
.footer-nav{display:grid;grid-template-columns:repeat(3,minmax(105px,1fr));gap:10px 20px}
.hero-title{font-size:clamp(58px,5.6vw,94px);line-height:.84}
.hero-line{display:block;white-space:nowrap}
.hero-line--long{font-size:.88em}
.page-hero h1{font-size:clamp(58px,5.4vw,90px);line-height:.9}
.page-hero h1>span,.page-hero h1>em{white-space:nowrap}
.service-hero-new-grid{grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr)}
.service-hero-new h1{font-size:clamp(58px,5.4vw,88px);line-height:.9;white-space:nowrap}
.service-page--development .final-cta-panel,.service-page--development .service-tech-section{color:var(--paper)}
.service-page--development .final-cta .btn{background:var(--paper);color:var(--ink)}
.service-page--development .final-cta .btn:hover{background:var(--ink);color:var(--paper)}
@media(max-width:1100px){.nav{display:flex;min-width:0;text-align:left}.footer-nav{display:flex;flex-wrap:wrap}.service-hero-new-grid{grid-template-columns:1fr}.service-hero-new h1{white-space:normal}}
@media(max-width:700px){.hero-line{white-space:normal}.page-hero h1>span,.page-hero h1>em{white-space:normal}}
/* Remove the tiny keyword stack from the hero: it competed with the headline. */
.hero-keywords{display:none!important}
.hero-title{line-height:.92!important}
.hero-line--long{margin-top:.02em}
.final-cta-media{position:relative;z-index:1}
.final-cta-media img{position:static!important;inset:auto!important}
.final-cta-panel{position:relative;z-index:2}

/* ===== Content-rich inner pages v3 ===== */
.inner-hero{position:relative;overflow:hidden;padding:96px 0 82px;background:var(--paper)}
.inner-hero-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(340px,.85fr);gap:80px;align-items:end}
.inner-hero h1,.projects-intro-grid h1,.contact-intro-grid h1{font:400 clamp(66px,7.2vw,118px)/.88 var(--serif);letter-spacing:-.055em;margin:0;max-width:1050px}
.inner-hero p,.projects-intro-grid>div>p,.contact-intro-grid>div>p{font:400 20px/1.45 var(--serif);max-width:620px;margin:28px 0 0}
.inner-hero-aside{min-height:330px;position:relative;padding:44px 38px;display:flex;flex-direction:column;justify-content:flex-end;background:var(--paper-2)}
.inner-hero--services .inner-hero-aside{background:var(--ink);color:var(--paper)}
.service-compass{overflow:hidden}
.service-compass:before{content:"";position:absolute;width:260px;height:260px;background:var(--coral);right:-70px;top:-80px;border-radius:50% 46% 54% 44%}
.compass-word{font:500 clamp(27px,2.8vw,44px)/.95 var(--sans);letter-spacing:-.05em;position:relative;z-index:2}
.service-compass p{font:400 15px/1.45 var(--sans);color:rgba(243,239,229,.72);max-width:280px;position:relative;z-index:2;margin:28px 0 0}
.about-hero-mark{background:var(--coral);color:var(--ink);min-height:380px;justify-content:center;overflow:hidden}
.about-hero-mark span{font:600 clamp(44px,5vw,78px)/.78 var(--sans);letter-spacing:-.07em;opacity:.95}
.about-hero-mark p{font:500 16px/1.45 var(--sans);max-width:310px;margin:42px 0 0}

/* Services hub */
.service-journal{padding:30px 0 96px}
.service-journal-row{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr) minmax(320px,.8fr);gap:34px;align-items:start;padding:62px 0;position:relative}
.service-journal-row+ .service-journal-row{margin-top:36px}
.service-journal-row:before{content:"";position:absolute;inset:14px -4vw 14px auto;width:34%;z-index:-1;opacity:.75}
.service-journal-row--design:before{background:#f0d3ca}.service-journal-row--development:before{background:#d8e3de}.service-journal-row--evolution:before{background:#efe1a9}
.service-journal-main h2{font:400 clamp(48px,5.4vw,82px)/.92 var(--serif);letter-spacing:-.045em;margin:0 0 22px}
.service-intro{font:400 20px/1.45 var(--serif);max-width:600px;margin:0 0 30px}
.service-journal-row figure{margin:0;aspect-ratio:1/1.08;overflow:hidden;background:var(--paper-2)}
.service-journal-row figure img{width:100%;height:100%;object-fit:cover;filter:saturate(.64) sepia(.08);transition:transform .65s cubic-bezier(.2,1.25,.35,1)}
.service-journal-row:hover figure img{transform:scale(1.025)}
.service-journal-detail{padding:16px 0 0}.service-journal-detail h3{font:500 13px var(--mono);letter-spacing:.04em;text-transform:uppercase;color:var(--muted);margin:0 0 8px}.service-journal-detail p{font:400 16px/1.55 var(--sans);margin:0 0 28px;max-width:420px}
.decision-section{background:var(--ink);color:var(--paper);padding:88px 0}.decision-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:80px;align-items:start}.decision-grid h2{font:400 clamp(46px,5vw,78px)/.95 var(--serif);letter-spacing:-.04em;margin:0}.decision-grid p{font:400 18px/1.55 var(--serif);margin:0 0 28px}.decision-grid .btn{background:var(--coral)}

/* About */
.about-workshop .editorial-grid{align-items:start}.about-workshop .editorial-copy{font-size:20px;line-height:1.55}
.operating-model{padding:100px 0;background:var(--paper-2)}
.operating-model-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:76px;align-items:start}.operating-photo{min-height:700px}.operating-photo img{width:100%;height:100%;min-height:700px;object-fit:cover;filter:grayscale(.2) saturate(.7) sepia(.08)}
.operating-copy h2{font:400 clamp(54px,5.2vw,82px)/.92 var(--serif);letter-spacing:-.05em;margin:0 0 50px}.operating-rule{display:grid;grid-template-columns:220px 1fr;gap:28px;margin:0 0 42px}.operating-rule h3{font:500 20px/1.2 var(--sans);margin:0}.operating-rule p{font:400 17px/1.55 var(--sans);margin:0;color:var(--muted)}
.fit-section{padding:96px 0}.fit-grid{display:grid;grid-template-columns:1fr 1fr;gap:90px}.fit-grid>div:first-child{background:var(--coral);padding:46px}.fit-grid>div:last-child{background:var(--ink);color:var(--paper);padding:46px}.fit-grid h2{font:400 clamp(34px,3.4vw,54px)/1 var(--serif);margin:0 0 30px}.fit-grid ul{list-style:none;padding:0;margin:0}.fit-grid li{font:400 17px/1.5 var(--sans);padding:13px 0 13px 24px;position:relative}.fit-grid li:before{content:"+";position:absolute;left:0;font-family:var(--mono)}
.company-facts{padding:74px 0;background:var(--paper-2)}.company-facts-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:28px}.company-facts strong{display:block;font:400 clamp(34px,3.5vw,58px)/1 var(--serif);margin-bottom:10px}.company-facts span{font:500 12px var(--mono);color:var(--muted)}

/* Projects redesign */
.inner-hero--projects{padding-bottom:64px}.projects-intro-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);gap:100px;align-items:end}.projects-intro-note{background:var(--ink);color:var(--paper);padding:42px}.projects-intro-note strong{display:block;font:500 14px/1.4 var(--mono);margin-bottom:22px}.projects-intro-note span{font:400 17px/1.55 var(--serif);color:rgba(243,239,229,.76)}
.case-ledger{padding:28px 0 100px}.case-row{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(360px,.75fr);gap:58px;align-items:start;margin:0 0 110px}.case-row--reverse{grid-template-columns:minmax(360px,.75fr) minmax(0,1.25fr)}.case-row--reverse figure{order:2}.case-row--reverse .case-copy{order:1}.case-row figure{margin:0;overflow:hidden;aspect-ratio:1.45/1;background:var(--paper-2)}.case-row figure img{width:100%;height:100%;object-fit:cover;filter:saturate(.62) sepia(.1);transition:transform .65s cubic-bezier(.2,1.25,.35,1)}.case-row:hover img{transform:scale(1.025)}
.case-copy{padding-top:12px}.case-copy h2{font:400 clamp(38px,4vw,62px)/.98 var(--serif);letter-spacing:-.04em;margin:18px 0 24px}.case-copy>p{font:400 18px/1.52 var(--serif);margin:0 0 34px}.project-meta{font:400 11px var(--mono);letter-spacing:.04em;color:var(--muted)}.case-detail{display:grid;grid-template-columns:1fr 1fr;gap:26px}.case-detail strong{display:block;font:500 11px var(--mono);text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-bottom:8px}.case-detail span{font:400 14px/1.5 var(--sans)}
.projects-method{background:var(--coral);padding:96px 0}.projects-method-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:80px}.projects-method h2{font:400 clamp(46px,5vw,76px)/.95 var(--serif);margin:0}.projects-method p{font:400 19px/1.55 var(--serif);margin:0}

/* Contact */
.inner-hero--contact{padding-bottom:82px}.contact-intro-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(340px,.9fr);gap:90px;align-items:end}.contact-brief{background:var(--coral);padding:40px}.contact-brief h2{font:400 34px/1.05 var(--serif);margin:0 0 28px}.contact-brief ol{margin:0;padding-left:20px}.contact-brief li{font:500 15px/1.5 var(--sans);margin-bottom:12px}.contact-expect{margin:42px 0;padding:34px;background:var(--paper-2)}.contact-expect h3{font:400 28px/1 var(--serif);margin:0 0 14px}.contact-expect p,.form-intro{font:400 15px/1.55 var(--sans);color:var(--muted)}.form-intro{margin:-8px 0 28px;max-width:560px}

/* Rich service pages */
.service-hero-rich{padding:66px 0 88px}.service-hero-rich-grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:70px;align-items:center}.service-hero-rich h1{font:400 clamp(66px,7vw,110px)/.88 var(--serif);letter-spacing:-.055em;margin:0 0 28px}.service-hero-rich p{font:400 20px/1.5 var(--serif);max-width:580px;margin:0 0 32px}.service-hero-rich figure{margin:0;aspect-ratio:1.35/1;overflow:hidden}.service-hero-rich figure img{width:100%;height:100%;object-fit:cover;filter:saturate(.66) sepia(.08)}.service-hero-rich--design{background:#f1ded6}.service-hero-rich--development{background:#dce6e1}.service-hero-rich--evolution{background:#efe3ae}
.service-when{padding:88px 0}.service-when-grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:80px}.service-when h2,.rich-section-head h2,.deliverables-grid h2,.decision-note h2,.service-tech-rich h2{font:400 clamp(44px,4.7vw,72px)/.95 var(--serif);letter-spacing:-.04em;margin:0}.service-when ul{list-style:none;padding:0;margin:0}.service-when li{font:400 19px/1.5 var(--serif);padding:0 0 26px 38px;position:relative}.service-when li:before{content:"+";position:absolute;left:0;top:0;color:var(--coral);font:500 22px var(--mono)}
.service-capabilities-rich{padding:92px 0;background:var(--paper-2)}.rich-section-head{display:grid;grid-template-columns:1.05fr .95fr;gap:80px;align-items:end;margin-bottom:56px}.rich-section-head p{font:400 18px/1.55 var(--serif);margin:0;max-width:600px}.rich-cap-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.rich-cap-grid article{background:var(--paper);padding:34px;min-height:240px}.rich-cap-grid h3{font:400 30px/1 var(--serif);margin:0 0 18px}.rich-cap-grid p{font:400 16px/1.55 var(--sans);color:var(--muted);margin:0}
.deliverables-section{padding:92px 0}.deliverables-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:90px}.deliverables-grid>div>p{font:400 17px/1.55 var(--serif);max-width:520px}.deliverables-grid ol{counter-reset:deliverable;list-style:none;margin:0;padding:0}.deliverables-grid li{counter-increment:deliverable;display:grid;grid-template-columns:72px 1fr;gap:18px;align-items:center;padding:16px 0;font:500 18px/1.3 var(--sans)}.deliverables-grid li:before{content:"0" counter(deliverable);font:400 13px var(--mono);color:var(--muted)}
.rich-process-section{padding:94px 0;background:var(--ink);color:var(--paper)}.rich-process-section .rich-section-head p{color:rgba(243,239,229,.68)}.rich-process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.rich-process-step{padding:26px;background:rgba(243,239,229,.06);min-height:230px}.rich-process-step h3{font:400 30px/1 var(--serif);margin:0 0 20px}.rich-process-step p{font:400 14px/1.55 var(--sans);color:rgba(243,239,229,.68);margin:0}
.decision-note{padding:96px 0;background:var(--coral)}.decision-note-grid{display:grid;grid-template-columns:1fr 1fr;gap:88px}.decision-note p{font:400 20px/1.55 var(--serif);margin:0}.service-tech-rich{padding:78px 0}.service-tech-rich-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:80px;align-items:center}.service-tech-rich .tags{justify-content:flex-start}
.service-related-rich{padding:90px 0;background:var(--paper-2)}.related-context-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.related-context-grid a{display:flex;flex-direction:column;justify-content:space-between;min-height:240px;background:var(--paper);padding:30px;transition:transform .5s cubic-bezier(.2,1.4,.35,1),background .25s}.related-context-grid a:hover{transform:translateY(-6px);background:#fff7eb}.related-context-grid strong{font:400 30px/1.05 var(--serif)}.related-context-grid span{font:400 14px/1.45 var(--sans);color:var(--muted);margin-top:38px}
.service-cta-rich{padding:86px 0}.service-cta-rich--design{background:#f1ded6}.service-cta-rich--development{background:#dce6e1}.service-cta-rich--evolution{background:#efe3ae}.service-cta-rich-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:80px;align-items:end}.service-cta-rich h2{font:400 clamp(46px,4.8vw,76px)/.95 var(--serif);margin:0 0 16px}.service-cta-rich p{font:400 18px/1.5 var(--serif);max-width:620px;margin:0}.service-cta-rich .btn{justify-self:end}

/* Legal heroes */
.inner-hero--legal{padding:80px 0 62px}.legal-hero-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:end}.legal-hero-grid h1{font:400 clamp(58px,6vw,94px)/.92 var(--serif);margin:0}.legal-hero-grid p{font:400 18px/1.55 var(--serif);margin:0;max-width:600px}

@media(max-width:1100px){
  .inner-hero-grid,.projects-intro-grid,.contact-intro-grid,.decision-grid,.operating-model-grid,.projects-method-grid,.service-hero-rich-grid,.service-when-grid,.deliverables-grid,.decision-note-grid,.service-tech-rich-grid,.service-cta-rich-grid,.legal-hero-grid{grid-template-columns:1fr;gap:44px}
  .inner-hero-aside{min-height:260px}.service-journal-row{grid-template-columns:1fr 1fr}.service-journal-detail{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:30px}.case-row,.case-row--reverse{grid-template-columns:1fr;gap:26px}.case-row--reverse figure,.case-row--reverse .case-copy{order:initial}.operating-photo,.operating-photo img{min-height:480px}.company-facts-grid{grid-template-columns:1fr 1fr}.rich-process-grid{grid-template-columns:1fr 1fr}.related-context-grid{grid-template-columns:1fr 1fr}.rich-section-head{grid-template-columns:1fr;gap:24px}.service-cta-rich .btn{justify-self:start}
}
@media(max-width:700px){
  .inner-hero,.service-hero-rich{padding:56px 0}.inner-hero h1,.projects-intro-grid h1,.contact-intro-grid h1,.service-hero-rich h1{font-size:clamp(48px,14vw,66px);line-height:.93}.inner-hero p,.projects-intro-grid>div>p,.contact-intro-grid>div>p,.service-hero-rich p{font-size:17px}
  .service-journal-row{grid-template-columns:1fr;padding:38px 0}.service-journal-detail{grid-column:auto;display:block}.service-journal-row figure{aspect-ratio:1.3/1}.decision-section,.operating-model,.fit-section,.case-ledger,.projects-method,.service-capabilities-rich,.deliverables-section,.rich-process-section,.decision-note,.service-related-rich{padding:68px 0}.fit-grid,.company-facts-grid,.rich-cap-grid,.rich-process-grid,.related-context-grid,.case-detail{grid-template-columns:1fr}.fit-grid{gap:16px}.operating-rule{grid-template-columns:1fr;gap:8px}.company-facts-grid{gap:32px}.case-row{margin-bottom:70px}.contact-brief{padding:28px}.rich-process-step{min-height:0}.service-tech-rich-grid{gap:28px}.service-cta-rich-grid{gap:28px}
}


/* =========================================================
   V4 — dark editorial openings for every internal page
   ========================================================= */
/* Header: logo + navigation only; descriptive tagline intentionally removed. */
.header-grid{
  grid-template-columns:230px minmax(520px,1fr) auto 170px !important;
  align-items:start;
  gap:30px;
}
.nav{justify-content:center;min-width:0!important;}
.descriptor{display:none!important;}

.dark-page-hero{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  background:var(--ink)!important;
  color:var(--paper)!important;
  min-height:620px;
  padding:88px 0 82px!important;
  display:flex;
  align-items:center;
}
.dark-page-hero::before{
  content:"";
  position:absolute;
  width:430px;
  height:430px;
  right:-105px;
  top:-135px;
  background:var(--coral);
  border-radius:50%;
  z-index:-1;
  opacity:.96;
}
.dark-page-hero::after{
  content:"";
  position:absolute;
  width:180px;
  height:180px;
  right:26%;
  bottom:-92px;
  background:#2b2a25;
  border-radius:50%;
  z-index:-1;
}
.dark-page-hero h1,
.dark-page-hero h2,
.dark-page-hero h3,
.dark-page-hero strong{color:var(--paper)!important;}
.dark-page-hero h1{
  font:400 clamp(68px,7.5vw,122px)/.86 var(--serif)!important;
  letter-spacing:-.055em!important;
  margin:0 0 30px!important;
  max-width:1040px;
}
.dark-page-hero p{
  color:rgba(243,239,229,.76)!important;
  font-size:19px!important;
  line-height:1.52!important;
}
.dark-page-hero .inner-hero-grid,
.dark-page-hero .projects-intro-grid,
.dark-page-hero .contact-intro-grid,
.dark-page-hero .service-hero-rich-grid{
  width:100%;
  align-items:center;
}

/* The secondary composition is no longer a disconnected card. */
.dark-page-hero .dark-hero-panel,
.dark-page-hero .inner-hero-aside,
.dark-page-hero .projects-intro-note,
.dark-page-hero .contact-brief{
  position:relative;
  background:#23231f!important;
  color:var(--paper)!important;
  min-height:330px;
  padding:46px 42px!important;
  overflow:hidden;
}
.dark-page-hero .dark-hero-panel::before,
.dark-page-hero .inner-hero-aside::before,
.dark-page-hero .projects-intro-note::before,
.dark-page-hero .contact-brief::before{
  content:"";
  position:absolute;
  width:210px;
  height:210px;
  right:-62px;
  top:-62px;
  background:var(--coral);
  border-radius:50%;
  z-index:0;
}
.dark-page-hero .dark-hero-panel > *,
.dark-page-hero .inner-hero-aside > *,
.dark-page-hero .projects-intro-note > *,
.dark-page-hero .contact-brief > *{position:relative;z-index:1;}
.dark-page-hero .contact-brief li,
.dark-page-hero .contact-brief h2{color:var(--paper)!important;}
.dark-page-hero .contact-brief ol{padding-right:70px;}

/* Services opener — stronger typographic system. */
.dark-page-hero .service-compass{justify-content:center;gap:0;}
.dark-page-hero .service-compass .compass-word{
  font:500 clamp(38px,4vw,62px)/.82 var(--sans);
  letter-spacing:-.055em;
  color:var(--paper);
}
.dark-page-hero .service-compass p{max-width:330px;margin:38px 0 0!important;font-family:var(--sans)!important;font-size:15px!important;}

/* About opener */
.dark-page-hero .about-hero-mark{justify-content:center;}
.dark-page-hero .about-hero-mark>span{
  font:600 clamp(52px,5vw,78px)/.82 var(--sans);
  letter-spacing:-.07em;
  display:block;
}
.dark-page-hero .about-hero-mark p{max-width:330px;margin-top:32px!important;font-family:var(--sans)!important;font-size:15px!important;}

/* Project and contact intro panels */
.dark-page-hero .projects-intro-note strong{font:500 13px/1.45 var(--mono);display:block;margin-bottom:20px;}
.dark-page-hero .projects-intro-note span{font:400 16px/1.55 var(--sans);color:rgba(243,239,229,.76);}
.dark-page-hero .contact-brief h2{font:400 clamp(34px,3vw,46px)/1 var(--serif);margin:0 0 26px;max-width:360px;}
.dark-page-hero .contact-brief li{font:500 15px/1.5 var(--sans);margin-bottom:12px;}

/* Service detail pages: photo remains separate and legible, opening is now part of the same dark system. */
.service-hero-rich.dark-page-hero{background:var(--ink)!important;}
.service-hero-rich.dark-page-hero figure{
  position:relative;
  aspect-ratio:1.35/1;
  background:#23231f;
  overflow:hidden;
}
.service-hero-rich.dark-page-hero figure::after{
  content:"";
  position:absolute;
  inset:auto 0 0 auto;
  width:28%;
  height:34%;
  background:var(--coral);
  mix-blend-mode:multiply;
  opacity:.78;
}
.service-hero-rich.dark-page-hero figure img{
  filter:grayscale(.16) saturate(.56) sepia(.08) contrast(1.02) brightness(.82);
}
.service-hero-rich.dark-page-hero .btn{
  background:var(--coral);
  color:var(--paper);
}
.service-hero-rich.dark-page-hero .btn:hover{background:var(--paper);color:var(--ink);}

/* Legal pages get a real opening instead of beginning immediately with body copy. */
.dark-page-hero--legal{min-height:520px;}
.legal-dark-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);gap:90px;align-items:center;width:100%;}
.legal-dark-copy p{max-width:520px;margin:0!important;font:400 18px/1.5 var(--sans)!important;}
.legal-dark-aside{
  position:relative;
  min-height:280px;
  padding:42px;
  background:#23231f;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  overflow:hidden;
}
.legal-dark-aside::before{content:"";position:absolute;width:190px;height:190px;border-radius:50%;right:-50px;top:-55px;background:var(--coral);}
.legal-dark-aside>*{position:relative;z-index:1;}
.legal-dark-aside strong{font:600 26px/1 var(--sans);letter-spacing:-.04em;}
.legal-dark-aside p{font:400 16px/1.5 var(--sans)!important;max-width:360px;margin:28px 0!important;}
.legal-dark-meta{font:400 11px/1.4 var(--mono);color:rgba(243,239,229,.58);}

/* Keep legal body clearly separated from dark opening. */
.dark-page-hero--legal + .editorial-section{padding-top:84px;}
.dark-page-hero--legal + .editorial-section .legal{max-width:960px;}

@media(max-width:1100px){
  .header-grid{grid-template-columns:180px 1fr auto!important;}
  .header-cta{grid-column:3;grid-row:1;}
  .nav{grid-column:1/-1;grid-row:2;justify-content:flex-start;}
  .lang{grid-column:2;grid-row:1;justify-self:end;margin-right:188px;}
  .dark-page-hero{min-height:0;padding:72px 0!important;}
  .dark-page-hero .inner-hero-grid,
  .dark-page-hero .projects-intro-grid,
  .dark-page-hero .contact-intro-grid,
  .dark-page-hero .service-hero-rich-grid,
  .legal-dark-grid{grid-template-columns:1fr;gap:42px;}
  .dark-page-hero .dark-hero-panel,
  .dark-page-hero .inner-hero-aside,
  .dark-page-hero .projects-intro-note,
  .dark-page-hero .contact-brief,
  .legal-dark-aside{min-height:260px;}
}
@media(max-width:700px){
  .header-grid{grid-template-columns:1fr auto!important;min-height:118px;}
  .header-cta{grid-column:2;grid-row:1;padding:12px 14px;min-width:0;}
  .lang{grid-column:2;grid-row:2;margin-right:0;justify-self:end;}
  .nav{grid-column:1/-1;grid-row:3;overflow:auto;white-space:nowrap;gap:20px;padding-bottom:6px;}
  .dark-page-hero{padding:56px 0!important;}
  .dark-page-hero::before{width:250px;height:250px;right:-100px;top:-110px;}
  .dark-page-hero::after{display:none;}
  .dark-page-hero h1{font-size:clamp(46px,14vw,66px)!important;line-height:.92!important;}
  .dark-page-hero p{font-size:16px!important;}
  .dark-page-hero .dark-hero-panel,
  .dark-page-hero .inner-hero-aside,
  .dark-page-hero .projects-intro-note,
  .dark-page-hero .contact-brief,
  .legal-dark-aside{padding:30px 24px!important;min-height:230px;}
  .service-hero-rich.dark-page-hero figure{aspect-ratio:1.15/1;}
}

/* ===== v5 — unified internal-page opener system ===== */
/* Home and About intentionally keep their own compositions. */
@media (min-width:1101px){
  .dark-page-hero:not(.inner-hero--about) > .container{
    width:min(calc(100% - 160px),var(--max));
  }
}

.dark-page-hero:not(.inner-hero--about){
  min-height:620px;
  padding:88px 0 82px!important;
}
.dark-page-hero:not(.inner-hero--about)::after{display:none;}

/* One common two-column rhythm for internal openings. */
.dark-page-hero:not(.inner-hero--about) .inner-hero-grid,
.dark-page-hero:not(.inner-hero--about) .projects-intro-grid,
.dark-page-hero:not(.inner-hero--about) .contact-intro-grid,
.dark-page-hero:not(.inner-hero--about) .service-hero-rich-grid,
.dark-page-hero:not(.inner-hero--about) .legal-dark-grid{
  grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr)!important;
  gap:72px!important;
  align-items:center!important;
  width:100%;
}

.dark-page-hero:not(.inner-hero--about) .inner-hero-copy,
.dark-page-hero:not(.inner-hero--about) .projects-intro-grid>div:first-child,
.dark-page-hero:not(.inner-hero--about) .contact-intro-grid>div:first-child,
.dark-page-hero:not(.inner-hero--about) .service-hero-rich-grid>div:first-child,
.dark-page-hero:not(.inner-hero--about) .legal-dark-copy{
  min-width:0;
}

.dark-page-hero:not(.inner-hero--about) h1{
  font:400 clamp(68px,7vw,116px)/.87 var(--serif)!important;
  letter-spacing:-.052em!important;
  max-width:980px;
  margin:0 0 30px!important;
}

.dark-page-hero:not(.inner-hero--about) .inner-hero-copy>p,
.dark-page-hero:not(.inner-hero--about) .projects-intro-grid>div:first-child>p,
.dark-page-hero:not(.inner-hero--about) .contact-intro-grid>div:first-child>p,
.dark-page-hero:not(.inner-hero--about) .service-hero-rich-grid>div:first-child>p,
.dark-page-hero:not(.inner-hero--about) .legal-dark-copy>p{
  max-width:610px!important;
  margin:0!important;
  font:400 19px/1.52 var(--serif)!important;
  color:rgba(243,239,229,.78)!important;
}

/* All information insets use the same visual language. */
.dark-page-hero:not(.inner-hero--about) .dark-hero-panel,
.dark-page-hero:not(.inner-hero--about) .projects-intro-note,
.dark-page-hero:not(.inner-hero--about) .contact-brief,
.dark-page-hero:not(.inner-hero--about) .legal-dark-aside{
  min-height:350px!important;
  padding:48px 44px!important;
  background:#23231f!important;
  color:var(--paper)!important;
  display:flex;
  flex-direction:column;
  justify-content:center;
  overflow:hidden;
}

/* Remove the duplicate coral disc from the inset itself. */
.dark-page-hero:not(.inner-hero--about) .dark-hero-panel::before,
.dark-page-hero:not(.inner-hero--about) .projects-intro-note::before,
.dark-page-hero:not(.inner-hero--about) .contact-brief::before,
.dark-page-hero:not(.inner-hero--about) .legal-dark-aside::before{
  content:none!important;
  display:none!important;
}

/* Consistent type inside right-hand insets. */
.dark-page-hero:not(.inner-hero--about) .projects-intro-note strong,
.dark-page-hero:not(.inner-hero--about) .contact-brief h2,
.dark-page-hero:not(.inner-hero--about) .legal-dark-aside strong{
  font:500 clamp(30px,2.65vw,44px)/1.02 var(--sans)!important;
  letter-spacing:-.045em!important;
  text-transform:none!important;
  margin:0 0 28px!important;
  color:var(--paper)!important;
  max-width:460px;
}
.dark-page-hero:not(.inner-hero--about) .projects-intro-note>span,
.dark-page-hero:not(.inner-hero--about) .legal-dark-aside>p{
  font:400 16px/1.55 var(--sans)!important;
  color:rgba(243,239,229,.72)!important;
  max-width:430px;
  margin:0!important;
}
.dark-page-hero:not(.inner-hero--about) .contact-brief ol{
  margin:0;
  padding:0 0 0 20px!important;
  max-width:500px;
}
.dark-page-hero:not(.inner-hero--about) .contact-brief li{
  font:500 15px/1.5 var(--sans)!important;
  color:rgba(243,239,229,.82)!important;
  margin:0 0 13px!important;
}

/* Services hub keeps its three-word signature but without decorative circle. */
.dark-page-hero:not(.inner-hero--about) .service-compass{
  justify-content:center!important;
  gap:0!important;
}
.dark-page-hero:not(.inner-hero--about) .service-compass .compass-word{
  font:500 clamp(38px,3.55vw,58px)/.86 var(--sans)!important;
  letter-spacing:-.055em!important;
  color:var(--paper)!important;
}
.dark-page-hero:not(.inner-hero--about) .service-compass p{
  max-width:390px!important;
  margin:34px 0 0!important;
  font:400 16px/1.55 var(--sans)!important;
  color:rgba(243,239,229,.72)!important;
}

/* Service-detail photos align to the same right-column dimensions. */
.service-hero-rich.dark-page-hero:not(.inner-hero--about) figure{
  min-height:350px;
  aspect-ratio:1.35/1;
  align-self:stretch;
}
.service-hero-rich.dark-page-hero:not(.inner-hero--about) figure::after{
  width:16%;
  height:22%;
  opacity:.48;
}

/* Legal openers now share the same height and rhythm as all internal pages. */
.dark-page-hero--legal{min-height:620px!important;}
.legal-dark-meta{margin-top:28px;}

@media(max-width:1100px){
  .dark-page-hero:not(.inner-hero--about) > .container{
    width:min(calc(100% - 44px),var(--max));
  }
  .dark-page-hero:not(.inner-hero--about) .inner-hero-grid,
  .dark-page-hero:not(.inner-hero--about) .projects-intro-grid,
  .dark-page-hero:not(.inner-hero--about) .contact-intro-grid,
  .dark-page-hero:not(.inner-hero--about) .service-hero-rich-grid,
  .dark-page-hero:not(.inner-hero--about) .legal-dark-grid{
    grid-template-columns:1fr!important;
    gap:42px!important;
  }
}

@media(max-width:700px){
  .dark-page-hero:not(.inner-hero--about) > .container{
    width:calc(100% - 32px);
  }
  .dark-page-hero:not(.inner-hero--about){padding:54px 0 58px!important;}
  .dark-page-hero:not(.inner-hero--about) h1{
    font-size:clamp(46px,13.5vw,64px)!important;
    line-height:.92!important;
  }
  .dark-page-hero:not(.inner-hero--about) .dark-hero-panel,
  .dark-page-hero:not(.inner-hero--about) .projects-intro-note,
  .dark-page-hero:not(.inner-hero--about) .contact-brief,
  .dark-page-hero:not(.inner-hero--about) .legal-dark-aside{
    min-height:0!important;
    padding:30px 24px!important;
  }
}


/* =========================================================
   V6 — spacing, footer-inspired Studio module, modal accent
   ========================================================= */
/* Keep oversized internal-page typography comfortably inside the viewport. */
@media (min-width:1101px){
  .dark-page-hero:not(.inner-hero--about) .inner-hero-copy,
  .dark-page-hero:not(.inner-hero--about) .projects-intro-grid>div:first-child,
  .dark-page-hero:not(.inner-hero--about) .contact-intro-grid>div:first-child,
  .dark-page-hero:not(.inner-hero--about) .service-hero-rich-grid>div:first-child,
  .dark-page-hero:not(.inner-hero--about) .legal-dark-copy{
    padding-left:clamp(28px,2.35vw,46px);
  }
}

/* About hero: a compact footer-like company index, not a giant slogan card. */
.dark-page-hero .about-footer-index{
  background:var(--paper)!important;
  color:var(--ink)!important;
  min-height:390px;
  padding:42px 44px!important;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  overflow:hidden;
}
.dark-page-hero .about-footer-index::before{content:none!important;display:none!important}
.about-footer-brand{
  font:600 clamp(38px,3.4vw,58px)/.82 var(--sans);
  letter-spacing:-.06em;
  color:var(--ink)!important;
  max-width:330px;
}
.dark-page-hero .about-footer-claim{
  margin:34px 0!important;
  max-width:430px!important;
  color:var(--ink)!important;
  font:400 25px/1.08 var(--serif)!important;
}
.about-footer-meta{display:grid;gap:0;margin-top:auto}
.about-footer-meta-row{
  display:grid;
  grid-template-columns:92px 1fr;
  gap:18px;
  padding:9px 0;
  color:var(--ink);
}
.about-footer-meta-row span{font:400 10px/1.35 var(--mono);letter-spacing:.06em;color:var(--muted)}
.about-footer-meta-row strong{font:500 12px/1.35 var(--sans);color:var(--ink)!important;overflow-wrap:anywhere}

/* Replacement for the old portrait/stat composition: all signal, no stock-person portrait. */
.studio-operating-index{background:var(--ink);color:var(--paper);padding:92px 0 98px}
.studio-operating-index-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:72px 86px;align-items:start}
.studio-index-lead h2{font:400 clamp(48px,5vw,82px)/.93 var(--serif);letter-spacing:-.045em;margin:0 0 26px;max-width:760px}
.studio-index-lead p{font:400 18px/1.55 var(--serif);color:rgba(243,239,229,.72);max-width:650px;margin:0}
.studio-index-grid{display:grid;grid-template-columns:1fr 1fr;gap:34px 42px;padding-top:8px}
.studio-index-grid article{min-height:118px;display:flex;flex-direction:column;justify-content:space-between}
.studio-index-grid strong{font:400 clamp(38px,4vw,62px)/1 var(--serif);color:var(--paper)}
.studio-index-grid span{font:400 11px/1.45 var(--mono);letter-spacing:.04em;color:rgba(243,239,229,.56);max-width:190px}
.studio-index-principles{grid-column:1/-1;background:var(--coral);color:var(--ink);padding:38px 42px;display:grid;grid-template-columns:.8fr 1.2fr;gap:60px;align-items:start}
.studio-index-principles h3{font:400 clamp(30px,3vw,48px)/1 var(--serif);margin:0;max-width:420px}
.studio-index-principles ul{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.studio-index-principles li{font:500 14px/1.45 var(--sans);padding-top:4px}

/* Coral signal in the quick inquiry drawer, safely behind content. */
.inquiry-panel::before{
  content:"";
  position:absolute;
  width:250px;
  height:250px;
  border-radius:50%;
  background:var(--coral);
  right:-92px;
  top:-82px;
  opacity:.58;
  pointer-events:none;
  z-index:0;
}
.inquiry-panel>*{position:relative;z-index:1}
.inquiry-close{z-index:3!important}

@media(max-width:1100px){
  .studio-operating-index-grid{grid-template-columns:1fr;gap:48px}
  .studio-index-principles{grid-template-columns:1fr;gap:28px}
  .dark-page-hero .about-footer-index{min-height:320px}
}
@media(max-width:700px){
  .studio-operating-index{padding:64px 0 70px}
  .studio-index-grid{grid-template-columns:1fr 1fr;gap:26px 18px}
  .studio-index-principles{padding:28px 24px}
  .studio-index-principles ul{grid-template-columns:1fr;gap:14px}
  .dark-page-hero .about-footer-index{padding:30px 24px!important}
  .about-footer-meta-row{grid-template-columns:76px 1fr}
  .inquiry-panel::before{width:190px;height:190px;right:-72px;top:-60px}
}


/* =========================================================
   V7 — clean About hero + replaced homepage proof section
   ========================================================= */
.dark-page-hero .about-footer-index{
  justify-content:center!important;
  min-height:390px;
}
.dark-page-hero .about-footer-claim{
  margin:38px 0 0!important;
  max-width:460px!important;
}
.about-footer-meta{display:none!important}

.home-continuity{
  background:var(--ink);
  color:var(--paper);
  padding:94px 0 102px;
  overflow:hidden;
}
.home-continuity-grid{
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);
  gap:82px;
  align-items:start;
}
.home-continuity-lead h2{
  margin:0 0 28px;
  max-width:800px;
  font:400 clamp(52px,5.2vw,88px)/.92 var(--serif);
  letter-spacing:-.045em;
  color:var(--paper);
}
.home-continuity-lead p{
  margin:0;
  max-width:650px;
  font:400 18px/1.58 var(--serif);
  color:rgba(243,239,229,.72);
}
.home-continuity-points{
  display:grid;
  gap:0;
  padding-top:8px;
}
.continuity-point{
  padding:26px 0 30px;
  position:relative;
}
.continuity-point + .continuity-point{margin-top:18px}
.continuity-point h3{
  margin:0 0 12px;
  font:400 clamp(28px,2.4vw,42px)/1.02 var(--serif);
  color:var(--paper);
  max-width:480px;
}
.continuity-point p{
  margin:0;
  max-width:560px;
  font:400 16px/1.6 var(--sans);
  color:rgba(243,239,229,.68);
}
.continuity-point::before{
  content:"";
  display:block;
  width:48px;
  height:10px;
  background:var(--coral);
  margin:0 0 24px;
  transform:skewX(-18deg);
}
@media(max-width:1100px){
  .home-continuity-grid{grid-template-columns:1fr;gap:48px}
  .home-continuity-points{grid-template-columns:repeat(3,1fr);gap:28px}
}
@media(max-width:700px){
  .home-continuity{padding:70px 0 76px}
  .home-continuity-points{grid-template-columns:1fr;gap:8px}
  .home-continuity-lead h2{font-size:52px}
}

/* =========================================================
   V8 — richer home + lighter About opener
   ========================================================= */

/* About opener: light field, dark inset, consistent coral signal. */
.about-light-hero{
  background:var(--paper)!important;
  color:var(--ink)!important;
  padding:92px 0 88px;
  overflow:hidden;
}
.about-light-hero .inner-hero-grid{
  grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr);
  gap:78px;
  align-items:center;
}
.about-light-hero .inner-hero-copy{padding-left:clamp(18px,2vw,34px)}
.about-light-hero h1{
  margin:0 0 28px;
  max-width:910px;
  font:400 clamp(64px,6.7vw,108px)/.9 var(--serif);
  letter-spacing:-.052em;
  color:var(--ink);
}
.about-light-hero .inner-hero-copy>p{
  margin:0;
  max-width:650px;
  font:400 19px/1.55 var(--serif);
  color:var(--muted);
}
.about-dark-inset{
  position:relative;
  min-height:390px;
  padding:44px 46px;
  background:var(--ink)!important;
  color:var(--paper)!important;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  overflow:hidden;
}
.about-dark-inset::before{
  content:"";
  position:absolute;
  width:210px;
  height:210px;
  right:-60px;
  top:-62px;
  border-radius:50%;
  background:var(--coral);
}
.about-dark-inset>*{position:relative;z-index:1}
.about-inset-brand{
  margin:0 0 auto;
  max-width:280px;
  font:600 clamp(30px,2.8vw,44px)/.84 var(--sans);
  letter-spacing:-.055em;
}
.about-inset-claim{
  margin:72px 0 18px!important;
  max-width:470px!important;
  font:500 clamp(28px,2.45vw,40px)/.98 var(--sans)!important;
  letter-spacing:-.045em;
  color:var(--paper)!important;
}
.about-inset-note{
  margin:0!important;
  max-width:390px!important;
  font:400 15px/1.55 var(--sans)!important;
  color:rgba(243,239,229,.66)!important;
}

/* Homepage — practical briefing section. */
.home-briefing{
  background:var(--paper-2);
  padding:92px 0 96px;
  overflow:hidden;
}
.home-briefing-grid{
  display:grid;
  grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);
  gap:86px;
  align-items:start;
}
.home-briefing-lead{
  position:relative;
  padding:42px 44px 48px;
  background:var(--coral);
  min-height:430px;
}
.home-briefing-lead::after{
  content:"";
  position:absolute;
  width:148px;
  height:148px;
  right:-44px;
  bottom:-42px;
  border-radius:50%;
  background:var(--ink);
  opacity:.96;
}
.home-briefing-lead h2{
  margin:0 0 30px;
  max-width:720px;
  font:400 clamp(46px,4.4vw,76px)/.93 var(--serif);
  letter-spacing:-.045em;
}
.home-briefing-lead p{
  max-width:560px;
  margin:0;
  font:400 18px/1.55 var(--serif);
}
.home-briefing-items{display:grid;gap:24px;padding-top:12px}
.home-briefing-items article{
  padding:26px 30px 30px;
  background:var(--paper);
  min-height:150px;
  transition:transform .45s cubic-bezier(.2,1.45,.35,1);
}
.home-briefing-items article:nth-child(2){transform:translateX(7%)}
.home-briefing-items article:nth-child(3){transform:translateX(2%)}
.home-briefing-items article:hover{transform:translateX(3%) scale(1.012)}
.home-briefing-items strong{
  display:block;
  margin-bottom:12px;
  font:500 clamp(22px,2vw,30px)/1.05 var(--sans);
  letter-spacing:-.035em;
}
.home-briefing-items p{margin:0;max-width:680px;color:var(--muted);font:400 15px/1.62 var(--sans)}

/* Homepage — deliverables after launch. */
.home-delivery{
  background:var(--paper);
  padding:96px 0 104px;
  overflow:hidden;
}
.home-delivery-grid{
  display:grid;
  grid-template-columns:minmax(320px,.72fr) minmax(0,1.28fr);
  gap:76px;
  align-items:stretch;
}
.home-delivery-visual{
  position:relative;
  min-height:520px;
  padding:52px 42px;
  background:var(--ink);
  color:var(--paper);
  overflow:hidden;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.delivery-word{
  position:relative;
  z-index:2;
  display:block;
  font:600 clamp(48px,5vw,78px)/.79 var(--sans);
  letter-spacing:-.065em;
}
.delivery-word:nth-child(2){color:rgba(243,239,229,.54)}
.delivery-word:nth-child(3){font-family:var(--serif);font-style:italic;font-weight:400;color:var(--coral)}
.delivery-coral{
  position:absolute;
  width:240px;
  height:240px;
  border-radius:50%;
  background:var(--coral);
  right:-88px;
  bottom:-72px;
  opacity:.92;
}
.home-delivery-copy{padding:24px 0 10px}
.home-delivery-copy h2{
  margin:0 0 26px;
  max-width:920px;
  font:400 clamp(52px,5.2vw,86px)/.92 var(--serif);
  letter-spacing:-.048em;
}
.home-delivery-copy>p{
  max-width:720px;
  margin:0 0 44px;
  font:400 18px/1.58 var(--serif);
  color:var(--muted);
}
.home-delivery-list{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.home-delivery-list>div{
  min-height:210px;
  padding:28px 24px;
  background:var(--paper-2);
}
.home-delivery-list strong{display:block;margin-bottom:18px;font:500 20px/1.08 var(--sans);letter-spacing:-.025em}
.home-delivery-list span:last-child{display:block;color:var(--muted);font:400 14px/1.6 var(--sans)}

/* About: redesigned proof block — asymmetrical, factual, no random portrait. */
.about-proof{
  padding:96px 0 104px;
  background:var(--paper);
  overflow:hidden;
}
.about-proof-grid{
  display:grid;
  grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);
  gap:74px;
  align-items:start;
}
.about-proof-intro h2{
  margin:0 0 26px;
  max-width:760px;
  font:400 clamp(52px,5vw,82px)/.92 var(--serif);
  letter-spacing:-.045em;
}
.about-proof-intro p{
  margin:0;
  max-width:620px;
  font:400 18px/1.58 var(--serif);
  color:var(--muted);
}
.about-proof-composition{
  display:grid;
  grid-template-columns:1.05fr .95fr;
  gap:18px;
}
.about-proof-dark,.about-proof-coral{
  min-height:300px;
  padding:34px 32px;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
}
.about-proof-dark{background:var(--ink);color:var(--paper);transform:translateY(34px)}
.about-proof-coral{background:var(--coral);color:var(--ink)}
.about-proof-dark h3,.about-proof-coral h3{
  margin:0 0 18px;
  font:500 clamp(28px,2.8vw,42px)/.98 var(--sans);
  letter-spacing:-.045em;
}
.about-proof-dark p,.about-proof-coral p{margin:0;font:400 15px/1.58 var(--sans);max-width:430px}
.about-proof-dark p{color:rgba(243,239,229,.68)}
.about-proof-facts{
  grid-column:1/-1;
  margin-top:18px;
  display:grid;
  grid-template-columns:.8fr .65fr 1.25fr;
  gap:18px;
  background:var(--paper-2);
  padding:30px 32px;
}
.about-proof-facts>div{min-height:96px;display:flex;flex-direction:column;justify-content:space-between}
.about-proof-facts strong{font:400 clamp(32px,3.2vw,52px)/1 var(--serif)}
.about-proof-facts span{font:400 10px/1.4 var(--mono);letter-spacing:.05em;color:var(--muted)}

@media(max-width:1100px){
  .about-light-hero .inner-hero-grid,.home-briefing-grid,.home-delivery-grid,.about-proof-grid{grid-template-columns:1fr;gap:48px}
  .about-dark-inset{min-height:320px}
  .home-briefing-items article:nth-child(2),.home-briefing-items article:nth-child(3){transform:none}
  .home-delivery-visual{min-height:360px}
  .home-delivery-list{grid-template-columns:1fr 1fr}
}
@media(max-width:700px){
  .about-light-hero{padding:58px 0 64px}
  .about-light-hero .inner-hero-copy{padding-left:0}
  .about-light-hero h1{font-size:54px}
  .about-dark-inset{padding:30px 26px;min-height:300px}
  .about-inset-claim{margin-top:64px!important;font-size:30px!important}
  .home-briefing,.home-delivery,.about-proof{padding:68px 0 74px}
  .home-briefing-lead{padding:32px 26px;min-height:0}
  .home-briefing-lead h2,.home-delivery-copy h2,.about-proof-intro h2{font-size:48px}
  .home-briefing-items article{padding:24px 22px}
  .home-delivery-visual{min-height:300px;padding:36px 28px}
  .home-delivery-list{grid-template-columns:1fr}
  .about-proof-composition{grid-template-columns:1fr}
  .about-proof-dark{transform:none}
  .about-proof-facts{grid-template-columns:1fr;gap:24px;padding:26px 24px}
}


/* =========================================================
   V9 — decorative figures kept clear of content
   ========================================================= */

/* Create a consistent stacking context so decorative figures never sit above copy. */
.hero,
.page-hero,
.dark-page-hero,
.about-light-hero,
.home-briefing,
.home-delivery,
.home-continuity,
.about-proof,
.service-hero-rich,
.operating-model,
.projects-method,
.final-cta,
.contact-form,
.inquiry-panel,
.legal-dark-aside,
.about-dark-inset,
.home-delivery-visual,
.home-briefing-lead{
  position:relative;
  isolation:isolate;
}

.hero-copy,
.hero-photo-wrap,
.page-hero .container,
.dark-page-hero .container,
.about-light-hero .container,
.home-briefing-grid,
.home-delivery-grid,
.home-continuity-grid,
.about-proof-grid,
.final-cta .container,
.contact-form,
.inquiry-panel,
.about-dark-inset > *,
.home-delivery-visual > *,
.home-briefing-lead > *{
  position:relative;
  z-index:1;
}

/* Home hero: move the coral sculpture away from the reading area. */
.coral-sculpture{
  left:-128px;
  top:-14px;
  width:420px;
  height:440px;
  opacity:.62;
}
.coral-layer:nth-child(1){transform:translateZ(0) rotate(-15deg) scale(.84)}
.coral-layer:nth-child(2){transform:translate3d(58px,22px,36px) rotate(15deg) scale(.62);opacity:.40}
.coral-layer:nth-child(3){transform:translate3d(-70px,156px,56px) rotate(30deg) scale(.42);opacity:.26}
.hero-side-note{left:18px;bottom:34px;max-width:220px}

/* Generic page blobs stay in the perimeter, never in the text column. */
.blob{
  width:360px;
  height:320px;
  right:-140px;
  top:-54px;
  opacity:.78;
}

/* Shared internal-page openers: figures become corner accents only. */
.dark-page-hero::before{
  width:280px;
  height:280px;
  right:-110px;
  top:-120px;
  opacity:.90;
}
.dark-page-hero .dark-hero-panel::before,
.dark-page-hero .inner-hero-aside::before,
.dark-page-hero .projects-intro-note::before,
.dark-page-hero .contact-brief::before,
.legal-dark-aside::before,
.about-dark-inset::before{
  width:160px;
  height:160px;
  right:-76px;
  top:-76px;
  opacity:.96;
}
.dark-page-hero .dark-hero-panel,
.dark-page-hero .inner-hero-aside,
.dark-page-hero .projects-intro-note,
.dark-page-hero .contact-brief,
.legal-dark-aside,
.about-dark-inset{
  overflow:hidden;
}

/* Home briefing / delivery accents pulled outside the readable zone. */
.home-briefing-lead::after{
  width:112px;
  height:112px;
  right:-46px;
  bottom:-54px;
  opacity:.98;
}
.delivery-coral{
  width:190px;
  height:190px;
  right:-102px;
  bottom:-94px;
  opacity:.90;
}

/* Photo/inset decorative overlay reduced so it doesn't compete with content. */
.service-hero-rich.dark-page-hero figure::after{
  width:22%;
  height:26%;
  opacity:.56;
}

/* Modal accent kept decorative and out of the form fields. */
.inquiry-panel::before{
  width:170px;
  height:170px;
  right:-84px;
  top:-72px;
  opacity:.72;
}

/* About proof / continuity sections remain figure-light and readable. */
.about-proof-dark,
.about-proof-coral,
.home-continuity,
.home-delivery-visual,
.home-briefing-lead{
  overflow:hidden;
}

@media (max-width:1100px){
  .coral-sculpture{left:-110px;top:-8px;width:340px;height:360px;opacity:.56}
  .blob{width:260px;height:230px;right:-110px;top:-44px}
  .dark-page-hero::before{width:220px;height:220px;right:-96px;top:-96px}
  .dark-page-hero .dark-hero-panel::before,
  .dark-page-hero .inner-hero-aside::before,
  .dark-page-hero .projects-intro-note::before,
  .dark-page-hero .contact-brief::before,
  .legal-dark-aside::before,
  .about-dark-inset::before{width:136px;height:136px;right:-70px;top:-70px}
}

@media (max-width:700px){
  .coral-sculpture{left:-82px;top:8px;width:250px;height:270px;opacity:.42}
  .hero-side-note{left:12px;bottom:22px;max-width:180px}
  .dark-page-hero::before{width:170px;height:170px;right:-82px;top:-82px}
  .dark-page-hero .dark-hero-panel::before,
  .dark-page-hero .inner-hero-aside::before,
  .dark-page-hero .projects-intro-note::before,
  .dark-page-hero .contact-brief::before,
  .legal-dark-aside::before,
  .about-dark-inset::before{width:118px;height:118px;right:-58px;top:-58px}
  .home-briefing-lead::after{width:88px;height:88px;right:-38px;bottom:-42px}
  .delivery-coral{width:140px;height:140px;right:-78px;bottom:-76px}
  .inquiry-panel::before{width:128px;height:128px;right:-58px;top:-54px}
}


/* =========================================================
   V10 — less generic photography + richer editorial sections
   ========================================================= */
.hero-photo,
.service-image img,
.project-thumb img,
.project-card img,
.service-preview img,
.service-hero-rich figure img,
.final-cta-media img,
.related-context-grid + img,
.case-row figure img,
.operating-photo img{
  filter:grayscale(.08) saturate(.54) sepia(.06) contrast(.98);
}
.hero-photo-shade,
.final-cta:after{background:rgba(17,17,15,.14)}
.service-image,
.project-thumb .media,
.project-card figure,
.service-preview,
.service-hero-rich figure,
.final-cta-media{
  box-shadow:0 16px 38px rgba(15,15,15,.08);
}
.project-thumb h3{font-size:15px}
.project-thumb p{font-size:12px;letter-spacing:.02em}

/* Redesign of the service decision / technology blocks */
.section-kicker{display:inline-flex;align-items:center;gap:10px;font:400 11px/1.2 var(--mono);letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}
.section-kicker::before{content:"";width:34px;height:1px;background:currentColor;opacity:.65}
.decision-note--editorial{padding:84px 0;background:var(--paper)}
.decision-note-shell{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:54px;background:linear-gradient(135deg,var(--coral) 0%,#f15c3f 100%);padding:48px 52px;box-shadow:0 22px 48px rgba(19,16,13,.1)}
.decision-note-head h2{font:400 clamp(48px,4.8vw,76px)/.92 var(--serif);letter-spacing:-.045em;margin:14px 0 20px;max-width:9ch}
.decision-note-head p{font:400 19px/1.55 var(--serif);margin:0;max-width:38rem;color:rgba(17,17,15,.9)}
.decision-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;align-content:start}
.decision-fact{background:rgba(245,241,232,.88);padding:22px 20px 24px;min-height:156px;display:flex;flex-direction:column;justify-content:space-between}
.decision-fact-label{font:400 11px/1.2 var(--mono);letter-spacing:.16em;text-transform:uppercase;color:rgba(17,17,15,.58)}
.decision-fact strong{font:400 26px/1.03 var(--serif);letter-spacing:-.03em;color:var(--ink)}

.service-tech-rich--editorial{padding:84px 0 96px;background:var(--paper-2)}
.service-tech-shell{display:grid;grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr);gap:56px;padding:42px 0 0;border-top:1px solid var(--line)}
.tech-stack-head h2{font:400 clamp(46px,4.5vw,70px)/.94 var(--serif);letter-spacing:-.04em;margin:14px 0 18px;max-width:8ch}
.tech-stack-head p{font:400 18px/1.55 var(--serif);margin:0;max-width:34rem;color:var(--muted)}
.tech-columns{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.tech-group{background:var(--paper);padding:22px 20px 24px;border:1px solid rgba(17,17,15,.08);box-shadow:0 14px 30px rgba(17,17,15,.05)}
.tech-group-label{display:block;font:400 11px/1.2 var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-bottom:16px}
.tech-group .tags{gap:8px}
.tech-group .tag{background:var(--ink);color:var(--paper);padding:10px 12px;border-radius:999px}

/* More polished service page visuals */
.service-hero-rich figure img{transform:scale(1.02)}
.service-hero-rich--design{background:#ebe3dc}
.service-hero-rich--development{background:#dde5df}
.service-hero-rich--evolution{background:#ece7cf}
.service-hero-rich figure{position:relative}
.service-hero-rich figure::after{content:"";position:absolute;left:18px;bottom:18px;width:120px;height:120px;background:rgba(240,75,47,.9);border-radius:50%;mix-blend-mode:multiply;opacity:.7}

@media (max-width: 1100px){
  .decision-note-shell,
  .service-tech-shell{grid-template-columns:1fr}
  .decision-facts{grid-template-columns:1fr 1fr 1fr}
  .tech-columns{grid-template-columns:1fr 1fr 1fr}
}
@media (max-width: 820px){
  .decision-facts,
  .tech-columns{grid-template-columns:1fr}
  .decision-note-shell{padding:34px 24px}
  .service-tech-shell{padding-top:28px}
}


/* V11 — curated editorial photography */
img{background:#d8d0c3}
.hero-photo,.service-image img,.service-preview img,.service-hero-rich figure img,.project-thumb img,.case-row figure img,.operating-photo img,.final-cta-media img{filter:saturate(.48) sepia(.11) contrast(1.02) brightness(.96)}
.hero-photo{object-position:52% 50%}
.service-feature:nth-child(1) .service-image img{object-position:50% 54%}
.service-feature:nth-child(2) .service-image img{object-position:50% 48%}
.service-feature:nth-child(3) .service-image img{object-position:50% 46%}
.project-thumb .media img{object-position:center}
.case-row figure img{object-position:center}
.about-page img{object-position:center}


/* =========================================================
   V12 — legibility guardrails, editorial footer, full legal pages
   ========================================================= */

/* Translation-safe typography: never allow copy to collide or escape its column. */
h1,h2,h3,p,strong,li,a,span{min-width:0}
h1,h2,h3,p,strong,.projects-intro-note-title,.projects-intro-note-copy{overflow-wrap:break-word;word-break:normal;hyphens:auto}
.dark-page-hero .projects-intro-note{display:flex!important;flex-direction:column!important;justify-content:center!important;gap:22px!important}
.dark-page-hero .projects-intro-note .projects-intro-note-title{
  display:block!important;
  position:relative!important;
  z-index:2!important;
  margin:0!important;
  max-width:520px!important;
  font:500 clamp(28px,2.45vw,40px)/1.08 var(--sans)!important;
  letter-spacing:-.035em!important;
  color:var(--paper)!important;
  text-transform:none!important;
}
.dark-page-hero .projects-intro-note .projects-intro-note-title span{
  display:block!important;
  font:inherit!important;
  line-height:inherit!important;
  letter-spacing:inherit!important;
  color:inherit!important;
}
.dark-page-hero .projects-intro-note .projects-intro-note-copy{
  display:block!important;
  position:relative!important;
  z-index:2!important;
  max-width:500px!important;
  margin:0!important;
  font:400 16px/1.6 var(--sans)!important;
  color:rgba(243,239,229,.74)!important;
}
.dark-page-hero .projects-intro-note .projects-intro-note-copy span{
  display:inline!important;
  font:inherit!important;
  line-height:inherit!important;
  color:inherit!important;
}

/* Editorial footer */
.site-footer--editorial{
  position:relative;
  background:var(--ink);
  color:var(--paper);
  padding:72px 0 30px;
  overflow:hidden;
}
.site-footer--editorial::before{
  content:"";
  position:absolute;
  width:380px;
  height:380px;
  right:-170px;
  top:-190px;
  border-radius:50%;
  background:var(--coral);
  opacity:.95;
}
.footer-shell{position:relative;z-index:1;display:grid;grid-template-columns:minmax(290px,.85fr) minmax(0,1.35fr);gap:70px 90px;align-items:start}
.footer-hero{min-height:260px;display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between}
.footer-wordmark{font:600 clamp(46px,5vw,82px)/.79 var(--sans);letter-spacing:-.07em;color:var(--paper);max-width:6ch}
.footer-hero p{margin:28px 0 24px;max-width:440px;font:400 20px/1.42 var(--serif);color:rgba(243,239,229,.72)}
.footer-email{font:500 14px/1.4 var(--mono);color:var(--coral);overflow-wrap:anywhere}
.footer-columns{display:grid;grid-template-columns:.75fr .8fr 1.45fr;gap:34px;background:#22221f;padding:34px 36px 38px}
.footer-column{display:flex;flex-direction:column;align-items:flex-start;gap:12px;font:500 14px/1.35 var(--sans)}
.footer-column-title{margin-bottom:10px;font:400 10px/1.2 var(--mono);letter-spacing:.16em;text-transform:uppercase;color:rgba(243,239,229,.45)}
.footer-column a{color:rgba(243,239,229,.82);transition:color .25s,transform .35s cubic-bezier(.2,1.5,.35,1)}
.footer-column a:hover{color:var(--coral);transform:translateX(4px)}
.footer-column--legal a{max-width:260px}
.footer-company{grid-column:1/-1;display:grid;grid-template-columns:1fr auto;gap:30px;align-items:end;background:var(--coral);color:var(--ink);padding:26px 30px}
.footer-company-copy{display:flex;flex-wrap:wrap;gap:10px 28px;align-items:center;font:500 12px/1.4 var(--sans)}
.footer-company-copy strong{font:600 17px/1 var(--sans);letter-spacing:-.02em}
.footer-company-copy a{text-decoration:none}
.footer-lang{display:flex;gap:14px;font:500 11px var(--mono)}
.footer-lang button{border:0;background:none;color:var(--ink);padding:0;opacity:.48;cursor:pointer}
.footer-lang button.active{opacity:1;font-weight:600}
.footer-signoff{grid-column:1/-1;display:flex;justify-content:space-between;gap:30px;font:400 10px/1.5 var(--mono);color:rgba(243,239,229,.45)}

/* Legal documents */
.legal-document{background:var(--paper);padding:86px 0 110px}
.legal-layout{display:grid;grid-template-columns:minmax(250px,.34fr) minmax(0,1fr);gap:86px;align-items:start}
.legal-summary{position:sticky;top:28px;background:var(--coral);padding:30px 28px 32px;color:var(--ink)}
.legal-summary--terms{background:#22221f;color:var(--paper)}
.legal-summary-title{display:block;margin-bottom:20px;font:400 10px/1.2 var(--mono);letter-spacing:.16em;text-transform:uppercase;opacity:.62}
.legal-summary>p{margin:0 0 30px;font:400 20px/1.42 var(--serif)}
.legal-summary-card{display:flex;flex-direction:column;gap:7px;padding:20px;background:rgba(243,239,229,.76);color:var(--ink);font:500 12px/1.45 var(--sans);overflow-wrap:anywhere}
.legal-summary--terms .legal-summary-card{background:var(--coral)}
.legal-summary-card strong{font:600 14px/1.2 var(--sans)}
.legal-body{display:grid;gap:54px}
.legal-block{position:relative;padding-left:34px;max-width:980px}
.legal-block::before{content:"";position:absolute;left:0;top:8px;width:12px;height:38px;background:var(--coral);transform:skewY(-10deg)}
.legal-block h2{margin:0 0 18px;font:400 clamp(34px,3.4vw,54px)/.98 var(--serif);letter-spacing:-.035em;color:var(--ink)}
.legal-block p{margin:0 0 16px;max-width:880px;font:400 17px/1.68 var(--sans);color:#3f3b34}
.legal-block ul{margin:18px 0 0;padding:0;list-style:none;display:grid;gap:12px;max-width:900px}
.legal-block li{position:relative;padding:0 0 0 24px;font:400 16px/1.62 var(--sans);color:#49443c}
.legal-block li::before{content:"+";position:absolute;left:0;top:0;color:var(--coral);font:500 16px var(--mono)}
.legal-purpose-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:22px}
.legal-purpose-grid>div{background:var(--paper-2);padding:24px 24px 22px;min-height:210px}
.legal-purpose-grid strong{display:block;margin-bottom:12px;font:500 20px/1.18 var(--sans);letter-spacing:-.02em}
.legal-purpose-grid p{font-size:15px;margin:0;color:var(--muted)}
.legal-block a{color:var(--coral);text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px}

@media(max-width:1100px){
  .footer-shell{grid-template-columns:1fr;gap:42px}
  .footer-hero{min-height:0}
  .footer-columns{grid-template-columns:1fr 1fr 1.35fr}
  .legal-layout{grid-template-columns:1fr;gap:50px}
  .legal-summary{position:relative;top:auto;max-width:720px}
}
@media(max-width:760px){
  .site-footer--editorial{padding:56px 0 26px}
  .footer-columns{grid-template-columns:1fr;gap:28px;padding:28px 24px}
  .footer-company{grid-template-columns:1fr;align-items:start;padding:24px}
  .footer-company-copy{display:grid;gap:8px}
  .footer-signoff{flex-direction:column;gap:6px}
  .footer-wordmark{font-size:52px}
  .legal-document{padding:64px 0 80px}
  .legal-block{padding-left:24px}
  .legal-block::before{width:8px;height:30px}
  .legal-purpose-grid{grid-template-columns:1fr}
  .legal-block h2{font-size:38px}
}


/* =========================================================
   V13 — equal project previews on the home page
   ========================================================= */
.projects-home .project-thumbs{
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:22px;
  align-items:start;
}

.projects-home .project-thumb{
  display:grid;
  grid-template-rows:auto auto auto;
  align-content:start;
  min-width:0;
}

.projects-home .project-thumb .media{
  width:100%;
  aspect-ratio:4 / 3;
  height:auto;
  overflow:hidden;
}

.projects-home .project-thumb .media img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
}

.projects-home .project-thumb h3{
  margin:12px 0 4px;
  min-height:1.2em;
}

.projects-home .project-thumb p{
  margin:0;
  min-height:2.6em;
}

@media(max-width:1100px){
  .projects-home .project-thumbs{
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:16px;
  }
}

@media(max-width:760px){
  .projects-home .project-thumbs{
    grid-template-columns:1fr;
    gap:28px;
  }
  .projects-home .project-thumb .media{
    aspect-ratio:4 / 3;
  }
}


/* =========================================================
   V14 — thematic imagery + custom interface visuals
   ========================================================= */
img[src$=".svg"]{filter:none!important;}
.project-thumb img[src$=".svg"],.case-row img[src$=".svg"],.service-image img[src$=".svg"],.service-preview img[src$=".svg"],.service-hero-rich figure img[src$=".svg"]{object-fit:cover;background:#F0E9DC;}
.service-hero-rich figure img[src$=".svg"]{transform:none!important;}
.project-thumb .media,.service-image,.service-preview,.case-row figure,.service-hero-rich figure{background:#EEE7DB;}
.hero-photo,.service-image img,.service-preview img,.project-thumb img,.case-row figure img,.service-hero-rich figure img,.operating-photo img,.final-cta-media img{object-position:center;}
.service-image img[src*="stocksnap"],.service-hero-rich figure img[src*="stocksnap"]{object-position:center 45%;}


/* V15 — bespoke visuals diversity update */
.hero-photo, .project-thumb img, .service-image img, .service-preview img, .case-row figure img, .editorial-image img, .operating-photo img, .final-cta-media img {
  image-rendering:auto;
}


/* =========================================================
   V16 — interactive planning CRM on projects page
   ========================================================= */
.case-row--planning{grid-template-columns:minmax(0,1.18fr) minmax(360px,.82fr);align-items:start}
.case-app-shell{background:#e9e2d5;padding:18px;border-radius:24px;box-shadow:0 24px 50px rgba(0,0,0,.08);overflow:hidden}
.crm-demo{display:grid;grid-template-columns:180px minmax(0,1fr);gap:22px;background:#f5f0e6;border-radius:22px;padding:18px;min-height:720px}
.crm-sidebar{background:#131311;color:var(--paper);border-radius:22px;padding:20px 16px;display:flex;flex-direction:column;gap:18px}
.crm-brand{display:flex;align-items:center;gap:12px;font:600 18px/1 var(--sans);letter-spacing:-.03em}
.crm-brand-dot{width:18px;height:18px;border-radius:50%;background:var(--coral);display:inline-block;flex:0 0 auto}
.crm-sidebar-title{font:500 11px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:rgba(243,239,229,.66)}
.crm-nav{display:flex;flex-direction:column;gap:8px}
.crm-nav button{border:0;background:transparent;color:rgba(243,239,229,.78);text-align:left;padding:12px 10px;border-radius:12px;cursor:pointer;transition:.25s}
.crm-nav button.active,.crm-nav button:hover{background:rgba(243,239,229,.09);color:var(--paper)}
.crm-capacity{margin-top:auto;padding:14px;border-radius:16px;background:rgba(243,239,229,.08)}
.crm-capacity-label{display:block;font:500 11px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:rgba(243,239,229,.62);margin-bottom:12px}
.crm-capacity strong{display:block;font:400 44px/1 var(--serif);margin-bottom:12px}
.crm-capacity-bar{height:8px;border-radius:999px;background:rgba(243,239,229,.1);overflow:hidden}.crm-capacity-bar span{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--coral),#c6654e);width:76%}
.crm-main{display:flex;flex-direction:column;gap:20px;min-width:0}
.crm-topbar{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}.crm-topbar h3{font:400 56px/.95 var(--serif);margin:0}.crm-topbar p{margin:8px 0 0;color:var(--muted);font:400 17px/1.35 var(--serif)}
.crm-stats{display:grid;grid-template-columns:repeat(3,minmax(108px,1fr));gap:10px;min-width:min(100%,350px)}
.crm-stat{background:#eae4d8;border-radius:14px;padding:12px 14px}.crm-stat span{display:block;color:var(--soft);font:500 10px/1.2 var(--mono);letter-spacing:.06em;text-transform:uppercase;margin-bottom:6px}.crm-stat strong{display:block;font:600 34px/.9 var(--sans)}.crm-stat--dark{background:#131311;color:var(--paper)}.crm-stat--dark span{color:rgba(243,239,229,.66)}
.crm-grid{display:grid;grid-template-columns:200px minmax(0,1fr);grid-template-areas:'month board' 'agenda board';gap:18px;align-items:start}
.crm-month-card,.crm-agenda-card,.crm-board-card,.crm-pipeline-card,.crm-detail-card{background:#fffdf8;border-radius:20px;box-shadow:0 8px 24px rgba(17,17,15,.05)}
.crm-month-card{grid-area:month;padding:20px}.crm-agenda-card{grid-area:agenda;padding:20px}.crm-board-card{grid-area:board;padding:18px}
.crm-month-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.crm-month-head strong{font:600 26px/1 var(--sans)}.crm-month-head span{font:500 12px var(--mono);color:var(--soft)}
.crm-weekdays,.crm-days{display:grid;grid-template-columns:repeat(7,1fr);gap:8px}.crm-weekdays{margin-bottom:10px}.crm-weekdays span{font:500 11px/1 var(--mono);color:var(--soft);text-align:center}
.crm-days button{aspect-ratio:1/1;border:0;border-radius:50%;background:transparent;cursor:pointer;transition:.25s;font:600 13px/1 var(--sans)}.crm-days button:hover{background:#efe6d8}.crm-days button.active{background:var(--coral);color:var(--paper)}
.crm-board-header{display:grid;grid-template-columns:56px repeat(5,1fr);gap:0;align-items:center;padding:2px 0 16px}.crm-board-header button{appearance:none;border:0;background:none;padding:0 12px;text-align:left;font:600 14px/1 var(--sans);color:var(--ink);opacity:.72;cursor:pointer}.crm-board-header button.active{opacity:1;color:var(--ink)}
.crm-board-body{display:grid;grid-template-columns:56px minmax(0,1fr);gap:0;min-height:420px}.crm-time-column{display:grid;grid-template-rows:repeat(6,1fr);padding-top:10px}.crm-time-column span{font:500 11px var(--mono);color:var(--soft)}
.crm-lanes{display:grid;grid-template-columns:repeat(5,1fr);border-left:1px solid rgba(17,17,15,.08)}.crm-lane{position:relative;min-height:420px;border-right:1px solid rgba(17,17,15,.08);background:repeating-linear-gradient(to bottom, transparent 0, transparent calc(20% - 1px), rgba(17,17,15,.06) calc(20% - 1px), rgba(17,17,15,.06) 20%)}
.crm-card{position:absolute;left:10px;right:10px;border:0;border-radius:16px;padding:12px 12px 11px;text-align:left;cursor:pointer;box-shadow:0 8px 18px rgba(17,17,15,.08);transition:transform .18s ease,box-shadow .18s ease}.crm-card:hover,.crm-card.active{transform:translateY(-2px);box-shadow:0 12px 24px rgba(17,17,15,.13)}.crm-card strong{display:block;font:600 16px/1.1 var(--sans);margin-bottom:8px}.crm-card span,.crm-card small{display:block}.crm-card span{font:400 12px/1.25 var(--sans);opacity:.72;margin-bottom:6px}.crm-card small{font:500 11px/1.2 var(--mono);opacity:.72}.crm-card--discovery{background:#f4ddd4;color:#442018}.crm-card--design{background:#e1e7dc;color:#263328}.crm-card--build{background:#131311;color:var(--paper)}.crm-card--build span,.crm-card--build small{opacity:.84}.crm-card--release{background:#ecd39b;color:#5a3b0f}.crm-card--report{background:#dce5f1;color:#24334a}
.crm-agenda-card h4,.crm-pipeline-card h4,.crm-detail-card h4{margin:0 0 12px}.crm-agenda-day{font:400 28px/1 var(--serif);margin-bottom:14px}.crm-agenda-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.crm-agenda-item{display:grid;grid-template-columns:10px 1fr;gap:10px;align-items:start}.crm-agenda-item i{width:10px;height:10px;border-radius:50%;display:block;margin-top:7px}.crm-agenda-item strong{display:block;font:600 14px/1.2 var(--sans)}.crm-agenda-item span{display:block;font:400 12px/1.35 var(--sans);color:var(--muted)}.crm-milestone{margin-top:20px;padding-top:16px;border-top:1px solid rgba(17,17,15,.08)}.crm-milestone span{display:block;font:500 11px/1 var(--mono);text-transform:uppercase;letter-spacing:.12em;color:var(--soft);margin-bottom:8px}.crm-milestone strong{font:400 22px/1.05 var(--serif)}
.crm-bottom{display:grid;grid-template-columns:.92fr 1.08fr;gap:18px}.crm-pipeline-card,.crm-detail-card{padding:20px}.crm-stage-list{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}.crm-stage-list button{appearance:none;border:0;padding:14px 10px;border-radius:16px;background:#ece5da;cursor:pointer;font:600 12px/1.2 var(--sans);transition:.25s}.crm-stage-list button.active{background:#131311;color:var(--paper)}
.crm-detail-kicker{display:block;font:500 11px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--soft);margin-bottom:10px}.crm-detail-card h4{font:400 34px/1 var(--serif)}.crm-detail-card p{font:400 15px/1.5 var(--serif);margin:0 0 18px;color:var(--muted)}.crm-detail-meta{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin:0}.crm-detail-meta div{padding:12px 0;border-top:1px solid rgba(17,17,15,.08)}.crm-detail-meta dt{font:500 10px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--soft);margin-bottom:6px}.crm-detail-meta dd{margin:0;font:500 14px/1.35 var(--sans)}
@media(max-width:1280px){.case-row--planning{grid-template-columns:1fr}.crm-demo{grid-template-columns:160px 1fr}}
@media(max-width:980px){.crm-demo{grid-template-columns:1fr}.crm-sidebar{order:2}.crm-grid{grid-template-columns:1fr;grid-template-areas:'month' 'board' 'agenda'}.crm-bottom{grid-template-columns:1fr}.crm-stage-list{grid-template-columns:repeat(2,1fr)}.crm-stats{grid-template-columns:repeat(3,1fr);width:100%}.crm-topbar{flex-direction:column}.crm-board-header{grid-template-columns:42px repeat(5,minmax(86px,1fr));overflow:auto}.crm-board-body{grid-template-columns:42px minmax(530px,1fr);overflow:auto}}
@media(max-width:700px){.case-app-shell{padding:10px;border-radius:20px}.crm-demo{padding:12px;min-height:0}.crm-topbar h3{font-size:42px}.crm-stats{grid-template-columns:1fr}.crm-month-head strong{font-size:22px}.crm-agenda-day{font-size:24px}}


/* =========================================================
   V17 — Planning CRM: standalone, readable and date-correct
   ========================================================= */
.case-row--planning{
  display:block!important;
  margin-top:110px;
  margin-bottom:120px;
}
.case-row--planning .case-app-shell{
  width:100%;
  margin:0 0 42px;
  padding:22px;
  background:#e8e1d4;
  border-radius:30px;
  box-shadow:0 30px 70px rgba(17,17,15,.10);
}
.case-row--planning .case-copy{
  display:grid;
  grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);
  gap:54px;
  align-items:start;
  padding:0 8px;
}
.case-row--planning .case-copy .project-meta,
.case-row--planning .case-copy h2{grid-column:1}
.case-row--planning .case-copy>p,
.case-row--planning .case-copy .case-detail{grid-column:2}
.case-row--planning .case-copy h2{margin-top:12px}
.case-row--planning .case-copy>p{margin-top:12px}

.crm-demo{
  grid-template-columns:210px minmax(0,1fr)!important;
  gap:28px!important;
  min-height:820px!important;
  padding:22px!important;
  overflow:hidden;
}
.crm-sidebar{padding:24px 18px!important}
.crm-main{min-width:0;overflow:visible}
.crm-topbar{align-items:center!important}
.crm-topbar h3{font-size:clamp(48px,4vw,72px)!important;white-space:nowrap}
.crm-topbar p{white-space:nowrap}
.crm-stats{min-width:400px!important}

.crm-grid{
  grid-template-columns:260px minmax(0,1fr)!important;
  gap:22px!important;
}
.crm-month-card{padding:24px!important;min-width:0}
.crm-month-head{gap:12px}
.crm-month-head strong{
  font-size:23px!important;
  line-height:1!important;
  white-space:nowrap;
  overflow:visible;
  word-break:normal;
}
.crm-weekdays,.crm-days{gap:7px!important}
.crm-days button{min-width:0;font-size:13px!important}

.crm-board-card{padding:22px!important;min-width:0;overflow:hidden}
.crm-board-header{
  grid-template-columns:66px repeat(5,minmax(118px,1fr))!important;
  gap:0!important;
  overflow:visible!important;
}
.crm-board-header button{
  padding:0 10px!important;
  font-size:13px!important;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.crm-board-body{
  grid-template-columns:66px minmax(0,1fr)!important;
  min-height:560px!important;
  overflow:visible!important;
}
.crm-time-column{min-height:560px!important}
.crm-lanes{
  grid-template-columns:repeat(5,minmax(118px,1fr))!important;
  min-width:0!important;
}
.crm-lane{min-height:560px!important;min-width:0;overflow:visible}
.crm-card{
  left:8px!important;
  right:8px!important;
  min-height:76px;
  padding:11px 12px 10px!important;
  overflow:hidden;
  word-break:normal;
  overflow-wrap:normal;
  hyphens:none;
}
.crm-card strong{
  font-size:14px!important;
  line-height:1.12!important;
  white-space:normal;
  overflow-wrap:normal;
  word-break:normal;
  hyphens:none;
}
.crm-card span{font-size:11px!important;line-height:1.2!important}
.crm-card small{font-size:10px!important;line-height:1.15!important}

.crm-agenda-card{min-height:280px}
.crm-agenda-list{min-height:64px}
.crm-empty{
  margin:8px 0 0;
  padding:16px;
  background:#f1ece2;
  border-radius:14px;
  color:var(--muted);
  font:500 13px/1.45 var(--sans);
}
.crm-empty[hidden]{display:none!important}
.crm-milestone{margin-top:18px!important}

.crm-bottom{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr)!important}
.crm-stage-list{grid-template-columns:repeat(5,minmax(0,1fr))!important}
.crm-stage-list button{min-width:0;white-space:normal}
.crm-detail-card{min-height:220px}
.crm-detail-card h4{overflow-wrap:anywhere}

@media(max-width:1300px){
  .crm-demo{grid-template-columns:180px minmax(0,1fr)!important}
  .crm-grid{grid-template-columns:230px minmax(0,1fr)!important}
  .crm-stats{min-width:340px!important}
  .crm-board-header{grid-template-columns:58px repeat(5,minmax(105px,1fr))!important}
  .crm-board-body{grid-template-columns:58px minmax(0,1fr)!important}
  .crm-lanes{grid-template-columns:repeat(5,minmax(105px,1fr))!important}
}
@media(max-width:1050px){
  .case-row--planning .case-copy{grid-template-columns:1fr!important;gap:18px}
  .case-row--planning .case-copy>*{grid-column:1!important}
  .crm-demo{grid-template-columns:1fr!important}
  .crm-sidebar{display:grid;grid-template-columns:1fr auto;gap:16px!important}
  .crm-sidebar-title,.crm-nav{grid-column:1/-1}
  .crm-nav{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))}
  .crm-capacity{margin:0!important;min-width:180px}
  .crm-grid{grid-template-columns:1fr!important;grid-template-areas:'month' 'board' 'agenda'!important}
  .crm-month-card{max-width:none!important}
  .crm-bottom{grid-template-columns:1fr!important}
}
@media(max-width:760px){
  .case-row--planning{margin-top:72px}
  .case-row--planning .case-app-shell{padding:10px;border-radius:22px}
  .crm-demo{padding:12px!important;border-radius:18px!important;min-height:0!important}
  .crm-sidebar{display:flex!important}
  .crm-nav{display:grid!important;grid-template-columns:1fr 1fr!important}
  .crm-topbar p{white-space:normal}
  .crm-stats{min-width:0!important;width:100%;grid-template-columns:1fr!important}
  .crm-board-card{overflow-x:auto!important}
  .crm-board-header{min-width:720px!important;grid-template-columns:58px repeat(5,132px)!important}
  .crm-board-body{min-width:720px!important;grid-template-columns:58px 662px!important}
  .crm-lanes{grid-template-columns:repeat(5,132px)!important}
  .crm-stage-list{grid-template-columns:1fr 1fr!important}
}


/* =========================================================
   V18 — projects: CRM story first, interactive calendar second
   ========================================================= */
.case-row--planning{
  display:block!important;
  margin-top:108px;
}
.crm-case-intro{
  margin-bottom:46px;
  padding:0 2px;
}
.crm-case-intro-grid{
  display:grid;
  grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);
  gap:72px;
  align-items:start;
  margin-top:18px;
}
.crm-case-intro h2{
  font:400 clamp(46px,5vw,76px)/.96 var(--serif);
  letter-spacing:-.045em;
  margin:0;
  max-width:9ch;
}
.crm-case-intro-copy>p{
  font:400 19px/1.55 var(--serif);
  color:var(--ink);
  margin:4px 0 32px;
  max-width:760px;
}
.crm-benefits{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
}
.crm-benefits>div{
  min-height:150px;
  padding:20px 20px 22px;
  background:var(--paper-2);
}
.crm-benefits strong{
  display:block;
  font:500 11px/1.2 var(--mono);
  text-transform:uppercase;
  letter-spacing:.08em;
  color:var(--muted);
  margin-bottom:16px;
}
.crm-benefits strong+span{
  display:block;
  font:500 15px/1.45 var(--sans);
}
.case-row--planning .case-app-shell{
  width:100%;
  max-width:none;
  margin:0;
}

/* Real project photography: no synthetic tinting, only restrained editorial treatment. */
.case-ledger .case-row figure img{
  filter:saturate(.82) contrast(.98) sepia(.025)!important;
}
.case-ledger .case-row figure{
  background:#e8e1d4;
}
.case-ledger .case-row:nth-of-type(1) figure img{object-position:center 46%;}
.case-ledger .case-row:nth-of-type(2) figure img{object-position:center 50%;}
.case-ledger .case-row:nth-of-type(3) figure img{object-position:center 44%;}
.case-ledger .case-row:nth-of-type(4) figure img{object-position:center 50%;}

@media(max-width:1000px){
  .crm-case-intro-grid{grid-template-columns:1fr;gap:24px}
  .crm-case-intro h2{max-width:14ch}
  .crm-benefits{grid-template-columns:1fr 1fr 1fr}
}
@media(max-width:720px){
  .case-row--planning{margin-top:72px}
  .crm-benefits{grid-template-columns:1fr}
  .crm-benefits>div{min-height:0}
  .crm-case-intro-copy>p{font-size:17px}
}


/* V22 — detailed software-product visuals on Projects */
.case-ledger .case-ui-preview{
  aspect-ratio:1817 / 866;
  background:#F0E9DC;
  overflow:hidden;
}
.case-ledger .case-ui-preview img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  filter:none!important;
  transform:none;
}
.case-ledger .case-row:hover .case-ui-preview img{
  transform:none;
}
@media(max-width:900px){
  .case-ledger .case-ui-preview{aspect-ratio:16 / 9;}
}


/* V23 — homepage uses photography; project case studies keep detailed product UI. */
.case-ledger .case-ui-preview{
  aspect-ratio:1792 / 864;
  background:#eee8de;
}
.case-ledger .case-ui-preview img{
  object-fit:contain!important;
  object-position:center!important;
  filter:none!important;
}
.projects-home .project-thumb .media img{
  object-fit:cover;
  object-position:center;
}
.projects-home .project-thumb:nth-child(1) .media img{object-position:center 48%;}
.projects-home .project-thumb:nth-child(2) .media img{object-position:center 52%;}
.projects-home .project-thumb:nth-child(3) .media img{object-position:center 46%;}

/* Cloudflare/Resend form hardening */
.hp-field{position:absolute!important;left:-10000px!important;top:auto!important;width:1px!important;height:1px!important;overflow:hidden!important;opacity:0!important;pointer-events:none!important}
.form-status.is-error{color:#9b2f22}.form-status.is-success{color:#245d45}
