/* Shared layout for the separate service pages. */
.page-hero{padding-block:clamp(56px,9vw,110px) clamp(36px,6vw,72px)}
.page-hero h1{max-width:20ch;font-size:clamp(32px,5.3vw,68px);line-height:1.12;overflow-wrap:break-word}
body[data-page]:not([data-page="0"]) section{padding-block:clamp(44px,7vw,88px)}
.page-cta .wrap{padding-block:40px;border-top:1px solid var(--line)}
.page-cta h2{font-family:var(--f-display);font-size:clamp(26px,3.5vw,44px);line-height:1.2;max-width:22ch}
.page-cta p{color:var(--mute);max-width:58ch;margin-bottom:26px}
.service-link{align-self:flex-start;margin-top:auto}
.head.solo{margin-bottom:clamp(32px,4vw,56px)}
.head.solo h2{line-height:1.16;margin-bottom:0}
.audit .grade.audit-check{font-size:clamp(20px,3vw,32px);letter-spacing:.04em}
.out,.ows-bubble{overflow-wrap:anywhere;word-break:normal}
.brief{min-width:0}
.brief input,.brief textarea{max-width:100%;min-width:0}
.featured-demo .demo-main{grid-column:1/-1}
.concept-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}
.concept-preview img{display:block;width:100%;height:100%;object-fit:cover}
.concept-card{border:1px solid var(--line-2);border-radius:20px;overflow:hidden;background:var(--ink-2);min-width:0}
.concept-preview{position:relative;display:block;height:280px;overflow:hidden}
.concept-preview svg{width:100%;height:100%;display:block;object-fit:cover}
.concept-preview>span{position:absolute;left:20px;top:20px;background:var(--ink);color:var(--signal);font:11px var(--f-mono);padding:7px 12px;border-radius:20px}
.concept-copy{padding:28px;display:flex;align-items:flex-start;flex-direction:column;gap:20px}
.concept-copy h3{font:600 23px/1.3 var(--f-display);margin:0}
.concept-copy p{color:var(--mute);margin:0}
@media(max-width:760px){.concept-grid{grid-template-columns:1fr}.concept-preview{height:240px}.concept-copy{padding:24px}.concept-copy h3{font-size:21px}}
.nav a[aria-current="page"]{color:var(--signal)}
.nav ul{gap:18px}
.skip-link{position:fixed;left:16px;top:-100px;z-index:100;background:var(--signal);color:var(--ink);padding:12px}
.skip-link:focus{top:12px}
@media(max-width:1159px){.nav.open ul{max-height:calc(100dvh - 100px);overflow-y:auto}}
@media(max-width:560px){.page-hero h1{font-size:clamp(30px,8vw,42px)}.nav .wrap{gap:9px}.nav>.wrap>.btn{font-size:10px;padding:10px 12px}.brand-sub{display:none}.svc article{padding:24px 20px}.page-cta .btn{max-width:100%;white-space:normal;text-align:center}}
