:root{--ink:#0a0a0a;--muted:#666;--line:rgba(10,10,10,.11);--accent:#4a4db2;--paper:#fff;--dark:#0b0b0d}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;overflow-x:clip;scrollbar-width:thin;scrollbar-color:#6236c7 #f1f1f4}
body{font-family:'Inter',sans-serif;background:var(--paper);color:var(--ink);overflow-x:clip}
img{max-width:100%;display:block}
a{color:inherit}
button,a{outline-offset:4px}
button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid rgba(74,77,178,.36)}
.site-nav{height:78px;padding:0 clamp(20px,4vw,54px);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:#fff;position:relative;z-index:5}
.site-logo img{width:auto;height:58px}
.site-links{display:flex;align-items:center;gap:28px}
.site-links a{font-size:12px;text-decoration:none;color:#555}
.site-links .nav-cta{padding:11px 20px;border-radius:100px;background:var(--ink);color:#fff;font-weight:600}
.page-shell{width:min(100% - 40px,1320px);margin:0 auto}
.case-hero{padding:clamp(70px,10vw,150px) 0 52px}
.crumb{font-family:'DM Mono',monospace;font-size:9px;letter-spacing:2px;text-transform:uppercase;text-decoration:none;color:var(--accent)}
.case-title{font-family:'Cormorant Garamond',serif;font-style:italic;font-weight:600;font-size:clamp(70px,12vw,176px);line-height:.76;letter-spacing:-.04em;margin:36px 0 44px;text-wrap:balance}
.case-intro{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(40px,8vw,130px);align-items:end}
.case-lead{font-size:clamp(20px,2.4vw,34px);line-height:1.35;max-width:800px;text-wrap:pretty}
.case-meta{display:grid;grid-template-columns:1fr 1fr;gap:22px 28px;border-top:1px solid var(--line);padding-top:20px}
.case-meta dt{font-family:'DM Mono',monospace;font-size:8px;letter-spacing:1.8px;text-transform:uppercase;color:#999;margin-bottom:6px}
.case-meta dd{font-size:12px;line-height:1.5}
.case-media{margin:40px auto 0;width:min(100% - 40px,1440px);background:#111;overflow:hidden}
.case-media img{width:100%;height:auto}
.case-body{padding:clamp(80px,11vw,160px) 0}
.story-row{display:grid;grid-template-columns:minmax(180px,.55fr) minmax(0,1.45fr);gap:clamp(45px,10vw,170px);padding:54px 0;border-top:1px solid var(--line)}
.story-row h2{font-family:'Cormorant Garamond',serif;font-size:clamp(38px,5vw,68px);font-weight:600;font-style:italic;line-height:.92;letter-spacing:-.025em}
.story-copy{max-width:750px}
.story-copy p{font-size:16px;line-height:1.85;color:#444;margin-bottom:22px}
.deliverables{display:flex;flex-wrap:wrap;gap:9px;margin-top:26px}
.deliverables span{font-family:'DM Mono',monospace;font-size:9px;letter-spacing:1px;text-transform:uppercase;padding:8px 12px;border:1px solid var(--line);border-radius:100px;color:#555}
.result-panel{background:var(--dark);color:#fff;padding:clamp(60px,8vw,110px);margin-top:48px}
.result-panel p{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:clamp(34px,5vw,66px);line-height:1.05;max-width:960px;text-wrap:balance}
.result-link{display:inline-flex;margin-top:38px;font-size:13px;font-weight:600;text-decoration:none;padding-bottom:5px;border-bottom:1px solid #9b70ec;color:#c7aff5}
.next-project{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;padding:70px 0;border-top:1px solid var(--line);text-decoration:none}
.next-project span{font-family:'DM Mono',monospace;font-size:9px;letter-spacing:2px;text-transform:uppercase;color:#999}
.next-project strong{font-family:'Cormorant Garamond',serif;font-size:clamp(42px,6vw,78px);font-style:italic;line-height:.9}
.service-hero{padding:clamp(80px,12vw,170px) 0 90px;display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(40px,8vw,140px);align-items:end}
.service-hero h1{font-family:'Cormorant Garamond',serif;font-size:clamp(64px,10vw,140px);font-weight:600;font-style:italic;line-height:.8;letter-spacing:-.04em;text-wrap:balance;hyphens:manual;max-width:100%}
.service-hero p{font-size:clamp(18px,2vw,26px);line-height:1.55;max-width:620px}
.service-band{background:var(--dark);color:#fff;padding:clamp(70px,9vw,130px) 0}
.service-list{display:grid;grid-template-columns:repeat(2,1fr);gap:0 70px}
.service-item{padding:38px 0;border-top:1px solid rgba(255,255,255,.18)}
.service-item h2{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:38px;margin-bottom:12px}
.service-item p{font-size:14px;line-height:1.8;color:rgba(255,255,255,.56);max-width:540px}
.process{padding:clamp(85px,11vw,150px) 0}
.process h2{font-family:'Cormorant Garamond',serif;font-size:clamp(48px,7vw,92px);font-style:italic;line-height:.9;margin-bottom:65px}
.process-grid{display:grid;grid-template-columns:repeat(4,1fr)}
.process-step{padding:28px 25px 50px 0;border-top:1px solid var(--line)}
.process-step b{font-family:'DM Mono',monospace;font-size:9px;color:var(--accent);letter-spacing:2px}
.process-step h3{font-size:17px;margin:30px 0 12px}
.process-step p{font-size:13px;line-height:1.7;color:var(--muted)}
.page-cta{background:#f3f3f4;padding:clamp(70px,10vw,130px) 0}
.page-cta h2{font-family:'Cormorant Garamond',serif;font-size:clamp(54px,9vw,120px);font-style:italic;line-height:.82;max-width:950px;text-wrap:balance}
.page-cta a{display:inline-flex;margin-top:40px;padding:14px 26px;background:var(--ink);color:#fff;text-decoration:none;border-radius:100px;font-size:13px;font-weight:600}
.about-cta{margin-top:120px}
.contact-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(50px,10vw,160px);padding:clamp(80px,11vw,150px) 0}
.contact-copy h1{font-family:'Cormorant Garamond',serif;font-size:clamp(70px,11vw,150px);font-style:italic;line-height:.78;margin-bottom:44px}
.contact-copy p{font-size:17px;line-height:1.7;color:#555;max-width:520px}
.contact-direct{display:flex;flex-direction:column;gap:10px;margin-top:34px}
.contact-direct a{text-decoration:none;font-size:14px}
.contact-form{padding-top:10px}
.field{display:flex;flex-direction:column;gap:8px;margin-bottom:24px}
.field label{font-family:'DM Mono',monospace;font-size:8px;letter-spacing:2px;text-transform:uppercase;color:#888}
.field input,.field textarea{border:0;border-bottom:1px solid var(--line);padding:12px 0;font:inherit;background:transparent;color:var(--ink)}
.field textarea{min-height:130px;resize:vertical}
.submit{border:0;background:var(--ink);color:#fff;padding:14px 25px;border-radius:100px;font:600 13px 'Inter',sans-serif;cursor:pointer}
.booking-page{align-items:start}.booking-page .contact-copy{position:sticky;top:120px}.booking-kicker{font:500 9px 'DM Mono',monospace!important;letter-spacing:2px;text-transform:uppercase;color:#6f43bd!important;margin-bottom:24px}.booking-page .contact-copy h1{margin-bottom:36px}.booking-note{display:flex;flex-direction:column;gap:5px;margin-top:54px;padding:20px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.booking-note strong{font:700 13px 'Syne',sans-serif}.booking-note span{font-size:12px;color:#777}.booking-form{display:flex;flex-direction:column;gap:1px;padding-top:0;background:var(--line)}.booking-step{background:#fff;padding:clamp(26px,4vw,48px)}.step-head{display:flex;align-items:flex-start;gap:18px;margin-bottom:30px}.step-head>span{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:#111;color:#fff;font:500 9px 'DM Mono',monospace}.step-head h2{font:800 clamp(20px,2.5vw,29px) 'Syne',sans-serif;letter-spacing:-.6px}.step-head p{margin-top:5px;color:#888;font-size:12px;text-transform:capitalize}.calendar{border:1px solid var(--line);padding:18px}.calendar-head{display:grid;grid-template-columns:42px 1fr 42px;align-items:center;margin-bottom:22px}.calendar-head strong{text-align:center;text-transform:capitalize;font:700 14px 'Syne',sans-serif}.month-nav{height:40px;border:1px solid var(--line);border-radius:50%;background:#fff;cursor:pointer;font-size:16px;transition:.2s}.month-nav:hover:not(:disabled){background:#111;color:#fff}.month-nav:disabled{opacity:.22;cursor:not-allowed}.weekdays,.calendar-days{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}.weekdays{margin-bottom:8px}.weekdays span{text-align:center;font:500 8px 'DM Mono',monospace;color:#999;text-transform:uppercase}.calendar-days>span{aspect-ratio:1}.calendar-day{position:relative;aspect-ratio:1;border:0;border-radius:50%;background:transparent;color:#171717;font:600 12px 'Inter',sans-serif;cursor:pointer;transition:transform .2s,background .2s,color .2s}.calendar-day:hover:not(:disabled){background:#ede6f9;transform:scale(1.06)}.calendar-day.weekend{color:#7145bd}.calendar-day.today::after{content:'';position:absolute;bottom:5px;left:50%;width:3px;height:3px;border-radius:50%;background:#7145bd;transform:translateX(-50%)}.calendar-day.selected{background:#111;color:#fff;transform:scale(1.05)}.calendar-day.selected::after{background:#fff}.calendar-day:disabled{opacity:.18;cursor:not-allowed}.time-period{display:grid;grid-template-columns:92px 1fr;gap:18px;align-items:start;margin-top:18px}.time-period>span{padding-top:11px;font:500 8px 'DM Mono',monospace;letter-spacing:1.3px;text-transform:uppercase;color:#999}.time-slots{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.time-slot{min-height:42px;border:1px solid var(--line);border-radius:100px;background:#fff;font:600 11px 'Inter',sans-serif;cursor:pointer;transition:.2s}.time-slot:hover:not(:disabled){border-color:#7145bd;color:#7145bd}.time-slot.selected{background:#7145bd;border-color:#7145bd;color:#fff}.time-slot:disabled{opacity:.3;cursor:not-allowed}.details-step .booking-fields{padding-left:50px}.booking-summary{display:flex;justify-content:space-between;gap:24px;align-items:center;background:#111;color:#fff;padding:25px clamp(26px,4vw,48px)}.booking-summary span{font:500 8px 'DM Mono',monospace;letter-spacing:1.5px;text-transform:uppercase;color:#999}.booking-summary strong{text-align:right;font:700 12px 'Syne',sans-serif}.booking-summary.needs-selection{background:#7145bd}.booking-submit{align-self:flex-start;margin:30px 0 0;padding:16px 30px}.form-note{background:#fff;margin-top:-1px;padding:0 0 6px;color:#888;font-size:11px;line-height:1.6}.booking-form>.booking-submit,.booking-form>.form-note{background:#fff;width:100%;border-radius:0;text-align:left}.booking-form>.booking-submit{padding:22px clamp(26px,4vw,48px);font-size:14px}.booking-form>.booking-submit:hover{background:#7145bd}.booking-form>.form-note{padding:0 clamp(26px,4vw,48px) 28px}
.booking-form>.booking-submit{background:#111;color:#fff}.booking-form>.booking-submit:hover,.booking-form>.booking-submit:focus-visible{background:#7145bd;color:#fff}.booking-form>.form-note{background:#fff;padding-top:18px}
.page-footer{padding:44px clamp(20px,4vw,54px);display:flex;justify-content:space-between;gap:30px;flex-wrap:wrap;border-top:1px solid var(--line);font-family:'DM Mono',monospace;font-size:8px;letter-spacing:1px;text-transform:uppercase;color:#888}
.page-footer div{display:flex;gap:22px}.page-footer a{text-decoration:none}
@media(max-width:800px){.site-links>a:not(.nav-cta){display:none}.case-intro,.service-hero,.contact-grid{grid-template-columns:1fr}.case-title{margin-top:30px}.story-row{grid-template-columns:1fr;gap:24px}.service-list{grid-template-columns:1fr}.process-grid{grid-template-columns:1fr 1fr}.case-meta{margin-top:10px}.service-hero{padding-top:90px}.contact-grid{padding-top:90px}.booking-page .contact-copy{position:static}.booking-page{gap:70px}.time-slots{grid-template-columns:repeat(4,1fr)}}
@media(max-width:520px){.page-shell{width:min(100% - 32px,1320px)}.site-nav{height:66px}.site-logo img{height:50px}.case-title{font-size:clamp(62px,23vw,100px)}.case-lead{font-size:20px}.case-media{width:calc(100% - 24px)}.case-meta,.process-grid{grid-template-columns:1fr}.result-panel{padding:48px 22px}.next-project{align-items:flex-start;flex-direction:column}.page-footer{padding-left:16px;padding-right:16px}.page-footer div{flex-wrap:wrap}.service-hero h1,.contact-copy h1{font-size:clamp(60px,22vw,96px)}.booking-step{padding:24px 16px}.calendar{padding:12px 8px}.calendar-day{font-size:11px}.calendar-day.today::after{bottom:3px}.time-period{grid-template-columns:1fr;gap:8px}.time-period>span{padding-top:0}.time-slots{grid-template-columns:repeat(2,1fr)}.details-step .booking-fields{padding-left:0}.booking-summary{align-items:flex-start;flex-direction:column}.booking-summary strong{text-align:left}.booking-note{margin-top:36px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
