:root{
  --bg:#07131f; --card:#0b1d2c; --amber:#f5a524; --amber-light:#ffc65c; --amber-hover:#ffc65c;
  --text:#f5f7fa; --ink-strong:#ffffff; --muted:rgba(255,255,255,.55); --muted2:rgba(255,255,255,.4);
  --border:rgba(255,255,255,.12); --border-strong:rgba(255,255,255,.3); --label:rgba(255,255,255,.7);
  --surface-strong:rgba(7,19,31,.92); --surface-solid:rgba(7,19,31,.98);
  --input-bg:rgba(255,255,255,.03); --hover-bg:rgba(255,255,255,.05); --panel-bg:rgba(255,255,255,.04);
  --shadow-color:rgba(0,0,0,.35); --shadow-strong:rgba(0,0,0,.45); --toast-bg:#1a2f3f; --road-track:rgba(255,255,255,.12);
  --error:#fca5a5; --danger:#f87171;
  --hero-overlay:radial-gradient(circle at 75% 25%,rgba(245,165,36,.2),transparent 34%),linear-gradient(90deg,rgba(7,19,31,.94),rgba(7,19,31,.72),rgba(7,19,31,.28));
  --studio-fade:linear-gradient(to top,#07131f,rgba(7,19,31,.2),transparent);
  --studio-fade-side:linear-gradient(to top,rgba(7,19,31,.9),transparent);
  --on-amber:#07131f; --on-amber-muted:rgba(7,19,31,.65);
  color-scheme:dark;
}
[data-theme="light"]{
  --bg:#f4f7fa; --card:#ffffff; --amber:#e69416; --amber-light:#c47709; --amber-hover:#c47709;
  --text:#14283a; --ink-strong:#0d1c29; --muted:rgba(20,53,78,.62); --muted2:rgba(20,53,78,.45);
  --border:rgba(20,53,78,.14); --border-strong:rgba(20,53,78,.28); --label:rgba(20,53,78,.72);
  --surface-strong:rgba(244,247,250,.92); --surface-solid:rgba(244,247,250,.98);
  --input-bg:rgba(20,53,78,.035); --hover-bg:rgba(20,53,78,.06); --panel-bg:rgba(20,53,78,.045);
  --shadow-color:rgba(20,53,78,.16); --shadow-strong:rgba(20,53,78,.24); --toast-bg:#14283a; --road-track:rgba(20,53,78,.14);
  --error:#b91c1c; --danger:#dc2626;
  --hero-overlay:radial-gradient(circle at 76% 28%,rgba(230,148,22,.16),transparent 34%),linear-gradient(90deg,rgba(7,27,41,.94) 0%,rgba(14,43,59,.82) 40%,rgba(23,57,72,.5) 62%,rgba(231,239,243,.35) 100%);
  --studio-fade:linear-gradient(to top,#f4f7fa,rgba(244,247,250,.25),transparent);
  --studio-fade-side:linear-gradient(to top,rgba(7,19,31,.88),transparent);
  --on-amber:#172431; --on-amber-muted:rgba(23,36,49,.68);
  color-scheme:light;
}
body{transition:background-color .35s ease,color .35s ease;}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;-webkit-font-smoothing:antialiased;}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
.container{width:100%;max-width:1180px;margin-inline:auto;padding-inline:1.25rem;}
@media(min-width:768px){.container{padding-inline:2rem;}}
.font-display,h1,h2,h3{font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;}
.eyebrow{font-size:.7rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--amber);margin:0;}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;border-radius:999px;font-weight:700;font-size:.9rem;padding:.75rem 1.5rem;border:1px solid transparent;cursor:pointer;transition:.18s ease;font-family:inherit;}
.btn-primary{background:var(--amber);color:var(--bg);}
.btn-primary:hover{background:var(--amber-light);}
.btn-outline{border-color:var(--border);color:var(--text);background:transparent;}
.btn-outline:hover{border-color:var(--amber);color:var(--amber-light);}
.btn-block{width:100%;}
.btn-small{padding:.4rem .9rem;font-size:.8rem;}
.btn:disabled{opacity:.4;cursor:not-allowed;}

/* header */
.site-header{position:sticky;top:0;z-index:40;background:var(--surface-strong);backdrop-filter:blur(16px);border-bottom:1px solid var(--border);}
.site-header .container{display:flex;align-items:center;justify-content:space-between;height:64px;position:relative;}
.brand{display:flex;align-items:center;gap:.6rem;min-width:0;}
.brand-mark{display:grid;place-items:center;width:36px;height:36px;border-radius:10px;background:var(--amber);color:var(--on-amber);flex-shrink:0;font-weight:800;}
.brand-name{font-weight:700;font-size:1rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.brand-name .accent{color:var(--amber);}
.nav-links{display:none;align-items:center;gap:1.75rem;font-size:.9rem;color:var(--muted);}
.nav-links a{transition:.15s;}
.nav-links a:hover{color:var(--ink-strong);}
.nav-links .owner-link{color:var(--amber);}
.header-actions{display:none;align-items:center;gap:.5rem;}
.menu-toggle{display:grid;place-items:center;width:40px;height:40px;border-radius:10px;border:1px solid var(--border);background:transparent;color:var(--text);cursor:pointer;}
.theme-toggle{display:grid;place-items:center;width:40px;height:40px;border-radius:999px;border:1px solid var(--border);background:transparent;color:var(--text);cursor:pointer;transition:border-color .2s ease,color .2s ease,transform .3s cubic-bezier(.23,1,.32,1);}
.theme-toggle:hover{border-color:var(--amber);color:var(--amber-light);}
@media(min-width:900px){.nav-links,.header-actions{display:flex;}.menu-toggle{display:none;}}
.mobile-menu{position:absolute;left:0;right:0;top:100%;background:var(--surface-solid);border-bottom:1px solid var(--border);padding:1rem;display:flex;flex-direction:column;gap:.25rem;visibility:hidden;}
.mobile-menu.open{visibility:visible;}
.mobile-menu a,.mobile-menu button{display:block;padding:.75rem 1rem;border-radius:12px;color:var(--muted);background:none;border:none;text-align:left;font-size:.95rem;width:100%;cursor:pointer;font-family:inherit;}
.mobile-menu a:hover,.mobile-menu button:hover{background:var(--hover-bg);color:var(--ink-strong);}
.mobile-theme-row{display:flex;align-items:center;justify-content:space-between;}

/* hero */
.hero{position:relative;overflow:hidden;background:var(--bg);}
.hero::before{content:'';position:absolute;inset:0;z-index:2;pointer-events:none;background:radial-gradient(circle 260px at var(--spot-x,50%) var(--spot-y,50%),rgba(245,165,36,.35),transparent 70%);opacity:0;transition:opacity .4s ease;mix-blend-mode:screen;}
.hero.spotlight-on::before{opacity:1;}
.hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.5;filter:saturate(.85) contrast(1.05);transform:scale(1.03);}
.hero-overlay{position:absolute;inset:0;background:var(--hero-overlay);}
.hero-inner{position:relative;z-index:1;padding:4rem 0;min-height:560px;display:flex;align-items:center;}
.hero-copy{max-width:640px;color:#ffffff;}
.pill{display:inline-flex;align-items:center;gap:.4rem;border-radius:999px;border:1px solid rgba(245,165,36,.3);background:rgba(245,165,36,.1);padding:.4rem .8rem;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.15em;color:var(--amber-light);margin-bottom:1rem;}
.rating-pill{display:inline-flex;align-items:center;gap:.5rem;border-radius:999px;border:1px solid rgba(245,165,36,.35);background:rgba(7,19,31,.75);padding:.5rem .8rem;font-size:.8rem;font-weight:600;color:rgba(255,255,255,.85);margin-bottom:1.5rem;}
.hero h1{font-size:clamp(2.4rem,5vw,4rem);font-weight:800;line-height:.97;letter-spacing:-.03em;margin:.5rem 0 1.5rem;color:#ffffff;}
.hero h1 .accent{
  background:linear-gradient(90deg,var(--amber) 0%,var(--amber-light) 25%,var(--amber) 50%,var(--amber-light) 75%,var(--amber) 100%);
  background-size:200% auto;
  color:transparent;
  -webkit-background-clip:text;
  background-clip:text;
  animation:shimmer-text 5s linear infinite;
}
@keyframes shimmer-text{to{background-position:-200% center;}}
.hero p.lead{font-size:1.1rem;line-height:1.7;color:rgba(255,255,255,.72);max-width:34rem;margin-bottom:2rem;}
.hero-ctas{display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:2.5rem;}
.call-link{display:inline-flex;align-items:center;gap:.5rem;border-radius:999px;border:1px solid rgba(255,255,255,.3);padding:.75rem 1.5rem;font-weight:600;color:#ffffff;}
.call-link:hover{border-color:rgba(255,255,255,.55);}
.hero-checks{display:flex;flex-wrap:wrap;gap:1.5rem;font-size:.9rem;color:rgba(255,255,255,.6);}
.hero-checks span{display:flex;align-items:center;gap:.4rem;}

/* motion strip — photographic vehicle pass with reliable CSS motion */
.motion-strip{position:relative;overflow:hidden;border-top:1px solid rgba(255,255,255,.12);border-bottom:1px solid rgba(255,255,255,.12);background:#07131f;color:#fff;isolation:isolate;min-height:136px;}
.motion-strip-track{position:relative;min-height:136px;display:flex;align-items:center;overflow:hidden;isolation:isolate;background-image:linear-gradient(90deg,rgba(3,10,16,.96),rgba(3,10,16,.42) 48%,rgba(3,10,16,.9)),url('../img/nova-finished-vehicle.jpg');background-size:cover;background-position:center 52%;}
.motion-strip-track::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(3,10,16,.18),rgba(3,10,16,.3) 58%,rgba(3,10,16,.78));z-index:1;pointer-events:none;}
.motion-road{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:2;background:linear-gradient(to bottom,transparent 0 57%,rgba(255,255,255,.04) 58%,rgba(255,255,255,.04) 59%,transparent 60%);}
.motion-road::before{content:"";position:absolute;left:0;right:0;bottom:17px;height:1px;background:rgba(255,255,255,.2);}
.motion-road::after{content:"";position:absolute;top:0;bottom:0;left:-24%;width:18%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.22),transparent);filter:blur(8px);animation:motion-sweep 4.8s ease-in-out infinite;}
.motion-car{position:absolute;z-index:3;left:0;bottom:2px;width:min(34vw,390px);height:auto;will-change:transform;filter:drop-shadow(0 8px 14px rgba(0,0,0,.42));pointer-events:none;animation:vehicle-pass 11s cubic-bezier(.45,0,.55,1) infinite;}
.motion-car img{display:block;width:100%;height:auto;object-fit:contain;mix-blend-mode:screen;opacity:.96;}
.motion-car-a{animation-delay:-5.5s;}
.motion-car-b{animation-delay:0s;}
.motion-marquee{position:relative;z-index:5;display:flex;align-items:center;gap:0;white-space:nowrap;width:max-content;height:100%;padding:0 2rem;color:rgba(255,255,255,.94);font-size:.76rem;font-weight:850;letter-spacing:.2em;text-shadow:0 1px 10px rgba(0,0,0,.85);animation:marquee-flow 28s linear infinite;will-change:transform;}
.motion-marquee-group{display:flex;align-items:center;gap:1.15rem;flex:none;padding-right:2.5rem;}
.motion-marquee span{display:inline-flex;align-items:center;}
.motion-marquee i{font-style:normal;color:#ef3340;font-size:.9rem;}
.road-line{position:absolute;bottom:17px;width:84px;height:2px;border-radius:999px;background:#ef3340;opacity:.65;box-shadow:0 0 12px rgba(239,51,64,.25);animation:road-flow 2.2s linear infinite;}
.road-line-a{left:2%;}.road-line-b{left:24%;animation-delay:-.44s}.road-line-c{left:47%;animation-delay:-.88s}.road-line-d{left:70%;animation-delay:-1.32s}.road-line-e{left:93%;animation-delay:-1.76s}
@keyframes vehicle-pass{0%{transform:translate3d(-115%,0,0) scale(.84);opacity:0}8%{opacity:.98}42%{transform:translate3d(22vw,-1px,0) scale(.98);opacity:1}72%{transform:translate3d(70vw,-2px,0) scale(1.02);opacity:1}92%{opacity:.98}100%{transform:translate3d(125vw,-1px,0) scale(.9);opacity:0}}
@keyframes motion-sweep{0%,18%{transform:translateX(-200%);opacity:0}35%{opacity:.9}70%,100%{transform:translateX(780%);opacity:0}}
@keyframes road-flow{from{transform:translateX(-140px);opacity:.05}15%{opacity:.6}to{transform:translateX(110vw);opacity:.05}}
@keyframes marquee-flow{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media(max-width:899px){.motion-strip,.motion-strip-track{min-height:104px}.motion-car{width:min(46vw,270px);bottom:1px}.motion-marquee{font-size:.61rem;letter-spacing:.15em;padding:0 1rem;animation-duration:23s}.motion-marquee-group{gap:.8rem;padding-right:1.8rem}.road-line{width:58px;bottom:13px}}
@media(max-width:520px){.motion-strip,.motion-strip-track{min-height:88px}.motion-car{width:230px}.motion-marquee{font-size:.54rem;letter-spacing:.12em}.motion-marquee-group{gap:.62rem;padding-right:1.45rem}}
@media(prefers-reduced-motion:reduce){.motion-car,.motion-road::after,.motion-marquee,.road-line{animation:none !important}.motion-car{left:50%;transform:translateX(-50%);opacity:.82;}}

/* trust strip */
.trust-strip{border-top:1px solid var(--border);border-bottom:1px solid var(--border);background:var(--card);}
.trust-grid{display:grid;gap:1.5rem;padding:1.75rem 0;grid-template-columns:1fr;}
@media(min-width:640px){.trust-grid{grid-template-columns:1fr 1fr;}}
@media(min-width:1024px){.trust-grid{grid-template-columns:repeat(4,1fr);}}
.trust-item{display:flex;align-items:center;gap:1rem;}
.icon-badge{display:grid;place-items:center;width:44px;height:44px;border-radius:999px;background:rgba(245,165,36,.15);color:var(--amber);flex-shrink:0;}
.trust-item strong{display:block;font-weight:600;}
.trust-item span{font-size:.85rem;color:var(--muted2);}

/* services */
.section{padding:5rem 0;}
.section-head{display:flex;flex-direction:column;gap:1.25rem;justify-content:space-between;margin-bottom:3rem;}
@media(min-width:768px){.section-head{flex-direction:row;align-items:flex-end;}}
.section-head h2{font-size:clamp(1.8rem,3.5vw,2.6rem);font-weight:700;letter-spacing:-.02em;margin:.5rem 0 0;}
.section-head h2 .muted{color:var(--muted2);}
.section-head p{max-width:20rem;color:var(--muted);}
.services-grid{display:grid;gap:1rem;grid-template-columns:1fr;}
@media(min-width:640px){.services-grid{grid-template-columns:1fr 1fr;}}
@media(min-width:1024px){.services-grid{grid-template-columns:repeat(3,1fr);}}
.service-card{border:1px solid var(--border);background:var(--card);border-radius:20px;padding:1.5rem;transition:.2s ease;}
.service-card:hover{transform:translateY(-4px);border-color:rgba(245,165,36,.5);}
.service-top{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:2rem;}
.service-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:14px;background:rgba(245,165,36,.1);color:var(--amber);}
.service-duration{font-size:.72rem;font-weight:700;color:var(--muted2);}
.service-card h3{font-size:1.2rem;font-weight:700;margin:0 0 .5rem;}
.service-card p.desc{font-size:.9rem;line-height:1.6;color:var(--muted);min-height:3rem;}
.service-foot{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--border);padding-top:1rem;margin-top:1.25rem;}
.service-foot .price{font-size:.85rem;color:var(--muted);}
.book-link{background:none;border:none;color:var(--amber);font-weight:700;font-size:.85rem;cursor:pointer;display:flex;align-items:center;gap:.25rem;font-family:inherit;}
.center-cta{display:flex;justify-content:center;margin-top:2rem;}

/* studio gallery */
.studio-grid{display:grid;gap:1rem;grid-template-columns:1fr;}
@media(min-width:768px){.studio-grid{grid-template-columns:1.15fr .85fr;}}
.studio-main{position:relative;min-height:300px;border-radius:24px;overflow:hidden;border:1px solid var(--border);}
.studio-main img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.studio-main::after{content:'';position:absolute;inset:0;background:var(--studio-fade);}
.studio-main-copy{position:relative;z-index:1;height:100%;display:flex;flex-direction:column;justify-content:flex-end;padding:2rem;min-height:300px;}
.studio-main-copy p.big{font-size:1.5rem;font-weight:700;margin-top:6rem;}
.studio-side{display:grid;gap:1rem;}
@media(min-width:640px){.studio-side{grid-template-columns:1fr 1fr;}}
@media(min-width:768px){.studio-side{grid-template-columns:1fr;}}
.studio-thumb{position:relative;min-height:170px;border-radius:24px;overflow:hidden;border:1px solid var(--border);}
.studio-thumb img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.studio-thumb::after{content:'';position:absolute;inset:0;background:var(--studio-fade-side);}
.studio-thumb span{position:relative;z-index:1;display:block;padding:1.1rem;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.15em;color:rgba(255,255,255,.85);}

/* about / standard */
.standard-section{border-top:1px solid var(--border);border-bottom:1px solid var(--border);background:var(--amber);color:var(--on-amber);}
.standard-grid{display:grid;gap:3rem;padding:5rem 0;grid-template-columns:1fr;}
@media(min-width:768px){.standard-grid{grid-template-columns:.8fr 1.2fr;align-items:center;}}
.standard-grid h2{font-size:clamp(1.8rem,3.5vw,2.6rem);font-weight:700;letter-spacing:-.02em;margin:.5rem 0 0;}
.standard-points{display:grid;gap:2rem;grid-template-columns:1fr;}
@media(min-width:640px){.standard-points{grid-template-columns:1fr 1fr;}}
.standard-points .num{font-size:2.2rem;font-weight:800;}
.standard-points h3{margin:.75rem 0 .5rem;}
.standard-points p{font-size:.9rem;line-height:1.6;color:var(--on-amber-muted);}

/* contact */
.contact-grid{display:grid;gap:2.5rem;grid-template-columns:1fr;}
@media(min-width:900px){.contact-grid{grid-template-columns:1fr .8fr;}}
.contact-details{margin-top:2.25rem;display:grid;gap:1.25rem;color:var(--muted);}
.contact-details p{display:flex;gap:.75rem;margin:0;}
.contact-details svg{color:var(--amber);flex-shrink:0;margin-top:.2rem;}
.contact-card{border:1px solid var(--border);background:var(--card);border-radius:24px;padding:1.75rem;}
.contact-card h3{margin:.5rem 0 .75rem;font-size:1.4rem;}
.contact-card p{color:var(--muted);font-size:.9rem;margin-bottom:1.5rem;}

footer{border-top:1px solid var(--border);}
footer .container{display:flex;flex-direction:column;gap:.5rem;padding:1.75rem 0;font-size:.85rem;color:var(--muted2);}
@media(min-width:640px){footer .container{flex-direction:row;align-items:center;justify-content:space-between;}}

/* booking modal */
.modal-overlay{position:fixed;inset:0;z-index:50;background:var(--surface-strong);backdrop-filter:blur(8px);overflow-y:auto;padding:1rem;display:none;}
.modal-overlay.open{display:block;}
.modal-panel{max-width:640px;margin:1.5rem auto;border-radius:24px;border:1px solid var(--border-strong);background:var(--card);box-shadow:0 30px 60px var(--shadow-strong);}
.modal-head{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border);padding:1.25rem 1.5rem;}
.modal-head h2{margin:.15rem 0 0;font-size:1.35rem;}
.modal-close{background:none;border:none;color:var(--muted);width:36px;height:36px;border-radius:999px;cursor:pointer;display:grid;place-items:center;}
.modal-close:hover{background:var(--hover-bg);color:var(--ink-strong);}
.progress-row{display:flex;gap:.25rem;padding:1.25rem 1.5rem 0;}
.progress-row .seg{height:4px;flex:1;border-radius:999px;background:var(--hover-bg);}
.progress-row .seg.done{background:var(--amber);}
.modal-body{padding:1.25rem 1.5rem 1.5rem;}
.modal-foot{display:flex;justify-content:space-between;border-top:1px solid var(--border);padding:1.25rem 1.5rem;}
.field{margin-bottom:1rem;}
.field label{display:block;font-size:.85rem;margin-bottom:.4rem;color:var(--label);}
.field label .opt{color:var(--muted2);font-weight:400;}
.field input,.field textarea,.field select{width:100%;border-radius:12px;border:1px solid var(--border);background:var(--input-bg);color:var(--text);padding:.7rem .9rem;font-family:inherit;font-size:.95rem;}
.field input:focus,.field textarea:focus,.field select:focus{outline:none;border-color:var(--amber);}
.field-error{color:var(--error);font-size:.78rem;margin-top:.3rem;}
.two-col{display:grid;gap:1rem;grid-template-columns:1fr;}
@media(min-width:560px){.two-col{grid-template-columns:1fr 1fr;}}
.service-pick-grid{display:grid;gap:.75rem;grid-template-columns:1fr;}
@media(min-width:560px){.service-pick-grid{grid-template-columns:1fr 1fr;}}
.service-pick{border:1px solid var(--border);background:var(--input-bg);border-radius:16px;padding:1rem;text-align:left;cursor:pointer;font-family:inherit;color:var(--text);}
.service-pick:hover{border-color:var(--border-strong);}
.service-pick.selected{border-color:var(--amber);background:rgba(245,165,36,.1);}
.service-pick .row{display:flex;align-items:center;justify-content:space-between;font-weight:600;}
.service-pick .meta{margin-top:.4rem;font-size:.82rem;color:var(--muted2);}
.slots-grid{display:grid;gap:.6rem;grid-template-columns:repeat(2,1fr);}
@media(min-width:560px){.slots-grid{grid-template-columns:repeat(3,1fr);}}
.slot-btn{border:1px solid var(--border);border-radius:12px;padding:.7rem;font-weight:600;font-size:.85rem;background:transparent;color:var(--text);cursor:pointer;font-family:inherit;}
.slot-btn:hover{border-color:var(--amber);}
.slot-btn.selected{background:var(--amber);border-color:var(--amber);color:var(--on-amber);}
.empty-note{border:1px solid var(--border);border-radius:16px;padding:1.5rem;text-align:center;color:var(--muted);}
.dropoff-note{margin-top:1rem;border:1px solid rgba(245,165,36,.25);background:rgba(245,165,36,.1);border-radius:16px;padding:1rem;font-size:.9rem;color:var(--label);}
.dropoff-note strong{color:var(--amber-light);}
.summary-box{border-radius:16px;background:var(--panel-bg);padding:1.25rem;}
.summary-box .row{margin-bottom:.75rem;font-size:.9rem;}
.summary-box .row span{display:block;color:var(--muted2);font-size:.8rem;}
.success-box{text-align:center;padding:1rem;}
.success-icon{width:64px;height:64px;border-radius:999px;background:var(--amber);color:var(--on-amber);display:grid;place-items:center;margin:0 auto 1.5rem;}
.reference-box{max-width:22rem;margin:1.75rem auto 0;border-radius:16px;border:1px solid var(--border);background:var(--panel-bg);padding:1.25rem;text-align:left;}
.reference-box .ref{font-family:monospace;font-size:1.4rem;font-weight:700;color:var(--amber);margin-top:.25rem;}
.toast{position:fixed;bottom:1.5rem;left:50%;transform:translateX(-50%);background:var(--toast-bg);color:var(--ink-strong);padding:.85rem 1.25rem;border-radius:12px;font-size:.9rem;box-shadow:0 12px 24px var(--shadow-color);z-index:100;max-width:90vw;}

/* admin */
.admin-body{background:var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;margin:0;}
.owner-login-shell{min-height:100vh;display:grid;place-items:center;padding:1.5rem;}
.owner-login-card{width:100%;max-width:360px;border:1px solid var(--border);background:var(--card);border-radius:20px;padding:2rem;}
.owner-login-card h1{margin:.4rem 0 1.25rem;font-size:1.5rem;}
.owner-login-card label{display:block;font-size:.85rem;margin-bottom:1.25rem;color:var(--label);}
.owner-login-card input{width:100%;margin-top:.4rem;border-radius:10px;border:1px solid var(--border);background:var(--input-bg);color:var(--text);padding:.65rem .8rem;font-family:inherit;}
.form-error{color:var(--error);font-size:.85rem;}
.back-link{display:block;text-align:center;margin-top:1rem;color:var(--muted);font-size:.85rem;}
.admin-shell{max-width:1180px;margin:0 auto;padding:2rem 1.25rem 4rem;}
.admin-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem;}
.admin-header h1{margin:.3rem 0 0;font-size:1.8rem;}
.admin-flash{background:rgba(245,165,36,.15);border:1px solid rgba(245,165,36,.35);color:var(--amber-light);padding:.75rem 1rem;border-radius:12px;margin-bottom:1.25rem;font-size:.9rem;}
.admin-stats{display:grid;gap:1rem;grid-template-columns:repeat(2,1fr);margin-bottom:1.5rem;}
@media(min-width:640px){.admin-stats{grid-template-columns:repeat(4,1fr);}}
.admin-stat{border:1px solid var(--border);background:var(--card);border-radius:16px;padding:1.25rem;font-size:.85rem;color:var(--muted);}
.admin-stat span{display:block;font-size:1.8rem;font-weight:700;color:var(--ink-strong);}
.admin-card{border:1px solid var(--border);background:var(--card);border-radius:20px;padding:1.5rem;margin-bottom:1.5rem;}
.admin-card h2{margin:0 0 1rem;font-size:1.2rem;}
.admin-filters{display:flex;flex-wrap:wrap;gap:1rem;align-items:end;margin-bottom:1.25rem;}
.admin-filters label{font-size:.8rem;color:var(--muted);display:flex;flex-direction:column;gap:.3rem;}
.admin-filters input,.admin-filters select{border-radius:10px;border:1px solid var(--border);background:var(--input-bg);color:var(--text);padding:.5rem .7rem;font-family:inherit;}
.admin-table-wrap{overflow-x:auto;}
.admin-table{width:100%;border-collapse:collapse;font-size:.85rem;}
.admin-table th{text-align:left;padding:.6rem .75rem;color:var(--muted2);border-bottom:1px solid var(--border);white-space:nowrap;}
.admin-table td{padding:.6rem .75rem;border-bottom:1px solid var(--border);vertical-align:top;}
.admin-table select{background:var(--hover-bg);color:var(--text);border:1px solid var(--border);border-radius:8px;padding:.3rem .5rem;font-family:inherit;}
.admin-muted{color:var(--muted2);font-size:.8rem;}
.mono{font-family:monospace;}
.badge{display:inline-block;margin-left:.5rem;font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--amber-light);background:rgba(245,165,36,.15);padding:.15rem .5rem;border-radius:999px;}
.status-pill{padding:.25rem .6rem;border-radius:999px;font-size:.75rem;font-weight:600;}
.status-pending{background:rgba(250,204,21,.15);color:#facc15;}
.status-confirmed{background:rgba(74,222,128,.15);color:#4ade80;}
.status-completed{background:rgba(96,165,250,.15);color:#60a5fa;}
.status-cancelled{background:rgba(248,113,113,.15);color:#f87171;}
.inline-form{display:inline;}
.admin-form-grid{display:grid;gap:1rem;grid-template-columns:1fr 1fr;margin-bottom:.75rem;}
@media(min-width:768px){.admin-form-grid{grid-template-columns:repeat(4,1fr);}}
.admin-form-grid label{font-size:.8rem;color:var(--muted);display:flex;flex-direction:column;gap:.3rem;}
.admin-form-grid input{border-radius:10px;border:1px solid var(--border);background:var(--input-bg);color:var(--text);padding:.5rem .7rem;font-family:inherit;}
.admin-form-grid button{grid-column:1/-1;justify-self:start;}
.closed-dates-list{list-style:none;padding:0;margin:0;display:grid;gap:.5rem;}
.closed-dates-list li{display:flex;align-items:center;justify-content:space-between;font-size:.9rem;border-bottom:1px solid var(--border);padding-bottom:.5rem;}
.link-button{background:none;border:none;color:var(--danger);cursor:pointer;font-family:inherit;font-size:.85rem;}

.hidden{display:none !important;}

/* ================= ANIMATIONS ================= */
@media (prefers-reduced-motion: reduce){
  *{animation-duration:.001ms !important;animation-iteration-count:1 !important;transition-duration:.001ms !important;}
  html{scroll-behavior:auto !important;}
  .motion-car,.motion-marquee,.road-line{animation:none !important;}
}

/* ---- intro splash ---- */
#introOverlay{position:fixed;inset:0;z-index:200;background:var(--bg);display:flex;align-items:center;justify-content:center;transition:opacity .6s ease,visibility .6s ease,background-color .35s ease;}
#introOverlay.out{opacity:0;visibility:hidden;pointer-events:none;}
.intro-mark{display:flex;align-items:center;gap:.75rem;}
.intro-mark .badge-n{width:52px;height:52px;border-radius:14px;background:var(--amber);color:var(--bg);display:grid;place-items:center;font-weight:800;font-size:1.4rem;animation:intro-pop .6s cubic-bezier(.23,1,.32,1) both;}
.intro-mark .word{font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;font-weight:700;font-size:1.4rem;letter-spacing:.08em;display:flex;}
.intro-mark .word span{display:inline-block;opacity:0;animation:letter-in .5s cubic-bezier(.23,1,.32,1) forwards;}
@keyframes intro-pop{from{opacity:0;transform:scale(.4) rotate(-8deg);}to{opacity:1;transform:scale(1) rotate(0);}}
@keyframes letter-in{from{opacity:0;transform:translateY(10px);letter-spacing:.35em;}to{opacity:1;transform:translateY(0);letter-spacing:.08em;}}

/* ---- scroll progress bar ---- */
#scrollProgress{position:fixed;top:0;left:0;height:3px;background:linear-gradient(90deg,var(--amber),var(--amber-light));z-index:60;width:0;transition:width .1s linear;}

/* ---- generic scroll reveal ---- */
[data-reveal]{opacity:0;transform:translateY(26px);transition:opacity .7s cubic-bezier(.23,1,.32,1),transform .7s cubic-bezier(.23,1,.32,1);}
[data-reveal].in-view{opacity:1;transform:translateY(0);}
[data-reveal="left"]{transform:translateX(-30px);}
[data-reveal="left"].in-view{transform:translateX(0);}
[data-reveal="right"]{transform:translateX(30px);}
[data-reveal="right"].in-view{transform:translateX(0);}
[data-reveal="zoom"]{transform:scale(.92);}
[data-reveal="zoom"].in-view{transform:scale(1);}

/* ---- header ---- */
.site-header{transition:background-color .3s ease,box-shadow .3s ease,height .3s ease;}
.site-header.scrolled{background:var(--surface-solid);box-shadow:0 8px 24px var(--shadow-color);}
.nav-links a{position:relative;}
.nav-links a:not(.owner-link)::after{content:'';position:absolute;left:0;right:100%;bottom:-4px;height:2px;background:var(--amber);transition:right .25s cubic-bezier(.23,1,.32,1);}
.nav-links a:not(.owner-link):hover::after{right:0;}
.mobile-menu{transform:translateY(-8px);opacity:0;transition:transform .25s cubic-bezier(.23,1,.32,1),opacity .25s ease,visibility 0s .25s;pointer-events:none;}
.mobile-menu.open{transform:translateY(0);opacity:1;pointer-events:auto;transition:transform .25s cubic-bezier(.23,1,.32,1),opacity .25s ease;}
.brand-mark{transition:transform .3s cubic-bezier(.23,1,.32,1);}
.brand:hover .brand-mark{transform:rotate(-8deg) scale(1.08);}

/* ---- buttons ---- */
.btn{position:relative;overflow:hidden;transform:translateZ(0);}
.btn:active{transform:scale(.96);}
.btn-primary::after{content:'';position:absolute;top:0;left:-60%;width:40%;height:100%;background:linear-gradient(120deg,transparent,rgba(255,255,255,.55),transparent);transform:skewX(-20deg);transition:left .7s cubic-bezier(.23,1,.32,1);}
.btn-primary:hover::after{left:130%;}
.menu-toggle svg{transition:transform .3s ease;}
.menu-toggle:active svg{transform:scale(.85);}

/* ---- hero ---- */
.hero-bg{animation:hero-drift 14s ease-in-out infinite alternate;}
@keyframes hero-drift{from{transform:translateY(var(--parallax-y,0px)) scale(1.04) translate3d(-.5%,-.3%,0);}to{transform:translateY(var(--parallax-y,0px)) scale(1.1) translate3d(.5%,.3%,0);}}
.hero-copy .pill{animation:pill-in .6s .1s cubic-bezier(.23,1,.32,1) both;}
.hero-copy .rating-pill{animation:pill-in .6s .25s cubic-bezier(.23,1,.32,1) both;}
.hero h1{animation:reveal-up-anim .7s .35s cubic-bezier(.23,1,.32,1) both;}
.hero p.lead{animation:reveal-up-anim .7s .48s cubic-bezier(.23,1,.32,1) both;}
.hero-ctas{animation:reveal-up-anim .7s .6s cubic-bezier(.23,1,.32,1) both;}
.hero-checks{animation:reveal-up-anim .7s .72s cubic-bezier(.23,1,.32,1) both;}
@keyframes pill-in{from{opacity:0;transform:translateY(-10px);}to{opacity:1;transform:translateY(0);}}
@keyframes reveal-up-anim{from{opacity:0;transform:translateY(18px);}to{opacity:1;transform:translateY(0);}}
.rating-pill{transition:transform .2s ease,border-color .2s ease;}
.rating-pill:hover{transform:translateY(-2px);border-color:var(--amber);}
.call-link{transition:transform .2s ease,border-color .2s ease;}
.call-link:hover{transform:translateY(-2px);}

/* ---- trust strip ---- */
.trust-item{transition:transform .25s cubic-bezier(.23,1,.32,1);}
.trust-item:hover{transform:translateY(-3px);}
.icon-badge{transition:transform .3s cubic-bezier(.23,1,.32,1),background .3s ease;}
.trust-item:hover .icon-badge{transform:scale(1.12) rotate(-6deg);background:rgba(245,165,36,.28);}

/* ---- service cards ---- */
.service-card{transition:transform .3s cubic-bezier(.23,1,.32,1),border-color .3s ease,box-shadow .3s ease;}
.service-card:hover{box-shadow:0 18px 36px var(--shadow-color);}
.service-icon{transition:transform .3s cubic-bezier(.23,1,.32,1);}
.service-card:hover .service-icon{transform:scale(1.12) rotate(-6deg);}
.service-icon svg path,.service-icon svg line,.service-icon svg circle{stroke-dasharray:70;stroke-dashoffset:70;animation:icon-draw 1s .15s cubic-bezier(.65,0,.35,1) forwards;}
@keyframes icon-draw{to{stroke-dashoffset:0;}}
.btn-magnetic{will-change:transform;}
.book-link{transition:gap .2s ease,color .2s ease;}
.book-link:hover{gap:.5rem;color:var(--amber-light);}
.center-cta .btn{transition:transform .25s cubic-bezier(.23,1,.32,1);}
.center-cta .btn:hover{transform:translateY(-2px);}

/* ---- studio gallery ---- */
.studio-main,.studio-thumb{transition:transform .3s cubic-bezier(.23,1,.32,1);}
.studio-main img,.studio-thumb img{transition:transform .7s cubic-bezier(.23,1,.32,1);}
.studio-main:hover img,.studio-thumb:hover img{transform:scale(1.07);}
.studio-main-copy p.big{transition:transform .3s ease;}

/* ---- about / standard ---- */
.standard-points .num{transition:transform .3s cubic-bezier(.23,1,.32,1);}
.standard-points > div:hover .num{transform:translateX(4px);}

/* ---- contact ---- */
.contact-details p{transition:transform .25s ease;}
.contact-details p:hover{transform:translateX(4px);}
.contact-card{transition:transform .3s cubic-bezier(.23,1,.32,1),box-shadow .3s ease;}
.contact-card:hover{transform:translateY(-4px);box-shadow:0 20px 40px var(--shadow-color);}

/* ---- back to top ---- */
#backToTop{position:fixed;right:1.25rem;bottom:1.25rem;width:46px;height:46px;border-radius:999px;background:var(--amber);color:var(--on-amber);border:none;display:grid;place-items:center;cursor:pointer;box-shadow:0 10px 24px var(--shadow-color);z-index:45;opacity:0;transform:translateY(16px) scale(.8);pointer-events:none;transition:opacity .3s cubic-bezier(.23,1,.32,1),transform .3s cubic-bezier(.23,1,.32,1);}
#backToTop.show{opacity:1;transform:translateY(0) scale(1);pointer-events:auto;}
#backToTop:hover{transform:translateY(-3px) scale(1.05);}
#backToTop:active{transform:scale(.92);}

/* ---- modal ---- */
.modal-overlay{transition:opacity .25s ease;opacity:0;}
.modal-overlay.open{opacity:1;}
.modal-panel{animation:panel-in .35s cubic-bezier(.23,1,.32,1) both;}
@keyframes panel-in{from{opacity:0;transform:translateY(24px) scale(.97);}to{opacity:1;transform:translateY(0) scale(1);}}
.modal-close{transition:transform .25s cubic-bezier(.23,1,.32,1),background .2s ease;}
.modal-close:hover{transform:rotate(90deg);}
.progress-row .seg{transition:background-color .35s ease,transform .35s ease;}
.progress-row .seg.done{transform:scaleY(1.4);}
.step-anim{animation:step-in .32s cubic-bezier(.23,1,.32,1) both;}
@keyframes step-in{from{opacity:0;transform:translateY(14px) scale(.985);}to{opacity:1;transform:translateY(0) scale(1);}}
/* Service choices must never be invisible while animating. Use a transform-only
   entrance so every returned service remains visible even if a browser delays
   animation frames or has aggressive battery-saving behaviour. */
.service-pick{transition:transform .22s cubic-bezier(.23,1,.32,1),border-color .2s ease,background .2s ease;opacity:1;animation:pick-in-safe .38s cubic-bezier(.23,1,.32,1) both;}
.service-pick:hover{transform:translateY(-3px);}
.service-pick.selected{border-color:var(--amber);background:linear-gradient(135deg,rgba(226,27,35,.12),rgba(226,27,35,.045));box-shadow:0 0 0 1px rgba(226,27,35,.12),0 10px 26px rgba(226,27,35,.08);animation:pick-select .35s cubic-bezier(.23,1,.32,1);}
.service-pick.selected .pick-arrow{color:var(--amber);font-weight:800;}
@keyframes pick-in{from{opacity:0;transform:translateY(14px);}to{opacity:1;transform:translateY(0);}}
@keyframes pick-in-safe{from{transform:translateY(10px);}to{transform:translateY(0);}}
@keyframes pick-select{0%{transform:scale(1);}45%{transform:scale(1.035);}100%{transform:scale(1);}}
.slot-btn{opacity:0;animation:pick-in .4s cubic-bezier(.23,1,.32,1) both;transition:transform .2s ease,background .2s ease,border-color .2s ease;}
.slot-btn:hover{transform:translateY(-2px);}
.slot-btn.selected{animation:pick-select .3s cubic-bezier(.23,1,.32,1);}
.field{opacity:0;animation:pick-in .4s cubic-bezier(.23,1,.32,1) both;}
.field:nth-of-type(2){animation-delay:.06s;}
.field:nth-of-type(3){animation-delay:.12s;}
.field:nth-of-type(4){animation-delay:.18s;}
.two-col .field:nth-child(2){animation-delay:.06s;}
.field input:focus,.field textarea:focus,.field select:focus{transform:translateY(-1px);transition:transform .15s ease,border-color .15s ease;}

/* ---- loader (car driving scene) ---- */
.nova-loader{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;padding:2rem 1rem;color:var(--muted);}
.drive-scene{width:120px;height:56px;}
.drive-svg{overflow:visible;color:var(--amber);}
.car-body{fill:currentColor;}
.car-window{fill:var(--bg);opacity:.55;}
.wheel circle{fill:var(--ink-strong);opacity:.85;}
.wheel line{stroke:var(--amber);stroke-width:1.6;stroke-linecap:round;}
.wheel{animation:wheel-spin .5s linear infinite;}
.car-drive{animation:car-drive-loop 2.4s cubic-bezier(.45,0,.55,1) infinite;}
@keyframes wheel-spin{to{transform:rotate(360deg);}}
@keyframes car-drive-loop{0%,100%{transform:translateX(-6px);}50%{transform:translateX(8px);}}
.headlight-glow{fill:var(--amber);opacity:.25;animation:headlight-pulse 1.2s ease-in-out infinite;}
@keyframes headlight-pulse{0%,100%{opacity:.15;}50%{opacity:.4;}}
.road-line{stroke:var(--road-track);stroke-width:2;stroke-dasharray:6 6;animation:loader-road .5s linear infinite;}
@keyframes loader-road{to{stroke-dashoffset:-12;}}
.dust .puff{fill:var(--muted2);animation:puff-out 1.4s ease-out infinite;}
.dust .puff-1{animation-delay:0s;}
.dust .puff-2{animation-delay:.35s;}
.dust .puff-3{animation-delay:.7s;}
@keyframes puff-out{0%{opacity:.5;transform:translate(0,0) scale(1);}100%{opacity:0;transform:translate(-14px,-6px) scale(1.8);}}
.nova-loader p{font-size:.9rem;font-weight:600;animation:loader-fade 1.6s ease-in-out infinite;}
@keyframes loader-fade{0%,100%{opacity:.55;}50%{opacity:1;}}

/* ---- success ---- */
.success-icon-wrap{position:relative;width:64px;height:64px;margin:0 auto 1.5rem;}
.success-check{overflow:visible;}
.check-circle{fill:none;stroke:var(--amber);stroke-width:3;stroke-linecap:round;stroke-dasharray:182;stroke-dashoffset:182;animation:circle-draw .5s cubic-bezier(.65,0,.35,1) forwards;}
.check-mark{fill:none;stroke:var(--amber);stroke-width:4;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:34;stroke-dashoffset:34;animation:check-draw .35s .5s cubic-bezier(.65,0,.35,1) forwards;}
@keyframes circle-draw{to{stroke-dashoffset:0;}}
@keyframes check-draw{to{stroke-dashoffset:0;}}
.confetti-burst{position:absolute;inset:0;pointer-events:none;}
.confetti-piece{position:absolute;top:50%;left:50%;width:6px;height:6px;border-radius:1px;background:var(--c);opacity:0;transform:translate(-50%,-50%);animation:confetti-fly .7s var(--delay) cubic-bezier(.2,.7,.3,1) forwards;}
@keyframes confetti-fly{
  0%{opacity:0;transform:translate(-50%,-50%) rotate(var(--angle)) translateX(0) scale(.4);}
  15%{opacity:1;}
  100%{opacity:0;transform:translate(-50%,-50%) rotate(var(--angle)) translateX(var(--dist)) scale(1);}
}
.success-box .eyebrow,.success-box h3,.success-box>p.admin-muted{animation:reveal-up-anim .5s cubic-bezier(.23,1,.32,1) both;}
.success-box h3{animation-delay:.7s;}
.success-box>p.admin-muted{animation-delay:.78s;}
.reference-box{animation:reveal-up-anim .5s .86s cubic-bezier(.23,1,.32,1) both;}
.reference-box .ref{animation:ref-glow 2.2s ease-in-out 1.4s infinite;}
@keyframes ref-glow{0%,100%{text-shadow:0 0 0 rgba(245,165,36,0);}50%{text-shadow:0 0 14px rgba(245,165,36,.5);}}

/* ---- toast ---- */
.toast{animation:toast-life 3.8s cubic-bezier(.23,1,.32,1) forwards;}
@keyframes toast-life{0%{opacity:0;transform:translate(-50%,14px);}8%{opacity:1;transform:translate(-50%,0);}92%{opacity:1;transform:translate(-50%,0);}100%{opacity:0;transform:translate(-50%,10px);}}

/* ---- admin (subtle) ---- */
.admin-card{transition:transform .2s ease,box-shadow .2s ease;}
.admin-stat{transition:transform .2s ease;}
.admin-stat:hover{transform:translateY(-2px);}
.admin-flash{animation:pick-in .35s cubic-bezier(.23,1,.32,1) both;}
.status-pill{transition:transform .2s ease;}
.status-pill:hover{transform:scale(1.06);}

/* =========================================================
   NOVA 2026 VISUAL REFRESH — mobile-first polish
   ========================================================= */
:root{
  --bg:#f5f7fa;
  --card:#ffffff;
  --amber:#e21b23;
  --amber-light:#ff3b43;
  --amber-hover:#c91219;
  --text:#17202a;
  --ink-strong:#0b1117;
  --muted:rgba(23,32,42,.66);
  --muted2:rgba(23,32,42,.48);
  --border:rgba(23,32,42,.13);
  --border-strong:rgba(23,32,42,.27);
  --label:rgba(23,32,42,.74);
  --surface-strong:rgba(255,255,255,.88);
  --surface-solid:#ffffff;
  --input-bg:rgba(23,32,42,.035);
  --hover-bg:rgba(23,32,42,.055);
  --panel-bg:rgba(23,32,42,.045);
  --shadow-color:rgba(23,32,42,.13);
  --shadow-strong:rgba(23,32,42,.20);
  --toast-bg:#111820;
  --road-track:rgba(23,32,42,.16);
  --hero-overlay:linear-gradient(90deg,rgba(5,14,22,.90) 0%,rgba(5,14,22,.70) 55%,rgba(5,14,22,.28) 100%);
  --studio-fade:linear-gradient(to top,#f5f7fa,rgba(245,247,250,.25),transparent);
  --studio-fade-side:linear-gradient(to top,rgba(5,14,22,.88),transparent);
  --on-amber:#ffffff;
  --on-amber-muted:rgba(255,255,255,.78);
  color-scheme:light;
}
[data-theme="dark"]{
  --bg:#07131f;
  --card:#0b1d2c;
  --amber:#f11f2a;
  --amber-light:#ff5960;
  --amber-hover:#ff5960;
  --text:#f5f7fa;
  --ink-strong:#ffffff;
  --muted:rgba(255,255,255,.62);
  --muted2:rgba(255,255,255,.43);
  --border:rgba(255,255,255,.12);
  --border-strong:rgba(255,255,255,.28);
  --label:rgba(255,255,255,.72);
  --surface-strong:rgba(7,19,31,.90);
  --surface-solid:rgba(7,19,31,.98);
  --input-bg:rgba(255,255,255,.035);
  --hover-bg:rgba(255,255,255,.055);
  --panel-bg:rgba(255,255,255,.045);
  --shadow-color:rgba(0,0,0,.35);
  --shadow-strong:rgba(0,0,0,.45);
  --toast-bg:#172a3a;
  --road-track:rgba(255,255,255,.14);
  --hero-overlay:linear-gradient(90deg,rgba(7,19,31,.94) 0%,rgba(7,19,31,.72) 55%,rgba(7,19,31,.30) 100%);
  --studio-fade:linear-gradient(to top,#07131f,rgba(7,19,31,.2),transparent);
  --studio-fade-side:linear-gradient(to top,rgba(7,19,31,.9),transparent);
  --on-amber:#ffffff;
  --on-amber-muted:rgba(255,255,255,.78);
  color-scheme:dark;
}

/* Header logo */
.brand{width:155px;height:52px;display:flex;align-items:center;overflow:visible;}
.brand-logo{width:150px;height:50px;object-fit:contain;object-position:left center;filter:drop-shadow(0 5px 10px rgba(0,0,0,.14));transition:transform .28s cubic-bezier(.23,1,.32,1),filter .28s ease;}
.brand:hover .brand-logo{transform:translateY(-1px) scale(1.025);filter:drop-shadow(0 8px 16px rgba(0,0,0,.20));}

/* Modern branded intro */
#introOverlay{background:var(--bg);overflow:hidden;}
.intro-loader{position:relative;width:min(330px,78vw);display:flex;flex-direction:column;align-items:center;gap:1.1rem;}
.intro-logo-wrap{position:relative;width:min(300px,76vw);aspect-ratio:1.8/1;display:grid;place-items:center;}
.intro-logo{position:relative;z-index:2;width:90%;height:90%;object-fit:contain;animation:intro-logo-in .8s cubic-bezier(.16,1,.3,1) both;filter:drop-shadow(0 14px 28px rgba(0,0,0,.22));}
.intro-ring{position:absolute;border:1px solid rgba(226,27,35,.28);border-radius:50%;width:44%;aspect-ratio:1;animation:intro-ring 1.8s ease-out infinite;}
.intro-ring-two{animation-delay:.55s;}
.intro-progress{width:170px;height:3px;border-radius:999px;background:var(--border);overflow:hidden;}
.intro-progress span{display:block;height:100%;width:40%;border-radius:inherit;background:linear-gradient(90deg,var(--amber),var(--amber-light));animation:intro-progress 1.15s cubic-bezier(.4,0,.2,1) infinite;}
.intro-loading-text{margin:0;font-size:.58rem;letter-spacing:.22em;font-weight:800;color:var(--muted2);text-align:center;}
@keyframes intro-logo-in{from{opacity:0;transform:scale(.78) translateY(10px);}to{opacity:1;transform:scale(1) translateY(0);}}
@keyframes intro-ring{0%{opacity:0;transform:scale(.7);}25%{opacity:.65;}100%{opacity:0;transform:scale(2.25);}}
@keyframes intro-progress{0%{transform:translateX(-130%);}100%{transform:translateX(420%);}}

/* Mobile-first hero */
@media(max-width:899px){
  .site-header .container{height:68px;padding-inline:1rem;}
  .brand{width:154px;height:54px;}
  .brand-logo{width:150px;height:52px;}
  .hero-inner{min-height:calc(100svh - 68px);padding:3.5rem 1.15rem 4.5rem;align-items:flex-end;}
  .hero-copy{width:100%;max-width:100%;padding-bottom:.25rem;}
  .hero h1{font-size:clamp(2.35rem,10.5vw,3.25rem);line-height:.98;letter-spacing:-.045em;margin:.7rem 0 1.15rem;max-width:12ch;}
  .hero p.lead{font-size:1rem;line-height:1.62;max-width:34rem;margin-bottom:1.5rem;}
  .hero-ctas{display:grid;grid-template-columns:1fr;gap:.65rem;margin-bottom:1.7rem;max-width:330px;}
  .hero-ctas .btn,.hero-ctas .call-link{width:100%;}
  .hero-checks{gap:.55rem 1rem;font-size:.78rem;}
  .pill{font-size:.62rem;padding:.42rem .7rem;letter-spacing:.12em;}
  .rating-pill{font-size:.75rem;margin-bottom:1rem;}
  .mobile-menu{padding:.8rem 1rem 1rem;gap:.15rem;}
  .mobile-menu a,.mobile-menu button{padding:.78rem 1rem;margin:0;text-align:left;}
  .mobile-theme-row{width:100%;padding:.78rem 1rem;box-sizing:border-box;}
  .mobile-theme-row span{padding:0;}
  #mobileBookBtn{padding:.82rem 1rem;margin-top:.1rem;}
}

/* Consistent mobile nav alignment */
.mobile-menu > a,
.mobile-menu > button:not(.theme-toggle),
.mobile-menu .mobile-theme-row{margin-left:0;margin-right:0;}
.mobile-theme-row{justify-content:space-between !important;}
.mobile-theme-row .theme-toggle{margin-left:auto;}

/* Better service loading: skeleton-like branded state */
.nova-loader{min-height:170px;}
.nova-loader p{letter-spacing:.04em;}
.service-loading-sheen{position:relative;overflow:hidden;}
.service-loading-sheen::after{content:'';position:absolute;inset:0;transform:translateX(-100%);background:linear-gradient(90deg,transparent,rgba(255,255,255,.14),transparent);animation:sheen 1.2s infinite;}
@keyframes sheen{to{transform:translateX(100%);}}

/* Mobile interaction polish */
@media(max-width:899px){
  .service-card,.service-pick,.slot-btn,.trust-item,.contact-card,.studio-thumb,.studio-main{will-change:transform;}
  .service-card:active,.service-pick:active,.slot-btn:active{transform:scale(.985);}
  .btn:active,.call-link:active,.menu-toggle:active{transform:scale(.97);}
  .service-pick{min-height:88px;padding:1rem 1.05rem;}
  .service-pick .row{font-size:.95rem;}
  .service-pick .meta{line-height:1.45;}
  .section{padding:4rem 0;}
  .section-head{padding-inline:1.15rem;}
  .services-grid{padding-inline:1.15rem;}
  .center-cta{padding-inline:1.15rem;}
  .studio-grid,.contact-grid,.standard-grid{margin-inline:1.15rem;}
  .trust-grid{padding-inline:1.15rem;}
}

/* Stagger mobile menu entries */
.mobile-menu.open a,.mobile-menu.open .mobile-theme-row,.mobile-menu.open > button{animation:menu-item-in .35s cubic-bezier(.23,1,.32,1) both;}
.mobile-menu.open a:nth-child(1){animation-delay:.03s}.mobile-menu.open a:nth-child(2){animation-delay:.07s}.mobile-menu.open a:nth-child(3){animation-delay:.11s}.mobile-menu.open a:nth-child(4){animation-delay:.15s}.mobile-menu.open .mobile-theme-row{animation-delay:.19s}.mobile-menu.open #mobileBookBtn{animation-delay:.23s}
@keyframes menu-item-in{from{opacity:0;transform:translateX(-10px);}to{opacity:1;transform:translateX(0);}}

/* Cleaner light-mode surfaces */
[data-theme="light"] .hero-copy{color:#fff;}
[data-theme="light"] .service-card:hover,[data-theme="light"] .contact-card:hover{box-shadow:0 18px 38px rgba(23,32,42,.12);}
[data-theme="light"] .service-pick.selected{background:rgba(226,27,35,.07);}

@media(max-width:899px){
  .hero-bg{animation:hero-drift-mobile 18s ease-in-out infinite alternate;}
  @keyframes hero-drift-mobile{from{transform:scale(1.04) translate3d(-1%,0,0);}to{transform:scale(1.10) translate3d(1%,1%,0);}}
}

@media(prefers-reduced-motion:reduce){
  .intro-logo,.intro-ring,.intro-progress span{animation:none !important;}
}

/* =========================================================
   NOVA MOTION PASS — stronger branded loading + mobile motion
   ========================================================= */
#introOverlay::before,
#introOverlay::after{
  content:"";
  position:absolute;
  width:42vw;
  height:42vw;
  max-width:520px;
  max-height:520px;
  border-radius:50%;
  border:1px solid rgba(226,27,35,.10);
  pointer-events:none;
  animation:intro-orbit 4.8s linear infinite;
}
#introOverlay::after{width:26vw;height:26vw;max-width:340px;max-height:340px;border-color:rgba(226,27,35,.18);animation-duration:3.2s;animation-direction:reverse;}
.intro-loader{z-index:1;animation:intro-float 2.8s ease-in-out infinite;}
.intro-logo-wrap::before{
  content:"";
  position:absolute;
  inset:8%;
  border-radius:50%;
  background:radial-gradient(circle,rgba(226,27,35,.20),rgba(226,27,35,.05) 42%,transparent 72%);
  filter:blur(12px);
  animation:intro-glow 1.8s ease-in-out infinite;
}
.intro-logo-wrap::after{
  content:"";
  position:absolute;
  left:5%;right:5%;top:50%;height:2px;
  background:linear-gradient(90deg,transparent,var(--amber),#fff,var(--amber),transparent);
  box-shadow:0 0 16px rgba(226,27,35,.65);
  opacity:.75;
  z-index:3;
  animation:intro-scan 1.65s ease-in-out infinite;
}
.intro-logo{animation:intro-logo-in .8s cubic-bezier(.16,1,.3,1) both,intro-logo-pulse 2.2s .8s ease-in-out infinite;}
.intro-ring{box-shadow:0 0 18px rgba(226,27,35,.18);}
.intro-ring-one{animation:intro-ring 2.1s ease-out infinite,intro-ring-spin 6s linear infinite;}
.intro-ring-two{animation:intro-ring 2.1s .55s ease-out infinite,intro-ring-spin 8s linear infinite reverse;}
.intro-progress{position:relative;box-shadow:0 0 14px rgba(226,27,35,.12);}
.intro-progress span{animation:intro-progress 1.15s cubic-bezier(.4,0,.2,1) infinite,intro-progress-glow 1.15s ease-in-out infinite;}
.intro-loading-text{animation:intro-text-pulse 1.6s ease-in-out infinite;}
@keyframes intro-orbit{to{transform:rotate(360deg) translateX(7px) rotate(-360deg);}}
@keyframes intro-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}
@keyframes intro-glow{0%,100%{opacity:.45;transform:scale(.92)}50%{opacity:1;transform:scale(1.08)}}
@keyframes intro-scan{0%,100%{transform:translateY(-48px);opacity:0}25%{opacity:.9}50%{transform:translateY(48px);opacity:.85}75%{opacity:.15}}
@keyframes intro-logo-pulse{0%,100%{transform:scale(1);filter:drop-shadow(0 14px 28px rgba(0,0,0,.22))}50%{transform:scale(1.025);filter:drop-shadow(0 18px 34px rgba(226,27,35,.24))}}
@keyframes intro-ring-spin{to{transform:rotate(360deg)}}
@keyframes intro-progress-glow{50%{box-shadow:0 0 12px rgba(226,27,35,.65)}}
@keyframes intro-text-pulse{0%,100%{opacity:.48;letter-spacing:.22em}50%{opacity:1;letter-spacing:.28em}}

@media (max-width:899px){
  .hero-copy{animation:mobile-copy-in .8s .25s cubic-bezier(.16,1,.3,1) both;}
  .hero-ctas .btn,.hero-ctas .call-link{animation:mobile-button-in .65s .75s cubic-bezier(.16,1,.3,1) both;}
  .hero-ctas .call-link{animation-delay:.88s;}
  .hero-checks span{animation:mobile-check-in .55s 1s cubic-bezier(.16,1,.3,1) both;}
  .hero-checks span+span{animation-delay:1.08s;}
  .service-card{will-change:transform;}
  .service-card:active{transform:scale(.975) translateY(1px);}
  .trust-item:active{transform:scale(.985);}
  .section-head h2{animation:mobile-heading-in .7s cubic-bezier(.16,1,.3,1) both;}
  .studio-card img,.gallery-card img{transition:transform .7s cubic-bezier(.16,1,.3,1),filter .7s ease;}
  .studio-card:active img,.gallery-card:active img{transform:scale(1.035);filter:saturate(1.08);}
  .mobile-menu.open a,.mobile-menu.open .mobile-theme-row,.mobile-menu.open #mobileBookBtn{will-change:transform,opacity;}
  .mobile-menu.open .mobile-theme-row{animation-delay:.19s;}
}
@keyframes mobile-copy-in{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
@keyframes mobile-button-in{from{opacity:0;transform:translateY(14px) scale(.97)}to{opacity:1;transform:none}}
@keyframes mobile-check-in{from{opacity:0;transform:translateX(-10px)}to{opacity:1;transform:none}}
@keyframes mobile-heading-in{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}

@media(prefers-reduced-motion:reduce){
  #introOverlay::before,#introOverlay::after,.intro-loader,.intro-logo-wrap::before,.intro-logo-wrap::after,.intro-logo,.intro-ring,.intro-progress span,.intro-loading-text,.hero-copy,.hero-ctas .btn,.hero-ctas .call-link,.hero-checks span,.section-head h2{animation:none!important;}
}

/* =========================================================
   NOVA V8 — robust responsive/mobile browser pass
   ========================================================= */
html, body { width:100%; min-width:0; overflow-x:hidden; }
body { min-height:100vh; min-height:100dvh; }
img, svg, video, canvas { max-width:100%; }
button, input, textarea, select { font:inherit; }
button, a { -webkit-tap-highlight-color:transparent; }
.container { width:100%; max-width:1180px; min-width:0; }
main, section, header, footer { min-width:0; }

.site-header .container { padding-left:max(1rem, env(safe-area-inset-left)); padding-right:max(1rem, env(safe-area-inset-right)); }
.brand { flex:0 1 auto; min-width:0; width:auto; max-width:min(48vw, 210px); }
.brand-logo { width:min(190px, 48vw); height:54px; max-width:100%; object-fit:contain; object-position:center; }

@media (max-width:899px) {
  .site-header .container { height:68px; }
  .menu-toggle { flex:0 0 42px; width:42px; height:42px; }
  .hero-inner {
    min-height:calc(100vh - 68px);
    min-height:calc(100svh - 68px);
    padding:clamp(2.5rem, 8vh, 5rem) 1rem max(2.5rem, env(safe-area-inset-bottom));
    align-items:center;
  }
  .hero-copy { width:100%; max-width:38rem; margin-inline:auto; padding:0; }
  .hero h1 { font-size:clamp(2.5rem, 11.5vw, 4rem); line-height:.96; max-width:11ch; margin-top:.8rem; }
  .hero p.lead { max-width:36rem; font-size:clamp(.98rem, 3.8vw, 1.08rem); line-height:1.58; }
  .hero-ctas { width:100%; max-width:360px; }
  .hero-checks { width:100%; }

  .mobile-menu {
    left:max(0px, env(safe-area-inset-left));
    right:max(0px, env(safe-area-inset-right));
    max-height:calc(100dvh - 68px);
    overflow:auto;
    overscroll-behavior:contain;
    -webkit-overflow-scrolling:touch;
  }
  .section { overflow:hidden; }
  .service-card, .service-pick, .contact-card, .studio-main, .studio-thumb { min-width:0; }
  .service-card h3, .service-card .desc, .service-pick .row, .service-pick .meta { overflow-wrap:anywhere; }

  .modal-overlay { padding:max(.5rem, env(safe-area-inset-top)) max(.5rem, env(safe-area-inset-right)) max(.5rem, env(safe-area-inset-bottom)) max(.5rem, env(safe-area-inset-left)); }
  .modal-panel { width:100%; max-width:640px; margin:0 auto; border-radius:18px; }
  .modal-head { padding:1rem; }
  .progress-row { padding:.9rem 1rem 0; }
  .modal-body { padding:1rem; }
  .modal-foot { padding:1rem; gap:.65rem; }
  .modal-foot .btn { min-height:46px; }

  .btn, .call-link, .service-pick, .slot-btn, .menu-toggle, .theme-toggle { min-height:44px; }
  .service-card:hover { transform:none; box-shadow:none; }
}

@media (max-width:899px) {
  .brand-logo { width:min(174px, 50vw); height:50px; }
}
@media (max-width:380px) {
  .site-header .container { padding-left:.75rem; padding-right:.75rem; }
  .brand-logo { width:min(150px, 48vw); height:46px; }
  .brand { max-width:48vw; }
  .hero-inner { padding-left:.85rem; padding-right:.85rem; }
  .hero h1 { font-size:clamp(2.2rem, 12.5vw, 3.1rem); max-width:12ch; }
  .hero p.lead { font-size:.94rem; }
  .hero-ctas { max-width:none; }
  .hero-checks { flex-direction:column; gap:.5rem; }
  .section-head { padding-left:.85rem; padding-right:.85rem; }
  .services-grid, .trust-grid, .center-cta { padding-left:.85rem; padding-right:.85rem; }
}
@media (max-height:700px) and (max-width:899px) {
  .hero-inner { min-height:auto; padding-top:2.25rem; padding-bottom:3rem; }
  .hero h1 { margin-bottom:.9rem; }
  .hero p.lead { margin-bottom:1.1rem; }
  .hero-ctas { margin-bottom:1.1rem; }
}
@media (orientation:landscape) and (max-width:899px) {
  .hero-inner { align-items:flex-start; padding-top:2rem; padding-bottom:2rem; }
  .hero-copy { max-width:48rem; }
  .hero h1 { max-width:16ch; }
  .hero-ctas { display:flex; max-width:none; }
  .hero-ctas .btn, .hero-ctas .call-link { width:auto; }
}
@media (min-width:900px) {
  .brand { width:178px; max-width:178px; }
  .brand-logo { width:178px; height:54px; }
}
html[data-theme="light"] body, html[data-theme="dark"] body { background:var(--bg); color:var(--text); }
.theme-toggle:focus-visible, .menu-toggle:focus-visible, .btn:focus-visible, a:focus-visible { outline:2px solid var(--amber); outline-offset:3px; }


/* NOVA V9 — polished mobile hero + selection feedback */
@media (max-width:899px){
  .hero{isolation:isolate;}
  .hero-overlay{background:
    linear-gradient(180deg,rgba(4,12,20,.28) 0%,rgba(4,12,20,.54) 45%,rgba(4,12,20,.9) 100%),
    radial-gradient(circle at 72% 38%,rgba(226,27,35,.18),transparent 34%);}
  .hero-inner{align-items:flex-end;}
  .hero-copy{position:relative;max-width:34rem;padding:1.15rem 0 0;}
  .hero-copy::before{content:'';position:absolute;inset:-.9rem -1rem -1.1rem;z-index:-1;border-radius:26px;background:linear-gradient(180deg,rgba(6,18,28,.06),rgba(6,18,28,.18));backdrop-filter:blur(2px);}
  .hero-copy .pill,.hero-copy .rating-pill{box-shadow:0 8px 24px rgba(0,0,0,.14);}
  .hero h1{font-size:clamp(2.45rem,11vw,3.6rem);line-height:.94;letter-spacing:-.04em;max-width:10ch;margin:.8rem 0 1rem;text-wrap:balance;}
  .hero h1 .accent{display:inline-block;filter:drop-shadow(0 4px 12px rgba(226,27,35,.16));}
  .hero p.lead{font-size:clamp(.96rem,3.7vw,1.06rem);line-height:1.55;max-width:34rem;text-wrap:pretty;margin-bottom:1.25rem;}
  .hero-ctas{gap:.65rem;max-width:30rem;}
  .hero-ctas .btn{min-height:50px;box-shadow:0 12px 26px rgba(0,0,0,.16);}
  .hero-ctas .call-link{min-height:50px;border-color:rgba(255,255,255,.24);background:rgba(4,12,20,.18);backdrop-filter:blur(8px);}
  .hero-checks{padding-top:.25rem;}
  .hero-checks span{background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.09);padding:.38rem .55rem;border-radius:999px;}
  .service-pick{position:relative;transition:transform .22s cubic-bezier(.23,1,.32,1),border-color .2s ease,background .2s ease,box-shadow .2s ease;}
  .service-pick.selected{transform:translateY(-1px);}
}
@media (max-width:380px){
  .hero-copy{padding-top:.65rem;}
  .hero h1{font-size:clamp(2.18rem,12vw,2.9rem);}
  .hero p.lead{font-size:.92rem;}
}


/* v11 admin usability */
.admin-section-head{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;margin-bottom:1rem;}
.admin-section-head h2{margin:0;}
.admin-refresh-status{font-size:.75rem;color:var(--muted2);white-space:nowrap;}
.service-admin-form{display:grid;grid-template-columns:minmax(120px,1fr) auto auto;align-items:center;gap:.75rem;}
.service-admin-form input[type=number]{width:100%;min-width:110px;}
.admin-checkbox{display:inline-flex;align-items:center;gap:.35rem;white-space:nowrap;color:var(--label);font-size:.88rem;}
@media(max-width:720px){
  .admin-section-head{align-items:flex-start;flex-direction:column;gap:.25rem;}
  .admin-refresh-status{font-size:.7rem;}
  .service-admin-form{grid-template-columns:1fr 1fr auto;}
  .service-admin-form input[type=number]{grid-column:1 / -1;}
}


/* =========================================================
   NOVA V15 — polished responsive feature sections
   ========================================================= */
.split-feature{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(300px,.75fr);gap:clamp(2rem,5vw,5rem);align-items:center;}
.split-copy,.process-copy{min-width:0;}
.feature-image-card{position:relative;margin:0;min-height:480px;border-radius:28px;overflow:hidden;border:1px solid var(--border);background:var(--card);box-shadow:0 24px 60px var(--shadow-color);isolation:isolate;}
.feature-image-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.16,1,.3,1),filter .8s ease;}
.feature-image-card::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 42%,rgba(5,12,18,.88) 100%);z-index:0;}
.feature-image-card figcaption{position:absolute;left:1.35rem;right:1.35rem;bottom:1.35rem;z-index:1;color:#fff;display:grid;gap:.45rem;}
.feature-image-card figcaption span{font-size:.68rem;font-weight:800;letter-spacing:.2em;color:#ff5460;}
.feature-image-card figcaption strong{font:700 clamp(1.2rem,2.4vw,1.65rem)/1.12 ui-sans-serif,system-ui,sans-serif;max-width:14ch;}
.feature-image-card:hover img{transform:scale(1.045);filter:saturate(1.08) contrast(1.04);}
.feature-image-card-dark::after{background:linear-gradient(180deg,transparent 34%,rgba(4,10,15,.94) 100%);}
.why-grid,.process-grid{display:grid;gap:1rem;grid-template-columns:1fr;}
.why-card,.process-card{display:grid;grid-template-columns:56px minmax(0,1fr);gap:1rem;align-items:start;border:1px solid var(--border);background:var(--card);border-radius:20px;padding:1.1rem 1.2rem;box-shadow:0 8px 30px var(--shadow-color);}
.why-card{grid-template-columns:46px minmax(0,1fr);}
.why-number,.process-card>span{font-weight:800;font-size:.78rem;letter-spacing:.1em;color:var(--amber);padding-top:.15rem;}
.why-card h3,.process-card h3{margin:0 0 .45rem;font-size:1.05rem;}
.why-card p,.process-card p{margin:0;color:var(--muted);line-height:1.6;font-size:.9rem;}
.why-card:hover,.process-card:hover{transform:translateY(-3px);border-color:rgba(226,27,35,.32);}
.process-layout{align-items:start;}
.process-cta{display:flex;justify-content:flex-start;margin-top:1.4rem;}
.service-filters{display:flex;gap:.55rem;flex-wrap:wrap;margin:-1.15rem 0 2rem;}
.service-filter{border:1px solid var(--border);background:var(--card);color:var(--muted);border-radius:999px;padding:.55rem .8rem;font:700 .75rem/1 Inter,ui-sans-serif,system-ui,sans-serif;cursor:pointer;transition:transform .18s ease,border-color .18s ease,color .18s ease,background .18s ease;}
.service-filter:hover{transform:translateY(-2px);color:var(--text);border-color:var(--border-strong);}
.service-filter.active{color:var(--bg);background:var(--amber);border-color:var(--amber);}
[data-theme="light"] .service-filter{background:#fff;}
[data-theme="light"] .service-filter.active{color:#fff;background:var(--amber);border-color:var(--amber);}

/* Cleaner responsive contact/footer alignment */
.contact-grid{align-items:stretch;}
.contact-card{height:100%;display:flex;flex-direction:column;justify-content:center;}
footer .container{padding-inline:1rem;}

/* Better contrast and visual rhythm in light theme */
[data-theme="light"] .hero{background:#07131f;}
[data-theme="light"] .why-card,[data-theme="light"] .process-card,[data-theme="light"] .feature-image-card,[data-theme="light"] .contact-card,[data-theme="light"] .service-card{box-shadow:0 14px 40px rgba(20,53,78,.08);}
[data-theme="light"] .trust-strip{box-shadow:0 1px 0 rgba(20,53,78,.05);}

@media (max-width:899px){
  .split-feature{grid-template-columns:1fr;gap:1.6rem;}
  .feature-image-card{min-height:330px;border-radius:22px;order:2;}
  .feature-image-card figcaption{left:1rem;right:1rem;bottom:1rem;}
  .feature-image-card figcaption strong{font-size:1.3rem;}
  .why-grid,.process-grid{gap:.75rem;}
  .why-card,.process-card{padding:1rem;}
  .service-filters{margin-top:-.6rem;margin-bottom:1.35rem;overflow-x:auto;flex-wrap:nowrap;padding-bottom:.2rem;scrollbar-width:none;-webkit-overflow-scrolling:touch;}
  .service-filters::-webkit-scrollbar{display:none;}
  .service-filter{white-space:nowrap;flex:0 0 auto;min-height:42px;}
  .process-cta .btn{width:100%;}
}
@media (max-width:520px){
  .section{padding:4rem 0;}
  .split-feature{gap:1.25rem;}
  .feature-image-card{min-height:280px;}
  .section-head{margin-bottom:1.85rem;}
  .why-card{grid-template-columns:38px minmax(0,1fr);}
  .why-card h3,.process-card h3{font-size:1rem;}
  .why-card p,.process-card p{font-size:.85rem;}
}

/* =========================================================
   NOVA V16 — final visual/layout polish
   ========================================================= */

/* Keep the quick-book bar mobile-only. The previous unstyled block
   could appear as a stray line on desktop layouts. */
.mobile-book-bar{display:none;}

.feature-section .section-head.compact{margin-bottom:1.65rem;}
.split-feature{grid-template-columns:minmax(0,1.08fr) minmax(320px,.82fr);gap:clamp(2.2rem,6vw,5.5rem);align-items:center;}
.split-copy{min-width:0;}
.feature-image-card{min-height:520px;box-shadow:0 26px 70px var(--shadow-color);}
.feature-image-card::before{content:'';position:absolute;inset:1rem;border:1px solid rgba(255,255,255,.16);border-radius:20px;z-index:1;pointer-events:none;}
.feature-image-card figcaption{left:2rem;right:2rem;bottom:2rem;}
.feature-image-card figcaption strong{font-size:clamp(1.35rem,2.7vw,1.85rem);max-width:16ch;}
.why-grid,.process-grid{gap:.9rem;}
.why-card,.process-card{min-height:116px;align-content:start;}
.process-feature{align-items:start;}
.process-feature .feature-image-card{min-height:560px;}
.process-feature .section-head.compact{margin-bottom:1.5rem;}
.process-cta{margin-top:1.25rem;}

/* Stronger service section hierarchy */
#services .section-head{margin-bottom:2rem;}
#services .section-head>p{font-size:.92rem;line-height:1.65;}
.services-grid{align-items:stretch;}
.service-card{display:flex;flex-direction:column;min-height:100%;}
.service-card .desc{flex:1;}

/* Contact: make both columns feel like one composed section. */
.contact-grid{gap:clamp(2rem,5vw,4rem);}
.contact-card{padding:clamp(1.5rem,3vw,2.25rem);box-shadow:0 18px 48px var(--shadow-color);}
.contact-card::before{content:'NOVA';display:block;font-size:.62rem;font-weight:900;letter-spacing:.28em;color:var(--amber);opacity:.75;margin-bottom:1.2rem;}

/* Footer stays clean on desktop. */
footer .container{min-height:72px;}

@media (max-width:899px){
  .split-feature{grid-template-columns:1fr;gap:1.35rem;}
  .feature-image-card,.process-feature .feature-image-card{min-height:300px;order:2;border-radius:22px;}
  .feature-image-card::before{inset:.65rem;border-radius:16px;}
  .feature-image-card figcaption{left:1.25rem;right:1.25rem;bottom:1.25rem;}
  .feature-image-card figcaption strong{font-size:1.2rem;max-width:18ch;}
  .feature-section .section-head.compact,.process-feature .section-head.compact{margin-bottom:1.15rem;}

  .why-grid,.process-grid{gap:.7rem;}
  .why-card,.process-card{min-height:0;padding:1rem;}

  .contact-grid{gap:1rem;}
  .contact-card{padding:1.35rem;}

  .mobile-book-bar{
    position:fixed;
    left:0;right:0;bottom:0;z-index:46;
    display:flex;align-items:center;gap:.8rem;
    padding:.65rem max(.75rem,env(safe-area-inset-right)) max(.65rem,env(safe-area-inset-bottom)) max(.75rem,env(safe-area-inset-left));
    background:color-mix(in srgb,var(--card) 92%,transparent);
    border-top:1px solid var(--border);
    box-shadow:0 -12px 30px var(--shadow-color);
    backdrop-filter:blur(18px);
  }
  .mobile-book-bar>span{min-width:0;display:flex;flex-direction:column;gap:.12rem;}
  .mobile-book-bar strong{font-size:.82rem;line-height:1.1;color:var(--ink-strong);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
  .mobile-book-bar small{font-size:.68rem;color:var(--muted2);}
  .mobile-book-bar .btn{margin-left:auto;min-height:46px;padding:.65rem 1rem;white-space:nowrap;flex-shrink:0;}
  body.has-mobile-book-bar{padding-bottom:72px;}

  .site-header{z-index:50;}
  .mobile-menu{z-index:51;}
}

@media (max-width:520px){
  .feature-image-card,.process-feature .feature-image-card{min-height:265px;}
  .mobile-book-bar strong{font-size:.76rem;}
  .mobile-book-bar small{font-size:.64rem;}
  .mobile-book-bar .btn{font-size:.76rem;padding-inline:.82rem;}
  body.has-mobile-book-bar{padding-bottom:70px;}
}

@media (max-width:380px){
  .mobile-book-bar{gap:.55rem;}
  .mobile-book-bar strong{font-size:.7rem;}
  .mobile-book-bar small{display:none;}
  .mobile-book-bar .btn{font-size:.72rem;}
}

@media(prefers-reduced-motion:reduce){
  /* Non-essential image hover motion is removed; the motion banner keeps its branded loop visible. */
  .feature-image-card img{transition:none;}
}
.mobile-book-bar{background:var(--surface-strong);}
@supports (background: color-mix(in srgb, white 50%, black)){
  .mobile-book-bar{background:color-mix(in srgb,var(--card) 92%,transparent);}
}

/* Production resilience + admin/mobile polish */
.service-data-warning,.booking-inline-error{grid-column:1/-1;border:1px solid rgba(239,51,64,.28);background:rgba(239,51,64,.07);border-radius:16px;padding:1rem 1.05rem;display:grid;gap:.28rem;color:var(--text);}
.service-data-warning strong,.booking-inline-error strong{font-size:.86rem;color:var(--ink-strong);}
.service-data-warning span,.booking-inline-error span{font-size:.78rem;color:var(--muted);line-height:1.5;}
.service-data-warning a{color:var(--amber);font-weight:800;text-decoration:underline;}
.error-actions{display:flex;flex-wrap:wrap;gap:.55rem;justify-content:center;margin-top:.7rem;}
.error-actions .btn{min-height:42px;}
.empty-note strong{color:var(--ink-strong);}
.admin-actionbar{display:flex;align-items:center;gap:.55rem;flex-wrap:wrap;}
.admin-brand{display:flex;align-items:center;gap:.85rem;}
.admin-brand img{width:56px;height:56px;object-fit:contain;filter:drop-shadow(0 8px 18px rgba(0,0,0,.18));}
.admin-subline{margin:.25rem 0 0;color:var(--muted);font-size:.82rem;}
.admin-kicker{display:inline-flex;align-items:center;gap:.35rem;padding:.3rem .55rem;border-radius:999px;border:1px solid var(--border);background:var(--panel-bg);color:var(--muted);font-size:.68rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;}
.admin-table-wrap{border:1px solid var(--border);border-radius:14px;overflow:auto;}
.admin-table{min-width:820px;}
.owner-login-card{box-shadow:0 22px 70px var(--shadow-color);}
.owner-login-brand{text-align:center;margin-bottom:1rem;}
.owner-login-brand img{width:84px;height:84px;object-fit:contain;}
.password-row{position:relative;}
.password-row input{padding-right:5.1rem !important;}
.password-toggle{position:absolute;right:.35rem;bottom:.35rem;border:0;background:var(--hover-bg);color:var(--muted);border-radius:8px;padding:.4rem .55rem;cursor:pointer;font:600 .72rem/1 inherit;}
@media(max-width:760px){
  .admin-shell{padding:1rem .75rem 3rem;}
  .admin-header{align-items:flex-start;gap:1rem;flex-direction:column;}
  .admin-header>div:last-child{width:100%;justify-content:stretch;flex-wrap:wrap;}
  .admin-actionbar{width:100%;}
  .admin-actionbar .btn{flex:1 1 140px;justify-content:center;}
  .admin-card{padding:1rem;border-radius:16px;}
  .admin-filters,.admin-form-grid{grid-template-columns:1fr;display:grid;align-items:stretch;}
  .admin-filters .btn,.admin-filters .back-link{width:100%;justify-self:stretch;}
  .admin-form-grid button{width:100%;justify-self:stretch;}
  .closed-dates-list li{gap:.75rem;align-items:flex-start;}
  .admin-stat{padding:1rem;}
}
@media(max-width:520px){
  .owner-login-shell{padding:1rem;}
  .owner-login-card{padding:1.25rem;}
  .admin-stat span{font-size:1.5rem;}
}

.has-db-error .admin-stats,.has-db-error .admin-card:not(.admin-error-card){display:none;}
.admin-error-card{border-color:rgba(239,51,64,.32);background:linear-gradient(135deg,rgba(239,51,64,.07),var(--card));}
.admin-error-text{max-width:62rem;color:var(--muted);line-height:1.65;margin:.6rem 0 1rem;}
.admin-error-steps{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.1rem;}
.admin-error-steps span{border:1px solid var(--border);background:var(--panel-bg);border-radius:10px;padding:.5rem .65rem;color:var(--muted);font-size:.78rem;}
.admin-error-steps code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--ink-strong);}
.login-links{display:grid;gap:.2rem;}
.login-links .back-link{margin-top:.65rem;}

[data-theme="light"] .motion-strip{background:#172b3c;color:#fff;}
[data-theme="light"] .motion-strip-track{background-image:linear-gradient(90deg,rgba(7,19,31,.95),rgba(7,19,31,.52) 48%,rgba(7,19,31,.9)),url('../img/nova-finished-vehicle.jpg');}
