.studio-directory { max-width:1100px; padding-top:clamp(2rem,5vw,4rem); padding-bottom:clamp(2rem,5vw,4rem); }
.studio-directory>h1 { margin:.5rem 0 1rem; font-size:clamp(2rem,5vw,3.8rem); line-height:1.06; letter-spacing:-.04em; }
.studio-directory>.hero-lead { max-width:68ch; color:#52605a; line-height:1.65; }
.studio-search { display:flex; flex-wrap:wrap; align-items:end; gap:1rem; margin:1.5rem 0 .75rem; padding:1rem; background:#f0f5f1; border:1px solid #e1e9e2; border-radius:.75rem; }
.studio-search label { display:flex; flex-direction:column; gap:.4rem; flex:1 1 180px; min-width:0; }
.studio-search input,.studio-search select { min-height:48px; width:100%; font:inherit; padding:.6rem; background:white; color:#172a27; border:1px solid #8ca391; border-radius:.3rem; min-width:0; }
.studio-result-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr)); gap:1.2rem; margin:2rem 0; }
.studio-result { padding:1.5rem; border:1px solid #d8e2d9; border-radius:.75rem; background:white; min-width:0; }
.studio-result h2 { font-size:1.3rem; margin-bottom:.6rem; }
.studio-result :is(p,a,h2),.studio-search p { overflow-wrap:anywhere; }
.studio-search-message { margin:.75rem 0; color:#52605a; }
.studio-location { display:flex; flex-wrap:wrap; align-items:center; gap:.75rem; margin:.5rem 0 1.5rem; }
.studio-location [role=status] { color:#52605a; font-size:.875rem; }
.studio-empty { display:grid; grid-template-columns:auto minmax(0,1fr); align-items:start; column-gap:1rem; margin:1.5rem 0; padding:clamp(1rem,3vw,1.75rem); border:1px solid #e1e9e2; border-radius:.75rem; background:#fff; }
.studio-empty-mark { grid-row:1/4; display:grid; place-items:center; width:2.5rem; aspect-ratio:1; border-radius:50%; color:#396354; background:#e9f1ec; font-size:1.4rem; }
.studio-empty h2 { font-size:1.1rem; font-weight:700; line-height:1.35; }
.studio-empty p { max-width:65ch; margin-top:.35rem; color:#52605a; line-height:1.55; }
.studio-empty .arrow-link { margin-top:.75rem; font-weight:650; }
.studio-search-info { margin:1rem 0; border-top:1px solid #e1e9e2; border-bottom:1px solid #e1e9e2; color:#52605a; font-size:.875rem; }
.studio-search-info summary { min-height:44px; display:flex; align-items:center; cursor:pointer; font-weight:650; color:#263d33; }
.studio-search-info p { max-width:80ch; padding:.25rem 0 1rem; line-height:1.6; }
.studio-directory-footer { display:flex; flex-wrap:wrap; align-items:center; gap:.65rem; margin-top:1rem; font-size:.9rem; }
.studio-directory-footer .arrow-link { font-weight:650; }
.studio-directory { position:relative; isolation:isolate; }
.studio-directory::before { content:""; position:absolute; z-index:-1; inset:0 0 auto; height:28rem; border-radius:0 0 3rem 3rem; background:radial-gradient(ellipse at 82% 0%,#f8dce2 0,transparent 36%),linear-gradient(135deg,#fff8f2,#f4f7ff 72%,#eef8f1); }
.studio-directory>.eyebrow { display:inline-flex; padding:.45rem .8rem; border-radius:999px; background:#fff; color:#914459; box-shadow:0 4px 18px #73314910; font-weight:700; }
.studio-search { padding:clamp(1rem,3vw,1.5rem); border-color:#e4d7da; background:#fff; box-shadow:0 14px 36px #582c3b12; }
.studio-search .button-dark { min-height:48px; padding-inline:1.3rem; border:0; border-radius:.5rem; background:#b22132; color:#fff; font-weight:700; box-shadow:0 5px 14px #b2213226; }
.studio-search .button-dark:hover { background:#941d2b; }
.studio-benefits { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.8rem; margin:1.3rem 0 1.8rem; }
.studio-benefits article { min-width:0; padding:1rem; border:1px solid #e8e4ed; border-radius:.8rem; background:#ffffffc9; }
.studio-benefits article:nth-child(2) { background:#f2f5ff; border-color:#dfe4f8; }
.studio-benefits article:nth-child(3) { background:#eff7f0; border-color:#d8e9dc; }
.studio-benefits article>span { display:block; margin-bottom:.45rem; color:#b22132; font-size:.75rem; font-weight:800; letter-spacing:.12em; }
.studio-benefits article strong { display:block; color:#263d33; }
.studio-benefits article p { margin-top:.25rem; color:#52605a; font-size:.875rem; line-height:1.5; }
.studio-result { border-color:#e5e3e9; box-shadow:0 8px 26px #26334c0b; transition:transform .18s ease,box-shadow .18s ease; }
.studio-result:hover { transform:translateY(-2px); box-shadow:0 14px 32px #26334c15; }
.studio-empty { border-color:#e3dce8; background:linear-gradient(125deg,#fff,#fbf7ff 65%,#f3f8f3); }
.studio-empty-mark { color:#8f4660; background:#f7e4ea; }
.studio-location .button-ghost { min-height:46px; border-color:#cddacc; color:#294a3d; background:#f5faf5; }
.studio-search-info { border-color:#e6dfe1; }
.studio-search-info summary { color:#714356; }
@media(max-width:650px){.studio-benefits{grid-template-columns:1fr;gap:.55rem}.studio-benefits article{display:grid;grid-template-columns:2rem minmax(0,1fr);column-gap:.6rem;padding:.75rem}.studio-benefits article>span{grid-row:1/3;margin:0}.studio-benefits article p{grid-column:2}.studio-directory::before{inset:0;height:33rem;border-radius:0 0 2rem 2rem}}
@media(max-width:550px){.studio-directory>.hero-lead{font-size:.95rem}.studio-search{padding:.8rem;gap:.8rem}.studio-search .button{width:100%}.studio-result{padding:1rem}.studio-empty{column-gap:.7rem}.studio-empty-mark{width:2rem}}
