/**
 * Responsive density pass. This stylesheet intentionally loads last and keeps
 * spacing, type, and animated visual frames proportional across screen sizes.
 */
:root{--section-space:clamp(2.5rem,3.5vw,3.5rem)}
.sss-site h1{font-size:clamp(2.65rem,5.2vw,5.25rem);max-width:1000px}
.sss-site h2{font-size:clamp(1.9rem,3.25vw,3.45rem)}
.sss-site h3{font-size:clamp(1.22rem,1.7vw,1.75rem)}
.sss-large-copy{font-size:clamp(1.05rem,1.3vw,1.3rem)}
.sss-heading-row{margin-bottom:clamp(2.25rem,4vw,3.75rem)}

/* Richer tonal palette for actions and code-native image/illustration surfaces. */
.sss-btn{background:var(--action);border-color:var(--action);box-shadow:0 8px 22px rgba(44, 36, 18,.12)}
.sss-btn:hover{background:var(--action-hover);border-color:var(--action-hover);box-shadow:0 10px 26px rgba(44, 36, 18,.2)}
.sss-btn--light{background:#fff;border-color:#fff;box-shadow:none}
.sss-filter button:hover,.sss-filter button[aria-pressed="true"]{background:var(--action);border-color:var(--action)}
.sss-project-card__visual{background:#e6d6b2}
.sss-card-mock,.sss-case-hero__visual,.sss-project-frame{background:var(--visual-deep)}
.sss-work-panel:first-child .sss-work-panel__visual{background:#4f3e19}
.sss-work-panel:nth-child(2) .sss-work-panel__visual{background:#503f19}
.sss-work-panel:nth-child(3) .sss-work-panel__visual{background:#5f4a1d}
.sss-work-panel:nth-child(4) .sss-work-panel__visual{background:#3f3113}
.sss-work-panel:nth-child(5) .sss-work-panel__visual{background:#53411a}
.sss-cta__inner{border-color:#4b3b17;background:#282110}
.sss-site :focus-visible{outline-color:#8a6e32}
.sss-header.is-scrolled{background:rgba(255,255,255,.96)}
.sss-testimonials{background:var(--bg-muted)}
.sss-work-panel{background:var(--bg-muted)}
.sss-work-panel:nth-child(even){background:var(--bg-surface)}
.sss-page-hero{padding:clamp(7.5rem,11vw,10rem) 0 var(--section-space)}
.sss-page-hero h1{margin:26px 0 42px}
.sss-page-hero__copy{font-size:clamp(1.05rem,1.4vw,1.3rem)}
.sss-legal-hero{padding:clamp(7.5rem,11vw,10rem) 0 var(--section-space)}

/* Core content modules stay compact without feeling crowded. */
.sss-service-card{min-height:260px;padding:28px}
.sss-service-card h3{margin:32px 0 14px}
.sss-stats{margin-top:58px}
.sss-stats strong{font-size:clamp(1.8rem,3.2vw,3.3rem)}
.sss-process.sss-section{padding-block:var(--section-space)}
.sss-process .sss-heading-row{margin-bottom:2rem}
.sss-quote-list{min-height:285px}
.sss-quote blockquote{font-size:clamp(1.75rem,3.25vw,3.35rem)}
.sss-accordion button{min-height:76px}
.sss-cta__inner{padding:clamp(38px,5vw,65px)}
.sss-cta h2{font-size:clamp(2rem,3.4vw,3.6rem)}

/* Work keeps its required viewport stage but scales content within that stage. */
.sss-work-panel h3{font-size:clamp(2.15rem,3.6vw,4rem);margin:16px 0 20px}
.sss-work-panel__content{padding:clamp(64px,7vw,105px)}
.sss-work-panel__meta{left:clamp(45px,7vw,105px);right:clamp(45px,7vw,105px);top:28px}
.sss-work-panel__result{margin:22px 0;padding:17px 0}
.sss-work-panel .sss-tags{margin-bottom:24px}
.sss-work-panel__visual>strong{font-size:clamp(7rem,13vw,13rem)}
.sss-work-stack__footer{padding-block:36px}
.sss-work-stack__heading{padding-block:var(--section-space)}

@media(min-width:700px){
	.sss-work-stack__scroll.is-enhanced .sss-work-stack__stage{top:var(--header-compact-h);height:calc(100vh - var(--header-compact-h));height:calc(100svh - var(--header-compact-h))}
	.sss-work-stack__scroll.is-enhanced .sss-work-panel{height:100%!important;clip-path:inset(0 0 0 0);will-change:clip-path;transform:translateZ(0)}
	.sss-work-stack__scroll.is-enhanced .sss-work-panel__inner{height:calc(100vh - var(--header-compact-h));height:calc(100svh - var(--header-compact-h))}
	.sss-work-stack__scroll.is-enhanced .sss-work-panel__art{inset:10%}
	.sss-work-stack__scroll.is-enhanced .sss-work-panel__visual>strong{font-size:clamp(6rem,11vw,10.5rem)}
}

/* Detail and legal pages receive the same compact reading rhythm. */
.sss-case-hero__visual{height:min(560px,66vh);min-height:400px;margin-top:48px}
.sss-case-content article{padding:48px 0}
.sss-case-content article h2{font-size:clamp(1.75rem,2.5vw,2.65rem)}
.sss-result-band{padding:var(--section-space) 0}
.sss-result-band blockquote{font-size:clamp(1.8rem,3.2vw,3.35rem)}
.sss-legal article section{padding-bottom:36px;margin-bottom:36px}

@media(max-width:1100px){
	:root{--section-space:clamp(2.5rem,4vw,3.25rem)}
	.sss-site h1{font-size:clamp(2.5rem,6vw,4.4rem)}.sss-site h2{font-size:clamp(1.85rem,4vw,3rem)}
	.sss-work-panel__content{padding:60px 48px}.sss-work-panel__meta{left:48px;right:48px}
}

@media(max-width:900px){
	:root{--section-space:clamp(2.35rem,5vw,3rem)}
	.sss-work-panel__content{padding:58px 32px 42px}.sss-work-panel__meta{left:32px;right:32px;top:22px}
	.sss-work-panel h3{font-size:clamp(2rem,6vw,3.2rem)}
	.sss-contact__grid{gap:55px}.sss-footer__top{padding-bottom:50px}
}

@media(max-width:640px){
	:root{--section-space:2.5rem}
	.sss-site h1{font-size:clamp(2.25rem,10.5vw,3.25rem)}.sss-site h2{font-size:clamp(1.7rem,7.5vw,2.45rem)}.sss-site h3{font-size:clamp(1.18rem,5vw,1.55rem)}
	.sss-page-hero{padding:7rem 0 3.5rem}.sss-page-hero h1{margin:22px 0 30px}
	.sss-service-card{min-height:225px;padding:24px}.sss-service-card h3{margin-top:26px}
	.sss-heading-row{margin-bottom:2rem}.sss-stats{margin-top:40px}.sss-stats>div{padding-top:24px;padding-bottom:24px}
	.sss-quote-list{min-height:390px}.sss-quote blockquote{font-size:clamp(1.55rem,7vw,2.1rem)}
	.sss-work-panel__content{padding:54px 20px 36px}.sss-work-panel__meta{left:20px;right:20px;top:18px}.sss-work-panel h3{font-size:clamp(1.9rem,9vw,2.7rem)}.sss-work-panel__result{margin:18px 0}.sss-work-panel__visual>strong{font-size:clamp(6rem,30vw,9rem)}
	.sss-work-stack__heading{padding-block:var(--section-space)}.sss-cta__inner{padding:32px 22px}.sss-footer{padding-top:48px}
	.sss-process.sss-section{padding-block:var(--section-space)}.sss-process .sss-heading-row{margin-bottom:1.5rem}
	.sss-case-hero__visual{min-height:280px;height:auto;aspect-ratio:1/1;margin-top:36px}.sss-case-content article{padding:36px 0}.sss-legal-hero{padding-top:7rem}
}

@media(max-width:380px){
	:root{--section-space:2.25rem}
	.sss-site h1{font-size:2.15rem}.sss-site h2{font-size:1.65rem}
}

@media(min-width:700px) and (max-height:780px){
	.sss-work-stack__scroll.is-enhanced .sss-work-panel__content{padding:42px 5.5vw 24px}
	.sss-work-stack__scroll.is-enhanced .sss-work-panel__meta{left:5.5vw;right:5.5vw;top:14px}
	.sss-work-stack__scroll.is-enhanced .sss-work-panel .sss-kicker{font-size:.64rem;margin-bottom:6px}
	.sss-work-stack__scroll.is-enhanced .sss-work-panel h3{font-size:clamp(1.9rem,2.8vw,2.8rem);margin:7px 0 10px;line-height:1.02}
	.sss-work-stack__scroll.is-enhanced .sss-work-panel__description{font-size:.9rem;line-height:1.38;margin-bottom:10px}
	.sss-work-stack__scroll.is-enhanced .sss-work-panel__result{grid-template-columns:72px 1fr;gap:12px;margin:9px 0;padding:9px 0;font-size:.85rem;line-height:1.35}
	.sss-work-stack__scroll.is-enhanced .sss-work-panel .sss-tags{gap:5px;margin-bottom:11px}
	.sss-work-stack__scroll.is-enhanced .sss-work-panel .sss-tags li{padding:4px 8px;font-size:.6rem}
	.sss-work-stack__scroll.is-enhanced .sss-work-panel .sss-tags li:nth-child(n+5){display:none}
	.sss-work-stack__scroll.is-enhanced .sss-btn{min-height:44px;padding:9px 18px}
}
