/* V33: homepage refinements + consistent action affordances */
html,body{overflow-x:clip}
html body .site-header .header-inner>.header-center{
 font-size:calc(var(--v26-tagline-size, 18px) * 1.2)!important;
}
@media(max-width:700px){
 html body .site-header .header-inner>.header-center{
  font-size:calc(var(--v26-tagline-size, 10px) * 1.2)!important;
 }
}
/* Scroll cue overlays the bottom of the video; only one centered label. */
html body main>section.hero{border-top:0!important;outline:0!important;box-shadow:none!important;}
html body .hero .hero-media{border:0!important;outline:0!important;box-shadow:none!important;}
html body .hero .v27-scroll-strip{
 position:absolute!important;bottom:0!important;left:0!important;right:0!important;
 z-index:12!important;width:100%!important;max-width:none!important;
 display:flex!important;align-items:center!important;justify-content:center!important;
 padding:0 20px!important;margin:0!important;min-height:62px!important;
 border:0!important;border-top:0!important;border-bottom:0!important;
 background:rgba(12,15,19,.24)!important;
 backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
}
html body .hero .v27-scroll-strip>span,
html body .hero .v27-scroll-strip>span:first-of-type,
html body .hero .v27-scroll-strip>span:last-of-type{
 display:block!important;position:relative!important;left:auto!important;right:auto!important;top:auto!important;
 transform:none!important;grid-column:auto!important;justify-self:center!important;text-align:center!important;
 width:auto!important;max-width:none!important;z-index:2!important;
}
html body .hero .v27-scroll-strip a{font-size:clamp(10px,.85vw,13px)!important;letter-spacing:.12em!important;font-weight:600}
html body .hero .v27-scroll-strip .v28-strip-motion{z-index:-2!important}
html body .hero .v27-scroll-strip .v28-strip-glass{z-index:-1!important}
html body .hero .hero-content{padding-bottom:clamp(90px,9vw,140px)!important}
/* No doubled separator before the work section. */
html body #work,html body #work>.shell,html body #work .section-top{
 border-top:0!important;box-shadow:none!important;
}
html body #work{margin-top:0!important}
html body .approach{width:100%!important;max-width:none!important;margin-inline:0!important;background:#111417!important}
html body .approach>.shell{width:min(90%,1500px)!important;max-width:1500px!important;margin-inline:auto!important}
/* Homepage model cards: real links, not false hover affordances. */
html body .models .model-grid>.v33-model-link{
 display:block;min-width:0;text-decoration:none!important;color:inherit!important;
 border:0!important;outline-offset:5px;
}
html body .models .model-grid>.v33-model-link .model-card{height:100%;cursor:pointer}
html body .models .model-grid>.v33-model-link:hover .model-card,
html body .models .model-grid>.v33-model-link:focus-visible .model-card{
 border-color:#9da5ad!important;transform:translateY(-3px);
}
html body .models .model-grid>.v33-model-link:focus-visible{outline:2px solid #ddd}
/* All light-hover buttons retain legible contrast, including icons and vector shapes. */
html body :is(a.v27-button,a.v9-link,a.v33-service-actions a,.v11-action-row a,
 .v33-client-links a,button,.btn,.button,a.button,a.btn):hover{
 background:#22272c!important;color:#fff!important;border-color:#89929a!important;
}
html body :is(a.v27-button,a.v9-link,a.v33-service-actions a,.v11-action-row a,
 .v33-client-links a,button,.btn,.button,a.button,a.btn):hover :is(span,strong,svg,path){
 color:inherit!important;stroke:currentColor!important;
}
html body a:is(.round-link,.inline-link,.contact-link,.v9-scroll,.v27-text-link):hover{
 color:#fff!important;background:transparent!important;
}
html body a:is(.round-link,.inline-link,.contact-link,.v9-scroll,.v27-text-link):hover :is(span,svg,path){
 color:inherit!important;stroke:currentColor!important;
}
html body :is(a,button,[role=button]):focus-visible{outline:2px solid #e7eaed!important;outline-offset:4px}
html body .v20-footer-shield img{
 width:clamp(58px,5vw,82px)!important;max-width:82px!important;min-width:0!important;
 height:auto!important;flex:0 0 auto!important;object-fit:contain!important;
}
html body .v20-footer-shield{max-width:560px!important;gap:18px!important}
/* More substantial client story, organized without fake clickable cards. */
html body .v27-clients{padding-block:clamp(75px,8vw,125px)!important}
html body .v27-clients .v27-client-grid{
 display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:clamp(12px,2vw,24px)!important;
 margin-block:clamp(28px,4vw,54px)!important;
}
html body .v27-clients .v27-client-grid>div{
 min-width:0!important;padding:clamp(22px,2.5vw,40px)!important;
 background:linear-gradient(135deg,#1b2025,#111417)!important;
 border:1px solid #353b41!important;border-radius:3px!important;
}
html body .v27-clients .v27-client-grid strong{display:block;margin:15px 0 12px;font-size:clamp(18px,1.7vw,26px)}
html body .v27-clients .v27-client-grid p{font-size:clamp(14px,1.05vw,17px)!important;line-height:1.7!important}
html body .v33-client-detail{padding:clamp(20px,3vw,36px) 0;border-top:1px solid #353b41}
html body .v33-client-detail p{max-width:90ch!important}
html body .v33-client-links{display:flex;flex-wrap:wrap;gap:12px 26px;margin-top:22px}
html body .v33-client-links a{padding:12px 0;border-bottom:1px solid #626b72;text-decoration:none!important}
/* Service pages: specific, legible deliverables and next steps. */
html body .v33-service-layout{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(30px,6vw,100px);width:min(90%,1450px);margin:auto}
html body .v33-service-col h2{font-size:clamp(28px,3vw,48px)!important}
html body .v33-service-list{padding-left:1.3em;margin-top:28px;display:grid;gap:17px}
html body .v33-service-list li{font-size:clamp(15px,1.2vw,19px);line-height:1.55;color:#e0e2e5}
html body .v33-muted-list li{color:#b9bec5}
html body .v33-service-process{padding:clamp(60px,7vw,110px) 5%;background:#111417}
html body .v33-service-process .v9-wrap{width:min(100%,1450px)}
html body .v33-service-process h2{font-size:clamp(28px,3.2vw,50px);margin:15px 0 30px}
html body .v33-service-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
html body .v33-service-steps article{border:1px solid #343b42;padding:clamp(18px,2vw,30px);min-width:0}
html body .v33-service-steps article span{display:block;color:#909aa4;font-size:13px;margin-bottom:25px}
html body .v33-service-steps article strong{font-size:clamp(16px,1.4vw,21px);line-height:1.35;font-weight:500}
html body .v33-service-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:36px}
html body .v33-service-actions a{display:inline-flex;padding:13px 18px;border:1px solid #636b73;border-radius:4px;text-decoration:none!important}
html body .v30-expand-card{scroll-margin-top:100px}
html body .v30-expand-card:target{border-color:#adb6c0!important}
@media(max-width:900px){
 html body .v27-clients .v27-client-grid{grid-template-columns:minmax(0,1fr)!important}
 html body .v33-service-steps{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:700px){
 html body .v33-service-layout{grid-template-columns:1fr}
 html body .v33-service-steps{grid-template-columns:1fr}
 html body .hero .v27-scroll-strip{min-height:52px!important}
 html body .hero .hero-content{padding-bottom:95px!important}
 html body .approach>.shell{width:90%!important}
}
@media(prefers-reduced-motion:reduce){
 html body .models .model-grid>.v33-model-link:hover .model-card{transform:none!important}
}
