/* 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}}

/* Requested layout and hiring refinements */
[data-shared-shell=header]{height:109px;min-height:109px}
.collab{padding-top:56px!important}.collab-top{padding-left:0!important;padding-right:0!important;align-items:center!important}.collab-top>div{min-width:0}.collab-top h2{font-size:clamp(34px,4vw,60px)!important;line-height:1.12!important}.collab-tag{margin-top:32px!important}.foot{padding-block:48px 56px!important}footer .collab:not(:has(.collab-top)){padding-top:0!important}
.collab-top .btn,.ct-actions .btn{font:500 16px/1.4 "TT Firs Text",sans-serif!important;min-height:50px;padding:14px 26px!important;gap:10px;letter-spacing:0!important}.collab-top .btn{background:var(--purple,#6926e7)!important;color:#fff!important;flex-shrink:0}.btn-purple:hover,.btn-black:hover,.collab-top .btn:hover,.ct-actions .btn:hover,.btn-purple:focus-visible,.btn-black:focus-visible{background:#5420ba!important;color:white!important;transform:none!important}.collab-top .btn svg,.ct-actions .btn svg{display:none!important}
.ct-hero .sv-hero-grid{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr)!important;gap:80px!important;align-items:end!important}.ct-hero .sv-hero-side{padding:0!important;margin:0!important;font-size:clamp(22px,2.2vw,32px)!important;max-width:100%!important}
.pf-grid .pf-card{opacity:1!important;transform:none!important}.pf-grid .pf-card[hidden]{display:none!important}.pf-chips{flex-wrap:wrap!important;overflow:visible!important;margin-inline:0!important;padding-inline:0!important}.pf-chip{white-space:normal!important;height:auto!important;min-height:44px}.pf-chip i{flex-shrink:0}
.google-review-link p{font-size:22px;line-height:1.55;max-width:540px;margin:0 0 28px}.google-review-link .btn{color:#fff;border-color:#fff}.google-review-link .btn:hover{background:#6926e7;color:white;border-color:#6926e7}
.jobs-section{padding-block:40px 72px}.jobs-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:24px}.jobs-heading h2{font-size:32px}.jobs-heading>span,.jobs-note{color:#626267}.job-card{border-top:1px solid var(--line,#d0d0d4)}.job-card:last-child{border-bottom:1px solid var(--line,#d0d0d4)}.job-card summary{display:flex;align-items:center;gap:24px;list-style:none;cursor:pointer;padding:28px 0;min-height:72px}.job-card summary::-webkit-details-marker{display:none}.job-title{font-size:clamp(23px,2.4vw,34px);font-weight:700;flex:1;line-height:1.2}.job-count{font-size:14px;background:#eee7ff;color:#5420ba;padding:7px 12px;border-radius:99px;white-space:nowrap}.job-expand{font-size:28px;width:28px;text-align:center}.job-card details[open] .job-expand{transform:rotate(45deg)}.job-description{max-width:800px;padding-bottom:32px}.job-description p,.job-description li,.jobs-note{font-size:17px;line-height:1.65}.job-description h3{font-size:20px;margin:24px 0 12px}.job-description ul{padding-left:22px}.job-actions{display:flex;align-items:center;gap:24px;flex-wrap:wrap;margin-top:26px}.job-gmail,.jobs-note a{color:#6926e7;text-decoration:underline;text-underline-offset:4px}.job-description .job-help{font-size:14px;color:#626267;margin-top:18px}.jobs-note{margin-top:28px}.job-apply{gap:10px!important}
@media(max-width:1024px){[data-shared-shell=header]{height:97px;min-height:97px}.ct-hero .sv-hero-grid{gap:40px!important}.res-body{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important}.res-body>*:first-child{grid-column:1/-1}}
@media(max-width:767px){.svc-grid{margin-top:32px!important;gap:18px!important}.svc img{height:clamp(210px,64vw,300px)!important;aspect-ratio:auto!important;object-fit:cover}.svc-grid>:last-child img{height:220px!important}.philo{padding-bottom:40px!important}.collab{padding-top:40px!important}.collab-top{align-items:flex-start!important;gap:24px!important}.foot{padding-block:32px 40px!important}.ct-hero .sv-hero-grid{grid-template-columns:1fr!important;gap:24px!important}.res-body{grid-template-columns:1fr!important}.jobs-section{padding-block:28px 48px}.jobs-heading{align-items:flex-start;flex-direction:column;gap:8px}.job-card summary{gap:12px;padding-block:24px}.job-count{font-size:12px}.job-expand{width:20px}.job-actions{gap:18px}.google-review-link p{font-size:19px}}

/* Compact service artwork on larger screens. */
@media(min-width:768px){.svc img{height:clamp(220px,20vw,290px)!important;aspect-ratio:auto!important;object-fit:cover}.svc-grid{margin-top:36px!important;gap:24px!important}.svc h4{margin-top:20px!important}.results{padding-bottom:56px!important}}
.ci-viewer{position:fixed;inset:0;width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;margin:0;padding:20px;border:0;background:rgba(17,17,20,.97);color:white;box-sizing:border-box}
.ci-viewer::backdrop{background:#111114}.ci-viewer[open]{display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:16px}.ci-viewer-bar{display:flex;align-items:center;justify-content:space-between;gap:16px}.ci-viewer button{font:inherit;min-height:44px;min-width:44px;padding:10px 16px;border:1px solid #ffffff60;border-radius:6px;background:transparent;color:white;cursor:pointer}.ci-viewer button:hover{background:#6926e7;border-color:#6926e7}.ci-viewer button:focus-visible{outline:2px solid white;outline-offset:3px}.ci-viewer-stage{min-height:0;display:flex;align-items:center;justify-content:center}.ci-viewer-stage img{width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain}.ci-viewer-bottom{display:flex;justify-content:space-between;align-items:center;gap:16px}.ci-viewer-caption{font-size:14px;line-height:1.4;max-width:70ch;margin:0}.ci-viewer-controls{display:flex;gap:8px;flex-shrink:0}.ci-viewer [hidden]{display:none!important}html.ci-viewer-open,html.ci-viewer-open body{overflow:hidden}
@media(max-width:600px){.ci-viewer{padding:12px;gap:12px}.ci-viewer-bottom{flex-direction:column;align-items:stretch}.ci-viewer-controls{justify-content:center}.ci-viewer-caption{text-align:center;font-size:13px}}
.btn,.case-btn,.more,.ct-dir,.job-apply{font-family:"Figtree",sans-serif!important;font-weight:600!important;letter-spacing:0!important}.btn svg,.case-btn svg,.more svg,.ct-dir svg,.job-apply svg{display:none!important}.ci-whatsapp{position:fixed;right:22px;bottom:22px;z-index:1200;display:flex;align-items:center;gap:9px;padding:12px 17px;border-radius:999px;background:#25d366;color:#fff!important;box-shadow:0 8px 24px #0003;font:600 14px/1.1 "Figtree",sans-serif;text-decoration:none!important}.ci-whatsapp span{font-size:22px;line-height:1}.ci-whatsapp:hover{background:#1ebe5d;color:#fff!important;transform:translateY(-2px)}.ci-whatsapp b{font-weight:700}@media(max-width:600px){.ci-whatsapp{right:14px;bottom:14px;padding:13px;width:50px;height:50px;justify-content:center}.ci-whatsapp b{display:none}.ci-whatsapp span{font-size:25px}}

.ci-whatsapp{position:fixed;right:22px;bottom:22px;z-index:1200;display:flex;align-items:center;gap:9px;padding:12px 17px;border-radius:999px;background:#25d366;color:#fff!important;box-shadow:0 8px 24px #0003;font:600 14px/1.1 "Figtree",sans-serif;text-decoration:none!important;transition:transform .2s ease,box-shadow .2s ease}.ci-whatsapp span{font-size:22px;line-height:1}.ci-whatsapp:hover{transform:translateY(-3px);box-shadow:0 12px 28px #0004;background:#1ebe5d;color:#fff!important}.ci-whatsapp b{font-weight:700}@media(max-width:600px){.ci-whatsapp{right:14px;bottom:14px;padding:13px;width:50px;height:50px;justify-content:center}.ci-whatsapp b{display:none}.ci-whatsapp span{font-size:25px}}
