/* Shared responsive rhythm across homepage, services, case studies and contact. */
*{box-sizing:border-box}body{margin:0}img,video,iframe{max-width:100%}main,section,article,form{min-width:0}h1,h2,h3,p,a{overflow-wrap:break-word}
[data-shared-shell=header]{min-height:105px;background:#fff}.follow{right:14px}.why-btn{opacity:1!important;visibility:visible!important;transform:none!important;display:inline-flex!important;background:#fff;color:var(--purple)}
.heritage{padding-block:80px}.heritage-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:70px}.heritage h2{font-size:clamp(34px,3.55vw,54px);line-height:1.12;letter-spacing:-.04em}.heritage h2 .pu{display:inline;color:var(--purple)}.heritage .sub{font-weight:400;line-height:1.65;max-width:440px}.heritage .tag-pink{margin-bottom:24px}.heritage .stats{gap:24px}.heritage .actions .btn-black{background:var(--purple)}
/* Contact uses the same open editorial layout as the service pages. */
.ct-hero{padding-block:72px 40px}.ct-hero .sv-hero-grid{align-items:end;border-bottom:1px solid var(--line);padding-bottom:40px}.ct-hero .sv-h1{font-size:clamp(38px,4.5vw,64px);line-height:1.08}.ct-main{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:80px;padding-block:40px 80px}.ct-form{padding:0;background:transparent;border-radius:0;box-shadow:none;border-top:1px solid var(--line);padding-top:24px}.ct-form-h{font-size:clamp(30px,3.55vw,48px)}.ct-grid{gap:24px}.ct-grid input,.ct-grid select,.ct-grid textarea{background:#fff;border:1px solid #d0d0d4;border-radius:4px;font-size:16px;min-height:48px}.ct-info{gap:32px;padding:0}.ct-block{padding-top:24px}.ct-big{font-size:clamp(24px,2.4vw,34px)}.ct-map{padding-bottom:72px}.ct-map iframe{border-radius:0;height:360px}.ct-careers-in{padding-block:64px}.ct-careers .sv-h2{font-size:clamp(34px,3.55vw,54px)}
@media(max-width:1100px){.heritage-grid{gap:36px}.ct-main{gap:40px}.follow{display:none}}
@media(max-width:900px){.heritage-grid,.ct-main{grid-template-columns:1fr}.heritage{padding-block:56px}.heritage-grid{gap:36px}.hero{padding-block:44px 36px}.ct-hero{padding-top:48px}.ct-main{padding-top:24px}.ct-info{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.ct-info .ct-block:first-child{grid-column:1/-1}}
@media(max-width:600px){:root{--gutter:20px}.wrap,.sv-wrap,.cs-wrap{width:auto;max-width:100%;margin-inline:auto;padding-inline:20px}.hero h1{font-size:clamp(36px,10vw,54px)}.heritage h2,.why h2,.res-top h2,.philo h2,.sv-h2,.cs-h{font-size:34px;line-height:1.12}.heritage .stats{gap:22px}.heritage .stat{border-top:1px solid var(--line);padding-top:20px}.heritage .actions{gap:12px}.btn{max-width:100%;white-space:normal;text-align:center;min-height:44px}.hero-actions{gap:12px}.why,.philo,.testi,.results{padding-block:56px}.touch{margin-top:48px}.svc-grid{gap:18px}.office-box{grid-template-columns:1fr 1.5fr;gap:20px}.office-box h3{font-size:26px}.office-box strong{font-size:38px}.post-grid{grid-template-columns:1fr;gap:28px}.foot{padding-block:40px;gap:28px}.ct-info,.ct-grid{grid-template-columns:1fr}.ct-info .ct-block:first-child{grid-column:auto}.ct-main{gap:36px;padding-bottom:48px}.ct-hero .sv-hero-grid{gap:22px;padding-bottom:28px}.ct-map{padding-bottom:48px}.ct-map iframe{height:260px}.ct-careers-in{padding-block:44px}.ct-mail{font-size:17px}.ct-actions .btn{width:100%}.cs-system,.cs-pair,.cs-cta-in{grid-template-columns:minmax(0,1fr)}.work-meta span{white-space:normal}.sv-hero,.cs-hero{padding-top:48px}.sv-btn{max-width:100%}input,select,textarea{font-size:16px!important}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.up,.up-kids>*,.reveal .ln>span{opacity:1!important;transform:none!important}}

@font-face{font-family:"TT Firs Text";src:url("/fonts/ttfirs-trial-400.woff2") format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"TT Firs Text";src:url("/fonts/ttfirs-trial-500.woff2") format("woff2");font-weight:500;font-display:swap}
[data-shared-shell=header]{min-height:0}
.heritage h2{color:#111114}.heritage h2 .heritage-accent{color:var(--purple)}
.follow{right:32px!important;top:50%!important;color:var(--ci-rail-ink,#111114)!important;mix-blend-mode:normal!important;transition:color .2s ease;}
.follow a{color:inherit!important;text-decoration:none;transition:opacity .2s ease}
.follow a:hover{opacity:.65;text-decoration:underline;text-underline-offset:4px}
@media(min-width:1101px){.wrap,.sv-wrap,.cs-wrap{padding-right:72px}}
/* October site-wide refinement */
[data-shared-shell=header]{height:109px;min-height:109px;position:sticky;top:0;z-index:10000;display:block;width:100%;background:white} .hero-dot{color:var(--purple,#6926e7)!important}
.btn-purple,.btn-black,.why-btn,.news button{transition:background .2s,color .2s,transform .2s!important}.btn-purple:hover,.btn-purple:focus-visible,.btn-black:hover,.btn-black:focus-visible,.news button:hover{background:#25133e!important;color:#fff!important;transform:translateY(-2px)}
.svc{overflow:hidden}.svc img{transition:transform .5s ease}.svc:hover img,.svc:focus-visible img{transform:scale(1.045)}
.sv-work{padding-block:64px 72px!important}.sv-hero{padding-bottom:0!important}
.sv-cards.service-carousel{display:flex!important;overflow-x:auto;scroll-snap-type:x mandatory;gap:24px;scrollbar-width:thin;padding-bottom:20px}.service-carousel>.sv-card{flex:0 0 calc(50% - 12px);min-width:0;scroll-snap-align:start;opacity:1!important;transform:none!important}.carousel-controls{display:flex;align-items:center;justify-content:flex-end;gap:12px;margin:18px 0}.carousel-controls button{border:1px solid #ccc;background:transparent;border-radius:50%;width:44px;height:44px;font-size:22px;cursor:pointer}.carousel-controls button:hover{background:#6926e7;color:white}.carousel-controls button:disabled{opacity:.3;cursor:default}.carousel-controls span{margin-right:auto;font-size:14px;color:#626267}.pf-more{margin:32px auto;display:flex}.pf-card[hidden]{display:none!important}
.ct-hero .sv-h1{font-size:clamp(34px,3.55vw,54px)!important;line-height:1.12}.ct-hero .sv-hero-grid{border:0!important;padding-bottom:16px}.ct-careers-in{padding-block:36px!important}.ct-careers{padding-block:0!important}
.editorial{padding-block:64px 80px}.editorial h1{font-size:clamp(38px,4.5vw,64px);line-height:1.08;letter-spacing:-.04em;margin:20px 0 32px}.editorial .reading{max-width:780px}.editorial h2{font-size:28px;line-height:1.2;margin:40px 0 16px}.editorial p,.editorial li{font-size:18px;line-height:1.75;margin:16px 0}.editorial a{color:#6926e7}.editorial .sample{display:inline-block;padding:8px 14px;border:1px solid #6926e7;color:#6926e7;border-radius:30px;font-size:14px}.editorial img{width:100%;border-radius:6px}.blog-list{display:grid;grid-template-columns:1fr 1fr;gap:32px}.blog-list a{color:inherit}.blog-list img{aspect-ratio:1.5;object-fit:cover}.news label{font-size:13px}.cookie-options{display:flex;gap:12px;flex-wrap:wrap}
@media(max-width:767px){[data-shared-shell=header]{height:97px;min-height:97px}.service-carousel>.sv-card{flex-basis:88%}.sv-work{padding-block:40px 48px!important}.blog-list{grid-template-columns:1fr}.editorial{padding-block:40px 56px}}
@media(prefers-reduced-motion:reduce){.svc img,.btn{transition:none!important}}
/* Responsive audit: readable tablet columns, touch targets and consistent service rhythm. */
.sv-hero .sv-stats{border-bottom:0!important;padding-bottom:0!important;margin-top:28px!important}.sv-hero-grid{padding-bottom:28px!important}.sv-hero .sv-btn{margin-top:28px!important;height:auto;min-height:52px;padding-block:14px;white-space:normal}.sv-purple>.sv-wrap,.sv-why{padding-top:64px!important;padding-bottom:64px!important}
.sv-head{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr)!important}.sv-head>*{min-width:0}.sv-card-img{overflow:hidden}.sv-card-img img{width:100%;height:100%;object-fit:cover}.news form{min-width:0}.news input[type=email]{min-width:0;width:100%}.news button{flex-shrink:0;min-height:44px}.ct-actions button{height:auto;min-height:52px;white-space:normal;padding-block:14px}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid #6926e7;outline-offset:4px}html{scroll-padding-top:125px}
@media(max-width:1000px){.sv-head,.sv-why-grid{grid-template-columns:minmax(0,1fr)!important;gap:24px!important}.sv-head>p{max-width:100%}.sv-purple>.sv-wrap,.sv-why{padding-block:48px!important}}
@media(max-width:767px){html{scroll-padding-top:110px}.btn,.sv-btn,.cs-btn{white-space:normal;min-height:44px;height:auto;padding-block:14px}.sv-stats{gap:24px}.bottom{flex-wrap:wrap;gap:16px}.bottom nav{display:flex;flex-wrap:wrap;gap:8px}.collab-top{gap:24px}.cs-next{gap:20px}.cs-next strong{font-size:clamp(24px,6vw,36px);overflow-wrap:anywhere}}
@media(hover:none){.case-btn{opacity:1!important;transform:none!important;pointer-events:auto!important}.svc img{transform:none!important}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
.sv-purple{padding-block:64px!important}.sv-purple>.sv-wrap{padding-block:0!important}
@media(max-width:1000px){.sv-why{grid-template-columns:minmax(0,1fr)!important;gap:32px!important}.sv-purple{padding-block:48px!important}}
