:root{
  --black:#070809;
  --charcoal:#111418;
  --charcoal-2:#171a1f;
  --orange:#ff7416;
  --orange-2:#ff8c19;
  --yellow:#ffca1d;
  --cream:#f4f0ed;
  --paper:#f7f6f4;
  --ink:#10131a;
  --muted:#73767d;
  --line:rgba(255,255,255,.14);
  --shadow:0 16px 40px rgba(0,0,0,.25);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:100px}
body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:var(--paper);font-size:18px;line-height:1.55}
a{color:inherit}
button,a{touch-action:manipulation}
a:focus-visible,button:focus-visible{outline:4px solid var(--yellow);outline-offset:4px}
img{max-width:100%;display:block}
.skip{position:absolute;left:16px;top:-80px;background:#fff;color:#000;padding:12px 18px;border-radius:8px;z-index:1000}
.skip:focus{top:16px}

.site-header{background:linear-gradient(90deg,#060708,#171a1f);color:#fff;border-bottom:1px solid rgba(255,255,255,.06);position:sticky;top:0;z-index:50;box-shadow:0 5px 22px rgba(0,0,0,.18)}
.header-shell{width:min(1800px,calc(100% - 48px));margin:auto;min-height:106px;padding:8px 0;display:grid;grid-template-columns:150px minmax(0,1fr) auto;gap:24px;align-items:center}
.brand{display:flex;align-items:center;text-decoration:none;min-width:0}
.brand-logo-wrap{display:flex;width:118px;height:90px;align-items:center;justify-content:center;overflow:visible}
.brand-logo-wrap img{width:92px;height:92px;object-fit:contain;margin:0}
.main-nav{display:flex;align-items:center;justify-content:center;gap:clamp(12px,2vw,36px);font-size:16px;font-weight:800;min-width:0}
.main-nav a{text-decoration:none;padding:28px 8px 24px;position:relative;white-space:nowrap}
.main-nav a::after{content:"";position:absolute;left:8px;right:8px;bottom:16px;height:3px;background:transparent;border-radius:3px}
.main-nav a:hover,.main-nav a.active{color:var(--orange-2)}
.main-nav a:hover::after,.main-nav a.active::after{background:var(--orange)}
.header-cta,.primary-button,.secondary-button,.dark-button{display:inline-flex;align-items:center;justify-content:center;min-height:56px;padding:14px 24px;border-radius:18px;text-decoration:none;font-weight:900;line-height:1.2}
.header-cta{background:linear-gradient(135deg,var(--orange),#ff8b22);color:#080808;gap:10px;box-shadow:0 8px 22px rgba(255,116,22,.18);white-space:nowrap}
.header-cta:hover{filter:brightness(1.07);transform:translateY(-1px)}
.menu-button{display:none;background:var(--orange);border:0;border-radius:10px;padding:12px 16px;font-weight:900;font-size:17px}

.hero{background:#08090b;color:#fff;overflow:hidden;border-bottom:1px solid #202329}
.hero-shell{width:min(1800px,100%);margin:auto;min-height:540px;display:grid;grid-template-columns:minmax(520px,48%) minmax(0,52%);align-items:stretch;position:relative}
.hero-copy{padding:clamp(54px,5vw,86px) clamp(30px,4vw,72px);position:relative;z-index:2;display:flex;flex-direction:column;justify-content:center;background:linear-gradient(90deg,#08090b 0%,#08090b 88%,rgba(8,9,11,.72) 100%)}
.hero-copy::before{content:"";position:absolute;left:clamp(18px,2vw,34px);top:50%;transform:translateY(-50%);width:4px;height:min(250px,60%);background:var(--orange)}
.eyebrow{margin:0 0 18px;color:var(--orange);font-size:18px;font-weight:1000;letter-spacing:.17em;text-transform:uppercase}
.hero h1{margin:0;font-size:clamp(52px,5.2vw,90px);line-height:.92;letter-spacing:-.045em;text-transform:uppercase}
.hero h1 span,.hero h1 strong{display:block}
.hero h1 span{color:#f5f5f4}
.hero h1 strong{color:var(--orange);font-size:1.08em}
.hero-kicker{font-size:clamp(22px,1.6vw,28px);font-weight:900;margin:24px 0 4px;color:#d8d8d8}
.hero-lead{font-size:clamp(18px,1.2vw,21px);max-width:680px;color:#c3c4c7;margin:0}
.hero-actions{display:flex;gap:18px;flex-wrap:wrap;margin-top:28px}
.primary-button{background:linear-gradient(135deg,var(--orange),#ff8b22);color:#080808;box-shadow:0 8px 20px rgba(255,116,22,.2)}
.primary-button:hover{filter:brightness(1.08)}
.secondary-button{border:2px solid rgba(255,255,255,.85);color:#fff;background:rgba(13,14,16,.7)}
.secondary-button:hover{background:#fff;color:#0b0b0c}
.hero-visual{position:relative;overflow:hidden;min-height:540px;background:#17100a}
.hero-visual::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#08090b 0%,rgba(8,9,11,.45) 7%,transparent 22%);pointer-events:none}
.hero-visual img{width:100%;height:100%;object-fit:cover;object-position:center center}

.service-strip{background:linear-gradient(90deg,#111419,#15181d);color:#fff;border-top:1px solid rgba(255,255,255,.04);border-bottom:1px solid rgba(255,255,255,.08)}
.service-strip-shell{max-width:1536px;margin:auto;padding:16px 34px;display:grid;grid-template-columns:repeat(5,1fr)}
.service-strip article{display:flex;align-items:center;gap:14px;padding:8px 24px;border-right:1px solid rgba(255,255,255,.14);min-width:0}
.service-strip article:last-child{border-right:0}
.service-strip h2{font-size:16px;margin:0 0 2px;color:#fff;line-height:1.2}
.service-strip p{font-size:13px;margin:0;color:#b8bbc1;line-height:1.25}
.service-icon{font-size:32px;color:var(--orange);flex:0 0 auto}
.windows-icon{color:var(--yellow)}

.appointment-banner{background:linear-gradient(90deg,#5e2910,#f27813 68%,#ff8b14);color:#fff;box-shadow:0 14px 35px rgba(0,0,0,.16) inset}
.appointment-shell{max-width:1440px;margin:auto;padding:22px 40px;display:grid;grid-template-columns:auto 1fr auto;gap:25px;align-items:center}
.appointment-icon{font-size:44px;color:#ff9a42}
.appointment-copy h2{margin:0 0 3px;font-size:29px;color:#fff;line-height:1.12}
.appointment-copy p{margin:0;color:#fff1e5;font-size:17px}
.dark-button{background:#070809;color:#fff;min-width:230px;border-radius:18px}
.dark-button:hover{background:#1b1c20}

.how-we-help{background:linear-gradient(180deg,#f4f0ed 0,#fff 52%);padding:70px 0 84px}
.content-shell{max-width:1240px;margin:auto;padding:0 38px}
.centered{text-align:center}
.how-we-help h2{text-align:center;font-size:42px;margin:0;color:#0e1117;letter-spacing:-.03em}
.orange-rule{width:96px;height:4px;background:var(--orange);margin:18px auto 14px;border-radius:4px}
.section-intro{text-align:center;color:#71747a;font-size:19px;margin:0 auto 42px;max-width:780px}
.service-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.service-cards article{background:#fff;border:1px solid #e0e0df;border-radius:16px;padding:28px;box-shadow:0 12px 30px rgba(19,22,26,.06);transition:transform .2s ease,box-shadow .2s ease}
.service-cards article:hover{transform:translateY(-4px);box-shadow:0 17px 34px rgba(19,22,26,.1)}
.card-icon{display:inline-flex;width:54px;height:54px;align-items:center;justify-content:center;border-radius:14px;background:#fff2e7;color:var(--orange);font-size:31px;margin-bottom:18px}
.service-cards h3{font-size:23px;line-height:1.15;margin:0 0 12px;color:#13161c}
.service-cards p{margin:0;color:#64686f;font-size:17px}

.simple-process{background:#101317;color:#fff;padding:74px 0}
.process-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}
.process-grid>div{padding:28px 28px 24px;background:#181b20;border:1px solid rgba(255,255,255,.08);border-radius:14px}
.process-grid span{display:flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:50%;background:var(--orange);color:#0a0a0a;font-size:24px;font-weight:1000;margin-bottom:18px}
.process-grid h2{font-size:26px;margin:0 0 9px;color:#fff}
.process-grid p{margin:0;color:#c5c7cb}
.final-cta{background:linear-gradient(120deg,#2c1407,#7e330e 42%,#101317);color:#fff;padding:56px 0}
.final-cta-shell{display:flex;align-items:center;justify-content:space-between;gap:40px}
.final-cta h2{font-size:36px;margin:0 0 8px;color:#fff}
.final-cta p{margin:0;color:#ded2ca}
.final-actions{display:flex;gap:14px;flex-wrap:wrap;justify-content:flex-end}
.secondary-button.light{background:transparent}

.site-footer{background:#070809;color:#fff;padding:40px 0;border-top:4px solid var(--orange)}
.footer-shell{max-width:1240px;margin:auto;padding:0 38px;display:grid;grid-template-columns:1.15fr 1fr 1fr;gap:40px;align-items:center}
.footer-brand{display:flex;align-items:center;gap:18px}
.footer-brand img{width:110px;height:110px;object-fit:contain}
.footer-brand strong{display:block;font-size:25px}.footer-brand span{display:block;color:#ffad70;font-weight:800}
.footer-contact,.footer-hours{display:flex;flex-direction:column;gap:4px;color:#d7d8da}
.footer-contact strong,.footer-hours strong{color:#fff;font-size:19px}
.footer-contact a{color:#fff;text-underline-offset:4px}

/* Inner pages */
.inner-page{background:var(--paper)}
.inner-hero{background:linear-gradient(110deg,#08090b,#171b20);color:#fff;padding:58px 0 48px;border-bottom:4px solid var(--orange)}
.inner-hero h1{font-size:48px;margin:0 0 12px;color:#fff}.inner-hero p{font-size:21px;color:#c9cbd0;max-width:760px;margin:0}
.inner-content{padding:56px 0 80px}
.info-panel{background:#fff;border:1px solid #ddd;border-radius:16px;padding:30px;box-shadow:0 12px 28px rgba(0,0,0,.06);margin-bottom:24px}
.info-panel h2{margin-top:0;font-size:28px}.info-panel p:last-child{margin-bottom:0}
.notice{background:#fff3e8;border-left:6px solid var(--orange);padding:24px;border-radius:0 14px 14px 0}


@media(min-width:1800px){
  .header-shell{width:min(1800px,calc(100% - 80px))}
  .hero-shell{width:min(1920px,100%)}
  .service-strip-shell{max-width:1800px}
  .appointment-shell{max-width:1600px}
  .content-shell,.footer-shell{max-width:1440px}
}
@media(max-width:1280px){
  .header-shell{width:calc(100% - 36px);grid-template-columns:118px 1fr auto;gap:14px}
  .brand-logo-wrap{width:100px}.brand-logo-wrap img{width:84px;height:84px}
  .main-nav{gap:12px;font-size:14px}.main-nav a{padding-inline:5px}
  .header-cta{padding-inline:17px;font-size:15px}
  .hero-shell{grid-template-columns:minmax(480px,52%) minmax(0,48%)}
  .hero-copy{padding-inline:46px 30px}
  .service-strip-shell{grid-template-columns:repeat(3,1fr);row-gap:8px}
  .service-strip article:nth-child(3){border-right:0}.service-strip article:nth-child(4),.service-strip article:nth-child(5){border-top:1px solid rgba(255,255,255,.08)}
}
@media(max-width:980px){
  .site-header{position:relative}
  .header-shell{width:100%;grid-template-columns:1fr auto;padding:8px 20px;min-height:92px}
  .brand-logo-wrap{height:76px;width:96px}.brand-logo-wrap img{width:76px;height:76px}
  .menu-button{display:block}
  .main-nav{display:none;grid-column:1/-1;flex-direction:column;align-items:stretch;gap:0;padding:8px 0 12px;font-size:17px}
  .main-nav.open{display:flex}.main-nav a{padding:15px 8px;border-top:1px solid rgba(255,255,255,.08)}.main-nav a::after{display:none}
  .header-cta{display:none}
  .hero-shell{grid-template-columns:1fr;min-height:0}
  .hero-copy{padding:56px 48px 42px;background:#08090b}
  .hero-copy::before{left:26px;height:220px}
  .hero-visual{min-height:0;aspect-ratio:16/8.7}
  .hero-visual::after{background:linear-gradient(180deg,#08090b 0%,rgba(8,9,11,.18) 12%,transparent 28%)}
  .hero-visual img{object-position:center center}
  .service-strip-shell{grid-template-columns:1fr 1fr}
  .service-strip article{border-right:1px solid rgba(255,255,255,.14)!important;border-top:1px solid rgba(255,255,255,.08)}
  .service-strip article:nth-child(even){border-right:0!important}
  .appointment-shell{grid-template-columns:auto 1fr}.appointment-shell .dark-button{grid-column:1/-1}
  .service-cards{grid-template-columns:1fr 1fr}.process-grid{grid-template-columns:1fr}
  .final-cta-shell{display:block}.final-actions{justify-content:flex-start;margin-top:25px}
  .footer-shell{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/-1}
}
@media(max-width:640px){
  body{font-size:17px}
  .header-shell{padding-inline:16px}.brand-logo-wrap{height:70px;width:88px}.brand-logo-wrap img{width:70px;height:70px}
  .hero-copy{padding:44px 24px 32px 34px}.hero-copy::before{left:18px;height:190px}
  .eyebrow{font-size:15px;letter-spacing:.13em;margin-bottom:14px}
  .hero h1{font-size:clamp(46px,15vw,62px)}.hero-kicker{font-size:21px}.hero-lead{font-size:18px}
  .primary-button,.secondary-button,.dark-button{width:100%;min-height:60px;font-size:18px}
  .hero-visual{aspect-ratio:4/3}.hero-visual img{object-position:57% center}
  .service-strip-shell{grid-template-columns:1fr;padding:8px 18px}
  .service-strip article{border-right:0!important;padding:13px 6px}.service-strip h2{font-size:18px}.service-strip p{font-size:15px}
  .appointment-shell{grid-template-columns:1fr;padding:24px}.appointment-icon{display:none}.appointment-copy h2{font-size:26px}
  .content-shell{padding:0 22px}.how-we-help h2{font-size:34px}.service-cards{grid-template-columns:1fr}
  .final-cta h2{font-size:31px}.footer-shell{grid-template-columns:1fr;padding:0 22px}.footer-brand{grid-column:auto}.footer-brand img{width:92px;height:92px}
}
@media(max-width:420px){
  .hero-copy{padding-inline:30px 18px}.hero-copy::before{left:12px}.hero h1{font-size:43px}
  .appointment-copy h2{font-size:23px}.how-we-help{padding-top:54px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}

/* Hero cache/ghosting fix: the hero visual is image-only; no legacy background artwork. */
.hero,
.hero-shell,
.hero-copy { background-image:none; }
.hero-visual {
  background-color:#17100a;
  background-image:none !important;
}
.hero-visual img {
  position:absolute;
  inset:0;
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center center;
  z-index:0;
}
.hero-visual::after { z-index:1; }

/* Booking system */
.booking-hero{padding:68px 0 54px}
.booking-hero h1{max-width:900px;font-size:clamp(42px,5vw,68px);line-height:1.02}
.booking-section{padding:46px 0 80px;background:linear-gradient(180deg,#f4f0ed,#fff)}
.booking-shell{max-width:1380px}
.booking-intro-card{display:flex;flex-wrap:wrap;gap:8px 18px;align-items:center;background:#111418;color:#fff;border-left:6px solid var(--orange);padding:20px 24px;border-radius:14px;margin-bottom:28px;font-size:18px}
.booking-intro-card strong{font-size:22px}.booking-intro-card span{color:#d9dadd}
.booking-layout{display:grid;grid-template-columns:minmax(320px,.78fr) minmax(0,1.22fr);gap:26px;align-items:start}
.booking-card{background:#fff;border:1px solid #dedede;border-radius:20px;padding:30px;box-shadow:0 14px 34px rgba(14,17,22,.07)}
.booking-step{display:flex;gap:16px;align-items:flex-start;margin-bottom:24px}
.booking-step>span{display:flex;flex:0 0 46px;width:46px;height:46px;border-radius:50%;align-items:center;justify-content:center;background:var(--orange);color:#090909;font-size:23px;font-weight:1000}
.booking-step h2{font-size:29px;line-height:1.15;margin:2px 0 4px}.booking-step p{margin:0;color:#6e7278;font-size:16px}
.booking-date-label,.booking-form label,.admin-form label,.inline-form label{display:flex;flex-direction:column;gap:7px;font-weight:800;color:#1a1d22}
.booking-date-input,.booking-form input,.booking-form select,.booking-form textarea,.admin-form input,.admin-form select,.admin-form textarea,.inline-form input{width:100%;min-height:52px;border:2px solid #c9cbd0;border-radius:11px;background:#fff;color:#11151a;font:inherit;padding:11px 13px}
.booking-form textarea,.admin-form textarea{min-height:120px;resize:vertical}
.booking-date-input:focus,.booking-form input:focus,.booking-form select:focus,.booking-form textarea:focus,.admin-form input:focus,.inline-form input:focus{outline:3px solid rgba(255,116,22,.2);border-color:var(--orange)}
.slot-status{margin:20px 0 13px;color:#62666d;font-weight:700;min-height:28px}
.slot-list{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.slot-choice{min-height:78px;border:2px solid #d6d8dc;background:#fff;border-radius:13px;padding:13px 16px;text-align:left;cursor:pointer;display:flex;flex-direction:column;justify-content:center;gap:2px;color:#16191e}
.slot-choice strong{font-size:22px}.slot-choice span{font-size:14px;color:#5e636a}.slot-choice:hover:not(:disabled){border-color:var(--orange);background:#fff7ef}.slot-choice.selected{border-color:var(--orange);background:#fff0e2;box-shadow:inset 0 0 0 1px var(--orange)}
.slot-choice.unavailable{background:#f2f2f2;color:#8a8d92;cursor:not-allowed;text-decoration:none}.slot-choice.unavailable span{color:#9b9da1}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.form-grid .full{grid-column:1/-1}.booking-form label span{color:#b9410e}
.booking-summary{margin:24px 0 18px;background:#f4f5f6;border-left:5px solid #c2c5ca;padding:17px 19px;border-radius:0 11px 11px 0;display:flex;flex-direction:column;gap:2px}.booking-summary strong{font-size:18px}.booking-summary span{font-size:15px;color:#64686e}
.booking-submit{border:0;font-size:19px;cursor:pointer;min-width:260px}.booking-submit:disabled{opacity:.48;cursor:not-allowed;filter:grayscale(.2)}
.booking-fineprint{font-size:14px;color:#74777d;margin:12px 0 0}.booking-result{margin-top:18px}.booking-result.success,.booking-result.error{display:flex;flex-direction:column;gap:4px;padding:18px;border-radius:12px}.booking-result.success{background:#ebf8ee;border:1px solid #9ad0a4;color:#173e20}.booking-result.error{background:#fff0ed;border:1px solid #eab1a4;color:#6e2114}.booking-result strong{font-size:21px}
.booking-help{text-align:center;padding:42px 20px 0}.booking-help h2{font-size:30px;margin:0 0 6px}.booking-help p{margin:0;color:#5e6268}.booking-help a{color:#111;text-underline-offset:4px}

/* Booking admin */
.admin-page{background:#0e1115;color:#111;min-height:100vh}
.admin-login-wrap{min-height:760px;display:grid;place-items:center;padding:40px 20px;background:radial-gradient(circle at top right,#4a220d 0,#111418 36%,#08090b 75%)}
.admin-login-card{width:min(460px,100%);background:#fff;border-radius:20px;padding:34px;box-shadow:0 24px 60px rgba(0,0,0,.35)}.admin-login-card>img{width:110px;height:110px;object-fit:contain;margin:0 auto 18px}.admin-login-card h1{font-size:36px;margin:0 0 20px}.admin-login-card .eyebrow{margin-bottom:5px}.admin-error{background:#fff0ed;color:#7e2415;padding:12px;border-radius:10px}
.admin-form{display:grid;gap:16px}.admin-form.compact{grid-template-columns:1fr 1fr}.admin-form.compact label:nth-last-child(2){grid-column:1/-1}.admin-form.compact .primary-button{justify-self:start;border:0;cursor:pointer}.admin-form small{font-weight:400;color:#6d7177}
.admin-header{position:sticky;top:0;z-index:20;background:#08090b;color:#fff;border-bottom:2px solid var(--orange);min-height:84px;padding:10px max(24px,calc((100% - 1500px)/2));display:flex;align-items:center;justify-content:space-between;gap:20px}.admin-header>div{display:flex;align-items:center;gap:14px}.admin-header img{width:64px;height:64px;object-fit:contain}.admin-header strong,.admin-header span{display:block}.admin-header strong{font-size:19px}.admin-header span{font-size:13px;color:#b9bdc4}.admin-header nav{display:flex;gap:18px}.admin-header a{color:#fff;font-weight:800;text-underline-offset:4px}
.admin-shell{max-width:1500px;margin:auto;padding:30px 24px 70px}.admin-flash{background:#fff2e7;color:#4e260a;border:1px solid #efb27f;border-radius:12px;padding:15px 18px;margin-bottom:20px;font-weight:700}.admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.admin-card{background:#fff;border-radius:18px;padding:26px;margin-bottom:22px;box-shadow:0 12px 28px rgba(0,0,0,.16)}.admin-card h2{font-size:27px;margin:0 0 6px}.admin-card>p{margin-top:0;color:#676b72}.admin-google{display:flex;align-items:center;justify-content:space-between;gap:30px;background:linear-gradient(120deg,#fff,#fff5ec)}.admin-google .eyebrow{margin-bottom:4px}.admin-google .primary-button{flex:0 0 auto}
.slot-admin-list,.block-list{display:grid;gap:9px;margin:18px 0}.slot-admin-list>div,.block-list>div{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid #e3e4e6}.slot-admin-list form,.block-list form{display:flex;gap:8px}.slot-admin-list button,.danger-link{border:0;background:#eceef1;border-radius:8px;padding:8px 10px;font-weight:800;cursor:pointer}.danger-link{color:#8b2718;background:#fff0ed}.block-list span{display:flex;flex-direction:column}.block-list small{color:#6d7177}
.inline-form{display:flex;align-items:end;gap:12px}.inline-form label{flex:1}.inline-form .primary-button{border:0;cursor:pointer;min-height:52px}
.day-switches{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:18px 0}.day-switches label{display:flex;align-items:center;gap:10px;padding:12px;background:#f5f5f5;border-radius:10px;font-weight:800}.day-switches input{width:22px;height:22px;accent-color:var(--orange)}
.booking-table-wrap{overflow:auto}.booking-table{width:100%;border-collapse:collapse;min-width:1050px;font-size:14px}.booking-table th,.booking-table td{text-align:left;padding:12px 10px;border-bottom:1px solid #e0e1e3;vertical-align:top}.booking-table th{background:#f2f3f4;font-size:13px;text-transform:uppercase;letter-spacing:.04em}.booking-table small{color:#6c7076}

@media(max-width:900px){.booking-layout{grid-template-columns:1fr}.admin-grid{grid-template-columns:1fr}.admin-header{position:relative}.admin-form.compact{grid-template-columns:1fr}.admin-form.compact label:nth-last-child(2){grid-column:auto}.admin-google{align-items:flex-start;flex-direction:column}.admin-header nav{flex-direction:column;gap:5px;text-align:right}}
@media(max-width:640px){.booking-section{padding-top:28px}.booking-card{padding:22px 18px;border-radius:15px}.slot-list{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.form-grid .full{grid-column:auto}.booking-submit{width:100%}.booking-intro-card{padding:17px}.booking-intro-card strong{font-size:20px}.booking-step h2{font-size:25px}.booking-date-input,.booking-form input,.booking-form select,.booking-form textarea{font-size:16px}.admin-shell{padding-inline:14px}.admin-card{padding:20px 16px}.admin-header{padding-inline:14px}.admin-header img{width:52px;height:52px}.admin-header strong{font-size:16px}.day-switches{grid-template-columns:1fr}.inline-form{align-items:stretch;flex-direction:column}.admin-login-card{padding:26px 20px}}

/* Booking form v2 */
.business-toggle{margin:0 0 20px;padding:15px 17px;border:2px solid #d8dade;border-radius:12px;background:#f7f7f8}.business-toggle label{display:flex!important;flex-direction:row!important;align-items:center;gap:13px;cursor:pointer}.business-toggle input{width:24px!important;height:24px!important;min-height:24px!important;flex:0 0 24px;accent-color:var(--orange)}.business-toggle span{display:flex;flex-direction:column;color:#161a20!important}.business-toggle strong{font-size:18px}.business-toggle small{font-weight:500;color:#666b73;font-size:14px}.name-fields{margin-bottom:18px}.visit-type-fieldset{border:0;padding:0;margin:0;min-width:0}.visit-type-fieldset legend{font-weight:800;color:#1a1d22;margin-bottom:8px}.visit-type-fieldset legend span{color:#b9410e}.visit-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.visit-options label{display:block!important;cursor:pointer}.visit-options input{position:absolute;opacity:0;pointer-events:none;width:1px!important;height:1px!important;min-height:0!important}.visit-options label>span{display:flex;min-height:90px;flex-direction:column;justify-content:center;gap:3px;border:2px solid #c9cbd0;border-radius:12px;padding:14px 15px;color:#1a1d22!important;background:#fff;transition:border-color .15s ease,background .15s ease}.visit-options strong{font-size:18px}.visit-options small{font-weight:500;color:#6a6e75;font-size:14px}.visit-options input:checked+span{border-color:var(--orange);background:#fff7f0;box-shadow:0 0 0 3px rgba(255,116,22,.13)}.visit-options input:focus-visible+span{outline:3px solid rgba(255,116,22,.25);outline-offset:2px}.recaptcha-wrap{margin:22px 0 4px;min-height:78px}.recaptcha-setup-note{margin:20px 0 4px;padding:14px 16px;background:#fff6df;border:1px solid #e0bd65;border-radius:10px;color:#624813;font-size:14px}.recaptcha-setup-note code{font-weight:700}.booking-form textarea[name="problem_details"]{min-height:150px}
@media(max-width:760px){.visit-options{grid-template-columns:1fr}.visit-options label>span{min-height:72px}.recaptcha-wrap{overflow-x:auto;max-width:100%}}

/* Booking wizard v3 */
.booking-shell{max-width:1120px}
.booking-progress{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:0 0 24px}
.progress-step{border:1px solid #d7d9dd;background:#fff;border-radius:14px;min-height:72px;padding:10px 12px;display:flex;align-items:center;justify-content:center;gap:9px;color:#767a81;font:inherit;cursor:default}
.progress-step span{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#e9eaec;color:#555b63;font-weight:900;flex:0 0 34px}
.progress-step strong{font-size:15px;line-height:1.15;text-align:left}
.progress-step.active{border-color:var(--orange);background:#fff7f0;color:#171a1f}.progress-step.active span{background:var(--orange);color:#111}
.progress-step.complete{color:#34383e}.progress-step.complete span{background:#1b2026;color:#fff}.progress-step.complete:not(:disabled){cursor:pointer}
.booking-wizard{position:relative}
.booking-panel{background:#fff;border:1px solid #dedede;border-radius:20px;padding:clamp(22px,3vw,36px);box-shadow:0 14px 34px rgba(14,17,22,.07);transform-origin:top center}
.booking-panel.active{animation:bookingPanelIn .28s ease both}
@keyframes bookingPanelIn{from{opacity:.15;transform:translateY(8px)}to{opacity:1;transform:none}}
.field-title{display:inline-flex!important;flex-direction:row!important;align-items:baseline;gap:5px;color:#1a1d22!important;font-weight:800}
.field-title em{font-style:normal;color:#b9410e;font-weight:900}
.booking-wizard label{display:flex;flex-direction:column;gap:7px;font-weight:800;color:#1a1d22}
.booking-wizard input:not([type=checkbox]):not([type=radio]),.booking-wizard textarea{width:100%;min-height:52px;border:2px solid #c9cbd0;border-radius:11px;background:#fff;color:#11151a;font:inherit;padding:11px 13px}
.booking-wizard textarea{min-height:120px;resize:vertical}
.booking-wizard input:focus,.booking-wizard textarea:focus{outline:3px solid rgba(255,116,22,.2);border-color:var(--orange)}
.problem-field{margin-top:22px}.problem-field textarea{min-height:165px}
.wizard-actions{display:flex;justify-content:space-between;gap:14px;align-items:center;margin-top:28px;padding-top:22px;border-top:1px solid #e4e5e7}.wizard-actions-end{justify-content:flex-end}.wizard-actions .primary-button,.wizard-actions .secondary-button{min-width:150px;border:0;cursor:pointer;font-size:17px}.wizard-actions .secondary-button{border:2px solid #24282e;background:#fff;color:#171a1f}.wizard-actions button:disabled{opacity:.45;cursor:not-allowed}
.step-message{min-height:24px;margin-top:16px;color:#8b2f19;font-weight:700;font-size:15px}
.booking-review{display:grid;grid-template-columns:1fr 1fr;gap:14px}.review-card{border:1px solid #dcdde0;border-radius:13px;padding:17px 18px;background:#fafafa;min-width:0}.review-card span{display:block;font-size:13px;font-weight:900;text-transform:uppercase;letter-spacing:.06em;color:#73777e;margin-bottom:5px}.review-card strong{display:block;font-size:20px;line-height:1.25;color:#16191d}.review-card p{margin:5px 0 0;color:#555a62;overflow-wrap:anywhere}.review-card.review-highlight{border-color:#ffb178;background:#fff6ed}.review-card.review-wide{grid-column:1/-1}.review-card.review-wide p{white-space:normal}
.booking-panel .recaptcha-wrap{margin-top:22px}
@media(prefers-reduced-motion:reduce){.booking-panel.active{animation:none}}
@media(max-width:760px){.booking-progress{grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}.progress-step{min-height:54px;padding:7px 4px;gap:0}.progress-step span{width:34px;height:34px;flex-basis:34px}.progress-step strong{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.booking-review{grid-template-columns:1fr}.review-card.review-wide{grid-column:auto}.wizard-actions{flex-direction:column-reverse;align-items:stretch}.wizard-actions-end{flex-direction:column;align-items:stretch}.wizard-actions .primary-button,.wizard-actions .secondary-button{width:100%;min-height:52px}.booking-panel{border-radius:15px}.business-toggle small{font-size:13px}}

/* Booking business-field visibility fix */
#personal-name-fields[hidden],#business-name-fields[hidden]{display:none!important}

/* Admin calendar */
.admin-calendar-card{padding:0;overflow:hidden}
.admin-calendar-head{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:24px 26px;border-bottom:1px solid #e1e3e6;background:linear-gradient(120deg,#fff,#fff8f2)}
.admin-calendar-head h2{margin:0;font-size:28px}.admin-calendar-head p{margin:4px 0 0;color:#6a6e75}
.admin-calendar-nav{display:flex;align-items:center;gap:10px}.admin-calendar-nav a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 15px;border:1px solid #cfd2d6;border-radius:10px;background:#fff;color:#171a1f;text-decoration:none;font-weight:850}.admin-calendar-nav strong{min-width:155px;text-align:center;font-size:17px}
.admin-calendar-legend{display:flex;flex-wrap:wrap;gap:16px;padding:13px 26px;border-bottom:1px solid #e5e6e8;background:#fafafa;font-size:13px;font-weight:800;color:#555a62}.admin-calendar-legend span{display:inline-flex;align-items:center;gap:7px}.admin-calendar-legend i{width:12px;height:12px;border-radius:50%;display:inline-block}.admin-calendar-legend .legend-210 i{background:#ff7416}.admin-calendar-legend .legend-google i{background:#3867d6}.admin-calendar-legend .legend-local i{background:#747b85}
.admin-calendar-scroll{overflow-x:auto;padding:0 0 2px}.admin-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(145px,1fr));min-width:1015px;background:#dfe1e4;gap:1px}.admin-calendar-weekday{background:#f1f2f4;padding:10px 12px;text-align:center;font-size:12px;text-transform:uppercase;letter-spacing:.08em;font-weight:900;color:#666b73}.admin-calendar-day{background:#fff;min-height:145px;padding:10px;display:flex;flex-direction:column;gap:7px}.admin-calendar-day.outside{background:#f7f7f8;color:#a4a8ad}.admin-calendar-day.today{box-shadow:inset 0 0 0 2px #ff7416}.admin-calendar-date{display:flex;align-items:center;justify-content:space-between;font-weight:900;font-size:14px}.admin-calendar-date time{display:grid;place-items:center;width:29px;height:29px;border-radius:50%}.admin-calendar-day.today .admin-calendar-date time{background:#ff7416;color:#111}.admin-calendar-events{display:flex;flex-direction:column;gap:5px}.calendar-event{display:block;border-radius:8px;padding:7px 8px;font-size:12px;line-height:1.25;border-left:4px solid #3867d6;background:#eef3ff;color:#17213d;overflow-wrap:anywhere}.calendar-event strong,.calendar-event span{display:block}.calendar-event strong{font-size:12px}.calendar-event span{margin-top:2px;color:#596274}.calendar-event.event-210{border-left-color:#ff7416;background:#fff2e7;color:#4e260a}.calendar-event.event-local{border-left-color:#747b85;background:#f0f1f2;color:#30343a}.calendar-event.event-cancelled{opacity:.55;text-decoration:line-through}.admin-calendar-empty{padding:24px 26px;color:#6b7077}
@media(max-width:760px){.admin-calendar-head{align-items:flex-start;flex-direction:column;padding:20px 16px}.admin-calendar-nav{width:100%;justify-content:space-between}.admin-calendar-nav strong{min-width:0}.admin-calendar-legend{padding:12px 16px}.admin-calendar-grid{grid-template-columns:repeat(7,minmax(125px,1fr));min-width:875px}.admin-calendar-day{min-height:130px}}


/* Admin daily calendar + appointment editor v5 */
.admin-day-card{padding:0;overflow:hidden}.admin-day-head{display:flex;justify-content:space-between;gap:24px;align-items:center;padding:25px 28px;border-bottom:1px solid #e2e3e5;background:linear-gradient(120deg,#fff,#fff7f0)}.admin-day-head h2{margin:0;font-size:30px}.admin-day-head p{margin:5px 0 0;color:#676c73}.day-nav{display:flex;gap:10px;align-items:end;flex-wrap:wrap}.day-nav>a,.day-nav button{min-height:44px;padding:0 14px;border:1px solid #cdd0d4;border-radius:10px;background:#fff;color:#171a1f;text-decoration:none;font-weight:800;display:inline-flex;align-items:center}.day-nav form{display:flex;gap:7px;align-items:end}.day-nav label{font-size:12px;font-weight:800;color:#666;display:flex;flex-direction:column;gap:4px}.day-nav input{min-height:44px;border:1px solid #cdd0d4;border-radius:9px;padding:7px 9px;font:inherit}.day-event-list{display:flex;flex-direction:column;padding:10px;background:#f1f2f4;gap:8px}.day-event{border:0;border-left:6px solid #3867d6;background:#fff;display:grid;grid-template-columns:145px minmax(0,1fr) auto;gap:14px;align-items:center;width:100%;text-align:left;padding:17px 18px;border-radius:10px;cursor:pointer;color:#181b20;box-shadow:0 2px 8px rgba(0,0,0,.04)}.day-event.event-210{border-left-color:var(--orange)}.day-event:hover{background:#fffaf6}.event-time{font-weight:900;font-size:16px}.day-event strong{display:block;font-size:17px}.day-event small{display:block;color:#686d75;margin-top:3px}.event-open{font-weight:850;color:#a9440c}.event-dialog{width:min(820px,calc(100% - 28px));max-height:88%;border:0;border-radius:18px;padding:0;box-shadow:0 24px 80px rgba(0,0,0,.35)}.event-dialog::backdrop{background:rgba(5,7,9,.7)}.dialog-head{display:flex;justify-content:space-between;gap:20px;align-items:start;background:#171a1f;color:#fff;padding:22px 26px;border-bottom:4px solid var(--orange)}.dialog-head small{color:#ff9a45;text-transform:uppercase;letter-spacing:.09em;font-weight:900}.dialog-head h2{color:#fff;margin:5px 0 0;font-size:25px}.dialog-close{border:0;background:transparent;color:#fff;font-size:34px;line-height:1;cursor:pointer}.event-edit-form{padding:24px 26px}.event-form-grid,.admin-person-fields,.admin-business-fields{display:grid;grid-template-columns:1fr 1fr;gap:15px}.admin-business-fields{grid-template-columns:1fr 1fr 1fr;margin-bottom:16px}.admin-person-fields{margin-bottom:16px}.event-edit-form label{display:flex;flex-direction:column;gap:6px;font-weight:800;color:#252930}.event-edit-form input,.event-edit-form select,.event-edit-form textarea,.admin-form select{width:100%;border:1.5px solid #c9ccd1;border-radius:9px;padding:10px 11px;min-height:46px;font:inherit;background:#fff;color:#171a1f}.event-edit-form textarea{resize:vertical}.event-form-grid .full,.event-detail-summary .full{grid-column:1/-1}.admin-check{display:flex!important;flex-direction:row!important;align-items:center!important;gap:10px;margin-bottom:17px}.admin-check input{width:22px!important;height:22px!important;min-height:22px!important}.event-detail-summary{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:18px}.event-detail-summary>div{background:#f5f6f7;border-radius:10px;padding:12px;min-width:0}.event-detail-summary span{display:block;color:#737880;font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.05em}.event-detail-summary strong,.event-detail-summary p{display:block;margin:4px 0 0;overflow-wrap:anywhere}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px;padding-top:18px;border-top:1px solid #e3e4e6}.danger-button{border:0;border-radius:10px;min-height:48px;padding:0 18px;background:#a7271b;color:#fff;font-weight:900;cursor:pointer}.cancel-confirm{margin-top:16px;padding:16px;background:#fff1ef;border:1px solid #efbbb5;border-radius:10px}.cancel-confirm .danger-button{margin-top:10px}.reason-field{margin-top:4px}.admin-note{padding:14px 16px;background:#fff5df;border:1px solid #e6c275;border-radius:9px;margin-bottom:16px}.partial-times{display:grid;grid-template-columns:1fr 1fr;gap:12px}.admin-flash.error{background:#fdebea;border-color:#e1a3a0;color:#751d19}
@media(max-width:760px){.admin-day-head{align-items:stretch;flex-direction:column;padding:20px 16px}.day-nav,.day-nav form{width:100%}.day-nav>a{flex:1;justify-content:center}.day-nav form{order:3}.day-nav form label{flex:1}.day-event{grid-template-columns:1fr;gap:5px;padding:15px}.event-open{margin-top:3px}.event-edit-form{padding:18px 15px}.event-form-grid,.admin-person-fields,.admin-business-fields,.event-detail-summary{grid-template-columns:1fr}.event-form-grid .full,.event-detail-summary .full{grid-column:auto}.dialog-actions{flex-direction:column}.dialog-actions button{width:100%}.partial-times{grid-template-columns:1fr}}

/* v7 client appointment self-service */
.client-manage-page{background:#f3f4f5;color:#17191d;min-height:100vh}.client-manage-header{min-height:92px;background:#111419;color:#fff;display:flex;align-items:center;gap:18px;padding:12px max(22px,calc((100% - 980px)/2));border-bottom:3px solid var(--orange)}.client-manage-header img{width:70px;height:70px;object-fit:contain}.client-manage-header div{display:flex;flex-direction:column}.client-manage-header strong{font-size:22px}.client-manage-header span{color:#b8bcc3;font-size:14px}.client-manage-shell{width:min(980px,calc(100% - 32px));margin:34px auto 70px;display:grid;gap:20px}.manage-card{background:#fff;border:1px solid #dedfe2;border-radius:18px;padding:clamp(22px,4vw,34px);box-shadow:0 10px 28px rgba(18,22,29,.06)}.manage-card h1{font-size:clamp(29px,4vw,42px);margin:4px 0 20px}.manage-card h2{font-size:27px;margin:0 0 8px}.manage-eyebrow{text-transform:uppercase;letter-spacing:.12em;font-weight:900;color:#e9650c;font-size:13px}.manage-summary{border-top:5px solid var(--orange)}.manage-summary-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.manage-summary-grid>div{background:#f6f7f8;border-radius:12px;padding:15px 16px;display:flex;flex-direction:column;gap:4px}.manage-summary-grid span{font-size:12px;text-transform:uppercase;letter-spacing:.07em;font-weight:900;color:#71757c}.manage-summary-grid strong{font-size:18px}.manage-summary-grid small{color:#747980}.manage-lead{color:#676b73;margin:0 0 22px;line-height:1.55}.manage-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.manage-form-grid label{display:flex;flex-direction:column;gap:7px;font-weight:800}.manage-form-grid label.full{grid-column:1/-1}.manage-form-grid label>span b{color:#b9410e}.manage-form-grid input,.manage-form-grid select,.manage-form-grid textarea{width:100%;min-height:52px;border:2px solid #c9cbd0;border-radius:11px;background:#fff;color:#11151a;font:inherit;padding:11px 13px}.manage-form-grid textarea{min-height:120px;resize:vertical}.manage-form-grid input:focus,.manage-form-grid select:focus,.manage-form-grid textarea:focus{outline:3px solid rgba(255,116,22,.2);border-color:var(--orange)}.manage-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}.manage-alert{border-radius:12px;padding:16px 18px;font-weight:700}.manage-alert.success{background:#eaf7ed;border:1px solid #a4d3ad;color:#184422}.manage-alert.error{background:#fff0ed;border:1px solid #e8b0a5;color:#702115}.cancel-card{border-color:#e4c8c4}.cancel-card p{color:#666b72;line-height:1.5}.cancel-confirm{display:flex;align-items:flex-start;gap:12px;margin:20px 0;font-weight:700}.cancel-confirm input{width:22px;height:22px;flex:0 0 22px;accent-color:#b42318}.danger-button{min-height:48px;border:0;border-radius:10px;background:#b42318;color:#fff;font-weight:800;font-size:16px;padding:12px 18px;cursor:pointer}.danger-button:hover{background:#941d14}
@media(max-width:680px){.client-manage-header{min-height:80px;padding-inline:16px}.client-manage-header img{width:56px;height:56px}.client-manage-header strong{font-size:18px}.client-manage-shell{width:min(100% - 20px,980px);margin-top:18px}.manage-summary-grid,.manage-form-grid{grid-template-columns:1fr}.manage-form-grid label.full{grid-column:auto}.manage-actions{flex-direction:column}.manage-actions .primary-button,.manage-actions .secondary-button,.danger-button{width:100%;text-align:center}.manage-card{border-radius:14px}}

/* Contact form */
.contact-hero{padding-bottom:clamp(38px,5vw,64px)}
.contact-section{padding-top:clamp(34px,5vw,62px)}
.contact-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(285px,.65fr);gap:clamp(24px,4vw,48px);align-items:start}
.contact-form-card{background:#fff;border:1px solid #e0e1e4;border-radius:20px;padding:clamp(22px,4vw,38px);box-shadow:0 12px 36px rgba(17,21,28,.07);min-width:0}
.contact-card-head{margin-bottom:24px}.contact-card-head h2{font-size:clamp(29px,4vw,42px);margin:4px 0 7px}.contact-card-head p:last-child{margin:0;color:#6a6f77}.contact-card-head b,.contact-form label>span b{color:#c84b00}
.contact-form{display:grid;gap:20px}.contact-business-toggle{margin:0}
.contact-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px}.contact-form-grid[hidden]{display:none!important}.contact-form-grid label{display:flex;flex-direction:column;gap:7px;font-weight:800;color:#23272d;min-width:0}.contact-form-grid label.full{grid-column:1/-1}.contact-form-grid label>span{font-size:15px}.contact-form-grid input,.contact-form-grid textarea{width:100%;min-height:52px;border:2px solid #c9ccd1;border-radius:11px;background:#fff;color:#15181c;font:inherit;font-size:16px;padding:11px 13px}.contact-form-grid textarea{min-height:175px;resize:vertical;line-height:1.5}.contact-form-grid input:focus,.contact-form-grid textarea:focus{outline:3px solid rgba(255,116,22,.18);border-color:var(--orange)}
.contact-info-grid{padding-top:2px}.contact-submit{justify-self:start;min-width:180px;border:0;cursor:pointer;font-size:17px}.contact-form .recaptcha-wrap{margin-top:0}
.contact-success,.contact-errors{border-radius:12px;padding:16px 18px;margin-bottom:22px;display:flex;flex-direction:column;gap:5px}.contact-success{background:#ebf8ee;border:1px solid #a9d5b1;color:#174623}.contact-errors{background:#fff0ed;border:1px solid #e7ada2;color:#702116}.contact-errors ul{margin:7px 0 0;padding-left:22px}.contact-errors li+li{margin-top:4px}
.contact-side{display:grid;gap:16px;position:sticky;top:112px}.contact-side-card{background:#171a1f;color:#fff;border-radius:17px;padding:24px;overflow:hidden}.contact-side-card h2{color:#fff;margin:6px 0 10px;font-size:23px}.contact-side-card p{color:#c7cbd1;line-height:1.55;margin:9px 0 0}.contact-side-icon{font-size:29px;color:#ff851f}.contact-big-link{display:block;color:#ff963c;font-size:clamp(20px,2vw,27px);font-weight:900;text-decoration:none;overflow-wrap:anywhere}.contact-side-card.appointment-note{background:linear-gradient(135deg,#a23d08,#ff7417)}.contact-side-card.appointment-note strong{display:block;font-size:22px}.contact-side-card.appointment-note p{color:#fff4eb}.contact-side-card.appointment-note a{display:inline-flex;margin-top:15px;color:#111;background:#fff;padding:11px 14px;border-radius:9px;text-decoration:none;font-weight:900}
@media(max-width:900px){.contact-layout{grid-template-columns:1fr}.contact-side{position:static;grid-template-columns:1fr 1fr}.contact-side-card.appointment-note{grid-column:1/-1}}
@media(max-width:650px){.contact-form-card{border-radius:15px;padding:20px 16px}.contact-form-grid{grid-template-columns:1fr}.contact-form-grid label.full{grid-column:auto}.contact-side{grid-template-columns:1fr}.contact-side-card.appointment-note{grid-column:auto}.contact-submit{width:100%;justify-content:center;min-height:54px}.contact-business-toggle{align-items:flex-start}.contact-form .g-recaptcha{transform-origin:left top;max-width:100%}}

/* v12 Store information */
.store-page{background:#f4f3f1}
.store-hero{background:radial-gradient(circle at 80% 15%,rgba(255,116,22,.12),transparent 32%),linear-gradient(115deg,#08090b 0%,#15191e 66%,#20150e 100%);color:#fff;padding:clamp(54px,6vw,88px) 0;border-bottom:4px solid var(--orange)}
.store-hero-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr);gap:clamp(30px,5vw,70px);align-items:center}
.store-hero-copy h1{font-size:clamp(42px,5.5vw,72px);line-height:1.01;letter-spacing:-.045em;margin:0 0 20px;color:#fff;max-width:850px}
.store-hero-lead{font-size:clamp(18px,1.6vw,22px);line-height:1.55;color:#c9ccd1;max-width:760px;margin:0}
.store-hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:30px}
.store-appointment-card{display:flex;gap:20px;background:linear-gradient(135deg,rgba(255,116,22,.18),rgba(255,116,22,.06));border:1px solid rgba(255,147,73,.35);border-radius:20px;padding:26px;box-shadow:0 20px 50px rgba(0,0,0,.22)}
.store-appointment-icon{display:flex;align-items:center;justify-content:center;width:50px;height:50px;flex:0 0 50px;border-radius:50%;background:var(--orange);color:#090909;font-size:20px}
.store-appointment-card strong{display:block;font-size:clamp(21px,2vw,27px);line-height:1.2;color:#fff;margin-bottom:8px}.store-appointment-card p{margin:0;color:#d3d5d8;font-size:16px;line-height:1.55}
.store-location-section{padding:clamp(46px,6vw,82px) 0;background:linear-gradient(180deg,#f5f3f0,#fff)}
.store-location-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(300px,.65fr);gap:26px;align-items:stretch}
.store-map-card{background:#fff;border:1px solid #dedede;border-radius:22px;overflow:hidden;box-shadow:0 16px 40px rgba(19,22,28,.08);min-width:0}
.store-map-heading{display:flex;justify-content:space-between;align-items:end;gap:24px;padding:25px 28px}.store-kicker{font-size:13px;letter-spacing:.13em;text-transform:uppercase;color:#d95c07;font-weight:1000;margin:0 0 4px}.store-map-heading h2{font-size:clamp(27px,3vw,38px);margin:0;color:#15181d;letter-spacing:-.025em}.store-map-heading p{margin:3px 0 0;color:#6e7278}.store-directions-link{color:#be4a00;font-weight:900;text-decoration:none;text-align:right}.store-directions-link:hover{text-decoration:underline;text-underline-offset:4px}
.store-map-frame{position:relative;min-height:460px;background:#e7e4df;border-top:1px solid #e2e2e2}.store-map-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0;display:block}
.store-detail-stack{display:grid;gap:15px}
.store-detail-card{display:flex;gap:16px;align-items:flex-start;background:#fff;border:1px solid #dedfe1;border-radius:17px;padding:21px;box-shadow:0 8px 22px rgba(18,22,29,.045);min-width:0}.store-detail-card-dark{background:#171a1f;color:#fff;border-color:#171a1f}.store-detail-icon{display:flex;width:46px;height:46px;flex:0 0 46px;border-radius:12px;align-items:center;justify-content:center;background:#fff0e5;color:#db5b08;font-size:23px;font-weight:900}.store-detail-card-dark .store-detail-icon{background:var(--orange);color:#111}.store-detail-card>div{display:flex;flex-direction:column;min-width:0}.store-label{font-size:12px;text-transform:uppercase;letter-spacing:.09em;font-weight:1000;color:#81858b;margin-bottom:4px}.store-detail-card-dark .store-label{color:#ff9c57}.store-detail-card strong,.store-detail-card a{font-size:19px;line-height:1.35;font-weight:900}.store-detail-card a{color:#b74600;text-decoration:none;overflow-wrap:anywhere}.store-detail-card-dark strong{color:#fff}.store-detail-card small{font-size:13px;color:#777c83;margin-top:5px;line-height:1.4}.store-hours-card>div>span:not(.store-label){font-weight:700}.store-sunday{margin-top:5px}
.store-visit-section{padding:clamp(58px,7vw,90px) 0;background:#101317;color:#fff}.store-section-heading{text-align:center;max-width:780px;margin:0 auto 38px}.store-section-heading h2{font-size:clamp(34px,4vw,48px);margin:0 0 10px;color:#fff;letter-spacing:-.035em}.store-section-heading>p:last-child{color:#bfc3c8;margin:0;font-size:18px}.store-visit-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:21px}.store-visit-card{position:relative;background:#191d22;border:1px solid rgba(255,255,255,.1);border-radius:20px;padding:29px;min-width:0}.store-visit-card.featured{border-color:rgba(255,126,37,.7);box-shadow:inset 0 3px 0 var(--orange)}.store-visit-badge{position:absolute;top:18px;right:18px;background:var(--orange);color:#0c0d0e;border-radius:999px;font-size:11px;letter-spacing:.05em;text-transform:uppercase;font-weight:1000;padding:7px 10px}.store-visit-icon{width:54px;height:54px;display:flex;align-items:center;justify-content:center;border-radius:14px;background:#2a1c13;color:#ff8128;font-size:28px;margin-bottom:18px}.store-visit-card h3{font-size:25px;margin:0 0 10px;color:#fff}.store-visit-card p{margin:0 0 17px;color:#c8cbd0;font-size:16px;line-height:1.55}.store-visit-card ul{list-style:none;padding:0;margin:0;display:grid;gap:8px;color:#e0e2e5;font-size:15px}.store-visit-card li{position:relative;padding-left:22px}.store-visit-card li::before{content:"✓";position:absolute;left:0;color:var(--orange);font-weight:1000}
.store-arrival-section{padding:clamp(55px,7vw,88px) 0;background:#fff}.store-arrival-grid{display:grid;grid-template-columns:minmax(250px,.7fr) minmax(0,1.3fr);gap:clamp(32px,6vw,78px);align-items:start}.store-arrival-copy h2{font-size:clamp(34px,4vw,46px);margin:0 0 12px;letter-spacing:-.035em}.store-arrival-copy>p:last-child{color:#6b7077;margin:0;max-width:440px}.store-arrival-steps{list-style:none;margin:0;padding:0;display:grid;gap:14px}.store-arrival-steps li{display:grid;grid-template-columns:54px 1fr;gap:17px;align-items:start;background:#f6f5f3;border:1px solid #e5e3e0;border-radius:15px;padding:18px}.store-arrival-steps>li>span{display:flex;width:46px;height:46px;border-radius:50%;align-items:center;justify-content:center;background:var(--orange);color:#111;font-size:20px;font-weight:1000}.store-arrival-steps strong{font-size:20px}.store-arrival-steps p{margin:3px 0 0;color:#696e74;font-size:16px}
.store-bottom-cta{background:linear-gradient(115deg,#3a1908,#a7440c 55%,#15181c);color:#fff;padding:50px 0}.store-bottom-cta-shell{display:flex;align-items:center;justify-content:space-between;gap:40px}.store-bottom-cta .eyebrow{margin-bottom:8px;color:#ffae70}.store-bottom-cta h2{color:#fff;font-size:clamp(30px,3vw,42px);margin:0 0 6px}.store-bottom-cta p:last-child{margin:0;color:#f0ddd0}.store-bottom-actions{display:flex;gap:13px;flex-wrap:wrap;justify-content:flex-end}.store-bottom-actions .secondary-button{background:#111416}
@media(max-width:1000px){.store-hero-grid,.store-location-grid{grid-template-columns:1fr}.store-map-frame{min-height:400px}.store-detail-stack{grid-template-columns:1fr 1fr}.store-visit-grid{grid-template-columns:1fr 1fr}.store-visit-card:first-child{grid-column:1/-1}.store-arrival-grid{grid-template-columns:1fr}.store-arrival-copy>p:last-child{max-width:700px}}
@media(max-width:700px){.store-hero{padding-top:44px}.store-hero-grid{gap:26px}.store-hero-actions,.store-bottom-actions{flex-direction:column}.store-hero-actions a,.store-bottom-actions a{width:100%}.store-appointment-card{padding:20px;gap:14px}.store-appointment-icon{width:42px;height:42px;flex-basis:42px}.store-map-heading{align-items:flex-start;flex-direction:column;padding:21px 19px}.store-directions-link{text-align:left}.store-map-frame{min-height:340px}.store-detail-stack,.store-visit-grid{grid-template-columns:1fr}.store-visit-card:first-child{grid-column:auto}.store-visit-card{padding:24px 21px}.store-bottom-cta-shell{align-items:stretch;flex-direction:column;gap:24px}.store-bottom-actions{justify-content:flex-start}.store-arrival-steps li{grid-template-columns:46px 1fr;padding:15px}.store-arrival-steps>li>span{width:40px;height:40px}.store-detail-card{padding:18px}}
@media(min-width:1800px){.store-map-frame{min-height:520px}.store-location-grid{grid-template-columns:minmax(0,1.65fr) minmax(360px,.55fr)}}
