/* Sewing studio: reusable presentation; content stays with the renderer. */
.site-header,.site-footer{background:var(--c-bg)}
.header-inner{padding-block:14px;gap:12px 24px}
.brand{font-size:1.25rem}
.site-nav ul{flex-wrap:wrap;gap:4px 16px;overflow:visible}
.site-nav a{white-space:normal;font-size:.9rem;min-height:44px;display:flex;align-items:center}
.studio-search{font-size:.9rem;font-weight:600;min-height:44px;display:flex;align-items:center}
.hero{padding-block:24px 32px;border-block-end:1px solid var(--c-border)}
.studio-kicker{color:var(--c-accent);font-size:.8rem;font-weight:700;letter-spacing:.12em;text-transform:none;margin-block-end:12px}
.hero h1{max-width:22ch;font-weight:400;font-size:clamp(2rem,1.5rem + 2vw,3.5rem);line-height:1.12}
.hero .lead{max-width:60ch}
.card{padding:24px;border-block-start:3px solid var(--c-accent)!important}
.card-title{font-size:1.25rem;line-height:1.3}
.card-title a:hover{color:var(--c-accent);text-decoration:underline}
.card-text{font-size:1rem}
.page-header h1{font-weight:400}
.prose{font-size:1.0625rem;line-height:1.8;max-width:var(--measure)}
.prose a{overflow-wrap:anywhere}
.faq-item summary{padding:16px;line-height:1.5}
.faq-answer{padding:0 16px 8px}
.search-form{flex-wrap:wrap}
.search-form input{flex-basis:180px}
@media(max-width:719px){
 .shell{width:calc(100% - 32px)}
 .hero{padding-block:16px 24px}
 .header-inner{gap:8px 16px}
 .card{padding:20px}
 .site-nav{order:3}
 .page-header{max-width:100%}
}
@media(min-width:1024px){
 .block-services .cards{grid-template-columns:repeat(3,minmax(0,1fr))}
 .main{padding-block-start:32px}
}
