:root{--plum:#4d285e;--deep:#1f1028;--cream:#f7f2eb;--paper:#fffdf9;--coral:#f06f61;--gold:#efc87e;--ink:#241b24;--muted:#706570;--serif:"DM Serif Display",serif;--sans:"Montserrat",sans-serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--sans)}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
header{height:86px;padding:0 clamp(22px,6vw,92px);display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;background:rgba(247,242,235,.9);backdrop-filter:blur(16px);border-bottom:1px solid rgba(74,42,90,.12);z-index:20}
.logo{color:var(--plum);font-size:30px;font-weight:800;letter-spacing:-2px}
.logo small{font-size:9px;letter-spacing:3px;margin-left:8px}
nav{display:flex;align-items:center;gap:30px;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.9px}
.pill{padding:14px 22px;border-radius:100px;background:var(--plum);color:#fff}
.menu{display:none;border:0;background:none;color:var(--plum);font-size:24px}
.kicker{margin:0 0 21px;color:var(--coral);font-size:11px;font-weight:800;letter-spacing:2.2px}
.hub-hero{min-height:780px;padding:90px clamp(22px,7vw,110px);display:grid;grid-template-columns:1fr;align-items:center;position:relative;overflow:hidden;background:var(--deep);color:#fff}
.hub-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(31,16,40,.94) 0%,rgba(31,16,40,.72) 50%,rgba(31,16,40,.25) 100%);z-index:1}
.hub-copy{position:relative;z-index:3;max-width:850px}
.hub-copy h1,.service-hero h1{margin:0;color:var(--deep);font:400 clamp(58px,7vw,106px)/.88 var(--serif);letter-spacing:-3px}
.hub-copy h1{color:#fff}
.hub-copy h1 em,.service-hero h1 em{color:var(--coral);font-weight:400}
.hub-copy>p:not(.kicker){max-width:650px;margin:32px 0;font-size:16px;line-height:1.8;color:rgba(255,255,255,.8)}
.arrow-link{display:inline-block;padding:16px 23px;background:var(--deep);color:#fff;font-size:11px;font-weight:800;text-transform:uppercase;box-shadow:8px 8px 0 var(--coral)}
.hero-collage{position:absolute;inset:0;height:100%;z-index:0}
.hero-collage .photo-main{width:100%;height:100%;margin:0;object-fit:cover;object-position:center;filter:saturate(.82);box-shadow:none}
.hero-collage .photo-small{display:none}
.hero-stamp{display:none}
.service-map{padding:120px clamp(22px,7vw,110px);background:var(--paper)}
.section-head{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:55px}
.section-head h2{max-width:760px;margin:0;font:400 clamp(46px,6vw,76px)/.94 var(--serif);color:var(--deep)}
.section-head p{max-width:370px;margin:0;font-size:14px;line-height:1.7;color:var(--muted)}
.service-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:18px}
.service-card{grid-column:span 6;min-height:610px;position:relative;overflow:hidden;background:var(--deep);color:#fff}
.service-card:last-child{grid-column:3/span 8}
.service-card img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;transition:transform .65s}
.service-card::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(28,12,35,.05) 15%,rgba(28,12,35,.92) 100%)}
.service-card:hover img{transform:scale(1.045)}
.service-card-content{position:absolute;inset:auto 0 0;z-index:2;padding:35px}
.service-card .tag{margin:0 0 12px;font-size:10px;font-weight:800;letter-spacing:2px;color:#ff9a8d}
.service-card h3{margin:0 0 13px;font:400 clamp(37px,4vw,54px)/.95 var(--serif)}
.service-card .desc{max-width:580px;margin:0 0 22px;font-size:13px;line-height:1.65;opacity:.83}
.service-card a{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.6px;border-bottom:1px solid rgba(255,255,255,.65);padding-bottom:4px}
.method{padding:120px clamp(22px,7vw,110px);background:var(--cream)}
.method>h2{margin:0;font:400 clamp(48px,6vw,78px)/.92 var(--serif);color:var(--deep)}
.method>div{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;margin-top:65px;background:#ded4dc}
.method article{padding:30px;background:var(--cream)}
.method b{color:var(--coral);font-size:11px}
.method h3{margin:36px 0 12px;font:400 27px var(--serif)}
.method article p{font-size:13px;line-height:1.65;color:#6c626b}
footer{padding:80px clamp(22px,7vw,110px);display:grid;grid-template-columns:.65fr 1.1fr auto;gap:50px;align-items:center;background:var(--deep);color:#fff}
.logo.light{color:#fff}
footer>div p{font-size:11px;opacity:.55}
footer h2{margin:0;font:400 clamp(35px,4vw,55px)/.95 var(--serif)}
.cta{display:inline-block;padding:20px 28px;background:var(--coral);color:#fff;box-shadow:8px 8px 0 rgba(255,255,255,.16);font-size:12px;font-weight:800;text-transform:uppercase}
.service-hero{min-height:690px;padding:72px clamp(22px,7vw,110px);display:grid;grid-template-columns:1fr .92fr;gap:7vw;align-items:center}
.service-hero .intro{max-width:590px;margin:28px 0 0;font-size:16px;line-height:1.8;color:var(--muted)}
.service-visual{height:540px;position:relative}
.service-visual img{width:92%;height:92%;margin-left:auto;object-fit:cover;box-shadow:24px 24px 0 var(--coral)}
.visual-note{position:absolute;left:0;bottom:0;max-width:310px;padding:23px;background:var(--deep);color:#fff}
.visual-note b{display:block;margin-bottom:8px;color:#ff9a8d;font-size:10px;letter-spacing:1.8px}
.visual-note span{font:400 24px/1.05 var(--serif)}
.visual-note h2{margin:8px 0;font:400 25px/1.05 var(--serif)}
.visual-note p{margin:0;font-size:11px;line-height:1.55;opacity:.75}
.back{display:inline-block;margin-bottom:32px;color:var(--plum);font-size:10px;font-weight:800;text-transform:uppercase}
.detail{padding:110px clamp(22px,7vw,110px);background:var(--paper)}
.detail-heading{display:grid;grid-template-columns:.9fr 1.1fr;gap:70px;align-items:start}
.detail-heading h2{margin:0;font:400 clamp(45px,5vw,70px)/.96 var(--serif);color:var(--deep)}
.detail-heading>div>p{margin:0;font-size:16px;line-height:1.8;color:var(--muted)}
.deliverables{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:70px}
.deliverables article{min-height:245px;padding:31px;background:var(--cream);border-top:4px solid var(--coral);display:flex;flex-direction:column;justify-content:center;text-align:center}
.deliverables h3{margin:34px 0 12px;font:400 27px var(--serif)}
.deliverables p{font-size:13px;line-height:1.65;color:#6b6068}
.proof-strip{display:grid;grid-template-columns:1.2fr .8fr;min-height:420px;background:var(--deep);color:#fff}
.proof-strip img{width:100%;height:100%;object-fit:cover}
.proof-copy{padding:clamp(42px,6vw,85px);display:flex;flex-direction:column;justify-content:center}
.proof-copy span{color:#ff9a8d;font-size:10px;font-weight:800;letter-spacing:2px}
.proof-copy h2{margin:16px 0;font:400 clamp(38px,4vw,58px)/.98 var(--serif)}
.proof-copy p{font-size:14px;line-height:1.7;opacity:.7}
.process{padding:110px clamp(22px,7vw,110px);background:var(--plum);color:#fff}
.process h2{margin:0 0 55px;font:400 clamp(45px,5vw,70px)/.95 var(--serif)}
.process-list{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.process-list article{padding:30px;border:1px solid rgba(255,255,255,.16);display:flex;flex-direction:column;justify-content:center;text-align:center}
.process-list h3{font:400 25px var(--serif)}
.process-list p{font-size:13px;line-height:1.65;opacity:.7}
.final-banner{padding:100px clamp(22px,8vw,125px);text-align:center;background:var(--cream)}
.final-banner h2{margin:0 auto 28px;max-width:900px;font:400 clamp(48px,6vw,78px)/.94 var(--serif);color:var(--deep)}
.final-banner p{margin:0 auto 34px;max-width:620px;font-size:15px;line-height:1.75;color:#665b64}
.reveal{opacity:0;transform:translateY(18px);transition:.7s}
.reveal.visible{opacity:1;transform:none}
@media(max-width:900px){nav{display:none;position:absolute;top:84px;left:0;right:0;padding:28px;background:var(--cream);flex-direction:column}
.menu{display:block}
nav.open{display:flex}
.hub-hero,.service-hero,.detail-heading,.proof-strip{grid-template-columns:1fr}
.hub-hero{padding-top:80px}.hub-hero::after{background:linear-gradient(90deg,rgba(31,16,40,.93),rgba(31,16,40,.56))}
.service-card,.service-card:last-child{grid-column:span 12}
.section-head{align-items:start;flex-direction:column}
.method>div,.process-list{grid-template-columns:repeat(2,1fr)}
footer{grid-template-columns:1fr}
.service-hero{gap:50px}
.deliverables{grid-template-columns:1fr 1fr}
.proof-strip img{height:430px}
.proof-copy{min-height:350px}
}
@media(max-width:600px){header{height:74px}
.logo{font-size:25px}
.hub-hero{min-height:auto;padding:66px 22px 88px}
.hub-copy h1,.service-hero h1{font-size:55px;letter-spacing:-1.8px}
.hub-copy>p:not(.kicker){font-size:14px}
.hero-collage{height:100%;margin:0}.hero-collage .photo-main{width:100%;height:100%;object-position:62% center}
.service-map,.method,.detail,.process,.final-banner{padding:78px 22px}
.service-card{min-height:500px}
.service-card-content{padding:27px}
.service-card h3{font-size:42px}
.method>div,.process-list,.deliverables{grid-template-columns:1fr}
.service-hero{padding:64px 22px 90px}
.service-visual{height:400px}
.service-visual img{width:94%;height:89%}
.visual-note{max-width:260px;padding:19px}
.visual-note span{font-size:21px}
.detail-heading{gap:30px}
.deliverables{margin-top:45px}
.proof-strip img{height:310px}
footer{padding:65px 22px}
}
