
:root{--blue:#842ba8;--ink:#451c56;--yellow:#ff8d44;--paper:#fffdf6;--pink:#ffc2de;--line:#d9ccde;--body:'DM Sans',Arial,sans-serif;--display:'Barlow Condensed','Arial Narrow',Impact,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--body);font-size:16px;line-height:1.5}button,input,select{font:inherit}a{color:inherit;text-underline-offset:4px}button,a,input,select,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #e64900;outline-offset:4px}h1,h2,h3,p{margin:0}h1,h2,h3{line-height:.95}button{color:inherit}.wrap{width:min(1400px,92%);margin:auto}.skip{position:absolute;top:-100px;background:white;padding:12px;z-index:50}.skip:focus{top:0}.topbar{padding:20px 0;border-bottom:2px solid var(--ink)}.nav{display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{text-decoration:none;font-family:var(--display);font-size:34px;font-weight:800;letter-spacing:-1px}.brand b{color:var(--blue)}.navlinks{display:flex;gap:28px;align-items:center;font-weight:700;font-size:14px}.navlinks a{text-decoration:none}.navlinks a:hover{text-decoration:underline}.navlinks .business-link{border:1px solid;padding:10px 16px}.eyebrow{font-weight:700;font-size:13px;letter-spacing:1.8px;text-transform:uppercase}.hero{background:var(--blue);color:var(--paper);overflow:hidden}.hero-grid{display:grid;grid-template-columns:1.15fr 1fr;min-height:480px}.hero-copy{padding:42px 36px 40px 0;position:relative}.hero h1{font-family:var(--display);font-size:clamp(66px,7.8vw,116px);font-weight:800;letter-spacing:-2px;text-transform:uppercase;margin:22px 0}.hero h1 em{font-style:normal;color:var(--yellow)}.hero-copy>p{max-width:400px;font-size:17px}.hero-bottom{display:flex;align-items:center;gap:24px;margin-top:26px}.primary{display:inline-block;padding:13px 22px;background:var(--yellow);color:var(--ink);text-decoration:none;font-weight:700;border:2px solid var(--ink);box-shadow:4px 4px 0 var(--ink)}.hero-note{font-size:13px;max-width:140px}.hero-photo{position:relative;min-height:400px;border-left:2px solid var(--ink);background:#d2a6e4}.hero-photo img{width:100%;height:100%;position:absolute;object-fit:cover}.photo-caption{position:absolute;bottom:18px;left:20px;background:var(--paper);color:var(--ink);font-size:12px;padding:7px 12px;font-weight:700;letter-spacing:1px}.stamp{position:absolute;top:26px;right:20px;width:120px;height:120px;border-radius:50%;background:var(--yellow);color:var(--ink);transform:rotate(10deg);border:2px solid;display:grid;align-content:center;text-align:center;font-family:var(--display);font-size:24px;font-weight:800;line-height:1}.stamp small{font:700 11px var(--body);letter-spacing:1px;margin:7px}.ticker{background:var(--yellow);border-block:2px solid var(--ink);overflow:hidden}.ticker-inner{display:flex;justify-content:space-between;gap:24px;padding:12px 0;font-size:13px;font-weight:700;letter-spacing:1.4px;white-space:nowrap}.ticker span::before{content:'✳';margin-right:24px;font-size:18px}.directory{padding:48px 0 60px}.section-head{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:26px}.section-head h2,.coming-head h2{font-family:var(--display);font-size:clamp(44px,5vw,68px);text-transform:uppercase;font-weight:800}.section-head .eyebrow{margin-bottom:10px}.section-head>p{font-size:14px}.filters{border:2px solid var(--ink);background:white;box-shadow:6px 6px 0 var(--ink);margin-bottom:36px}.search-row{display:flex;border-bottom:1px solid var(--ink)}.search-wrap{display:flex;flex:1;align-items:center;padding:0 20px;gap:14px}.search-ico{font-size:30px}.search-wrap input{width:100%;border:0;padding:20px 0;background:transparent;outline-offset:0!important;min-width:0;color:var(--ink)}.sort-wrap{display:flex;align-items:center;gap:10px;padding:12px 20px;border-left:1px solid var(--ink);font-size:14px}.sort-wrap select{padding:8px;border:0;background:white;color:var(--ink);max-width:180px}.filter-body{padding:20px}.filter-line{display:flex;align-items:baseline;gap:20px;margin-bottom:16px}.filter-label{font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:1px;min-width:90px}.chips{display:flex;gap:8px;flex-wrap:wrap}.chip{border:1px solid var(--line);padding:8px 13px;background:transparent;border-radius:0;font-size:14px;line-height:1.4}.chip:hover{border-color:var(--blue);background:#f9f0fd}.chip.active{background:var(--blue);border-color:var(--blue);color:white}.more-row{border-top:1px solid var(--line);padding-top:14px;display:flex;justify-content:space-between;align-items:start;gap:20px}.more-row details{flex:1}.more-row summary{cursor:pointer;font-size:14px;font-weight:700;width:fit-content}.extras{display:flex;gap:20px;flex-wrap:wrap;margin-top:16px}.reset{border:0;background:transparent;text-decoration:underline;font-size:14px;padding:0;white-space:nowrap}.results-toolbar{display:flex;align-items:center;justify-content:space-between;border-bottom:2px solid var(--ink);padding-bottom:12px;margin-bottom:0;gap:15px}.results-toolbar h3{font-family:var(--display);font-size:28px;text-transform:uppercase}.results-toolbar span{font-size:13px}.split{display:grid;grid-template-columns:1.1fr 1fr;gap:32px;margin-top:22px;align-items:start}.cards{display:grid;gap:0}.empty{padding:40px 24px 40px 0}.empty .index{font-family:var(--display);font-size:64px;color:var(--blue)}.empty h3{font-family:var(--display);font-size:34px;margin:10px 0 18px}.empty p{max-width:440px;color:#584360}.empty .reset{margin-top:20px}.source-label{display:inline-block;background:var(--pink);font-size:12px;font-weight:700;padding:5px 9px;letter-spacing:.8px;text-transform:uppercase}.map-wrap{border:2px solid var(--ink);background:#f4ebf8;position:sticky;top:20px}.map-title{display:flex;justify-content:space-between;padding:12px 16px;background:var(--ink);color:white;font-weight:700;font-size:13px}.map-wrap iframe{width:100%;height:320px;border:0;display:block}.map-foot{padding:12px 16px;font-size:13px;background:white}.listing{padding:24px 0;border-bottom:1px solid var(--ink)}.listing-top{display:flex;justify-content:space-between;gap:15px;font-size:13px;margin-bottom:12px}.listing h3{font-family:var(--display);font-size:36px;margin-bottom:12px}.listing .address{font-size:14px}.svc{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0}.svc span{font-size:13px;padding:5px 9px;background:#f9f0fc}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px}.actions a{font-size:14px;font-weight:700;padding:10px 15px;border:1px solid var(--ink);text-decoration:none}.actions a:hover{background:var(--yellow)}.actions .btn-dir{background:var(--ink);color:white}.featured{background:var(--pink);border-block:2px solid var(--ink)}.featured-inner{padding:28px 0;display:flex;gap:28px;align-items:center;justify-content:space-between}.feat-symbol{font-size:68px;line-height:1}.feat-text{flex:1}.feat-text h3{font-family:var(--display);font-size:36px;margin:8px 0}.feat-text p{font-size:14px}.btn-featured{padding:13px 22px;border:2px solid var(--ink);background:var(--paper);text-decoration:none;font-weight:700;white-space:nowrap;box-shadow:4px 4px 0 var(--ink)}.coming-soon{padding:60px 0}.coming-head{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:26px}.coming-head .eyebrow{margin-bottom:12px}.coming-head>p{max-width:320px;font-size:14px}.coming-soon-card{display:grid;grid-template-columns:240px 1fr;border:2px solid var(--ink)}.cs-visual{background:var(--yellow);border-right:2px solid;position:relative;display:flex;flex-direction:column;justify-content:space-between;align-items:center;padding:32px 20px;overflow:hidden}.construction-mark{font-size:180px;line-height:1;font-weight:700}.opening-pill{font-family:var(--display);font-size:36px;font-weight:800;text-transform:uppercase}.cs-body{padding:32px}.cs-status{font-size:12px;letter-spacing:1.3px;text-transform:uppercase;font-weight:700}.cs-body h3{font-family:var(--display);font-size:48px;margin:12px 0 18px}.addr{font-weight:700}.cs-intersection{font-size:14px;margin-top:5px}.cs-about{font-size:14px;max-width:800px}.site-footer{background:var(--ink);color:var(--paper);padding:40px 0 20px}.footer-top{display:flex;justify-content:space-between;gap:30px}.footer-brand{font-family:var(--display);font-size:clamp(64px,10vw,136px);font-weight:800;letter-spacing:-2px;line-height:1;color:var(--yellow)}.tag{font-size:14px;max-width:340px;margin-top:18px}.foot-nav{display:grid;gap:8px;align-content:center;font-size:14px}.foot-nav a{text-decoration:none}.foot-nav a:hover{text-decoration:underline}.foot-copy{display:flex;justify-content:space-between;gap:20px;border-top:1px solid #70537c;margin-top:36px;padding-top:20px;font-size:12px}.fallback-photo{display:none;padding:50px 30px;font-family:var(--display);font-size:72px;line-height:1;text-transform:uppercase;color:var(--ink)}
@media(min-width:1500px){.hero-grid{min-height:530px}}@media(max-width:850px){.hero-grid{grid-template-columns:1.2fr 1fr}.hero h1{font-size:76px}.hero-copy{padding-right:20px}.hero-note{display:none}.navlinks{gap:16px}.split{gap:20px;grid-template-columns:1fr 1fr}.filter-line{display:block}.filter-label{margin-bottom:8px}.coming-soon-card{grid-template-columns:180px 1fr}.construction-mark{font-size:140px}.opening-pill{font-size:28px}.cs-body{padding:24px}}
@media(max-width:600px){.wrap{width:90%}.topbar{padding:14px 0}.brand{font-size:29px}.navlinks{font-size:13px}.navlinks .business-link{display:none}.hero-grid{grid-template-columns:1fr}.hero-copy{padding:28px 0 34px}.hero h1{font-size:clamp(68px,18vw,100px);margin:18px 0}.hero-copy>p{font-size:16px;max-width:330px}.hero-photo{min-height:230px;border-left:0;border-top:2px solid var(--ink);margin-inline:-5.56%}.stamp{width:96px;height:96px;font-size:20px;top:15px}.photo-caption{font-size:11px}.hero-bottom{margin-top:22px}.ticker-inner{justify-content:start}.directory{padding-top:34px}.section-head{display:block}.section-head>p{margin-top:12px}.search-row{display:block}.search-wrap{padding:0 14px}.sort-wrap{border-left:0;border-top:1px solid var(--line);justify-content:space-between;padding:7px 14px}.filter-body{padding:16px}.chip{padding:8px 10px}.split{grid-template-columns:1fr}.map-wrap{position:static}.map-wrap iframe{height:270px}.empty{padding:18px 0 28px}.results-toolbar{align-items:start}.results-toolbar span{max-width:125px;text-align:right}.featured-inner{flex-wrap:wrap;gap:18px;padding:26px 0}.feat-symbol{font-size:48px}.feat-text{flex-basis:70%}.btn-featured{margin-left:0}.coming-soon{padding:40px 0}.coming-head{display:block}.coming-head>p{margin-top:16px}.coming-soon-card{grid-template-columns:1fr}.cs-visual{flex-direction:row;border-right:0;border-bottom:2px solid;padding:14px 22px}.construction-mark{font-size:70px}.opening-pill{font-size:34px}.cs-body{padding:22px}.cs-body h3{font-size:42px}.footer-top{display:block}.foot-nav{grid-template-columns:1fr 1fr;margin-top:28px}.foot-copy{flex-direction:column;gap:6px}.eyebrow{font-size:12px}.extras{gap:12px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
/* Shared directory, listing, ranking and business page system. */
img{max-width:100%;display:block}h1,h2,h3,.font-display{font-family:var(--display)}.grad-bar{display:none}.split{grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr)}.split>noscript{grid-column:1}.cards{min-width:0}.card{border-bottom:1px solid var(--ink);background:transparent;position:relative;padding:26px 0;min-width:0}.card:first-child{padding-top:0}.card.selected{background:#f9f0fc;box-shadow:inset 4px 0 var(--blue);padding-left:16px;padding-right:16px}.card-top{display:flex;align-items:start;justify-content:space-between;gap:20px;margin-bottom:14px}.card-top>div{min-width:0}.card h3{font-size:36px;font-weight:700;line-height:1}.card h3 a{text-decoration:none}.card h3 a:hover{text-decoration:underline}.hood{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:1px;display:inline-block;margin-bottom:12px}.thumb{width:128px;flex-shrink:0;overflow:hidden;border:1px solid var(--ink)}.thumb img{width:100%;height:100px;object-fit:cover}.stars{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:12px 0}.star-row{color:var(--blue);letter-spacing:1px;font-size:17px}.rating-num{font-weight:700}.rating-count{font-size:13px}.card .addr,.phone-row{font-size:14px;margin:8px 0;font-weight:400}.phone-row a{color:var(--blue)}.hours-pill{display:inline-block;font-size:13px;padding:3px 7px;margin:4px 0}.hours-pill.open{background:#d9f2cb;color:#254623}.hours-pill.closed{background:#ffe1e1;color:#6c2232}.card .svc{margin:14px 0}.svc .svc-Hand,.svc .svc-Full{background:var(--yellow)}.svc .svc-Membership,.svc .svc-Night{background:var(--pink)}.card .actions{margin-top:16px;gap:8px}.card .actions a,.card .actions button{font-size:14px;padding:9px 12px}.map-wrap{z-index:1;overflow:hidden}.map-wrap #dir-map{height:min(65vh,580px);min-height:340px;width:100%}.leaflet-container{font-family:var(--body);z-index:0}.leaflet-popup-content{font-size:14px}.map-pin{display:grid;place-items:center;width:34px;height:34px;border:2px solid white;background:var(--blue);color:white;border-radius:50%;box-shadow:0 2px 5px #451c5666;font-size:14px;font-weight:700}.map-pin.coming{background:var(--yellow);color:var(--ink)}.map-fallback{padding:28px;font-size:16px}.card-number{display:inline-grid;place-items:center;min-width:26px;height:26px;margin-right:8px;color:white;background:var(--blue);letter-spacing:0}.page{padding:36px 0 64px}.crumb{font-size:14px;margin-bottom:26px}.crumb a{color:var(--blue)}.page h1{font-size:clamp(52px,6vw,86px);text-transform:uppercase;font-weight:800;margin:12px 0 22px;max-width:950px}.page h2{font-size:32px}.page>.wrap>p:not(.eyebrow){max-width:700px;margin-bottom:30px}.page .listing{border:0;padding:0}.listing-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:40px}.listing-main{min-width:0}.listing-photo{width:100%;height:320px;object-fit:cover;border:2px solid var(--ink);margin-bottom:24px}.listing-aside{align-self:start;position:sticky;top:20px}.listing-aside .map-wrap{position:static}.about{margin:20px 0;font-size:17px}.hours-box{background:var(--yellow);padding:24px;border:2px solid var(--ink);margin-bottom:24px}.hours-box h2{margin-bottom:16px}.hours-box table{border-collapse:collapse;width:100%;font-size:14px}.hours-box th{text-align:left;font-weight:500}.hours-box th,.hours-box td{padding:9px 0;border-bottom:1px solid #451c5640}.hours-box td{text-align:right}.hours-note,.price-note{font-size:13px;margin-top:16px;overflow-wrap:anywhere}.price-list{list-style:none;padding:0;border-top:2px solid var(--ink);margin-top:20px}.price-list li{display:flex;justify-content:space-between;gap:20px;padding:16px 0;border-bottom:1px solid var(--line)}.price-note{display:block;margin-top:4px}.nearby{margin-top:56px;padding-top:26px;border-top:2px solid var(--ink)}.nearby>h2{margin-bottom:26px}.nearby-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.nearby-grid .card{height:100%;padding-top:0}.nearby-grid .card-top{flex-direction:column-reverse;gap:16px}.nearby-grid .thumb{width:100%}.nearby-grid .thumb img{height:180px}.nearby-grid .card h3{font-size:32px}.rank-wrap{position:relative;padding-top:22px}.rank-wrap .rank-badge{position:absolute;top:8px;left:12px;z-index:1;background:var(--yellow);color:var(--ink);border:2px solid var(--ink);font-family:var(--display);font-size:32px;padding:3px 14px;transform:rotate(-5deg)}.holdout{padding:24px;background:var(--pink);border:1px solid var(--ink);margin-top:32px}.biz-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:60px;align-items:start}.biz-grid h1{font-size:clamp(54px,6vw,86px)}.biz-card{border-top:1px solid var(--ink);padding:20px 0;font-size:16px}.biz-grid>div>p{margin-bottom:24px}.form-card{background:var(--pink);border:2px solid var(--ink);box-shadow:6px 6px 0 var(--ink)}.form-card .body{padding:30px}.form-card label{display:block;font-size:14px;font-weight:700;margin-bottom:8px}.form-card input,.form-card textarea{border:1px solid var(--ink);border-radius:0;background:var(--paper);padding:12px;font:inherit;width:100%;margin-bottom:20px;resize:vertical;color:var(--ink)}.form-card button{background:var(--ink);color:white;border:0;font-weight:700;padding:14px;width:100%;font-size:16px}.form-card .hours-note{margin-top:16px}.page .eyebrow{color:var(--blue)}.page a[style*="color"]{color:var(--blue)!important}.map-foot{border-top:1px solid var(--ink)}.card,.map-wrap,.listing-main,.listing-aside,.form-card{overflow-wrap:break-word}
@media(max-width:1000px){.nearby-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.listing-grid{gap:24px;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr)}.biz-grid{gap:32px}.thumb{width:100px}.card h3{font-size:32px}.card-top{gap:14px}.listing-aside{position:static}}@media(max-width:700px){.split,.listing-grid,.biz-grid{grid-template-columns:minmax(0,1fr)}.map-wrap{position:static;grid-row:1}.map-wrap #dir-map{height:300px;min-height:300px}.card:first-child{padding-top:10px}.listing-photo{height:250px}.listing-aside .map-wrap{height:300px!important}.page{padding-top:28px}.nearby-grid{grid-template-columns:1fr}.nearby-grid .card-top{flex-direction:row}.nearby-grid .thumb{width:110px}.nearby-grid .thumb img{height:100px}.nearby-grid .card-top>div{flex:1}.hours-box{padding:20px}.form-card .body{padding:22px}.split .card-top .thumb{width:110px}.page .navlinks{gap:12px}}@media(max-width:380px){.navlinks{gap:10px;font-size:12px}.brand{font-size:25px}.card-top{flex-direction:column-reverse}.thumb,.split .card-top .thumb{width:100%}.thumb img{height:160px}.nearby-grid .card-top{flex-direction:column-reverse}.nearby-grid .thumb{width:100%}.nearby-grid .thumb img{height:160px}}

/* Santa Clarita Suds artwork: show the entire banner at every screen width. */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.topbar{background:#3f1551;color:var(--paper);padding:6px 0;border-bottom:2px solid var(--yellow)}
.brand-emblem{display:block;flex:0 0 auto;width:176px;line-height:0}
.brand-emblem img{display:block;width:100%;height:auto;aspect-ratio:2/1;object-fit:contain}
.topbar .navlinks a{color:var(--paper)}
.topbar .navlinks .business-link{background:var(--yellow);color:var(--ink);border-color:var(--yellow)}
.hero.hero-banner{display:block;background:#3f1551;color:var(--paper);overflow:hidden}
.hero-banner-art{display:block;width:100%;max-width:1120px;height:auto;margin:0 auto;aspect-ratio:2/1;object-fit:contain}
.hero-banner-base{background:var(--blue);border-top:1px solid #ffffff40}
.hero-banner-base>.wrap{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:14px 0}
.hero-banner-base p{font-size:14px;font-weight:500}
.hero-banner-base a{font-size:14px;font-weight:700;text-decoration:none;white-space:nowrap}
.hero-banner-base a:hover{text-decoration:underline}
.footer-brand{font-size:clamp(56px,7vw,100px)}
@media(max-width:600px){.topbar{padding:8px 0}.topbar .nav{gap:12px}.brand-emblem{width:136px}.hero-banner-art{width:100%;max-width:none}.hero-banner-base>.wrap{gap:12px;align-items:center}.hero-banner-base p{font-size:13px;max-width:180px}.hero-banner-base a{font-size:13px}.topbar .navlinks{gap:14px}.topbar .navlinks a{font-size:13px}.hero-banner-base{border-top:0}}
@media(max-width:380px){.brand-emblem{width:112px}.topbar .navlinks{gap:10px}.topbar .navlinks a{font-size:12px}.hero-banner-base>.wrap{align-items:start}.hero-banner-base p{max-width:140px}}

/* Sign system: slab lettering, enamel colors, and reusable navigation symbols. */
@font-face{font-family:'Spooky Sign';src:url('./fonts/alfa-slab-one.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Spooky Emblem';src:url('./fonts/roboto-serif-variable.ttf') format('truetype');font-weight:100 900;font-stretch:50% 150%;font-style:normal;font-display:swap}
:root{--sign-font:'Spooky Sign',Rockwell,Georgia,serif;--sign-cream:#fff0c5;--sign-gold:#ff7c28;--sign-orange:#f45b32;--sign-navy:#30103d}
.hero-panorama{display:block;width:100%}
.hero-panorama .hero-banner-art{width:100%;max-width:none;height:auto;aspect-ratio:3/1;margin:0;object-fit:contain}
.topbar{padding:10px 0 14px;border-bottom:3px solid var(--sign-gold)}
.topbar .wrap.nav{width:94%;max-width:1800px;gap:32px}
.topbar .navlinks{display:flex;align-items:center;justify-content:flex-end;gap:18px}
.topbar .navlinks .nav-sign{display:flex;align-items:center;justify-content:center;gap:10px;min-height:64px;min-width:146px;padding:9px 17px;color:var(--sign-cream);background:#581e6f;border:2px solid var(--sign-gold);border-radius:15px 15px 9px 9px;box-shadow:inset 0 0 0 2px var(--sign-navy),inset 0 0 0 3px #fdf0c580,0 3px 0 var(--sign-orange),0 6px 0 var(--sign-navy);text-decoration:none;transition:transform .15s,background-color .15s}
.sign-type{display:flex;flex-direction:column;align-items:center;gap:3px;font-family:var(--sign-font);font-weight:400;text-transform:uppercase;line-height:1.1;letter-spacing:.4px;text-shadow:1px 2px 0 var(--sign-navy)}
.sign-prefix{font-size:11px;letter-spacing:1.2px;color:var(--sign-gold)}
.sign-word{font-size:20px}
.sign-icon{display:grid;place-items:center;width:33px;height:33px;flex:0 0 auto;border:1px solid var(--sign-gold);border-radius:50%;color:var(--sign-gold);background:var(--sign-navy)}
.sign-icon svg{width:23px;height:23px}
.topbar .navlinks .nav-sign-shop{background:#ff7c28;color:var(--sign-navy);border-color:var(--sign-cream)}
.nav-sign-shop .sign-type{text-shadow:0 1px 0 #fff8dc}
.nav-sign-shop .sign-prefix{color:var(--sign-navy)}
.topbar .navlinks .nav-sign:hover{background:#6e2d89;transform:translateY(-2px);text-decoration:none}
.topbar .navlinks .nav-sign-shop:hover{background:#ffab76}
.topbar .navlinks .nav-sign:focus-visible{outline:3px solid white;outline-offset:7px}
.topbar .navlinks .nav-sign[aria-current=page]{box-shadow:inset 0 0 0 2px var(--sign-navy),inset 0 0 0 4px var(--sign-cream),0 3px 0 var(--sign-orange),0 6px 0 var(--sign-navy)}
.btn-featured{font-family:var(--sign-font);font-weight:400;text-transform:uppercase;font-size:17px;color:var(--sign-navy);background:var(--sign-gold);border:2px solid var(--sign-navy);border-radius:12px 12px 6px 6px;box-shadow:inset 0 0 0 2px var(--sign-cream),0 4px 0 var(--sign-navy)}
@media(max-width:1100px){.topbar .wrap.nav{gap:20px}.topbar .brand-emblem{width:150px}.topbar .navlinks{gap:12px}.topbar .navlinks .nav-sign{min-width:0;padding:9px 12px;gap:7px}.sign-word{font-size:17px}.sign-icon{width:29px;height:29px}.sign-icon svg{width:21px;height:21px}}
@media(max-width:850px){.topbar .wrap.nav{flex-direction:column;gap:10px}.topbar .brand-emblem{width:136px}.topbar .navlinks{width:100%;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.topbar .navlinks .nav-sign{padding:8px 9px;min-height:58px}.sign-word{font-size:15px}.sign-prefix{font-size:10px}.sign-icon{width:25px;height:25px}.sign-icon svg{width:18px;height:18px}}
@media(max-width:700px){.hero-panorama .hero-banner-art{aspect-ratio:2/1}}
@media(max-width:600px){.topbar .navlinks{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px 12px}.topbar .wrap.nav{width:92%;gap:12px}.topbar .navlinks .nav-sign{min-height:58px;padding:8px 10px;gap:10px}.sign-word{font-size:17px}.sign-prefix{font-size:11px}.sign-icon{width:29px;height:29px}.topbar{padding:6px 0 18px}.topbar .brand-emblem{width:128px}}
@media(max-width:380px){.sign-word{font-size:15px}.topbar .navlinks .nav-sign{gap:7px;padding-inline:8px}.sign-icon{width:25px;height:25px}.sign-prefix{font-size:10px}}
@media(prefers-reduced-motion:reduce){.topbar .navlinks .nav-sign{transition:none}.topbar .navlinks .nav-sign:hover{transform:none}}
@media(max-width:380px){.topbar .navlinks .nav-sign{flex-direction:column;gap:5px;min-height:86px}.sign-type{gap:2px}.sign-word{font-size:15px}}

/* Illustrated sibling emblems, centered on the viewport rather than remaining space. */
.topbar{padding:5px 0 9px;background:#3f1551}
.topbar .wrap.nav{display:grid;grid-template-columns:minmax(0,1fr) max-content minmax(0,1fr);align-items:center;width:100%;max-width:none;margin:0;padding:0;gap:0}
.topbar .brand-emblem{grid-column:1;grid-row:1;justify-self:start;align-self:center;width:190px;margin:0}
.topbar .navlinks.nav-emblem-group{grid-column:2;grid-row:1;justify-self:center;display:flex;align-items:center;justify-content:center;width:auto;gap:12px;margin:0;padding:0}
.topbar .nav-emblem{display:block;position:relative;width:clamp(144px,12.5vw,190px);flex:0 0 auto;padding:0;border:0;background:transparent;border-radius:8px;text-decoration:none;line-height:0;transition:transform .18s ease,filter .18s ease}
.nav-emblem img{display:block;width:100%;height:auto;aspect-ratio:2/1;object-fit:contain}
.nav-emblem img[hidden]{display:none}
.nav-emblem .emblem-fallback{font-family:var(--sign-font);font-weight:400;line-height:1.2;text-align:center;text-transform:uppercase;padding:20px 8px;color:var(--sign-cream);border:2px solid var(--sign-gold);border-radius:10px}
.topbar .nav-emblem:hover{transform:translateY(-3px) rotate(-1deg);filter:brightness(1.1)}
.topbar .nav-emblem:nth-child(even):hover{transform:translateY(-3px) rotate(1deg)}
.topbar .nav-emblem:active{transform:translateY(1px)}
.topbar .nav-emblem:focus-visible{outline:3px solid var(--sign-cream);outline-offset:3px}
.topbar .brand-emblem:focus-visible{outline:3px solid var(--sign-cream);outline-offset:-3px}
.topbar .nav-emblem[aria-current=page]::after{content:'';position:absolute;left:25%;right:25%;bottom:-3px;height:3px;background:var(--sign-gold);border-radius:2px}
@media(max-width:1100px){.topbar .brand-emblem{width:158px}.topbar .nav-emblem{width:142px}.topbar .navlinks.nav-emblem-group{gap:10px}}
@media(max-width:940px){.topbar .wrap.nav{grid-template-columns:1fr;grid-template-rows:auto auto;row-gap:2px}.topbar .brand-emblem{grid-column:1;grid-row:1;justify-self:start;width:138px}.topbar .navlinks.nav-emblem-group{grid-column:1;grid-row:2;justify-self:center;gap:12px}.topbar .nav-emblem{width:clamp(132px,18vw,158px)}}
@media(max-width:600px){.topbar{padding:2px 0 12px}.topbar .brand-emblem{width:128px}.topbar .navlinks.nav-emblem-group{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:min(400px,96%);gap:8px 12px}.topbar .nav-emblem{width:100%;min-width:0}.topbar .wrap.nav{width:100%;gap:0}}
@media(prefers-reduced-motion:reduce){.topbar .nav-emblem{transition:none}.topbar .nav-emblem:hover,.topbar .nav-emblem:nth-child(even):hover{transform:none}}

/* Rectangular bubble-only navigation emblems. */
.topbar .navlinks.nav-emblem-group{gap:14px}
.topbar .nav-emblem{width:clamp(170px,13.5vw,210px);aspect-ratio:3/1;border-radius:8px}
.nav-emblem img{width:100%;height:auto;aspect-ratio:3/1;object-fit:contain}
@media(max-width:1100px){
  .topbar .nav-emblem{width:154px}
  .topbar .navlinks.nav-emblem-group{gap:10px}
}
@media(max-width:940px){
  .topbar .nav-emblem{width:clamp(144px,20vw,176px)}
}
@media(max-width:600px){
  .topbar .navlinks.nav-emblem-group{width:min(430px,96%);gap:9px 12px}
  .topbar .nav-emblem{width:100%}
}

/* Centered header without a separate Santa Clarita Suds mark. */
.topbar .nav{
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  max-width:none;
  margin:0;
  padding:8px 18px 10px;
}
.topbar .navlinks.nav-emblem-group{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:21px;
  width:auto;
}
.topbar .nav-emblem{width:clamp(206px,14.85vw,231px)}

/* Post-hero city filter signs share the rectangular enamel language. */
.city-banner{
  overflow:hidden;
  padding:17px 0 19px;
  background:var(--yellow);
  border-block:2px solid var(--ink);
}
.city-scroll{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:14px;
  width:100%;
  padding:0 18px 4px;
  overflow-x:auto;
  scrollbar-width:thin;
  scrollbar-color:var(--ink) transparent;
}
.city-sign{
  position:relative;
  flex:0 0 auto;
  min-width:132px;
  min-height:52px;
  padding:10px 18px 15px;
  overflow:hidden;
  border:2px solid var(--sign-gold);
  border-radius:9px;
  background:#581e6f;
  color:var(--sign-cream);
  box-shadow:inset 0 0 0 2px var(--sign-navy),0 3px 0 var(--sign-orange),0 5px 0 var(--sign-navy);
  font-family:var(--sign-font);
  font-size:15px;
  line-height:1;
  letter-spacing:.3px;
  text-transform:uppercase;
  text-shadow:1px 2px 0 var(--sign-navy);
  white-space:nowrap;
  transition:transform .15s ease,background-color .15s ease;
}
.city-sign::after{
  content:"○  ·  ○  ○";
  position:absolute;
  right:7px;
  bottom:1px;
  left:7px;
  color:#d79def;
  font-family:Arial,sans-serif;
  font-size:10px;
  font-weight:700;
  letter-spacing:4px;
  text-align:center;
  text-shadow:none;
  opacity:.95;
}
.city-sign:hover{transform:translateY(-2px);background:#6e2d89}
.city-sign.active,.city-sign[aria-pressed="true"]{
  background:var(--sign-orange);
  color:white;
  box-shadow:inset 0 0 0 2px var(--sign-navy),0 3px 0 var(--sign-cream),0 5px 0 var(--sign-navy);
}
.city-sign:focus-visible{outline:3px solid var(--ink);outline-offset:4px}

@media(max-width:1160px){
  .topbar .navlinks.nav-emblem-group{gap:15px}
  .topbar .nav-emblem{width:169px}
  .city-scroll{justify-content:flex-start}
}
@media(max-width:760px){
  .topbar .nav{padding-inline:12px}
  .topbar .navlinks.nav-emblem-group{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px 15px;
    width:min(530px,100%);
  }
  .topbar .nav-emblem{width:100%;min-width:0}
  .city-banner{padding-block:14px 16px}
  .city-scroll{padding-inline:14px}
  .city-sign{min-width:128px}
}
@media(prefers-reduced-motion:reduce){
  .city-sign{transition:none}
  .city-sign:hover{transform:none}
}

/* A single blue post-hero surface with raised, enamel city badges. */
.hero-banner-base.city-deck{
  background:linear-gradient(180deg,#842ba8 0%,#752595 62%,#561b6f 100%);
  border-top:1px solid #d08cec;
  border-bottom:2px solid #30103d;
  box-shadow:inset 0 1px 0 #ffffff26;
}
.city-deck .city-banner{padding:8px 0 10px;background:transparent;border:0;overflow:visible}
.city-deck .city-scroll{
  display:grid;
  grid-template-columns:repeat(7,minmax(0,1fr));
  gap:16px;
  width:94%;
  max-width:1500px;
  margin:auto;
  padding:6px 0 10px;
  overflow:visible;
}
.city-deck .city-sign{
  display:grid;
  place-items:center;
  width:100%;
  min-width:0;
  min-height:82px;
  padding:12px 18px 20px;
  border:0;
  border-radius:12px;
  background:#722392 url('./brand/region-button-face.webp') center/100% 100% no-repeat;
  color:#fff2cd;
  font-size:clamp(15px,1.2vw,20px);
  line-height:1.15;
  letter-spacing:.25px;
  white-space:normal;
  text-wrap:balance;
  text-shadow:0 1px 0 #fff8e0,0 2px 0 #321a3c,1px 3px 0 #30103d,2px 4px 0 #30103d,0 5px 5px #1f0929;
  box-shadow:0 4px 0 #3d114f,0 7px 0 #260c31,0 12px 15px #270a3380;
  overflow:visible;
  isolation:isolate;
  transform:translateY(0);
  transition:transform .16s ease,box-shadow .16s ease,filter .16s ease;
}
.city-deck .city-sign::after{content:none}
.city-deck .city-sign:hover{
  transform:translateY(-5px);
  filter:brightness(1.14);
  box-shadow:0 5px 0 #3d114f,0 9px 0 #260c31,0 17px 18px #270a3399;
}
.city-deck .city-sign.active,.city-deck .city-sign[aria-pressed='true']{
  color:#fff2ad;
  background:#722392 url('./brand/region-button-face.webp') center/100% 100% no-repeat;
  box-shadow:0 0 0 2px #e5bff4,0 4px 0 #3d114f,0 7px 0 #260c31,0 0 22px #cb7eea99;
}
.city-deck .city-sign[aria-pressed='true']::after{
  content:'✓';
  display:grid;
  place-items:center;
  position:absolute;
  top:-7px;right:10px;bottom:auto;left:auto;
  width:23px;height:23px;
  border:2px solid #421455;border-radius:50%;
  background:#ff8a40;color:#421455;
  font:900 15px/1 Arial,sans-serif;
  letter-spacing:0;text-shadow:none;opacity:1;
  box-shadow:0 2px 3px #22072d80;
}
.city-deck .city-sign:active{transform:translateY(3px);box-shadow:0 1px 0 #3d114f,0 3px 0 #260c31,0 5px 8px #270a3380}
.city-deck .city-sign:focus-visible{outline:3px solid white;outline-offset:6px}
@media(max-width:1160px){
  .city-deck .city-scroll{grid-template-columns:repeat(4,minmax(0,1fr));max-width:900px;gap:20px 16px}
  .city-deck .city-sign{min-height:80px;font-size:18px}
}
@media(max-width:600px){
  .city-deck .city-scroll{grid-template-columns:repeat(2,minmax(0,1fr));width:90%;gap:18px 14px}
  .city-deck .city-sign{min-height:76px;padding:12px 15px 20px;font-size:16px}
  .city-deck .city-sign:first-child{grid-column:1/-1;justify-self:center;width:calc(50% - 7px)}
  .city-deck .city-banner{padding:8px 0 10px}
}
@media(prefers-reduced-motion:reduce){
  .city-deck .city-sign{transition:none}
  .city-deck .city-sign:hover,.city-deck .city-sign:active{transform:none}
}

/* A clearly fictional sample, framed like the glossy neighborhood signs. */
.featured-preview{
  width:min(1610px,96%);
  margin-top:32px;
  border:3px solid #ff7c28;
  border-radius:18px;
  padding:7px;
  color:#fff2cd;
  background:linear-gradient(155deg,#fff0b0 0%,#ff7c28 22%,#ed6b22 52%,#ff9957 77%,#fff0b0 100%);
  box-shadow:0 3px 0 #b44c16,0 7px 0 #30103d,0 13px 20px #30103d2b;
}
.featured-preview-top{
  display:flex;align-items:center;justify-content:space-between;gap:16px;
  padding:8px 22px;
  border-radius:9px 9px 0 0;
  background:linear-gradient(180deg,#8a2faf,#57206e);
  border-top:2px solid #d598ee;
  border-bottom:1px solid #d598ee66;
  box-shadow:inset 0 1px 0 #ffffff55;
}
.featured-preview-top h2{
  font:400 clamp(20px,1.7vw,24px)/1.2 var(--sign-font);
  text-transform:uppercase;letter-spacing:.5px;
  text-shadow:0 2px 0 #30103d,1px 3px 0 #30103d;
}
.demo-label{font:700 12px/1.4 var(--body);letter-spacing:.7px;text-transform:uppercase;background:#fff0c5;color:#30103d;border-radius:4px;padding:7px 10px;text-align:center}
.featured-preview-body{
  display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:30px;align-items:center;
  padding:12px 22px 16px;border-radius:0 0 9px 9px;
  background:radial-gradient(ellipse at 8% 0%,#8231a3 0%,transparent 65%),linear-gradient(125deg,#592170,#361244);
  box-shadow:inset 0 -3px 0 #25093080;
}
.demo-wash{display:flex;align-items:center;gap:20px;min-width:0}
.demo-photo{
  position:relative;isolation:isolate;display:block;flex:0 0 210px;height:128px;margin:0;
  border:2px solid #dfb1f2;border-radius:13px;overflow:hidden;
  background:radial-gradient(ellipse at top,#9432bb,#692385 70%);
  box-shadow:inset 0 0 0 4px #541e6a,inset 0 0 22px #dfb1f280,0 5px 0 #280d34;
}
.demo-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 56%}
.demo-photo figcaption{position:absolute;bottom:0;left:0;padding:3px 7px;background:#30103de8;color:white;font:700 9px/1.3 var(--body);text-transform:uppercase;letter-spacing:.6px;border-radius:0 5px 0 0}
.demo-copy{min-width:0}
.demo-kicker{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:#e6c1f5;margin-bottom:9px}
.demo-copy h3{font:400 clamp(24px,2.1vw,33px)/1.15 var(--sign-font);text-shadow:0 2px 0 #30103d,2px 4px 0 #30103d;overflow-wrap:break-word}
.demo-tagline{font-size:16px;margin:10px 0;color:#fff2cd}
.demo-services{font-size:12px;line-height:1.6;color:#efd7f8}
.featured-pitch{border-left:1px solid #d598ee66;padding-left:30px;min-width:0}
.featured-pitch h3{font:700 23px/1.15 var(--display);text-transform:uppercase;letter-spacing:.4px;color:#ffa56c}
.featured-pitch p{font-size:14px;line-height:1.45;margin:7px 0 12px;color:#f6e8fb;max-width:42ch}
.featured-contact{display:inline-flex;align-items:center;justify-content:center;gap:20px;padding:12px 20px;border:2px solid #fff0c5;border-radius:8px;background:linear-gradient(#fff0a6,#ff7c28 55%,#f27220);color:#30103d;font:400 16px/1.3 var(--sign-font);text-transform:uppercase;text-decoration:none;box-shadow:0 3px 0 #c2641c,0 6px 0 #260c31;transition:transform .15s ease,filter .15s ease}
.featured-contact:hover{filter:brightness(1.1);transform:translateY(-2px)}
.featured-contact:active{transform:translateY(2px)}
.featured-contact:focus-visible{outline:3px solid white;outline-offset:5px}
.featured-preview+.directory{padding-top:40px}
@media(max-width:1000px){
  .featured-preview-body{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:22px}
  .demo-wash{gap:18px}
  .demo-photo{flex-basis:160px;height:120px}
  .featured-pitch{padding-left:22px}
}
@media(max-width:760px){
  .featured-preview{width:96%;margin-top:24px;padding:5px}
  .featured-preview-top{padding:10px 14px;flex-direction:column;align-items:flex-start;gap:7px}
  .demo-label{font-size:10px}
  .featured-preview-body{grid-template-columns:1fr;padding:16px 14px;gap:16px}
  .featured-pitch{border-left:0;border-top:1px solid #d598ee66;padding:14px 0 0}
  .demo-photo{flex-basis:36%;height:130px}
  .demo-copy h3{font-size:clamp(23px,5vw,32px)}
  .demo-tagline{font-size:14px}
  .featured-pitch p{max-width:none}
  .featured-contact{width:100%}
}
@media(max-width:400px){.demo-wash{gap:12px}.demo-photo{flex-basis:34%;height:150px}.demo-kicker{font-size:10px}.demo-copy h3{font-size:21px}}
@media(prefers-reduced-motion:reduce){.featured-contact{transition:none}.featured-contact:hover,.featured-contact:active{transform:none}}

/* The navigation repeats the city strip's enamel artwork and live lettering. */
.topbar{
  padding:8px 0 12px;
  background:linear-gradient(180deg,#842ba8 0%,#752595 62%,#561b6f 100%);
  border-top:1px solid #d08cec;border-bottom:2px solid #30103d;
  box-shadow:inset 0 1px 0 #ffffff26;
}
.topbar .nav-emblem{
  display:grid;place-items:center;min-height:82px;aspect-ratio:auto;
  padding:12px 18px 20px;border:0;border-radius:12px;
  background:#722392 url('./brand/region-button-face.webp') center/100% 100% no-repeat;
  color:#fff2cd;font:400 20px/1.15 var(--sign-font);letter-spacing:.25px;text-transform:uppercase;text-align:center;
  text-shadow:0 1px 0 #fff8e0,0 2px 0 #321a3c,1px 3px 0 #30103d,2px 4px 0 #30103d,0 5px 5px #1f0929;
  box-shadow:0 4px 0 #3d114f,0 7px 0 #260c31,0 12px 15px #270a3380;
  transition:transform .16s ease,box-shadow .16s ease,filter .16s ease;
}
.topbar .nav-emblem:hover,.topbar .nav-emblem:nth-child(even):hover{transform:translateY(-5px);filter:brightness(1.14);box-shadow:0 5px 0 #3d114f,0 9px 0 #260c31,0 17px 18px #270a3399}
.topbar .nav-emblem:active{transform:translateY(3px);box-shadow:0 1px 0 #3d114f,0 3px 0 #260c31}
.topbar .nav-emblem[aria-current=page]{box-shadow:0 0 0 2px #e5bff4,0 4px 0 #3d114f,0 7px 0 #260c31,0 0 22px #cb7eea99}
.topbar .nav-emblem[aria-current=page]::after{content:'✓';display:grid;place-items:center;position:absolute;top:-7px;right:10px;bottom:auto;left:auto;width:23px;height:23px;border:2px solid #421455;border-radius:50%;background:#ff8a40;color:#421455;font:900 15px/1 Arial,sans-serif;letter-spacing:0;text-shadow:none}
.topbar .nav-emblem:focus-visible{outline:3px solid white;outline-offset:6px}
@media(max-width:1160px){.topbar .nav-emblem{font-size:18px;min-height:80px}}
@media(max-width:760px){.topbar .nav-emblem{font-size:16px;min-height:76px}.topbar .navlinks.nav-emblem-group{gap:18px 15px}}
@media(prefers-reduced-motion:reduce){.topbar .nav-emblem{transition:none}.topbar .nav-emblem:hover,.topbar .nav-emblem:nth-child(even):hover,.topbar .nav-emblem:active{transform:none}}

/* Heavy, flared serif capitals echo the custom lettering in the hero emblem. */
.topbar .nav-emblem,.city-deck .city-sign{
  font-family:'Spooky Emblem',Georgia,serif;
  font-weight:900;
  font-stretch:75%;
  font-optical-sizing:none;
  font-variation-settings:'wdth' 75,'opsz' 144,'wght' 900,'GRAD' 50;
  font-size:clamp(19px,1.55vw,25px);
  line-height:1.06;
  letter-spacing:.4px;
  color:#fff0cf;
  -webkit-text-stroke:.35px #fff5df;
  paint-order:stroke fill;
  text-shadow:0 1px 0 #dca24b,1px 2px 0 #591674,2px 3px 0 #250c30,3px 4px 0 #250c30,0 5px 5px #1f092999;
}
.topbar .nav-emblem{font-size:25px}
@media(max-width:1160px){.topbar .nav-emblem{font-size:22px}.city-deck .city-sign{font-size:22px}}
@media(max-width:600px){.topbar .nav-emblem,.city-deck .city-sign{font-size:20px;letter-spacing:.2px}}

/* Premium placement: sculpted title, sudsy corner cars, and a bubble-trimmed frame. */
.featured-preview{
  position:relative;isolation:isolate;margin-top:42px;
  box-shadow:0 0 0 2px #fff2ba,0 4px 0 #c66621,0 9px 0 #2f0f3c,0 15px 28px #581e6f40,0 0 26px #ca7cea40;
}
.featured-preview-top{
  justify-content:center;min-height:74px;padding:10px 175px 14px;
  background:radial-gradient(ellipse at 50% 0%,#912fb9,transparent 65%),linear-gradient(#6e238c,#351144);
  border-bottom:2px solid #ff924d;
}
.featured-preview-top h2{
  position:relative;font-family:'Spooky Emblem',Georgia,serif;font-weight:900;
  font-stretch:85%;font-optical-sizing:none;font-variation-settings:'wdth' 85,'opsz' 144,'wght' 900,'GRAD' 50;
  font-size:clamp(30px,3vw,46px);line-height:1.02;letter-spacing:1.2px;text-align:center;
  color:#fff0c5;-webkit-text-stroke:.65px #fff9e9;paint-order:stroke fill;
  text-shadow:0 1px 0 #ff924c,0 2px 0 #da8427,1px 3px 0 #581872,2px 4px 0 #270c31,3px 5px 0 #270c31,0 7px 10px #17051f;
}
.featured-preview-top h2::before,.featured-preview-top h2::after{content:'✦';position:absolute;top:8px;color:#fff9d6;font:26px/1 Georgia,serif;-webkit-text-stroke:0;text-shadow:0 0 12px #d79def}
.featured-preview-top h2::before{left:-37px}.featured-preview-top h2::after{right:-37px}
.featured-preview-body{padding-top:18px;padding-bottom:23px}
.featured-corner{position:absolute;z-index:3;top:-28px;width:180px;height:120px;object-fit:contain;pointer-events:none;filter:drop-shadow(0 5px 3px #1f092888)}
.featured-corner-left{left:0}.featured-corner-right{right:0;transform:scaleX(-1)}
.demo-copy .demo-label{display:inline-block;text-align:left;font-size:9px;padding:5px 7px;margin-bottom:10px}
.demo-photo{border-color:#ffa870;box-shadow:0 0 0 2px #331141,0 4px 0 #260c31,0 0 18px #d393ee33}
.featured-pitch{padding-left:27px}
.featured-benefits{list-style:none;margin:0;padding:0;display:grid;gap:11px}
.featured-benefits li{position:relative;padding-left:26px;font-size:16px;line-height:1.4;font-weight:700;color:#fff2cf}
.featured-benefits li::before{content:'';position:absolute;left:0;top:4px;width:13px;height:13px;border:1px solid #f0daf9;border-radius:50%;background:radial-gradient(circle at 28% 25%,white 0 10%,#e6c1f566 18% 47%,#872faa 70%,#f9f1fd 100%);box-shadow:inset 1px 1px 3px #ffffff99,0 0 5px #ce86eb88}
.featured-benefits .featured-contact{font-family:'Spooky Emblem',Georgia,serif;font-weight:900;font-variation-settings:'wdth' 85,'opsz' 60,'wght' 900,'GRAD' 30;font-size:16px;padding:9px 14px;gap:15px;text-transform:none}
.featured-benefits li:last-child::before{top:15px}
.featured-foam{position:absolute;inset:0;z-index:2;pointer-events:none}
.featured-foam i{position:absolute;width:var(--size,22px);height:var(--size,22px);border:1px solid #f1ddf9;border-radius:50%;background:radial-gradient(circle at 28% 22%,#fff 0 7%,#f5e6fbbb 10%,#d18eed35 32% 53%,#c47ce1aa 76%,#f9f0fd 100%);box-shadow:inset 2px 2px 5px #ffffffaa,0 2px 5px #300a3f88}
.featured-foam i:nth-child(1){left:2%;top:3px;--size:24px}.featured-foam i:nth-child(2){left:16%;top:-9px;--size:25px}.featured-foam i:nth-child(3){left:19%;top:1px;--size:13px}.featured-foam i:nth-child(4){left:25%;top:-5px;--size:17px}.featured-foam i:nth-child(5){left:35%;top:-7px;--size:16px}.featured-foam i:nth-child(6){left:57%;top:-6px;--size:14px}.featured-foam i:nth-child(7){right:29%;top:-9px;--size:20px}.featured-foam i:nth-child(8){right:22%;top:0;--size:12px}.featured-foam i:nth-child(9){right:17%;top:-10px;--size:27px}.featured-foam i:nth-child(10){right:3px;top:32%;--size:17px}.featured-foam i:nth-child(11){right:-4px;top:62%;--size:20px}.featured-foam i:nth-child(12){right:2%;bottom:-8px;--size:31px}.featured-foam i:nth-child(13){right:4%;bottom:1px;--size:17px}.featured-foam i:nth-child(14){right:13%;bottom:-7px;--size:23px}.featured-foam i:nth-child(15){right:26%;bottom:-5px;--size:16px}.featured-foam i:nth-child(16){right:35%;bottom:-8px;--size:22px}.featured-foam i:nth-child(17){left:49%;bottom:-5px;--size:15px}.featured-foam i:nth-child(18){left:37%;bottom:-9px;--size:25px}.featured-foam i:nth-child(19){left:26%;bottom:-4px;--size:15px}.featured-foam i:nth-child(20){left:17%;bottom:-8px;--size:24px}.featured-foam i:nth-child(21){left:4%;bottom:-9px;--size:33px}.featured-foam i:nth-child(22){left:2%;bottom:2px;--size:18px}.featured-foam i:nth-child(23){left:-4px;top:60%;--size:22px}.featured-foam i:nth-child(24){left:2px;top:34%;--size:15px}
.directory .finder-heading{justify-content:center;margin-bottom:25px}
.directory .finder-heading h2{font-family:'Spooky Emblem',Georgia,serif;font-weight:900;font-stretch:80%;font-optical-sizing:none;font-variation-settings:'wdth' 80,'opsz' 144,'wght' 900,'GRAD' 50;font-size:clamp(30px,4vw,56px);line-height:1.08;letter-spacing:.8px;text-align:center;color:#471b5a;text-shadow:0 1px 0 #fff8e0,1px 2px 0 #c788e1,2px 3px 0 #d47f48;text-transform:uppercase}
@media(max-width:1000px){
  .featured-preview-top{padding-inline:145px}
  .featured-corner{width:150px;height:100px;top:-18px}
  .featured-preview-top h2{font-size:32px;letter-spacing:.6px}
  .featured-benefits li{font-size:14px}
  .featured-benefits .featured-contact{font-size:15px;gap:8px}
}
@media(max-width:760px){
  .featured-preview{margin-top:34px}
  .featured-preview-top{padding:12px 96px;min-height:80px;align-items:center}
  .featured-preview-top h2{font-size:29px}
  .featured-preview-top h2::before,.featured-preview-top h2::after{display:none}
  .featured-corner{width:112px;height:75px;top:-9px}
  .featured-corner-left{left:-2px}.featured-corner-right{right:-2px}
  .featured-preview-body{padding:15px 18px 22px}
  .featured-pitch{padding:16px 0 0}
  .featured-benefits li{font-size:16px}
  .featured-benefits .featured-contact{font-size:16px}
  .featured-foam i:nth-child(3n){display:none}
}
@media(max-width:400px){.featured-preview-top{padding-inline:78px}.featured-preview-top h2{font-size:26px}.featured-corner{width:92px;height:64px;top:-5px}.featured-benefits .featured-contact{font-size:15px;padding-inline:10px}}

/* A wide drive-through building fills the middle of the premium placement. */
.featured-preview-body{grid-template-columns:minmax(0,1.2fr) minmax(260px,1.15fr) minmax(290px,1fr);gap:18px}
.featured-wash-scene{position:relative;display:grid;place-items:center;min-width:0;pointer-events:none}
.featured-wash-scene img{position:relative;display:block;width:100%;max-width:none;height:auto;max-height:230px;aspect-ratio:2/1;object-fit:contain;border-radius:10px;filter:drop-shadow(0 5px 8px #1e082866)}
.featured-preview-body .demo-photo{flex-basis:140px;height:128px}
.featured-preview-body .demo-wash{gap:16px}
.featured-preview-body .demo-copy h3{font-size:clamp(25px,1.9vw,31px)}
.featured-preview-body .featured-pitch{padding-left:18px}
@media(max-width:1100px){
  .featured-preview-body{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:18px}
  .featured-wash-scene img{max-height:210px}
  .featured-preview-body .featured-pitch{grid-column:1/-1;border-left:0;border-top:1px solid #d598ee66;padding:16px 0 0}
  .featured-preview-body .demo-wash{flex-direction:column;align-items:flex-start;gap:12px}
  .featured-preview-body .demo-photo{flex-basis:auto;width:140px;height:84px}
}
@media(max-width:700px){
  .featured-preview-body{grid-template-columns:minmax(0,1fr);gap:12px}
  .featured-preview-body .demo-wash{flex-direction:row;align-items:center;gap:14px}
  .featured-preview-body .demo-photo{width:34%;flex:0 0 34%;height:130px}
  .featured-preview-body .demo-copy h3{font-size:24px}
  .featured-wash-scene{width:100%;max-width:520px;justify-self:center}
  .featured-wash-scene img{max-height:none}
}

/* A matching roadside-sign footer closes the page in the hero's brand language. */
.site-footer{
  position:relative;isolation:isolate;overflow:hidden;
  padding:42px 0 0;color:#fff0cf;
  background:radial-gradient(ellipse at 12% 0%,#892daf 0%,transparent 53%),linear-gradient(180deg,#742595 0%,#511968 48%,#2f0f3d 100%);
  border-top:5px solid #ff7c28;
  box-shadow:inset 0 3px 0 #fff2b6,inset 0 6px 0 #ee6a2f;
}
.site-footer::before{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 80% 25%,#a323d735,transparent 45%)}
.site-footer .footer-content{position:relative;z-index:1;width:min(1500px,94%)}
.site-footer .footer-top{display:grid;grid-template-columns:minmax(240px,.9fr) minmax(270px,1.1fr) minmax(340px,1.05fr);gap:32px;align-items:center;padding-bottom:30px}
.site-footer .footer-brand{display:block;width:100%;max-width:350px;margin:0;line-height:0;letter-spacing:normal;border-radius:14px;text-decoration:none;filter:drop-shadow(0 7px 8px #270a3288)}
.site-footer .footer-brand img{display:block;width:100%;height:auto;aspect-ratio:2/1;object-fit:contain;mask-image:radial-gradient(ellipse 64% 65% at center,#000 65%,transparent 100%)}
.footer-kicker{font:700 11px/1.4 var(--body);letter-spacing:2.2px;text-transform:uppercase;color:#e3b9f4;margin-bottom:13px}
.footer-headline{font-family:'Spooky Emblem',Georgia,serif;font-weight:900;font-stretch:75%;font-optical-sizing:none;font-variation-settings:'wdth' 75,'opsz' 144,'wght' 900,'GRAD' 50;font-size:clamp(27px,2.8vw,43px);line-height:1.08;letter-spacing:.3px;color:#fff0cf;text-shadow:0 1px 0 #db7a3c,1px 2px 0 #591674,2px 3px 0 #250c30,3px 4px 0 #250c30}
.site-footer .tag{font-size:14px;line-height:1.5;max-width:none;margin-top:14px;color:#f1ddfa}
.site-footer .foot-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 16px;align-content:center;margin:0;padding:6px 0 12px}
.site-footer .foot-nav a{
  display:grid;place-items:center;min-height:78px;min-width:0;padding:12px 17px 20px;
  border:0;border-radius:12px;background:#722392 url('./brand/region-button-face.webp') center/100% 100% no-repeat;
  font-family:'Spooky Emblem',Georgia,serif;font-weight:900;font-stretch:75%;font-optical-sizing:none;font-variation-settings:'wdth' 75,'opsz' 144,'wght' 900,'GRAD' 50;
  font-size:22px;line-height:1.06;letter-spacing:.4px;text-transform:uppercase;text-align:center;text-decoration:none;color:#fff0cf;
  -webkit-text-stroke:.35px #fff5df;paint-order:stroke fill;
  text-shadow:0 1px 0 #dca24b,1px 2px 0 #591674,2px 3px 0 #250c30,3px 4px 0 #250c30,0 5px 5px #1f092999;
  box-shadow:0 4px 0 #3d114f,0 7px 0 #260c31,0 12px 15px #270a3380;
  transition:transform .16s ease,box-shadow .16s ease,filter .16s ease;
}
.site-footer .foot-nav a:hover{transform:translateY(-4px);filter:brightness(1.14);box-shadow:0 5px 0 #3d114f,0 9px 0 #260c31,0 17px 18px #270a3399}
.site-footer .foot-nav a:active{transform:translateY(3px);box-shadow:0 1px 0 #3d114f,0 3px 0 #260c31}
.site-footer a:focus-visible{outline:3px solid #fff3c5;outline-offset:6px}
.footer-valley{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:12px 26px;padding:19px 0;border-block:1px solid #d69aee55;box-shadow:0 -1px 0 #250c3044;background:linear-gradient(90deg,transparent,#7c389926,transparent)}
.footer-valley span{display:inline-flex;align-items:center;gap:26px;font:700 11px/1.4 var(--body);letter-spacing:1.2px;text-transform:uppercase;color:#ffe19a}
.footer-valley span::before{content:'✦';color:#d79def;font-size:15px;line-height:1}
.site-footer .foot-copy{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:18px;margin:0;padding:19px 0 22px;border:0;font-size:12px;line-height:1.5;color:#dec7e8}
.foot-copy a{display:inline-flex;align-items:center;gap:12px;padding:6px 0;color:#fff0cf;font-weight:700;text-decoration:none;white-space:nowrap}
.foot-copy a:hover{text-decoration:underline}
.foot-copy a span{font-size:20px;color:#ffa064}
.footer-foam{position:absolute;inset:0;z-index:0;pointer-events:none}
.footer-foam i{position:absolute;width:var(--size,25px);height:var(--size,25px);border:1px solid #eacbf699;border-radius:50%;background:radial-gradient(circle at 28% 22%,#fff 0 5%,#f1dcf966 10%,#d18eed10 32% 53%,#c47ce155 76%,#f3e1fabb 100%);box-shadow:inset 2px 2px 6px #ffffff44,0 2px 6px #300a3f44;opacity:.8}
.footer-foam i:nth-child(1){left:1%;top:17px;--size:58px}.footer-foam i:nth-child(2){left:5%;top:8px;--size:24px}.footer-foam i:nth-child(3){left:28%;top:13px;--size:16px}.footer-foam i:nth-child(4){left:45%;top:-12px;--size:34px}.footer-foam i:nth-child(5){right:22%;top:18px;--size:18px}.footer-foam i:nth-child(6){right:2%;top:12px;--size:50px}.footer-foam i:nth-child(7){right:6%;top:4px;--size:22px}.footer-foam i:nth-child(8){left:-15px;top:48%;--size:52px}.footer-foam i:nth-child(9){right:-12px;top:54%;--size:42px}.footer-foam i:nth-child(10){left:3%;bottom:-20px;--size:52px}.footer-foam i:nth-child(11){right:12%;bottom:-14px;--size:38px}.footer-foam i:nth-child(12){left:40%;bottom:-5px;--size:22px}
@media(max-width:1100px){
  .site-footer .footer-top{grid-template-columns:240px minmax(0,1fr);gap:24px 36px}
  .site-footer .footer-brand{max-width:260px}
  .site-footer .foot-nav{grid-column:1/-1;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
  .footer-headline{font-size:37px}
  .footer-valley{gap:12px 20px}
  .footer-valley span{gap:20px}
}
@media(max-width:650px){
  .site-footer{padding-top:28px}
  .site-footer .footer-content{width:90%}
  .site-footer .footer-top{grid-template-columns:minmax(0,1fr);gap:19px;text-align:center;padding-bottom:24px}
  .site-footer .footer-brand{width:270px;max-width:85%;justify-self:center}
  .footer-kicker{margin-bottom:9px;font-size:10px}
  .footer-headline{font-size:34px}
  .site-footer .tag{margin-top:11px}
  .site-footer .foot-nav{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 14px;padding-top:9px}
  .site-footer .foot-nav a{font-size:20px;min-height:76px}
  .footer-valley{gap:11px 17px;padding:16px 0}
  .footer-valley span{gap:7px;font-size:10px;letter-spacing:.6px}
  .site-footer .foot-copy{flex-direction:column;gap:7px;padding:18px 0;text-align:center;font-size:11px}
  .footer-foam i:nth-child(3n){display:none}
}
@media(prefers-reduced-motion:reduce){.site-footer .foot-nav a{transition:none}.site-footer .foot-nav a:hover,.site-footer .foot-nav a:active{transform:none}}

/* A left-edge emblem and dedicated footer destinations. */
.site-footer .footer-content{width:100%;max-width:none}
.site-footer .footer-top{grid-template-columns:330px minmax(0,1fr);gap:44px;padding:0 5% 28px 152px}
.site-footer .footer-brand{width:330px;max-width:100%;justify-self:start;border-radius:0;filter:drop-shadow(0 5px 6px #270a3266)}
.site-footer .footer-brand img{width:122%;max-width:none;margin-left:-10%;mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%201774%20887%22%3E%0A%20%20%3Cpath%20fill%3D%22white%22%20d%3D%22M888%2051%20C1138%2051%201376%20123%201547%20226%20Q1565%20236%201559%20258%20L1546%20289%20Q1544%20297%201556%20304%20C1604%20328%201624%20372%201585%20402%20Q1566%20421%201539%20426%20Q1511%20433%201525%20455%20C1562%20502%201588%20584%201560%20664%20L1545%20702%20Q1582%20710%201577%20737%20L1569%20756%20Q1585%20776%201574%20802%20Q1567%20825%201539%20828%20L245%20828%20Q214%20825%20207%20802%20Q200%20781%20219%20756%20Q208%20732%20222%20716%20L242%20702%20C203%20650%20190%20583%20206%20529%20Q222%20482%20248%20451%20Q263%20433%20239%20425%20C206%20417%20179%20401%20176%20372%20Q166%20332%20228%20303%20Q240%20297%20233%20282%20L220%20251%20Q215%20237%20228%20230%20C410%20114%20639%2051%20888%2051%20Z%22%2F%3E%0A%3C%2Fsvg%3E%0A");mask-size:100% 100%;mask-repeat:no-repeat;mask-position:center}
.site-footer .foot-nav{grid-column:auto;grid-template-columns:repeat(3,minmax(0,1fr));width:100%;max-width:840px;justify-self:center;gap:18px;margin:0}
.site-footer .foot-nav a{font-size:21px;min-height:82px;padding-inline:15px;text-wrap:balance}
.site-footer .foot-copy,.site-footer .footer-valley{width:94%;max-width:1500px;margin-inline:auto}
@media(max-width:1200px){.site-footer .footer-top{grid-template-columns:260px minmax(0,1fr);gap:32px;padding-left:64px;padding-right:32px}.site-footer .footer-brand{width:260px}.site-footer .foot-nav{grid-template-columns:repeat(2,minmax(0,1fr));max-width:600px}}
@media(max-width:700px){.site-footer .footer-top{grid-template-columns:minmax(0,1fr);gap:12px;padding:0 0 25px}.site-footer .footer-brand{width:270px;max-width:80%;margin-left:0;justify-self:center}.site-footer .foot-nav{grid-column:1;justify-self:center;width:90%;max-width:520px;gap:18px 14px}.site-footer .foot-nav a{font-size:20px;min-height:80px}.site-footer .foot-copy,.site-footer .footer-valley{width:90%}}

.policy-page .policy-wrap{width:min(860px,90%);margin-inline:auto}
.policy-page h1{font-family:'Spooky Emblem',Georgia,serif;font-weight:900;font-variation-settings:'wdth' 75,'opsz' 100,'wght' 900;font-size:clamp(42px,6vw,72px);line-height:1.05;color:#471b5a;margin:12px 0 24px}
.policy-page .policy-intro{font-size:19px;line-height:1.6;margin-bottom:28px}
.policy-page section{padding:22px 0;border-top:1px solid #d9ccde}
.policy-page section h2{font-size:29px;margin-bottom:12px}
.policy-page section p,.policy-page section li{font-size:16px;line-height:1.7}
.policy-page section p+p{margin-top:12px}
.policy-page section ul{padding-left:22px}
.policy-page a{color:#842ba8;text-underline-offset:3px}
.policy-page .policy-date{font-size:13px;color:#553d5e;margin-bottom:24px}

/* Hero-cream page surface, star corners, and a compact single-row footer. */
:root{--paper:#f7e8cd}
body{background-color:var(--paper);background-image:url('./brand/spooky-speckles.svg'),url('./brand/parchment-texture.svg');background-size:900px 1000px,480px 480px;background-repeat:repeat}
.directory.wrap{width:min(1610px,96%)}

/* Two framed listings per row, with the full-width map after the results. */
.directory .split{display:flex;flex-direction:column;gap:34px;align-items:stretch}
.directory #cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;align-items:stretch}
.directory #cards .card{
  min-width:0;padding:6px;border:3px solid #ff8f48;border-radius:17px;
  background:linear-gradient(145deg,#fff0b4,#ff8232 30%,#e77b24 60%,#ffb88b);
  color:#fff0cf;box-shadow:0 3px 0 #b95f1b,0 7px 0 #341241,0 12px 20px #39174822;
}
.directory #cards .card-body{
  display:flex;flex-direction:column;height:100%;padding:10px 20px 12px;border-radius:9px;
  background:radial-gradient(ellipse at 5% 0%,#8331a4 0%,transparent 65%),linear-gradient(135deg,#56216c,#361244);
  box-shadow:inset 0 1px 0 #daa4f099,inset 0 -2px 0 #1f0a2899;
}
.directory #cards .card::after{content:'';position:absolute;right:8px;bottom:4px;width:23px;height:23px;border:1px solid #ecd1f7;border-radius:50%;background:radial-gradient(circle at 28% 22%,white 0 7%,#e1b4f355 15% 48%,#943eb799 73%,#f5e5fb 100%);box-shadow:-23px 5px 0 -5px #e1b5f3aa,-38px 3px 0 -8px #faf3fdcc;pointer-events:none}
.directory #cards .card.selected{padding:6px;border-color:#e5bff4;box-shadow:0 0 0 3px #662381,0 7px 0 #341241,0 0 25px #c674e866}
.directory #cards .card-top{display:flex;flex-direction:row;gap:18px;align-items:flex-start;margin-bottom:3px}
.directory #cards .card-top>div{flex:1;min-width:0}
.directory #cards .hood{display:flex;align-items:center;gap:9px;margin-bottom:6px;font-size:12px;line-height:1.3;font-weight:700;letter-spacing:.7px;color:#ecd1f7}
.directory #cards .card-number{flex-shrink:0;width:30px;height:30px;min-width:30px;margin:0;border:1px solid #fff4c9;border-radius:50%;background:linear-gradient(#ffeaa0,#ff8436);color:#341241;box-shadow:0 3px 0 #2a0d36;font-size:15px;letter-spacing:0}
.directory #cards h3{font-family:'Spooky Emblem',Georgia,serif;font-weight:900;font-variation-settings:'wdth' 85,'opsz' 100,'wght' 900,'GRAD' 30;font-size:clamp(25px,2.2vw,33px);line-height:1.13;color:#fff0cf;text-shadow:0 2px 0 #2b0d38,1px 3px 0 #2b0d38}
.directory #cards h3 a:hover{text-decoration:underline;text-decoration-color:#ffa46a;text-decoration-thickness:2px}
.directory #cards .thumb{width:150px;flex:0 0 150px;border:2px solid #ffa369;border-radius:9px;box-shadow:0 4px 0 #2a0d36;overflow:hidden}
.directory #cards .thumb img{display:block;width:100%;height:94px;object-fit:cover}
.directory #cards .stars{margin:5px 0 6px;gap:8px;color:#fff0cf}
.directory #cards .star-row{color:#ff9a59;font-size:19px;letter-spacing:1px}
.directory #cards .rating-num{font-size:17px}
.directory #cards .rating-count{font-size:13px;color:#f0daf9}
.directory #cards .addr,.directory #cards .phone-row{font-size:16px;line-height:1.5;margin:4px 0}
.directory #cards .phone-row a{color:#fff0cf;text-decoration-color:#d399eb}
.directory #cards .hours-pill{align-self:flex-start;font-size:13px;border-radius:4px;padding:4px 8px;margin:4px 0}
.hours-pill.open,.directory #cards .hours-pill.open{background:#16803c;color:#fff;border:1px solid #80eca0;font-weight:700}
.hours-pill.closed,.directory #cards .hours-pill.closed{background:#b92e35;color:#fff;border:1px solid #ffb2ae;font-weight:700}
.directory #cards .svc{margin:8px 0 10px;gap:6px}
.directory #cards .svc span{font-size:13px;line-height:1.25;padding:5px 9px;border:1px solid #d3ade3;border-radius:5px;background:#f5e5fb;color:#471b5a}
.directory #cards .svc .svc-Hand,.directory #cards .svc .svc-Full{background:#fff0cf;border-color:#e7ab85}
.directory #cards .actions{margin-top:auto;padding-top:9px;border-top:1px solid #d79bef55;gap:9px;align-items:center}
.directory #cards .actions a,.directory #cards .actions button{display:inline-flex;align-items:center;justify-content:center;min-height:43px;margin:0;padding:10px 13px;font-size:14px;line-height:1.2;font-weight:700;border:1px solid #e0b3f3;border-radius:6px;background:#592270;color:#fff0cf;text-decoration:none;box-shadow:0 3px 0 #270c31}
.directory #cards .actions .btn-dir{background:linear-gradient(#ffe99f,#ff8a40);border-color:#fff4c5;color:#341241}
.directory #cards .actions a:hover,.directory #cards .actions button:hover{filter:brightness(1.14);transform:translateY(-1px)}
.directory #cards a:focus-visible,.directory #cards button:focus-visible{outline:3px solid #fff7dc;outline-offset:4px}
.directory #cards .empty{grid-column:1/-1;padding:30px;border:2px solid #451c56;border-radius:12px;background:#fff4df}
.directory .split>.map-wrap{position:static;grid-row:auto;order:2;top:auto;width:100%;border:3px solid #ff8f47;border-radius:13px;box-shadow:0 5px 0 #341241;overflow:hidden}
.directory .map-title{padding:17px 20px;background:linear-gradient(#6e2e89,#451956);color:#fff0cf;font:900 22px/1.2 'Spooky Emblem',Georgia,serif;letter-spacing:.4px}
.directory .map-wrap #dir-map{height:460px;min-height:340px;width:100%}
.directory .map-foot{background:#fff0cf;border-top:1px solid #d6966d;color:#451c56;font-size:14px}
@media(max-width:1050px){.directory #cards{gap:22px}.directory #cards .card-body{padding:10px 16px 12px}.directory #cards .card-top{gap:13px}.directory #cards .thumb{width:115px;flex-basis:115px}.directory #cards .thumb img{height:88px}.directory #cards h3{font-size:27px}}
@media(max-width:700px){.directory #cards{grid-template-columns:minmax(0,1fr);gap:23px}.directory #cards .thumb{width:120px;flex-basis:120px}.directory .map-wrap #dir-map{height:340px;min-height:300px}.directory .map-title{font-size:20px}.directory .split{gap:28px}}
@media(max-width:390px){.directory #cards .card-top{flex-direction:column-reverse;gap:10px}.directory #cards .thumb{width:100%;flex-basis:auto}.directory #cards .thumb img{height:115px}.directory #cards h3{font-size:28px}}
@media(prefers-reduced-motion:reduce){.directory #cards .actions a:hover,.directory #cards .actions button:hover{transform:none}}

/* Content-sized listings: use the photo's side space and remove stretched gaps. */
.card-meta{display:contents}
/* Finder controls share the directory's enamel, cream lettering and gold trim. */
.directory .filters{padding:6px;border:3px solid #ff8f48;border-radius:17px;background:linear-gradient(145deg,#fff0b4,#ff8232 30%,#e77b24 60%,#ffb88b);box-shadow:0 3px 0 #b95f1b,0 7px 0 #341241,0 12px 20px #39174822;color:#fff0cf}
.directory .search-row{gap:18px;align-items:center;padding:17px 20px;background:linear-gradient(#763193,#521f67);border-radius:9px 9px 0 0;border-bottom:1px solid #dcaaf177;box-shadow:inset 0 1px 0 #e4bdf499}
.directory .search-wrap{gap:10px;padding:0 14px;background:#fff4dc;border:2px solid #ffab75;border-radius:8px;box-shadow:0 3px 0 #2c0e39;color:#4b1f5d;min-width:0}
.directory .search-wrap input{padding:13px 0;font-size:16px;color:#3b174a}
.directory .search-wrap input::placeholder{color:#58495e;opacity:1}
.directory .sort-wrap{border:0;padding:0;gap:12px;font-family:'Spooky Emblem',Georgia,serif;font-weight:900;font-size:18px;white-space:nowrap}
.directory .sort-wrap select{padding:12px 30px 12px 12px;border:2px solid #ffab75;border-radius:8px;background:#fff4dc;color:#3b174a;font:600 15px var(--body);box-shadow:0 3px 0 #2c0e39;max-width:190px}
.directory .filter-body{padding:20px;background:radial-gradient(ellipse at 0 0,#722e8e,transparent 65%),linear-gradient(135deg,#56216c,#361244);border-radius:0 0 9px 9px}
.directory .filter-line{align-items:center;gap:18px;margin-bottom:18px}
.directory .filter-label{min-width:140px;font-family:'Spooky Emblem',Georgia,serif;font-weight:900;font-size:20px;line-height:1.2;letter-spacing:.2px;text-transform:none;color:#fff0cf;text-shadow:0 2px 0 #290d34}
.directory .filters .chips{gap:9px}
.directory .filters .chip,.directory .filters .reset{position:relative;padding:10px 15px;min-height:44px;border:1px solid #ff9450;border-radius:8px;background:linear-gradient(#763491,#4b1a5f);box-shadow:inset 0 1px 0 #e1b6f3,0 3px 0 #290d35;color:#fff0cf;font-family:'Spooky Emblem',Georgia,serif;font-weight:900;font-size:17px;line-height:1.2;letter-spacing:0;text-decoration:none}
.directory .filters .chip:hover,.directory .filters .reset:hover{background:linear-gradient(#8938aa,#592270);border-color:#fff0ab}
.directory .filters .chip.active{background:linear-gradient(#fff0b2,#ff8d44);color:#3b174a;border-color:#fff5c9;box-shadow:inset 0 1px 0 #fff9dc,0 3px 0 #b97817}
.directory .filters .chip.active::before{content:'✓';margin-right:6px;font-family:var(--body);font-weight:700}
.directory .filters :is(button,input,select):focus-visible{outline:3px solid #fff5b9;outline-offset:4px}
.directory .more-row{gap:20px;align-items:flex-end;border-top:1px solid #dcaaf166;padding-top:17px}
.directory .luxury-features{flex:1;min-width:0}
.directory .luxury-features h3{font-family:'Spooky Emblem',Georgia,serif;font-size:24px;line-height:1.2;font-weight:900;color:#ffe49b;text-shadow:0 2px 0 #290d34}
.directory .luxury-features h3::before{content:'✦';margin-right:9px;color:#ffa369}
.directory .extras{margin-top:13px;gap:20px 34px}
.directory .extras .filter-label{font-size:16px;margin-bottom:9px;min-width:0;color:#edd3f8}
.directory .filters .reset{font-size:16px;flex-shrink:0;background:#3b174a}
@media(max-width:1050px){.directory .filter-line{display:block}.directory .filter-line>.filter-label{margin-bottom:11px}.directory .filters .chips{gap:8px}.directory .filters .chip{padding:10px 12px}}
@media(max-width:700px){.directory .search-row{display:flex;flex-direction:column;align-items:stretch;padding:14px;gap:14px}.directory .search-wrap{flex:auto}.directory .sort-wrap{justify-content:space-between}.directory .filter-body{padding:16px 14px}.directory .more-row{flex-direction:column;align-items:stretch}.directory .filters .reset{align-self:flex-start}.directory .extras{gap:16px}.directory .filters .chip{font-size:16px}.directory .luxury-features h3{font-size:23px}}
.directory #cards{align-items:start}
.directory .finder-heading{position:relative;isolation:isolate;width:min(900px,90%);margin:6px auto 36px;padding:10px 0;display:block;text-align:center;filter:drop-shadow(0 5px 0 #30113d)}
.directory .finder-heading::before,.directory .finder-heading::after{content:'';position:absolute;z-index:-1;top:29px;bottom:-2px;width:85px;background:linear-gradient(#ffa870,#e67126,#ffa870);border:2px solid #3c144d}
.directory .finder-heading::before{left:-28px;clip-path:polygon(0 0,100% 0,100% 100%,0 100%,22% 50%);transform:rotate(-5deg)}
.directory .finder-heading::after{right:-28px;clip-path:polygon(0 0,100% 0,78% 50%,100% 100%,0 100%);transform:rotate(5deg)}
.directory .finder-heading h2{position:relative;padding:18px 24px;border:3px solid #3e194e;border-radius:50% 50% 16% 16% / 12% 12% 8% 8%;background:linear-gradient(100deg,#ef7e35,#ffe9a3 28%,#ffaa74 65%,#f38640);box-shadow:inset 0 0 0 2px #ffeab0,inset 0 0 0 5px #dc8525;color:#3c174b;font-size:clamp(26px,3.8vw,54px);text-shadow:0 2px 0 #fff5d1,1px 3px 0 #ce763d;letter-spacing:1px}
.directory .filter-line{display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center}
.directory .filter-line>.filter-label{margin:0;min-width:0}
.directory .filters .chips{justify-content:center}
.directory .more-row{flex-direction:column;align-items:center;text-align:center;gap:15px}
.directory .luxury-features{width:100%;flex:auto}
.directory .extras{justify-content:center}
.directory .filters .reset{align-self:center}
.directory .split{position:relative}
.directory .coming-anchor{position:absolute;bottom:510px;scroll-margin-top:360px}
.directory #cards .coming-listing{grid-column:auto}
.directory #cards .coming-listing .card-body{grid-template-columns:minmax(0,1fr);gap:0;padding:10px 16px 12px}
.directory #cards .coming-listing .card-top>div{grid-column:1/-1}
.directory #cards .coming-listing .coming-hours{display:flex;flex-direction:column;align-items:flex-start;gap:5px;margin:3px 0}
.directory #cards .coming-tag{background:linear-gradient(#ffefa7,#ff9049);color:#3f1a4e;border:1px solid #fff5c9;font-weight:800;margin:0;letter-spacing:.3px}
.directory #cards .coming-description{grid-column:1/-1;font-size:14px;line-height:1.55;margin:2px 0 8px;max-width:1100px;color:#f5e5fb}
.directory #cards .coming-listing .cs-intersection{grid-column:1/-1;font-size:14px;color:#ebcff7;margin:0}
.directory #cards .coming-details{grid-column:1/-1;font-size:14px;margin:0 0 9px}
.directory #cards .coming-details summary{cursor:pointer;width:fit-content;color:#ffb586;font-weight:700;padding:5px 0}
.directory #cards .coming-details[open]{padding-bottom:8px}
.directory #cards .coming-details .cs-intersection{margin-top:8px}
.directory .finder-heading{width:min(1040px,98%);margin:0 auto 25px;padding:0;filter:none}
.directory .finder-heading::before,.directory .finder-heading::after{display:none}
.directory .finder-heading h2{padding:0;border:0;border-radius:0;background:none;box-shadow:none;text-shadow:none;line-height:0}
.directory .finder-ribbon-art{display:block;width:100%;height:auto;overflow:visible}
@media(max-width:700px){.directory .finder-heading{width:98%;margin-bottom:24px}.directory .finder-heading h2{padding:0;letter-spacing:0}.directory .finder-heading::before{left:-14px}.directory .finder-heading::after{right:-14px}.directory .finder-heading::before,.directory .finder-heading::after{width:48px;top:26px}.directory .extras{width:100%;justify-content:center}.directory .extras>div{width:100%}.directory .coming-anchor{bottom:390px}.directory #cards .coming-listing .card-body{padding:12px}}
.directory #cards .card-body{display:grid;grid-template-columns:minmax(0,1fr) 130px;column-gap:14px;height:auto;padding:10px 16px 12px}
.directory #cards .card-body>div{grid-column:1/-1}
.directory #cards .card-top{display:contents}
.directory #cards .card-top>div{grid-column:1;grid-row:1}
.directory #cards .thumb{grid-column:2;grid-row:1/3;width:130px;align-self:start;margin-top:2px}
.directory #cards .thumb img{height:88px}
.directory #cards .card-body>.stars{grid-column:1;grid-row:2;margin:6px 0 7px;gap:5px}
.directory #cards .hood{margin-bottom:4px}
.directory #cards .card-number{width:26px;height:26px;min-width:26px;font-size:14px}
.directory #cards .addr{margin:2px 0}
.directory #cards .card-meta{display:flex;flex-wrap:wrap;align-items:center;gap:4px 14px;margin:3px 0}
.directory #cards .card-meta .hours-pill,.directory #cards .card-meta .phone-row{margin:0}
.directory #cards .svc{margin:6px 0 8px;gap:5px}
.directory #cards .actions{margin-top:0;padding-top:7px;gap:7px}
@media(max-width:1050px){.directory #cards .card-body{grid-template-columns:minmax(0,1fr) 100px;column-gap:10px;padding:10px 12px 12px}.directory #cards .thumb{width:100px}.directory #cards .thumb img{height:80px}.directory #cards .card-body>.stars{grid-column:1/-1;grid-row:2}.directory #cards .thumb{grid-row:1}}
@media(max-width:700px){.directory #cards .card-body{grid-template-columns:minmax(0,1fr) 90px}.directory #cards .thumb{width:90px}.directory #cards .thumb img{height:76px}.directory #cards h3{font-size:26px}.directory #cards .actions a,.directory #cards .actions button{padding-inline:10px}}
.featured-wash-scene img{border-radius:0}
.featured-stars{position:absolute;z-index:3;top:-18px;width:134px;height:100px;pointer-events:none}
.featured-stars-left{left:12px;transform:rotate(-9deg)}
.featured-stars-right{right:12px;transform:rotate(9deg)}
.featured-stars span{position:absolute;display:block;font-family:Georgia,serif;line-height:1;color:#ff9a5a;-webkit-text-stroke:1px #fff4b4;paint-order:stroke fill;text-shadow:0 2px 0 #ed941f,1px 4px 0 #ae5c13,2px 6px 0 #250c30,0 0 15px #fff0b044}
.featured-stars span:first-child{font-size:67px;left:31px;top:4px;transform:rotate(-7deg)}
.featured-stars span:nth-child(2){font-size:31px;left:4px;top:26px;transform:rotate(12deg)}
.featured-stars span:nth-child(3){font-size:28px;right:5px;top:40px;transform:rotate(-9deg)}
.featured-stars i{position:absolute;display:block;border:1px solid #f0daf9;border-radius:50%;background:radial-gradient(circle at 28% 22%,#fff 0 7%,#f1dcf9aa 10%,#d18eed35 32% 53%,#c47ce1aa 76%,#f9f0fd 100%);box-shadow:inset 2px 2px 5px #ffffff99,0 2px 5px #300a3f88}
.featured-stars i:nth-of-type(1){left:15px;bottom:6px;width:29px;height:29px}
.featured-stars i:nth-of-type(2){left:42px;bottom:0;width:23px;height:23px}
.featured-stars i:nth-of-type(3){right:22px;bottom:6px;width:35px;height:35px}
.featured-stars i:nth-of-type(4){right:7px;top:6px;width:20px;height:20px}
.featured-stars i:nth-of-type(5){left:13px;top:0;width:16px;height:16px}
.site-footer{padding-top:24px}
.site-footer .footer-top{grid-template-columns:minmax(0,1fr);gap:8px;padding:0 0 18px}
.site-footer .footer-brand{width:285px;max-width:75%;margin-left:152px;justify-self:start}
.site-footer .foot-nav{grid-column:1;display:flex;flex-wrap:nowrap;justify-content:center;gap:12px;width:94%;max-width:1180px;justify-self:center;padding:8px 4px 15px;margin:0;overflow-x:auto;scrollbar-width:thin;scrollbar-color:#d494ee #471b5a}
.site-footer .foot-nav a{flex:1 0 0;min-width:0;min-height:64px;font-size:17px;line-height:1.05;padding:9px 10px 16px;border-radius:9px}
@media(max-width:1200px){.site-footer .footer-brand{width:260px;margin-left:64px}.site-footer .foot-nav a{font-size:15px;min-height:62px}}
@media(max-width:700px){
  .site-footer .footer-brand{width:230px;margin-left:0;justify-self:center}
  .site-footer .foot-nav{width:94%;justify-content:flex-start;gap:10px}
  .site-footer .foot-nav a{flex:0 0 128px;font-size:15px;min-height:64px}
  .featured-stars{top:-11px;width:90px;height:82px}
  .featured-stars-left{left:4px}.featured-stars-right{right:4px}
  .featured-stars span:first-child{font-size:48px;left:21px;top:7px}
  .featured-stars span:nth-child(2){font-size:23px;left:0;top:25px}
  .featured-stars span:nth-child(3){font-size:20px;right:0;top:34px}
  .featured-stars i:nth-of-type(1){width:22px;height:22px;left:7px}
  .featured-stars i:nth-of-type(2){width:18px;height:18px;left:27px}
  .featured-stars i:nth-of-type(3){width:24px;height:24px;right:13px}
  .featured-stars i:nth-of-type(4){width:15px;height:15px;right:2px}
}

/* Compact finder: category labels to the left, actions together above. */
.directory .search-row{padding:12px 16px;gap:14px;display:flex;flex-direction:row;align-items:center}
.directory .search-wrap{flex:1;min-width:0}
.directory .finder-tools{display:flex;align-items:center;gap:12px;flex-shrink:0}
.directory .finder-tools .sort-wrap{gap:10px}
.directory .finder-tools .reset{align-self:auto;white-space:nowrap}
.directory .filter-body{padding:12px 16px 14px}
.directory .filter-line,.directory .luxury-features{display:grid;grid-template-columns:220px minmax(0,1fr);align-items:center;gap:14px;text-align:left;width:100%;margin:0}
.directory .filter-line+.filter-line{margin-top:10px}
.directory .filters .chips{justify-content:flex-start;gap:8px}
.directory .more-row{display:block;border:0;padding:0;margin-top:10px}
.directory .filters .finder-category{display:grid;grid-template-columns:10px auto 10px;align-items:center;justify-content:start;gap:8px;margin:0;min-width:0;font:900 18px/1.25 'Spooky Emblem',Georgia,serif;letter-spacing:0;text-transform:none;color:#ff8f48;text-shadow:0 2px 0 #290d34}
.directory .filters .category-diamond{font:13px/1 Georgia,serif;color:#ff8f48;text-shadow:0 1px 0 #fff0b0,0 2px 0 #b97817}
.directory .luxury-features h3::before{content:none}
.directory .finder-heading{margin-bottom:18px}
@media(max-width:1050px){
  .directory .filter-line,.directory .luxury-features{grid-template-columns:195px minmax(0,1fr);gap:12px}
  .directory .filters .finder-category{font-size:16px;gap:6px}
  .directory .finder-tools{gap:9px}
  .directory .finder-tools .sort-wrap{font-size:16px;gap:8px}
  .directory .finder-tools .reset{padding-inline:11px;font-size:15px}
}
@media(max-width:700px){
  .directory .search-row{flex-wrap:wrap;padding:12px;gap:11px}
  .directory .search-wrap{flex:1 0 100%}
  .directory .finder-tools{width:100%;gap:8px;justify-content:space-between;min-width:0}
  .directory .finder-tools .sort-wrap{gap:6px;font-size:14px;min-width:0}
  .directory .finder-tools select{min-width:0;max-width:150px;padding:10px 6px;font-size:13px}
  .directory .finder-tools .reset{padding:10px 8px;font-size:13px}
  .directory .filter-body{padding:12px 10px}
  .directory .filter-line,.directory .luxury-features{grid-template-columns:95px minmax(0,1fr);gap:9px;align-items:start}
  .directory .filters .finder-category{grid-template-columns:7px minmax(0,1fr) 7px;font-size:14px;gap:3px;line-height:1.4;padding-top:11px;justify-content:stretch}
  .directory .filters .category-diamond{font-size:9px}
  .directory .filters .chips{gap:7px}
  .directory .filters .chip{font-size:15px;padding:9px 10px;max-width:100%;overflow-wrap:break-word}
}
@media(max-width:360px){.directory .finder-tools .sort-wrap{flex-direction:column;align-items:flex-start;gap:3px}.directory .finder-tools select{max-width:155px}}

/* SUDS-style block lettering for the three finder categories. */
.directory .filters .finder-category{
  font-family:'Spooky Emblem',Georgia,serif;font-weight:900;font-stretch:75%;
  font-optical-sizing:none;font-variation-settings:'wdth' 75,'opsz' 144,'wght' 900,'GRAD' 100;
  font-size:19px;line-height:1.3;text-transform:uppercase;letter-spacing:.35px;
  color:#f7e8cd;-webkit-text-stroke:.35px #ffedb8;paint-order:stroke fill;
  text-shadow:0 1px 0 #d6773a,1px 2px 0 #5a1975,2px 3px 0 #2a0d36,2px 4px 0 #2a0d36;
}
.directory .filters .finder-category>span:not(.category-diamond){text-wrap:balance}
.directory .filters .category-diamond{-webkit-text-stroke:0}
@media(max-width:1050px){.directory .filters .finder-category{font-size:17px}}
@media(max-width:700px){.directory .filters .finder-category{font-size:14px;letter-spacing:0;line-height:1.45}}

/* Compact listing rail: photo and links on the right, details on the left. */
.directory #cards .card:not(.coming-listing) .card-body{grid-template-columns:minmax(0,1fr) 130px;column-gap:16px;align-items:start}
.directory #cards .card:not(.coming-listing) .card-top>div{grid-column:1;grid-row:1}
.directory #cards .card:not(.coming-listing) .thumb{grid-column:2;grid-row:1/3;margin:0;width:130px}
.directory #cards .card:not(.coming-listing) .stars{grid-column:1;grid-row:2;margin:5px 0}
.directory #cards .card:not(.coming-listing) .addr{grid-column:1;grid-row:3;margin:3px 0}
.directory #cards .card:not(.coming-listing) .card-meta{grid-column:1;grid-row:4;gap:5px 10px;margin:3px 0}
.directory #cards .card:not(.coming-listing) .svc{grid-column:1;grid-row:5;margin:5px 0 0;gap:5px}
.directory #cards .card:not(.coming-listing) .actions{grid-column:2;grid-row:3/6;display:flex;flex-direction:column;align-items:stretch;gap:8px;margin:0;padding:5px 0 0;border:0}
.directory #cards .card:not(.coming-listing) .actions a,.directory #cards .card:not(.coming-listing) .actions button{width:100%;padding:9px 7px;min-height:41px}
@media(max-width:1050px){.directory #cards .card:not(.coming-listing) .card-body{grid-template-columns:minmax(0,1fr) 100px;column-gap:12px}.directory #cards .card:not(.coming-listing) .thumb{width:100px}}
@media(max-width:700px){.directory #cards .card:not(.coming-listing) .card-body{grid-template-columns:minmax(0,1fr) 90px;column-gap:10px}.directory #cards .card:not(.coming-listing) .thumb{width:90px}.directory #cards .card:not(.coming-listing) .actions a,.directory #cards .card:not(.coming-listing) .actions button{font-size:13px;min-height:44px}.directory #cards .card:not(.coming-listing) .addr,.directory #cards .card:not(.coming-listing) .phone-row{font-size:14px}}
.directory #cards .card:not(.coming-listing) .card-rail{grid-column:2;grid-row:1/6;display:flex;flex-direction:column;gap:10px;min-width:0;align-self:start}
.directory #cards .card:not(.coming-listing) .card-rail .thumb{width:100%;flex:none}
.directory #cards .card:not(.coming-listing) .card-rail .actions{padding:0;margin:0}
.svc .svc-Detailing,.directory #cards .svc .svc-Detailing{background:#fff0cf;border-color:#e7ab85;color:#471b5a;font-weight:700}
.detailing-source{font-size:13px;line-height:1.5;margin:12px 0;color:#4e325a}


/* Coordinated directory cards, map frame and centered footer emblem. */
.directory #cards{grid-auto-rows:1fr;align-items:stretch}
.directory #cards .card .card-body{height:100%;align-content:start}
.directory #cards .coming-listing{width:100%;min-width:0;grid-column:auto}
.directory #cards .coming-listing .card-body{grid-template-columns:minmax(0,1fr);gap:0}
.directory #cards .coming-listing .actions{margin-top:auto}
.directory .split>.directory-map{
  padding:6px;border:3px solid #ff8f48;border-radius:17px;
  background:linear-gradient(145deg,#fff0b4,#ff8232 30%,#e77b24 60%,#ffb88b);
  box-shadow:0 3px 0 #b95f1b,0 7px 0 #341241,0 12px 20px #39174822;
}
.directory-map .map-enamel{
  overflow:hidden;border-radius:9px;padding:16px;
  background:radial-gradient(ellipse at 5% 0%,#8331a4 0%,transparent 65%),linear-gradient(135deg,#56216c,#361244);
  box-shadow:inset 0 1px 0 #daa4f099,inset 0 -2px 0 #1f0a2899;
}
.directory .directory-map .map-title{display:block;padding:0 0 16px;background:none;text-align:center}
.directory-map .map-title h2{margin:0 auto;width:min(820px,100%);line-height:0}
.directory-map .map-ribbon-art{display:block;width:100%;height:auto;max-height:260px;object-fit:contain}
.directory .directory-map #dir-map{border:2px solid #ffa369;border-radius:9px;overflow:hidden}
.directory .directory-map .map-foot{padding:14px 8px 0;border:0;background:none;color:#fff0cf;text-align:center}
.site-footer .footer-brand{justify-self:center;margin-left:0;margin-right:0}
.site-footer .footer-brand img{margin-left:-11%}
@media(max-width:700px){
  .directory-map .map-enamel{padding:10px}
  .directory .directory-map .map-title{padding-bottom:12px}
  .directory-map .map-title h2{width:100%}
  .directory .directory-map .map-foot{font-size:14px;line-height:1.5}
}

/* Map uses the Featured Listing title treatment, with room for its longer name. */
.directory-map .map-heading{margin:-16px -16px 16px;padding:16px 55px;min-height:74px}
@media(max-width:700px){
  .directory-map .map-heading{margin:-10px -10px 10px;padding:16px 20px}
}

/* Align navigation tile rows to the city banner's shared outer edges. */
.topbar .nav{padding-left:0;padding-right:0}
.topbar .navlinks.nav-emblem-group,
.site-footer .foot-nav{width:94%;max-width:1500px;margin-left:auto;margin-right:auto}
.topbar .navlinks.nav-emblem-group{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.topbar .nav-emblem{width:100%;min-width:0}
.site-footer .foot-nav{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:16px;padding-left:0;padding-right:0;overflow:visible}
.site-footer .foot-nav a{width:100%;min-width:0}
@media(max-width:1160px){
  .topbar .navlinks.nav-emblem-group,.site-footer .foot-nav{max-width:900px}
  .site-footer .foot-nav{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:18px}
}
@media(max-width:600px){
  .topbar .navlinks.nav-emblem-group,.site-footer .foot-nav{width:90%;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 14px}
}

/* Fictional featured placement after the sixth result; its row sizes independently. */
.directory #cards:has(.mid-directory-feature){grid-template-rows:repeat(3,1fr) auto}
.directory #cards .mid-directory-feature{grid-column:1/-1;width:100%;margin:4px 0;min-width:0;align-self:start}
@media(max-width:700px){
 .directory #cards:has(.mid-directory-feature){grid-template-rows:repeat(6,1fr) auto}
}
/* All featured placements share a common frame and responsive layout. */
.featured-preview.bottom-feature{margin-top:0;margin-bottom:48px}
.featured-preview .featured-preview-body{min-height:var(--featured-body-height,0px);align-content:center}
.featured-preview .featured-preview-top{min-height:var(--featured-title-height,74px)}
.directory #cards .featured-preview h3{font-family:'Spooky Emblem',Georgia,serif;font-weight:900;font-variation-settings:'wdth' 85,'opsz' 100,'wght' 900,'GRAD' 30;font-size:clamp(25px,1.9vw,31px);line-height:1.13;color:#fff0cf;text-shadow:0 2px 0 #2b0d38,1px 3px 0 #2b0d38}
.featured-preview .featured-contact{white-space:normal}
@media(max-width:700px){.directory #cards .featured-preview h3{font-size:24px}}

/* Specialty discovery and verified business offers use the existing enamel palette. */
.directory .filter-help{margin:-16px 0 12px;font-size:14px;color:#4e325a;line-height:1.5}
.directory .results-summary{font-size:14px;font-weight:700;margin-bottom:18px;color:#451e55}
.directory .filter-line:has(#specialties),.directory .filter-line:has(#offers-filter){padding-top:12px;border-top:1px solid #d2b2df44}
.directory .filter-line:has(#service-mode){padding-bottom:10px}
.listing-placeholder{width:100%;height:105px;display:flex;flex-direction:column;justify-content:center;align-items:center;border:2px solid #eda170;border-radius:7px;background:radial-gradient(ellipse at top,#6b2f83,#441a55);color:#fff0cf;text-align:center;line-height:1.3;padding:9px 4px}
.listing-placeholder>span{color:#f4a877;font-size:23px;line-height:1}
.listing-placeholder b{font-family:'Spooky Emblem',Georgia,serif;font-size:19px;margin:4px 0}
.listing-placeholder small{font-size:10px;letter-spacing:.3px}
.new-directory{font-size:13px;font-weight:600;color:#5d4966;line-height:1.5}
.mobile-label{background:#e0f1e7;color:#24583e;border:1px solid #a4c8b3;padding:3px 7px;border-radius:5px;font-size:12px;font-weight:700}
.directory #cards .actions .offer-link{background:#fff0cf;color:#441c55;border-color:#d59368}
.listing-extra{margin-top:30px;scroll-margin-top:30px}
.listing-extra h2,.visit-box h2{font-family:'Spooky Emblem',Georgia,serif;font-size:24px;line-height:1.2;margin-bottom:14px;text-transform:none}
.listing-extra p{line-height:1.65}
.source-note{font-size:13px;color:#5d4966;line-height:1.55;margin-top:9px}
.offer-list{display:grid;gap:14px}
.offer-card{padding:20px;border:2px solid #ddab8b;border-radius:10px;background:#fff8e8}
.offer-card h3{font-family:'Spooky Emblem',Georgia,serif;font-size:21px;line-height:1.3;margin:8px 0}
.offer-type{font-size:12px;letter-spacing:1px;text-transform:uppercase;font-weight:800;color:#40684a}
.offer-card>a{display:inline-block;margin-top:14px;font-weight:700;line-height:1.5}
.source-section{border-top:1px solid #d2c7d7;padding-top:20px}
.source-section ul{padding-left:20px;font-size:14px;line-height:1.8}
.new-listing-banner{display:flex;align-items:center;gap:18px;min-height:110px;padding:24px;margin-bottom:24px;border:3px solid #e89764;border-radius:10px;background:linear-gradient(125deg,#5c2671,#3b154b);color:#fff0cf;font-family:'Spooky Emblem',Georgia,serif;font-size:24px;line-height:1.3}
.new-listing-banner>span{color:#f5ab7b;font-size:44px}
.listing-main>.new-directory{margin-top:14px}
.listing-main>.actions{margin-top:20px;flex-wrap:wrap}
.visit-box{border:2px solid #d8a482;border-radius:10px;padding:24px;background:#fff5df;margin-bottom:24px}
.visit-box p{font-size:15px;line-height:1.65}
@media(max-width:700px){
 .directory .filter-help{font-size:13px;margin-top:-10px}
 .listing-placeholder{height:94px}
 .listing-placeholder b{font-size:16px}
 .listing-placeholder small{font-size:9px}
 .offer-card{padding:16px}
 .new-listing-banner{font-size:20px;padding:18px;gap:12px}
 .listing-extra h2,.visit-box h2{font-size:22px}
 .directory .filter-line,.directory .luxury-features{grid-template-columns:minmax(0,1fr);gap:8px}
 .directory .filters .finder-category{display:flex;justify-content:center;align-items:center;gap:9px;padding-top:0;font-size:15px}
 .directory .filters .chips{justify-content:center}
 .directory .filter-line+.filter-line{margin-top:15px}
}

/* Refined finder: quiet group labels and a consistent tile grid. */
.directory .filters{text-align:left}
.directory .filters .search-row{padding:20px;gap:18px}
.directory .filters .search-wrap input,
.directory .filters .sort-wrap select{text-align:left;text-align-last:left}
.directory .filters .finder-tools{gap:14px;justify-content:flex-start}
.directory .filters .filter-body{padding:8px 22px 12px;background:linear-gradient(135deg,#4f2162,#381446)}
.directory .filters .filter-line,
.directory .filters .luxury-features{
  display:grid;grid-template-columns:180px minmax(0,1fr);gap:24px;
  align-items:center;text-align:left;margin:0;padding:18px 0;width:100%;border:0;
}
.directory .filters .filter-line+.filter-line,
.directory .filters .more-row{border-top:1px solid #e8c7f626}
.directory .filters .more-row{display:block;margin:0;padding:0}
.directory .filters .finder-category{
  display:block;margin:0;padding:0;min-width:0;text-align:left;
  font-size:17px;line-height:1.35;letter-spacing:.3px;color:#fff0d2;
  -webkit-text-stroke:0;text-shadow:0 1px 0 #270c32,0 2px 3px #270c3280;
}
.directory .filters .category-diamond{display:none}
.directory .filters .chips{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;justify-content:start}
.directory .filters .chip{
  display:flex;align-items:center;justify-content:center;min-height:46px;
  padding:10px 12px;font-family:var(--body);font-size:14px;font-weight:700;line-height:1.3;
  border:1px solid #c89bda6b;border-radius:7px;background:linear-gradient(#5f2e73,#502661);
  box-shadow:inset 0 1px 0 #e9c9f626,0 2px 3px #270c322e;text-align:center;
}
.directory .filters .chip:hover{background:#68367c;border-color:#f4b58c}
.directory .filters .chip.active{background:linear-gradient(#fff0b2,#f4a370);color:#3b174a;border-color:#ffe9ad;box-shadow:inset 0 1px 0 #fff9dc,0 2px 3px #270c3240}
.directory .filters .reset{font-family:var(--body);font-size:14px;font-weight:700;border-color:#c9a8d780;box-shadow:none;background:#3e184d}
@media(max-width:1050px){
  .directory .filters .filter-line,.directory .filters .luxury-features{grid-template-columns:150px minmax(0,1fr);gap:18px}
  .directory .filters .chips{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:700px){
  .directory .filters .search-row{padding:14px;gap:14px}
  .directory .filters .finder-tools{width:100%;justify-content:space-between;flex-wrap:wrap;gap:12px}
  .directory .filters .filter-body{padding:0 14px 4px}
  .directory .filters .filter-line,.directory .filters .luxury-features{grid-template-columns:minmax(0,1fr);gap:12px;padding:17px 0}
  .directory .filters .finder-category{font-size:16px;line-height:1.35}
  .directory .filters .chips{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
  .directory .filters .chip{font-size:14px;min-height:46px;padding:10px 8px}
}

/* Filter selectors use the same illustrated tile face as the hero selectors. */
.directory .filters .chips{gap:18px 14px}
.directory .filters .chip,
.directory .filters .reset{
  position:relative;display:flex;align-items:center;justify-content:center;
  min-width:0;min-height:76px;padding:12px 16px 20px;
  border:0;border-radius:12px;
  background:#722392 url('./brand/region-button-face.webp') center/100% 100% no-repeat;
  color:#fff0cf;font-family:'Spooky Emblem',Georgia,serif;font-weight:900;
  font-stretch:75%;font-optical-sizing:none;
  font-variation-settings:'wdth' 75,'opsz' 144,'wght' 900,'GRAD' 50;
  font-size:20px;line-height:1.15;letter-spacing:.4px;
  white-space:normal;text-wrap:balance;text-align:center;
  -webkit-text-stroke:.35px #fff5df;paint-order:stroke fill;
  text-shadow:0 1px 0 #dca24b,1px 2px 0 #591674,2px 3px 0 #250c30,3px 4px 0 #250c30,0 5px 5px #1f092999;
  box-shadow:0 4px 0 #3d114f,0 7px 0 #260c31,0 12px 15px #270a3380;
  overflow:visible;isolation:isolate;transform:translateY(0);
  transition:transform .16s ease,box-shadow .16s ease,filter .16s ease;
}
.directory .filters .chip:hover,
.directory .filters .reset:hover{
  background:#722392 url('./brand/region-button-face.webp') center/100% 100% no-repeat;
  transform:translateY(-5px);filter:brightness(1.14);
  box-shadow:0 5px 0 #3d114f,0 9px 0 #260c31,0 17px 18px #270a3399;
}
.directory .filters .chip.active,
.directory .filters .chip[aria-pressed='true']{
  color:#fff2ad;background:#722392 url('./brand/region-button-face.webp') center/100% 100% no-repeat;
  box-shadow:0 0 0 2px #e5bff4,0 4px 0 #3d114f,0 7px 0 #260c31,0 0 22px #cb7eea99;
}
.directory .filters .chip.active::before{content:none}
.directory .filters .chip[aria-pressed='true']::after{
  content:'✓';display:grid;place-items:center;position:absolute;
  top:-7px;right:10px;bottom:auto;left:auto;width:23px;height:23px;
  border:2px solid #421455;border-radius:50%;background:#ff8a40;color:#421455;
  font:900 15px/1 Arial,sans-serif;letter-spacing:0;text-shadow:none;
  -webkit-text-stroke:0;box-shadow:0 2px 3px #22072d80;
}
.directory .filters .chip:active,
.directory .filters .reset:active{transform:translateY(3px);box-shadow:0 1px 0 #3d114f,0 3px 0 #260c31,0 5px 8px #270a3380}
.directory .filters .chip:focus-visible,
.directory .filters .reset:focus-visible{outline:3px solid white;outline-offset:6px}
.directory .filters .reset{min-height:60px;font-size:17px}
@media(max-width:700px){
  .directory .filters .chips{gap:18px 12px}
  .directory .filters .chip{min-height:76px;padding:12px 14px 20px;font-size:18px;letter-spacing:.2px}
  .directory .filters .reset{min-height:56px;padding:10px 14px 17px;font-size:16px}
}
@media(prefers-reduced-motion:reduce){
  .directory .filters .chip,.directory .filters .reset{transition:none}
  .directory .filters .chip:hover,.directory .filters .chip:active,
  .directory .filters .reset:hover,.directory .filters .reset:active{transform:none}
}

/* Compact finder: approximately 30% less height, with the same hero tile treatment. */
.directory .filters{padding:4px;border-radius:12px;margin-bottom:25px}
.directory .filters .search-row{padding:14px;gap:13px}
.directory .filters .search-wrap{padding:0 10px;gap:7px}
.directory .filters .search-wrap input{padding:9px 0;font-size:16px}
.directory .filters .search-ico{font-size:22px}
.directory .filters .finder-tools{gap:10px}
.directory .filters .sort-wrap{font-size:14px;gap:7px}
.directory .filters .sort-wrap select{padding:8px 18px 8px 8px;font-size:14px}
.directory .filters .filter-body{padding:6px 15px 8px}
.directory .filters .filter-line,
.directory .filters .luxury-features{grid-template-columns:140px minmax(0,1fr);gap:17px;padding:13px 0}
.directory .filters .finder-category{font-size:14px;letter-spacing:.2px}
.directory .filters .chips{gap:13px 10px}
.directory .filters .chip,
.directory .filters .reset{min-height:53px;padding:8px 11px 14px;border-radius:8px;font-size:14px;letter-spacing:.2px;
  text-shadow:0 1px 0 #dca24b,1px 2px 0 #250c30,0 3px 3px #1f092999;
  box-shadow:0 3px 0 #3d114f,0 5px 0 #260c31,0 8px 10px #270a3380}
.directory .filters .reset{min-height:44px;font-size:13px}
.directory .filters .chip[aria-pressed='true']::after{width:18px;height:18px;top:-5px;right:7px;font-size:11px}
@media(max-width:1050px){
  .directory .filters .filter-line,.directory .filters .luxury-features{grid-template-columns:120px minmax(0,1fr);gap:13px}
}
@media(max-width:700px){
  .directory .filters .search-row{padding:10px;gap:10px}
  .directory .filters .finder-tools{gap:8px}
  .directory .filters .filter-body{padding:0 10px 3px}
  .directory .filters .filter-line,.directory .filters .luxury-features{grid-template-columns:minmax(0,1fr);gap:8px;padding:12px 0}
  .directory .filters .chips{gap:13px 9px}
  .directory .filters .chip{min-height:53px;padding:8px 10px 14px;font-size:14px}
  .directory .filters .reset{min-height:44px;padding:7px 10px 12px}
}

/* Every directory listing has a consistent coupon / promo tile. */
.directory #cards .actions .coupon-tile{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;white-space:normal;text-align:center;padding:10px 7px;border:1px solid #d59368;border-radius:7px;background:#fff0cf;color:#441c55;line-height:1.25;text-decoration:none}
.directory #cards .coupon-tile small{font:500 11px/1.35 var(--body);text-transform:none;letter-spacing:0}
.directory #cards a.coupon-tile:hover{background:#ffe4a1}

/* Larger tile lettering with content-sized buttons and minimal empty space. */
.directory .filters .filter-line{
  grid-template-columns:120px minmax(0,1fr);gap:12px;padding:12px 0;
}
.directory .filters .chips{
  display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-start;
  gap:12px 8px;min-width:0;
}
.directory .filters .chip{
  flex:0 0 auto;width:auto;max-width:100%;min-width:0;min-height:44px;
  padding:4px 10px 9px;font-size:21px;line-height:1.1;letter-spacing:0;
  white-space:normal;text-wrap:nowrap;overflow-wrap:normal;
}
@media(max-width:1050px){
  .directory .filters .filter-line{grid-template-columns:110px minmax(0,1fr);gap:10px}
}
@media(max-width:700px){
  .directory .filters .filter-line{grid-template-columns:minmax(0,1fr);gap:9px}
  .directory .filters .chips{gap:12px 8px}
  .directory .filters .chip{font-size:21px;padding:4px 9px 9px;text-wrap:balance;overflow-wrap:break-word}
}

/* Reduced-suds artwork is exclusive to the filter tiles. */
.directory .filters .chip,
.directory .filters .chip:hover,
.directory .filters .chip.active,
.directory .filters .chip[aria-pressed='true'],
.directory .filters .reset,
.directory .filters .reset:hover{background-image:none}

/* Contact page: full-width artwork with its natural proportions. */
.page.contact-page{padding:0}
.contact-page .contact-layout{display:grid;width:100%;max-width:none;margin:0;padding:0;grid-template-columns:minmax(0,7fr) minmax(0,3fr);gap:0;align-items:center;min-height:0}
.contact-page .contact-art{display:block;width:100%;max-width:none;height:auto;aspect-ratio:1672 / 705.75;object-fit:contain;min-width:0;border-radius:0}
.contact-details{min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:24px;scroll-margin-top:24px}
.contact-details h1{font-size:clamp(26px,2.5vw,44px);margin:0 0 20px}
.contact-email{display:inline-block;max-width:100%;overflow-wrap:anywhere;background:var(--ink);color:#fff;padding:16px;border-radius:10px;font-size:clamp(16px,1.3vw,24px);font-weight:700}
.contact-email:hover{background:var(--blue);color:#fff}
.contact-email:focus-visible{outline:3px solid var(--blue);outline-offset:5px}
@media(max-width:800px){.contact-page .contact-layout{grid-template-columns:minmax(0,1fr)}.contact-details{padding:28px 16px}.contact-email{font-size:clamp(16px,4vw,24px)}}

/* Google Maps and nearby search */
.rating-count[data-review-id]{text-decoration:underline;cursor:pointer}
.near-form{padding:16px;color:#fff0cf;text-align:left}
.near-form>label{display:block;font-weight:700;margin-bottom:8px}
.near-form input{display:block;width:100%;padding:12px;border:1px solid #d6966d;border-radius:6px;font:inherit;background:#fffdf6;color:#451c56}
.near-controls{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:10px}
.near-controls select,.near-controls button{font:inherit;padding:10px;border-radius:6px;border:1px solid #d6966d;background:#fff0cf;color:#451c56}
.near-controls button{font-weight:700}.near-controls button:disabled{opacity:.65;cursor:wait}
#near-status{font-size:14px;line-height:1.5;margin-top:10px}
.wash-distance{font-weight:700;font-size:14px;margin:8px 0}
.map-origin{padding:5px 9px;border-radius:20px;background:#842ba8;color:white;border:2px solid white;font-weight:bold}
#dir-map .map-fallback{padding:30px;background:#fffdf6;color:#451c56}
#dir-map .gm-style,#listing-map .gm-style{color:#451c56}

.directory .split>.directory-map{order:-1}

.directory-intro{max-width:76ch;padding:16px 0;font-size:16px;line-height:1.6}
.directory-answers{padding-top:40px;padding-bottom:40px;max-width:1000px}
.directory-answers h2,.editorial-page h1{font-size:clamp(28px,4vw,44px);line-height:1.15;margin-bottom:20px}
.directory-answers h3,.editorial-page h2{font-size:24px;line-height:1.25;margin:24px 0 10px}
.directory-answers p,.editorial-page p{font-size:16px;line-height:1.7;margin-bottom:16px}
.editorial-page{max-width:900px}.listing-snapshot{font-size:14px;line-height:1.5;margin:14px 0}
.seo-breadcrumb{font-size:14px;line-height:1.5;margin:0 0 20px}
