.studio-page{min-width:0;background:radial-gradient(circle at 84% 4%,#1d0a0c 0,transparent 28%),#080808}
.studio-page [hidden]{display:none!important}
.studio-hero{min-height:clamp(430px,39vw,560px);display:flex;align-items:center;padding-top:130px;padding-bottom:122px;background-color:#0b0708;background-image:linear-gradient(90deg,rgba(4,4,5,.96) 0%,rgba(4,4,5,.8) 32%,rgba(4,4,5,.16) 75%),linear-gradient(0deg,#080808 0%,transparent 36%),url('../../img/studio-locator.png');background-size:cover;background-position:center,center,center 48%;background-repeat:no-repeat}
.studio-hero__inner,.studio-locator__inner{width:min(100%,1240px);min-width:0;margin-inline:auto}
.studio-hero .lbl{color:#f3454c;font-size:12px;letter-spacing:.15em}
.studio-hero h1{margin:12px 0 14px;font-size:clamp(54px,6.1vw,86px);line-height:.9;letter-spacing:-.055em;max-width:12ch;color:#fff}
.studio-hero__lead{margin:0 0 10px;color:#f4f1ef;font-size:clamp(19px,2.15vw,27px);line-height:1.25}
.studio-hero__description{max-width:45ch;margin:0;color:#c8c4c1;font-size:clamp(15px,1.25vw,17px);line-height:1.55}
.studio-locator{position:relative;margin-top:-74px;padding-bottom:clamp(74px,9vw,130px)}
.studio-filters{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(190px,.9fr) auto;align-items:end;gap:18px;padding:24px 26px;border:1px solid #484143;border-radius:12px;background:linear-gradient(115deg,rgba(21,20,21,.94),rgba(34,17,19,.9));box-shadow:0 24px 60px rgba(0,0,0,.55);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
.studio-filter{display:grid;gap:8px;min-width:0}
.studio-filter label{font:400 11px var(--mono);letter-spacing:.09em;text-transform:uppercase;color:#e3ddda}
.studio-filter__control{position:relative;min-width:0}
.studio-filter__control>i{position:absolute;z-index:1;left:17px;top:50%;transform:translateY(-50%);color:#e4e0de;font-size:17px;pointer-events:none}
.studio-filter input,.studio-filter select{appearance:none;width:100%;height:51px;min-width:0;border:1px solid #5c5555;border-radius:6px;background:rgba(255,255,255,.045);color:#fff;font-family:var(--body);font-size:16px;outline:none}
.studio-filter input{padding:0 15px 0 45px}
.studio-filter input::placeholder{color:#aaa5a3}
.studio-filter select{padding:0 39px 0 15px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='9' viewBox='0 0 14 9'%3E%3Cpath d='m1 1 6 6 6-6' fill='none' stroke='%23e3ddda' stroke-width='1.5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 15px center;background-color:#211a1b}
.studio-filter select option{background:#1c1919;color:#fff}
.studio-filter input:hover,.studio-filter select:hover{border-color:#b1a6a3}
.studio-filter input:focus-visible,.studio-filter select:focus-visible{border-color:#ed333d;outline:2px solid rgba(237,51,61,.3);outline-offset:1px}
.studio-search-button,.studio-action{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:51px;border:1px solid var(--red);border-radius:5px;background:var(--red);color:#fff;font:500 11px var(--mono);letter-spacing:.09em;text-transform:uppercase;text-decoration:none;cursor:pointer;white-space:nowrap;transition:background .2s,border-color .2s,transform .2s}
.studio-search-button{padding:0 22px}
.studio-search-button:hover,.studio-action--red:hover{background:#b71924;border-color:#b71924;color:#fff}
.studio-search-button:focus-visible,.studio-action:focus-visible,.studio-chip:focus-visible{outline:2px solid #fff;outline-offset:3px}
.studio-popular{display:flex;align-items:center;gap:18px;margin:20px 0 30px}
.studio-popular__label{display:inline-flex;align-items:center;gap:9px;flex:none;color:#eee8e5;font:500 11px var(--mono);letter-spacing:.07em;text-transform:uppercase}
.studio-popular__label i{font-size:18px;color:#ed333d}
.studio-popular__chips{display:flex;flex-wrap:wrap;gap:8px}
.studio-chip{min-height:34px;padding:5px 13px;border:1px solid #343132;border-radius:999px;background:#161516;color:#eee8e5;font-family:var(--body);font-size:13px;cursor:pointer;transition:border-color .2s,background .2s}
.studio-chip span{color:#bcb5b3}
.studio-chip:hover{border-color:#e63741;background:#251416}
.studio-directory{padding-top:30px;border-top:1px solid #343031}
.studio-directory__main{min-width:0}
.studio-directory__heading{display:flex;align-items:end;justify-content:space-between;gap:16px;margin-bottom:16px}
.studio-directory__heading .lbl{color:#e34b53}
.studio-directory__heading h2{font-family:var(--display);font-weight:800;text-transform:uppercase;font-size:clamp(21px,2.2vw,30px);line-height:1.05;letter-spacing:-.025em;margin:6px 0 0}
.studio-count{flex:none;margin:0 0 3px;color:#f0e9e6;font:500 11px var(--mono);letter-spacing:.08em;text-transform:uppercase}
.studio-results{display:grid;gap:9px}
.studio-card{display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:14px;min-width:0;padding:21px 18px;border:1px solid #303030;border-radius:7px;background:linear-gradient(115deg,#141313,#0f0e0e);transition:border-color .2s,background .2s}
.studio-card:hover{border-color:#684044;background:linear-gradient(115deg,#1b1516,#111010)}
.studio-card__index{align-self:start;padding-top:2px;color:#ef3540;font:500 17px var(--mono)}
.studio-card__details{min-width:0}
.studio-card__state{color:#ee3842;font:500 10px var(--mono);letter-spacing:.11em;text-transform:uppercase}
.studio-card h3{margin:6px 0 6px;color:#f6f4f2;font-family:var(--display);font-weight:800;font-size:clamp(17px,1.45vw,21px);line-height:1.17;text-transform:uppercase;overflow-wrap:anywhere}
.studio-card address{color:#cdc8c5;font-size:14px;font-style:normal;line-height:1.45;overflow-wrap:anywhere}
.studio-card__contact{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.studio-phone{display:inline-flex;align-items:center;gap:6px;min-height:30px;padding:5px 9px;border:1px solid #393536;border-radius:4px;background:#1d1a1b;color:#e9e4e1;font-size:12px;line-height:1.2;white-space:nowrap;transition:border-color .2s,background .2s,color .2s}
.studio-phone i{flex:none;color:#e63842;font-size:12px}
.studio-phone:hover,.studio-phone:focus-visible{border-color:#e63842;background:#2b1719;color:#fff}
.studio-phone:focus-visible{outline:2px solid rgba(230,56,66,.4);outline-offset:2px}
.studio-phone--unavailable{color:#b4acaa}
.studio-card__actions{display:flex;align-items:center;justify-content:flex-end;gap:7px}
.studio-action{min-height:41px;padding:0 13px;border-color:#696061;border-radius:4px;background:transparent;font-size:10px}
.studio-action:hover{border-color:#eee;color:#fff}
.studio-action--red{border-color:var(--red);background:var(--red)}
.studio-empty{padding:clamp(34px,5vw,60px);border:1px solid #303030;border-radius:7px;text-align:center;background:#131111}
.studio-empty h3{font-family:var(--display);font-size:clamp(22px,3vw,32px);line-height:1.2;margin:9px auto;max-width:28ch}
.studio-empty p{color:var(--soft);margin:9px 0}
@media(max-width:700px){.studio-card{grid-template-columns:34px minmax(0,1fr)}.studio-card__actions{grid-column:2;justify-content:flex-start}}
@media(max-width:900px){.studio-hero{min-height:410px}.studio-filters{grid-template-columns:minmax(0,1fr) minmax(180px,.75fr)}.studio-search-button{grid-column:1/-1}}
@media(max-width:600px){
  .studio-hero{min-height:390px;align-items:flex-start;padding-top:132px;padding-bottom:92px;background-image:linear-gradient(90deg,rgba(4,4,5,.94),rgba(4,4,5,.63)),linear-gradient(0deg,#080808,transparent 48%),url('../../img/studio-locator.png');background-position:center,center,62% center}
  .studio-hero h1{font-size:clamp(43px,11vw,65px);margin:10px 0 12px}
  .studio-hero__lead{font-size:19px}
  .studio-hero__description{font-size:15px}
  .studio-locator{margin-top:-48px}
  .studio-filters{grid-template-columns:1fr;gap:13px;padding:18px;border-radius:9px}
  .studio-search-button{grid-column:auto}
  .studio-popular{display:block;margin:19px 0 24px}
  .studio-popular__label{margin-bottom:10px}
  .studio-popular__chips{flex-wrap:nowrap;overflow-x:auto;padding-bottom:5px;scrollbar-width:thin}
  .studio-chip{flex:none}
  .studio-directory{padding-top:24px}
  .studio-directory__heading{align-items:start;flex-direction:column;gap:8px}
  .studio-card{gap:8px;padding:17px 15px}
  .studio-card__actions{margin-top:7px}
  .studio-action{flex:1;min-height:44px}
}
@media(max-width:380px){.studio-card{grid-template-columns:1fr}.studio-card__index{grid-column:1}.studio-card__actions{grid-column:1}}
