
@import url('https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,300;0,400;0,500;0,600;0,700;0,800;1,300;1,400;1,500;1,700;1,800&display=swap');
:root{
  --navy:#05032a;
  --navy-soft:#09063a;
  --navy-mid:#0d0a47;
  --navy-card:#111055;
  --cyan:#59d9df;
  --cyan-soft:#7fe7ec;
  --white:#f7f9fc;
  --ink:#f4f6fa;
  --muted:#b8bbd3;
  --line:rgba(255,255,255,.12);
  --shadow:0 24px 64px rgba(0,0,0,.33);
  --radius:28px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:linear-gradient(180deg,#040223 0%,#05032a 45%,#06032e 100%);color:var(--ink);font-family:Montserrat,Arial,sans-serif;overflow-x:hidden}
a{text-decoration:none;color:inherit}
img,video{max-width:100%;display:block}
button{font:inherit}
.progress{position:fixed;inset:0 auto auto 0;height:3px;width:0;background:linear-gradient(90deg,var(--cyan),#fff);z-index:200}
.reveal{opacity:0;transform:translateY(20px);transition:opacity .65s ease,transform .65s ease}
.reveal.in{opacity:1;transform:none}
.site-shell{min-height:100vh}
.nav{position:fixed;inset:0 0 auto 0;height:86px;display:flex;align-items:center;gap:24px;padding:0 clamp(20px,4vw,68px);z-index:120;background:linear-gradient(180deg,rgba(4,2,28,.96),rgba(4,2,28,.70));backdrop-filter:blur(16px);border-bottom:1px solid rgba(89,217,223,.12)}
.brand img{width:min(260px,45vw)}
.nav nav{display:flex;gap:28px;margin-left:auto}
.nav nav a{font-size:12px;letter-spacing:.1em;font-weight:700;opacity:.85;text-transform:uppercase;position:relative}
.nav nav a::after{content:'';position:absolute;left:0;bottom:-8px;width:0;height:2px;background:var(--cyan);transition:width .25s ease}
.nav nav a:hover,.nav nav a.active{opacity:1;color:var(--cyan)}
.nav nav a:hover::after,.nav nav a.active::after{width:100%}
.nav .navcall{font-size:13px;font-weight:700;letter-spacing:.06em}
.nav .book{padding:14px 18px;border:1px solid rgba(89,217,223,.45);background:rgba(89,217,223,.12);font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;border-radius:999px;transition:.25s}
.nav .book:hover{transform:translateY(-2px);background:var(--cyan);color:var(--navy)}
.menu{display:none;margin-left:auto;background:none;border:0;color:#fff;font-size:28px}
main{padding-top:86px}
.container{width:min(1280px,calc(100% - 40px));margin:0 auto}
.kicker{color:var(--cyan);font-size:11px;font-weight:800;letter-spacing:.18em;text-transform:uppercase;margin:0 0 18px}
.section-title{font-size:clamp(40px,4.6vw,76px);line-height:.96;font-style:italic;font-weight:300;letter-spacing:-.055em;margin:0 0 18px}
.section-title strong{font-weight:800;font-style:normal;color:#fff}
.section-lead{font-size:17px;line-height:1.8;color:var(--muted);max-width:760px}
.btn-row{display:flex;gap:14px;flex-wrap:wrap}
.btn{display:inline-flex;align-items:center;gap:10px;padding:16px 22px;border-radius:999px;font-size:12px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;transition:.25s;border:1px solid transparent}
.btn.primary{background:var(--cyan);color:var(--navy)}
.btn.primary:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(89,217,223,.25)}
.btn.secondary{border-color:rgba(255,255,255,.22);color:#fff;background:transparent}
.btn.secondary:hover{border-color:var(--cyan);color:var(--cyan)}
.btn.ghost{border-color:rgba(89,217,223,.32);background:rgba(89,217,223,.08)}
.section{position:relative;padding:110px 0;overflow:hidden}
.section.dark{background:linear-gradient(180deg,rgba(7,4,45,.62),rgba(6,3,41,.96))}
.section.soft{background:linear-gradient(180deg,rgba(10,7,55,.82),rgba(5,3,38,.95))}
.section.flat{background:#05032a}
.section.dark::before,.section.soft::before{content:'';position:absolute;inset:auto -10% 0 auto;width:780px;height:780px;border-radius:50%;border:2px solid rgba(89,217,223,.045);transform:translate(15%,34%);box-shadow:0 0 0 44px rgba(89,217,223,.03),0 0 0 88px rgba(89,217,223,.022),0 0 0 132px rgba(89,217,223,.018),0 0 0 176px rgba(89,217,223,.012);pointer-events:none;animation:drift 22s ease-in-out infinite alternate}
.section.dark::after{content:'';position:absolute;left:-140px;top:10%;width:320px;height:320px;background:radial-gradient(circle at center,rgba(89,217,223,.08),transparent 70%);filter:blur(10px);pointer-events:none}
@keyframes drift{from{transform:translate(15%,34%) scale(1)}to{transform:translate(12%,30%) scale(1.04)}}
.top-slashes{position:absolute;top:24px;left:0;display:flex;gap:18px;opacity:.95}
.top-slashes span{width:28px;height:108px;background:linear-gradient(180deg,var(--cyan),#88eef2);clip-path:polygon(24% 0,100% 0,76% 100%,0 100%);box-shadow:0 0 26px rgba(89,217,223,.15)}
.hero{position:relative;min-height:calc(100vh - 86px);display:grid;grid-template-columns:1.08fr .92fr;align-items:center;gap:6vw;padding:40px 0 70px}
.hero::before{content:'';position:absolute;inset:0 -10% 0 auto;width:52%;background:radial-gradient(circle at 68% 34%,rgba(89,217,223,.13),transparent 36%),linear-gradient(135deg,rgba(255,255,255,.04),transparent 38%);pointer-events:none}
.hero .hero-copy,.hero .hero-media{position:relative;z-index:2}
.hero h1{font-size:clamp(56px,7vw,110px);line-height:.88;font-style:italic;font-weight:300;letter-spacing:-.07em;margin:0 0 26px}
.hero h1 .tiny{display:block;font-style:normal;font-size:.26em;letter-spacing:.2em;font-weight:800;color:var(--cyan);margin-bottom:16px}
.hero h1 strong{font-weight:800;font-style:normal;color:#fff}
.hero .lead{font-size:18px;line-height:1.85;color:var(--muted);max-width:660px;margin:0 0 30px}
.hero-media{display:grid;grid-template-columns:1fr;gap:18px;align-items:center}
.frame-hero{position:relative;background:linear-gradient(145deg,rgba(255,255,255,.07),rgba(255,255,255,.02));padding:18px;border-radius:38px;border:1px solid rgba(255,255,255,.10);box-shadow:var(--shadow)}
.frame-hero::before{content:'';position:absolute;inset:12px;border:1px solid rgba(89,217,223,.18);border-radius:28px;pointer-events:none}
.frame-hero img{border-radius:22px;aspect-ratio:1/1.06;object-fit:cover;width:100%}
.callout-chip{position:absolute;right:-18px;bottom:24px;background:linear-gradient(145deg,rgba(10,7,55,.94),rgba(6,3,41,.9));border:1px solid rgba(89,217,223,.35);border-radius:20px;padding:18px 20px;backdrop-filter:blur(10px);box-shadow:var(--shadow)}
.callout-chip small{display:block;color:var(--cyan);font-size:10px;letter-spacing:.18em;margin-bottom:6px}
.callout-chip b{font-size:15px;line-height:1.4}
.hero-tags{display:flex;gap:14px;flex-wrap:wrap;margin-top:30px}
.hero-tags .tag{padding:12px 16px;border:1px solid rgba(255,255,255,.14);border-radius:999px;background:rgba(255,255,255,.03);font-size:11px;letter-spacing:.1em;text-transform:uppercase}
.trust-carousel{margin-top:34px;display:flex;align-items:center;gap:10px;min-height:28px}
.trust-label{font-size:10px;letter-spacing:.18em;color:rgba(255,255,255,.45);text-transform:uppercase}
.trust-rotator{position:relative;min-width:290px;height:30px;overflow:hidden}
.trust-rotator span{position:absolute;inset:0;display:flex;align-items:center;color:var(--cyan);font-size:14px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;opacity:0;transform:translateY(15px);transition:.45s ease}
.trust-rotator span.active{opacity:1;transform:translateY(0)}
.hero-scroll{position:absolute;left:50%;bottom:14px;transform:translateX(-50%);font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.55)}
.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:54px;position:relative;z-index:2}
.service-card{position:relative;background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,.02));border:1px solid rgba(255,255,255,.09);padding:24px;border-radius:28px;min-height:370px;display:flex;flex-direction:column;transition:transform .3s ease,border-color .3s ease,box-shadow .3s ease;overflow:hidden}
.service-card:hover{transform:translateY(-8px);border-color:rgba(89,217,223,.38);box-shadow:0 22px 50px rgba(0,0,0,.25)}
.service-card::after{content:'';position:absolute;inset:auto -60px -70px auto;width:180px;height:180px;border-radius:50%;background:radial-gradient(circle at center,rgba(89,217,223,.16),transparent 68%)}
.service-card .iconWrap{width:92px;height:92px;border-radius:24px;background:linear-gradient(180deg,rgba(89,217,223,.1),rgba(255,255,255,.02));display:grid;place-items:center;border:1px solid rgba(89,217,223,.18);margin-bottom:22px}
.service-card h3{font-size:34px;line-height:1.02;font-style:italic;font-weight:300;letter-spacing:-.04em;margin:0 0 14px}
.service-card h3 strong{font-style:normal;font-weight:800}
.service-card p{font-size:14px;line-height:1.8;color:var(--muted);margin:0 0 20px;flex:1}
.service-card a{margin-top:auto;color:var(--cyan);font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.service-card a:hover{text-decoration:underline}
.icon-dashcam,.icon-pin,.icon-lightbar,.icon-tech{position:relative;width:64px;height:64px}
.icon-dashcam .body{position:absolute;left:8px;top:20px;width:48px;height:24px;border:2px solid var(--cyan);border-radius:12px;background:rgba(89,217,223,.06)}
.icon-dashcam .lens{position:absolute;left:20px;top:28px;width:14px;height:14px;border:2px solid var(--cyan);border-radius:50%;animation:spinRing 3.2s linear infinite}
.icon-dashcam .mount{position:absolute;right:8px;top:11px;width:24px;height:12px;border:2px solid var(--cyan);border-bottom:none;border-radius:10px 10px 0 0}
.icon-dashcam .rec{position:absolute;left:6px;top:7px;width:10px;height:10px;border-radius:50%;background:#ff4b59;box-shadow:0 0 0 0 rgba(255,75,89,.75);animation:recordBlink 1.3s infinite}
@keyframes spinRing{from{transform:rotate(0)}to{transform:rotate(360deg)}}
@keyframes recordBlink{0%,100%{opacity:1;box-shadow:0 0 0 0 rgba(255,75,89,.45)}50%{opacity:.35;box-shadow:0 0 0 8px rgba(255,75,89,0)}}
.icon-pin .pin{position:absolute;left:19px;top:10px;width:26px;height:36px;border:2px solid var(--cyan);border-radius:18px 18px 18px 18px/22px 22px 14px 14px;transform:rotate(45deg);animation:bob 2.2s ease-in-out infinite}
.icon-pin .pin::after{content:'';position:absolute;left:7px;top:7px;width:8px;height:8px;border-radius:50%;background:var(--cyan)}
.icon-pin .pulse{position:absolute;left:14px;bottom:5px;width:36px;height:36px;border:2px solid rgba(89,217,223,.6);border-radius:50%;animation:pulse 2.3s infinite}
.icon-pin .pulse.two{animation-delay:1.15s}
@keyframes bob{0%,100%{transform:translateY(0) rotate(45deg)}50%{transform:translateY(-6px) rotate(45deg)}}
@keyframes pulse{0%{transform:scale(.35);opacity:.9}100%{transform:scale(1.1);opacity:0}}
.icon-lightbar .bar{position:absolute;left:8px;top:28px;width:48px;height:12px;border-radius:10px;background:linear-gradient(90deg,rgba(89,217,223,.2),rgba(255,255,255,.12));border:2px solid var(--cyan)}
.icon-lightbar .flash{position:absolute;top:16px;width:16px;height:32px;background:linear-gradient(180deg,transparent,rgba(89,217,223,.65),transparent);filter:blur(.5px);opacity:0;animation:flash 1s infinite}
.icon-lightbar .flash.left{left:4px}.icon-lightbar .flash.right{right:4px;animation-delay:.5s}
@keyframes flash{0%,100%{opacity:0}20%,35%{opacity:1}50%{opacity:0}}
.icon-tech .chip{position:absolute;left:16px;top:16px;width:32px;height:32px;border:2px solid var(--cyan);border-radius:8px}
.icon-tech .chip::before,.icon-tech .chip::after{content:'';position:absolute;inset:8px;border-radius:4px;background:rgba(89,217,223,.18)}
.icon-tech .node{position:absolute;width:8px;height:8px;background:var(--cyan);border-radius:50%;animation:techPulse 2.6s infinite}
.icon-tech .n1{left:0;top:28px}.icon-tech .n2{right:0;top:28px;animation-delay:.5s}.icon-tech .n3{left:28px;top:0;animation-delay:1s}.icon-tech .n4{left:28px;bottom:0;animation-delay:1.5s}
.icon-tech .line{position:absolute;background:rgba(89,217,223,.7)}
.icon-tech .l1{left:8px;top:31px;width:12px;height:2px}.icon-tech .l2{right:8px;top:31px;width:12px;height:2px}.icon-tech .l3{left:31px;top:8px;width:2px;height:12px}.icon-tech .l4{left:31px;bottom:8px;width:2px;height:12px}
@keyframes techPulse{0%,100%{transform:scale(.8);opacity:.55}50%{transform:scale(1.2);opacity:1}}
.media-grid{display:grid;grid-template-columns:.72fr 1.28fr;gap:4vw;align-items:start}
.sticky-col{position:sticky;top:118px}
.stat-badge{margin-top:28px;display:inline-flex;align-items:center;gap:14px;padding:16px 18px;border-radius:18px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.09)}
.stat-badge b{font-size:44px;font-weight:300;color:var(--cyan)}
.gallery{display:grid;grid-template-columns:1fr 1fr;gap:18px;position:relative;z-index:2}
.gallery figure{position:relative;margin:0;border-radius:24px;overflow:hidden;min-height:290px;background:#0c0a44;border:1px solid rgba(255,255,255,.08)}
.gallery figure.tall{grid-row:span 2;min-height:598px}
.gallery figure.wide{grid-column:span 2;min-height:420px}
.gallery img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .65s ease}
.gallery figure:hover img{transform:scale(1.04)}
.gallery figcaption{position:absolute;left:0;right:0;bottom:0;padding:50px 18px 18px;background:linear-gradient(180deg,transparent,rgba(5,3,42,.92));display:flex;justify-content:space-between;gap:14px;align-items:end}
.gallery figcaption b{font-size:12px;letter-spacing:.14em;color:var(--cyan);text-transform:uppercase}
.gallery figcaption span{font-size:12px;color:#fff}
.film-band{position:relative;height:76vh;min-height:560px;overflow:hidden}
.film-band video{width:100%;height:100%;object-fit:cover}
.film-band .shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,3,42,.96),rgba(5,3,42,.72) 45%,rgba(5,3,42,.28)),linear-gradient(180deg,rgba(5,3,42,.16),rgba(5,3,42,.72))}
.film-band .copy{position:absolute;left:clamp(20px,6vw,80px);top:50%;transform:translateY(-50%);max-width:720px}
.reviews-stage{position:relative;z-index:2;margin-top:48px;padding:28px;border-radius:34px;border:1px solid rgba(255,255,255,.09);background:linear-gradient(180deg,rgba(255,255,255,.03),rgba(255,255,255,.02));overflow:hidden}
.review-panel{display:none;grid-template-columns:280px 1fr;gap:32px;align-items:center;min-height:330px}
.review-panel.active{display:grid;animation:fadeUp .5s ease}
.review-photo{width:220px;height:220px;border-radius:50%;overflow:hidden;border:3px solid rgba(89,217,223,.22);box-shadow:var(--shadow);justify-self:center}
.review-photo img{width:100%;height:100%;object-fit:cover}
.stars{display:flex;gap:8px;margin:0 0 18px}
.stars span{width:28px;height:28px;background:#fff;clip-path:polygon(50% 0,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%)}
.review-copy h3{margin:0 0 12px;font-size:18px;letter-spacing:.08em;color:var(--cyan);text-transform:uppercase}
.review-copy blockquote{margin:0 0 18px;font-size:clamp(23px,2.35vw,40px);line-height:1.32;font-style:italic;font-weight:300}
.review-copy p{margin:0;color:var(--cyan);font-size:18px;font-style:italic}
.review-controls{position:absolute;right:20px;bottom:20px;display:flex;gap:10px}
.review-controls button{width:48px;height:48px;border-radius:50%;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.02);color:#fff;cursor:pointer;transition:.25s}
.review-controls button:hover{border-color:var(--cyan);color:var(--cyan)}
.about-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:5vw;align-items:center}
.about-card{position:relative;z-index:2}
.about-photo{position:relative;border-radius:34px;overflow:hidden;border:1px solid rgba(255,255,255,.1);background:#0b083f;box-shadow:var(--shadow)}
.about-photo img{width:100%;aspect-ratio:4/3;object-fit:cover}
.about-badge{position:absolute;left:18px;bottom:18px;background:rgba(89,217,223,.95);color:var(--navy);padding:14px 18px;border-radius:18px;font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.pill-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:28px}
.pill{padding:17px 18px;border-radius:18px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08)}
.pill b{display:block;color:var(--cyan);font-size:18px;margin-bottom:4px}
.pill span{font-size:12px;color:var(--muted);line-height:1.5}
.brand-strip{display:grid;place-items:center;text-align:center}
.brand-strip img{width:min(950px,90%);margin-top:34px;filter:invert(1);opacity:.92;mix-blend-mode:screen}
.faq-list{position:relative;z-index:2;margin-top:46px;border-top:1px solid rgba(255,255,255,.12)}
.faq-list details{border-bottom:1px solid rgba(255,255,255,.12);padding:20px 0}
.faq-list summary{list-style:none;cursor:pointer;font-size:clamp(18px,2vw,30px);font-weight:600;padding-right:55px;position:relative}
.faq-list summary::after{content:'+';position:absolute;right:0;top:50%;transform:translateY(-50%);font-size:30px;color:var(--cyan);font-weight:300}
.faq-list details[open] summary::after{content:'–'}
.faq-list p{margin:16px 0 2px;max-width:880px;color:var(--muted);font-size:15px;line-height:1.8}
.contact-panel{display:grid;grid-template-columns:.85fr 1.15fr;gap:3vw;align-items:stretch;background:linear-gradient(145deg,rgba(89,217,223,.94),rgba(104,224,229,.90));color:var(--navy);border-radius:36px;padding:34px 34px 34px 38px;box-shadow:var(--shadow)}
.contact-panel .section-title{color:var(--navy)}
.contact-panel .section-title strong{color:var(--navy)}
.contact-panel .kicker{color:rgba(5,3,42,.72)}
.contact-panel .section-lead{color:rgba(5,3,42,.8)}
.contact-actions{display:grid;grid-template-columns:1fr 1fr;gap:14px;align-content:center}
.contact-actions a{padding:22px;border-radius:22px;border:1px solid rgba(5,3,42,.18);background:rgba(255,255,255,.20);transition:.25s}
.contact-actions a:hover{transform:translateY(-3px);background:#fff}
.contact-actions small{display:block;font-size:10px;letter-spacing:.16em;text-transform:uppercase;margin-bottom:8px}
.contact-actions b{font-size:clamp(18px,2vw,27px);overflow-wrap:anywhere}
.footer{padding:24px 0 34px;background:#020118;color:#7d829d;font-size:10px;letter-spacing:.14em;text-transform:uppercase}
.footer .container{display:flex;align-items:center;gap:22px;flex-wrap:wrap}
.footer img{width:190px}
.footer span:last-child{margin-left:auto}
.page-hero{padding:56px 0 36px;position:relative}
.page-hero .inner{position:relative;z-index:2;display:grid;grid-template-columns:1.05fr .95fr;gap:3vw;align-items:end}
.page-hero p{max-width:740px}
.page-media{border-radius:28px;overflow:hidden;border:1px solid rgba(255,255,255,.08);box-shadow:var(--shadow)}
.page-media img,.page-media video{width:100%;height:100%;object-fit:cover;aspect-ratio:16/10}
.copy-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin-top:34px}
.copy-box{padding:24px;border-radius:26px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08)}
.copy-box h3{font-size:clamp(26px,2.4vw,38px);line-height:1;letter-spacing:-.04em;font-style:italic;font-weight:300;margin:0 0 12px}.copy-box h3 strong{font-weight:800;font-style:normal;color:var(--cyan)}
.copy-box p{color:var(--muted);font-size:15px;line-height:1.8;margin:0}
.process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:34px}
.process-step{padding:22px;border-radius:24px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.08)}
.process-step b{display:block;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--cyan);margin-bottom:12px}
.process-step h4{margin:0 0 10px;font-size:24px;letter-spacing:-.04em}
.process-step p{margin:0;color:var(--muted);font-size:14px;line-height:1.75}
.work-stack{display:grid;gap:22px}
.review-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin-top:34px}
.review-card{display:grid;grid-template-columns:100px 1fr;gap:18px;padding:22px;border-radius:28px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08)}
.review-card .review-photo{width:100px;height:100px}
.review-card blockquote{font-size:20px;line-height:1.5;margin:8px 0 12px;font-style:italic;font-weight:300}
.review-card p{margin:0;color:var(--cyan);font-size:15px;font-style:italic}
.map-list{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-top:24px}
.map-list .area{padding:18px;border-radius:20px;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.03);font-size:14px;line-height:1.7;color:var(--muted)}
.accent-line{width:90px;height:3px;background:linear-gradient(90deg,var(--cyan),transparent);margin:22px 0}
.grid-bg::before{content:'';position:absolute;inset:0;opacity:.13;background-image:radial-gradient(circle at 1px 1px, rgba(89,217,223,.55) 1px, transparent 0);background-size:28px 28px;mask-image:linear-gradient(180deg,transparent,black 16%,black 82%,transparent);pointer-events:none}
.divider-glow{position:absolute;left:50%;top:-1px;transform:translateX(-50%);width:min(92vw,1160px);height:1px;background:linear-gradient(90deg,transparent,rgba(89,217,223,.7),transparent)}
@keyframes fadeUp{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@media (max-width:1100px){
  .hero,.page-hero .inner,.media-grid,.about-grid,.contact-panel{grid-template-columns:1fr}
  .service-grid,.process-grid{grid-template-columns:repeat(2,1fr)}
  .gallery{grid-template-columns:1fr 1fr}
  .gallery figure.tall{min-height:420px;grid-row:auto}
  .gallery figure.wide{grid-column:span 2}
  .sticky-col{position:relative;top:auto}
  .nav nav,.nav .navcall,.nav .book{display:none}
  .menu{display:block}
}
@media (max-width:760px){
  .hero{padding-top:32px}
  .top-slashes span{width:20px;height:80px}
  .service-grid,.process-grid,.copy-columns,.review-grid,.contact-actions,.map-list,.pill-grid{grid-template-columns:1fr}
  .gallery,.gallery figure.wide{grid-template-columns:1fr;grid-column:auto}
  .gallery figure,.gallery figure.tall,.gallery figure.wide{min-height:290px}
  .review-panel,.review-card{grid-template-columns:1fr}
  .review-photo,.review-card .review-photo{justify-self:start}
  .review-controls{position:static;margin-top:18px}
  .contact-panel{padding:28px 22px}
  .nav{height:74px}
  main{padding-top:74px}
  .brand img{width:190px}
}
@media (max-width:560px){
  body{font-size:15px}
  .container{width:min(100% - 28px,1280px)}
  .section{padding:82px 0}
  .hero{min-height:auto;padding-bottom:56px}
  .hero h1,.section-title{font-size:clamp(42px,12vw,64px)}
  .hero .lead,.section-lead{font-size:15px}
  .hero-tags{gap:10px}
  .frame-hero{padding:14px;border-radius:26px}
  .frame-hero img{border-radius:18px}
  .callout-chip{position:relative;right:auto;bottom:auto;margin-top:12px}
  .service-card{min-height:auto}
  .film-band{min-height:460px;height:64vh}
  .page-hero{padding-top:36px}
  .review-copy blockquote{font-size:22px}
  .footer .container{flex-direction:column;align-items:flex-start}
  .footer span:last-child{margin-left:0}
}

/* V4 refinements */
.nav{background:#05032a;box-shadow:0 8px 30px rgba(0,0,0,.18)}
.top-slashes{display:none!important}
.hero-section{background:
  radial-gradient(circle at 78% 24%,rgba(89,217,223,.10),transparent 28%),
  linear-gradient(150deg,#05032a 0%,#070536 56%,#05032a 100%)}
.hero-section::before{content:'';position:absolute;inset:0;pointer-events:none;opacity:.2;background-image:linear-gradient(115deg,transparent 0 46%,rgba(255,255,255,.025) 46% 47%,transparent 47% 100%);background-size:150px 150px;animation:bgGlide 20s linear infinite}
@keyframes bgGlide{to{background-position:300px 0}}
.why-hero{margin-top:34px;display:grid;grid-template-columns:auto 1fr;gap:18px;align-items:center;padding:18px 20px;border-radius:20px;background:linear-gradient(90deg,rgba(89,217,223,.12),rgba(255,255,255,.025));border:1px solid rgba(89,217,223,.24);max-width:690px;box-shadow:0 18px 46px rgba(0,0,0,.18)}
.why-label{font-size:10px;line-height:1.45;letter-spacing:.18em;font-weight:800;color:#fff;max-width:142px}
.why-hero .trust-rotator{min-width:0;height:36px}
.why-hero .trust-rotator span{font-size:15px;letter-spacing:.045em;text-transform:none}
.chevron-strip{height:28px;background:#121147;overflow:hidden;border-top:1px solid rgba(89,217,223,.12);border-bottom:1px solid rgba(89,217,223,.12);position:relative}
.chevron-strip::before,.chevron-strip::after{content:'';position:absolute;z-index:2;top:0;bottom:0;width:90px}.chevron-strip::before{left:0;background:linear-gradient(90deg,#121147,transparent)}.chevron-strip::after{right:0;background:linear-gradient(-90deg,#121147,transparent)}
.chevron-track{display:flex;gap:70px;width:max-content;align-items:center;height:100%;animation:chevronTicker 22s linear infinite}
.chevron-track span{display:block;width:34px;height:21px;background:var(--cyan);opacity:.92;transform:skewX(-28deg)}
@keyframes chevronTicker{to{transform:translateX(-50%)}}
.service-card .iconWrap{transition:transform .35s ease,background .35s ease}
.service-card:hover .iconWrap{transform:scale(1.06) rotate(-2deg);background:linear-gradient(180deg,rgba(89,217,223,.16),rgba(255,255,255,.03))}
.service-card h3{transition:transform .3s ease}.service-card:hover h3{transform:translateX(4px)}
.service-card::before{content:'';position:absolute;inset:0;background:linear-gradient(115deg,transparent 20%,rgba(89,217,223,.08),transparent 65%);transform:translateX(-120%);transition:transform .7s ease}.service-card:hover::before{transform:translateX(120%)}
.section.soft.grid-bg::before{background-image:radial-gradient(circle at 1px 1px,rgba(89,217,223,.45) 1px,transparent 0);background-size:30px 30px;opacity:.10;mask-image:linear-gradient(90deg,transparent,black 20%,black 80%,transparent)}
.section.soft.grid-bg::after{content:'';position:absolute;width:520px;height:520px;left:-180px;bottom:-260px;border-radius:50%;border:1px solid rgba(89,217,223,.05);box-shadow:0 0 0 45px rgba(89,217,223,.025),0 0 0 90px rgba(89,217,223,.018);animation:slowOrbit 14s ease-in-out infinite alternate}
@keyframes slowOrbit{to{transform:translate(22px,-18px) scale(1.04)}}
.section:not(.dark):not(.soft)::before{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(115deg,transparent 0 60%,rgba(89,217,223,.025) 60% 61%,transparent 61% 100%);background-size:220px 220px;opacity:.6}
.film-band .shade{background:linear-gradient(90deg,rgba(5,3,42,.97),rgba(5,3,42,.67) 44%,rgba(5,3,42,.14) 82%),linear-gradient(0deg,rgba(5,3,42,.72),transparent 45%)}
.page-hero{min-height:520px;display:flex;align-items:center;background:radial-gradient(circle at 82% 20%,rgba(89,217,223,.08),transparent 28%),#05032a}
.page-hero::after{content:'';position:absolute;left:-100px;bottom:-160px;width:520px;height:520px;border-radius:50%;border:1px solid rgba(89,217,223,.055);box-shadow:0 0 0 48px rgba(89,217,223,.026),0 0 0 96px rgba(89,217,223,.018)}
.detail-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:32px}
.detail-card{padding:22px;border-radius:24px;background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.08)}
.detail-card b{display:block;color:var(--cyan);font-size:13px;text-transform:uppercase;letter-spacing:.14em;margin-bottom:10px}.detail-card h3{font-size:24px;margin:0 0 10px}.detail-card p{font-size:14px;line-height:1.75;color:var(--muted);margin:0}
.feature-list{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:24px}.feature-list span{padding:14px 16px;border-radius:16px;background:rgba(89,217,223,.06);border:1px solid rgba(89,217,223,.15);font-size:13px;color:#e8edf5}
.service-visual-row{display:grid;grid-template-columns:1.05fr .95fr;gap:4vw;align-items:center}.service-visual-row.reverse{grid-template-columns:.95fr 1.05fr}.service-visual-row.reverse .visual{order:2}
.visual{position:relative;border-radius:30px;overflow:hidden;border:1px solid rgba(255,255,255,.09);box-shadow:var(--shadow);min-height:420px}.visual img,.visual video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.visual::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 60%,rgba(5,3,42,.62))}
.service-copy{position:relative;z-index:2}.service-copy p{color:var(--muted);line-height:1.85;font-size:16px}
.micro-kicker{font-size:10px;letter-spacing:.17em;color:var(--cyan);font-weight:800;text-transform:uppercase;margin-bottom:12px}
@media(max-width:1100px){.detail-grid{grid-template-columns:1fr 1fr}.service-visual-row,.service-visual-row.reverse{grid-template-columns:1fr}.service-visual-row.reverse .visual{order:0}.why-hero{grid-template-columns:1fr}.why-label{max-width:none}.page-hero{min-height:auto}}
@media(max-width:760px){
  .section.dark::before,.section.soft::before,.page-hero::after{display:none}
  .hero-section::before{opacity:.08;background-size:110px 110px}
  .chevron-strip{height:22px}.chevron-track{gap:48px}.chevron-track span{width:26px;height:16px}
  .why-hero{padding:16px;border-radius:18px}.why-hero .trust-rotator{height:52px}.why-hero .trust-rotator span{font-size:14px;line-height:1.35}
  .detail-grid,.feature-list{grid-template-columns:1fr}
  .visual{min-height:320px}
  .section.soft.grid-bg::after{display:none}
}
@media(max-width:560px){
  .hero-section{background:radial-gradient(circle at 72% 18%,rgba(89,217,223,.09),transparent 30%),linear-gradient(180deg,#05032a,#070536 62%,#05032a)}
  .section.dark,.section.soft,.section.flat{background:#05032a}
  .service-card{border-radius:22px;padding:20px}
  .service-card .iconWrap{width:78px;height:78px}
  .why-hero{margin-top:24px}
  .page-hero .inner{gap:26px}
}

/* V5 additions */
.hero-tags .tag{backdrop-filter:blur(8px)}
.mini-feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:30px}
.mini-feature{padding:18px 18px 20px;border-radius:22px;background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.08);box-shadow:var(--shadow)}
.mini-feature b{display:block;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--cyan);margin-bottom:10px}
.mini-feature p{margin:0;color:var(--muted);font-size:14px;line-height:1.7}
.video-showcase{display:grid;grid-template-columns:1.1fr .9fr;gap:22px;align-items:stretch;margin-top:34px}
.video-stack{display:grid;gap:22px}
.video-card{position:relative;border-radius:28px;overflow:hidden;border:1px solid rgba(255,255,255,.09);box-shadow:var(--shadow);min-height:320px;background:#040320}
.video-card video,.video-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.video-card::before{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(5,3,42,.08),rgba(5,3,42,.78))}
.video-card .video-copy{position:absolute;left:22px;right:22px;bottom:20px;z-index:2}
.video-card .video-copy b{display:block;font-size:12px;letter-spacing:.15em;text-transform:uppercase;color:var(--cyan);margin-bottom:8px}
.video-card .video-copy span{display:block;font-size:22px;line-height:1.2;font-weight:700;letter-spacing:-.04em}
.video-card.tall{min-height:660px}
.video-card.small{min-height:318px}
.video-card .play-pip{position:absolute;right:18px;top:18px;z-index:2;display:inline-flex;align-items:center;gap:8px;padding:10px 14px;border-radius:999px;background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.16);backdrop-filter:blur(12px);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#fff}
.video-card .play-pip::before{content:'';width:10px;height:10px;border-radius:50%;background:var(--cyan);box-shadow:0 0 12px rgba(89,217,223,.65);animation:pulseDot 1.5s ease-in-out infinite}
@keyframes pulseDot{50%{transform:scale(.75);opacity:.45}}
.phone-showcase{display:grid;grid-template-columns:.78fr 1.22fr;gap:26px;align-items:center;margin-top:34px}
.phone-shell{justify-self:center;width:min(100%,320px);padding:14px;border-radius:40px;background:linear-gradient(180deg,#111,#05032a);border:1px solid rgba(255,255,255,.12);box-shadow:0 26px 60px rgba(0,0,0,.35)}
.phone-shell video{display:block;width:100%;aspect-ratio:9/16;object-fit:cover;border-radius:28px;background:#000}
.phone-notch{width:38%;height:20px;background:#000;border-radius:0 0 18px 18px;margin:0 auto 10px}
.check-list{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:24px}
.check-list span{padding:14px 16px 14px 40px;position:relative;border-radius:18px;background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.08);font-size:14px;color:#eef4fb}
.check-list span::before{content:'✓';position:absolute;left:16px;top:50%;transform:translateY(-50%);color:var(--cyan);font-weight:800}
.page-links{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px}.page-links a{padding:12px 16px;border-radius:999px;border:1px solid rgba(89,217,223,.18);background:rgba(89,217,223,.06);font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:#fff}
.experience-callout{padding:24px 26px;border-radius:28px;background:linear-gradient(145deg,rgba(89,217,223,.12),rgba(255,255,255,.03));border:1px solid rgba(89,217,223,.18);box-shadow:var(--shadow);margin-top:28px}
.experience-callout p{margin:10px 0 0;color:var(--muted);line-height:1.8}
.dual-panel{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:28px}
.dual-panel .panel{padding:24px;border-radius:24px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08)}
.dual-panel .panel b{display:block;font-size:12px;letter-spacing:.15em;color:var(--cyan);text-transform:uppercase;margin-bottom:10px}
.dual-panel .panel p{margin:0;color:var(--muted);line-height:1.8}
.video-grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:30px}
.video-grid-3 .video-card{min-height:260px}
.inline-note{font-size:13px;color:var(--muted);margin-top:14px;line-height:1.8}
@media(max-width:1100px){.mini-feature-grid,.video-grid-3{grid-template-columns:1fr 1fr}.video-showcase,.phone-showcase{grid-template-columns:1fr}.video-card.tall{min-height:420px}.phone-shell{order:1}.check-list{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.mini-feature-grid,.video-grid-3,.dual-panel,.check-list{grid-template-columns:1fr}.video-card.small,.video-card.tall{min-height:280px}.video-card .video-copy span{font-size:20px}.phone-shell{width:min(100%,280px)}}

/* V6 platform + homepage */
.hero-center{min-height:calc(100vh - 86px);display:grid;place-items:center;text-align:center;position:relative;padding:70px 0 95px}
.hero-center .hero-core{position:relative;z-index:3;max-width:1120px;margin:auto}.hero-center .eyebrow-logo{display:flex;justify-content:center;margin-bottom:26px}.hero-center .eyebrow-logo img{width:min(280px,62vw)}
.hero-center h1{font-size:clamp(68px,10vw,150px);line-height:.82;letter-spacing:-.075em;font-style:italic;font-weight:300;margin:0;color:#fff}.hero-center h1 .hero-the{display:block;font-size:.17em;letter-spacing:.32em;font-style:normal;font-weight:800;color:var(--cyan);margin:0 0 20px 1.2em}.hero-center h1 strong{font-style:normal;font-weight:800}
.hero-service-cycle{height:58px;position:relative;margin:32px auto 18px;max-width:860px;overflow:hidden}.hero-service-cycle span{position:absolute;inset:0;display:grid;place-items:center;opacity:0;transform:translateY(24px) scale(.98);transition:opacity .55s ease,transform .55s ease;color:var(--cyan);font-size:clamp(18px,2vw,28px);font-weight:700;letter-spacing:.06em;text-transform:uppercase}.hero-service-cycle span.active{opacity:1;transform:none}.hero-center .lead{max-width:790px;margin:0 auto 30px;color:#c9cbe0;font-size:17px;line-height:1.8}.hero-center .btn-row{justify-content:center}
.hero-orbit{position:absolute;inset:0;pointer-events:none;overflow:hidden}.hero-orbit::before,.hero-orbit::after{content:'';position:absolute;border:1px solid rgba(89,217,223,.08);border-radius:50%}.hero-orbit::before{width:900px;height:900px;left:50%;top:50%;transform:translate(-50%,-44%);box-shadow:0 0 0 70px rgba(89,217,223,.025),0 0 0 140px rgba(89,217,223,.018);animation:heroBreath 12s ease-in-out infinite alternate}.hero-orbit::after{width:470px;height:470px;right:-120px;top:-100px;box-shadow:0 0 0 55px rgba(255,255,255,.015)}@keyframes heroBreath{to{transform:translate(-50%,-44%) scale(1.04)}}
.hero-scanline{position:absolute;left:0;right:0;bottom:0;height:1px;background:linear-gradient(90deg,transparent,var(--cyan),transparent);opacity:.6;animation:scanline 5s ease-in-out infinite}@keyframes scanline{0%,100%{transform:scaleX(.25);opacity:.2}50%{transform:scaleX(1);opacity:.75}}
.why-banner{padding:54px 0;background:#0a083c;border-top:1px solid rgba(89,217,223,.1);border-bottom:1px solid rgba(89,217,223,.1);overflow:hidden}.why-banner .container{display:grid;grid-template-columns:.42fr 1.58fr;align-items:center;gap:36px}.why-banner .label{font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:#fff;font-weight:800;line-height:1.5}.why-banner .big-rotator{height:84px;position:relative;overflow:hidden}.why-banner .big-rotator span{position:absolute;inset:0;display:flex;align-items:center;font-size:clamp(32px,4vw,64px);line-height:1;font-style:italic;font-weight:300;letter-spacing:-.045em;color:var(--cyan);opacity:0;transform:translateY(38px);transition:.55s ease}.why-banner .big-rotator span.active{opacity:1;transform:none}
.section-marquee{overflow:hidden;border-top:1px solid rgba(255,255,255,.08);border-bottom:1px solid rgba(255,255,255,.08);background:#070534;padding:13px 0}.section-marquee .track{display:flex;width:max-content;gap:42px;animation:marqueeMove 28s linear infinite}.section-marquee span{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:#b8bbd3;white-space:nowrap}.section-marquee b{color:var(--cyan)}@keyframes marqueeMove{to{transform:translateX(-50%)}}
.stat-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:34px}.stat-strip .stat{padding:21px;border-radius:24px;background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.08)}.stat-strip .stat b{display:block;color:var(--cyan);font-size:34px;font-weight:300;letter-spacing:-.04em}.stat-strip .stat span{font-size:12px;color:var(--muted);line-height:1.5}
.shop-toolbar{display:flex;justify-content:space-between;gap:20px;align-items:end;margin:30px 0 26px;flex-wrap:wrap}.shop-filters{display:flex;gap:10px;flex-wrap:wrap}.shop-filter{border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.03);color:#fff;padding:11px 16px;border-radius:999px;cursor:pointer;font-size:11px;letter-spacing:.12em;text-transform:uppercase}.shop-filter.active,.shop-filter:hover{background:var(--cyan);color:var(--navy);border-color:var(--cyan)}.cart-pill{display:flex;align-items:center;gap:10px;padding:11px 16px;border-radius:999px;border:1px solid rgba(89,217,223,.25);background:rgba(89,217,223,.08);font-size:12px}.cart-pill b{color:var(--cyan)}
.product-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.product-card{position:relative;overflow:hidden;border-radius:28px;background:linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.02));border:1px solid rgba(255,255,255,.09);transition:.3s;min-height:470px;display:flex;flex-direction:column}.product-card:hover{transform:translateY(-7px);border-color:rgba(89,217,223,.3);box-shadow:0 24px 56px rgba(0,0,0,.28)}.product-media{height:230px;background:radial-gradient(circle at 55% 45%,rgba(89,217,223,.18),transparent 45%),#0b093f;display:grid;place-items:center;position:relative;overflow:hidden}.product-media img{width:100%;height:100%;object-fit:cover}.product-media .product-mark{font-size:58px;font-weight:800;letter-spacing:-.08em;color:rgba(255,255,255,.96)}.product-media .product-mark small{display:block;font-size:10px;letter-spacing:.2em;color:var(--cyan);text-align:center;margin-top:8px}.product-content{padding:22px;display:flex;flex-direction:column;flex:1}.product-kicker{font-size:10px;letter-spacing:.15em;text-transform:uppercase;color:var(--cyan);margin-bottom:8px}.product-content h3{font-size:25px;line-height:1.05;margin:0 0 12px;letter-spacing:-.04em}.product-content p{font-size:13px;line-height:1.75;color:var(--muted);margin:0 0 18px}.product-bottom{margin-top:auto}.product-price{font-size:28px;font-weight:700;margin-bottom:14px}.product-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.product-actions button,.product-actions a{display:grid;place-items:center;text-align:center;min-height:44px;border-radius:14px;border:1px solid rgba(255,255,255,.12);font-size:10px;font-weight:800;letter-spacing:.09em;text-transform:uppercase;cursor:pointer;background:rgba(255,255,255,.03);color:#fff}.product-actions .supply-install{background:var(--cyan);color:var(--navy);border-color:var(--cyan)}
.cart-drawer{position:fixed;right:20px;bottom:20px;width:min(420px,calc(100vw - 40px));z-index:180;border-radius:26px;background:#0a073a;border:1px solid rgba(89,217,223,.25);box-shadow:0 25px 70px rgba(0,0,0,.45);padding:20px;display:none}.cart-drawer.open{display:block}.cart-drawer h3{margin:0 0 16px}.cart-items{display:grid;gap:10px;max-height:260px;overflow:auto}.cart-item{display:flex;justify-content:space-between;gap:14px;padding:12px;border-radius:14px;background:rgba(255,255,255,.04);font-size:13px}.cart-total{display:flex;justify-content:space-between;font-size:18px;font-weight:800;margin:18px 0}.cart-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.booking-shell{display:grid;grid-template-columns:260px 1fr;gap:26px;align-items:start}.booking-side{position:sticky;top:112px;padding:22px;border-radius:26px;background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.08)}.booking-side h3{margin:0 0 18px;font-size:18px}.booking-progress{display:grid;gap:9px}.booking-progress button{border:0;background:none;color:#8186a2;text-align:left;padding:10px 12px;border-radius:12px;font-size:12px;letter-spacing:.06em}.booking-progress button.active{background:rgba(89,217,223,.1);color:var(--cyan)}.booking-progress button.done{color:#fff}.booking-progress button.done::before{content:'✓ ';color:var(--cyan)}.booking-note{margin-top:20px;padding:14px;border-radius:16px;background:rgba(255,255,255,.04);font-size:12px;line-height:1.7;color:var(--muted)}
.booking-main{border-radius:30px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.08);padding:28px;min-height:620px}.booking-step{display:none}.booking-step.active{display:block;animation:fadeUp .35s ease}.booking-step h2{font-size:clamp(34px,4vw,56px);line-height:.98;letter-spacing:-.05em;margin:0 0 12px;font-style:italic;font-weight:300}.booking-step h2 strong{font-style:normal;font-weight:800}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.field{display:grid;gap:8px}.field.full{grid-column:1/-1}.field label{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:#cfd2e4;font-weight:700}.field input,.field select,.field textarea{width:100%;border:1px solid rgba(255,255,255,.12);background:#0b083e;color:#fff;border-radius:16px;padding:15px 16px;font:inherit;outline:none}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--cyan);box-shadow:0 0 0 3px rgba(89,217,223,.08)}.field small{color:#8f94b0;line-height:1.55}.field textarea{min-height:120px;resize:vertical}
.choice-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.choice-card{display:block;position:relative;padding:20px;border-radius:20px;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.025);cursor:pointer;transition:.25s}.choice-card:hover{border-color:rgba(89,217,223,.35);transform:translateY(-2px)}.choice-card input{position:absolute;opacity:0}.choice-card.selected{border-color:var(--cyan);background:rgba(89,217,223,.08)}.choice-card b{display:block;font-size:18px;margin-bottom:6px}.choice-card span{color:var(--muted);font-size:13px;line-height:1.55}
.booking-nav{display:flex;justify-content:space-between;gap:12px;margin-top:28px}.booking-nav button{border-radius:999px;padding:14px 20px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.03);color:#fff;font-weight:800;letter-spacing:.08em;text-transform:uppercase;font-size:11px;cursor:pointer}.booking-nav .next{background:var(--cyan);color:var(--navy);border-color:var(--cyan)}.vehicle-result,.travel-result,.price-summary,.approval-box,.hardwire-alert{padding:18px;border-radius:18px;border:1px solid rgba(89,217,223,.18);background:rgba(89,217,223,.06);margin-top:16px}.vehicle-result[hidden],.travel-result[hidden],.hardwire-alert[hidden]{display:none}.vehicle-result b,.travel-result b{color:var(--cyan)}.hardwire-alert{border-color:rgba(255,189,89,.35);background:rgba(255,189,89,.08)}.hardwire-alert strong{color:#ffd18d}.check-row{display:flex;align-items:flex-start;gap:10px;margin-top:14px}.check-row input{margin-top:3px}.check-row label,.check-row span{font-size:13px;line-height:1.65;color:#d9dbea}.summary-lines{display:grid;gap:10px}.summary-line{display:flex;justify-content:space-between;gap:20px;padding:11px 0;border-bottom:1px solid rgba(255,255,255,.08)}.summary-line.total{font-size:20px;font-weight:800;border:0;padding-top:16px}.summary-line.total span:last-child{color:var(--cyan)}.approval-box{background:rgba(255,255,255,.04);border-color:rgba(255,255,255,.1)}.approval-box h3{margin:0 0 8px;color:#fff}.approval-box p{margin:0;color:var(--muted);font-size:13px;line-height:1.7}
.terms-button{width:100%;display:flex;justify-content:space-between;align-items:center;border:1px solid rgba(89,217,223,.25);background:rgba(89,217,223,.07);color:#fff;padding:16px;border-radius:16px;cursor:pointer}.terms-status{font-size:11px;color:#8e94af}.terms-status.accepted{color:var(--cyan)}.terms-modal{position:fixed;inset:0;z-index:300;background:rgba(1,1,15,.84);backdrop-filter:blur(12px);display:none;padding:24px}.terms-modal.open{display:grid;place-items:center}.terms-panel{width:min(880px,100%);max-height:92vh;display:grid;grid-template-rows:auto 1fr auto;background:#080637;border:1px solid rgba(89,217,223,.2);border-radius:28px;overflow:hidden;box-shadow:0 30px 90px rgba(0,0,0,.5)}.terms-head,.terms-foot{padding:18px 22px;background:#0b093f}.terms-head{display:flex;justify-content:space-between;align-items:center}.terms-head h3{margin:0}.terms-head button{border:0;background:none;color:#fff;font-size:26px;cursor:pointer}.terms-scroll{padding:22px;overflow:auto;line-height:1.7;color:#d3d6e7}.terms-scroll h4{color:var(--cyan);margin:26px 0 8px}.terms-scroll p,.terms-scroll li{font-size:13px}.terms-foot{display:flex;align-items:center;justify-content:space-between;gap:12px}.terms-progress{font-size:11px;color:#9297b3}.terms-agree{padding:12px 18px;border-radius:999px;border:0;background:var(--cyan);color:var(--navy);font-weight:800;cursor:pointer}.terms-agree:disabled{opacity:.35;cursor:not-allowed}
.signature-tabs{display:flex;gap:8px;margin:14px 0}.signature-tabs button{padding:10px 13px;border-radius:999px;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.03);color:#fff;cursor:pointer}.signature-tabs button.active{background:var(--cyan);color:var(--navy)}.signature-panel{display:none}.signature-panel.active{display:block}.signature-canvas{width:100%;height:180px;background:#fff;border-radius:16px;touch-action:none}.signature-upload{padding:20px;border:1px dashed rgba(255,255,255,.2);border-radius:16px}.confirmation-card{text-align:center;padding:50px 24px}.confirmation-icon{width:78px;height:78px;margin:0 auto 22px;border-radius:50%;display:grid;place-items:center;background:rgba(89,217,223,.12);border:1px solid rgba(89,217,223,.3);font-size:34px;color:var(--cyan)}
.location-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:30px}.location-card{padding:24px;border-radius:24px;background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.08);transition:.25s}.location-card:hover{transform:translateY(-5px);border-color:rgba(89,217,223,.3)}.location-card b{display:block;color:var(--cyan);font-size:12px;letter-spacing:.14em;text-transform:uppercase;margin-bottom:8px}.location-card h3{margin:0 0 10px;font-size:26px}.location-card p{margin:0 0 14px;color:var(--muted);font-size:13px;line-height:1.7}.location-card a{font-size:11px;color:var(--cyan);font-weight:800;letter-spacing:.1em;text-transform:uppercase}.location-services{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:28px}.location-service{padding:18px;border-radius:18px;background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.08)}.location-service b{display:block;color:var(--cyan);margin-bottom:6px}
.admin-body{background:#05032a;min-height:100vh}.admin-login-wrap{min-height:100vh;display:grid;place-items:center;padding:30px}.admin-login-card{width:min(480px,100%);padding:30px;border-radius:28px;background:#0a073a;border:1px solid rgba(89,217,223,.2);box-shadow:var(--shadow)}.admin-login-card img{width:250px;margin:0 auto 26px}.admin-login-card h1{text-align:center;font-size:32px;margin:0 0 8px}.admin-login-card p{text-align:center;color:var(--muted);font-size:13px;line-height:1.7}.admin-login-card form{display:grid;gap:14px;margin-top:24px}.admin-shell{display:grid;grid-template-columns:250px 1fr;min-height:100vh}.admin-sidebar{background:#03021d;border-right:1px solid rgba(255,255,255,.08);padding:22px;position:sticky;top:0;height:100vh}.admin-sidebar img{width:200px;margin-bottom:26px}.admin-nav{display:grid;gap:7px}.admin-nav button{border:0;background:none;color:#9da2bd;padding:12px 14px;text-align:left;border-radius:12px;cursor:pointer}.admin-nav button.active,.admin-nav button:hover{background:rgba(89,217,223,.08);color:var(--cyan)}.admin-main{padding:30px}.admin-top{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:26px}.admin-top h1{margin:0}.admin-badges{display:flex;gap:10px;flex-wrap:wrap}.admin-badge{padding:10px 13px;border-radius:14px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);font-size:12px}.admin-panel{display:none}.admin-panel.active{display:block}.admin-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.admin-stat{padding:20px;border-radius:22px;background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.08)}.admin-stat b{display:block;font-size:32px;color:var(--cyan);font-weight:300}.admin-stat span{font-size:12px;color:var(--muted)}.admin-section{margin-top:22px;padding:22px;border-radius:24px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.08)}.admin-section h2{margin-top:0}.admin-table{width:100%;border-collapse:collapse}.admin-table th,.admin-table td{padding:12px;border-bottom:1px solid rgba(255,255,255,.07);text-align:left;font-size:12px}.admin-table th{color:#8f94ae;text-transform:uppercase;letter-spacing:.1em}.admin-form{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.admin-form .field.full{grid-column:1/-1}.admin-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}.admin-actions button{padding:12px 16px;border-radius:999px;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.04);color:#fff;cursor:pointer}.admin-actions .primary{background:var(--cyan);color:var(--navy)}
.portal-grid{display:grid;grid-template-columns:260px 1fr;gap:24px}.portal-sidebar{padding:22px;border-radius:24px;background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.08);height:max-content}.portal-main{display:grid;gap:18px}.portal-card{padding:22px;border-radius:24px;background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.08)}.portal-card h3{margin-top:0}.status-pill{display:inline-flex;padding:7px 11px;border-radius:999px;font-size:10px;letter-spacing:.12em;text-transform:uppercase;background:rgba(89,217,223,.1);color:var(--cyan);border:1px solid rgba(89,217,223,.2)}
@media(max-width:1100px){.product-grid,.location-grid{grid-template-columns:repeat(2,1fr)}.booking-shell,.admin-shell,.portal-grid{grid-template-columns:1fr}.booking-side,.admin-sidebar{position:relative;top:auto;height:auto}.admin-sidebar{display:none}.why-banner .container{grid-template-columns:1fr}.why-banner .big-rotator{height:96px}.location-services{grid-template-columns:repeat(2,1fr)}.admin-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.hero-center{padding:46px 0 74px}.hero-center h1{font-size:clamp(58px,18vw,92px)}.hero-service-cycle{height:72px}.hero-service-cycle span{font-size:17px;line-height:1.35;padding:0 10px}.why-banner{padding:36px 0}.why-banner .big-rotator{height:94px}.why-banner .big-rotator span{font-size:34px}.stat-strip,.product-grid,.location-grid,.location-services,.admin-grid,.form-grid,.choice-grid,.admin-form{grid-template-columns:1fr}.booking-main{padding:20px}.booking-side{display:none}.product-actions{grid-template-columns:1fr}.shop-toolbar{align-items:flex-start}.terms-modal{padding:10px}.terms-panel{max-height:96vh;border-radius:20px}.terms-foot{align-items:flex-start;flex-direction:column}}

/* V7 refinements */
.hero-center{padding-top:54px}
.hero-center h1 strong{color:var(--cyan)}
.hero-center h1 .hero-word,.hero-center h1 strong{font-size:1em}
.hero-center .hero-the{margin-bottom:16px!important}
.hero-service-cycle{height:74px;margin-top:26px}.hero-service-cycle span{font-size:clamp(20px,2.2vw,31px);letter-spacing:.045em}
.why-banner{padding:62px 0}.why-banner .label{font-size:13px;line-height:1.45}.why-banner .big-rotator{height:122px;overflow:visible}.why-banner .big-rotator span{align-items:flex-start;line-height:1.04}
.section-title{overflow:visible}.section-title strong{color:#fff}
.section-marquee{padding:0;background:#0a083d}.section-marquee .track{gap:0;animation-duration:34s}.section-marquee:hover .track{animation-play-state:paused}.section-marquee a{position:relative;display:flex;align-items:center;gap:13px;white-space:nowrap;padding:17px 26px;border-right:1px solid rgba(255,255,255,.08);color:#c7cadd;transition:.25s}.section-marquee a b{color:var(--cyan);font-size:12px;letter-spacing:.16em;text-transform:uppercase}.section-marquee a span{font-size:10px;letter-spacing:.13em;text-transform:uppercase;color:#959ab3}.section-marquee a:hover{background:rgba(89,217,223,.09);color:#fff;padding-inline:34px}.section-marquee a:hover::after{content:attr(data-detail);position:absolute;left:18px;bottom:calc(100% + 10px);width:260px;padding:12px 14px;border-radius:14px;background:#05032a;border:1px solid rgba(89,217,223,.25);color:#fff;font-size:11px;line-height:1.55;letter-spacing:0;text-transform:none;white-space:normal;box-shadow:0 18px 50px rgba(0,0,0,.35);z-index:30}
.service-card,.product-card,.copy-box,.detail-card,.location-card,.review-card{transition:transform .32s ease,border-color .32s ease,box-shadow .32s ease}.service-card:hover,.copy-box:hover,.detail-card:hover,.location-card:hover,.review-card:hover{transform:translateY(-6px);border-color:rgba(89,217,223,.32);box-shadow:0 22px 52px rgba(0,0,0,.22)}

/* Shop */
.shop-page{background:#05032a}.shop-topbar{position:sticky;top:0;z-index:130;height:76px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:20px;padding:0 clamp(18px,3vw,46px);background:#05032a;border-bottom:1px solid rgba(255,255,255,.08);backdrop-filter:blur(14px)}.shop-brand img{width:210px}.shop-title{font-size:12px;letter-spacing:.34em;font-weight:800;color:var(--cyan)}.shop-top-actions{justify-self:end;display:flex;gap:12px;align-items:center}.shop-top-actions a{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:#bfc3d6}.shop-top-actions a:hover{color:var(--cyan)}.shop-main{padding-top:0}.shop-hero{padding:90px 0 58px;background:radial-gradient(circle at 78% 20%,rgba(89,217,223,.08),transparent 30%),#05032a;text-align:center}.shop-hero h1{font-size:clamp(50px,7vw,94px);line-height:.92;letter-spacing:-.06em;margin:0 0 22px;font-style:italic;font-weight:300}.shop-hero h1 strong{font-style:normal;color:var(--cyan);font-weight:800}.shop-hero p{max-width:780px;margin:0 auto 28px;color:var(--muted);line-height:1.8}.shop-hero-actions{display:flex;justify-content:center;gap:12px;flex-wrap:wrap}.shop-catalogue{padding:36px 0 96px;background:#05032a}.shop-toolbar{display:flex;justify-content:space-between;gap:18px;align-items:center;margin-bottom:28px}.shop-filters{display:flex;flex-wrap:wrap;gap:8px}.shop-filter{padding:10px 14px;border-radius:999px;background:#080638;border:1px solid rgba(255,255,255,.08);color:#b9bdd2;font:inherit;font-size:10px;text-transform:uppercase;letter-spacing:.1em;cursor:pointer}.shop-filter.active,.shop-filter:hover{color:var(--navy);background:var(--cyan);border-color:var(--cyan)}.cart-pill{padding:11px 15px;border-radius:999px;border:1px solid rgba(89,217,223,.25);background:rgba(89,217,223,.08);color:#fff!important;font:inherit;font-size:11px;cursor:pointer}.cart-pill b,.cart-pill span{color:#fff!important}.product-bottom small{color:#8f94ad}.product-video-link{display:inline-block;margin:-4px 0 18px;color:var(--cyan);font-size:11px;font-weight:700}.video-badge{position:absolute;right:14px;top:14px;padding:7px 10px;border-radius:999px;background:rgba(5,3,42,.8);color:#fff!important;font-size:9px!important;letter-spacing:.1em;text-transform:uppercase}.cart-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.52);backdrop-filter:blur(6px);z-index:179;opacity:0;pointer-events:none;transition:.25s}.cart-backdrop.open{opacity:1;pointer-events:auto}.cart-drawer{display:block!important;top:0;right:0;bottom:0;width:min(460px,100vw);border-radius:0;transform:translateX(105%);transition:transform .28s ease;padding:24px;background:#07052f;color:#fff}.cart-drawer.open{transform:none}.cart-drawer *{color:inherit}.cart-drawer-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.cart-drawer-head h3{margin:0}.cart-drawer-head button{width:38px;height:38px;border-radius:50%;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);color:#fff;font-size:24px}.cart-item{align-items:center}.cart-item strong{display:block}.cart-item small{display:block;color:#9499b4;margin-top:3px}.cart-item-right{display:flex;align-items:center;gap:10px}.cart-item-right button{border:0;background:none;color:#fff;font-size:20px;cursor:pointer}.cart-total,.cart-total span,.cart-total b{color:#fff!important}.cart-note{color:#9297b2;font-size:12px;line-height:1.6}.empty-cart{padding:20px;border:1px dashed rgba(255,255,255,.12);border-radius:16px;color:#959ab4}.shop-help-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:36px;align-items:center}

/* Booking */
.booking-shell{scroll-margin-top:105px}.booking-main{background:#05032a;border-color:rgba(255,255,255,.08);scroll-margin-top:104px}.booking-side{background:#05032a}.choice-card,.equipment-block,.basket-preview,.visit-item,.visit-appointment,.customer-kit-panel{background:#05032a;border:1px solid rgba(255,255,255,.09)}.booking-step{scroll-margin-top:104px}.form-error{padding:14px 16px;margin-bottom:18px;border-radius:16px;background:rgba(255,94,94,.10);border:1px solid rgba(255,94,94,.3);color:#ffd4d4;font-size:13px}.field input.invalid,.field select.invalid,.field textarea.invalid{border-color:#ff7272;box-shadow:0 0 0 3px rgba(255,94,94,.08)}.lookup-row{display:grid;grid-template-columns:1fr auto;gap:10px}.booking-basket{margin-top:20px}.basket-preview{padding:18px;border-radius:20px}.basket-preview-head{display:flex;justify-content:space-between;gap:12px;margin-bottom:12px}.basket-preview-head a{font-size:11px;color:var(--cyan)}.basket-preview-line{display:flex;justify-content:space-between;gap:16px;padding:11px 0;border-top:1px solid rgba(255,255,255,.07)}.basket-preview-line span{display:grid;gap:3px}.basket-preview-line small{color:#8f94af}.equipment-block{padding:22px;border-radius:24px;margin-bottom:16px}.equipment-block h3{margin:0 0 15px;font-size:24px}.customer-kit-panel{padding:20px;border-radius:20px;margin-top:16px}.response-checks{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.response-checks label{display:flex;gap:10px;align-items:center;padding:13px;border-radius:15px;border:1px solid rgba(255,255,255,.08);background:#070533;color:#fff}.response-checks input{accent-color:var(--cyan)}.visit-toggle{margin:20px 0}.switch-row{display:flex;align-items:flex-start;gap:13px;padding:18px;border-radius:18px;border:1px solid rgba(89,217,223,.2);background:#05032a}.switch-row input{margin-top:5px;width:18px;height:18px;accent-color:var(--cyan)}.switch-row span{display:grid;gap:5px}.switch-row small{color:#8f94ad}.visit-planner{display:grid;gap:10px}.visit-item{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:16px;border-radius:18px}.visit-item>div{display:grid;gap:4px}.visit-item small{color:#8f94ad}.visit-item label{display:flex;align-items:center;gap:10px;font-size:11px;text-transform:uppercase;letter-spacing:.08em}.visit-item select{background:#0a083e;color:#fff;border:1px solid rgba(255,255,255,.12);border-radius:12px;padding:10px}.visit-pill{padding:8px 12px;border-radius:999px;background:rgba(89,217,223,.08);border:1px solid rgba(89,217,223,.2);color:var(--cyan);font-size:11px}.visit-appointments{display:grid;gap:14px;margin-top:18px}.visit-appointment{padding:20px;border-radius:20px}.club-consent{display:flex!important;align-items:flex-start;gap:14px;padding:18px;border-radius:18px;border:1px solid rgba(255,255,255,.09);background:#05032a;text-transform:none!important;letter-spacing:0!important}.club-consent input{margin:3px 0 0;flex:0 0 auto;width:18px;height:18px;accent-color:var(--cyan)}.club-consent span{display:grid;gap:4px}.club-consent b{font-size:14px;color:#fff}.club-consent small{color:#8f94ad;font-size:12px;line-height:1.5}.signature-canvas{background:#070534!important;border:1px solid rgba(89,217,223,.2);box-shadow:inset 0 0 0 1px rgba(255,255,255,.03)}.summary-visits{display:grid;gap:10px;margin-bottom:18px}.summary-visit{display:grid;grid-template-columns:auto 1fr;gap:4px 16px;padding:14px;border-radius:16px;background:#05032a;border:1px solid rgba(255,255,255,.08)}.summary-visit b{color:var(--cyan)}.summary-visit small{grid-column:1/-1;color:#8f94ad}.check-row input{accent-color:var(--cyan)}

/* Contact */
.contact-layout{display:grid;grid-template-columns:1.15fr .85fr;gap:24px}.contact-form-card,.contact-info-card{padding:26px;border-radius:26px;background:#05032a;border:1px solid rgba(255,255,255,.09)}.contact-form-card h2{font-size:clamp(34px,4vw,56px);line-height:1;letter-spacing:-.05em;margin:0 0 24px;font-style:italic;font-weight:300}.contact-form-card h2 strong{font-style:normal;color:var(--cyan)}.contact-form{display:grid;gap:18px}.contact-info-stack{display:grid;gap:16px}.contact-big-link{display:block;font-size:clamp(27px,3vw,44px);font-weight:800;letter-spacing:-.04em;margin-bottom:14px}.contact-big-link.small{font-size:16px;letter-spacing:0;color:var(--cyan)}.contact-info-card h3{font-size:28px;margin:0 0 10px}.contact-info-card p{color:var(--muted);line-height:1.75}.social-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.social-grid a{display:grid;place-items:center;min-height:52px;border-radius:16px;background:#080638;border:1px solid rgba(255,255,255,.08);color:#fff;font-weight:700}.social-grid a:hover{border-color:var(--cyan);color:var(--cyan)}.social-grid a.social-empty{opacity:.55}.form-success{padding:14px 16px;border-radius:16px;background:rgba(89,217,223,.08);border:1px solid rgba(89,217,223,.2);color:#dffbfc}

/* Admin */
.admin-section-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.admin-section-head button,.admin-product-actions button,.location-admin-row button{padding:9px 12px;border-radius:999px;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.04);color:#fff;cursor:pointer}.admin-image-preview img{margin-top:12px;max-width:220px;max-height:160px;object-fit:cover;border-radius:16px}.admin-product-list{display:grid;gap:10px}.admin-product-row{display:grid;grid-template-columns:70px 1fr auto auto;gap:14px;align-items:center;padding:12px;border-radius:16px;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.025)}.admin-product-thumb{width:70px;height:58px;border-radius:12px;background:#0b093f;display:grid;place-items:center;overflow:hidden}.admin-product-thumb img{width:100%;height:100%;object-fit:cover}.admin-product-thumb span{font-weight:800;color:var(--cyan)}.admin-product-row small{display:block;color:#8f94ad;margin-top:4px}.admin-product-actions{display:flex;gap:8px}.location-admin-list{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.location-admin-row{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:14px;border-radius:14px;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.025)}

@media(max-width:1100px){.shop-help-grid,.contact-layout{grid-template-columns:1fr}.shop-topbar{grid-template-columns:auto 1fr}.shop-title{display:none}.shop-top-actions{justify-self:end}.admin-product-row{grid-template-columns:60px 1fr auto}.admin-product-actions{grid-column:2/-1}.location-admin-list{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){
  .hero-center{padding-top:32px}.hero-center h1{font-size:clamp(56px,16vw,86px);line-height:.88}.hero-center h1 .hero-the{font-size:.2em;margin-left:.7em}.hero-service-cycle{height:88px}.hero-service-cycle span{font-size:18px;line-height:1.25}.why-banner{padding:44px 0}.why-banner .label{font-size:16px;line-height:1.25}.why-banner .big-rotator{height:138px}.why-banner .big-rotator span{font-size:clamp(34px,10vw,48px);line-height:1.03}.section-title{font-size:clamp(40px,12vw,62px);line-height:1.02}.section-marquee a{padding:15px 20px}.section-marquee a:hover::after{display:none}
  .shop-topbar{height:auto;min-height:72px;padding:12px 16px}.shop-brand img{width:170px}.shop-top-actions a{display:none}.shop-hero{padding:62px 0 46px}.shop-hero h1{font-size:clamp(45px,13vw,70px)}.shop-toolbar{flex-direction:column;align-items:stretch}.cart-pill{align-self:flex-end}.response-checks,.social-grid{grid-template-columns:1fr}.lookup-row{grid-template-columns:1fr}.visit-item{align-items:flex-start;flex-direction:column}.contact-form-card,.contact-info-card{padding:20px}.location-admin-list{grid-template-columns:1fr}
}
@media(max-width:560px){.hero-center h1{font-size:clamp(48px,14vw,70px)}.hero-service-cycle{height:80px}.why-banner .big-rotator{height:150px}.section-marquee a{gap:8px}.section-marquee a span{display:none}.shop-brand img{width:150px}.shop-top-actions{gap:6px}.cart-drawer{width:100vw}.booking-main{padding:16px}.equipment-block,.customer-kit-panel{padding:16px}.admin-product-row{grid-template-columns:54px 1fr}.admin-product-row>div:nth-child(3){grid-column:2}.admin-product-actions{grid-column:2}}
.cart-actions.three{grid-template-columns:1fr}.cart-actions.three .btn{text-align:center;justify-content:center}

/* V8 refinement layer */
.nav{height:94px;padding-inline:clamp(18px,4vw,64px);gap:18px;background:#05032a;border-bottom:1px solid rgba(89,217,223,.12)}
.nav .brand img{width:min(246px,43vw)}
.nav nav{gap:22px}
.customer-login{padding:12px 16px;border-radius:999px;border:1px solid rgba(255,255,255,.13);font-size:10px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#fff;white-space:nowrap;transition:.25s}
.customer-login:hover{border-color:var(--cyan);color:var(--cyan);transform:translateY(-1px)}
main{padding-top:94px}
.home-heading{font-size:clamp(54px,6.8vw,104px)!important;line-height:.92!important}
.home-heading strong{color:var(--cyan)}
.hero-center{min-height:calc(100vh - 94px);padding:36px 0 82px}
.hero-main-cycle{height:clamp(170px,20vw,260px);position:relative;display:grid;place-items:center;margin:0 auto 18px;max-width:1200px;overflow:visible}
.hero-main-cycle .hero-prefix-cycle{position:absolute;inset:0;display:grid;place-items:center}
.hero-prefix-cycle span{position:absolute;inset:0;display:grid;place-items:center;text-align:center;font-size:clamp(58px,9.4vw,142px);line-height:.82;font-weight:300;font-style:italic;letter-spacing:-.07em;color:#fff;opacity:0;transform:translateY(34px) scale(.97);filter:blur(7px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.75,.2,1),filter .7s ease;text-transform:none}
.hero-prefix-cycle span.active{opacity:1;transform:none;filter:blur(0)}
.hero-prefix-cycle span::after{content:' INSTALLER.';font-style:normal;font-weight:800;color:var(--cyan)}
.hero-core .lead{margin-top:10px}
.hero-service-cycle{display:none!important}
.hero-orbit{animation:slowOrbit 12s ease-in-out infinite alternate}
.hero-scanline{animation:bgGlide 15s linear infinite}
.why-banner{padding:72px 0;background:linear-gradient(90deg,#080638,#0c0a48,#080638);background-size:200% 100%;animation:whyGlow 12s ease-in-out infinite alternate}
@keyframes whyGlow{to{background-position:100% 0}}
.why-banner .container{grid-template-columns:1fr}
.why-banner .label{display:none}
.why-banner .big-rotator{height:130px;text-align:center}
.why-banner .big-rotator span{justify-content:center;text-align:center;font-size:clamp(48px,6.5vw,96px);line-height:.95;color:#fff}
.why-banner .big-rotator span::first-letter{color:var(--cyan)}
.section-marquee{position:relative;z-index:20;padding:0;background:#0b0946;border-color:rgba(89,217,223,.2)}
.section-marquee .track{animation-duration:27s}
.section-marquee a{min-height:64px;padding:18px 30px;gap:12px}
.section-marquee a b{font-size:13px}
.ticker-icon{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:50%;border:1px solid rgba(89,217,223,.28);background:rgba(89,217,223,.08);font-size:14px!important;color:var(--cyan)!important;letter-spacing:0!important}
.section-marquee a:hover{padding-inline:40px;background:rgba(89,217,223,.12)}
.section-marquee a:hover::after{bottom:calc(100% + 12px);width:310px;font-size:12px;padding:15px 16px}
.section.home-section{padding-block:128px}
.section.home-section .section-title{font-size:clamp(58px,7vw,108px);line-height:.91}
.reveal{transform:translateY(34px) scale(.985);filter:blur(3px);transition:opacity .8s ease,transform .85s cubic-bezier(.2,.7,.2,1),filter .8s ease}
.reveal.in{transform:none;filter:none}
.service-card.reveal:nth-child(2){transition-delay:.08s}.service-card.reveal:nth-child(3){transition-delay:.16s}.service-card.reveal:nth-child(4){transition-delay:.24s}
.cart-item-right .remove-line{font-size:10px!important;font-weight:800!important;letter-spacing:.08em;text-transform:uppercase;border:1px solid rgba(255,255,255,.14)!important;border-radius:999px!important;padding:7px 9px!important;color:#fff!important}
.cart-item-right .remove-line:hover{border-color:#ff8080!important;color:#ffaaaa!important}
.cart-total{font-size:21px;font-weight:800;border-top:1px solid rgba(255,255,255,.12);padding-top:18px;margin-top:12px}
.choice-card{min-height:116px;outline:none!important}.choice-card.selected{border:2px solid var(--cyan);background:linear-gradient(145deg,rgba(89,217,223,.13),rgba(89,217,223,.04));box-shadow:0 0 0 3px rgba(89,217,223,.06),0 16px 40px rgba(0,0,0,.18)}
.choice-card.selected::after{content:'✓';position:absolute;right:14px;top:12px;display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--cyan);color:var(--navy);font-weight:900}
.visit-item-detailed{align-items:flex-start}.visit-item-main{flex:1;min-width:0}.install-note-label{display:grid!important;gap:7px!important;margin-top:10px!important;text-transform:none!important;letter-spacing:0!important;color:#9da1ba!important}.install-note-label input{width:100%;background:#080638;border:1px solid rgba(255,255,255,.1);border-radius:12px;color:#fff;padding:10px 12px}
.club-consent{align-items:flex-start!important}.club-consent input{position:relative!important;opacity:1!important;margin-top:2px!important}
.social-grid a.social-empty{display:none!important}
.signature-canvas{min-height:180px}
.contact-info-card{background:linear-gradient(145deg,#070534,#09073f);border-color:rgba(89,217,223,.1)}
.contact-info-card .micro-kicker{color:var(--cyan)}
.contact-info-card p,.contact-info-card h3{color:#fff}
.contact-info-card p{color:#bfc3d7}
.about-tight{padding-top:74px!important;padding-bottom:54px!important}.about-tight + .section{padding-top:58px!important}.about-cta-tight{padding-top:52px!important}
.footer{padding:58px 0 30px;background:#020118;text-transform:none;letter-spacing:0;font-size:13px}
.footer .container{display:grid;grid-template-columns:1.2fr 1fr 1fr 1fr;gap:34px;align-items:start}
.footer-brand img{width:220px;margin-bottom:18px}.footer-brand p{color:#858ba7;line-height:1.7;margin:0;max-width:320px}
.footer-col h4{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--cyan);margin:0 0 14px}.footer-col a{display:block;color:#c4c8da;margin:9px 0;font-size:12px}.footer-col a:hover{color:#fff}.footer-bottom{grid-column:1/-1;border-top:1px solid rgba(255,255,255,.08);padding-top:20px;margin-top:6px;display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap;color:#6f7592;font-size:11px}
.admin-preview-bar{display:flex;gap:10px;flex-wrap:wrap}.admin-preview-bar button,.admin-preview-bar a{padding:11px 14px;border-radius:999px;border:1px solid rgba(255,255,255,.12);background:#080638;color:#fff;font-size:11px;font-weight:700;cursor:pointer}.admin-preview-bar .primary{background:var(--cyan);color:var(--navy)}
.admin-existing-media{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.admin-media-card{border:1px solid rgba(255,255,255,.09);border-radius:18px;overflow:hidden;background:#080638}.admin-media-card img,.admin-media-card video{width:100%;aspect-ratio:16/10;object-fit:cover}.admin-media-card div{padding:11px}.admin-media-card b{font-size:12px;display:block}.admin-media-card small{color:#8f94ad}
.admin-service-list{display:grid;gap:10px}.admin-service-row{display:grid;grid-template-columns:1fr 2fr auto;gap:14px;align-items:center;padding:14px;border-radius:16px;background:#080638;border:1px solid rgba(255,255,255,.08)}.admin-service-row p{margin:0;color:#9499b4;font-size:12px}.admin-service-row button{background:none;border:1px solid rgba(255,255,255,.12);border-radius:999px;color:#fff;padding:8px 10px}
@media(max-width:1100px){.nav{height:82px}.customer-login,.nav .book{display:none}main{padding-top:82px}.footer .container{grid-template-columns:1fr 1fr}.admin-existing-media{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.hero-center{min-height:calc(100svh - 82px);padding:18px 0 50px}.hero-main-cycle{height:235px}.hero-prefix-cycle span{font-size:clamp(47px,14vw,76px);line-height:.92;padding:0 8px}.hero-prefix-cycle span::after{display:block}.hero-core .lead{font-size:15px}.why-banner{padding:56px 0}.why-banner .big-rotator{height:160px}.why-banner .big-rotator span{font-size:clamp(41px,11vw,63px);padding:0 8px}.section.home-section{padding-block:92px}.section.home-section .section-title{font-size:clamp(48px,13.5vw,72px);line-height:.96}.section-marquee a{min-height:58px;padding:14px 19px}.section-marquee a b{font-size:12px}.ticker-icon{width:26px;height:26px}.footer .container{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/-1}.about-tight{padding-top:58px!important;padding-bottom:36px!important}.about-tight + .section{padding-top:38px!important}.admin-existing-media{grid-template-columns:1fr 1fr}.admin-service-row{grid-template-columns:1fr}.visit-item-detailed{flex-direction:column}.customer-login{display:none}}
@media(max-width:520px){.footer .container{grid-template-columns:1fr}.footer-brand{grid-column:auto}.footer-bottom{grid-column:auto;flex-direction:column}.admin-existing-media{grid-template-columns:1fr}.hero-prefix-cycle span{font-size:clamp(42px,13vw,64px)}}

/* =========================
   V8 refinement layer
   ========================= */
:root{--header-h:96px}
.nav{height:var(--header-h);background:#05032a;padding-inline:clamp(18px,3.5vw,58px);gap:20px;box-shadow:0 12px 40px rgba(0,0,0,.16)}
main{padding-top:var(--header-h)}
.nav nav{gap:22px}
.nav nav a{font-size:11px}
.customer-login{display:inline-flex;align-items:center;justify-content:center;padding:12px 16px;border-radius:999px;border:1px solid rgba(255,255,255,.14);font-size:10px;font-weight:800;letter-spacing:.11em;text-transform:uppercase;white-space:nowrap;color:#fff;transition:.25s}
.customer-login:hover{border-color:var(--cyan);color:var(--cyan);transform:translateY(-2px)}
.nav .book{padding:13px 17px}
.section-title-xl{font-size:clamp(56px,6.2vw,96px)!important;line-height:.92!important;max-width:1050px}
.section-title-xl strong{color:#fff}

/* stronger but still restrained entrance motion */
.reveal{opacity:0;transform:translateY(44px);filter:blur(3px);transition:opacity .8s cubic-bezier(.2,.8,.2,1),transform .8s cubic-bezier(.2,.8,.2,1),filter .8s ease}
.reveal.in{opacity:1;transform:none;filter:none}
.reveal-left{opacity:0;transform:translateX(-54px);transition:.85s cubic-bezier(.2,.8,.2,1)}.reveal-left.in{opacity:1;transform:none}
.reveal-right{opacity:0;transform:translateX(54px);transition:.85s cubic-bezier(.2,.8,.2,1)}.reveal-right.in{opacity:1;transform:none}
.reveal-scale{opacity:0;transform:scale(.95);transition:.85s cubic-bezier(.2,.8,.2,1)}.reveal-scale.in{opacity:1;transform:none}

/* homepage hero */
.hero-center{min-height:calc(100vh - var(--header-h));padding:78px 0 108px}
.hero-install-title{display:grid;gap:.04em;justify-items:center;min-height:2.12em;font-size:clamp(64px,8.8vw,138px)!important;line-height:.88!important;font-style:italic!important;font-weight:300!important;letter-spacing:-.072em!important;margin:0!important}
.hero-install-title .hero-fixed{display:block;font:inherit;color:#fff;text-transform:none}
.hero-installer-cycle{display:block;position:relative;width:min(100%,1120px);height:1.02em;overflow:hidden}
.hero-installer-cycle span{position:absolute;inset:0;display:flex;justify-content:center;align-items:flex-start;opacity:0;transform:translateY(90%) skewY(4deg);transition:opacity .6s ease,transform .72s cubic-bezier(.2,.82,.25,1);white-space:nowrap;color:#fff}
.hero-installer-cycle span.active{opacity:1;transform:translateY(0) skewY(0)}
.hero-installer-cycle strong{font:inherit!important;font-style:normal!important;font-weight:800!important;color:var(--cyan)!important}
.hero-subline{margin:28px auto 18px;max-width:850px;color:#aeb3ca;font-size:12px;letter-spacing:.16em;text-transform:uppercase;line-height:1.8}
.hero-center .lead{margin-top:4px}
.hero-orbit::before{animation:heroBreath 10s ease-in-out infinite alternate,heroSpin 45s linear infinite}
@keyframes heroSpin{to{rotate:360deg}}

/* why band - no cramped title block */
.why-banner{padding:70px 0 76px;background:linear-gradient(135deg,#09063a,#0b0944);position:relative}
.why-banner::before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 18% 50%,rgba(89,217,223,.1),transparent 28%);pointer-events:none}
.why-banner .why-full{display:block!important;position:relative}
.why-eyebrow{margin:0 0 18px;color:#fff;font-size:13px;letter-spacing:.18em;text-transform:uppercase;font-weight:800}
.why-banner .big-rotator{height:110px;max-width:1180px}
.why-banner .big-rotator span{font-size:clamp(48px,5.8vw,86px);line-height:.98;color:var(--cyan);align-items:flex-start;white-space:normal}
.why-dots{display:flex;gap:8px;margin-top:20px}.why-dots span{width:28px;height:3px;border-radius:999px;background:rgba(255,255,255,.14)}.why-dots span:first-child{background:var(--cyan);box-shadow:0 0 15px rgba(89,217,223,.4)}

/* ticker */
.section-marquee{border-color:rgba(89,217,223,.18);box-shadow:0 12px 34px rgba(0,0,0,.15)}
.section-marquee .track{animation-duration:26s}
.section-marquee a{padding:21px 32px;gap:12px;min-height:74px}
.section-marquee a:hover{padding-inline:42px;background:rgba(89,217,223,.12)}
.ticker-icon{width:28px;height:28px;display:inline-grid;place-items:center;position:relative;border-radius:9px;background:rgba(89,217,223,.08);border:1px solid rgba(89,217,223,.18);flex:0 0 auto}
.ticker-icon::before,.ticker-icon::after{content:'';position:absolute}
.ticker-icon.cam::before{width:15px;height:9px;border:2px solid var(--cyan);border-radius:4px}.ticker-icon.cam::after{width:5px;height:5px;border:2px solid var(--cyan);border-radius:50%}
.ticker-icon.gps::before{width:11px;height:11px;border:2px solid var(--cyan);border-radius:50% 50% 50% 0;transform:rotate(-45deg);top:6px}.ticker-icon.gps::after{width:14px;height:4px;border:1px solid rgba(89,217,223,.6);border-radius:50%;bottom:4px}
.ticker-icon.light::before{width:17px;height:7px;border:2px solid var(--cyan);border-radius:5px}.ticker-icon.light::after{width:22px;height:2px;background:linear-gradient(90deg,transparent,var(--cyan),transparent);animation:flash 1s infinite}
.ticker-icon.tech::before{width:12px;height:12px;border:2px solid var(--cyan);border-radius:3px}.ticker-icon.tech::after{width:20px;height:20px;border:1px dotted rgba(89,217,223,.7);border-radius:50%;animation:spinRing 5s linear infinite}

/* process/journey band */
.journey-strip{position:relative;background:#05032a;padding:42px 0;border-bottom:1px solid rgba(255,255,255,.07)}
.journey-grid{display:grid;grid-template-columns:repeat(4,1fr);position:relative;gap:0}
.journey-grid::before{content:'';position:absolute;top:24px;left:10%;right:10%;height:1px;background:linear-gradient(90deg,transparent,var(--cyan),transparent);opacity:.35}
.journey-item{position:relative;padding:0 24px;text-align:center;display:grid;gap:7px}
.journey-item span{position:relative;z-index:2;margin:auto;width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:#070535;border:1px solid rgba(89,217,223,.3);color:var(--cyan);font-weight:800;font-size:11px;box-shadow:0 0 0 8px #05032a}
.journey-item b{font-size:20px}.journey-item small{color:var(--muted);font-size:12px;line-height:1.55}
.journey-item:hover span{background:var(--cyan);color:var(--navy);transform:scale(1.08);transition:.25s}

/* proper footer */
.footer-pro{background:#020118;border-top:1px solid rgba(89,217,223,.12);padding:64px 0 24px;color:#c6cada}
.footer-grid{display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:42px}
.footer-brand img{width:230px;margin-bottom:18px}.footer-brand>p{margin:0 0 8px;color:#fff;font-weight:700}.footer-muted{font-size:12px!important;color:#7f849f!important;line-height:1.7;max-width:300px}
.footer-pro h4{margin:0 0 18px;color:var(--cyan);font-size:11px;letter-spacing:.15em;text-transform:uppercase}
.footer-pro .footer-grid>div:not(.footer-brand){display:flex;flex-direction:column;gap:11px}.footer-pro a{font-size:12px;color:#aeb3c9;transition:.2s}.footer-pro a:hover{color:#fff;transform:translateX(2px)}
.footer-bottom{border-top:1px solid rgba(255,255,255,.07);margin-top:42px;padding-top:22px;display:flex;gap:24px;align-items:center;justify-content:space-between;color:#777d98;font-size:10px;letter-spacing:.1em;text-transform:uppercase}
.footer-socials{display:flex;gap:16px}.footer-socials a[hidden]{display:none!important}

/* Booking refinements */
.choice-card{position:relative;cursor:pointer;user-select:none;transition:.25s;background:#05032a!important}
.choice-card input{position:absolute;opacity:0;pointer-events:none}
.choice-card::after{content:'+';position:absolute;right:14px;top:14px;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;border:1px solid rgba(255,255,255,.15);color:#fff;font-size:18px;transition:.25s}
.choice-card.selected{border-color:var(--cyan)!important;background:linear-gradient(145deg,rgba(89,217,223,.12),rgba(5,3,42,.95))!important;box-shadow:0 16px 35px rgba(0,0,0,.18)}
.choice-card.selected::after{content:'✓';background:var(--cyan);color:var(--navy);border-color:var(--cyan);font-size:13px;font-weight:900}
.choice-card:focus-within{outline:2px solid rgba(89,217,223,.5);outline-offset:3px}
.booking-basket-remove{border:0;background:rgba(255,255,255,.05);color:#fff!important;width:30px;height:30px;border-radius:50%;cursor:pointer;font-size:17px;flex:0 0 auto}.booking-basket-remove:hover{background:rgba(255,100,100,.16);color:#ffc5c5!important}
.basket-preview-line{align-items:center}.basket-preview-line>div:last-child{display:flex;align-items:center;gap:10px}
.install-detail-card{padding:20px;border-radius:22px;margin:12px 0;background:#070534;border:1px solid rgba(89,217,223,.13)}.install-detail-card h4{margin:0 0 8px;font-size:19px}.install-detail-card .item-meta{font-size:11px;color:var(--cyan);letter-spacing:.08em;text-transform:uppercase;margin-bottom:14px}
.fulfilment-box{margin-top:18px;padding:18px;border-radius:18px;background:#070534;border:1px solid rgba(255,255,255,.08)}
.fulfilment-box h3{margin:0 0 7px;font-size:18px}.fulfilment-options{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}.fulfilment-options label{display:flex;gap:11px;align-items:flex-start;padding:14px;border-radius:14px;border:1px solid rgba(255,255,255,.08);cursor:pointer}.fulfilment-options input{margin-top:3px;accent-color:var(--cyan)}
.booking-step h2{font-size:clamp(36px,4.2vw,62px);line-height:.98;letter-spacing:-.05em}.booking-step h2 strong{color:var(--cyan)}
.club-consent{align-items:center!important}.club-consent input{width:20px!important;height:20px!important;margin:0!important}.club-consent span{padding-top:1px}
.signature-canvas{background:#05032a!important;min-height:180px;border-radius:16px}
.booking-nav{position:sticky;bottom:0;background:linear-gradient(180deg,rgba(5,3,42,0),#05032a 24%);padding-top:30px;z-index:10}
.travel-logic-note{margin-top:12px;color:#8f94ad;font-size:12px;line-height:1.65}

/* About spacing cleanup */
.about-page .page-hero{padding-bottom:58px}.about-page .page-hero+.section{padding-top:68px;padding-bottom:76px}.about-page .copy-columns{margin-top:0}.about-page .process-grid{margin-top:26px}.about-page .process-grid+.section{padding-top:60px}.about-page main>.section.flat:last-of-type{padding-top:58px}

/* Contact */
.social-grid a[hidden]{display:none!important}.social-grid:empty{display:none}.contact-info-card{background:linear-gradient(145deg,#070535,#05032a)}.contact-info-card .mini-feature-grid{grid-template-columns:1fr 1fr}.contact-info-card .mini-feature{background:#08063a}.contact-info-card .mini-feature p{color:#b9bdd0}

/* Admin V8 */
.admin-toolbar{display:flex;gap:10px;flex-wrap:wrap}.preview-button{padding:10px 14px;border-radius:999px;border:1px solid rgba(89,217,223,.25);background:rgba(89,217,223,.08);color:#fff;cursor:pointer;font-weight:700;font-size:11px}
.admin-list{display:grid;gap:10px}.admin-row-card{display:grid;grid-template-columns:72px 1fr auto;align-items:center;gap:14px;padding:13px;border-radius:17px;background:rgba(255,255,255,.025);border:1px solid rgba(255,255,255,.08)}.admin-row-thumb{width:72px;height:58px;border-radius:12px;overflow:hidden;background:#0b093f;display:grid;place-items:center}.admin-row-thumb img,.admin-row-thumb video{width:100%;height:100%;object-fit:cover}.admin-row-copy small{display:block;color:#8f94ad;margin-top:5px}.admin-row-actions{display:flex;gap:6px;flex-wrap:wrap}.admin-row-actions button{padding:8px 10px;border-radius:999px;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.04);color:#fff;cursor:pointer}.admin-row-actions button:hover{border-color:var(--cyan)}
.media-library-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.media-library-item{position:relative;border-radius:16px;overflow:hidden;border:1px solid rgba(255,255,255,.08);background:#080638;min-height:150px}.media-library-item img,.media-library-item video{width:100%;height:150px;object-fit:cover}.media-library-item div{padding:10px}.media-library-item b{font-size:11px}.media-library-item small{display:block;color:#8f94ad;margin-top:3px}.media-library-item .badge{position:absolute;top:8px;right:8px;padding:5px 8px;border-radius:999px;background:rgba(5,3,42,.86);color:var(--cyan);font-size:8px;text-transform:uppercase;letter-spacing:.1em}
.preview-modal{position:fixed;inset:0;z-index:500;background:rgba(0,0,0,.7);backdrop-filter:blur(10px);display:none;place-items:center;padding:24px}.preview-modal.open{display:grid}.preview-window{width:min(1100px,100%);height:min(760px,88vh);background:#05032a;border:1px solid rgba(89,217,223,.2);border-radius:24px;overflow:hidden;box-shadow:0 30px 80px rgba(0,0,0,.5);display:grid;grid-template-rows:auto 1fr}.preview-head{display:flex;justify-content:space-between;align-items:center;padding:14px 18px;border-bottom:1px solid rgba(255,255,255,.08)}.preview-head button{width:36px;height:36px;border-radius:50%;border:1px solid rgba(255,255,255,.1);background:#0a083c;color:#fff;font-size:20px}.preview-frame{width:100%;height:100%;border:0;background:#05032a}.admin-gallery-upload input[type=file]{padding:12px;background:#070534}.admin-hint{font-size:12px;line-height:1.7;color:#8f94ad}

/* location page cleanup */
.location-promise{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.location-promise div{padding:20px;border-radius:20px;background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.08)}.location-promise b{display:block;color:var(--cyan);margin-bottom:7px}.location-promise p{margin:0;color:var(--muted);font-size:13px;line-height:1.7}

/* Educational service content */
.education-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:34px}.education-card{padding:24px;border-radius:24px;background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.08)}.education-card .edu-icon{width:46px;height:46px;border-radius:14px;background:rgba(89,217,223,.1);border:1px solid rgba(89,217,223,.2);display:grid;place-items:center;color:var(--cyan);font-size:20px;margin-bottom:18px}.education-card h3{margin:0 0 10px;font-size:24px}.education-card p{margin:0;color:var(--muted);font-size:14px;line-height:1.8}.compare-table{width:100%;border-collapse:separate;border-spacing:0;margin-top:30px;border:1px solid rgba(255,255,255,.09);border-radius:22px;overflow:hidden}.compare-table th,.compare-table td{padding:16px 18px;border-bottom:1px solid rgba(255,255,255,.07);text-align:left;font-size:13px}.compare-table th{background:#0a083d;color:var(--cyan);font-size:11px;text-transform:uppercase;letter-spacing:.1em}.compare-table td{color:#c2c6d7}.compare-table tr:last-child td{border-bottom:0}.fact-callout{padding:24px 26px;border-radius:24px;background:linear-gradient(145deg,rgba(89,217,223,.1),rgba(255,255,255,.025));border:1px solid rgba(89,217,223,.18);margin-top:26px}.fact-callout strong{color:var(--cyan)}.fact-callout p{color:var(--muted);line-height:1.8;margin:8px 0 0}

@media(max-width:1100px){
  .nav nav{gap:14px}.customer-login{margin-left:auto}.footer-grid{grid-template-columns:1.3fr 1fr 1fr}.footer-grid>div:last-child{grid-column:2/4}.media-library-grid{grid-template-columns:repeat(3,1fr)}.education-grid{grid-template-columns:1fr 1fr}.location-promise{grid-template-columns:1fr 1fr}.journey-grid{grid-template-columns:repeat(2,1fr);gap:28px}.journey-grid::before{display:none}
}
@media(max-width:760px){
  :root{--header-h:78px}.nav{height:var(--header-h);padding-inline:14px}.brand img{width:174px}.customer-login{display:none}.nav .book{font-size:9px;padding:10px 12px}.menu{display:block}.nav nav{top:78px!important}
  .hero-center{min-height:calc(88vh - var(--header-h));padding:54px 0 72px}.hero-install-title{font-size:clamp(50px,13.5vw,74px)!important;min-height:2.25em}.hero-installer-cycle{height:1.2em}.hero-installer-cycle span{white-space:normal;line-height:.92;align-items:flex-start}.hero-subline{font-size:9px;letter-spacing:.12em;margin-top:20px}.hero-center .lead{font-size:15px}
  .why-banner{padding:52px 0 60px}.why-eyebrow{font-size:11px;line-height:1.5}.why-banner .big-rotator{height:160px}.why-banner .big-rotator span{font-size:clamp(39px,11.5vw,58px);line-height:.98}
  .section-title,.section-title-xl{font-size:clamp(44px,12.5vw,64px)!important;line-height:.98!important}.section{padding:84px 0}
  .section-marquee a{padding:18px 22px}.ticker-icon{width:26px;height:26px}.section-marquee a:hover::after{display:none}
  .journey-grid{grid-template-columns:1fr 1fr}.journey-item{padding:0 12px}.footer-grid{grid-template-columns:1fr 1fr;gap:32px}.footer-brand{grid-column:1/-1}.footer-grid>div:last-child{grid-column:auto}.footer-bottom{align-items:flex-start;flex-direction:column}.footer-socials{flex-wrap:wrap}
  .fulfilment-options{grid-template-columns:1fr}.media-library-grid{grid-template-columns:1fr 1fr}.education-grid,.location-promise{grid-template-columns:1fr}.compare-table{display:block;overflow:auto;white-space:nowrap}
}
@media(max-width:520px){
  .nav .book{display:none}.hero-install-title{font-size:clamp(45px,14vw,66px)!important}.journey-grid{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr}.footer-grid>div:last-child{grid-column:auto}.media-library-grid{grid-template-columns:1fr}.section-marquee a span{display:block!important;font-size:9px}.section-marquee a{min-height:82px}.booking-main{padding:14px!important}.choice-grid{grid-template-columns:1fr!important}
}
.product-media-button{border:0;padding:0;width:100%;cursor:pointer;text-align:inherit;color:inherit;font:inherit}.product-actions{grid-template-columns:1fr 1fr}.product-actions .view-product{grid-column:1/-1;background:transparent}.product-video-link{border:0;background:none;padding:0;text-align:left;cursor:pointer}.qty-control{display:inline-flex;align-items:center;gap:8px;margin-top:10px;padding:4px;border-radius:999px;background:rgba(255,255,255,.05)}.qty-control button{width:28px;height:28px;border-radius:50%;border:1px solid rgba(255,255,255,.1)!important;background:#09073a!important;color:#fff!important;font-size:15px!important}.qty-control span{min-width:22px;text-align:center;font-size:12px}.product-modal{position:fixed;inset:0;z-index:450;background:rgba(0,0,0,.74);backdrop-filter:blur(12px);display:none;place-items:center;padding:26px}.product-modal.open{display:grid}.product-modal-card{width:min(1120px,100%);max-height:90vh;overflow:auto;position:relative;border-radius:28px;background:#06042f;border:1px solid rgba(89,217,223,.18);display:grid;grid-template-columns:1.1fr .9fr;box-shadow:0 34px 90px rgba(0,0,0,.5)}.product-modal-close{position:absolute;right:16px;top:16px;z-index:5;width:42px;height:42px;border-radius:50%;border:1px solid rgba(255,255,255,.12);background:rgba(5,3,42,.86);color:#fff;font-size:25px}.product-modal-media{padding:22px;background:#09073a}.product-gallery-main{border-radius:20px;overflow:hidden;background:#05032a;aspect-ratio:4/3}.product-gallery-main img{width:100%;height:100%;object-fit:cover}.product-thumbs{display:flex;gap:8px;margin-top:10px;overflow:auto}.product-thumbs button{width:74px;height:58px;border-radius:10px;overflow:hidden;border:1px solid rgba(255,255,255,.1);padding:0;background:none;flex:0 0 auto}.product-thumbs button.active{border-color:var(--cyan)}.product-thumbs img{width:100%;height:100%;object-fit:cover}.youtube-embed{margin-top:14px;aspect-ratio:16/9;border-radius:16px;overflow:hidden}.youtube-embed iframe{width:100%;height:100%;border:0}.product-modal-copy{padding:clamp(28px,4vw,56px);align-self:center}.product-modal-copy h2{font-size:clamp(34px,4vw,58px);line-height:.98;letter-spacing:-.05em;margin:0 0 16px}.product-modal-copy>p{color:var(--muted);line-height:1.8}.product-modal-price{font-size:38px;font-weight:800;color:#fff;margin-top:26px}.product-modal-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:22px}.product-modal-actions button{min-height:50px;border-radius:14px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.04);color:#fff;font-weight:800}.product-modal-actions button.primary{background:var(--cyan);color:var(--navy);border-color:var(--cyan)}.product-modal-placeholder{min-height:330px;display:grid;place-items:center}.product-modal-placeholder .product-mark{font-size:70px;font-weight:800}.product-modal-placeholder small{display:block;font-size:10px;color:var(--cyan);letter-spacing:.15em}
@media(max-width:800px){.product-modal-card{grid-template-columns:1fr}.product-modal{padding:12px}.product-modal-copy{padding:24px}.product-modal-actions{grid-template-columns:1fr}}
/* V8 overflow safety for animated headings */
.hero-installer-cycle{height:1.14em;overflow:hidden}.why-banner .big-rotator{height:160px;overflow:hidden}.why-banner .big-rotator span{padding-bottom:10px}
@media(max-width:760px){.why-banner .big-rotator{height:190px}.hero-installer-cycle{height:1.28em}}
.gallery video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .65s ease}
.gallery figure:hover video{transform:scale(1.04)}


/* === V9 AUDIT FIXES === */
:root{--section-space:clamp(80px,9vw,124px);}
html,body{overflow-x:hidden;}
img,video{max-width:100%;height:auto;}
main{overflow:hidden;}
.section{padding:var(--section-space) 0;}
.section-title,.section-title-xl,.booking-step h2,.shop-hero h1,.contact-panel .section-title{max-width:16ch;text-wrap:balance;overflow-wrap:break-word;}
.section-lead,.lead{max-width:72ch;}
.kicker{margin-bottom:14px;}

/* Header spacing */
.nav{flex-wrap:nowrap;gap:16px;}
.nav nav{gap:18px;flex-wrap:wrap;justify-content:center;}
.nav nav a{line-height:1.2;}
.brand img{display:block;height:auto;}

/* Homepage hero rebuilt to three clear lines */
.hero-center{display:flex;align-items:center;min-height:calc(100svh - var(--header-h));padding:clamp(44px,8vh,86px) 0 clamp(60px,10vh,120px);}
.hero-core{width:100%;display:grid;justify-items:center;text-align:center;}
.hero-install-title{display:grid;justify-items:center;gap:.02em;font-size:clamp(70px,8vw,134px)!important;line-height:.88!important;letter-spacing:-.075em!important;min-height:auto!important;text-wrap:balance;}
.hero-fixed,.hero-service-cycle,.hero-installer-static{display:block;}
.hero-fixed{color:#fff;font-style:italic;font-weight:300;}
.hero-service-cycle{position:relative;display:block;width:min(100%,1180px);min-height:1.06em;overflow:hidden;}
.hero-service-cycle span{position:absolute;inset:0;display:flex;align-items:flex-start;justify-content:center;white-space:normal;text-align:center;line-height:.88;opacity:0;transform:translateY(80%);transition:opacity .5s ease,transform .7s cubic-bezier(.2,.82,.25,1);font-style:italic;font-weight:300;color:#fff;padding:0 .12em;}
.hero-service-cycle span.active{opacity:1;transform:none;}
.hero-installer-static{font-style:normal;font-weight:800;color:var(--cyan);line-height:.9;}
.hero-subline{margin-top:28px;max-width:980px;}
.hero-core .lead{max-width:850px;margin-inline:auto;}

/* Why banner and titles */
.why-banner{padding:60px 0 64px;}
.why-banner .big-rotator{height:auto;min-height:118px;max-width:1200px;margin-inline:auto;}
.why-banner .big-rotator span{justify-content:center;align-items:flex-start;text-align:center;padding-inline:10px;}
.section.home-section .section-title,.section-title-xl{font-size:clamp(58px,6.4vw,100px)!important;line-height:.94!important;}
.section-title{font-size:clamp(48px,5.2vw,84px);line-height:.96;}

/* Ticker tape cleanup */
.section-marquee{padding:0;background:#0a083d;border-color:rgba(89,217,223,.16);}
.section-marquee .track{display:flex;align-items:stretch;gap:0;animation-duration:30s;}
.section-marquee a{display:flex;align-items:center;gap:12px;min-height:70px;padding:18px 28px;color:#d3d6e7;white-space:nowrap;}
.section-marquee a b{font-size:12px;letter-spacing:.15em;}
.section-marquee a span{font-size:10px;letter-spacing:.12em;}
.ticker-icon{width:30px;height:30px;border-radius:10px;display:grid;place-items:center;background:rgba(89,217,223,.08);border:1px solid rgba(89,217,223,.24);flex:0 0 auto;}
.ticker-icon::after{display:none!important;}
.ticker-icon::before{position:static!important;transform:none!important;border:0!important;width:auto!important;height:auto!important;font-size:14px;line-height:1;color:var(--cyan);}
.ticker-icon.cam::before{content:'⌁';}
.ticker-icon.gps::before{content:'⌖';}
.ticker-icon.light::before{content:'✦';}
.ticker-icon.tech::before{content:'⎔';}

/* Cards and spacing across pages */
.service-grid,.product-grid,.location-grid,.review-grid,.copy-columns,.education-grid{align-items:stretch;}
.service-card,.product-card,.location-card,.review-card,.copy-box,.detail-card,.education-card{height:100%;}
.service-card h3,.product-content h3,.location-card h3{overflow-wrap:anywhere;}
.service-card p,.product-content p,.location-card p{margin-bottom:16px;}

/* Shop page cleanup */
.shop-topbar{position:sticky;top:0;display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;min-height:84px;height:auto;padding:14px clamp(18px,3vw,38px);background:rgba(5,3,42,.96);border-bottom:1px solid rgba(255,255,255,.08);}
.shop-title{display:none;}
.shop-brand img{width:clamp(150px,18vw,220px);display:block;}
.shop-top-actions{margin-left:auto;display:flex;align-items:center;gap:12px;flex-wrap:wrap;justify-content:flex-end;}
.shop-top-actions a,.shop-top-actions button{white-space:nowrap;}
.shop-main{padding-top:0;}
.shop-hero{padding:72px 0 48px;}
.roadguard-shop-kicker,.shop-hero .kicker{margin-bottom:16px;}
.shop-hero h1{max-width:11ch;margin:0 auto 18px;}
.shop-hero p{max-width:760px;}
.shop-toolbar{align-items:flex-start;gap:16px;}
.product-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;}
.product-card{min-height:0;}
.product-content{gap:0;}
.product-content h3{font-size:clamp(24px,2vw,32px);}
.product-actions{grid-template-columns:1fr 1fr;}
.product-actions .view-product{grid-column:1/-1;}
.cart-pill{display:inline-flex;align-items:center;gap:8px;justify-content:center;}
.cart-drawer{padding:24px;}
.cart-item{align-items:flex-start;}
.cart-item-right{flex-direction:column;align-items:flex-end;gap:8px;}
.cart-item-right button{line-height:1;}
.qty-control{margin-top:12px;}
.product-modal-card{grid-template-columns:minmax(0,1.02fr) minmax(320px,.98fr);}

/* Contact panel readability */
.contact-panel{gap:28px;padding:34px clamp(22px,3vw,38px);}
.contact-actions{align-items:stretch;}
.contact-actions a{min-height:108px;}

/* Footer cleanup */
.footer-pro{padding:58px 0 24px;}
.footer-grid{align-items:start;gap:32px;}
.footer-bottom{row-gap:12px;}

/* Medium screens */
@media (max-width:1180px){
  .nav nav{gap:14px;}
  .product-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .hero-install-title{font-size:clamp(62px,8.6vw,108px)!important;}
  .why-banner .big-rotator{min-height:132px;}
}

@media (max-width:860px){
  .hero-install-title{font-size:clamp(52px,12vw,88px)!important;line-height:.92!important;}
  .hero-service-cycle{min-height:1.16em;}
  .hero-subline{font-size:10px;letter-spacing:.12em;line-height:1.7;}
  .section-title,.section-title-xl,.section.home-section .section-title{font-size:clamp(44px,10vw,72px)!important;line-height:.98!important;}
  .section-marquee a{padding:16px 18px;min-height:62px;}
  .shop-topbar{padding:12px 16px;}
  .shop-top-actions a{display:none;}
  .shop-top-actions #openCartTop{display:inline-flex;}
}

@media (max-width:760px){
  .hero-center{min-height:calc(100svh - var(--header-h));padding:34px 0 48px;}
  .hero-install-title{font-size:clamp(46px,13.5vw,72px)!important;}
  .hero-service-cycle span{padding:0 .08em;}
  .section-marquee a span{display:none!important;}
  .journey-grid{grid-template-columns:1fr 1fr;gap:20px;}
  .product-grid,.service-grid,.location-grid{grid-template-columns:1fr!important;}
  .shop-hero{padding:58px 0 42px;}
  .shop-toolbar{flex-direction:column;align-items:stretch;}
  .cart-pill{align-self:flex-start;}
  .product-modal-card{grid-template-columns:1fr;}
  .contact-panel{grid-template-columns:1fr;padding:24px;}
  .footer-grid{grid-template-columns:1fr 1fr;}
}

@media (max-width:560px){
  .nav{padding-inline:14px;}
  .brand img{width:170px;}
  .hero-install-title{font-size:clamp(42px,14vw,62px)!important;gap:.04em;}
  .hero-service-cycle{min-height:1.26em;}
  .journey-grid{grid-template-columns:1fr;}
  .footer-grid{grid-template-columns:1fr;}
  .shop-brand img{width:148px;}
  .shop-topbar{gap:10px;}
  .shop-top-actions{width:100%;justify-content:space-between;}
  .section-marquee a{padding:14px 15px;}
}

/* === V10 refinement audit === */
:root{--header-h:92px;--ticker-h:38px;--compact-section:76px;}

/* Keep the fixed navigation and both CTAs visually balanced. */
.nav{height:var(--header-h)!important;gap:16px!important;padding-inline:clamp(18px,3.3vw,54px)!important;}
.nav .brand{flex:0 0 auto;}
.nav .brand img{width:clamp(185px,17vw,238px)!important;}
.nav nav{gap:17px!important;}
.nav nav a{font-size:10px!important;}
.customer-login,.nav .book{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 18px;border-radius:999px;font-size:10px;font-weight:800;letter-spacing:.11em;text-transform:uppercase;white-space:nowrap;}
.customer-login{border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.025);}
.customer-login:hover{border-color:rgba(89,217,223,.4);color:var(--cyan);}
.nav .book{border:1px solid rgba(89,217,223,.48)!important;background:rgba(89,217,223,.1)!important;}

/* Fully editable announcement ticker beneath the menu. */
.global-ticker{height:var(--ticker-h);margin-top:var(--header-h);overflow:hidden;background:#0b0944;border-bottom:1px solid rgba(89,217,223,.18);position:relative;z-index:75;}
.global-ticker-track{height:100%;display:flex;align-items:stretch;width:max-content;animation:globalTickerMove 30s linear infinite;}
.global-ticker:hover .global-ticker-track{animation-play-state:paused;}
.global-ticker a{min-width:max-content;height:100%;display:flex;align-items:center;padding:0 24px;border-right:1px solid rgba(255,255,255,.08);font-size:10px;letter-spacing:.13em;text-transform:uppercase;color:#aeb3c9;}
.global-ticker a.ticker-accent{color:var(--cyan);background:rgba(89,217,223,.08);}
.global-ticker a.ticker-bold{font-weight:800;color:#fff;}
@keyframes globalTickerMove{to{transform:translateX(-50%)}}
.has-global-ticker main{padding-top:0!important;}

/* Homepage hero: The / changing service / Installer. */
.hero-section{min-height:0!important;}
.hero-center{min-height:600px!important;padding:58px 0 64px!important;display:flex!important;align-items:center!important;}
.hero-core{width:100%;}
.hero-install-title{display:grid!important;grid-template-rows:auto auto auto;justify-items:center;gap:0!important;min-height:0!important;margin:0!important;font-size:clamp(64px,7.2vw,116px)!important;line-height:.84!important;letter-spacing:-.065em!important;overflow:visible!important;}
.hero-fixed{font-style:italic!important;font-weight:300!important;color:#fff!important;}
.hero-service-cycle{display:grid!important;grid-template-areas:'stack';width:min(100%,1100px)!important;min-height:1.02em!important;height:auto!important;overflow:visible!important;margin:.04em 0!important;}
.hero-service-cycle span{grid-area:stack!important;position:relative!important;inset:auto!important;display:block!important;text-align:center!important;align-self:center;justify-self:stretch;opacity:0;visibility:hidden;transform:translateY(24px);transition:opacity .45s ease,transform .58s ease;white-space:normal!important;font-style:italic!important;font-weight:300!important;color:#fff!important;line-height:.9!important;}
.hero-service-cycle span.active{opacity:1!important;visibility:visible!important;transform:none!important;}
.hero-installer-static{display:block!important;color:var(--cyan)!important;font-style:normal!important;font-weight:800!important;line-height:.88!important;}
.hero-subline{margin:22px auto 14px!important;}
.hero-core .lead{margin:0 auto 24px!important;line-height:1.7!important;}
.hero-core .btn-row{justify-content:center;margin-top:6px;}

/* Homepage service ticker now sits immediately below the hero CTA. */
.section-marquee{position:relative!important;z-index:25;background:#09073d!important;border-top:1px solid rgba(89,217,223,.14)!important;border-bottom:1px solid rgba(89,217,223,.14)!important;}
.section-marquee .track{animation-duration:31s!important;}
.section-marquee a{min-height:58px!important;padding:14px 28px!important;gap:11px!important;}
.section-marquee a b{font-size:11px!important;}
.section-marquee a span{font-size:9px!important;}
.section-marquee .ticker-icon{display:none;}

/* Why section: no progress lines/dots and enough room for any phrase. */
.why-banner{padding:48px 0 54px!important;overflow:hidden!important;}
.why-full{display:block!important;}
.why-eyebrow{margin:0 0 22px;text-align:center;color:#fff;font-size:11px;letter-spacing:.18em;text-transform:uppercase;font-weight:800;}
.why-banner .big-rotator{position:relative;height:150px!important;min-height:150px!important;max-width:1180px;margin:0 auto;overflow:hidden!important;}
.why-banner .big-rotator span{position:absolute!important;inset:0!important;display:flex!important;align-items:center!important;justify-content:center!important;text-align:center!important;padding:0 18px 10px!important;font-size:clamp(42px,5vw,76px)!important;line-height:1.03!important;color:var(--cyan)!important;white-space:normal!important;overflow:visible!important;}
.why-dots,.why-banner .why-dots{display:none!important;}

/* Tighten the site rhythm overall. */
.section{padding:var(--compact-section) 0!important;}
.home-section{padding:82px 0!important;}
.journey-strip{padding:34px 0 40px!important;}
.journey-item{padding:0 18px!important;}
.journey-item b{margin-top:8px;}
.journey-item small{line-height:1.55;}
.about-grid,.media-grid,.copy-columns,.service-visual-row,.contact-panel{gap:clamp(24px,3vw,42px)!important;}
.section-title,.section-title-xl{margin-bottom:16px!important;}
.section-lead{margin-bottom:18px;line-height:1.7!important;}

/* Booking form fields use the same navy as the site instead of the brighter blue. */
.booking-main,.booking-side,.choice-card,.equipment-block,.basket-preview,.visit-item,.visit-appointment,.customer-kit-panel,.field input,.field select,.field textarea,.visit-item select,.response-checks label,.switch-row,.summary-visit{background:#05032a!important;}
.field input,.field select,.field textarea,.visit-item select{border-color:rgba(255,255,255,.12)!important;color:#fff!important;}
.field select option{background:#05032a;color:#fff;}
.field input::placeholder,.field textarea::placeholder{color:#777d9b;}
.travel-result{background:rgba(89,217,223,.055)!important;}

/* Portal service/warranty actions. */
.portal-action{display:inline-flex;align-items:center;justify-content:center;padding:10px 13px;border-radius:12px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.035);font-size:11px;font-weight:700;color:#fff;}
.portal-policy-note{margin-top:14px;padding:12px 14px;border-radius:14px;background:rgba(255,189,89,.07);border:1px solid rgba(255,189,89,.18);font-size:11px;line-height:1.6;color:#d8d3bf;}
.portal-modal{position:fixed;inset:0;z-index:500;display:none;place-items:center;padding:20px;background:rgba(1,1,15,.78);backdrop-filter:blur(10px);}
.portal-modal.open{display:grid;}
.portal-modal-card{position:relative;width:min(620px,100%);padding:30px;border-radius:24px;background:#07052f;border:1px solid rgba(89,217,223,.2);box-shadow:0 28px 80px rgba(0,0,0,.45);}
.portal-modal-card>button:first-child{position:absolute;right:14px;top:14px;width:38px;height:38px;border-radius:50%;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.04);color:#fff;font-size:23px;}
.portal-modal-card h3{font-size:28px;margin:0 0 12px;}
.portal-modal-card p{color:var(--muted);line-height:1.7;}

/* Shop / public card alignment refinements. */
.product-grid{gap:20px!important;}
.product-card{min-height:0!important;}
.product-media{height:220px!important;}
.product-content{padding:20px!important;}
.product-actions button,.product-actions a{min-height:46px!important;}
.shop-help-grid{gap:26px!important;}

/* Admin panels are tighter and easier to scan. */
.admin-section{margin-bottom:24px!important;}
.admin-form{gap:14px!important;}
.admin-row-card{gap:14px!important;}

@media(max-width:1180px){
  .nav nav{gap:11px!important;}
  .customer-login,.nav .book{padding-inline:14px;}
  .hero-center{min-height:560px!important;}
  .why-banner .big-rotator{height:170px!important;min-height:170px!important;}
}
@media(max-width:900px){
  :root{--header-h:78px;--ticker-h:36px;--compact-section:66px;}
  .nav{height:var(--header-h)!important;}
  .nav nav,.customer-login,.nav .book{display:none!important;}
  .menu{display:block!important;}
  .global-ticker{margin-top:var(--header-h);}
  .hero-center{min-height:540px!important;padding:42px 0 52px!important;}
  .hero-install-title{font-size:clamp(52px,12vw,82px)!important;}
  .why-banner .big-rotator{height:178px!important;min-height:178px!important;}
  .why-banner .big-rotator span{font-size:clamp(38px,8.5vw,58px)!important;}
  .section-marquee a{padding:13px 20px!important;}
}
@media(max-width:620px){
  .hero-center{min-height:500px!important;padding:34px 0 42px!important;}
  .hero-install-title{font-size:clamp(44px,13.8vw,66px)!important;line-height:.88!important;}
  .hero-service-cycle{min-height:1.12em!important;}
  .hero-subline{font-size:9px!important;letter-spacing:.1em!important;line-height:1.65!important;}
  .hero-core .lead{font-size:14px!important;line-height:1.65!important;}
  .hero-core .btn-row{gap:9px;}
  .btn{padding:13px 16px!important;font-size:10px!important;}
  .why-banner{padding:38px 0 42px!important;}
  .why-banner .big-rotator{height:192px!important;min-height:192px!important;}
  .why-banner .big-rotator span{font-size:clamp(34px,10.5vw,50px)!important;}
  .section-marquee a span{display:none!important;}
  .section-marquee a{min-height:52px!important;padding:12px 17px!important;}
  .journey-strip{padding:28px 0 32px!important;}
  .section{padding:58px 0!important;}
  .home-section{padding:62px 0!important;}
}
.booking-context-banner{display:grid;gap:6px;margin-bottom:18px;padding:16px 18px;border-radius:18px;background:rgba(89,217,223,.07);border:1px solid rgba(89,217,223,.18)}
.booking-context-banner b{color:var(--cyan)}
.booking-context-banner span{font-size:12px;line-height:1.65;color:var(--muted)}
.global-ticker a.ticker-block{background:var(--cyan);color:var(--navy);font-weight:800;}

/* === V11 clean-up and control-panel expansion === */
:root{
  --section-space-v11:clamp(54px,6vw,82px);
  --panel:#070533;
  --panel-2:#09073b;
  --border-soft:rgba(255,255,255,.085);
}
.section{padding:var(--section-space-v11) 0!important;}
.home-section{padding:clamp(58px,6.5vw,86px) 0!important;}
.page-hero{padding-top:clamp(48px,6vw,78px)!important;padding-bottom:clamp(38px,4vw,58px)!important;}
.section + .section{border-top:1px solid rgba(255,255,255,.025);}
.section-title,.section-title-xl{margin-bottom:14px!important;}
.section-lead{margin-top:0!important;}
.service-grid,.product-grid,.review-grid,.location-grid,.copy-columns,.education-grid{margin-top:34px!important;}
.about-grid,.media-grid,.service-visual-row{align-items:center;}

/* More polished global ticker speeds from admin settings */
.global-ticker-track{animation-duration:var(--rga-top-ticker-duration,30s)!important;}
.section-marquee .track{animation-duration:var(--rga-service-ticker-duration,31s)!important;}
[hidden]{display:none!important;}

/* Admin workspace */
.admin-body{background:#03021d;color:#fff;}
.admin-shell{display:grid;grid-template-columns:260px minmax(0,1fr);min-height:100vh;}
.admin-sidebar{position:sticky;top:0;height:100vh;overflow:auto;padding:24px 18px;background:#05032a;border-right:1px solid rgba(89,217,223,.11);}
.admin-sidebar>img{width:190px;margin:2px 8px 24px;}
.admin-nav{display:grid;gap:4px;}
.admin-nav button{width:100%;border:0;border-radius:12px;padding:11px 13px;background:transparent;color:#9298b4;text-align:left;font:inherit;font-size:12px;font-weight:650;letter-spacing:.025em;cursor:pointer;transition:.2s;}
.admin-nav button:hover{background:rgba(255,255,255,.04);color:#fff;}
.admin-nav button.active{background:linear-gradient(90deg,rgba(89,217,223,.14),rgba(89,217,223,.04));color:var(--cyan);box-shadow:inset 2px 0 0 var(--cyan);}
.admin-main{min-width:0;padding:26px clamp(22px,3vw,42px) 70px;}
.admin-top{position:sticky;top:0;z-index:30;display:flex;align-items:center;gap:18px;padding:14px 0 18px;background:linear-gradient(180deg,#03021d 78%,rgba(3,2,29,0));backdrop-filter:blur(8px);}
.admin-top>div:first-child{min-width:max-content;}
.admin-top h1{font-size:clamp(25px,2.5vw,38px);margin:0;letter-spacing:-.04em;}
.admin-adminsearch{flex:1;max-width:360px;margin-left:auto;}
.admin-adminsearch input{width:100%;border:1px solid var(--border-soft);background:#070533;color:#fff;border-radius:999px;padding:11px 16px;font:inherit;font-size:12px;outline:none;}
.admin-adminsearch input:focus{border-color:rgba(89,217,223,.45);box-shadow:0 0 0 3px rgba(89,217,223,.06);}
.admin-badges{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end;}
.admin-badge{display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:0 12px;border-radius:999px;border:1px solid var(--border-soft);background:#070533;color:#c7cbe0;font-size:10px;letter-spacing:.08em;text-transform:uppercase;}
.admin-panel{display:none;}
.admin-panel.active{display:block;animation:fadeUp .25s ease;}
.admin-section{background:linear-gradient(180deg,rgba(255,255,255,.035),rgba(255,255,255,.018));border:1px solid var(--border-soft);border-radius:24px;padding:clamp(20px,2.6vw,30px);margin-bottom:18px!important;box-shadow:0 18px 50px rgba(0,0,0,.13);}
.admin-section h2{font-size:clamp(24px,2.3vw,34px);margin:0 0 8px;letter-spacing:-.04em;}
.admin-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:20px;}
.admin-hint{margin:0;color:#8f95b1;font-size:12px;line-height:1.65;max-width:780px;}
.admin-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px!important;}
.admin-form .field.full{grid-column:1/-1;}
.admin-form input,.admin-form textarea,.admin-form select,.admin-json{background:#05032a!important;border:1px solid var(--border-soft)!important;color:#fff!important;border-radius:14px!important;padding:13px 14px!important;}
.admin-form textarea,.admin-json{min-height:112px;resize:vertical;}
.admin-form input:focus,.admin-form textarea:focus,.admin-form select:focus,.admin-json:focus{border-color:rgba(89,217,223,.5)!important;box-shadow:0 0 0 3px rgba(89,217,223,.06)!important;outline:none;}
.admin-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;grid-column:1/-1;margin-top:4px;}
.admin-actions button,.preview-button,.admin-toolbar button{min-height:40px;padding:0 14px;border-radius:12px;border:1px solid var(--border-soft);background:#09073b;color:#fff;font:inherit;font-size:11px;font-weight:750;cursor:pointer;}
.admin-actions .primary,.preview-button{background:var(--cyan);color:var(--navy);border-color:var(--cyan);}
.admin-section-divider{grid-column:1/-1;height:1px;background:rgba(255,255,255,.08);margin:6px 0 2px;}
.admin-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px;}
.admin-stat{padding:20px;border-radius:20px;background:#070533;border:1px solid var(--border-soft);}
.admin-stat b{display:block;font-size:34px;color:var(--cyan);font-weight:500;margin-bottom:5px;}
.admin-stat span{font-size:11px;color:#9298b4;}
.admin-quick{display:block;width:100%;text-align:left;border:1px solid var(--border-soft);background:#06042f;color:#fff;border-radius:18px;padding:18px;font:inherit;cursor:pointer;transition:.25s;}
.admin-quick:hover{transform:translateY(-3px);border-color:rgba(89,217,223,.28);background:#09073b;}
.admin-quick b{display:block;color:var(--cyan);font-size:16px;margin-bottom:6px;}
.admin-quick p{margin:0;color:#9399b4;font-size:12px;line-height:1.55;}
.admin-list,.admin-product-list{display:grid;gap:10px;}
.admin-row-card,.admin-product-row{display:grid;grid-template-columns:54px minmax(0,1fr) auto;align-items:center;gap:14px;padding:13px 14px;border-radius:16px;border:1px solid var(--border-soft);background:#05032a;}
.admin-product-row{grid-template-columns:58px minmax(0,1fr) 120px auto;}
.admin-row-thumb,.admin-product-thumb{width:54px;height:54px;border-radius:12px;display:grid;place-items:center;overflow:hidden;background:#0b093f;border:1px solid rgba(255,255,255,.06);}
.admin-row-thumb img,.admin-product-thumb img,.admin-row-thumb video{width:100%;height:100%;object-fit:cover;}
.admin-row-copy{display:grid;gap:3px;min-width:0;}
.admin-row-copy b{font-size:13px;}
.admin-row-copy small{color:#858ba7;font-size:10px;line-height:1.45;white-space:normal;}
.admin-row-actions,.admin-product-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end;}
.admin-row-actions button,.admin-product-actions button{border:1px solid var(--border-soft);background:#09073b;color:#d8dbea;border-radius:9px;padding:7px 9px;font-size:10px;cursor:pointer;}
.admin-row-actions button:hover,.admin-product-actions button:hover{border-color:rgba(89,217,223,.35);color:var(--cyan);}
.admin-json{width:100%;font-family:ui-monospace,SFMono-Regular,Menlo,monospace!important;min-height:320px!important;font-size:11px!important;line-height:1.5!important;}
.admin-toast{position:fixed;right:24px;bottom:24px;z-index:900;transform:translateY(20px);opacity:0;pointer-events:none;padding:13px 16px;border-radius:14px;background:#0b093f;border:1px solid rgba(89,217,223,.35);box-shadow:0 18px 50px rgba(0,0,0,.35);color:#fff;font-size:12px;transition:.22s;}
.admin-toast.show{opacity:1;transform:none;}
.preview-modal{z-index:950;}

/* Public card / section consistency */
.service-card,.product-card,.copy-box,.detail-card,.education-card,.location-card,.review-card,.contact-form-card,.contact-info-card{border-radius:22px!important;}
.service-card{padding:22px!important;}
.service-card .iconWrap{margin-bottom:18px!important;}
.service-card h3{font-size:clamp(27px,2.5vw,35px)!important;margin-bottom:10px!important;}
.video-showcase{gap:16px!important;}
.video-stack{gap:16px!important;}
.reviews-stage{margin-top:30px!important;}
.faq-list{margin-top:28px!important;}
.contact-layout{gap:20px!important;}
.contact-info-stack{gap:14px!important;}

@media(max-width:1100px){
  .admin-shell{grid-template-columns:220px minmax(0,1fr);}
  .admin-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .admin-product-row{grid-template-columns:58px minmax(0,1fr);}
  .admin-product-row>div:nth-child(3),.admin-product-actions{grid-column:2;}
}
@media(max-width:820px){
  .admin-shell{display:block;}
  .admin-sidebar{position:relative;height:auto;overflow:visible;border-right:0;border-bottom:1px solid rgba(89,217,223,.11);padding:16px;}
  .admin-sidebar>img{width:170px;margin:0 0 14px;}
  .admin-nav{display:flex;overflow:auto;gap:6px;padding-bottom:4px;}
  .admin-nav button{flex:0 0 auto;width:auto;white-space:nowrap;border:1px solid rgba(255,255,255,.06);}
  .admin-main{padding:16px 14px 60px;}
  .admin-top{position:relative;flex-wrap:wrap;padding-top:4px;}
  .admin-adminsearch{order:3;max-width:none;width:100%;margin:0;}
  .admin-form{grid-template-columns:1fr;}
  .admin-form .field.full,.admin-actions,.admin-section-divider{grid-column:1;}
}
@media(max-width:600px){
  .admin-grid{grid-template-columns:1fr 1fr;gap:9px;}
  .admin-section{padding:18px 15px;border-radius:18px;}
  .admin-section-head{flex-direction:column;}
  .admin-row-card,.admin-product-row{grid-template-columns:44px minmax(0,1fr);gap:10px;}
  .admin-row-thumb,.admin-product-thumb{width:44px;height:44px;}
  .admin-row-actions,.admin-product-actions{grid-column:2;justify-content:flex-start;}
  .footer-pro{padding-top:42px!important;}
}

/* === V12 HERO TYPOGRAPHY FIX === */
.hero-install-title{
  --hero-size:clamp(72px,8.4vw,132px);
  font-size:var(--hero-size)!important;
  line-height:.86!important;
  display:grid!important;
  grid-template-rows:auto auto auto!important;
  justify-items:center!important;
  align-items:center!important;
  row-gap:.04em!important;
  width:100%!important;
  max-width:1280px!important;
  margin-inline:auto!important;
}
.hero-install-title .hero-fixed,
.hero-install-title .hero-installer-static,
.hero-install-title .hero-service-cycle{
  font-size:1em!important;
  line-height:.86!important;
  letter-spacing:-.06em!important;
}
.hero-install-title .hero-fixed{
  font-style:italic!important;
  font-weight:300!important;
}
.hero-install-title .hero-installer-static{
  font-style:normal!important;
  font-weight:800!important;
  color:var(--cyan)!important;
}
.hero-service-cycle{
  display:grid!important;
  grid-template-areas:'service'!important;
  width:100%!important;
  min-height:1em!important;
  height:1em!important;
  margin:.06em 0 .02em!important;
  overflow:visible!important;
  place-items:center!important;
}
.hero-service-cycle span{
  grid-area:service!important;
  position:relative!important;
  inset:auto!important;
  display:block!important;
  width:max-content!important;
  max-width:100%!important;
  font-size:1em!important;
  line-height:.86!important;
  letter-spacing:-.06em!important;
  color:#fff!important;
  font-style:italic!important;
  font-weight:300!important;
  text-transform:none!important;
  white-space:nowrap!important;
  text-align:center!important;
  transform-origin:center center!important;
  opacity:0!important;
  visibility:hidden!important;
  transform:translateY(.22em)!important;
  transition:opacity .42s ease,transform .58s cubic-bezier(.2,.82,.25,1)!important;
}
.hero-service-cycle span.active{
  opacity:1!important;
  visibility:visible!important;
  transform:translateY(0)!important;
}

@media(max-width:900px){
  .hero-install-title{--hero-size:clamp(58px,12vw,92px);}
}
@media(max-width:620px){
  .hero-install-title{
    --hero-size:clamp(48px,13.8vw,68px);
    line-height:.89!important;
    row-gap:.08em!important;
  }
  .hero-install-title .hero-fixed,
  .hero-install-title .hero-installer-static,
  .hero-install-title .hero-service-cycle,
  .hero-service-cycle span{
    line-height:.89!important;
  }
  .hero-service-cycle{height:1.04em!important;min-height:1.04em!important;}
}

/* === V13 AUDIT + COMMERCE REFINEMENT === */
:root{--compact-section:64px;--admin-navy:#05032a;--admin-panel:#08063a;--admin-card:#0b0944;}

/* Hero: keep all three lines visually centred. */
.hero-install-title{width:min(100%,1320px)!important;margin-inline:auto!important;overflow:visible!important;}
.hero-service-cycle{position:relative!important;width:100%!important;height:1.04em!important;min-height:1.04em!important;margin:.04em auto!important;overflow:visible!important;}
.hero-service-cycle span{position:absolute!important;inset:0!important;width:100%!important;max-width:none!important;display:flex!important;align-items:center!important;justify-content:center!important;text-align:center!important;white-space:nowrap!important;line-height:.88!important;letter-spacing:-.06em!important;transform:translateY(.22em)!important;transform-origin:center!important;}
.hero-service-cycle span.active{transform:translateY(0)!important;}
.hero-fixed,.hero-installer-static{width:100%;text-align:center;}

/* Mobile navigation is class-driven instead of relying on inline desktop overrides. */
@media(max-width:900px){
  .nav{z-index:300!important;}
  .nav nav{display:none!important;position:fixed!important;left:12px!important;right:12px!important;top:calc(var(--header-h) + 8px)!important;max-height:calc(100svh - var(--header-h) - 22px);overflow:auto;background:linear-gradient(180deg,#07052f,#05032a)!important;border:1px solid rgba(89,217,223,.2)!important;border-radius:22px!important;padding:18px!important;box-shadow:0 30px 80px rgba(0,0,0,.5)!important;flex-direction:column!important;gap:6px!important;z-index:400!important;}
  .nav nav.mobile-open{display:flex!important;}
  .nav nav a{width:100%;padding:14px 16px;border-radius:12px;font-size:12px!important;letter-spacing:.11em!important;}
  .nav nav a:hover,.nav nav a.active{background:rgba(89,217,223,.08);}
  .nav nav a::after{display:none!important;}
  .mobile-menu-open{overflow:hidden;}
  .menu{position:relative;z-index:450;min-width:44px;min-height:44px;display:grid!important;place-items:center;border:1px solid rgba(255,255,255,.1);border-radius:13px;font-size:25px!important;line-height:1;}
}
@media(max-width:620px){
  .hero-install-title{--hero-size:clamp(45px,13.6vw,64px)!important;font-size:var(--hero-size)!important;row-gap:.06em!important;}
  .hero-service-cycle{height:1.12em!important;min-height:1.12em!important;}
  .hero-service-cycle span{line-height:.92!important;}
}

/* Optional fixed promotional banner managed from admin. */
.promo-banner{margin-top:var(--header-h);position:relative;z-index:82;background:linear-gradient(90deg,#53d7dd,#8debf0);color:#05032a;border-bottom:1px solid rgba(5,3,42,.14);}
.promo-banner .container{min-height:42px;display:flex;align-items:center;justify-content:center;gap:16px;flex-wrap:wrap;padding-block:8px;text-align:center;}
.promo-banner span{font-weight:900;letter-spacing:.12em;text-transform:uppercase;font-size:11px;}
.promo-banner em{font-style:normal;font-size:11px;font-weight:650;}
.promo-banner strong{padding:5px 9px;border-radius:8px;background:#05032a;color:#fff;letter-spacing:.1em;font-size:10px;}
.promo-banner small{font-size:10px;opacity:.75;}
.promo-banner a{font-size:10px;font-weight:850;text-transform:uppercase;letter-spacing:.08em;border-bottom:1px solid currentColor;}
.has-promo-banner .global-ticker{margin-top:0!important;}

/* Homepage active-sale ticker displayed only when sale products exist. */
.sale-ticker{overflow:hidden;background:#07052f;border-top:1px solid rgba(89,217,223,.16);border-bottom:1px solid rgba(89,217,223,.16);}
.sale-ticker-track{display:flex;width:max-content;animation:saleTickerMove 28s linear infinite;}
.sale-ticker:hover .sale-ticker-track{animation-play-state:paused;}
.sale-ticker a{display:flex;align-items:center;gap:11px;padding:13px 26px;border-right:1px solid rgba(255,255,255,.07);white-space:nowrap;font-size:10px;letter-spacing:.07em;}
.sale-ticker b{color:#05032a;background:var(--cyan);padding:5px 8px;border-radius:7px;text-transform:uppercase;}
.sale-ticker span{color:#fff;font-weight:700;}
.sale-ticker strong{color:var(--cyan);font-size:13px;}
.sale-ticker small{color:#aeb3c9;}
@keyframes saleTickerMove{to{transform:translateX(-50%)}}

/* More compact page rhythm. */
.section{padding:64px 0!important;}
.home-section{padding:70px 0!important;}
.page-hero{padding-top:44px!important;padding-bottom:38px!important;}
.journey-strip{padding:28px 0 32px!important;}
.why-banner{padding:42px 0 46px!important;}
.copy-columns,.about-grid,.media-grid,.service-visual-row,.contact-layout{row-gap:30px!important;}
.film-band .copy{top:42%!important;}

/* Shop heading and product pricing. */
.shop-hero{padding:52px 0 34px!important;}
.shop-hero .kicker{display:none;}
.shop-hero h1{max-width:none!important;font-size:clamp(48px,6vw,86px)!important;line-height:.96!important;margin-bottom:14px!important;}
.shop-hero h1 strong{color:inherit!important;}
.shop-hero p{max-width:820px!important;margin-inline:auto!important;}
.product-price-wrap{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin-bottom:6px;}
.product-price{margin:0!important;}
.product-price.old{text-decoration:line-through;color:#858aa4;font-size:18px;font-weight:500;}
.product-price.sale{color:var(--cyan);}
.sale-badge{position:absolute;left:14px;top:14px;z-index:3;padding:7px 10px;border-radius:999px;background:var(--cyan);color:#05032a;font-size:9px;font-weight:900;letter-spacing:.1em;text-transform:uppercase;box-shadow:0 8px 24px rgba(89,217,223,.26);}
.sale-saving{font-size:10px;color:var(--cyan);font-weight:750;letter-spacing:.05em;margin-bottom:12px;}
.product-install-note{display:block;margin:8px 0 16px!important;color:#afb4cd;line-height:1.55;}
.product-actions{margin-top:4px;}
.product-card-link{color:inherit;display:block;}
.product-card-link:hover h3{color:var(--cyan);}

/* Cleaner explanation of combining installation items. */
.shop-help-grid .dual-panel .panel{position:relative;overflow:hidden;}
.shop-help-grid .dual-panel .panel::before{content:'';position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--cyan);}
.shop-help-grid .dual-panel .panel b{font-size:12px;letter-spacing:.13em;}
.shop-help-grid .dual-panel .panel p{font-size:13px;line-height:1.75;}

/* Individual product page. */
.product-page-hero{padding:48px 0 64px;}
.product-page-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(340px,.9fr);gap:clamp(28px,5vw,70px);align-items:start;}
.product-page-media{display:grid;gap:14px;}
.product-page-main{aspect-ratio:4/3;border-radius:28px;overflow:hidden;background:#0a083d;border:1px solid rgba(255,255,255,.08);display:grid;place-items:center;}
.product-page-main img{width:100%;height:100%;object-fit:cover;}
.product-page-thumbs{display:flex;gap:10px;overflow:auto;}
.product-page-thumbs button{width:82px;height:68px;border-radius:12px;overflow:hidden;border:1px solid rgba(255,255,255,.12);padding:0;background:#0a083d;}
.product-page-thumbs img{width:100%;height:100%;object-fit:cover;}
.product-page-copy{position:sticky;top:calc(var(--header-h) + 28px);padding:8px 0;}
.product-page-copy h1{font-size:clamp(40px,4.3vw,68px);line-height:.98;letter-spacing:-.055em;margin:0 0 16px;}
.product-page-copy .product-description{font-size:15px;line-height:1.85;color:var(--muted);}
.product-page-price{margin:26px 0 18px;}
.product-page-actions{display:flex;gap:10px;flex-wrap:wrap;}
.product-page-meta{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:24px;}
.product-page-meta div{padding:14px;border-radius:16px;background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.07);}
.product-page-meta small{display:block;color:#8389a4;font-size:9px;text-transform:uppercase;letter-spacing:.12em;margin-bottom:5px;}
.youtube-embed.product-page-video{margin-top:18px;border-radius:22px;overflow:hidden;}
@media(max-width:850px){.product-page-grid{grid-template-columns:1fr}.product-page-copy{position:relative;top:auto}.product-page-hero{padding-top:32px}.product-page-copy h1{font-size:clamp(36px,9vw,56px)}}

/* Contact opening hours. */
.opening-hours-card{margin-top:18px;padding:18px;border-radius:18px;background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.08);}
.opening-hours-card h3{margin:0 0 12px;font-size:16px;}
.hours-row{display:flex;justify-content:space-between;gap:20px;padding:9px 0;border-bottom:1px solid rgba(255,255,255,.06);font-size:12px;}
.hours-row:last-child{border-bottom:0;}
.hours-row span{color:#9ca2bd;}.hours-row b{color:#fff;}

/* Admin: simplify hierarchy and reinforce Road Guard Automotive navy. */
.admin-body{background:#03021d!important;}
.admin-sidebar{background:linear-gradient(180deg,#05032a,#020119)!important;border-right-color:rgba(89,217,223,.12)!important;padding:18px!important;}
.admin-main{background:radial-gradient(circle at 95% 0,rgba(89,217,223,.05),transparent 24%),#05032a!important;}
.admin-section{background:#08063a!important;border-color:rgba(255,255,255,.075)!important;box-shadow:0 18px 50px rgba(0,0,0,.12);}
.admin-stat,.admin-row-card,.admin-quick{background:#0a083f!important;border-color:rgba(255,255,255,.07)!important;}
.admin-nav-group{margin:17px 8px 6px;color:#616984;font-size:8px;font-weight:900;letter-spacing:.18em;text-transform:uppercase;}
.admin-nav button{padding:10px 12px!important;border-radius:10px!important;}
.admin-top{position:sticky;top:0;z-index:20;background:rgba(5,3,42,.9);backdrop-filter:blur(12px);padding:12px 0;margin-top:-12px;}
.admin-form input,.admin-form select,.admin-form textarea,.admin-main .field input,.admin-main .field select,.admin-main .field textarea{background:#05032a!important;border-color:rgba(255,255,255,.11)!important;color:#fff!important;}
.admin-section h2{font-size:22px;}.admin-hint{max-width:800px;line-height:1.7;}
.admin-actions .primary,.admin-main button.primary{background:var(--cyan)!important;color:#05032a!important;border-color:var(--cyan)!important;font-weight:850;}

/* Promotions manager */
.promo-admin-card{display:grid;grid-template-columns:1fr auto;gap:14px;padding:16px;border-radius:17px;background:#0a083f;border:1px solid rgba(255,255,255,.07);}
.promo-admin-card strong{color:var(--cyan);}.promo-admin-card small{display:block;color:#9197b2;margin-top:5px;}

@media(max-width:760px){
  .promo-banner .container{gap:8px;}.promo-banner em{width:100%;}
  .sale-ticker a{padding:12px 17px;}
  .shop-hero{padding:38px 0 28px!important;}
  .product-page-meta{grid-template-columns:1fr;}
  .section{padding:52px 0!important;}.home-section{padding:56px 0!important;}
  .film-band .copy{top:38%!important;}
}
.promo-banner.shop-promo{margin-top:0;}
/* Keep timed promotion visible beneath the main navigation while scrolling. */
.promo-banner{position:sticky;top:var(--header-h);}
.promo-banner.shop-promo{top:84px;}
.hero-service-cycle span{filter:blur(7px);}
.hero-service-cycle span.active{filter:blur(0);}
.product-card:hover .product-media img{transform:scale(1.04);}
.product-media img{transition:transform .45s ease;}
.reveal.in .section-title,.reveal.in.section-title{animation:rgaTitleIn .7s cubic-bezier(.2,.8,.2,1) both;}
@keyframes rgaTitleIn{from{opacity:0;transform:translateY(16px);filter:blur(3px)}to{opacity:1;transform:none;filter:blur(0)}}
.has-promo-banner main{padding-top:0!important;}


/* V14 dash cam booking clarity */
.dash-power-panel{margin-top:18px;padding:18px;border-radius:20px;background:#05032a;border:1px solid rgba(89,217,223,.15)}
.dash-hardwire-options{margin-top:16px}.dash-hardwire-options[hidden],.parking-mode-warning[hidden]{display:none}
.dash-info-box{display:grid;gap:10px;padding:16px 17px;margin-bottom:14px;border-radius:16px;background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.08)}
.dash-info-box b{color:var(--cyan);font-size:14px}.dash-info-box p{margin:0;color:#c8cbe0;font-size:13px;line-height:1.7}.dash-info-box strong{color:#fff}
.choice-card.recommended::after{content:'Recommended';position:absolute;top:12px;right:12px;padding:5px 8px;border-radius:999px;background:rgba(89,217,223,.13);border:1px solid rgba(89,217,223,.25);color:var(--cyan);font-size:9px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.parking-mode-warning{margin-top:14px;padding:16px;border-radius:16px;background:rgba(255,189,89,.08);border:1px solid rgba(255,189,89,.28)}
.parking-mode-warning>strong{color:#ffd18d}.parking-mode-warning p{margin:7px 0 0;color:#d6d1c8;font-size:13px;line-height:1.65}
.audit-evidence-box{display:grid;gap:6px;margin:18px 0;padding:16px;border-radius:16px;background:rgba(89,217,223,.06);border:1px solid rgba(89,217,223,.15)}
.audit-evidence-box b{color:var(--cyan)}.audit-evidence-box span{font-size:12px;line-height:1.65;color:var(--muted)}
@media(max-width:760px){.dash-power-panel{padding:14px}.choice-card.recommended::after{position:static;display:inline-block;margin-top:10px}}


/* === V15 booking polish, mobile UX and engineer-ready structure === */
:root{--rga-panel:#05032a;--rga-panel-2:#070536;--rga-border:rgba(255,255,255,.09);--rga-cyan:#59d9df;}
.section.soft .booking-shell{align-items:start;}
.booking-main{padding:clamp(22px,3vw,34px);}
.booking-step{padding:2px 0 4px;}
.booking-step>.section-lead{margin-bottom:24px;}
.booking-step h2{margin-bottom:14px;}
.booking-step .choice-grid{gap:18px;}
.equipment-block{padding:clamp(20px,2.5vw,28px);margin-bottom:22px;}
.customer-kit-panel{padding:clamp(18px,2.2vw,24px);}

/* Compact, reliable recommended badge. */
.choice-card.recommended::after{display:none!important;}
.dash-panel-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:18px;}
.dash-panel-heading>div{min-width:0;}
.dash-panel-heading h4{margin:4px 0 0;font-size:clamp(20px,2vw,28px);line-height:1.15;color:#fff;}
.dash-panel-kicker{font-size:10px;letter-spacing:.15em;text-transform:uppercase;color:var(--cyan);font-weight:800;}
.required-pill{flex:0 0 auto;padding:7px 10px;border-radius:999px;border:1px solid rgba(89,217,223,.24);background:rgba(89,217,223,.08);color:var(--cyan);font-size:9px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;}
.dash-power-panel{margin-top:22px;padding:clamp(18px,2vw,24px);overflow:visible;}
.dash-power-choice,.dash-feed-choice{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;}
.dash-choice-card{position:relative;display:grid!important;grid-template-columns:50px minmax(0,1fr) auto;align-items:start;column-gap:16px;row-gap:6px;min-height:170px;padding:22px!important;overflow:visible!important;}
.dash-choice-card input{position:absolute;opacity:0;pointer-events:none;}
.choice-card-icon{grid-row:1/3;width:46px;height:46px;border-radius:15px;display:grid;place-items:center;background:rgba(89,217,223,.07);border:1px solid rgba(89,217,223,.18);color:var(--cyan);font-size:22px;}
.choice-card-copy{min-width:0;display:grid;gap:9px;}
.choice-card-copy>b,.choice-title-line>b{font-size:clamp(20px,1.8vw,28px);line-height:1.15;color:#fff;letter-spacing:-.03em;}
.choice-card-copy>span:not(.choice-title-line){font-size:14px;line-height:1.65;color:#bec2d6;}
.choice-card-copy>span strong{color:#fff;}
.choice-title-line{display:flex;align-items:center;flex-wrap:wrap;gap:10px;min-width:0;}
.recommend-badge{display:inline-flex;align-items:center;max-width:100%;padding:6px 9px;border-radius:999px;background:rgba(89,217,223,.12);border:1px solid rgba(89,217,223,.28);color:var(--cyan);font-size:9px!important;font-style:normal;font-weight:900;letter-spacing:.1em;text-transform:uppercase;white-space:nowrap;}
.choice-card-state{align-self:start;padding:6px 9px;border-radius:999px;border:1px solid rgba(255,255,255,.12);font-size:9px;color:#8f94ad;text-transform:uppercase;letter-spacing:.1em;font-weight:800;white-space:nowrap;}
.dash-choice-card.selected .choice-card-state{background:var(--cyan);border-color:var(--cyan);color:var(--navy);}
.dash-choice-card.selected .choice-card-icon{background:rgba(89,217,223,.16);box-shadow:0 0 0 4px rgba(89,217,223,.04);}
.dash-choice-card:hover{transform:translateY(-2px);border-color:rgba(89,217,223,.35);}
.dash-section-divider{display:flex;align-items:center;gap:12px;margin:24px 0 16px;color:#fff;font-size:11px;font-weight:900;letter-spacing:.14em;text-transform:uppercase;}
.dash-section-divider::after{content:'';height:1px;flex:1;background:linear-gradient(90deg,rgba(89,217,223,.35),transparent);}
.dash-explainer{margin-top:14px;border:1px solid var(--rga-border);border-radius:16px;background:rgba(255,255,255,.025);overflow:hidden;}
.dash-explainer summary{cursor:pointer;list-style:none;padding:14px 16px;color:var(--cyan);font-size:12px;font-weight:800;letter-spacing:.04em;}
.dash-explainer summary::-webkit-details-marker{display:none;}
.dash-explainer summary::after{content:'+';float:right;font-size:18px;line-height:.8;}
.dash-explainer[open] summary::after{content:'–';}
.dash-explainer>div{padding:0 16px 15px;display:grid;gap:8px;}
.dash-explainer p{margin:0;color:#bfc3d8;font-size:13px;line-height:1.7;}
.dash-explainer strong{color:#fff;}
.dash-info-box{margin-bottom:18px;padding:18px 19px;}
.parking-mode-warning{margin-top:18px;padding:18px 19px;}
.warning-heading{display:flex;align-items:center;gap:10px;}
.warning-heading>span{width:28px;height:28px;display:grid;place-items:center;border-radius:50%;background:rgba(255,189,89,.14);border:1px solid rgba(255,189,89,.34);color:#ffd18d;font-weight:900;}
.warning-heading strong{color:#ffd18d;}

/* Booking progress and live job summary */
.booking-live-summary{display:grid;gap:10px;margin-top:16px;padding:15px;border-radius:17px;background:rgba(89,217,223,.04);border:1px solid rgba(89,217,223,.13);}
.booking-live-summary>b{color:var(--cyan);font-size:11px;text-transform:uppercase;letter-spacing:.12em;}
.booking-live-summary>span{color:#9297b3;font-size:11px;line-height:1.55;}
.booking-live-summary>div{display:grid;gap:3px;padding-top:9px;border-top:1px solid rgba(255,255,255,.06);}
.booking-live-summary small{color:#777d9b;font-size:9px;text-transform:uppercase;letter-spacing:.1em;}
.booking-live-summary div span{font-size:11px;line-height:1.45;color:#e7e9f3;overflow-wrap:anywhere;}
.booking-mobile-progress{display:none;position:sticky;top:76px;z-index:8;margin:-2px -2px 22px;padding:12px 14px 10px;border-radius:16px;background:rgba(5,3,42,.96);border:1px solid rgba(89,217,223,.14);backdrop-filter:blur(12px);}
.booking-mobile-progress span{display:block;margin-bottom:8px;color:#dfe2ee;font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;}
.booking-mobile-progress>div{height:3px;border-radius:999px;background:rgba(255,255,255,.08);overflow:hidden;}
.booking-mobile-progress i{display:block;width:12.5%;height:100%;background:linear-gradient(90deg,var(--cyan),#9ef5f7);transition:width .3s ease;}

/* Consistent form fields */
.field input,.field select,.field textarea,.visit-item select{background:#05032a!important;border-color:rgba(255,255,255,.12);}
.field input::placeholder,.field textarea::placeholder{color:#696f90;}
.field select{color-scheme:dark;}
.form-grid{gap:18px;}
.booking-nav{margin-top:32px;padding-top:4px;}

/* Engineer-ready audit cue */
.audit-evidence-box{padding:18px 19px;margin:20px 0;}
.audit-evidence-box::before{content:'AUDIT TRAIL';font-size:9px;letter-spacing:.14em;color:#6fcfd5;font-weight:900;}

/* Site-wide spacing audit: reduce excessive gaps and standardise rhythm. */
.section{padding-top:clamp(72px,7vw,104px);padding-bottom:clamp(72px,7vw,104px);}
.page-hero{padding-top:clamp(48px,5vw,72px);padding-bottom:clamp(48px,5vw,72px);}
.copy-columns,.service-grid,.detail-grid,.education-grid,.review-grid,.location-grid{margin-top:32px;}
.contact-panel{margin-block:0;}
.film-band .copy{top:43%;}

@media(max-width:900px){
  .booking-shell{grid-template-columns:1fr!important;}
  .booking-side{display:none;}
  .booking-mobile-progress{display:block;}
  .dash-power-choice,.dash-feed-choice{grid-template-columns:1fr;}
  .dash-choice-card{min-height:0;}
}
@media(max-width:620px){
  .booking-main{padding:18px 14px;border-radius:22px;}
  .booking-mobile-progress{top:70px;margin:0 0 18px;}
  .dash-power-panel{padding:14px;border-radius:18px;}
  .dash-panel-heading{align-items:center;gap:10px;}
  .dash-panel-heading h4{font-size:20px;}
  .required-pill{font-size:8px;padding:6px 8px;}
  .dash-choice-card{grid-template-columns:42px minmax(0,1fr);padding:18px!important;gap:12px;}
  .choice-card-icon{width:40px;height:40px;border-radius:13px;font-size:18px;}
  .choice-card-state{grid-column:2;margin-top:4px;justify-self:start;}
  .choice-title-line{align-items:flex-start;gap:7px;}
  .recommend-badge{font-size:8px!important;padding:5px 7px;white-space:normal;text-align:center;}
  .choice-card-copy>b,.choice-title-line>b{font-size:21px;}
  .choice-card-copy>span:not(.choice-title-line){font-size:13px;}
  .dash-info-box,.parking-mode-warning{padding:15px;}
  .form-grid{grid-template-columns:1fr;gap:15px;}
  .field.full{grid-column:auto;}
  .booking-nav{margin-top:24px;}
}

/* V15 engineer portal preview */
.engineer-body{margin:0;background:#05032a;color:#fff;font-family:Montserrat,Arial,sans-serif;}
.engineer-shell{min-height:100vh;background:radial-gradient(circle at 90% 0,rgba(89,217,223,.07),transparent 30%),#05032a;}
.engineer-top{position:sticky;top:0;z-index:30;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:22px;min-height:82px;padding:12px clamp(18px,4vw,54px);background:rgba(5,3,42,.96);border-bottom:1px solid rgba(255,255,255,.08);backdrop-filter:blur(14px)}
.engineer-top .brand img{width:220px}.engineer-top>div{display:grid;gap:3px}.engineer-top small{color:#7c82a0;font-size:9px;letter-spacing:.14em;text-transform:uppercase}.engineer-top b{font-size:13px;color:var(--cyan)}
.engineer-main{width:min(1240px,calc(100% - 32px));margin:0 auto;padding:42px 0 80px}.engineer-hero{display:flex;align-items:end;justify-content:space-between;gap:24px;padding:28px 0 34px}.engineer-hero h1{margin:0 0 8px;font-size:clamp(44px,6vw,78px);line-height:.95;letter-spacing:-.05em}.engineer-hero p:last-child{margin:0;color:#a9aec4}.engineer-actions{display:flex;gap:12px;flex-wrap:wrap}
.engineer-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.engineer-card,.engineer-section{border:1px solid rgba(255,255,255,.09);background:rgba(255,255,255,.025);border-radius:24px}.engineer-card{padding:20px;min-height:150px}.eng-label{display:block;margin-bottom:14px;color:var(--cyan);font-size:9px;font-weight:900;letter-spacing:.14em;text-transform:uppercase}.engineer-card h3{margin:0 0 8px;font-size:22px;line-height:1.15}.engineer-card p{margin:0;color:#969bb5;font-size:12px;line-height:1.6}
.engineer-section{margin-top:22px;padding:clamp(20px,3vw,30px)}.engineer-section-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:22px}.engineer-section h2{margin:0;font-size:clamp(28px,4vw,48px);line-height:1;letter-spacing:-.04em}.engineer-detail-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.engineer-detail-list>div{display:grid;gap:5px;padding:15px;border-radius:16px;background:#05032a;border:1px solid rgba(255,255,255,.07)}.engineer-detail-list small{color:#707794;font-size:9px;letter-spacing:.12em;text-transform:uppercase}.engineer-detail-list span{color:#eef0f6;font-size:13px;line-height:1.45;overflow-wrap:anywhere}
.engineer-progress-text{color:var(--cyan);font-size:12px;font-weight:800}.engineer-progress{height:5px;margin-bottom:18px;background:rgba(255,255,255,.07);border-radius:99px;overflow:hidden}.engineer-progress i{display:block;width:0;height:100%;background:var(--cyan);transition:width .3s ease}.engineer-checklist{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.engineer-checklist label{display:flex;align-items:flex-start;gap:12px;padding:16px;border:1px solid rgba(255,255,255,.08);border-radius:17px;background:#05032a}.engineer-checklist input{width:19px;height:19px;margin-top:2px;accent-color:var(--cyan)}.engineer-checklist span{display:grid;gap:4px}.engineer-checklist b{font-size:14px}.engineer-checklist small{color:#8f94ad;font-size:11px;line-height:1.5}.engineer-upload-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.engineer-upload{position:relative;display:grid;place-items:center;text-align:center;gap:7px;min-height:150px;padding:20px;border:1px dashed rgba(89,217,223,.35);border-radius:20px;background:rgba(89,217,223,.03);cursor:pointer}.engineer-upload input{position:absolute;inset:0;opacity:0;cursor:pointer}.engineer-upload b{color:#fff}.engineer-upload span{color:#8f94ad;font-size:11px}.engineer-section .dual-panel{margin-top:0}
@media(max-width:900px){.engineer-grid{grid-template-columns:1fr 1fr}.engineer-detail-list{grid-template-columns:1fr 1fr}.engineer-top{grid-template-columns:1fr auto}.engineer-top>div{display:none}.engineer-top .brand img{width:180px}}
@media(max-width:640px){.engineer-main{width:min(100% - 22px,1240px);padding-top:22px}.engineer-hero{display:grid;align-items:start}.engineer-grid,.engineer-detail-list,.engineer-checklist,.engineer-upload-grid{grid-template-columns:1fr}.engineer-card{min-height:0}.engineer-section{padding:18px}.engineer-section-head{align-items:start;flex-direction:column}.engineer-top .btn{padding:11px 13px;font-size:9px}.engineer-top .brand img{width:155px}}


/* === V16 booking visual refinement: cleaner V14-style cards, V15 logic retained === */
.dash-power-panel.simplified{margin-top:20px;padding:20px;border-radius:22px;border:1px solid rgba(89,217,223,.18);background:rgba(5,3,42,.42);overflow:visible;}
.dash-power-panel.simplified>.field{margin-bottom:14px;}
.dash-power-panel.simplified>.field label{display:block;font-size:12px;font-weight:900;letter-spacing:.12em;text-transform:uppercase;color:#f7f9fc;margin-bottom:6px;}
.dash-power-panel.simplified>.field small{color:#949ab6;font-size:12px;line-height:1.55;}
.dash-power-panel.simplified .dash-power-choice,.dash-power-panel.simplified .dash-feed-choice{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;}
.dash-simple-card{position:relative;display:flex!important;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:10px;min-height:176px;padding:22px 24px!important;border-radius:22px!important;overflow:visible!important;background:#05032a!important;}
.dash-simple-card b{font-size:clamp(22px,1.8vw,30px)!important;line-height:1.1!important;letter-spacing:-.035em;color:#fff;max-width:17ch;}
.dash-simple-card span{font-size:14px!important;line-height:1.7!important;color:#bfc3d8!important;max-width:48ch;}
.dash-simple-card input{position:absolute;opacity:0;pointer-events:none;}
.dash-simple-card.selected{border-color:var(--cyan)!important;background:linear-gradient(145deg,rgba(89,217,223,.08),#05032a 52%)!important;box-shadow:0 0 0 2px rgba(89,217,223,.06);}
.dash-simple-card.selected::before{content:'✓';position:absolute;top:16px;right:16px;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:var(--cyan);color:var(--navy);font-size:18px;font-weight:900;}
.dash-simple-card:not(.selected)::before{content:'+';position:absolute;top:16px;right:16px;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;border:1px solid rgba(255,255,255,.16);color:#fff;font-size:18px;font-weight:400;}
.dash-simple-card.recommended::after{content:'Recommended';position:absolute;top:16px;right:62px;display:inline-flex!important;align-items:center;justify-content:center;padding:7px 10px;border-radius:999px;background:rgba(89,217,223,.1);border:1px solid rgba(89,217,223,.3);color:var(--cyan);font-size:9px;font-weight:900;letter-spacing:.11em;text-transform:uppercase;white-space:nowrap;max-width:none;}
.dash-help-strip{display:flex;align-items:flex-start;gap:16px;margin:14px 0 0;padding:14px 16px;border-radius:16px;background:rgba(255,255,255,.025);border:1px solid rgba(255,255,255,.07);}
.dash-help-strip>b{flex:0 0 auto;color:var(--cyan);font-size:11px;letter-spacing:.08em;text-transform:uppercase;}
.dash-help-strip>span{color:#b8bdd1;font-size:12px;line-height:1.65;}
.dash-help-strip strong{color:#fff;}
.dash-hardwire-options{margin-top:18px;}
.dash-info-box.compact{margin-bottom:14px;padding:16px 18px;border-radius:17px;}
.dash-info-box.compact b{display:block;margin-bottom:8px;color:#fff;}
.dash-info-box.compact p{margin:7px 0;color:#bcc1d6;font-size:13px;line-height:1.65;}
.parking-mode-warning{margin-top:14px;}
/* Remove old V15 visual helper elements that no longer exist in the simplified markup. */
.dash-choice-card .choice-card-icon,.dash-choice-card .choice-card-state,.dash-panel-heading,.dash-section-divider,.dash-explainer{display:none!important;}
@media(max-width:760px){
  .dash-power-panel.simplified{padding:15px;border-radius:18px;}
  .dash-power-panel.simplified .dash-power-choice,.dash-power-panel.simplified .dash-feed-choice{grid-template-columns:1fr;gap:12px;}
  .dash-simple-card{min-height:0;padding:18px 18px!important;}
  .dash-simple-card b{font-size:22px!important;max-width:calc(100% - 52px);}
  .dash-simple-card span{font-size:13px!important;line-height:1.6!important;}
  .dash-simple-card.recommended{padding-top:54px!important;}
  .dash-simple-card.recommended::after{top:16px;left:18px;right:auto;}
  .dash-help-strip{display:grid;gap:7px;padding:13px 14px;}
}

/* === V17 focused booking + engineer portal refinements === */
/* Dash cam cards: one clean selection marker only. */
.dash-simple-card::after{display:none!important;content:none!important;}
.dash-simple-card.selected::after{display:none!important;content:none!important;}
.dash-simple-card.selected::before{content:'✓'!important;position:absolute!important;top:15px!important;right:15px!important;width:32px!important;height:32px!important;border-radius:50%!important;display:grid!important;place-items:center!important;background:var(--cyan)!important;color:var(--navy)!important;font-size:17px!important;font-weight:900!important;box-shadow:none!important;}
.dash-simple-card.recommended b::after{content:'Recommended';display:inline-flex;vertical-align:middle;margin-left:10px;padding:5px 8px;border-radius:999px;background:rgba(89,217,223,.11);border:1px solid rgba(89,217,223,.28);color:var(--cyan);font-size:8px;font-weight:900;letter-spacing:.09em;text-transform:uppercase;white-space:nowrap;transform:translateY(-2px);}
.dash-simple-card.recommended::before{right:15px!important;}
.dash-simple-card{padding:22px 56px 22px 22px!important;min-height:158px!important;display:flex!important;flex-direction:column!important;justify-content:flex-start!important;overflow:visible!important;}
.dash-simple-card b{font-size:clamp(22px,2.2vw,32px)!important;line-height:1.08!important;margin-bottom:18px!important;max-width:19ch;}
.dash-simple-card span{font-size:14px!important;line-height:1.7!important;color:#b8bdd1!important;max-width:52ch;}
.dash-help-strip{margin-top:14px!important;padding:14px 16px!important;}
.dash-info-box.compact{margin-top:4px!important;}
@media(max-width:760px){
  .dash-simple-card{min-height:0!important;padding:20px 54px 20px 18px!important;}
  .dash-simple-card b{font-size:24px!important;margin-bottom:12px!important;}
  .dash-simple-card span{font-size:13px!important;line-height:1.65!important;}
  .dash-simple-card.recommended{padding-top:20px!important;}
  .dash-simple-card.recommended b::after{display:block;width:max-content;margin:9px 0 0;transform:none;}
}


/* Engineer Portal V2 */
.engineer-v2{background:#03021d!important;}
.engineer-shell-v2{min-height:100vh;background:radial-gradient(circle at 100% 0,rgba(89,217,223,.055),transparent 28%),#05032a;}
.engineer-top-v2{position:sticky;top:0;z-index:80;min-height:82px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:22px;padding:14px clamp(18px,3vw,42px);background:rgba(5,3,42,.97);border-bottom:1px solid rgba(89,217,223,.12);box-shadow:0 10px 30px rgba(0,0,0,.16);}
.engineer-top-v2 .brand img{width:210px;}
.engineer-top-title{display:grid;gap:2px}.engineer-top-title small{font-size:9px;letter-spacing:.15em;text-transform:uppercase;color:#737a98}.engineer-top-title b{font-size:14px}.engineer-top-actions{display:flex;gap:10px;align-items:center}
.engineer-app{width:min(1440px,calc(100% - 40px));margin:0 auto;padding:34px 0 64px;}
.engineer-dashboard-hero{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(360px,.9fr);gap:44px;align-items:end;padding:28px 0 30px;}
.engineer-dashboard-hero h1,.engineer-job-head h1{font-size:clamp(42px,5vw,74px);line-height:.95;letter-spacing:-.055em;margin:0 0 14px}.engineer-dashboard-hero h1 strong{color:var(--cyan);font-style:normal}.engineer-dashboard-hero p{max-width:760px;color:#aeb4ca;line-height:1.75}
.engineer-search-wrap{display:grid;gap:9px}.engineer-search-wrap label{font-size:10px;font-weight:850;letter-spacing:.13em;text-transform:uppercase;color:#7c829d}.engineer-search{display:flex;gap:8px;padding:8px;border-radius:18px;background:#08063a;border:1px solid rgba(255,255,255,.08)}.engineer-search input{flex:1;min-width:0;border:0;background:transparent;color:#fff;padding:12px;font:inherit;outline:0}.engineer-search button{border:0;border-radius:12px;padding:0 14px;background:rgba(255,255,255,.05);color:#abb0c7;cursor:pointer}
.engineer-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:24px}.engineer-stats>div{padding:20px;border-radius:20px;background:#08063a;border:1px solid rgba(255,255,255,.07)}.engineer-stats small{display:block;color:#777e99;font-size:9px;letter-spacing:.13em;text-transform:uppercase;margin-bottom:9px}.engineer-stats b{font-size:30px;color:#fff}
.engineer-filterbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}.engineer-filter-tabs{display:flex;gap:8px;flex-wrap:wrap}.engineer-filter-tabs button{border:1px solid rgba(255,255,255,.08);background:#08063a;color:#9da3ba;border-radius:999px;padding:11px 15px;font:inherit;font-size:10px;font-weight:750;cursor:pointer}.engineer-filter-tabs button.active{background:rgba(89,217,223,.11);color:var(--cyan);border-color:rgba(89,217,223,.28)}
.engineer-job-list{display:grid;gap:12px}.engineer-job-card{display:grid;grid-template-columns:120px minmax(0,1.2fr) minmax(220px,.65fr) auto;gap:18px;align-items:center;padding:18px 20px;border-radius:22px;background:#08063a;border:1px solid rgba(255,255,255,.07);transition:.2s}.engineer-job-card:hover{border-color:rgba(89,217,223,.24);transform:translateY(-1px)}.engineer-job-status{justify-self:start;padding:7px 9px;border-radius:999px;background:rgba(255,255,255,.055);color:#b5bad0;font-size:9px;font-weight:850;letter-spacing:.1em;text-transform:uppercase}.engineer-job-status.completed{background:rgba(89,217,223,.12);color:var(--cyan)}.engineer-job-status.in_progress{background:rgba(255,196,92,.1);color:#ffce73}.job-card-main small{color:var(--cyan);font-size:9px;letter-spacing:.12em}.job-card-main h3{margin:4px 0 3px;font-size:20px}.job-card-main p,.job-card-main span{margin:0;color:#9298b2;font-size:11px;line-height:1.55}.job-card-main p strong{color:#fff}.job-card-meta{display:grid;gap:4px}.job-card-meta small{color:#6f7693;font-size:9px}.job-card-meta b{font-size:11px;color:#d6d9e7}.engineer-empty{padding:46px;border-radius:22px;border:1px dashed rgba(255,255,255,.12);display:grid;place-items:center;text-align:center;gap:7px;color:#8d93ae}.engineer-empty b{color:#fff}
.engineer-job-view{padding-bottom:40px}.engineer-job-head{display:flex;align-items:end;justify-content:space-between;gap:28px;padding:24px 0}.engineer-job-head p{color:#9aa0b9}.engineer-job-actions{display:flex;gap:10px;flex-wrap:wrap}.engineer-job-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:20px}.engineer-job-summary>div{padding:17px;border-radius:18px;background:#08063a;border:1px solid rgba(255,255,255,.07);display:grid;gap:5px}.engineer-job-summary small{font-size:8px;letter-spacing:.13em;text-transform:uppercase;color:#69718f}.engineer-job-summary b{font-size:14px}.engineer-job-summary span{font-size:10px;color:#969cb5;line-height:1.5}
.engineer-workflow-shell{display:grid;grid-template-columns:260px minmax(0,1fr);gap:18px;align-items:start}.engineer-workflow-nav{position:sticky;top:100px;display:grid;gap:7px;padding:12px;border-radius:22px;background:#070530;border:1px solid rgba(255,255,255,.07)}.engineer-workflow-nav button{display:grid;grid-template-columns:32px 1fr;gap:1px 10px;align-items:center;text-align:left;padding:11px;border:0;border-radius:13px;background:transparent;color:#8e95ae;cursor:pointer}.engineer-workflow-nav button>span{grid-row:1/3;display:grid;place-items:center;width:30px;height:30px;border-radius:50%;border:1px solid rgba(255,255,255,.1);font-size:9px;font-weight:850}.engineer-workflow-nav button b{font-size:11px;color:#dce0ec}.engineer-workflow-nav button small{font-size:8px;color:#707895}.engineer-workflow-nav button.active{background:rgba(89,217,223,.08)}.engineer-workflow-nav button.active>span{background:var(--cyan);border-color:var(--cyan);color:#05032a}.engineer-workflow-nav button.active b{color:var(--cyan)}
.engineer-workflow-content{min-width:0}.engineer-stage{display:none;padding:clamp(22px,3vw,34px);border-radius:24px;background:#08063a;border:1px solid rgba(255,255,255,.07)}.engineer-stage.active{display:block}.stage-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:24px}.stage-head h2{margin:0;font-size:clamp(28px,3.2vw,48px);line-height:1;letter-spacing:-.045em}.stage-state{padding:7px 10px;border-radius:999px;background:rgba(89,217,223,.08);color:var(--cyan);font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.1em;white-space:nowrap}.engineer-callout{margin:18px 0;padding:17px 18px;border-radius:17px;background:rgba(89,217,223,.055);border:1px solid rgba(89,217,223,.14)}.engineer-callout b{color:var(--cyan);font-size:12px}.engineer-callout p{margin:6px 0 0;color:#9da3ba;font-size:12px;line-height:1.7}.engineer-stage-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:24px;padding-top:18px;border-top:1px solid rgba(255,255,255,.06)}.engineer-stage-actions button,.engineer-top-v2 button.primary,.engineer-stage button.primary{border:1px solid var(--cyan);background:var(--cyan);color:#05032a;border-radius:999px;padding:13px 18px;font:inherit;font-size:10px;font-weight:850;letter-spacing:.08em;text-transform:uppercase;cursor:pointer}.engineer-stage-actions button.secondary{background:transparent;color:#fff;border-color:rgba(255,255,255,.14)}.top-actions{justify-content:flex-start;border:0;padding-top:0}.top-actions span{font-size:11px;color:#8f96b0}
.engineer-upload-grid.two-col{grid-template-columns:repeat(2,1fr);margin:18px 0}.engineer-upload em{font-style:normal;color:var(--cyan);font-size:9px}.engineer-equipment-list{display:grid;gap:10px;margin-bottom:12px}.equipment-row{display:grid;grid-template-columns:1.2fr .75fr 1fr auto;gap:10px;align-items:end;padding:14px;border-radius:17px;background:#05032a;border:1px solid rgba(255,255,255,.065)}.equipment-row button{width:36px;height:36px;border-radius:50%;border:1px solid rgba(255,255,255,.12);background:transparent;color:#fff;font-size:20px;cursor:pointer;margin-bottom:3px}.engineer-test-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:18px}.engineer-test-grid label{display:flex;gap:11px;align-items:flex-start;padding:15px;border-radius:16px;background:#05032a;border:1px solid rgba(255,255,255,.065)}.engineer-test-grid input{width:18px;height:18px;accent-color:var(--cyan)}.engineer-test-grid span{display:grid;gap:3px}.engineer-test-grid b{font-size:12px}.engineer-test-grid small{color:#858ca8;font-size:10px;line-height:1.5}.handover-checklist{margin-bottom:18px}.customer-declaration{padding:18px;border-radius:18px;background:#05032a;border:1px solid rgba(255,255,255,.07);margin-bottom:18px}.customer-declaration h3{margin:0 0 8px}.customer-declaration p{color:#a4aac1;font-size:12px;line-height:1.7}.signature-card{display:grid;gap:12px;margin-top:18px;padding:17px;border-radius:18px;background:#05032a;border:1px solid rgba(255,255,255,.07)}.signature-card>div{display:grid;gap:3px}.signature-card small{font-size:10px;color:#838aa5}.engineer-signature-canvas{width:100%;height:150px;border-radius:14px;border:1px solid rgba(89,217,223,.18);background:#03021d;touch-action:none}.signature-clear{justify-self:start}.engineer-duration-card{display:grid;grid-template-columns:1fr 1fr 1.2fr;gap:10px;margin-bottom:20px}.engineer-duration-card>div{padding:15px;border-radius:16px;background:#05032a;border:1px solid rgba(255,255,255,.065);display:grid;gap:4px}.engineer-duration-card small{font-size:8px;letter-spacing:.12em;text-transform:uppercase;color:#717996}.engineer-duration-card b{font-size:14px}.engineer-duration-card em{font-style:normal;color:#6e7691;font-size:8px}.duration-private{border-color:rgba(89,217,223,.18)!important}.duration-private b{color:var(--cyan)}
.engineer-body .field input,.engineer-body .field select,.engineer-body .field textarea{background:#05032a!important;border-color:rgba(255,255,255,.10)!important;color:#fff!important}.engineer-body .field label{font-size:9px;letter-spacing:.11em;text-transform:uppercase;color:#a3a9bf}.engineer-body .form-grid{gap:12px}.engineer-body textarea{min-height:120px}
@media(max-width:1050px){.engineer-dashboard-hero{grid-template-columns:1fr}.engineer-stats{grid-template-columns:repeat(2,1fr)}.engineer-job-card{grid-template-columns:100px 1fr auto}.job-card-meta{display:none}.engineer-job-summary{grid-template-columns:repeat(2,1fr)}.engineer-workflow-shell{grid-template-columns:1fr}.engineer-workflow-nav{position:static;display:flex;overflow:auto;padding:8px}.engineer-workflow-nav button{flex:0 0 auto;min-width:180px}.engineer-upload-grid.two-col,.engineer-test-grid{grid-template-columns:1fr}.equipment-row{grid-template-columns:1fr 1fr}.equipment-row button{grid-column:2;justify-self:end}}
@media(max-width:680px){.engineer-app{width:min(100% - 22px,1440px);padding-top:20px}.engineer-top-v2{grid-template-columns:1fr auto;padding:11px 14px}.engineer-top-title{display:none}.engineer-top-v2 .brand img{width:155px}.engineer-top-actions a{display:none}.engineer-dashboard-hero{padding-top:18px}.engineer-dashboard-hero h1,.engineer-job-head h1{font-size:42px}.engineer-stats{grid-template-columns:1fr 1fr}.engineer-filterbar{align-items:flex-start;flex-direction:column}.engineer-job-card{grid-template-columns:1fr auto;gap:12px}.engineer-job-status{grid-column:1}.engineer-job-card .btn{grid-column:2;grid-row:1/3}.engineer-job-summary{grid-template-columns:1fr}.engineer-job-head{align-items:flex-start;flex-direction:column}.engineer-workflow-nav button{min-width:156px}.engineer-stage{padding:18px}.stage-head{align-items:flex-start;flex-direction:column}.equipment-row{grid-template-columns:1fr}.equipment-row button{grid-column:1;justify-self:end}.engineer-duration-card{grid-template-columns:1fr}.engineer-stage-actions{align-items:stretch}.engineer-stage-actions button{flex:1}.engineer-top-v2 .btn{padding:10px 12px;font-size:8px}}

@media print{.engineer-top-v2,.engineer-workflow-nav,.engineer-job-actions,.engineer-stage-actions,.engineer-filterbar{display:none!important}.engineer-app{width:100%;padding:0}.engineer-job-view{display:block!important}.engineer-stage{display:block!important;break-inside:avoid;margin-bottom:12px;border:1px solid #ccc;background:#fff;color:#111}.engineer-stage *{color:#111!important}.engineer-job-summary>div,.engineer-detail-list>div,.engineer-callout,.customer-declaration,.signature-card,.equipment-row{background:#fff!important;border-color:#ddd!important}}

/* === V18 engineer portal + Install Assist === */
/* Dash-cam booking choices: no duplicate + / tick markers. */
.dash-simple-card::after{display:none!important;content:none!important;}
.dash-simple-card::before{display:none!important;content:none!important;}
.dash-simple-card.selected{position:relative;}
.dash-simple-card.selected .dash-selected-dot{display:none!important;}
.dash-simple-card.selected{box-shadow:0 0 0 2px rgba(89,217,223,.05),0 14px 35px rgba(0,0,0,.14)!important;}
.dash-simple-card.selected{border-color:var(--cyan)!important;}

/* Install Assist */
.assist-vehicle-head{display:flex;justify-content:space-between;gap:22px;align-items:flex-start;padding:20px;border-radius:20px;background:#05032a;border:1px solid rgba(255,255,255,.07);margin-bottom:16px}
.assist-vehicle-head small{font-size:9px;text-transform:uppercase;letter-spacing:.12em;color:#727a98}.assist-vehicle-head h3{margin:5px 0 3px;font-size:26px}.assist-vehicle-head p{margin:0;color:#969db8;font-size:11px}
.assist-confidence{display:grid;gap:5px;justify-items:end;text-align:right}.assist-confidence span{padding:7px 10px;border-radius:999px;background:rgba(89,217,223,.09);border:1px solid rgba(89,217,223,.18);color:var(--cyan);font-size:9px;font-weight:850;letter-spacing:.08em;text-transform:uppercase}.assist-confidence small{max-width:260px;line-height:1.5}
.engineer-callout.warning{background:rgba(255,196,92,.055);border-color:rgba(255,196,92,.2)}.engineer-callout.warning b{color:#ffcf78}
.assist-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0}.assist-tabs button{border:1px solid rgba(255,255,255,.09);background:#05032a;color:#9299b4;border-radius:999px;padding:10px 14px;font:inherit;font-size:9px;font-weight:850;text-transform:uppercase;letter-spacing:.08em;cursor:pointer}.assist-tabs button.active{color:#05032a;background:var(--cyan);border-color:var(--cyan)}
.assist-panel{display:none}.assist-panel.active{display:block}.assist-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.assist-card{padding:18px;border-radius:18px;background:#05032a;border:1px solid rgba(255,255,255,.065);min-width:0}.assist-card small{font-size:8px;text-transform:uppercase;letter-spacing:.12em;color:#6f7898}.assist-card h3{margin:7px 0 8px;font-size:16px;line-height:1.25}.assist-card p{margin:0;color:#969db7;font-size:11px;line-height:1.7}.assist-reference{margin-top:14px}.assist-reference-head{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:12px}.assist-reference-head small{font-size:8px;text-transform:uppercase;letter-spacing:.12em;color:#707897}.assist-reference-head h3{margin:4px 0 0}.assist-source-note{font-size:9px;color:#777f9c;line-height:1.6;margin:12px 4px 0}
.assist-history{display:grid;gap:10px}.assist-history-card{padding:18px;border-radius:18px;background:#05032a;border:1px solid rgba(89,217,223,.13);display:grid;grid-template-columns:1fr auto;gap:9px 16px}.assist-history-card small{color:#707996;font-size:8px}.assist-history-card h3{margin:4px 0;font-size:15px}.assist-history-card p{margin:0;color:#939bb7;font-size:10px;line-height:1.55}.assist-history-values{display:flex;gap:7px;align-items:flex-start}.assist-history-values span{display:grid;gap:2px;padding:8px 9px;border-radius:11px;background:rgba(89,217,223,.06);font-size:7px;color:#737c99;text-transform:uppercase;letter-spacing:.08em}.assist-history-values b{color:var(--cyan);font-size:10px}.assist-history-card>p,.assist-history-card>small{grid-column:1/-1}
.assist-save-row{display:flex;align-items:center;gap:14px;margin-top:15px}.assist-save-row span{font-size:10px;color:var(--cyan)}

/* Engineer dashboard polish */
.engineer-dashboard-view{animation:engFade .24s ease both}.engineer-job-view{animation:engFade .24s ease both}@keyframes engFade{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}
.engineer-job-card{overflow:hidden}.engineer-search input{min-width:0}.engineer-workflow-nav{scrollbar-width:thin}.engineer-upload{transition:.18s}.engineer-upload:hover{border-color:rgba(89,217,223,.28);background:rgba(89,217,223,.035)}

@media(max-width:950px){.assist-grid{grid-template-columns:1fr 1fr}.assist-vehicle-head{flex-direction:column}.assist-confidence{justify-items:start;text-align:left}.assist-reference-head{align-items:flex-start;flex-direction:column}.assist-history-card{grid-template-columns:1fr}.assist-history-values{grid-column:1}}
@media(max-width:620px){.assist-grid{grid-template-columns:1fr}.assist-tabs{display:grid;grid-template-columns:1fr 1fr}.assist-tabs button{border-radius:13px}.assist-history-values{flex-wrap:wrap}.assist-save-row{align-items:flex-start;flex-direction:column}.assist-vehicle-head h3{font-size:22px}}


/* V19 — UK/RHD Install Assist readability */
.assist-market-banner{margin:0 0 18px;padding:22px 24px;border-radius:22px;background:linear-gradient(145deg,rgba(89,217,223,.12),rgba(5,3,42,.94));border:1px solid rgba(89,217,223,.24);box-shadow:0 14px 38px rgba(0,0,0,.16)}
.assist-market-banner h3{margin:8px 0 8px;font-size:24px;letter-spacing:-.035em}.assist-market-banner p{margin:0;color:var(--muted);line-height:1.7;max-width:900px}.assist-market-pill{display:inline-flex;padding:7px 10px;border-radius:999px;background:var(--cyan);color:var(--navy);font-size:10px;font-weight:900;letter-spacing:.15em}
.stage-intro{margin:10px 0 0;color:var(--muted);max-width:820px;line-height:1.75}.assist-step-strip{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin:16px 0 20px}.assist-step-strip span{display:flex;align-items:center;gap:9px;min-height:52px;padding:11px 12px;border-radius:14px;background:#05032a;border:1px solid rgba(255,255,255,.08);font-size:11px;color:#dce0ef;line-height:1.35}.assist-step-strip b{width:24px;height:24px;display:grid;place-items:center;border-radius:50%;background:rgba(89,217,223,.12);color:var(--cyan);font-size:10px;flex:0 0 auto}
.assist-tabs{margin-top:18px;gap:8px;flex-wrap:wrap}.assist-tabs button{min-height:44px;padding:11px 15px}.assist-panel{padding-top:18px}.assist-section-title{display:grid;grid-template-columns:auto 1fr;gap:14px;align-items:start;margin:6px 0 14px;padding-bottom:12px;border-bottom:1px solid rgba(255,255,255,.08)}.assist-section-title>span{display:inline-flex;align-items:center;justify-content:center;min-width:86px;padding:8px 10px;border-radius:999px;background:rgba(89,217,223,.08);border:1px solid rgba(89,217,223,.2);color:var(--cyan);font-size:9px;font-weight:900;letter-spacing:.12em}.assist-section-title h3{margin:0 0 4px;font-size:22px;letter-spacing:-.03em}.assist-section-title p{margin:0;color:var(--muted);font-size:13px;line-height:1.6}.assist-grid{gap:12px}.assist-card{padding:18px!important;border-radius:18px!important}.assist-card small{color:var(--cyan);font-weight:800;letter-spacing:.08em;text-transform:uppercase}.assist-card h3{margin:7px 0 8px;font-size:18px}.assist-card p{margin:0;color:var(--muted);line-height:1.7;font-size:13px}.assist-reference{margin-top:18px}.assist-reference-head{gap:14px;align-items:center}.assist-source-note{display:grid;gap:4px;margin-top:14px;padding:13px 15px;border-radius:14px;background:rgba(89,217,223,.055);border:1px solid rgba(89,217,223,.14);font-size:11px;line-height:1.55;color:#adb2c8}.assist-source-note b{color:var(--cyan);font-size:10px;letter-spacing:.09em;text-transform:uppercase}.assist-save-row{margin-top:16px;display:flex;align-items:center;gap:14px;flex-wrap:wrap}
@media(max-width:980px){.assist-step-strip{grid-template-columns:repeat(2,1fr)}.assist-step-strip span:last-child{grid-column:1/-1}.assist-vehicle-head{grid-template-columns:1fr!important}.assist-confidence{justify-self:start!important;text-align:left!important}}
@media(max-width:620px){.assist-step-strip{grid-template-columns:1fr}.assist-step-strip span:last-child{grid-column:auto}.assist-market-banner{padding:18px}.assist-section-title{grid-template-columns:1fr;gap:8px}.assist-section-title>span{justify-self:start;min-width:0}.assist-tabs{display:grid!important;grid-template-columns:1fr 1fr}.assist-tabs button{width:100%;font-size:10px}.assist-reference-head{display:grid!important;grid-template-columns:1fr}.assist-reference-head .btn{justify-self:start}.assist-card{padding:15px!important}.stage-head{gap:12px}.stage-head h2{font-size:clamp(30px,9vw,44px)!important}.engineer-callout{padding:16px!important}}


/* V20 Install Assist detail pass */
.assist-access-card{grid-column:span 1;padding:24px}.assist-keyline{display:grid;grid-template-columns:145px 1fr;gap:16px;padding:14px 0;border-top:1px solid rgba(255,255,255,.08)}.assist-keyline:first-of-type{margin-top:16px}.assist-keyline b{font-size:11px;letter-spacing:.14em;color:var(--cyan)}.assist-keyline span{color:#eef2fb;line-height:1.6}.assist-power-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.assist-power-card{position:relative;padding-top:30px}.assist-mini-badge{position:absolute;top:18px;right:18px;padding:7px 10px;border-radius:999px;background:rgba(89,217,223,.10);border:1px solid rgba(89,217,223,.22);color:var(--cyan);font-size:10px;letter-spacing:.12em;text-transform:uppercase;font-weight:800}.assist-fuse-pick{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px 12px;margin:14px 0 12px;padding:14px 16px;border-radius:16px;background:rgba(89,217,223,.06);border:1px solid rgba(89,217,223,.14)}.assist-fuse-pick b{font-size:19px;color:#fff}.assist-fuse-pick span{font-size:12px;color:var(--cyan);text-transform:uppercase;letter-spacing:.1em}.assist-card p{line-height:1.72}.assist-card h3{line-height:1.14}.assist-section-title{margin-top:30px}.assist-section-title:first-child{margin-top:0}@media(max-width:900px){.assist-power-grid{grid-template-columns:1fr}.assist-keyline{grid-template-columns:1fr;gap:6px}.assist-mini-badge{position:static;display:inline-flex;margin-bottom:10px}}

/* V21 tracker modules + remote handover */
.install-module{margin:24px 0;padding:24px;border:1px solid rgba(89,217,223,.18);border-radius:26px;background:rgba(255,255,255,.025)}
.install-module-head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:20px}
.install-module-head h3{margin:4px 0 6px;font-size:26px}.install-module-head p{margin:0;color:var(--muted);line-height:1.7}
.module-badge{display:inline-flex;padding:8px 12px;border-radius:999px;background:rgba(89,217,223,.1);border:1px solid rgba(89,217,223,.22);color:var(--cyan);font-size:10px;font-weight:800;letter-spacing:.14em;white-space:nowrap}
.tracker-commission-card{margin-top:20px;padding:20px;border-radius:22px;border:1px solid rgba(255,255,255,.09);background:rgba(255,255,255,.025)}
.tracker-commission-card.managed{border-color:rgba(89,217,223,.24);background:rgba(89,217,223,.04)}
.tracker-commission-card h4{margin:4px 0 6px;font-size:22px}.tracker-commission-card p{color:var(--muted);line-height:1.7}
.heartbeat-result{display:flex;flex-direction:column;gap:5px;padding:16px 18px;border-radius:18px;background:#07052f;border:1px solid rgba(255,255,255,.09);margin:16px 0}.heartbeat-result b{color:#fff}.heartbeat-result span{color:var(--muted);font-size:13px}.heartbeat-result.testing{border-color:rgba(255,193,7,.4)}.heartbeat-result.pass{border-color:rgba(89,217,223,.45);background:rgba(89,217,223,.07)}.heartbeat-result.pass b{color:var(--cyan)}
.remote-handover-card{margin:24px 0;padding:24px;border-radius:26px;border:1px solid rgba(89,217,223,.18);background:linear-gradient(145deg,rgba(89,217,223,.05),rgba(255,255,255,.02))}
.remote-handover-card h3{margin:10px 0 8px;font-size:25px}.remote-handover-card>div>p{color:var(--muted);line-height:1.7}
.handover-methods{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:20px 0}
.handover-method{padding:18px;text-align:left;border-radius:18px;border:1px solid rgba(255,255,255,.09);background:#07052f;color:#fff;cursor:pointer}.handover-method b{display:block;margin-bottom:6px}.handover-method span{display:block;color:var(--muted);font-size:12px;line-height:1.5}.handover-method.active{border-color:var(--cyan);box-shadow:0 0 0 1px rgba(89,217,223,.25) inset}
.remote-handover-tools{padding-top:8px}.remote-status{padding:16px 18px;border-radius:18px;background:#07052f;border:1px solid rgba(255,255,255,.09);margin-bottom:14px}.remote-status b,.remote-status span{display:block}.remote-status span{color:var(--muted);font-size:12px;margin-top:5px}.remote-status.pending{border-color:rgba(255,193,7,.35)}.remote-status.signed{border-color:rgba(89,217,223,.45);background:rgba(89,217,223,.06)}.remote-status.signed b{color:var(--cyan)}
.remote-actions{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:14px}
.customer-handover-body{min-height:100vh;background:linear-gradient(180deg,#05032a,#08053a);color:#fff;font-family:Montserrat,Arial,sans-serif;padding:24px}
.customer-handover-shell{width:min(900px,100%);margin:0 auto}.customer-handover-brand{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:12px 0 24px;border-bottom:1px solid rgba(255,255,255,.08);margin-bottom:26px}.customer-handover-brand img{width:220px}.customer-handover-brand span{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--cyan)}
.handover-public-hero{margin-bottom:22px}.handover-public-hero h1{font-size:clamp(40px,6vw,72px);line-height:.96;margin:8px 0 16px;letter-spacing:-.05em;font-weight:300}.handover-public-hero strong{font-weight:800}.handover-public-hero>p:last-child{color:var(--muted);line-height:1.7}
.handover-public-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px}.handover-public-card{padding:22px;border-radius:24px;background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.09)}.handover-public-card.full{grid-column:1/-1}.handover-public-card small{color:var(--cyan);font-size:10px;letter-spacing:.13em;text-transform:uppercase}.handover-public-card h3{font-size:23px;margin:8px 0}.handover-public-card h2{font-size:30px;margin:0 0 18px}.handover-public-card p{color:var(--muted);line-height:1.7}
.public-install-line{display:flex;justify-content:space-between;gap:16px;padding:10px 0;border-bottom:1px solid rgba(255,255,255,.07)}.public-install-line:last-child{border-bottom:0}.public-install-line span{color:var(--muted)}
.handover-terms{font-size:13px;margin:18px 0}.public-submit{width:100%;justify-content:center;margin-top:18px}.handover-success{text-align:center;padding:50px 24px}
@media(max-width:700px){.handover-methods,.handover-public-grid{grid-template-columns:1fr}.handover-public-card.full{grid-column:auto}.install-module-head{flex-direction:column}.customer-handover-brand{align-items:flex-start;flex-direction:column}.customer-handover-brand img{width:190px}}

/* V22 clearer customer handover flow */
.handover-method-first{margin-top:0}
.handover-subhead{margin:28px 0 16px;padding-top:6px}
.handover-subhead h3{margin:10px 0 0;font-size:25px}
.remote-waiting-note{display:flex;flex-direction:column;gap:5px;padding:15px 17px;border-radius:17px;background:rgba(255,193,7,.06);border:1px solid rgba(255,193,7,.2);margin:14px 0}
.remote-waiting-note b{color:#fff}.remote-waiting-note span{color:var(--muted);font-size:12px;line-height:1.55}
.remote-signed-summary{margin:22px 0;padding:22px;border-radius:22px;background:rgba(89,217,223,.07);border:1px solid rgba(89,217,223,.3)}
.remote-signed-summary h3{margin:10px 0 7px;color:#fff;font-size:24px}.remote-signed-summary p{margin:0;color:var(--muted);line-height:1.7}
#handoverContinueButton:disabled{opacity:.48;cursor:not-allowed;filter:saturate(.5)}
#onDeviceHandoverContent[hidden],#remoteSignedSummary[hidden],#remoteHandoverTools[hidden]{display:none!important}
.public-declaration{margin:18px 0}

/* V23 warranty centre */
.job-warranty-meta{color:#59d9df!important;font-weight:700}
.warranty-admin-results{display:grid;gap:14px;margin-top:18px}
.warranty-admin-card{padding:20px;border:1px solid rgba(255,255,255,.09);border-radius:22px;background:rgba(255,255,255,.025)}
.warranty-card-head{display:flex;justify-content:space-between;gap:18px;margin-bottom:14px}.warranty-card-head h3{font-size:24px;margin:5px 0}.warranty-card-head p{margin:0;color:var(--muted)}
.warranty-line,.portal-warranty-line{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:13px 0;border-top:1px solid rgba(255,255,255,.07)}
.warranty-line b,.warranty-line small,.portal-warranty-line b,.portal-warranty-line small{display:block}.warranty-line small,.portal-warranty-line small{margin-top:4px;color:var(--muted);font-size:12px}
.warranty-pill{display:inline-flex;align-items:center;padding:8px 11px;border-radius:999px;font-size:10px;font-weight:800;letter-spacing:.08em;white-space:nowrap;border:1px solid rgba(255,255,255,.12)}
.warranty-pill.active{color:#59d9df;background:rgba(89,217,223,.08);border-color:rgba(89,217,223,.28)}.warranty-pill.expired{color:#ffb5b5;background:rgba(255,100,100,.07);border-color:rgba(255,100,100,.2)}
.portal-welcome{background:linear-gradient(145deg,rgba(89,217,223,.07),rgba(255,255,255,.025))}
.portal-install-head h3{margin:10px 0 6px}.portal-warranty-group{margin-top:18px;padding-top:8px}.portal-warranty-group h4{font-size:17px;margin:0 0 5px}.status-pill.expired{color:#ffb5b5;border-color:rgba(255,100,100,.2)}
@media(max-width:700px){.warranty-line,.portal-warranty-line{align-items:flex-start;flex-direction:column;gap:8px}.warranty-pill{white-space:normal}.warranty-card-head{flex-direction:column}}

/* V24 electrical evidence + call-out centre */
.engineer-upload-grid.three-col{grid-template-columns:repeat(3,minmax(0,1fr))}
.earth-test-row{display:grid;grid-template-columns:1.2fr .8fr;gap:14px;margin-top:16px;align-items:stretch}.engineer-upload.compact{min-height:0}
.admin-callout-note{margin-top:18px;padding:18px;border-radius:18px;background:rgba(89,217,223,.05);border:1px solid rgba(89,217,223,.18)}.admin-callout-note b{color:var(--cyan)}.admin-callout-note p{margin:7px 0 0;color:var(--muted);line-height:1.7}
.engineer-search-row{display:flex;gap:10px}.engineer-search-row input{flex:1}
.callout-job-results{display:grid;gap:10px;margin-top:16px}.callout-result{display:flex;justify-content:space-between;align-items:center;gap:20px;width:100%;padding:17px 20px;text-align:left;border-radius:18px;border:1px solid rgba(255,255,255,.08);background:#090640;color:#fff;cursor:pointer}.callout-result span>*{display:block}.callout-result small{color:var(--cyan);font-style:normal}.callout-result b{font-size:19px;margin:4px 0}.callout-result em{font-style:normal;color:var(--muted)}.callout-result strong{font-size:12px;color:var(--muted)}
.original-electrical-card{margin-top:18px;padding:22px;border-radius:22px;background:rgba(89,217,223,.045);border:1px solid rgba(89,217,223,.18)}.original-electrical-card h3{margin:0 0 16px}.original-electrical-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.original-electrical-grid div{padding:14px;border-radius:15px;background:rgba(0,0,0,.13)}.original-electrical-grid small,.original-electrical-grid b{display:block}.original-electrical-grid small{color:var(--muted);margin-bottom:6px}
.diagnostic-guide{margin-top:20px;padding:20px;border:1px solid rgba(89,217,223,.18);border-radius:22px;background:rgba(89,217,223,.035)}.diagnostic-guide-head{display:flex;justify-content:space-between;gap:15px;margin-bottom:10px}.diagnostic-guide-head b{color:var(--cyan)}.diagnostic-guide-head span{font-size:12px;color:var(--muted)}.diagnostic-check{display:flex;gap:12px;padding:14px 0;border-top:1px solid rgba(255,255,255,.07)}.diagnostic-check span b,.diagnostic-check span small{display:block}.diagnostic-check span small{color:var(--muted);margin-top:4px;line-height:1.5}
.callout-charge-card{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:16px}.callout-charge-card>div{padding:18px;border-radius:18px;background:rgba(255,255,255,.025);border:1px solid rgba(255,255,255,.08)}.callout-charge-card small,.callout-charge-card b,.callout-charge-card span{display:block}.callout-charge-card b{font-size:28px;margin:5px 0;color:var(--cyan)}.callout-charge-card span{font-size:12px;color:var(--muted)}
@media(max-width:800px){.engineer-upload-grid.three-col,.original-electrical-grid,.callout-charge-card,.earth-test-row{grid-template-columns:1fr}.callout-result,.diagnostic-guide-head{align-items:flex-start;flex-direction:column}}

/* V25 support workflow */
.support-charge-notice,.phone-script-opening{padding:17px 19px;border-radius:18px;background:rgba(89,217,223,.055);border:1px solid rgba(89,217,223,.2);margin:18px 0}.support-charge-notice b,.phone-script-opening b{color:var(--cyan)}.support-charge-notice p,.phone-script-opening p{margin:7px 0 0;color:var(--muted);line-height:1.65}
.handover-success-inline{margin-top:18px;padding:20px;border-radius:20px;border:1px solid rgba(89,217,223,.3);background:rgba(89,217,223,.07)}.handover-success-inline b,.handover-success-inline span{display:block}.handover-success-inline span{color:var(--cyan);margin-top:5px}.handover-success-inline p{margin-bottom:0}
.support-workspace{margin-top:30px}.support-case-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.support-case-card,.support-step-card{padding:22px;border-radius:22px;background:rgba(255,255,255,.025);border:1px solid rgba(255,255,255,.09)}.support-case-card small{color:var(--cyan);letter-spacing:.12em;text-transform:uppercase}.support-case-card h3{margin:8px 0}.support-case-card p{color:var(--muted);line-height:1.6}.support-step-card{margin-top:16px}.support-step-card h3{font-size:25px;margin:10px 0}.support-timeline{margin:18px 0}.timeline-row{display:grid;grid-template-columns:190px 1fr;gap:16px;padding:12px 0;border-top:1px solid rgba(255,255,255,.07)}.timeline-row b{font-size:12px;color:var(--cyan)}.timeline-row span{color:var(--muted)}
.portal-support-case{padding:16px 0;border-top:1px solid rgba(255,255,255,.08)}.portal-support-case h4{font-size:20px;margin:5px 0}.portal-support-case p{color:var(--muted)}.portal-callout-date{padding:12px 14px;border-radius:14px;background:rgba(89,217,223,.06);margin:10px 0}.portal-callout-date b,.portal-callout-date span{display:block}.portal-callout-date span{font-size:12px;color:var(--muted);margin-top:4px}.portal-note-add{display:grid;grid-template-columns:1fr auto;gap:10px;margin-top:12px}.portal-note-add textarea{min-height:70px}.portal-note-thread p{padding:10px 0;margin:0;border-top:1px solid rgba(255,255,255,.06)}.portal-note-thread b,.portal-note-thread span{display:block}.portal-note-thread span{color:var(--muted);margin-top:4px}.engineer-callout-queue{margin-top:34px}.callout-card{border-color:rgba(255,193,7,.2)}
@media(max-width:760px){.support-case-grid{grid-template-columns:1fr}.timeline-row{grid-template-columns:1fr}.portal-note-add{grid-template-columns:1fr}}

/* V27 support requests visible in Road Guard Automotive Control */
.admin-dashboard-support{margin:22px 0 28px;padding:24px;border:1px solid rgba(89,217,223,.18);border-radius:26px;background:linear-gradient(145deg,rgba(89,217,223,.05),rgba(255,255,255,.02))}
.support-admin-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:16px 0}.support-admin-stats>div{padding:15px 17px;border-radius:17px;background:#07052f;border:1px solid rgba(255,255,255,.08)}.support-admin-stats small,.support-admin-stats b{display:block}.support-admin-stats small{color:var(--muted);font-size:11px}.support-admin-stats b{font-size:28px;color:var(--cyan);margin-top:5px}
.support-admin-queue{display:grid;gap:12px;margin-top:16px}.support-admin-card{display:grid;grid-template-columns:1fr auto;gap:20px;align-items:center;padding:19px;border-radius:20px;background:#090640;border:1px solid rgba(255,255,255,.08)}.support-admin-card.reported{border-color:rgba(89,217,223,.28);box-shadow:0 0 0 1px rgba(89,217,223,.04) inset}.support-admin-card.scheduled{border-color:rgba(255,193,7,.25)}.support-admin-badges{display:flex;align-items:center;gap:9px;margin-bottom:8px}.support-admin-badges span{padding:6px 9px;border-radius:999px;background:rgba(89,217,223,.09);color:var(--cyan);font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.support-admin-badges small{color:var(--muted)}.support-admin-card h3{margin:0 0 6px;font-size:22px}.support-admin-card p{margin:4px 0;color:var(--muted)}.support-admin-card p strong{color:#fff}.support-admin-desc{max-width:760px;line-height:1.55}.support-admin-card-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.support-admin-scheduled{margin-top:10px;padding:10px 12px;border-radius:13px;background:rgba(255,193,7,.06);border:1px solid rgba(255,193,7,.15)}.support-admin-scheduled b,.support-admin-scheduled span{display:block}.support-admin-scheduled span{font-size:11px;color:var(--muted);margin-top:3px}
#scMeta a{color:var(--cyan);text-decoration:none}
@media(max-width:850px){.support-admin-card{grid-template-columns:1fr}.support-admin-card-actions{justify-content:flex-start}.support-admin-stats{grid-template-columns:1fr 1fr 1fr}}
@media(max-width:560px){.support-admin-stats{grid-template-columns:1fr}}

/* V28 spacing / Support Centre / Customer Portal audit */
.support-workspace{display:grid;gap:18px;margin-top:32px}
.support-case-grid{gap:16px}
.support-step-card{margin-top:0;padding:26px}
.support-step-card .form-grid{margin-top:18px;row-gap:18px}
.support-step-card .field{margin:0}
.support-travel-preview{margin:20px 0 0!important;padding:18px 20px!important;line-height:1.65}
.support-schedule-actions{display:flex;justify-content:flex-start;margin-top:18px;padding-top:4px}
.support-schedule-actions .btn{min-width:190px;justify-content:center}
.support-schedule-status{margin-top:18px;padding:22px;border-radius:20px;background:rgba(89,217,223,.07);border:1px solid rgba(89,217,223,.28)}
.support-schedule-status h3{margin:10px 0 8px}.support-schedule-status p{color:var(--muted);line-height:1.65}
.support-install-overview{padding:24px;border-radius:22px;background:rgba(255,255,255,.025);border:1px solid rgba(89,217,223,.15)}
.support-overview-head{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:18px}.support-overview-head h3{margin:10px 0 0;font-size:25px}
.support-overview-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.support-overview-item{padding:14px 15px;border-radius:15px;background:#07052f;border:1px solid rgba(255,255,255,.07)}.support-overview-item small,.support-overview-item b{display:block}.support-overview-item small{color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.08em;margin-bottom:5px}.support-overview-item b{line-height:1.45;overflow-wrap:anywhere}
.support-evidence-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:12px}.support-evidence-chip{padding:11px 12px;border-radius:13px;background:rgba(255,255,255,.025);border:1px solid rgba(255,255,255,.06)}.support-evidence-chip b,.support-evidence-chip span{display:block}.support-evidence-chip b{font-size:11px}.support-evidence-chip span{font-size:10px;color:var(--muted);margin-top:3px}.support-evidence-chip.has{border-color:rgba(89,217,223,.25)}
.portal-grid{grid-template-columns:270px minmax(0,1fr);align-items:start}
.portal-sidebar{position:sticky;top:110px;padding:20px}
.portal-account-head{padding-bottom:16px;border-bottom:1px solid rgba(255,255,255,.08);margin-bottom:12px}.portal-account-head h3{margin:9px 0 5px;font-size:20px}.portal-account-head p{margin:0;color:var(--muted);font-size:12px}
.portal-account-nav{display:grid;gap:6px}.portal-account-nav button,.portal-logout{width:100%;border:0;border-radius:12px;padding:11px 12px;text-align:left;background:transparent;color:#aeb2c7;cursor:pointer}.portal-account-nav button:hover,.portal-account-nav button.active{background:rgba(89,217,223,.08);color:var(--cyan)}.portal-logout{margin-top:16px;border:1px solid rgba(255,255,255,.09);color:#fff}.portal-logout:hover{border-color:rgba(89,217,223,.3)}
.portal-tab{display:none}.portal-tab.active{display:grid;gap:16px}
.portal-overview-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:18px}.portal-overview-stats>div{padding:15px;border-radius:16px;background:#07052f;border:1px solid rgba(255,255,255,.07)}.portal-overview-stats b,.portal-overview-stats span{display:block}.portal-overview-stats b{font-size:27px;color:var(--cyan)}.portal-overview-stats span{font-size:11px;color:var(--muted);margin-top:3px}
.portal-list-card,.portal-install-card,.portal-support-case-card,.portal-warranty-job{padding:17px 0;border-top:1px solid rgba(255,255,255,.08)}.portal-list-card:first-child,.portal-install-card:first-child,.portal-support-case-card:first-child,.portal-warranty-job:first-child{border-top:0}.portal-list-card b,.portal-list-card span{display:block}.portal-list-card span{color:var(--muted);margin-top:4px}
.portal-install-card{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}.portal-install-card h4{margin:8px 0 4px;font-size:20px}.portal-install-card p{margin:0;color:var(--muted)}
.portal-section-head,.portal-support-top{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.portal-section-head h3{margin:8px 0 0}
.portal-support-case-card h4{margin:5px 0;font-size:19px}.portal-support-case-card p{margin:5px 0;color:var(--muted);line-height:1.55}.portal-open-case{border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.04);color:#fff;border-radius:999px;padding:10px 14px;cursor:pointer}
.portal-support-detail{margin-top:14px;padding:16px;border-radius:17px;background:#07052f;border:1px solid rgba(255,255,255,.07)}
.portal-stage-track{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-bottom:16px}.portal-stage-track span{padding:8px 7px;border-radius:10px;text-align:center;font-size:9px;text-transform:uppercase;letter-spacing:.07em;color:#777d96;background:rgba(255,255,255,.025)}.portal-stage-track span.done{color:var(--cyan);background:rgba(89,217,223,.07)}.portal-stage-track span.active{box-shadow:0 0 0 1px rgba(89,217,223,.25) inset}
.portal-note-add{grid-template-columns:1fr auto;gap:10px;align-items:end}.portal-note-add textarea{min-height:82px!important;background:#05032a!important;color:#fff!important;border:1px solid rgba(89,217,223,.18)!important;border-radius:15px!important;padding:13px 14px!important}.portal-note-add button{height:44px;border:0;border-radius:999px;padding:0 16px;background:var(--cyan);color:var(--navy);font-weight:800;cursor:pointer}
.portal-profile-form{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-top:18px}.portal-profile-form .field.full{grid-column:1/-1}.portal-pref-check{display:flex;gap:10px;align-items:flex-start;padding:14px;border-radius:14px;background:#07052f;border:1px solid rgba(255,255,255,.07)}
.portal-doc-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:18px}.portal-doc-grid div{padding:15px;border-radius:14px;background:#07052f;border:1px solid rgba(255,255,255,.07)}
.admin-dashboard-support{grid-column:auto!important}
.admin-shell>.admin-dashboard-support{display:none!important}
.admin-main .admin-dashboard-support{display:block!important;margin:20px 0}
.admin-main{min-width:0}
.admin-nav{overflow-y:auto;max-height:calc(100vh - 90px);padding-right:4px}
.admin-sidebar{overflow:hidden}
.form-grid{row-gap:16px}
.field label{margin-bottom:7px}
.field input,.field select,.field textarea{margin:0}
@media(max-width:980px){.support-overview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.support-evidence-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.portal-grid{grid-template-columns:1fr}.portal-sidebar{position:static}.portal-account-nav{grid-template-columns:repeat(3,1fr)}.portal-logout{margin-top:10px}}
@media(max-width:680px){.support-overview-grid,.support-evidence-strip,.portal-overview-stats,.portal-profile-form,.portal-doc-grid{grid-template-columns:1fr}.support-overview-head,.portal-install-card,.portal-section-head,.portal-support-top{flex-direction:column}.portal-account-nav{grid-template-columns:1fr 1fr}.portal-stage-track{grid-template-columns:1fr 1fr}.portal-note-add{grid-template-columns:1fr}.portal-note-add button{width:100%}}

/* V29 scheduled call-outs / live search / GPS attendance */
.live-search-row{display:block}
.live-search-row input,#calloutJobSearch{width:100%!important;background:#05032a!important;color:#fff!important;border:1px solid rgba(89,217,223,.2)!important;border-radius:16px!important;padding:15px 16px!important;outline:none!important;box-shadow:none!important}
.live-search-row input:focus,#calloutJobSearch:focus{border-color:rgba(89,217,223,.55)!important;box-shadow:0 0 0 3px rgba(89,217,223,.08)!important}
.callout-job-results{margin-top:14px}
.callout-result{transition:border-color .18s ease,transform .18s ease,background .18s ease}.callout-result:hover{border-color:rgba(89,217,223,.3);transform:translateY(-1px);background:#0b0848}
.engineer-location-strip,.callout-attendance{margin:16px 0 22px;padding:18px 20px;border-radius:20px;background:rgba(89,217,223,.055);border:1px solid rgba(89,217,223,.2)}
.engineer-location-strip{display:flex;align-items:center;justify-content:space-between;gap:20px}.engineer-location-strip small,.engineer-location-strip b,.engineer-location-strip span{display:block}.engineer-location-strip small{color:var(--cyan);font-size:10px;letter-spacing:.1em;text-transform:uppercase}.engineer-location-strip b{font-size:20px;margin:4px 0}.engineer-location-strip span{color:var(--muted);font-size:12px}.engineer-location-actions{display:flex;gap:9px;flex-wrap:wrap}
.callout-attendance-grid{display:grid;grid-template-columns:1fr 1fr auto;gap:18px;align-items:center}.callout-attendance-grid small,.callout-attendance-grid b,.callout-attendance-grid span{display:block}.callout-attendance-grid small{color:var(--cyan);font-size:10px;text-transform:uppercase;letter-spacing:.09em}.callout-attendance-grid b{font-size:18px;margin:4px 0}.callout-attendance-grid span{font-size:12px;color:var(--muted)}.callout-attendance-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.support-scheduled-summary{margin-top:12px;padding:13px 15px;border-radius:15px;background:rgba(255,193,7,.06);border:1px solid rgba(255,193,7,.18)}.support-scheduled-summary b,.support-scheduled-summary span,.support-scheduled-summary small{display:block}.support-scheduled-summary span{margin-top:4px}.support-scheduled-summary small{color:var(--muted);margin-top:3px}
.engineer-callout-queue{padding-top:6px}
.engineer-callout-queue .engineer-job-card{margin-top:10px}
@media(max-width:860px){.engineer-location-strip,.callout-attendance-grid{grid-template-columns:1fr;display:grid}.engineer-location-actions,.callout-attendance-actions{justify-content:flex-start}}

/* V30 automatic call-out billing */
.callout-charge-card{grid-template-columns:repeat(2,minmax(0,1fr))}
.callout-charge-card .charge-waived{border-color:rgba(89,217,223,.35);background:rgba(89,217,223,.07)}
.callout-charge-card .charge-waived b{color:#59d9df}
.portal-billing-summary{margin:10px 0;padding:13px 14px;border-radius:14px;background:rgba(89,217,223,.06);border:1px solid rgba(89,217,223,.18)}
.portal-billing-summary small,.portal-billing-summary b,.portal-billing-summary span{display:block}.portal-billing-summary small{font-size:10px;color:var(--cyan);text-transform:uppercase;letter-spacing:.08em}.portal-billing-summary b{font-size:18px;margin:4px 0}.portal-billing-summary span{font-size:11px;color:var(--muted);line-height:1.5}
@media(max-width:700px){.callout-charge-card{grid-template-columns:1fr}}

/* V31 guided call-out + guided phone triage */
.callout-sticky-bar{position:sticky;top:74px;z-index:40;display:grid;grid-template-columns:1.25fr 1fr 1fr auto;gap:12px;align-items:center;margin:18px 0 24px;padding:14px 16px;border-radius:18px;background:rgba(5,3,42,.96);border:1px solid rgba(89,217,223,.22);backdrop-filter:blur(16px);box-shadow:0 18px 55px rgba(0,0,0,.22)}
.callout-sticky-bar small,.callout-sticky-bar b,.callout-sticky-bar span{display:block}.callout-sticky-bar small{font-size:9px;text-transform:uppercase;letter-spacing:.09em;color:var(--muted)}.callout-sticky-bar b{font-size:17px;margin-top:3px}.callout-sticky-bar span{font-size:10px;color:var(--muted);margin-top:2px}
.callout-progress{height:7px;margin-top:7px;border-radius:99px;background:rgba(255,255,255,.08);overflow:hidden}.callout-progress i{display:block;height:100%;width:0;background:var(--cyan);border-radius:99px;transition:width .25s ease}
#coQuickWaive.active{background:rgba(89,217,223,.13);border-color:var(--cyan);color:var(--cyan)}
.callout-step{scroll-margin-top:165px;padding:24px;border-radius:24px;background:rgba(255,255,255,.025);border:1px solid rgba(255,255,255,.08);margin-bottom:22px}.callout-step[hidden]{display:none!important}
.callout-arrival-card{display:grid;grid-template-columns:1fr 1fr auto;gap:18px;align-items:center;padding:20px;border-radius:20px;background:#07052f;border:1px solid rgba(89,217,223,.15)}.callout-arrival-card small,.callout-arrival-card b,.callout-arrival-card span{display:block}.callout-arrival-card small{font-size:10px;color:var(--cyan);text-transform:uppercase}.callout-arrival-card b{font-size:19px;margin:5px 0}.callout-arrival-card span{font-size:12px;color:var(--muted)}.callout-arrival-actions{display:flex;gap:8px;flex-wrap:wrap}
.callout-step-note{margin-top:14px;padding:14px 16px;border-radius:15px;background:rgba(89,217,223,.04);border:1px solid rgba(89,217,223,.12)}.callout-step-note b{color:var(--cyan)}.callout-step-note p{margin:6px 0 0;color:var(--muted);line-height:1.6}
.callout-reported-card{margin-top:14px;padding:18px;border-radius:18px;background:rgba(255,193,7,.045);border:1px solid rgba(255,193,7,.16)}.callout-reported-card h3{margin:9px 0}.callout-reported-card p{color:var(--muted);line-height:1.6}
.diagnostic-focus-card,.triage-focus-card{padding:22px;border-radius:22px;background:#07052f;border:1px solid rgba(89,217,223,.18)}
.diagnostic-focus-head h3,.triage-focus-card h3{font-size:25px;margin:10px 0 7px;line-height:1.2}.diagnostic-focus-head p,.triage-focus-card p{color:var(--muted);line-height:1.65}
.diagnostic-response-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:18px 0}.diag-answer{padding:15px 16px;border-radius:15px;border:1px solid rgba(255,255,255,.09);background:rgba(255,255,255,.03);color:#fff;text-align:left;cursor:pointer}.diag-answer:hover,.diag-answer.selected{border-color:var(--cyan);background:rgba(89,217,223,.08);color:var(--cyan)}
.diagnostic-next-row{display:flex;justify-content:flex-end;margin-top:16px}.diagnostic-history,.triage-summary{margin-top:18px;padding:18px;border-radius:18px;background:rgba(255,255,255,.02);border:1px solid rgba(255,255,255,.07)}.diagnostic-history h4,.triage-summary h4{margin:0 0 10px}
.diag-history-row{display:grid;grid-template-columns:30px 1fr;gap:10px;padding:10px 0;border-top:1px solid rgba(255,255,255,.06)}.diag-history-row:first-child{border-top:0}.diag-history-row>span{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:rgba(89,217,223,.08);color:var(--cyan);font-size:11px}.diag-history-row b,.diag-history-row small{display:block}.diag-history-row small{margin-top:3px;color:var(--muted)}
.callout-final-actions{display:flex;justify-content:space-between;gap:10px;margin-top:20px}
.triage-progress{height:7px;border-radius:99px;background:rgba(255,255,255,.08);overflow:hidden;margin:14px 0 18px}.triage-progress i{display:block;height:100%;width:0;background:var(--cyan);transition:width .25s ease}
.triage-outcome-block{margin-top:18px;padding-top:18px;border-top:1px solid rgba(255,255,255,.08)}
.support-triage-wizard{padding:26px}
@media(max-width:900px){.callout-sticky-bar{grid-template-columns:1fr 1fr}.callout-arrival-card{grid-template-columns:1fr}.diagnostic-response-options{grid-template-columns:1fr}}
@media(max-width:600px){.callout-sticky-bar{top:64px;grid-template-columns:1fr}.callout-final-actions{flex-direction:column}.callout-final-actions .btn{width:100%}}

/* V32 simplified operations + adaptive triage */
.admin-nav-link{display:block;padding:10px 12px;border-radius:10px;color:#b9bed0;text-decoration:none;font-size:13px}
.admin-nav-link:hover{background:rgba(89,217,223,.08);color:var(--cyan)}
.preview-button,.admin-section-head .preview-button{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-height:42px!important;line-height:1.15!important;padding:0 16px!important}
.operations-list{display:grid;gap:12px;margin-top:18px}
.operation-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;padding:18px;border-radius:20px;background:#090640;border:1px solid rgba(255,255,255,.08)}
.operation-main h3{font-size:21px;margin:7px 0}.operation-main p{margin:5px 0;color:var(--muted)}
.operation-actions{display:flex;gap:7px;flex-wrap:wrap;align-content:center;justify-content:flex-end}
.operation-actions button,.support-admin-card-actions button{border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.04);color:#fff;border-radius:999px;padding:9px 12px;cursor:pointer}
.operation-actions button:hover,.support-admin-card-actions button:hover{border-color:var(--cyan)}
.operation-actions button.danger,.support-admin-card-actions button.danger{color:#ffb8b8}
.operation-proposal,.portal-change-request{margin-top:10px;padding:12px 14px;border-radius:14px;background:rgba(255,193,7,.055);border:1px solid rgba(255,193,7,.18)}
.operation-proposal b,.operation-proposal span,.operation-proposal small,.portal-change-request b,.portal-change-request span{display:block}
.operation-proposal span,.operation-proposal small,.portal-change-request p{color:var(--muted);margin-top:4px}
.support-step-heading{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}
.support-step-heading h3{margin:10px 0 6px}.support-step-heading p{margin:0;color:var(--muted);line-height:1.65}
.triage-no-answer-shortcut{display:flex;justify-content:space-between;gap:14px;align-items:center;margin:14px 0;padding:13px 15px;border-radius:15px;background:rgba(255,255,255,.025);border:1px solid rgba(255,255,255,.07)}
.triage-no-answer-shortcut span{color:var(--muted)}
.triage-question-head{display:flex;justify-content:space-between;gap:10px;align-items:center}
.triage-question-head small{color:var(--cyan);text-transform:uppercase;letter-spacing:.08em}
.triage-question-head span{padding:5px 8px;border-radius:999px;background:rgba(89,217,223,.07);color:var(--muted);font-size:10px}
.triage-say{margin:14px 0;padding:13px 15px;border-radius:14px;background:rgba(89,217,223,.05);border:1px solid rgba(89,217,223,.15)}
.triage-say b{color:var(--cyan)}.triage-say p{margin:5px 0 0!important}
.triage-question-actions{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap;margin-top:16px}
.triage-finish-link{display:block;margin:12px auto 0;border:0;background:none;color:var(--muted);text-decoration:underline;cursor:pointer}
.support-retry-block,.support-resolution-block{margin-top:18px;padding:20px;border-radius:20px;background:rgba(89,217,223,.04);border:1px solid rgba(89,217,223,.16)}
.support-retry-block h3,.support-resolution-block h3{margin:10px 0 7px}.support-retry-block>p,.support-resolution-block>p{color:var(--muted);line-height:1.6}
#scScheduleWrap[hidden],#scResolvedBlock[hidden],#scMonitorBlock[hidden],#scRetryBlock[hidden],#triageOutcomeBlock[hidden]{display:none!important}
.portal-change-request .admin-actions{margin-top:10px}
.portal-change-request button{border:0;border-radius:999px;padding:10px 14px;background:var(--cyan);color:var(--navy);font-weight:800;cursor:pointer}
@media(max-width:800px){.operation-card{grid-template-columns:1fr}.operation-actions{justify-content:flex-start}.support-step-heading{flex-direction:column}}

/* V33 adaptive decision-tree triage */
.triage-interpretation{margin:12px 0 4px;padding:13px 15px;border-radius:14px;background:rgba(255,193,7,.055);border:1px solid rgba(255,193,7,.16)}
.triage-interpretation b{display:block;color:#ffd36a;font-size:11px;text-transform:uppercase;letter-spacing:.08em}
.triage-interpretation p{margin:5px 0 0!important;color:#d8d9e3!important;line-height:1.55}

/* V34 deep support decision expansion */
.triage-interpretation{margin:12px 0 4px;padding:13px 15px;border-radius:14px;background:rgba(255,193,7,.055);border:1px solid rgba(255,193,7,.16)}

/* V35 customer portal completion */
.customer-portal-body{background:#05032a}
.portal-account-nav button{display:flex;align-items:center;justify-content:space-between;gap:8px}
.portal-account-nav button span{min-width:20px;height:20px;padding:0 6px;border-radius:99px;display:grid;place-items:center;background:rgba(89,217,223,.08);color:var(--cyan);font-size:10px}
.portal-stat-button{border:1px solid rgba(255,255,255,.07);background:#07052f;color:#fff;border-radius:16px;padding:15px;text-align:left;cursor:pointer}
.portal-stat-button:hover{border-color:rgba(89,217,223,.3)}.portal-stat-button b,.portal-stat-button span{display:block}.portal-stat-button b{font-size:27px;color:var(--cyan)}.portal-stat-button span{font-size:11px;color:var(--muted);margin-top:3px}
.portal-record-card{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:17px 0;border-top:1px solid rgba(255,255,255,.08)}
.portal-record-card:first-child{border-top:0}.portal-record-card small,.portal-record-card h4,.portal-record-card p{display:block}.portal-record-card h4{font-size:19px;margin:5px 0}.portal-record-card p{margin:0;color:var(--muted);line-height:1.5}
.portal-record-card>button,.portal-warranty-title>button{flex:0 0 auto;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.04);color:#fff;border-radius:999px;padding:10px 14px;cursor:pointer}.portal-record-card>button:hover,.portal-warranty-title>button:hover{border-color:var(--cyan);color:var(--cyan)}
.portal-attention{border-color:rgba(255,193,7,.2)}.portal-attention-item{display:grid;grid-template-columns:1fr auto;gap:4px 12px;padding:14px 0;border-top:1px solid rgba(255,255,255,.07)}.portal-attention-item:first-of-type{margin-top:10px}.portal-attention-item b,.portal-attention-item span{display:block}.portal-attention-item span{color:var(--muted);font-size:12px}.portal-attention-item button{grid-column:2;grid-row:1/3;align-self:center;border:0;border-radius:999px;padding:9px 13px;background:var(--cyan);color:var(--navy);font-weight:800;cursor:pointer}
.portal-detail-drawer{position:fixed;inset:0;z-index:9999;pointer-events:none;visibility:hidden}.portal-detail-drawer.open{pointer-events:auto;visibility:visible}.portal-detail-backdrop{position:absolute;inset:0;border:0;background:rgba(0,0,0,.62);opacity:0;transition:.22s}.portal-detail-drawer.open .portal-detail-backdrop{opacity:1}.portal-detail-panel{position:absolute;right:0;top:0;height:100%;width:min(720px,94vw);background:#05032a;border-left:1px solid rgba(89,217,223,.18);box-shadow:-25px 0 80px rgba(0,0,0,.4);transform:translateX(100%);transition:.25s;overflow:auto}.portal-detail-drawer.open .portal-detail-panel{transform:translateX(0)}.portal-drawer-open{overflow:hidden}
.portal-detail-head{position:sticky;top:0;z-index:5;display:flex;justify-content:space-between;gap:20px;padding:24px;background:rgba(5,3,42,.96);backdrop-filter:blur(18px);border-bottom:1px solid rgba(255,255,255,.08)}.portal-detail-head small{color:var(--cyan);text-transform:uppercase;letter-spacing:.1em}.portal-detail-head h2{margin:7px 0 5px;font-size:30px}.portal-detail-head p{margin:0;color:var(--muted)}.portal-detail-close{width:42px;height:42px;border-radius:50%;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.04);color:#fff;font-size:24px;cursor:pointer}
.portal-detail-body{padding:24px}.portal-detail-section{padding:0 0 22px;margin-bottom:22px;border-bottom:1px solid rgba(255,255,255,.08)}.portal-detail-section:last-child{border-bottom:0}.portal-detail-section h3{font-size:18px;margin:0 0 14px}.portal-kv-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.portal-kv{padding:12px 13px;border-radius:13px;background:#090640;border:1px solid rgba(255,255,255,.06)}.portal-kv small,.portal-kv b{display:block}.portal-kv small{font-size:9px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.portal-kv b{margin-top:4px;line-height:1.4;overflow-wrap:anywhere}
.portal-chip-list{display:flex;gap:7px;flex-wrap:wrap}.portal-chip-list span{padding:7px 10px;border-radius:999px;background:rgba(89,217,223,.07);border:1px solid rgba(89,217,223,.14);color:var(--cyan);font-size:11px}
.portal-linked-record{display:block;width:100%;padding:12px 13px;margin-top:8px;text-align:left;border-radius:14px;border:1px solid rgba(255,255,255,.07);background:#090640;color:#fff;cursor:pointer}.portal-linked-record b,.portal-linked-record span,.portal-linked-record small{display:block}.portal-linked-record span,.portal-linked-record small{color:var(--muted);margin-top:3px}
.portal-visit-detail,.portal-equipment-record,.portal-media-record{padding:12px 0;border-top:1px solid rgba(255,255,255,.06)}.portal-visit-detail b,.portal-visit-detail span,.portal-equipment-record b,.portal-equipment-record span,.portal-equipment-record small,.portal-media-record b,.portal-media-record span{display:block}.portal-visit-detail span,.portal-equipment-record span,.portal-equipment-record small,.portal-media-record span{color:var(--muted);margin-top:3px}
.portal-note-panel{margin-top:10px;padding:13px 14px;border-radius:14px;background:#090640;border:1px solid rgba(255,255,255,.07)}.portal-note-panel p{margin:5px 0 0;color:#d8d9e3;line-height:1.6}.portal-note-panel small{color:var(--muted)}
.portal-proposal-box{padding:14px 15px;border-radius:16px;background:rgba(255,193,7,.055);border:1px solid rgba(255,193,7,.18);margin:10px 0}.portal-proposal-box b,.portal-proposal-box span{display:block}.portal-proposal-box span{margin-top:4px}.portal-proposal-box p{color:var(--muted)}
.portal-triage-record{display:grid;grid-template-columns:30px 1fr;gap:10px;padding:11px 0;border-top:1px solid rgba(255,255,255,.06)}.portal-triage-record>span{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:rgba(89,217,223,.08);color:var(--cyan);font-size:10px}.portal-triage-record b,.portal-triage-record p,.portal-triage-record small{display:block}.portal-triage-record p{margin:4px 0;color:#fff}.portal-triage-record small{color:var(--muted)}
.portal-timeline>div{display:grid;grid-template-columns:12px 1fr;gap:10px;padding:8px 0}.portal-timeline>div>span{width:8px;height:8px;border-radius:50%;background:var(--cyan);margin-top:6px}.portal-timeline p{margin:0}.portal-timeline b,.portal-timeline small,.portal-timeline em{display:block}.portal-timeline small,.portal-timeline em{color:var(--muted);margin-top:3px;font-style:normal}
.portal-order-line{display:flex;justify-content:space-between;gap:15px;padding:12px 0;border-top:1px solid rgba(255,255,255,.06)}.portal-order-line:first-child{border-top:0}.portal-order-line b,.portal-order-line span{display:block}.portal-order-line span{color:var(--muted);margin-top:3px}
.portal-warranty-title{display:flex;justify-content:space-between;gap:15px;align-items:start}.portal-warranty-title h4{margin:4px 0}.portal-warranty-detail{margin-bottom:15px}.portal-warranty-detail>div:first-child{display:flex;justify-content:space-between;gap:15px}.portal-warranty-detail span{color:var(--muted)}.portal-warranty-meter{height:9px!important;margin:8px 0!important;background:rgba(255,255,255,.08)!important;border-radius:99px;overflow:hidden}.portal-warranty-meter i{display:block;height:100%;background:var(--cyan);border-radius:99px}
.portal-doc-list{display:grid;gap:8px;margin-top:17px}.portal-doc-list button{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:14px;border-radius:15px;border:1px solid rgba(255,255,255,.07);background:#090640;color:#fff;text-align:left;cursor:pointer}.portal-doc-list button:hover{border-color:rgba(89,217,223,.3)}.portal-doc-list b,.portal-doc-list small{display:block}.portal-doc-list small{color:var(--muted);margin-top:3px}.portal-doc-list strong{color:var(--cyan);font-size:11px}
.portal-detail-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}.danger-outline{border-color:rgba(255,100,100,.25)!important;color:#ffc0c0!important}
@media(max-width:680px){.portal-record-card{align-items:flex-start;flex-direction:column}.portal-record-card>button{width:100%}.portal-kv-grid{grid-template-columns:1fr}.portal-detail-head,.portal-detail-body{padding:18px}.portal-detail-head h2{font-size:24px}.portal-attention-item{grid-template-columns:1fr}.portal-attention-item button{grid-column:auto;grid-row:auto;width:max-content}}

/* V35.1 customer-safe installation records */
.portal-private-record{padding:15px 16px;border-radius:15px;background:rgba(89,217,223,.045);border:1px solid rgba(89,217,223,.14)}
.portal-private-record b,.portal-private-record p,.portal-private-record span{display:block}
.portal-private-record b{color:var(--cyan)}
.portal-private-record p{margin:6px 0;color:#d7d9e4;line-height:1.6}
.portal-private-record span{font-size:11px;color:var(--muted);line-height:1.5}

/* V36 finance + portal booking */
.portal-booking-frame{margin-top:18px;border:1px solid rgba(89,217,223,.14);border-radius:22px;overflow:hidden;background:#05032a}.portal-booking-frame iframe{display:block;width:100%;height:1500px;border:0;background:#05032a}
.portal-booking-mode .nav,.portal-booking-mode .page-hero,.portal-booking-mode .footer-pro{display:none!important}.portal-booking-mode .section.soft{padding-top:20px}.portal-booking-mode .booking-shell{max-width:none}.portal-booking-mode .booking-side{position:sticky;top:10px}
.finance-app{max-width:1500px}.finance-toolbar{display:flex;justify-content:space-between;gap:16px;align-items:center;margin:18px 0}.finance-list{display:grid;gap:10px}.finance-card{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:20px;background:#08063a;border:1px solid rgba(255,255,255,.07);border-radius:18px;padding:17px}.finance-card small,.finance-card h3,.finance-card p{display:block}.finance-card h3{margin:5px 0}.finance-card p{margin:0;color:var(--muted)}.finance-money{text-align:right}.finance-money b,.finance-money span,.finance-money small{display:block}.finance-money b{font-size:20px}.finance-money span{font-size:11px;color:var(--muted)}.finance-status{display:inline-flex;padding:5px 8px;border-radius:999px;background:rgba(89,217,223,.09);color:var(--cyan);font-size:9px;text-transform:uppercase;letter-spacing:.08em}.finance-status.overdue{background:rgba(255,90,90,.1);color:#ffb0b0}.finance-status.paid{background:rgba(80,220,150,.1);color:#9ff2c7}
.finance-modal{position:fixed;inset:0;z-index:10000;background:rgba(0,0,0,.65);overflow:auto;padding:28px}.finance-modal-panel{max-width:1000px;margin:auto;background:#05032a;border:1px solid rgba(255,255,255,.1);border-radius:22px;padding:24px;position:relative}.finance-modal-panel>.portal-detail-close{position:absolute;right:18px;top:18px}.finance-modal-title{display:flex;justify-content:space-between;gap:20px;margin-bottom:20px}.invoice-preview-a4{max-width:794px;min-height:1123px;margin:20px auto;background:white;color:#111;padding:42px;box-shadow:0 10px 40px rgba(0,0,0,.35);font-family:Arial,sans-serif}.invoice-preview-head{display:flex;justify-content:space-between;align-items:start;background:#08063a;margin:-42px -42px 28px;padding:30px 42px;color:white}.invoice-preview-head img{width:210px;max-height:70px;object-fit:contain}.invoice-preview-head small{color:#65dfe3;letter-spacing:.18em}.invoice-preview-head h2{margin:5px 0 0}.invoice-meta{display:grid;grid-template-columns:1fr 1fr .8fr;gap:22px;margin-bottom:26px}.invoice-meta small,.invoice-meta b,.invoice-meta span{display:block}.invoice-meta small{font-size:9px;color:#667;text-transform:uppercase;letter-spacing:.08em}.invoice-meta span{font-size:11px;color:#555;margin-top:4px}.invoice-line-head,.invoice-line{display:grid;grid-template-columns:1fr 60px 100px;gap:10px}.invoice-line-head{background:#08063a;color:white;padding:10px 12px;font-size:10px;text-transform:uppercase}.invoice-line{padding:13px 12px;border-bottom:1px solid #e9e9ee}.invoice-line small{display:block;color:#777;margin-top:3px}.invoice-line>span:last-child,.invoice-line-head>span:last-child{text-align:right}.invoice-total-box{margin:24px 0 20px auto;width:300px}.invoice-total-box>div{display:flex;justify-content:space-between;padding:6px 0}.invoice-total-box .due{border-top:2px solid #08063a;margin-top:6px;padding-top:10px;font-size:18px}.invoice-bank{background:#f2f6f8;border-left:4px solid #59d9df;padding:16px 18px}.invoice-bank>div{display:grid;grid-template-columns:120px 1fr;gap:5px 12px;margin-top:10px;font-size:11px}.invoice-preview-foot{margin-top:24px;font-size:10px;color:#666;border-top:1px solid #ddd;padding-top:12px}.finance-payment-history{max-width:794px;margin:20px auto}.finance-payment-history>div{display:flex;justify-content:space-between;padding:10px 0;border-top:1px solid rgba(255,255,255,.07)}
@media(max-width:760px){.finance-toolbar,.finance-modal-title{align-items:stretch;flex-direction:column}.finance-card{grid-template-columns:1fr}.finance-money{text-align:left}.invoice-preview-a4{transform-origin:top left;min-height:auto}.portal-booking-frame iframe{height:1800px}}

/* V37 account, checkout and finance refinement */
.customer-auth-card{max-width:520px}.customer-auth-tabs{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:18px 0}.customer-auth-tabs button{border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.03);color:#aeb3c7;border-radius:12px;padding:11px;cursor:pointer}.customer-auth-tabs button.active{border-color:rgba(89,217,223,.32);background:rgba(89,217,223,.08);color:#fff}.auth-panel{display:none}.auth-panel.active{display:block}.auth-wide{width:100%;justify-content:center}.auth-text-button{display:inline-block;border:0;background:none;color:var(--cyan);padding:10px 0;text-decoration:none;cursor:pointer;font:inherit}.auth-code-notice{margin:12px 0;padding:13px 14px;border-radius:14px;background:rgba(89,217,223,.06);border:1px solid rgba(89,217,223,.14)}.auth-code-notice b,.auth-code-notice p,.auth-code-notice small{display:block}.auth-code-notice p{color:var(--muted);margin:4px 0}.auth-code-notice small{color:#ffd36a}.auth-error{padding:10px 12px;border-radius:12px;background:rgba(255,90,90,.08);border:1px solid rgba(255,90,90,.18);color:#ffc1c1;margin-top:12px}.auth-security-note{margin-top:16px;color:var(--muted);font-size:11px;line-height:1.5}.portal-reset-password{text-decoration:none;text-align:center}
.checkout-account-choice{margin-bottom:26px;padding-bottom:24px;border-bottom:1px solid rgba(255,255,255,.08)}.checkout-account-options{display:grid;gap:9px;margin-top:14px}.checkout-account-options label{display:grid;grid-template-columns:auto 1fr;gap:11px;padding:14px;border-radius:15px;background:#08063a;border:1px solid rgba(255,255,255,.07);cursor:pointer}.checkout-account-options label:has(input:checked){border-color:rgba(89,217,223,.35);background:rgba(89,217,223,.05)}.checkout-account-options input{margin-top:3px}.checkout-account-options b,.checkout-account-options small{display:block}.checkout-account-options small{color:var(--muted);margin-top:4px;line-height:1.5}.checkout-existing-account{display:flex;justify-content:space-between;gap:12px;margin-top:10px;font-size:12px;color:var(--muted)}.checkout-existing-account a{color:var(--cyan)}.checkout-payment-note{margin-top:14px;padding:12px;border-radius:13px;background:rgba(89,217,223,.05);border:1px solid rgba(89,217,223,.13)}.checkout-payment-note b,.checkout-payment-note span{display:block}.checkout-payment-note span{font-size:11px;color:var(--muted);margin-top:4px;line-height:1.5}.checkout-account-next{margin-top:14px;padding:14px;border-radius:15px;background:#08063a;border:1px solid rgba(89,217,223,.15)}.checkout-account-next b,.checkout-account-next p,.checkout-account-next small,.checkout-account-next a{display:block}.checkout-account-next p{color:var(--muted);margin:5px 0}.checkout-account-next small{color:#ffd36a;margin-bottom:10px}
.finance-card{grid-template-columns:minmax(0,1fr) auto minmax(190px,auto)}.finance-card-actions{display:flex;justify-content:flex-end;gap:7px;flex-wrap:wrap}.finance-form-head{padding-right:48px;margin-bottom:20px}.finance-form-head h2{margin:8px 0}.finance-form-head p{color:var(--muted);line-height:1.5}.finance-action-form{display:block}.finance-form-summary{display:flex;gap:10px;flex-wrap:wrap;margin:18px 0}.finance-form-summary span{padding:10px 12px;border-radius:12px;background:#08063a;border:1px solid rgba(255,255,255,.07);color:var(--muted)}.finance-form-summary b{color:#fff;margin-left:5px}.finance-lines-editor{margin-top:18px}.finance-lines-editor-head{display:flex;justify-content:space-between;align-items:center;gap:12px}.finance-line-editor-row{display:grid;grid-template-columns:minmax(0,1fr) 80px 120px 40px;gap:8px;margin-top:8px}.finance-line-editor-row input{width:100%;box-sizing:border-box;background:#08063a;border:1px solid rgba(255,255,255,.09);color:#fff;border-radius:11px;padding:11px}.finance-line-editor-row button{border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.03);color:#fff;border-radius:10px;cursor:pointer}
/* Invoice component shared by Finance and printable invoice */
.invoice-sheet{box-sizing:border-box;width:794px;min-height:1123px;margin:22px auto;background:#fff;color:#101828;padding:42px;font-family:Arial,Helvetica,sans-serif;box-shadow:0 12px 48px rgba(0,0,0,.32);position:relative}.invoice-sheet *{box-sizing:border-box}.invoice-sheet-head{height:118px;margin:-42px -42px 28px;padding:28px 42px;background:#08063a;color:#fff;display:flex;justify-content:space-between;align-items:flex-start}.invoice-sheet-head img{width:245px;height:64px;object-fit:contain;object-position:left center}.invoice-sheet-head>div{text-align:right}.invoice-sheet-head small{display:block;color:#59d9df;font-size:9px;font-weight:800;letter-spacing:.18em}.invoice-sheet-head h1{font-size:20px;margin:7px 0 2px}.invoice-sheet-head span{font-size:8px;color:#c6cad8}.invoice-party-grid{display:grid;grid-template-columns:1fr 1fr .8fr;gap:22px;margin-bottom:26px}.invoice-party-grid>div>*{display:block}.invoice-party-grid small{font-size:7px;color:#667085;font-weight:800;letter-spacing:.09em;margin:0 0 5px}.invoice-party-grid b{font-size:10px;margin:0 0 5px}.invoice-party-grid span{font-size:8px;color:#475467;line-height:1.55}.invoice-party-grid>div:last-child b{font-size:9px;margin-bottom:10px}.invoice-context-strip{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px;padding:13px 14px;border-radius:8px;background:#f3f6f8;margin-bottom:28px}.invoice-context-strip small,.invoice-context-strip b{display:block}.invoice-context-strip small{font-size:7px;color:#667085;font-weight:800;letter-spacing:.08em}.invoice-context-strip b{font-size:9px;margin-top:5px}.invoice-lines{margin-top:4px}.invoice-lines-head,.invoice-line-row{display:grid;grid-template-columns:minmax(0,1fr) 60px 100px;gap:10px}.invoice-lines-head{padding:9px 12px;background:#08063a;color:#fff;font-size:8px;font-weight:800;text-transform:uppercase}.invoice-lines-head span:nth-child(2){text-align:center}.invoice-lines-head span:last-child{text-align:right}.invoice-line-row{min-height:48px;padding:13px 12px;border-bottom:1px solid #e9e9ee;align-items:center}.invoice-line-row b,.invoice-line-row small{display:block}.invoice-line-row b{font-size:9px}.invoice-line-row small{font-size:7.5px;color:#667085;margin-top:4px}.invoice-line-row>span{text-align:center;font-size:9px}.invoice-line-row>strong{text-align:right;font-size:9px}.invoice-totals{width:300px;margin:24px 0 22px auto}.invoice-totals>div{display:flex;justify-content:space-between;padding:6px 0;font-size:9px}.invoice-totals .invoice-amount-due{border-top:2px solid #08063a;margin-top:6px;padding-top:10px;font-size:17px;color:#08063a}.invoice-bank-box{padding:16px 18px;background:#f2f6f8;border-left:4px solid #59d9df}.invoice-bank-box h3{font-size:10px;margin:0 0 5px;color:#08063a}.invoice-bank-box p{font-size:8px;color:#475467;margin:0 0 10px}.invoice-bank-box>div{display:grid;grid-template-columns:120px 1fr;gap:6px 12px;font-size:8px}.invoice-bank-box>div span{font-size:7px;color:#667085;text-transform:uppercase;font-weight:800}.invoice-payment-notice{margin-top:22px;padding:14px;background:#08063a;color:#fff;border-radius:8px}.invoice-payment-notice b{display:block;color:#59d9df;font-size:8px;letter-spacing:.08em}.invoice-payment-notice p{font-size:7.5px;line-height:1.5;margin:5px 0 0}.invoice-sheet-foot{position:absolute;left:42px;right:42px;bottom:34px;border-top:1px solid #e2e6ea;padding-top:10px;display:flex;justify-content:space-between;gap:18px;color:#667085;font-size:7px}.invoice-print-page{margin:0;background:#e8ebef}.invoice-print-toolbar{position:sticky;top:0;z-index:5;display:flex;justify-content:flex-end;gap:8px;padding:12px 20px;background:#05032a}.invoice-print-page #invoicePrintRoot{padding-bottom:30px}
@page{size:A4;margin:0}@media print{body.invoice-print-page{background:#fff!important}.invoice-print-toolbar{display:none!important}.invoice-print-page #invoicePrintRoot{padding:0!important}.invoice-sheet{margin:0!important;box-shadow:none!important;width:210mm!important;min-height:297mm!important;page-break-after:avoid}}
@media(max-width:850px){.finance-card{grid-template-columns:1fr}.finance-card-actions{justify-content:flex-start}.invoice-sheet{transform:scale(.72);transform-origin:top left;margin-bottom:-300px}.finance-line-editor-row{grid-template-columns:1fr 70px 100px 40px}}

/* V38 visible customer journey rebuild */
.shop-account-state{margin-left:auto;display:flex;align-items:center;gap:10px;font-size:11px;color:var(--muted)}.shop-account-state b{color:#fff}.shop-account-state a{color:var(--cyan);font-weight:800}
.checkout-hero-v38{padding-bottom:34px}.checkout-flow-strip{display:flex;align-items:center;gap:10px;margin-top:22px;flex-wrap:wrap}.checkout-flow-strip span{display:flex;align-items:center;gap:7px;color:#fff;font-size:11px}.checkout-flow-strip span b{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:var(--cyan);color:var(--navy)}.checkout-flow-strip i{height:1px;width:28px;background:rgba(255,255,255,.16)}
.checkout-layout-v38{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(300px,.55fr);gap:28px;align-items:start}.checkout-main-v38{display:grid;gap:18px}.checkout-panel-v38{background:#08063a;border:1px solid rgba(255,255,255,.07);border-radius:22px;padding:24px}.checkout-panel-v38 h2{margin:5px 0 18px}.checkout-mode-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.checkout-mode-card{display:block;position:relative;cursor:pointer}.checkout-mode-card input{position:absolute;opacity:0}.checkout-mode-card span{display:block;height:100%;padding:17px;border-radius:16px;background:#05032a;border:1px solid rgba(255,255,255,.09);transition:.2s}.checkout-mode-card b,.checkout-mode-card small{display:block}.checkout-mode-card b{font-size:15px}.checkout-mode-card small{margin-top:7px;color:var(--muted);line-height:1.55}.checkout-mode-card:has(input:checked) span{border-color:var(--cyan);box-shadow:0 0 0 2px rgba(89,217,223,.08)}
.checkout-inline-login{margin-top:16px;padding:18px;border-radius:17px;background:#05032a;border:1px solid rgba(89,217,223,.15)}.checkout-inline-login h3{margin:0 0 5px}.checkout-inline-login p{margin:0 0 15px;color:var(--muted)}.checkout-signed-in{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:16px;border-radius:17px;background:rgba(89,217,223,.06);border:1px solid rgba(89,217,223,.18)}.checkout-signed-in b,.checkout-signed-in small{display:block}.checkout-signed-in small{color:var(--muted);margin-top:4px}.checkout-signed-in a{color:var(--cyan);font-weight:800}.checkout-email-notice{margin:13px 0;padding:14px;border-radius:14px;background:rgba(255,193,7,.05);border:1px solid rgba(255,193,7,.18)}.checkout-email-notice b,.checkout-email-notice p{display:block}.checkout-email-notice p{margin:4px 0 9px;color:var(--muted)}.checkout-email-notice button{border:0;background:none;color:var(--cyan);font-weight:800;cursor:pointer;padding:0}.checkout-submit-v38{margin-top:18px}.checkout-submit-note{font-size:11px;color:var(--muted);line-height:1.5}.checkout-result-v38{margin-top:16px}.sticky-checkout-summary{position:sticky;top:90px}.checkout-payment-rule{margin-top:18px;padding:14px;border-radius:14px;background:rgba(89,217,223,.05);border:1px solid rgba(89,217,223,.14)}.checkout-payment-rule b{color:var(--cyan)}.checkout-payment-rule p{margin:5px 0 0;color:var(--muted);line-height:1.5}
.portal-header-action{border:0;background:none;color:inherit;font:inherit;cursor:pointer;text-transform:uppercase;letter-spacing:.08em;font-size:11px;font-weight:800}.portal-quick-actions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:18px 0}.portal-quick{display:block;text-align:left;padding:15px;border-radius:16px;border:1px solid rgba(255,255,255,.07);background:#07052f;color:#fff;text-decoration:none;cursor:pointer}.portal-quick.primary{border-color:rgba(89,217,223,.35);background:linear-gradient(135deg,rgba(89,217,223,.11),rgba(89,217,223,.02))}.portal-quick b,.portal-quick span{display:block}.portal-quick span{margin-top:5px;color:var(--muted);font-size:11px;line-height:1.45}.portal-overview-section{margin-top:18px}.portal-overview-heading{margin:0 0 9px}.portal-overview-heading>span{color:var(--cyan);text-transform:uppercase;font-size:9px;letter-spacing:.1em}.portal-overview-heading h3{margin:4px 0}.portal-overview-heading p{margin:0;color:var(--muted);font-size:12px}.portal-case-summary{display:block;margin-top:6px;color:#d7d9e4;line-height:1.5;font-size:12px}.portal-record-status{display:inline-flex;margin-top:7px;padding:5px 8px;border-radius:999px;background:rgba(89,217,223,.07);color:var(--cyan);font-size:10px}.portal-card-actions{display:flex;gap:7px;flex-wrap:wrap}.portal-card-actions button{border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.04);color:#fff;border-radius:999px;padding:10px 13px;cursor:pointer}.portal-card-actions button:first-child{border-color:rgba(89,217,223,.28);color:var(--cyan)}
.portal-new-install-vehicles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:18px}.portal-new-install-vehicle{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:17px;border-radius:17px;border:1px solid rgba(255,255,255,.08);background:#05032a;color:#fff;text-align:left;cursor:pointer}.portal-new-install-vehicle:hover{border-color:rgba(89,217,223,.35)}.portal-new-install-vehicle small,.portal-new-install-vehicle b,.portal-new-install-vehicle em{display:block}.portal-new-install-vehicle small{color:var(--cyan);font-size:9px;text-transform:uppercase;letter-spacing:.08em}.portal-new-install-vehicle b{font-size:17px;margin:4px 0}.portal-new-install-vehicle em{font-style:normal;color:var(--muted)}.portal-new-install-vehicle strong{color:var(--cyan);font-size:11px}.portal-new-install-actions{display:flex;gap:8px;flex-wrap:wrap;margin:13px 0}.portal-booking-embed-head{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:14px 16px;background:#08063a;border-bottom:1px solid rgba(255,255,255,.07)}.portal-booking-embed-head b,.portal-booking-embed-head small{display:block}.portal-booking-embed-head small{color:var(--muted);margin-top:3px}.portal-booking-embed-head button{border:0;background:none;color:var(--cyan);cursor:pointer;font-weight:800}.portal-empty-action{padding:22px;text-align:center;border-radius:17px;border:1px dashed rgba(89,217,223,.22);background:rgba(89,217,223,.03)}.portal-empty-action b{display:block;font-size:18px}.portal-empty-action p{color:var(--muted)}.portal-prefilled-field{background:rgba(89,217,223,.035)!important;border-color:rgba(89,217,223,.18)!important}
@media(max-width:900px){.checkout-layout-v38{grid-template-columns:1fr}.sticky-checkout-summary{position:static}.checkout-mode-grid,.portal-quick-actions,.portal-new-install-vehicles{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.checkout-mode-grid,.portal-quick-actions,.portal-new-install-vehicles{grid-template-columns:1fr}.checkout-flow-strip i{display:none}.portal-card-actions{width:100%}.portal-card-actions button{flex:1}.portal-new-install-vehicle{align-items:flex-start}.shop-account-state{display:none}}

/* V39 customer booking/payment polish */
.fulfilment-box h3{margin:0 0 12px!important;line-height:1.22}.fulfilment-box .fulfilment-explainer{display:block;margin:0 0 20px!important;line-height:1.65;max-width:920px}.fulfilment-options{margin-top:4px}
.booking-payment-plan{margin:18px 0 22px;padding:20px 22px;border:1px solid rgba(89,217,223,.16);border-radius:20px;background:linear-gradient(145deg,rgba(89,217,223,.055),rgba(7,5,47,.8))}.booking-payment-plan h3{margin:5px 0 8px}.booking-payment-plan>p{margin:0 0 16px;color:#d7d9e6;line-height:1.65}.booking-payment-plan>small{display:block;margin-top:14px;color:var(--muted);line-height:1.55}.payment-plan-rows{display:grid;gap:0;border:1px solid rgba(255,255,255,.07);border-radius:14px;overflow:hidden}.payment-plan-rows>div{display:flex;justify-content:space-between;gap:18px;align-items:center;padding:12px 14px;border-top:1px solid rgba(255,255,255,.06)}.payment-plan-rows>div:first-child{border-top:0}.payment-plan-rows span{color:#dfe0ea;line-height:1.45}.payment-plan-rows b{white-space:nowrap}.payment-plan-rows .payment-plan-total{background:rgba(89,217,223,.07)}.payment-plan-rows .payment-plan-total b{color:var(--cyan);font-size:17px}.payment-plan-note{margin-top:12px;padding:13px 14px;border-radius:13px;background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.06)}.payment-plan-note b,.payment-plan-note span{display:block}.payment-plan-note span{margin-top:4px;color:var(--muted);line-height:1.55}
.booking-confirmation-clean{text-align:center!important;max-width:820px;margin:0 auto}.booking-confirmation-clean .confirmation-icon{margin-left:auto;margin-right:auto}.booking-confirmation-clean .kicker,.booking-confirmation-clean h2,.booking-confirmation-clean .section-lead{text-align:center!important}.booking-confirmation-clean .section-lead{max-width:680px;margin:10px auto 0!important;line-height:1.65}.booking-confirmation-clean .approval-box{max-width:620px;margin:22px auto 0!important;text-align:center}.confirmation-payment-message{max-width:680px;margin:20px auto 0}.confirmation-payment-card{padding:16px 18px;border-radius:16px;border:1px solid rgba(89,217,223,.16);background:rgba(89,217,223,.055);text-align:left}.confirmation-payment-card b,.confirmation-payment-card p{display:block}.confirmation-payment-card p{margin:6px 0 0;line-height:1.6;color:#d8dae5}.dev-only-code{display:block;margin-top:8px;padding:8px;border:1px dashed rgba(255,193,7,.4);color:#ffd36a}
.finance-status.pending_approval{background:rgba(255,193,7,.1);color:#ffd36a}
@media(max-width:680px){.payment-plan-rows>div{align-items:flex-start;flex-direction:column;gap:4px}.payment-plan-rows b{white-space:normal}}

/* V39.1 — definitive booking spacing fixes */
.fulfilment-options label{align-items:flex-start!important}
.fulfilment-option-copy{display:block!important;min-width:0;flex:1}
.fulfilment-option-copy b{display:block!important;margin:0 0 9px!important;line-height:1.18!important}
.fulfilment-option-copy small{display:block!important;margin:0 0 7px!important;color:#eef0f7!important;font-size:15px!important;line-height:1.45!important}
.fulfilment-option-copy p{display:block!important;margin:0!important;color:#d7d9e6!important;line-height:1.58!important}
.payment-plan-copy{display:block!important;min-width:0;flex:1}
.payment-plan-copy strong{display:block!important;color:#f7f7fb!important;font-weight:800!important;line-height:1.25!important}
.payment-plan-copy small{display:block!important;margin-top:6px!important;color:#aeb2c7!important;font-size:12px!important;line-height:1.45!important}
.payment-plan-rows>div{align-items:center!important}
.payment-plan-rows>div>b{margin-left:20px!important}
@media(max-width:680px){
 .fulfilment-option-copy b{margin-bottom:7px!important}
 .fulfilment-option-copy small{font-size:13px!important}
 .payment-plan-rows>div{align-items:flex-start!important}
 .payment-plan-rows>div>b{margin-left:0!important;margin-top:4px!important}
}


/* ========================= V40 layout audit ========================= */
/* Promotional banners are content, not sticky navigation. */
.promo-banner{position:relative!important;left:auto!important;right:auto!important;top:auto!important;z-index:70!important;margin-top:var(--header-h)!important;view-transition-name:none!important;}
.has-promo-banner.has-global-ticker .promo-banner{margin-top:calc(var(--header-h) + var(--ticker-h))!important;}
.has-promo-banner main,.has-promo-banner.has-global-ticker main{padding-top:0!important;}
.has-promo-banner .global-ticker{top:var(--header-h)!important;margin-top:0!important;}

/* Shop promotion becomes a large in-page hero directly below the shop actions. */
.shop-sale-hero{width:min(980px,100%);margin:30px auto 0;padding:clamp(22px,3vw,34px);display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:24px;text-align:left;border-radius:26px;background:linear-gradient(115deg,rgba(89,217,223,.98),rgba(137,235,239,.92));color:#05032a;box-shadow:0 18px 55px rgba(0,0,0,.22);overflow:hidden;position:relative;}
.shop-sale-hero::after{content:'';position:absolute;right:-70px;bottom:-130px;width:280px;height:280px;border-radius:50%;border:2px solid rgba(5,3,42,.1);box-shadow:0 0 0 35px rgba(5,3,42,.04),0 0 0 70px rgba(5,3,42,.025);pointer-events:none;}
.shop-sale-copy{position:relative;z-index:1;display:grid;gap:9px;}
.shop-sale-label{font-size:10px;font-weight:900;letter-spacing:.16em;text-transform:uppercase;}
.shop-sale-hero h2{margin:0;font-size:clamp(26px,3vw,44px);line-height:1.02;letter-spacing:-.035em;max-width:18ch;}
.shop-sale-meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:3px;}
.shop-sale-meta strong{display:inline-flex;padding:7px 10px;border-radius:9px;background:#05032a;color:#fff;font-size:11px;letter-spacing:.1em;}
.shop-sale-meta small{font-size:11px;font-weight:750;opacity:.75;}
.shop-sale-action{position:relative;z-index:1;display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 18px;border-radius:999px;background:#05032a;color:#fff!important;font-size:10px;font-weight:900;letter-spacing:.1em;text-transform:uppercase;white-space:nowrap;}

/* Consistent vertical rhythm across public pages. */
.section{padding-block:clamp(66px,7vw,94px);}
.page-hero{padding-bottom:clamp(46px,6vw,76px)!important;}
.section-title{margin-bottom:14px;}
.section-lead{margin-top:0;margin-bottom:22px;}
.contact-panel,.copy-box,.detail-card,.education-card,.panel{overflow-wrap:anywhere;}

/* Booking: tighter, cleaner, safer on iPhone. */
.booking-page .section.soft{padding-top:34px;padding-bottom:56px;}
.booking-page .booking-shell{gap:20px;}
.booking-page .booking-main{padding:24px;min-height:0;}
.booking-page .booking-step{padding:0;}
.booking-page .booking-step h2{margin:0 0 10px;}
.booking-page .booking-step>.section-lead{margin-bottom:18px;}
.booking-page .choice-grid{gap:12px;}
.booking-page .choice-card{min-height:0;padding:18px;}
.booking-page .equipment-block,.booking-page .customer-kit-panel,.booking-page .visit-appointment{padding:18px;}
.booking-page .field{gap:6px;}
.booking-page .form-grid{gap:13px;}
.booking-page .field input,.booking-page .field select,.booking-page .field textarea{padding:13px 14px;border-radius:14px;}
.booking-page .booking-nav{margin-top:22px;padding-top:16px;}
.booking-page .fulfilment-box{margin-top:18px;padding:22px;}
.booking-page .fulfilment-box h3{margin-bottom:10px;}
.booking-page .fulfilment-explainer{margin:0 0 18px!important;}
.booking-page .fulfilment-options{gap:12px;}
.booking-page .fulfilment-options label{padding:18px;}

@media(max-width:760px){
  .section{padding-block:46px;}
  .page-hero{padding-top:36px!important;padding-bottom:34px!important;}
  .page-hero .section-title{font-size:clamp(38px,11vw,56px);}
  .page-hero .section-lead{line-height:1.62;margin-bottom:16px;}
  .promo-banner{margin-top:calc(var(--header-h) + var(--ticker-h))!important;}
  .promo-banner .container{min-height:0;padding:10px 16px;gap:6px 9px;}
  .promo-banner em{width:auto!important;line-height:1.35;}
  .has-promo-banner.has-global-ticker main{padding-top:0!important;}
  .shop-hero{padding:44px 0 34px;}
  .shop-hero p{line-height:1.6;margin-bottom:20px;}
  .shop-sale-hero{margin-top:22px;padding:22px 18px;grid-template-columns:1fr;gap:16px;border-radius:21px;text-align:left;}
  .shop-sale-hero h2{font-size:clamp(26px,8.5vw,38px);max-width:none;}
  .shop-sale-action{width:100%;}
  .shop-catalogue{padding:26px 0 58px;}
  .shop-toolbar{margin-bottom:18px;}

  .booking-page .section.soft{padding:20px 0 38px;}
  .booking-page .container.booking-shell{width:min(100% - 20px,1280px);}
  .booking-page .booking-main{padding:16px;border-radius:20px;}
  .booking-page .booking-mobile-progress{display:block;position:relative!important;top:auto!important;margin:0 0 16px!important;padding:10px 12px 9px;border-radius:13px;}
  .booking-page .booking-mobile-progress span{margin-bottom:7px;font-size:9px;line-height:1.3;white-space:normal;}
  .booking-page .booking-step h2{font-size:clamp(32px,10vw,44px);line-height:1;letter-spacing:-.04em;margin-bottom:9px;}
  .booking-page .booking-step>.kicker{margin-bottom:8px;}
  .booking-page .booking-step>.section-lead{font-size:14px;line-height:1.58;margin-bottom:15px;}
  .booking-page .choice-grid,.booking-page .form-grid{gap:10px;}
  .booking-page .choice-card{padding:15px;border-radius:17px;gap:7px;}
  .booking-page .choice-card b{font-size:16px;line-height:1.2;}
  .booking-page .choice-card span{font-size:12px;line-height:1.5;}
  .booking-page .equipment-block,.booking-page .customer-kit-panel,.booking-page .visit-appointment,.booking-page .basket-preview{padding:15px;border-radius:17px;margin-bottom:12px;}
  .booking-page .equipment-block h3{font-size:20px;margin-bottom:11px;}
  .booking-page .field input,.booking-page .field select,.booking-page .field textarea{padding:12px 13px;border-radius:13px;}
  .booking-page .field small{font-size:11px;line-height:1.45;}
  .booking-page .lookup-row{gap:8px;}
  .booking-page .lookup-row .btn{width:100%;}
  .booking-page .fulfilment-box{padding:16px;margin-top:14px;border-radius:18px;}
  .booking-page .fulfilment-box h3{font-size:23px;line-height:1.08;margin:7px 0 9px;}
  .booking-page .fulfilment-explainer{font-size:13px!important;line-height:1.55!important;margin-bottom:14px!important;}
  .booking-page .fulfilment-options{grid-template-columns:1fr!important;gap:10px;}
  .booking-page .fulfilment-options label{padding:15px;align-items:flex-start;}
  .booking-page .fulfilment-options label span{gap:5px;}
  .booking-page .fulfilment-options label b{font-size:17px;line-height:1.2;}
  .booking-page .fulfilment-options label small{font-size:12px;line-height:1.5;}
  .booking-page .payment-plan-rows>div{grid-template-columns:1fr!important;gap:8px!important;padding:13px 0!important;}
  .booking-page .payment-plan-rows>div>b{justify-self:start!important;font-size:19px!important;}
  .booking-page .payment-plan-copy{gap:4px!important;}
  .booking-page .booking-nav{margin-top:18px;padding-top:14px;gap:8px;}
  .booking-page .booking-nav button{min-height:44px;padding:11px 16px;}
  .booking-page .approval-box{padding:15px;border-radius:16px;}
  .booking-page .approval-box h3{font-size:16px;margin-bottom:6px;}
  .booking-page .approval-box p{font-size:12px;line-height:1.55;}
}

/* V41 single staged invoice */
.invoice-stage-box{margin:18px 0;padding:14px 16px;border-radius:10px;background:#eef9fa;border-left:4px solid #59d9df;color:#101828}
.invoice-stage-box b{display:block;color:#08063a;margin-bottom:5px}
.invoice-stage-box p{margin:0;font-size:10px;line-height:1.55;color:#475467}
.finance-status.installation_pending{background:rgba(89,217,223,.08);color:#8fe7ea}
.finance-status.final_due{background:rgba(255,193,7,.1);color:#ffd36a}
.finance-status.pricing_required{background:rgba(255,160,80,.1);color:#ffcb9a}

/* V42 pre-deployment services / partnerships / navigation polish */
:root{--section-space:72px;--section-space-mobile:42px;--content-gap:28px}
.services-hero{padding:clamp(72px,8vw,112px) 0 60px}.services-hero-copy{max-width:900px}.section-heading-row{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(280px,.9fr);gap:36px;align-items:end;margin-bottom:34px}
.services-feature-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.service-feature-card{position:relative;min-height:500px;border-radius:28px;overflow:hidden;border:1px solid rgba(255,255,255,.1);display:flex;align-items:flex-end;text-decoration:none;isolation:isolate;transition:.38s ease}.service-feature-card video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-3;transition:transform .8s cubic-bezier(.2,.8,.2,1)}.service-card-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(5,3,42,.08),rgba(5,3,42,.96));z-index:-2}.service-feature-content{padding:34px;max-width:600px}.service-feature-content small{color:var(--cyan);text-transform:uppercase;letter-spacing:.14em;font-size:10px;font-weight:800}.service-feature-content h3{font-size:clamp(40px,4.7vw,68px);margin:9px 0 12px;letter-spacing:-.05em;color:#fff}.service-feature-content p{color:#d5d6e1;line-height:1.6;margin:0 0 20px}.service-feature-content b{color:var(--cyan);font-size:11px;text-transform:uppercase;letter-spacing:.11em}.service-feature-card:hover{transform:translateY(-7px);border-color:rgba(89,217,223,.42);box-shadow:0 28px 75px rgba(0,0,0,.3)}.service-feature-card:hover video{transform:scale(1.055)}
.service-record-dot{position:absolute;top:25px;right:25px;width:15px;height:15px;border-radius:50%;background:#ff4d5b;box-shadow:0 0 0 9px rgba(255,77,91,.12);animation:servicePulse 1.8s infinite}.service-strobe-pair{position:absolute;top:24px;right:24px;display:flex;gap:8px}.service-strobe-pair i{width:27px;height:9px;border-radius:99px;background:rgba(255,255,255,.35);animation:strobeBlink 1.7s infinite}.service-strobe-pair i:nth-child(2){animation-delay:.18s}.services-small-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:14px}.service-mini-card{position:relative;min-height:330px;padding:26px;border-radius:24px;background:linear-gradient(145deg,rgba(13,10,72,.94),rgba(7,5,48,.98));border:1px solid rgba(255,255,255,.08);display:flex;flex-direction:column;text-decoration:none;overflow:hidden;transition:.32s ease}.service-mini-card:hover{transform:translateY(-6px);border-color:rgba(89,217,223,.34)}.service-mini-card>small{margin-top:auto;color:var(--cyan);text-transform:uppercase;letter-spacing:.12em;font-size:9px}.service-mini-card h3{font-size:25px;line-height:1.08;margin:10px 0}.service-mini-card p{color:var(--muted);line-height:1.6;font-size:13px}.service-mini-card>b{color:#fff;font-size:11px;margin-top:12px}.service-motion-icon{width:68px;height:68px;border-radius:20px;border:1px solid rgba(89,217,223,.2);background:rgba(89,217,223,.055);position:relative;margin-bottom:28px}.service-motion-icon.gps:before{content:'';position:absolute;width:17px;height:17px;border:3px solid var(--cyan);border-radius:50% 50% 50% 0;transform:rotate(-45deg);left:23px;top:17px;animation:pinBounce 1.8s ease-in-out infinite}.service-motion-icon.gps i{position:absolute;width:30px;height:8px;border:1px solid rgba(89,217,223,.3);border-radius:50%;left:18px;bottom:11px}.service-motion-icon.tech:before,.service-motion-icon.tech:after{content:'';position:absolute;background:var(--cyan);opacity:.8}.service-motion-icon.tech:before{width:30px;height:2px;left:18px;top:32px;animation:techScan 2.1s infinite}.service-motion-icon.tech:after{width:2px;height:30px;top:18px;left:32px}.service-motion-icon.fleet:before{content:'•••';position:absolute;color:var(--cyan);letter-spacing:4px;font-size:24px;left:13px;top:16px;animation:fleetMove 2s infinite}.service-motion-icon.specialist:before{content:'+';position:absolute;color:var(--cyan);font-size:42px;left:20px;top:6px;animation:specialRotate 5s linear infinite}
.service-finder-shell{display:grid;grid-template-columns:.8fr 1.2fr;gap:50px;padding:38px;border-radius:28px;background:linear-gradient(135deg,#0b0849,#060431);border:1px solid rgba(89,217,223,.16)}.service-finder-shell h2{font-size:clamp(34px,4vw,56px);line-height:1.02;margin:8px 0 13px}.service-finder-options{display:grid;gap:8px}.service-finder-options a{display:flex;justify-content:space-between;gap:15px;padding:15px 17px;border-radius:14px;background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.07);color:#fff;text-decoration:none;font-weight:700}.service-finder-options a:hover{border-color:var(--cyan);background:rgba(89,217,223,.06)}.service-finder-options span{color:var(--cyan)}
.services-mega-menu{position:absolute;left:0;right:0;top:100%;z-index:80;padding:12px 28px 24px;opacity:0;visibility:hidden;transform:translateY(-8px);transition:.22s ease;pointer-events:none}.services-menu-open .services-mega-menu{opacity:1;visibility:visible;transform:none;pointer-events:auto}.services-mega-inner{max-width:1410px;margin:auto;display:grid;grid-template-columns:280px 1fr;gap:18px;padding:22px;border-radius:0 0 24px 24px;background:rgba(5,3,42,.985);backdrop-filter:blur(22px);border:1px solid rgba(89,217,223,.12);box-shadow:0 24px 60px rgba(0,0,0,.35)}.services-mega-intro{padding:14px}.services-mega-intro small{color:var(--cyan);text-transform:uppercase;letter-spacing:.12em;font-weight:800}.services-mega-intro b{display:block;font-size:24px;margin:8px 0}.services-mega-intro p{color:var(--muted);font-size:12px;line-height:1.55}.services-mega-intro a{color:var(--cyan);font-size:11px;font-weight:800}.services-mega-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.services-mega-grid>a{display:grid;grid-template-columns:32px 1fr;gap:10px;padding:13px;border-radius:13px;color:#fff;text-decoration:none;border:1px solid transparent}.services-mega-grid>a:hover{background:rgba(89,217,223,.06);border-color:rgba(89,217,223,.12)}.services-mega-grid>a>span{color:var(--cyan);font-size:10px;font-weight:900;padding-top:3px}.services-mega-grid b,.services-mega-grid small{display:block}.services-mega-grid small{color:var(--muted);font-size:10px;line-height:1.45;margin-top:3px}
.partner-hero{padding:84px 0 70px;background:radial-gradient(circle at 82% 15%,rgba(89,217,223,.12),transparent 30%),#05032a}.partner-hero-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:50px;align-items:center}.partner-hero h1{font-size:clamp(55px,8vw,108px);line-height:.88;letter-spacing:-.06em;margin:15px 0 24px}.partner-hero p{max-width:780px;font-size:18px;color:#cbccda;line-height:1.65}.partner-hero-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:28px}.partner-verification-note{display:block;color:var(--muted);margin-top:16px;line-height:1.5}.partner-logo-lockup{padding:30px;border-radius:30px;background:white;text-align:center}.partner-logo-lockup img{max-width:100%;border-radius:18px}.partner-logo-lockup span{display:block;color:#38384b;font-size:10px;text-transform:uppercase;letter-spacing:.14em;margin:18px 0}.partner-logo-lockup .rga-partner-logo{background:#05032a;padding:18px}.partner-benefit-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:center}.partner-benefit-copy h2,.partner-how h2,.partner-cta h2{font-size:clamp(38px,5vw,66px);line-height:1;letter-spacing:-.05em;margin:10px 0 20px}.partner-offer-art{width:100%;border-radius:26px}.partner-how{text-align:center;max-width:1100px;margin:auto}.partner-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:32px;text-align:left}.partner-steps>div{padding:24px;border-radius:22px;background:#090640;border:1px solid rgba(255,255,255,.07)}.partner-steps b{color:var(--cyan)}.partner-steps h3{font-size:21px;margin:10px 0}.partner-steps p{color:var(--muted);line-height:1.6}.partner-review{display:grid;grid-template-columns:360px 1fr;gap:36px;align-items:center;padding:28px;border-radius:28px;background:#090640;border:1px solid rgba(89,217,223,.13)}.partner-review-photo img{width:100%;border-radius:22px}.partner-review blockquote{font-size:clamp(24px,3vw,39px);line-height:1.25;font-style:italic;margin:15px 0}.five-stars{color:#fff;font-size:21px;letter-spacing:3px}.partner-cta{text-align:center;padding:76px 0;background:linear-gradient(135deg,#0b0849,#05032a)}
.dash-partner-card{display:grid;grid-template-columns:1.2fr .8fr;gap:28px;padding:30px;border-radius:28px;background:linear-gradient(135deg,#0c0950,#070532);border:1px solid rgba(89,217,223,.16)}.dash-partner-copy h2{font-size:clamp(38px,5vw,62px);line-height:1;margin:10px 0 16px}.dash-partner-review{padding:20px;border-radius:21px;background:rgba(255,255,255,.045)}.dash-partner-review img{width:110px;height:110px;object-fit:cover;border-radius:18px}.dash-partner-review>span{display:block;margin:15px 0 8px;letter-spacing:3px}.dash-partner-review blockquote{margin:0 0 12px;font-style:italic;line-height:1.55}.home-partner-card{display:grid;grid-template-columns:120px 1fr auto;gap:24px;align-items:center;padding:22px;border-radius:24px;background:#090640;border:1px solid rgba(89,217,223,.13);color:#fff;text-decoration:none}.home-partner-logo img{width:110px;height:110px;object-fit:cover;border-radius:18px}.home-partner-card h2{margin:4px 0 8px;font-size:28px}.home-partner-card p{margin:0;color:var(--muted)}.home-partner-card>b{color:var(--cyan);white-space:nowrap}.partner-claim-panel{margin-bottom:28px;padding:22px;border-radius:22px;background:linear-gradient(135deg,rgba(89,217,223,.06),rgba(8,6,58,.8));border:1px solid rgba(89,217,223,.18)}.partner-claim-head{display:grid;grid-template-columns:90px 1fr;gap:17px;align-items:center;margin-bottom:20px}.partner-claim-head img{width:90px;height:90px;object-fit:cover;border-radius:16px}.partner-claim-head h3{margin:3px 0 6px;font-size:26px}.partner-claim-head p{margin:0;color:var(--muted);line-height:1.55}.partner-claim-status{padding:13px 14px;border-radius:14px;background:rgba(255,193,7,.055);border:1px solid rgba(255,193,7,.17)}.partner-claim-status b,.partner-claim-status span{display:block}.partner-claim-status span{color:var(--muted);font-size:11px;margin-top:4px}.partner-admin-claim{display:flex;justify-content:space-between;gap:18px;padding:16px;border-radius:16px;background:#090640;border:1px solid rgba(255,255,255,.07);margin-top:9px}.partner-admin-claim h3{margin:5px 0}.partner-admin-claim p{margin:3px 0;color:var(--muted)}.partner-duplicate-warning{display:block;color:#ffd36a;margin-top:7px;font-size:11px}
@keyframes servicePulse{50%{transform:scale(.75);opacity:.55}}@keyframes strobeBlink{0%,18%,100%{background:rgba(255,255,255,.35);box-shadow:none}7%,11%{background:#fff;box-shadow:0 0 22px #fff}}@keyframes pinBounce{50%{transform:translateY(-7px) rotate(-45deg)}}@keyframes techScan{0%,100%{transform:translateY(-9px)}50%{transform:translateY(9px)}}@keyframes fleetMove{50%{transform:translateX(8px)}}@keyframes specialRotate{to{transform:rotate(360deg)}}
@media(max-width:1050px){.services-small-grid{grid-template-columns:repeat(2,1fr)}.services-mega-grid{grid-template-columns:repeat(2,1fr)}.partner-hero-grid,.partner-benefit-grid{grid-template-columns:1fr}.partner-logo-lockup{max-width:520px}}
@media(max-width:900px){.services-mega-menu{position:static;display:none;padding:0;opacity:1;visibility:visible;transform:none;pointer-events:auto}.services-mobile-open .services-mega-menu{display:block}.services-mega-inner{display:block;border-radius:14px;padding:8px;background:#090640;box-shadow:none}.services-mega-intro{display:none}.services-mega-grid{grid-template-columns:1fr}.services-mega-grid>a{padding:11px 12px}.services-feature-grid{grid-template-columns:1fr}.service-feature-card{min-height:430px}.section-heading-row,.service-finder-shell{grid-template-columns:1fr}.partner-review{grid-template-columns:1fr}.home-partner-card{grid-template-columns:90px 1fr}.home-partner-card>b{grid-column:2}.home-partner-logo img{width:90px;height:90px}.dash-partner-card{grid-template-columns:1fr}}
@media(max-width:620px){:root{--section-space:42px}.services-hero{padding:48px 0 36px}.service-feature-card{min-height:380px;border-radius:22px}.service-feature-content{padding:22px}.service-feature-content h3{font-size:42px}.services-small-grid{grid-template-columns:1fr;gap:10px}.service-mini-card{min-height:240px;padding:20px}.service-finder-shell{padding:22px;gap:23px}.section-heading-row{gap:16px;margin-bottom:22px}.partner-hero{padding:50px 0 42px}.partner-hero h1{font-size:58px}.partner-hero p{font-size:15px}.partner-logo-lockup{padding:18px}.partner-steps{grid-template-columns:1fr}.partner-review{padding:18px;gap:20px}.partner-review blockquote{font-size:23px}.dash-partner-card{padding:20px}.home-partner-card{grid-template-columns:72px 1fr;padding:16px;gap:14px}.home-partner-logo img{width:72px;height:72px}.home-partner-card h2{font-size:20px}.partner-claim-panel{padding:16px}.partner-claim-head{grid-template-columns:65px 1fr}.partner-claim-head img{width:65px;height:65px}.partner-claim-head h3{font-size:21px}}
@media(prefers-reduced-motion:reduce){.service-feature-card video,.service-record-dot,.service-strobe-pair i,.service-motion-icon:before,.service-motion-icon:after{animation:none!important}.service-feature-card,.service-mini-card{transition:none!important}}

/* ========================= V43 public polish ========================= */
:root{--page-section-space-multiplier:1}
main>.section{padding-top:calc(64px * var(--page-section-space-multiplier));padding-bottom:calc(64px * var(--page-section-space-multiplier))}

/* Uniform services grid */
.services-uniform-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.service-uniform-card{position:relative;min-height:360px;border-radius:24px;overflow:hidden;border:1px solid rgba(89,217,223,.14);background:#09063d;isolation:isolate;transition:transform .35s ease,border-color .35s ease,box-shadow .35s ease}
.service-uniform-card:hover{transform:translateY(-7px);border-color:rgba(89,217,223,.5);box-shadow:0 24px 50px rgba(0,0,0,.22)}
.service-card-media,.service-card-media img,.service-card-media video{position:absolute;inset:0;width:100%;height:100%;display:block;object-fit:cover}
.service-card-media{z-index:-3}.service-card-media img,.service-card-media video{transition:transform .7s cubic-bezier(.2,.8,.2,1),filter .5s}
.service-uniform-card:hover .service-card-media img,.service-uniform-card:hover .service-card-media video{transform:scale(1.05);filter:saturate(1.08)}
.service-card-overlay{position:absolute;inset:0;z-index:-2;background:linear-gradient(180deg,rgba(5,3,42,.14),rgba(5,3,42,.72) 56%,rgba(5,3,42,.97))}
.service-uniform-copy{position:absolute;inset:auto 24px 24px;z-index:2}.service-uniform-copy h3{margin:0 0 9px;color:#59d9df;font-size:clamp(27px,2.4vw,39px);line-height:.98;letter-spacing:-.035em}.service-uniform-copy p{margin:0 0 15px;color:#d8d9e5;line-height:1.55}.service-uniform-copy b{font-size:11px;letter-spacing:.04em;color:#fff}
@media(max-width:1000px){.services-uniform-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.services-uniform-grid{grid-template-columns:1fr;gap:12px}.service-uniform-card{min-height:285px;border-radius:19px}.service-uniform-copy{inset:auto 18px 19px}.service-uniform-copy h3{font-size:30px}.service-explorer-section .section-heading-row{gap:12px;margin-bottom:22px}}

/* compact desktop services dropdown */
.services-dropdown-menu{position:absolute;top:calc(100% - 2px);z-index:200;width:430px;max-height:calc(100vh - 120px);overflow:auto;padding:12px;background:rgba(6,4,45,.98);border:1px solid rgba(89,217,223,.18);border-radius:0 0 18px 18px;box-shadow:0 24px 55px rgba(0,0,0,.34);opacity:0;visibility:hidden;transform:translateY(-6px);transition:.2s}
.services-menu-open .services-dropdown-menu{opacity:1;visibility:visible;transform:none}
.services-dropdown-head{display:flex;justify-content:space-between;align-items:center;padding:8px 10px 12px;border-bottom:1px solid rgba(255,255,255,.07)}.services-dropdown-head b{font-size:13px}.services-dropdown-head a{font-size:10px;color:#59d9df}
.services-dropdown-menu>a{display:block;padding:11px 10px;border-radius:11px;color:#fff}.services-dropdown-menu>a:hover{background:rgba(89,217,223,.07)}.services-dropdown-menu>a b,.services-dropdown-menu>a small{display:block}.services-dropdown-menu>a b{font-size:13px}.services-dropdown-menu>a small{margin-top:3px;color:#a7a8bb;font-size:10px;line-height:1.35}
.services-mobile-toggle,.services-mobile-submenu,.mobile-menu-actions{display:none}
@media(min-width:901px){.services-dropdown-menu{left:50%;transform:translate(-50%,-6px)}.services-menu-open .services-dropdown-menu{transform:translate(-50%,0)}}
@media(max-width:900px){
 .nav nav .services-menu-trigger{display:inline-flex!important;flex:1}.services-mobile-toggle{display:grid!important;place-items:center;width:42px;height:42px;margin-left:auto;border:0;background:rgba(89,217,223,.08);color:#59d9df;border-radius:12px;font-size:18px}.services-mobile-submenu{display:none;width:100%;padding:3px 0 8px 12px}.nav nav.services-mobile-expanded .services-mobile-submenu{display:grid}.services-mobile-submenu a{padding:10px 12px!important;border-left:1px solid rgba(89,217,223,.25);font-size:12px!important}.services-dropdown-menu{display:none!important}
 .mobile-menu-actions{display:grid;grid-template-columns:1fr;gap:8px;width:100%;margin-top:13px;padding-top:14px;border-top:1px solid rgba(255,255,255,.08)}.mobile-menu-actions a{display:flex!important;justify-content:center!important;border-radius:999px!important;padding:13px 16px!important;font-weight:800!important;text-transform:uppercase!important;letter-spacing:.06em!important}.mobile-login-action{border:1px solid rgba(255,255,255,.18)!important}.mobile-book-action{background:#59d9df!important;color:#05032a!important}
}

/* Partner booking - unmistakable first-step eligibility */
.around-bend-booking .partner-claim-panel{display:block!important;margin:18px 0 24px}.around-bend-booking .partner-booking-banner{border-color:rgba(89,217,223,.32);background:linear-gradient(135deg,rgba(89,217,223,.1),rgba(255,255,255,.025))}
.partner-claim-panel[hidden]{display:none!important}

/* Rebuilt partnership visuals */
.partner-code-poster{min-height:460px;border-radius:28px;padding:25px;background:radial-gradient(circle at 90% 20%,rgba(89,217,223,.14),transparent 36%),linear-gradient(145deg,#090640,#05032a);border:1px solid rgba(89,217,223,.2);display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;position:relative}.partner-code-poster:after{content:"";position:absolute;right:-80px;bottom:-110px;width:340px;height:340px;border:45px solid rgba(89,217,223,.035);border-radius:50%}.partner-code-brand{display:flex;align-items:center;gap:15px;position:relative;z-index:2}.partner-code-brand img:first-child{width:110px;height:82px;object-fit:contain;background:#fff;border-radius:14px;padding:7px}.partner-code-brand img:last-child{width:180px}.partner-code-brand span{font-size:25px;color:#59d9df}.partner-code-copy{position:relative;z-index:2}.partner-code-copy>small{color:#59d9df;font-weight:800;letter-spacing:.12em}.partner-code-copy h2{font-size:clamp(39px,5vw,67px);line-height:.9;margin:12px 0 17px;font-weight:300}.partner-code-copy h2 strong{color:#78e55f}.partner-code-copy h2 em{color:#59d9df;font-style:normal}.partner-code-copy p{max-width:520px;color:#cacbd8}.partner-code-copy>b{display:block;margin-top:15px}
.partner-discount-card{padding:30px;border-radius:25px;background:linear-gradient(150deg,#0b0844,#07052f);border:1px solid rgba(89,217,223,.2);display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.partner-discount-burst{width:125px;height:125px;border-radius:50%;display:grid;place-content:center;text-align:center;background:#59d9df;color:#05032a;font-size:43px;font-weight:900;line-height:.7;box-shadow:0 0 0 10px rgba(89,217,223,.07)}.partner-discount-burst small{font-size:20px}.partner-discount-burst em{display:block;font-size:10px;margin-top:12px;font-style:normal;letter-spacing:.1em}.partner-discount-card>p{font-size:23px;font-weight:700;line-height:1.2;margin:27px 0 10px}.partner-discount-card>small{color:#a8aabc;line-height:1.5;margin-bottom:20px}.partner-review-rebuilt{align-items:stretch}.partner-review-visual{position:relative;min-height:340px;border-radius:22px;overflow:hidden}.partner-review-visual img{width:100%;height:100%;object-fit:cover}.partner-review-stars{position:absolute;left:18px;bottom:18px;padding:9px 12px;border-radius:999px;background:#05032ad9;color:#fff;letter-spacing:.12em}.partner-review-offer{display:inline-flex;margin-top:20px;padding:10px 13px;border:1px solid rgba(89,217,223,.24);border-radius:999px;color:#59d9df;font-weight:700}
@media(max-width:700px){.partner-code-poster{min-height:390px;padding:20px}.partner-code-brand img:first-child{width:85px;height:64px}.partner-code-brand img:last-child{width:135px}.partner-review-visual{min-height:250px}}

/* FAQ */
.faq-layout{display:grid;grid-template-columns:300px 1fr;gap:42px;align-items:start}.faq-side{position:sticky;top:100px}.faq-topic-pills{display:flex;gap:7px;flex-wrap:wrap;margin-top:20px}.faq-topic-pills span{padding:7px 9px;border-radius:999px;border:1px solid rgba(89,217,223,.16);color:#59d9df;font-size:10px}.faq-animated-list{display:grid;gap:9px}.faq-animated-list details{border:1px solid rgba(255,255,255,.09);border-radius:16px;background:#090640;overflow:hidden;transition:border-color .25s,background .25s}.faq-animated-list details[open]{border-color:rgba(89,217,223,.35);background:#0b0847}.faq-animated-list summary{list-style:none;cursor:pointer;padding:18px 56px 18px 19px;font-weight:800;position:relative}.faq-animated-list summary::-webkit-details-marker{display:none}.faq-animated-list summary:after{content:"+";position:absolute;right:19px;top:50%;transform:translateY(-50%);font-size:24px;color:#59d9df;transition:.25s}.faq-animated-list details[open] summary:after{transform:translateY(-50%) rotate(45deg)}.faq-animated-list details p{padding:0 19px 19px;margin:0;color:#b9bbca;line-height:1.65;animation:faqReveal .28s ease}@keyframes faqReveal{from{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:none}}.faq-hero-mark{min-height:300px;border:1px solid rgba(89,217,223,.18);border-radius:28px;display:grid;place-content:center;text-align:center;background:radial-gradient(circle,rgba(89,217,223,.12),transparent 60%)}.faq-hero-mark span{font-size:110px;line-height:.8;color:#59d9df;font-weight:200}.faq-hero-mark b{margin-top:20px}.faq-hero-mark small{color:#a8aabc}.faq-contact-cta{display:flex;justify-content:space-between;align-items:center;gap:25px;padding:26px;border:1px solid rgba(89,217,223,.14);border-radius:22px;background:#090640}.faq-contact-cta h2{margin:4px 0}.faq-contact-cta p{margin:0;color:#b9bbca}.contact-faq-strip{padding:26px 0 0;background:#08053d}.contact-faq-card{display:grid;grid-template-columns:auto 1fr auto;gap:18px;align-items:center;padding:20px 22px;border:1px solid rgba(89,217,223,.17);border-radius:20px;background:#0a0744;color:#fff}.contact-faq-card:hover{border-color:rgba(89,217,223,.45)}.contact-faq-icon{width:50px;height:50px;border-radius:50%;display:grid;place-items:center;background:#59d9df;color:#05032a;font-size:27px;font-weight:900}.contact-faq-card h2{font-size:22px;margin:2px 0 5px}.contact-faq-card p{margin:0;color:#b9bbca}.contact-faq-card>b{color:#59d9df}
@media(max-width:800px){.faq-layout{grid-template-columns:1fr;gap:22px}.faq-side{position:static}.faq-contact-cta,.contact-faq-card{grid-template-columns:1fr}.contact-faq-icon{width:44px;height:44px}}

/* Shop search/features */
.shop-search-row{margin-bottom:16px}.shop-search-box{display:block}.shop-search-box>span{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:#8e90a5;margin-bottom:7px}.shop-search-box input{width:100%;height:52px;border-radius:15px;border:1px solid rgba(89,217,223,.16);background:#07052f;color:#fff;padding:0 17px;font:inherit}.shop-search-box input:focus{outline:none;border-color:#59d9df}.product-feature-chips{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0}.product-feature-chips span{display:inline-flex;padding:6px 9px;border-radius:999px;background:#0a1845;border:1px solid rgba(89,217,223,.16);color:#59d9df;font-size:9px;font-weight:750;letter-spacing:.025em}.product-feature-chips.large span{font-size:10px;padding:7px 10px}
.feature-checkbox-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.feature-checkbox-grid label{padding:10px;border-radius:11px;background:#08063a;border:1px solid rgba(255,255,255,.07);font-size:11px}.feature-checkbox-grid input{margin-right:6px}
@media(max-width:700px){.feature-checkbox-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Admin Page Builder / service media */
.page-builder-media-preview{margin-top:10px;min-height:70px;border-radius:14px;border:1px dashed rgba(89,217,223,.2);display:grid;place-items:center;overflow:hidden}.page-builder-media-preview img,.page-builder-media-preview video{display:block;width:100%;max-height:260px;object-fit:cover}

/* Warranty clarity */
.portal-warranty-summary{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:13px}.portal-warranty-summary>div{padding:11px 12px;border-radius:12px;background:#090640;border:1px solid rgba(255,255,255,.06)}.portal-warranty-summary b,.portal-warranty-summary span{display:block}.portal-warranty-summary b{color:#59d9df;font-size:10px;text-transform:uppercase}.portal-warranty-summary span{font-size:11px;color:#c8cad7;margin-top:3px}.portal-warranty-explain{padding:12px 14px;border-radius:13px;background:rgba(89,217,223,.045);border:1px solid rgba(89,217,223,.12);color:#c8cad7;line-height:1.55}.portal-warranty-detail>div:first-child>div b,.portal-warranty-detail>div:first-child>div small{display:block}.portal-warranty-detail>div:first-child>div small{color:#8e90a5;margin-top:2px}
@media(max-width:600px){.portal-warranty-summary{grid-template-columns:1fr}}

/* tighter mobile spacing / animations */
@media(max-width:700px){main>.section{padding-top:calc(42px * var(--page-section-space-multiplier));padding-bottom:calc(42px * var(--page-section-space-multiplier))}.section-title{margin-bottom:12px}.section-lead{margin-top:8px}.btn-row{margin-top:18px}.partner-benefit-grid,.partner-hero-grid{gap:24px}}
@media(prefers-reduced-motion:reduce){.service-uniform-card,.service-card-media img,.service-card-media video,.faq-animated-list details,.faq-animated-list summary:after{transition:none!important;animation:none!important}}

.dash-hardwire-included{display:flex;justify-content:space-between;align-items:center;gap:28px;padding:27px;border-radius:22px;background:#090640;border:1px solid rgba(89,217,223,.15)}.dash-hardwire-included h2{font-size:clamp(30px,4vw,50px);margin:4px 0 10px}.dash-hardwire-included p{max-width:760px;color:#b9bbca;line-height:1.6}@media(max-width:760px){.dash-hardwire-included{align-items:flex-start;flex-direction:column;padding:19px}}

/* ======================= V44 final-content polish ======================= */
.hero-phone-cta{display:inline-flex;flex-direction:column;align-items:center;margin-top:22px;color:#fff;text-decoration:none;transition:.25s}.hero-phone-cta small{font-size:10px;text-transform:uppercase;letter-spacing:.14em;color:#8f91a8}.hero-phone-cta span{font-size:clamp(25px,3vw,38px);font-weight:850;letter-spacing:-.03em;color:#59d9df;margin:2px 0}.hero-phone-cta b{font-size:10px;color:#b6b7c7;font-weight:600}.hero-phone-cta:hover{transform:translateY(-2px)}.hero-phone-cta:hover span{color:#fff}
@media(max-width:650px){.hero-phone-cta{margin-top:18px}.hero-phone-cta span{font-size:28px}}

/* Product feature composer */
.product-feature-editor{display:grid;gap:10px}.product-feature-add-row{display:grid;grid-template-columns:1fr auto;gap:8px}.product-feature-add-row button{border:0;border-radius:12px;background:#59d9df;color:#05032a;padding:0 16px;font-weight:850}.feature-suggestion-row{display:flex;flex-wrap:wrap;gap:6px}.feature-suggestion-row button{padding:7px 9px;border-radius:999px;border:1px solid rgba(89,217,223,.16);background:#08063a;color:#aeeff1;font-size:9px}.product-feature-admin-tags{display:flex;flex-wrap:wrap;gap:7px;min-height:42px;padding:9px;border-radius:13px;background:#07052f;border:1px solid rgba(255,255,255,.06)}.product-feature-admin-tags>span{display:inline-flex;align-items:center;gap:7px;padding:7px 8px 7px 10px;border-radius:999px;background:#102050;border:1px solid rgba(89,217,223,.2);color:#59d9df;font-size:10px;font-weight:750}.product-feature-admin-tags button{border:0;width:18px;height:18px;border-radius:50%;background:rgba(255,255,255,.09);color:#fff;cursor:pointer}

/* Visual page builder */
.visual-builder-shell{overflow:hidden}.builder-top-controls{display:grid;grid-template-columns:1.4fr .7fr 1fr;gap:12px;margin-bottom:18px}.visual-builder-grid{display:grid;grid-template-columns:390px minmax(0,1fr);gap:18px;min-height:690px}.builder-map-column,.builder-preview-column{border:1px solid rgba(255,255,255,.08);border-radius:20px;background:#060431;overflow:hidden}.builder-column-head,.builder-preview-bar{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:15px 16px;border-bottom:1px solid rgba(255,255,255,.07);background:#09063d}.builder-column-head span,.builder-preview-bar>span,.builder-editor-head span{display:block;font-size:9px;letter-spacing:.12em;color:#59d9df}.builder-column-head b{display:block;margin-top:4px}.builder-column-head small{max-width:160px;text-align:right;color:#8f91a8;line-height:1.35}.builder-section-map{padding:12px;display:grid;gap:8px;max-height:610px;overflow:auto}.builder-section-card{display:grid;grid-template-columns:36px 1fr;gap:9px;padding:11px;border-radius:13px;border:1px solid rgba(255,255,255,.07);background:#090640;transition:.2s}.builder-section-card:hover{border-color:rgba(89,217,223,.25)}.builder-section-card.is-hidden{opacity:.48}.builder-section-order{width:32px;height:32px;border-radius:9px;display:grid;place-items:center;background:rgba(89,217,223,.08);color:#59d9df;font-size:10px;font-weight:850}.builder-section-card-copy small,.builder-section-card-copy b,.builder-section-card-copy span{display:block}.builder-section-card-copy small{font-size:8px;color:#777a94;text-transform:uppercase}.builder-section-card-copy b{font-size:12px;margin:3px 0}.builder-section-card-copy span{font-size:9px;color:#9598ad}.builder-section-card-actions{grid-column:1/-1;display:grid;grid-template-columns:35px 35px 1fr 1fr;gap:5px}.builder-section-card-actions button{height:30px;border-radius:8px;border:1px solid rgba(255,255,255,.08);background:#07052f;color:#dfe0e8;font-size:9px;cursor:pointer}.builder-section-card-actions button:last-child{color:#59d9df}.builder-preview-bar>div{display:flex;gap:6px}.builder-preview-bar button{border:1px solid rgba(255,255,255,.09);background:#07052f;color:#fff;border-radius:9px;padding:7px 9px;font-size:9px}.builder-preview-wrap{height:640px;display:grid;place-items:start center;padding:14px;overflow:auto;background:#171727}.builder-preview-wrap iframe{border:0;background:#05032a;box-shadow:0 15px 45px rgba(0,0,0,.4);transition:.25s;transform-origin:top center}.builder-preview-wrap.desktop iframe{width:1280px;height:1800px;transform:scale(.55);margin-bottom:-810px}.builder-preview-wrap.mobile iframe{width:390px;height:1600px;transform:scale(.72);margin-bottom:-448px;border-radius:22px}.builder-editor-section{border-color:rgba(89,217,223,.14)}.builder-editor-head{margin-bottom:14px}.seo-serp-preview{max-width:720px;margin-top:18px;padding:18px;border-radius:15px;background:#fff;color:#202124}.seo-serp-preview>span{font-size:9px;color:#777}.seo-serp-preview h3{font:20px Arial,sans-serif;color:#1a0dab;margin:7px 0 4px}.seo-serp-preview p{font:13px Arial,sans-serif;margin:3px 0;color:#4d5156}.seo-serp-preview #pbSerpUrl{color:#202124;font-size:12px}
@media(max-width:1150px){.visual-builder-grid{grid-template-columns:1fr}.builder-section-map{max-height:420px}.builder-preview-wrap{height:580px}}
@media(max-width:700px){.builder-top-controls{grid-template-columns:1fr}.builder-preview-wrap.desktop iframe{width:1000px;transform:scale(.34);margin-bottom:-1180px}.builder-preview-wrap{height:430px}}

/* Blog */
.blog-hero-mark{min-height:280px;border-radius:27px;border:1px solid rgba(89,217,223,.17);display:grid;place-content:center;text-align:center;background:radial-gradient(circle at 50% 45%,rgba(89,217,223,.15),transparent 58%),#08063a}.blog-hero-mark span{font-size:72px;line-height:.8;color:#59d9df;font-weight:900}.blog-hero-mark b{margin-top:16px}.blog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.blog-card{border:1px solid rgba(255,255,255,.08);border-radius:21px;background:#090640;overflow:hidden}.blog-card-media{display:block;height:230px;overflow:hidden;background:#0b0847}.blog-card-media img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.blog-card:hover .blog-card-media img{transform:scale(1.04)}.blog-card-placeholder{height:100%;display:grid;place-items:center;background:radial-gradient(circle,rgba(89,217,223,.15),transparent 55%);color:#59d9df;font-size:28px;font-weight:850}.blog-card-copy{padding:18px}.blog-card-meta{display:flex;justify-content:space-between;gap:12px;font-size:9px;color:#8f91a8;text-transform:uppercase;letter-spacing:.06em}.blog-card-copy h2{font-size:23px;line-height:1.05;margin:12px 0}.blog-card-copy h2 a{color:#fff}.blog-card-copy p{color:#b9bbca;line-height:1.55}.blog-read-more{color:#59d9df;font-size:11px;font-weight:800}.blog-post-hero{padding:92px 0 54px;background:radial-gradient(circle at 80% 10%,rgba(89,217,223,.12),transparent 35%),#05032a}.blog-back{color:#59d9df;font-size:11px}.blog-post-meta{display:flex;gap:12px;margin:30px 0 13px;color:#59d9df;font-size:10px;text-transform:uppercase}.blog-post-hero h1{max-width:950px;font-size:clamp(45px,7vw,88px);line-height:.92;letter-spacing:-.045em;margin:0}.blog-post-hero p{max-width:850px;font-size:19px;color:#c3c5d2;line-height:1.55}.blog-post-image{margin-top:-25px}.blog-post-image img{width:100%;max-height:620px;object-fit:cover;border-radius:24px;border:1px solid rgba(255,255,255,.07)}.blog-article-layout{display:grid;grid-template-columns:minmax(0,760px) 280px;justify-content:center;gap:55px}.blog-article-content h2{font-size:34px;margin:38px 0 10px}.blog-article-content h3{font-size:25px;margin:30px 0 8px}.blog-article-content p{font-size:17px;line-height:1.8;color:#cacbd6}.blog-article-side{display:grid;gap:14px;align-content:start}.blog-article-side>div{padding:18px;border-radius:17px;background:#090640;border:1px solid rgba(255,255,255,.07)}.blog-article-side>div>span{color:#59d9df;font-size:9px;letter-spacing:.1em}.blog-article-side a:not(.btn){display:block;padding:6px 0;color:#59d9df}
@media(max-width:900px){.blog-grid{grid-template-columns:1fr 1fr}.blog-article-layout{grid-template-columns:1fr}.blog-article-side{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.blog-grid{grid-template-columns:1fr}.blog-card-media{height:210px}.blog-post-hero{padding-top:60px}.blog-article-side{grid-template-columns:1fr}}

/* Services dropdown removed completely */
.services-dropdown-menu,.services-mobile-toggle,.services-mobile-submenu{display:none!important}

.builder-media-slots{display:grid;gap:8px}.builder-media-slot{display:grid;grid-template-columns:70px 1fr auto auto;gap:10px;align-items:center;padding:8px;border:1px solid rgba(255,255,255,.07);border-radius:12px;background:#07052f}.builder-media-slot>div{height:52px;border-radius:8px;overflow:hidden;background:#111}.builder-media-slot img,.builder-media-slot video{width:100%;height:100%;object-fit:cover}.builder-media-slot span b,.builder-media-slot span small{display:block}.builder-media-slot span b{font-size:10px}.builder-media-slot span small{font-size:8px;color:#85879a}.builder-media-slot label,.builder-media-slot button{border:1px solid rgba(89,217,223,.15);border-radius:9px;padding:7px 9px;color:#59d9df;background:#08063a;font-size:9px;cursor:pointer}.builder-media-slot label input{display:none}@media(max-width:700px){.builder-media-slot{grid-template-columns:55px 1fr}.builder-media-slot label,.builder-media-slot button{grid-row:2}}

.blog-loading-card{grid-column:1/-1;padding:28px;border:1px solid rgba(89,217,223,.14);border-radius:18px;background:#090640;color:#c8cad7;text-align:center}

/* V44.2 builder save-state + social sharing image upload */
.seo-social-image-upload{display:flex;gap:8px;align-items:center;margin-top:9px;flex-wrap:wrap}
.seo-image-upload-button,.seo-social-image-upload button{display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:8px 12px;border-radius:10px;border:1px solid rgba(89,217,223,.18);background:#08063a;color:#59d9df;font-size:10px;font-weight:750;cursor:pointer}
.seo-image-upload-button input{display:none}
.seo-social-image-upload button{color:#c9cbd7;background:#07052f}
.seo-social-image-preview{margin-top:10px;min-height:96px;border-radius:14px;border:1px dashed rgba(89,217,223,.19);background:#07052f;display:flex;align-items:center;gap:13px;padding:10px;overflow:hidden}
.seo-social-image-preview>span{width:100%;text-align:center;color:#7e8095;font-size:10px}
.seo-social-image-preview img{width:150px;aspect-ratio:1200/630;object-fit:cover;border-radius:9px;border:1px solid rgba(255,255,255,.07)}
.seo-social-image-preview div b,.seo-social-image-preview div small{display:block}
.seo-social-image-preview div b{font-size:11px}
.seo-social-image-preview div small{margin-top:4px;color:#8f91a8;font-size:9px;line-height:1.45}
.admin-toast{min-width:0!important;width:auto!important;max-width:260px!important;padding:9px 13px!important;border-radius:999px!important;font-size:10px!important;font-weight:800!important;box-shadow:0 10px 30px rgba(0,0,0,.28)!important}
@media(max-width:600px){.seo-social-image-preview{align-items:flex-start;flex-direction:column}.seo-social-image-preview img{width:100%;max-width:260px}}

/* V44.3 homepage banner/ticker structure fix */
.home-promo-feature{padding:20px 0;background:#08053d;border-top:1px solid rgba(89,217,223,.1);border-bottom:1px solid rgba(89,217,223,.12)}
.home-promo-feature-inner{display:flex;align-items:center;justify-content:space-between;gap:26px;padding:24px 28px;border-radius:22px;background:linear-gradient(135deg,rgba(89,217,223,.13),rgba(9,6,64,.96) 45%,#090640);border:1px solid rgba(89,217,223,.22);overflow:hidden;position:relative}
.home-promo-feature-inner:after{content:"";position:absolute;right:-65px;top:-85px;width:270px;height:270px;border:36px solid rgba(89,217,223,.045);border-radius:50%;pointer-events:none}
.home-promo-feature-inner>div{position:relative;z-index:1}.home-promo-eyebrow{display:block;color:#59d9df;font-size:10px;font-weight:850;letter-spacing:.13em;text-transform:uppercase;margin-bottom:7px}.home-promo-feature h2{margin:0;font-size:clamp(25px,3.2vw,43px);line-height:1.02;max-width:760px}.home-promo-meta{display:flex;gap:10px;align-items:center;margin-top:12px}.home-promo-meta strong{padding:7px 10px;border-radius:9px;background:#59d9df;color:#05032a;font-size:11px}.home-promo-meta small{color:#aeb0c1}.home-promo-feature .btn{position:relative;z-index:1;flex:0 0 auto}
/* Header announcement remains a single non-sticky row; promotions are content sections on home. */
.global-ticker,.promo-banner{position:relative!important;top:auto!important}
@media(max-width:720px){.home-promo-feature{padding:12px 0}.home-promo-feature-inner{align-items:flex-start;flex-direction:column;padding:19px;border-radius:18px;gap:17px}.home-promo-feature h2{font-size:27px}.home-promo-feature .btn{width:100%;justify-content:center}.home-promo-meta{flex-wrap:wrap}}

/* V44.4 — remove phantom header spacer on homepage.
   The main navigation is fixed, so the homepage hero background can sit beneath it.
   If the editable announcement ticker exists, the ticker itself creates the required
   offset below the fixed navigation; main must not reserve a second header height. */
body[data-page-key="home"] main{padding-top:0!important;}
body[data-page-key="home"].has-global-ticker main{padding-top:0!important;}
body[data-page-key="home"].has-promo-banner main,
body[data-page-key="home"].has-promo-banner.has-global-ticker main{padding-top:0!important;}

/* The header ticker is the only element that should reserve the fixed-header offset. */
body[data-page-key="home"] .global-ticker{margin-top:var(--header-h)!important;}

/* No empty placeholder is retained when the ticker/promotion is not present. */
body[data-page-key="home"] main > .hero-section:first-child{margin-top:0!important;}

/* V44.5 scheduled announcement bar */
.scheduled-announcement{position:relative;z-index:78;margin-top:var(--header-h);min-height:44px;display:flex;align-items:center;border-bottom:1px solid rgba(255,255,255,.12);box-shadow:0 7px 22px rgba(0,0,0,.12)}
.has-scheduled-announcement .global-ticker{margin-top:0!important}
.scheduled-announcement-inner{width:min(1180px,calc(100% - 34px));margin:auto;min-height:44px;display:flex;align-items:center;justify-content:center;gap:12px;text-align:center;padding:7px 0}
.scheduled-announcement strong{font-size:12px;letter-spacing:.035em;line-height:1.35}
.scheduled-announcement a{font-size:10px;font-weight:850;text-transform:uppercase;letter-spacing:.07em;text-decoration:underline;text-underline-offset:3px}
.scheduled-announcement button{width:27px;height:27px;border-radius:50%;border:1px solid currentColor;background:transparent;color:inherit;font-size:17px;line-height:1;cursor:pointer;opacity:.75}
.scheduled-announcement-pulse{width:7px;height:7px;border-radius:50%;background:currentColor;opacity:.9;animation:announcementPulse 1.8s ease-in-out infinite}
@keyframes announcementPulse{50%{opacity:.3;transform:scale(.72)}}
.announcement-navy{background:#090640;color:#fff}.announcement-navy a{color:#59d9df}
.announcement-cyan{background:#59d9df;color:#05032a}.announcement-cyan a{color:#05032a}
.announcement-notice{background:#f7be48;color:#201700}.announcement-notice a{color:#201700}
.announcement-closed{background:#b9323f;color:#fff}.announcement-closed a{color:#fff}
.announcement-success{background:#3b9b69;color:#fff}.announcement-success a{color:#fff}

/* If scheduled announcement exists but normal ticker is suppressed, it alone creates the header offset. */
body.has-scheduled-announcement:not(.has-global-ticker) main{padding-top:0!important}
body.has-scheduled-announcement .scheduled-announcement + main{padding-top:0!important}

/* Admin schedule editor */
.announcement-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;margin-top:8px}
.announcement-days label{position:relative}.announcement-days input{position:absolute;opacity:0;pointer-events:none}.announcement-days span{display:grid;place-items:center;height:40px;border-radius:11px;border:1px solid rgba(255,255,255,.08);background:#07052f;color:#9496aa;font-size:10px;font-weight:800;cursor:pointer;transition:.18s}.announcement-days input:checked+span{background:rgba(89,217,223,.12);border-color:rgba(89,217,223,.45);color:#59d9df}
.announcement-day-toolbar{display:flex;gap:6px;flex-wrap:wrap}.announcement-day-toolbar button{border:1px solid rgba(89,217,223,.15);background:#08063a;color:#59d9df;border-radius:999px;padding:7px 10px;font-size:9px;cursor:pointer}
.scheduled-announcement-row .admin-row-copy small{display:block;margin-top:3px}
.admin-row-thumb.announcement-style-navy{background:#090640}.admin-row-thumb.announcement-style-cyan{background:#59d9df}.admin-row-thumb.announcement-style-notice{background:#f7be48}.admin-row-thumb.announcement-style-closed{background:#b9323f}.admin-row-thumb.announcement-style-success{background:#3b9b69}

@media(max-width:700px){
  .scheduled-announcement{min-height:48px}
  .scheduled-announcement-inner{width:calc(100% - 22px);min-height:48px;gap:8px;padding:7px 0}
  .scheduled-announcement strong{font-size:10px;line-height:1.35}
  .scheduled-announcement a{font-size:8px}
  .scheduled-announcement-pulse{display:none}
  .announcement-days{grid-template-columns:repeat(4,minmax(0,1fr))}
}
@media(prefers-reduced-motion:reduce){.scheduled-announcement-pulse{animation:none}}

/* V44.6 content/admin polish */
.service-admin-list{display:grid;gap:12px}.service-admin-card{display:grid;grid-template-columns:150px 1fr auto;gap:15px;align-items:center;padding:12px;border-radius:16px;background:#08063a;border:1px solid rgba(255,255,255,.07)}.service-admin-media{height:96px;border-radius:12px;overflow:hidden;background:#05032a;display:grid;place-items:center;color:#777}.service-admin-media img,.service-admin-media video{width:100%;height:100%;object-fit:cover}.service-admin-copy h3{font-size:18px;margin:3px 0 5px}.service-admin-copy p{color:#a8aabc;font-size:11px}.service-admin-meta{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}.service-admin-meta span{padding:5px 7px;border-radius:999px;background:#0d1648;color:#59d9df;font-size:8px}.service-admin-actions{display:grid;gap:6px}.service-admin-actions button,.service-admin-actions a{padding:8px 11px;border-radius:9px;border:1px solid rgba(89,217,223,.15);background:#07052f;color:#59d9df;font-size:9px;text-align:center}
.blog-admin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.blog-admin-card{display:grid;grid-template-columns:120px 1fr;gap:12px;padding:12px;border-radius:16px;background:#08063a;border:1px solid rgba(255,255,255,.07)}.blog-admin-card img,.blog-admin-placeholder{width:120px;height:100px;object-fit:cover;border-radius:10px}.blog-admin-placeholder{display:grid;place-items:center;background:#0c1244;color:#59d9df;font-weight:900}.blog-admin-copy h3{font-size:16px;margin:4px 0}.blog-admin-copy p{font-size:10px;color:#a8aabc;line-height:1.45}.blog-admin-actions{grid-column:1/-1;display:flex;gap:6px}.blog-admin-actions button,.blog-admin-actions a{padding:7px 10px;border-radius:8px;border:1px solid rgba(255,255,255,.08);background:#07052f;color:#fff;font-size:9px}
.review-admin-list{display:grid;gap:10px}.review-admin-card{display:grid;grid-template-columns:82px 1fr auto;gap:12px;padding:12px;border-radius:16px;background:#08063a;border:1px solid rgba(255,255,255,.07)}.review-admin-card>img,.review-admin-placeholder{width:82px;height:82px;object-fit:cover;border-radius:12px}.review-admin-placeholder{display:grid;place-items:center;background:#0d1648;color:#59d9df;font-size:27px}.review-admin-card p{font-size:10px;color:#a8aabc}.review-admin-card>div:last-child{display:grid;gap:6px}.review-admin-stars{color:#fff;letter-spacing:.08em}
.discount-admin-list{display:grid;gap:10px}.discount-admin-card{display:grid;grid-template-columns:110px 1fr auto;gap:13px;align-items:center;padding:13px;border:1px solid rgba(255,255,255,.07);border-radius:15px;background:#08063a}.discount-code-badge{display:grid;place-items:center;min-height:62px;border-radius:12px;background:#0d1648;color:#59d9df;font-weight:900;letter-spacing:.08em}.discount-admin-copy>div{display:flex;align-items:center;gap:8px}.discount-admin-copy h3{margin:0}.discount-admin-copy p{margin:5px 0;color:#c2c3cf;font-size:10px}.discount-progress{height:7px;border-radius:999px;background:#05032a;overflow:hidden}.discount-progress i{display:block;height:100%;background:#59d9df}.discount-admin-copy small{display:block;margin-top:5px;color:#83869a}.discount-admin-actions{display:grid;gap:5px}.discount-admin-actions button{padding:7px 9px;border-radius:8px;border:1px solid rgba(255,255,255,.08);background:#07052f;color:#fff;font-size:9px}
.home-phone-admin-preview{display:flex;flex-direction:column;align-items:center;padding:20px;border-radius:15px;background:#05032a;border:1px solid rgba(89,217,223,.12)}.home-phone-admin-preview span{font-size:calc(30px * var(--home-phone-scale,1));color:#59d9df;font-weight:850}.home-phone-admin-preview small,.home-phone-admin-preview b{font-size:9px;color:#9698ab}.hero-phone-cta span{font-size:calc(clamp(25px,3vw,38px) * var(--home-phone-scale,1))!important}
.case-study-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.case-study-card{border-radius:22px;overflow:hidden;border:1px solid rgba(255,255,255,.08);background:#090640}.case-study-media{height:300px;overflow:hidden}.case-study-media img{width:100%;height:100%;object-fit:cover}.case-study-copy{padding:20px}.case-study-meta{display:flex;justify-content:space-between;color:#59d9df;font-size:9px;text-transform:uppercase}.case-study-copy h3{font-size:28px;margin:9px 0}.case-study-copy p{color:#b9bbca;line-height:1.6}.case-study-copy details{margin-top:13px;border-top:1px solid rgba(255,255,255,.08);padding-top:12px}.case-study-copy summary{cursor:pointer;color:#59d9df;font-weight:800}.case-study-admin-list{display:grid;gap:10px}.case-study-admin-card{display:grid;grid-template-columns:110px 1fr auto;gap:12px;padding:12px;border-radius:15px;background:#08063a;border:1px solid rgba(255,255,255,.07)}.case-study-admin-card img{width:110px;height:82px;object-fit:cover;border-radius:10px}.case-study-admin-card p{font-size:10px;color:#a8aabc}
.review-shared-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.shared-review-card{padding:19px;border-radius:18px;background:#090640;border:1px solid rgba(255,255,255,.08)}.shared-review-card>img{width:100%;height:150px;object-fit:cover;border-radius:12px;margin-bottom:13px}.shared-review-stars{letter-spacing:.08em;margin-bottom:8px}.shared-review-card blockquote{margin:0 0 14px;color:#d4d5de;line-height:1.55}.shared-review-card b,.shared-review-card small{display:block}.shared-review-card small{color:#8f91a8;margin-top:3px}
@media(max-width:850px){.service-admin-card,.discount-admin-card,.case-study-admin-card{grid-template-columns:100px 1fr}.service-admin-actions,.discount-admin-actions{grid-column:1/-1;display:flex}.blog-admin-grid,.case-study-grid{grid-template-columns:1fr}.review-shared-grid{grid-template-columns:1fr}.review-admin-card{grid-template-columns:70px 1fr}.review-admin-card>div:last-child{grid-column:1/-1;display:flex}}

/* ======================== V45 Customer Portal / Garage ======================== */
.customer-portal-body{padding-bottom:0}
.portal-app-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;padding:24px 26px;border-radius:24px;background:radial-gradient(circle at 80% 10%,rgba(89,217,223,.14),transparent 38%),linear-gradient(140deg,#0b0848,#07042f);border:1px solid rgba(89,217,223,.16);margin-bottom:15px}.portal-app-hero h2{font-size:clamp(28px,4vw,48px);margin:7px 0 4px;letter-spacing:-.035em}.portal-app-hero p{margin:0;color:#b5b7c7}.portal-app-hero-actions{display:flex;gap:8px;flex-wrap:wrap}
.portal-dashboard-grid{display:grid;grid-template-columns:1.35fr .85fr;gap:14px;margin-bottom:15px}.portal-dashboard-card{min-height:190px;padding:18px;border-radius:20px;background:#090640;border:1px solid rgba(255,255,255,.07)}.portal-card-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:17px}.portal-card-heading>span{font-size:10px;color:#59d9df;text-transform:uppercase;letter-spacing:.1em;font-weight:800}.portal-card-heading a{font-size:9px;color:#a9e9eb}
#portalNextAppointment{display:flex;gap:17px;align-items:center}.portal-next-date{width:84px;min-width:84px;height:105px;border-radius:17px;background:#59d9df;color:#05032a;display:flex;flex-direction:column;align-items:center;justify-content:center}.portal-next-date span{font-size:9px;font-weight:900;letter-spacing:.1em}.portal-next-date b{font-size:42px;line-height:.9}.portal-next-date small{font-size:11px;font-weight:800}.portal-next-copy small{color:#8b8ea4;font-size:9px;letter-spacing:.08em}.portal-next-copy h3{font-size:25px;margin:4px 0}.portal-next-copy p{margin:0 0 7px;color:#b8bac8}.portal-next-copy button,.portal-empty-mini button,.portal-finance-links button{border:0;background:transparent;color:#59d9df;padding:0;font:inherit;font-size:10px;font-weight:800;cursor:pointer}.portal-finance-number small,.portal-finance-number b,.portal-finance-number span{display:block}.portal-finance-number small{color:#8b8ea4}.portal-finance-number b{font-size:38px;color:#59d9df;margin:5px 0}.portal-finance-number span{font-size:10px;color:#a9abb9}.portal-finance-links{display:flex;gap:12px;margin-top:20px}
.portal-heading-with-action{display:flex!important;align-items:end;justify-content:space-between;gap:15px}.portal-garage-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.portal-garage-card{padding:17px;border-radius:19px;background:linear-gradient(145deg,#0a0744,#080537);border:1px solid rgba(255,255,255,.07);overflow:hidden}.portal-garage-card-top{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.portal-garage-card-top small{color:#8e91a5}.portal-garage-card-top h4{font-size:22px;margin:3px 0}.portal-garage-card-top span{font-size:10px;color:#b5b7c6}.portal-reg-plate{display:inline-grid;place-items:center;min-width:96px;padding:8px 10px;border-radius:8px;background:#f7cf32;color:#111;font:800 14px/1 Arial,sans-serif;letter-spacing:.09em;box-shadow:inset 0 0 0 2px rgba(0,0,0,.12)}.portal-reg-plate.large{font-size:18px;padding:12px 15px}.portal-garage-summary{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin:16px 0}.portal-garage-summary>div{padding:10px;border-radius:12px;background:#060431;border:1px solid rgba(255,255,255,.05)}.portal-garage-summary b,.portal-garage-summary span{display:block}.portal-garage-summary b{color:#59d9df;font-size:13px}.portal-garage-summary span{font-size:8px;color:#8f91a5;margin-top:3px}.portal-garage-last{padding:10px 0 13px}.portal-garage-last small,.portal-garage-last b,.portal-garage-last span{display:block}.portal-garage-last small{font-size:8px;color:#787b90;text-transform:uppercase}.portal-garage-last b{font-size:11px;margin:3px 0}.portal-garage-last span{font-size:9px;color:#9b9dad}
.portal-garage-overview{margin-top:15px}.portal-garage-overview-card{width:100%;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:13px;padding:13px;border:1px solid rgba(255,255,255,.07);border-radius:16px;background:#090640;color:#fff;text-align:left;cursor:pointer}.portal-garage-overview-card:hover{border-color:rgba(89,217,223,.3)}.portal-garage-overview-card small,.portal-garage-overview-card h4,.portal-garage-overview-card p{display:block;margin:0}.portal-garage-overview-card h4{margin:3px 0;font-size:15px}.portal-garage-overview-card p{font-size:9px;color:#9295aa}.portal-garage-overview-card>strong{color:#59d9df;font-size:10px}
.portal-aftercare-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.portal-aftercare-card{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;padding:14px;border-radius:16px;border:1px solid rgba(255,255,255,.07);background:#090640;color:#fff;text-align:left;cursor:pointer}.portal-aftercare-card.featured{background:linear-gradient(135deg,rgba(89,217,223,.11),#090640);border-color:rgba(89,217,223,.2)}.portal-aftercare-icon{width:38px;height:38px;border-radius:12px;background:#0d1649;color:#59d9df;display:grid;place-items:center;font-size:18px;font-weight:900}.portal-aftercare-card small,.portal-aftercare-card b,.portal-aftercare-card p{display:block;margin:0}.portal-aftercare-card small{font-size:8px;color:#59d9df;letter-spacing:.08em}.portal-aftercare-card b{font-size:12px;margin:3px 0}.portal-aftercare-card p{font-size:9px;color:#979aaf;line-height:1.4}.portal-aftercare-card>strong{color:#59d9df}
.portal-overview-stats-v45{margin-top:14px}.portal-garage-drawer-head{display:flex;align-items:center;gap:16px;padding:14px;border-radius:16px;background:#08063a;border:1px solid rgba(89,217,223,.12);margin-bottom:14px}.portal-garage-drawer-head h3{margin:2px 0}.portal-garage-drawer-head p{margin:0;color:#9396aa}.portal-vehicle-history{display:grid;gap:7px}.portal-vehicle-history button{display:grid;grid-template-columns:12px 1fr auto;gap:10px;align-items:center;padding:10px;border:0;border-radius:12px;background:#08063a;color:#fff;text-align:left;cursor:pointer}.portal-vehicle-history button>span{width:8px;height:8px;border-radius:50%;background:#59d9df}.portal-vehicle-history small,.portal-vehicle-history b{display:block}.portal-vehicle-history small{font-size:8px;color:#85889c}.portal-vehicle-history b{font-size:11px;margin-top:2px}.portal-vehicle-history strong{color:#59d9df;font-size:9px}.portal-incident-box{padding:15px;border-radius:15px;background:rgba(89,217,223,.055);border:1px solid rgba(89,217,223,.13)}.portal-incident-box p{color:#b0b2c0;line-height:1.5}.portal-incident-guide ol{display:grid;gap:9px;padding-left:0;counter-reset:incident}.portal-incident-guide li{list-style:none;counter-increment:incident;display:grid;grid-template-columns:34px 1fr;column-gap:10px;padding:11px;border-radius:12px;background:#08063a}.portal-incident-guide li:before{content:counter(incident);grid-row:1/3;width:29px;height:29px;border-radius:50%;display:grid;place-items:center;background:#59d9df;color:#05032a;font-weight:900}.portal-incident-guide li b,.portal-incident-guide li span{display:block}.portal-incident-guide li span{grid-column:2;color:#a7a9b8;font-size:10px;margin-top:3px}.portal-incident-alert{padding:15px;border-radius:15px;background:#351e1e;border:1px solid rgba(255,170,120,.16);margin-bottom:12px}
.portal-mobile-nav{display:none}

/* Completion pack */
.completion-pack-body{background:#eef0f4;color:#171822;font-family:Inter,Arial,sans-serif;padding:25px}.completion-pack-toolbar{max-width:900px;margin:0 auto 12px;display:flex;justify-content:space-between;align-items:center}.completion-pack-toolbar a{color:#05032a}.completion-pack-toolbar button{border:0;border-radius:10px;background:#05032a;color:#fff;padding:10px 14px;font-weight:800}.completion-pack-sheet{max-width:900px;margin:auto;background:#fff;padding:38px;border-radius:7px;box-shadow:0 15px 45px rgba(0,0,0,.08)}.completion-pack-sheet header{display:flex;align-items:center;justify-content:space-between;gap:25px;padding-bottom:25px;border-bottom:4px solid #59d9df}.completion-pack-sheet header img{width:260px;filter:none}.completion-pack-sheet header small{color:#458f94;font-weight:800;letter-spacing:.1em}.completion-pack-sheet header h1{font-size:32px;margin:4px 0}.completion-pack-sheet header p{margin:0;color:#737681}.completion-pack-sheet section{padding:22px 0;border-bottom:1px solid #e8e9ed}.completion-pack-sheet h2{font-size:17px;color:#05032a;margin:0 0 13px}.completion-pack-highlight,.completion-pack-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.completion-pack-highlight>div,.completion-pack-grid>div,.completion-pack-line{padding:13px;border-radius:10px;background:#f6f7f9}.completion-pack-sheet small,.completion-pack-sheet b,.completion-pack-sheet span{display:block}.completion-pack-sheet small{font-size:9px;color:#777b86;text-transform:uppercase}.completion-pack-sheet b{margin:3px 0}.completion-pack-line{margin-bottom:7px}.completion-pack-support{background:#f0fbfc;padding:18px!important;border-radius:12px;margin-top:18px;border:0!important}.completion-pack-sheet footer{display:flex;justify-content:space-between;gap:15px;padding-top:20px;color:#727581;font-size:9px}.completion-pack-error{max-width:600px;margin:100px auto;background:white;padding:30px;border-radius:14px}
@media print{.completion-pack-body{background:#fff;padding:0}.completion-pack-toolbar{display:none}.completion-pack-sheet{box-shadow:none;border-radius:0;max-width:none;padding:22px}.completion-pack-sheet header img{width:220px}}

@media(max-width:900px){.portal-dashboard-grid{grid-template-columns:1fr}.portal-aftercare-grid{grid-template-columns:1fr}.portal-garage-grid{grid-template-columns:1fr}}
@media(max-width:700px){
 .customer-portal-body{padding-bottom:78px}.portal-sidebar{display:none}.portal-grid{display:block}.portal-top-nav nav,.portal-top-nav .navcall{display:none}.portal-main{width:100%}
 .portal-app-hero{align-items:flex-start;flex-direction:column;padding:18px}.portal-app-hero-actions{width:100%}.portal-app-hero-actions .btn{flex:1}
 .portal-dashboard-card{min-height:0;padding:15px}.portal-heading-with-action{align-items:flex-start;flex-direction:column}.portal-garage-overview-card{grid-template-columns:1fr}.portal-garage-overview-card .portal-reg-plate{justify-self:start}.portal-garage-overview-card>strong{justify-self:start}
 .portal-garage-card-top{flex-direction:column}.portal-garage-summary{grid-template-columns:1fr 1fr}
 .portal-mobile-nav{position:fixed;z-index:220;left:10px;right:10px;bottom:10px;height:62px;display:grid;grid-template-columns:repeat(5,1fr);align-items:center;padding:5px;border-radius:20px;background:rgba(7,5,47,.96);border:1px solid rgba(255,255,255,.1);box-shadow:0 15px 40px rgba(0,0,0,.35);backdrop-filter:blur(16px)}
 .portal-mobile-nav button{height:50px;border:0;background:transparent;color:#8f92a8;border-radius:14px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:2px;font-size:15px}.portal-mobile-nav button b{font-size:8px}.portal-mobile-nav button.active{background:rgba(89,217,223,.08);color:#59d9df}.portal-mobile-nav .portal-mobile-book{background:#59d9df;color:#05032a}.portal-mobile-nav .portal-mobile-book.active{background:#fff;color:#05032a}
 .completion-pack-body{padding:0}.completion-pack-sheet{padding:20px;border-radius:0}.completion-pack-sheet header{align-items:flex-start;flex-direction:column}.completion-pack-sheet header img{width:210px}.completion-pack-highlight,.completion-pack-grid{grid-template-columns:1fr}
}

/* ================= V45.1 Customer Database ================= */
.customer-admin-stats,.customer-linked-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin:13px 0 16px}.customer-admin-stats>div,.customer-linked-stats>div{padding:12px;border-radius:13px;background:#08063a;border:1px solid rgba(255,255,255,.07)}.customer-admin-stats small,.customer-admin-stats b,.customer-linked-stats small,.customer-linked-stats b{display:block}.customer-admin-stats small,.customer-linked-stats small{font-size:8px;color:#85889d;text-transform:uppercase;letter-spacing:.08em}.customer-admin-stats b,.customer-linked-stats b{font-size:22px;color:#59d9df;margin-top:3px}
.customer-admin-list{display:grid;gap:9px}.customer-admin-card{display:grid;grid-template-columns:52px 1fr auto;gap:12px;align-items:center;padding:13px;border-radius:16px;background:#08063a;border:1px solid rgba(255,255,255,.07)}.customer-admin-card.suspended{border-color:rgba(255,130,140,.2);opacity:.72}.customer-avatar{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;background:#0d1648;color:#59d9df;font-size:20px;font-weight:900}.customer-admin-main h3,.customer-admin-main p{margin:0}.customer-admin-main p{color:#b4b6c6;font-size:11px;margin:3px 0}.customer-admin-main>small{color:#7f8297;font-size:8px}.customer-admin-name{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.customer-admin-name h3{font-size:16px}.customer-demo-badge,.customer-suspended-badge{padding:4px 6px;border-radius:999px;font-size:7px;font-weight:900;letter-spacing:.08em}.customer-demo-badge{background:rgba(89,217,223,.11);color:#59d9df}.customer-suspended-badge{background:rgba(255,110,120,.12);color:#ff8f99}.customer-mini-counts{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}.customer-mini-counts span{padding:5px 7px;border-radius:999px;background:#060431;color:#9da0b3;font-size:8px}.customer-admin-card-actions button{padding:8px 10px;border-radius:9px;border:1px solid rgba(89,217,223,.18);background:#07052f;color:#59d9df;font-size:9px;cursor:pointer}
.customer-admin-success,.customer-temp-password{margin-top:14px;padding:14px;border-radius:14px;background:rgba(89,217,223,.06);border:1px solid rgba(89,217,223,.15)}.customer-admin-success b,.customer-admin-success span,.customer-admin-success small,.customer-temp-password small,.customer-temp-password strong,.customer-temp-password p{display:block}.customer-admin-success span{margin:5px 0;color:#d5d6df}.customer-admin-success small,.customer-temp-password small{color:#8d90a5;font-size:8px}.customer-temp-password strong{font-size:25px;letter-spacing:.05em;color:#59d9df;margin:6px 0}.customer-temp-password p{margin:0;color:#a8aabb;font-size:10px}.customer-linked-records{display:grid;gap:6px}.customer-linked-row{display:grid;grid-template-columns:90px 130px 1fr 150px;gap:10px;align-items:center;padding:10px 12px;border-radius:11px;background:#08063a;border:1px solid rgba(255,255,255,.055)}.customer-linked-row span{font-size:8px;color:#59d9df;text-transform:uppercase}.customer-linked-row b{font-size:10px}.customer-linked-row p{margin:0;font-size:10px;color:#c0c2ce}.customer-linked-row small{color:#7f8297;font-size:8px;text-align:right}
@media(max-width:900px){.customer-admin-stats,.customer-linked-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.customer-linked-row{grid-template-columns:80px 1fr}.customer-linked-row p,.customer-linked-row small{grid-column:2}.customer-linked-row small{text-align:left}}
@media(max-width:650px){.customer-admin-card{grid-template-columns:45px 1fr}.customer-admin-card-actions{grid-column:1/-1}.customer-admin-card-actions button{width:100%}.customer-admin-stats,.customer-linked-stats{grid-template-columns:1fr 1fr}}

/* ================= V45.2 usability & customer aftercare ================= */
.admin-modal[hidden]{display:none!important}.admin-modal{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:20px}.admin-modal-backdrop{position:absolute;inset:0;background:rgba(2,2,24,.78);backdrop-filter:blur(9px)}.admin-modal-card{position:relative;z-index:1;width:min(760px,100%);max-height:calc(100vh - 40px);overflow:auto;border-radius:24px;padding:22px;background:linear-gradient(180deg,#0a073e,#07052f);border:1px solid rgba(89,217,223,.18);box-shadow:0 30px 100px rgba(0,0,0,.55)}.admin-modal-close{width:36px;height:36px;border-radius:50%;border:1px solid rgba(255,255,255,.08);background:#060431;color:#fff;font-size:20px;cursor:pointer}.customer-create-modal .admin-form{margin-top:15px}.modal-open{overflow:hidden}

.contact-open-status{display:grid;grid-template-columns:auto 1fr;gap:11px;align-items:center;padding:12px 13px;margin:14px 0;border-radius:14px;border:1px solid rgba(255,255,255,.07);background:#08063a}.contact-status-dot{width:12px;height:12px;border-radius:50%;background:#8a8d9d;box-shadow:0 0 0 6px rgba(138,141,157,.08)}.contact-open-status small,.contact-open-status b,.contact-open-status p{display:block;margin:0}.contact-open-status small{font-size:8px;color:#8e91a4;text-transform:uppercase;letter-spacing:.09em}.contact-open-status b{font-size:15px;margin:2px 0}.contact-open-status p{font-size:9px;color:#a8abba}.contact-open-status.is-open{border-color:rgba(68,214,140,.2);background:rgba(34,113,78,.12)}.contact-open-status.is-open .contact-status-dot{background:#45d58e;box-shadow:0 0 0 6px rgba(69,213,142,.09)}.contact-open-status.is-open b{color:#73e9ad}.contact-open-status.is-closed{border-color:rgba(255,112,122,.15)}.contact-open-status.is-closed .contact-status-dot{background:#ff737e;box-shadow:0 0 0 6px rgba(255,115,126,.08)}

.portal-health-card .portal-aftercare-icon{font-size:10px;letter-spacing:.04em}.portal-mini-health-progress,.portal-health-progress{height:7px;border-radius:999px;background:#05032a;overflow:hidden}.portal-mini-health-progress{margin:7px 0}.portal-mini-health-progress i,.portal-health-progress i{display:block;height:100%;border-radius:inherit;background:#59d9df}.portal-health-card.overdue{border-color:rgba(255,170,80,.23)}.portal-health-card.overdue .portal-mini-health-progress i{background:#f0b45a}.portal-health-hero{display:grid;grid-template-columns:1fr 96px;gap:16px;align-items:center;padding:17px;border-radius:17px;background:linear-gradient(135deg,rgba(89,217,223,.08),#08063a);border:1px solid rgba(89,217,223,.14)}.portal-health-hero small{color:#59d9df;font-size:8px;letter-spacing:.08em}.portal-health-hero h3{font-size:28px;margin:5px 0}.portal-health-hero p{color:#b3b5c3;line-height:1.55}.portal-health-ring{width:88px;height:88px;border-radius:50%;display:grid;place-items:center;border:8px solid rgba(89,217,223,.18);color:#59d9df;font-weight:900}.portal-health-progress{margin:11px 0 16px}.portal-health-warning{padding:14px;border-radius:14px;background:#351f20;border:1px solid rgba(255,147,100,.18)}.portal-health-warning p{margin:5px 0 0;color:#e4c8c8}.portal-health-reasons{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.portal-health-reasons>div{padding:12px;border-radius:12px;background:#08063a}.portal-health-reasons p{font-size:9px;color:#9ea1b3;line-height:1.5}.portal-health-steps{display:grid;gap:8px;padding-left:0;counter-reset:health}.portal-health-steps li{list-style:none;counter-increment:health;display:grid;grid-template-columns:34px 1fr;gap:9px;padding:11px;border-radius:12px;background:#08063a}.portal-health-steps li:before{content:counter(health);grid-row:1/3;width:29px;height:29px;border-radius:50%;display:grid;place-items:center;background:#59d9df;color:#05032a;font-weight:900}.portal-health-steps li span{grid-column:2;color:#9da0b1;font-size:9px}

.warranty-summary-v452{grid-template-columns:1fr 1fr!important;gap:10px!important}.warranty-summary-card{padding:13px!important;border-radius:14px!important;background:#08063a!important;border:1px solid rgba(255,255,255,.06)}.warranty-summary-card small{font-size:8px;color:#8c8fa2;letter-spacing:.08em}.warranty-summary-card b{font-size:13px!important;margin:4px 0!important}.warranty-summary-card span{display:block;color:#59d9df!important;font-weight:800}.warranty-summary-card p{margin:6px 0 0!important;font-size:8px!important;line-height:1.45;color:#9295a8!important}.warranty-summary-card.workmanship{border-left:3px solid #59d9df}.warranty-summary-card.product{border-left:3px solid #8fb6ff}

.portal-nav-icon{width:21px;height:21px;display:grid;place-items:center}.portal-nav-icon svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.portal-mobile-nav button{gap:3px!important}
.dash-kit-choice{margin:0 0 16px}.hardwire-proof-upload{margin-top:11px;padding:12px;border-radius:12px;background:#08063a;border:1px solid rgba(89,217,223,.12)}

@media(max-width:900px){
 :root{--header-h:64px}
 .nav{height:64px!important;justify-content:center!important;padding:0 14px!important}
 .nav .brand{position:absolute!important;left:50%!important;transform:translateX(-50%)!important}
 .nav .brand img{width:180px!important;max-height:48px!important;object-fit:contain}
 .nav .menu{position:absolute!important;right:14px!important}
 .global-ticker{top:64px!important}
 .has-global-ticker main{padding-top:36px!important}.has-promo-banner main{padding-top:42px!important}.has-promo-banner.has-global-ticker main{padding-top:78px!important}
 .hero-center{min-height:auto!important;padding:26px 0 36px!important}
 .customer-portal-body main>.section{padding-top:18px!important}
 .customer-portal-body main>.section>.container>.kicker{margin-top:0!important}
 .customer-portal-body main>.section>.container>.section-title{font-size:clamp(39px,9vw,62px)!important;line-height:.94!important;margin-bottom:22px!important}
}
@media(max-width:620px){
 .customer-portal-body .portal-top-nav{height:62px!important}.customer-portal-body .portal-top-nav .brand img{width:190px!important}
 .customer-portal-body main>.section{padding-top:10px!important}.customer-portal-body main>.section>.container>.section-title{font-size:43px!important;line-height:.92!important;margin-top:7px!important}.portal-app-hero{margin-top:6px!important}
 .portal-health-hero{grid-template-columns:1fr}.portal-health-ring{width:72px;height:72px}.portal-health-reasons{grid-template-columns:1fr}.warranty-summary-v452{grid-template-columns:1fr!important}
}

/* ================= V45.4 stable customer app shell ================= */
.portal-menu-toggle{display:none;width:42px;height:42px;border-radius:13px;border:1px solid rgba(89,217,223,.22);background:#090640;align-items:center;justify-content:center;flex-direction:column;gap:4px;padding:0;cursor:pointer}
.portal-menu-toggle span{width:18px;height:2px;border-radius:3px;background:#59d9df}
.portal-app-menu[hidden]{display:none!important}.portal-app-menu{position:fixed;inset:0;z-index:700}.portal-app-menu-backdrop{position:absolute;inset:0;border:0;background:rgba(2,2,24,.76);backdrop-filter:blur(8px)}
.portal-app-menu-sheet{position:absolute;top:0;right:0;width:min(430px,92vw);height:100%;overflow:auto;background:#07052f;border-left:1px solid rgba(89,217,223,.16);box-shadow:-30px 0 80px rgba(0,0,0,.45);padding:18px}
.portal-app-menu-head{display:flex;align-items:center;justify-content:space-between;gap:15px;padding-bottom:14px;border-bottom:1px solid rgba(255,255,255,.07)}
.portal-app-menu-head small,.portal-app-menu-head b{display:block}.portal-app-menu-head small{font-size:8px;letter-spacing:.1em;color:#59d9df}.portal-app-menu-head b{margin-top:3px;font-size:16px}.portal-app-menu-head button{width:36px;height:36px;border-radius:50%;border:1px solid rgba(255,255,255,.08);background:#0a0840;color:#fff;font-size:22px}
.portal-app-menu-sheet nav{display:grid;gap:6px;padding:14px 0}.portal-app-menu-sheet nav button{display:grid;text-align:left;padding:12px 13px;border-radius:13px;border:1px solid transparent;background:#090640;color:#fff}.portal-app-menu-sheet nav button:hover{border-color:rgba(89,217,223,.2);background:#0c0a49}
.portal-app-menu-sheet nav span,.portal-app-menu-sheet nav small{display:block}.portal-app-menu-sheet nav span{font-size:12px;font-weight:800}.portal-app-menu-sheet nav small{font-size:8px;color:#8f92a6;margin-top:3px}
.portal-app-menu-footer{display:grid;gap:7px;border-top:1px solid rgba(255,255,255,.07);padding-top:14px}.portal-app-menu-footer a,.portal-app-menu-footer button{padding:11px;border-radius:12px;border:1px solid rgba(255,255,255,.08);background:#090640;color:#cfd0da;text-align:center;font-size:10px}.portal-app-menu-footer button{color:#ff9ba5}.portal-menu-open{overflow:hidden}

.portal-overview-record-list{display:grid;gap:8px}.portal-overview-record{display:grid;grid-template-columns:42px 1fr auto;gap:11px;align-items:center;width:100%;padding:12px;border-radius:15px;border:1px solid rgba(255,255,255,.07);background:#090640;color:#fff;text-align:left;cursor:pointer}
.portal-overview-record-icon{width:39px;height:39px;border-radius:12px;background:#0d174c;color:#59d9df;display:grid;place-items:center;font-size:16px;font-weight:900}.portal-overview-record.support .portal-overview-record-icon{color:#aab8ff}
.portal-overview-record small,.portal-overview-record b,.portal-overview-record span{display:block}.portal-overview-record small{font-size:8px;color:#7f8297;text-transform:uppercase;letter-spacing:.05em}.portal-overview-record b{font-size:13px;margin:3px 0}.portal-overview-record span{font-size:9px;color:#9fa2b5}.portal-overview-record>strong{color:#59d9df;font-size:9px}
.portal-section-link{margin-top:9px;border:0;background:transparent;color:#59d9df;font-size:9px;font-weight:800;padding:0;cursor:pointer}

.portal-health-hub-intro{padding:15px;border-radius:15px;background:#08063a}.portal-health-hub-intro>p{color:#a8aaba;line-height:1.55}.portal-health-vehicle-list{display:grid;gap:8px}.portal-health-vehicle-list button{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;padding:11px;border:1px solid rgba(255,255,255,.07);border-radius:14px;background:#08063a;color:#fff;text-align:left}
.portal-health-vehicle-list small,.portal-health-vehicle-list b{display:block}.portal-health-vehicle-list small{font-size:8px;color:#8e91a5}.portal-health-vehicle-list b{font-size:11px;margin:3px 0}.portal-health-vehicle-list>button>strong{font-size:8px;color:#59d9df}
.portal-health-routine{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.portal-health-routine>div{padding:11px;border-radius:12px;background:#08063a}.portal-health-routine span{width:27px;height:27px;border-radius:50%;display:grid;place-items:center;background:#59d9df;color:#05032a;font-weight:900}.portal-health-routine b{display:block;font-size:10px;margin:8px 0 3px}.portal-health-routine p{font-size:8px;color:#9093a7;margin:0;line-height:1.4}

/* Customer portal is an app shell, not a normal public website page. */
.customer-portal-body .global-ticker,.customer-portal-body .promo-banner{display:none!important}
.customer-portal-body.has-global-ticker main,.customer-portal-body.has-promo-banner main,.customer-portal-body.has-promo-banner.has-global-ticker main{padding-top:0!important}

@media(max-width:900px){
 .customer-portal-body .portal-page-intro{display:none!important}
 .customer-portal-body .portal-top-nav{position:sticky!important;top:0!important;height:66px!important;z-index:260!important;background:#05032a!important;border-bottom:1px solid rgba(89,217,223,.16)!important;padding:0 14px!important}
 .customer-portal-body .portal-top-nav .brand{position:absolute!important;left:50%!important;transform:translateX(-50%)!important}
 .customer-portal-body .portal-top-nav .brand img{width:202px!important;max-height:48px!important;object-fit:contain!important}
 .customer-portal-body .portal-top-nav nav,.customer-portal-body .portal-top-nav .navcall{display:none!important}
 .customer-portal-body .portal-menu-toggle{display:flex;position:absolute;right:13px;top:12px}
 .customer-portal-body main{padding-top:0!important}
 .customer-portal-body main>.section{padding:10px 0 90px!important}
 .customer-portal-body .portal-app-hero{margin-top:0!important;padding:16px 17px!important}
 .customer-portal-body .portal-app-hero h2{font-size:31px!important;line-height:1.02!important;margin:6px 0!important}
 .customer-portal-body .portal-app-hero p{font-size:13px!important;line-height:1.45!important}
 .portal-health-routine{grid-template-columns:1fr 1fr}
}
@media(max-width:620px){
 .customer-portal-body .portal-top-nav .brand img{width:178px!important}
 .portal-overview-record{grid-template-columns:38px 1fr}.portal-overview-record>strong{grid-column:2}.portal-overview-record-icon{width:36px;height:36px}
 .portal-health-routine{grid-template-columns:1fr}
 .portal-health-vehicle-list button{grid-template-columns:1fr}.portal-health-vehicle-list .portal-reg-plate{justify-self:start}
}

/* ================= V46 Simplification & UX Audit ================= */

/* Customer app: five clear destinations only */
.portal-account-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px}
.portal-subsection-card{margin-top:12px}
.portal-sidebar nav{gap:5px}
.portal-sidebar nav button{min-height:42px}
.portal-sidebar nav button span{margin-left:auto}

/* Home is an overview, not a duplicate record archive */
.portal-dashboard-grid{margin-bottom:12px}
.portal-garage-overview{margin-top:12px}
.portal-aftercare-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.portal-overview-section{margin-top:12px}

/* Cleaner grouped Account view */
[data-account-panel="profile"]>.portal-card:first-child{margin-bottom:0}
[data-account-panel="profile"] .portal-record-card{margin-bottom:8px}
[data-account-panel="bookings"]>.portal-card+ .portal-card{margin-top:12px}

/* Remove legacy menu controls left by older builds */
.customer-portal-body .portal-menu-toggle,
.customer-portal-body .portal-app-menu{display:none!important}

/* Bottom navigation is deliberately simple */
.portal-mobile-nav{grid-template-columns:repeat(5,1fr)!important}
.portal-mobile-nav .portal-mobile-book{background:transparent!important;color:#8f92a8!important}
.portal-mobile-nav .portal-mobile-book.active{background:rgba(89,217,223,.08)!important;color:#59d9df!important}

@media(max-width:900px){
 .portal-account-grid{grid-template-columns:1fr}
 .portal-aftercare-grid{grid-template-columns:1fr}
}
@media(max-width:620px){
 .portal-dashboard-grid{gap:9px}
 .portal-dashboard-card{padding:14px}
 .portal-card{padding:15px!important}
 .portal-section-head{gap:10px}
}

/* ================= V46.1 Smarter booking requests ================= */
.booking-preference-intro{margin:0 0 15px;padding:15px 16px;border-radius:16px;background:rgba(89,217,223,.055);border:1px solid rgba(89,217,223,.14)}
.booking-preference-intro b,.booking-preference-intro span{display:block}.booking-preference-intro b{font-size:14px;color:#fff}.booking-preference-intro span{margin-top:4px;color:#a5a8b9;font-size:11px;line-height:1.5}
.booking-location-type{margin-bottom:16px}.choice-card.compact{padding:15px!important}
.booking-availability-card{display:grid;gap:15px}.booking-availability-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.booking-availability-head h3{margin:2px 0 4px}
.request-only-pill{display:inline-flex;align-items:center;justify-content:center;padding:6px 8px;border-radius:999px;background:rgba(89,217,223,.08);border:1px solid rgba(89,217,223,.18);color:#59d9df;font-size:8px;font-weight:900;letter-spacing:.09em;white-space:nowrap}
.booking-preference-note{display:flex;flex-direction:column;gap:3px;padding:11px 12px;border-radius:12px;background:#08063a;border:1px solid rgba(255,255,255,.055)}
.booking-preference-note b{font-size:10px;color:#59d9df}.booking-preference-note span{font-size:9px;color:#8f92a6;line-height:1.45}
.booking-preference-grid{align-items:start}
.portal-visit-detail small{display:block;margin-top:4px;color:#8e91a5;font-size:9px}

/* Customer app uses same booking form, but presented as a compact embedded app flow. */
.portal-booking-frame{overflow:visible!important;border-radius:18px!important}
.portal-booking-frame iframe{height:760px;transition:height .18s ease;background:#05032a}
.portal-booking-mode .site-shell>header,
.portal-booking-mode .page-hero,
.portal-booking-mode .footer-pro{display:none!important}
.portal-booking-mode main{padding-top:0!important}
.portal-booking-mode .section.soft{padding:0!important}
.portal-booking-mode .container.booking-shell{width:100%!important;max-width:none!important}
.portal-booking-mode .booking-shell{display:block!important}
.portal-booking-mode .booking-side{display:none!important}
.portal-booking-mode .booking-main{border:0!important;border-radius:0!important;box-shadow:none!important;padding:18px!important}
.portal-booking-mode .booking-mobile-progress{display:block!important;position:sticky!important;top:0!important;z-index:20!important;margin:-18px -18px 17px!important;border-radius:0 0 15px 15px!important}
.portal-booking-start-head{margin-bottom:15px}.portal-booking-start-head h3{font-size:23px;margin:6px 0}.portal-booking-start-head p{font-size:11px;color:#9ca0b2;line-height:1.55}
#portalBookingStart{margin:14px 0}
.portal-booking-embed-head{position:sticky;top:66px;z-index:5;background:#08063a!important}
.portal-new-install-vehicles{grid-template-columns:repeat(2,minmax(0,1fr))}

@media(max-width:760px){
 .booking-page .booking-availability-head{display:grid;gap:8px}.booking-page .request-only-pill{justify-self:start}
 .booking-page .booking-preference-grid{grid-template-columns:1fr!important}
 .booking-location-type{grid-template-columns:1fr!important}
 .portal-booking-card{padding:13px!important}
 .portal-new-install-vehicles{grid-template-columns:1fr}
 .portal-new-install-vehicle{padding:13px!important;border-radius:14px!important}
 .portal-new-install-actions{display:grid!important;grid-template-columns:1fr!important;gap:8px!important}
 .portal-booking-frame{margin-left:-4px;margin-right:-4px;border-radius:16px!important}
 .portal-booking-mode .booking-main{padding:13px!important}
 .portal-booking-mode .booking-mobile-progress{margin:-13px -13px 14px!important;padding:10px 12px 9px!important}
 .portal-booking-mode .booking-step h2{font-size:34px!important}
 .portal-booking-mode .booking-step>.kicker{font-size:8px!important}
 .portal-booking-mode .choice-card{padding:13px!important}
 .portal-booking-mode .field input,.portal-booking-mode .field select,.portal-booking-mode .field textarea{font-size:16px!important}
}

/* V46.2 installation-location selector fix */
.booking-location-type .choice-card.selected{
  border-color:var(--cyan)!important;
  background:rgba(89,217,223,.09)!important;
  box-shadow:inset 0 0 0 1px rgba(89,217,223,.08);
}
.booking-location-type .choice-card.selected::after{
  content:'✓'!important;
  background:var(--cyan)!important;
  border-color:var(--cyan)!important;
  color:var(--navy)!important;
  font-weight:900!important;
}

/* V46.3 fulfilment simplification */
#fulfilmentBox .fulfilment-box + .fulfilment-box{
  margin-top:18px;
}

/* ================= V46.4 portal navigation regression fix ================= */

/* Desktop / large-screen account navigation */
.customer-portal-body .portal-account-user{
  display:grid;
  gap:4px;
  padding:4px 2px 16px;
}
.customer-portal-body .portal-account-user small{
  color:#59d9df;
  font-size:8px;
  font-weight:800;
  letter-spacing:.12em;
}
.customer-portal-body .portal-account-user b{
  color:#fff;
  font-size:15px;
  line-height:1.25;
}
.customer-portal-body .portal-account-nav{
  display:grid;
  grid-template-columns:1fr;
  gap:6px;
}
.customer-portal-body .portal-account-nav button{
  appearance:none;
  -webkit-appearance:none;
  width:100%;
  min-height:44px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  padding:11px 12px;
  border:1px solid transparent;
  border-radius:12px;
  background:transparent;
  color:#aeb2c7;
  font:inherit;
  font-size:11px;
  font-weight:700;
  text-align:left;
  cursor:pointer;
}
.customer-portal-body .portal-account-nav button:hover{
  background:rgba(89,217,223,.05);
  border-color:rgba(89,217,223,.09);
  color:#fff;
}
.customer-portal-body .portal-account-nav button.active{
  background:rgba(89,217,223,.09);
  border-color:rgba(89,217,223,.16);
  color:#59d9df;
}
.customer-portal-body .portal-account-nav button span{
  min-width:20px;
  height:20px;
  display:grid;
  place-items:center;
  padding:0 6px;
  margin-left:auto;
  border-radius:999px;
  background:rgba(89,217,223,.08);
  color:#59d9df;
  font-size:9px;
}
.customer-portal-body .portal-logout{
  appearance:none;
  -webkit-appearance:none;
  width:100%;
  min-height:44px;
  margin-top:14px;
  padding:11px 12px;
  border:1px solid rgba(255,255,255,.09);
  border-radius:12px;
  background:transparent;
  color:#fff;
  font:inherit;
  font-size:11px;
  text-align:left;
  cursor:pointer;
}

/* Phone/tablet: bottom bar is the ONLY main navigation. */
@media(max-width:980px){
  .customer-portal-body .portal-sidebar{
    display:none!important;
  }
  .customer-portal-body .portal-grid{
    display:block!important;
    grid-template-columns:1fr!important;
  }
  .customer-portal-body .portal-main{
    width:100%!important;
    min-width:0!important;
  }
  .customer-portal-body .portal-mobile-nav{
    display:grid!important;
    z-index:500!important;
    pointer-events:auto!important;
  }
  .customer-portal-body .portal-mobile-nav button{
    pointer-events:auto!important;
    cursor:pointer!important;
    touch-action:manipulation;
    -webkit-tap-highlight-color:transparent;
  }
}

/* Keep the fixed bar above ordinary content but below modal/detail drawers. */
.customer-portal-body .portal-mobile-nav{
  isolation:isolate;
}

/* ================= V46.5 persistent customer login ================= */
.auth-remember{
 display:flex;align-items:flex-start;gap:10px;margin:2px 0 15px;padding:11px 12px;
 border-radius:12px;background:#08063a;border:1px solid rgba(255,255,255,.07);cursor:pointer
}
.auth-remember input{width:18px;height:18px;margin:1px 0 0;accent-color:#59d9df;flex:0 0 auto}
.auth-remember span,.auth-remember b,.auth-remember small{display:block}
.auth-remember b{font-size:10px;color:#fff}.auth-remember small{margin-top:2px;font-size:8px;color:#8f92a6}
.checkout-remember{max-width:440px;margin:12px 0}
.customer-signed-in-link{color:#59d9df!important;font-weight:800!important}
.shop-account-link.customer-signed-in-link:before{content:'●';font-size:7px;margin-right:6px;color:#59d9df}
.portal-order-tracking{display:block;margin-top:6px;color:#59d9df;font-size:9px;font-weight:700}

/* ================= V47 live notifications + assistant ================= */
.portal-notify-toggle,.admin-notify-toggle{position:relative;width:42px;height:42px;border-radius:13px;border:1px solid rgba(89,217,223,.2);background:#090640;color:#59d9df;display:grid;place-items:center;cursor:pointer}
.portal-notify-toggle{margin-left:8px}.portal-notify-toggle span,.admin-notify-toggle span{font-size:22px;line-height:1}.portal-notify-toggle i,.admin-notify-toggle i{position:absolute;right:-4px;top:-5px;min-width:19px;height:19px;padding:0 5px;border-radius:999px;background:#59d9df;color:#05032a;font:900 9px/19px Arial;text-align:center;font-style:normal}
.portal-notify-drawer[hidden],.admin-notify-drawer[hidden],.admin-chat-drawer[hidden]{display:none!important}
.portal-notify-drawer,.admin-notify-drawer,.admin-chat-drawer{position:fixed;inset:0;z-index:850}.portal-notify-backdrop,.admin-notify-backdrop{position:absolute;inset:0;border:0;background:rgba(2,2,24,.72);backdrop-filter:blur(8px)}
.portal-notify-drawer>aside,.admin-notify-drawer>aside,.admin-chat-drawer>aside{position:absolute;right:0;top:0;width:min(460px,94vw);height:100%;overflow:auto;padding:18px;background:#07052f;border-left:1px solid rgba(89,217,223,.15);box-shadow:-25px 0 80px rgba(0,0,0,.45)}
.portal-notify-head,.admin-notify-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-bottom:13px;border-bottom:1px solid rgba(255,255,255,.07)}.portal-notify-head small,.admin-notify-head small{display:block;color:#59d9df;font-size:8px;letter-spacing:.1em}.portal-notify-head h3,.admin-notify-head h3{margin:3px 0 0}.portal-notify-head button,.admin-notify-head button{width:36px;height:36px;border-radius:50%;border:1px solid rgba(255,255,255,.08);background:#090640;color:#fff;font-size:20px}
.portal-notify-actions,.admin-notify-actions{display:flex;justify-content:flex-end;padding:10px 0}.portal-notify-actions button,.admin-notify-actions button{border:0;background:transparent;color:#59d9df;font-size:9px;font-weight:800}
.portal-notify-list,.admin-notify-list,.admin-chat-list{display:grid;gap:7px}.portal-notify-item,.admin-notify-item,.admin-chat-row{width:100%;display:grid;grid-template-columns:10px 1fr;gap:9px;padding:11px;border:1px solid rgba(255,255,255,.06);border-radius:13px;background:#090640;color:#fff;text-align:left}.portal-notify-item.unread,.admin-notify-item.unread,.admin-chat-row.waiting{border-color:rgba(89,217,223,.2);background:rgba(89,217,223,.055)}.portal-notify-dot,.admin-notify-item>span{width:7px;height:7px;border-radius:50%;margin-top:5px;background:#4c5068}.portal-notify-item.unread .portal-notify-dot,.admin-notify-item.unread>span{background:#59d9df}.portal-notify-item small,.portal-notify-item b,.portal-notify-item p,.admin-notify-item small,.admin-notify-item b,.admin-notify-item p,.admin-chat-row small,.admin-chat-row b,.admin-chat-row p{display:block;margin:0}.portal-notify-item small,.admin-notify-item small,.admin-chat-row small{font-size:7px;color:#7e8196}.portal-notify-item b,.admin-notify-item b,.admin-chat-row b{font-size:11px;margin:3px 0}.portal-notify-item p,.admin-notify-item p,.admin-chat-row p{font-size:9px;color:#a5a8b8;line-height:1.4}.portal-notify-empty{padding:25px 12px;text-align:center;color:#8f92a6}.portal-notify-empty b{display:block;color:#fff;margin-bottom:4px}
.admin-live-actions{display:flex;align-items:center}.admin-notify-tabs{display:grid;grid-template-columns:1fr 1fr;gap:5px;padding:12px 0}.admin-notify-tabs button{padding:10px;border:1px solid rgba(255,255,255,.06);border-radius:10px;background:#090640;color:#9093a7}.admin-notify-tabs button.active{color:#59d9df;border-color:rgba(89,217,223,.2)}
.admin-chat-row{grid-template-columns:1fr auto}.admin-chat-row strong{color:#59d9df;font-size:8px;align-self:center}.admin-chat-messages{display:grid;gap:8px;padding:14px 0;max-height:calc(100vh - 220px);overflow:auto}.admin-chat-message{max-width:88%;padding:10px 12px;border-radius:13px;background:#090640}.admin-chat-message.admin{justify-self:end;background:rgba(89,217,223,.1);border:1px solid rgba(89,217,223,.14)}.admin-chat-message small{font-size:7px;color:#7f8296}.admin-chat-message p{margin:4px 0 0;font-size:10px;line-height:1.45}.admin-chat-drawer form{display:grid;gap:8px;position:sticky;bottom:0;padding-top:10px;background:#07052f}.admin-chat-drawer textarea{min-height:80px;border-radius:12px;background:#08063a;color:#fff;border:1px solid rgba(255,255,255,.08);padding:10px}

/* Road Guard Assistant */
#rgaAssistant{position:fixed;z-index:780;right:18px;bottom:18px;font-family:inherit}.rga-chat-launch{position:relative;width:54px;height:54px;border-radius:18px;border:1px solid rgba(89,217,223,.25);background:#090640;color:#59d9df;box-shadow:0 18px 40px rgba(0,0,0,.35);font-size:22px;font-weight:900}.rga-chat-panel{position:absolute;right:0;bottom:64px;width:min(390px,calc(100vw - 28px));height:min(610px,calc(100vh - 110px));display:grid;grid-template-rows:auto 1fr auto auto;background:#07052f;border:1px solid rgba(89,217,223,.18);border-radius:20px;overflow:hidden;box-shadow:0 28px 80px rgba(0,0,0,.48)}.rga-chat-panel[hidden]{display:none}.rga-chat-panel header{display:flex;align-items:center;justify-content:space-between;padding:14px;border-bottom:1px solid rgba(255,255,255,.07)}.rga-chat-panel header small,.rga-chat-panel header b{display:block}.rga-chat-panel header small{font-size:7px;letter-spacing:.1em;color:#59d9df}.rga-chat-panel header b{font-size:14px;margin-top:2px}.rga-chat-panel header button{width:32px;height:32px;border-radius:50%;border:1px solid rgba(255,255,255,.08);background:#090640;color:#fff}.rga-chat-messages{overflow:auto;padding:13px;display:flex;flex-direction:column;gap:8px}.rga-chat-msg{max-width:86%;padding:10px 11px;border-radius:14px;font-size:10px;line-height:1.5}.rga-chat-msg.bot{align-self:flex-start;background:#0a0843;color:#e9eaf2}.rga-chat-msg.customer{align-self:flex-end;background:#59d9df;color:#05032a}.rga-chat-handoff{padding:10px 12px;border-top:1px solid rgba(255,255,255,.06);background:#08063a}.rga-chat-handoff b,.rga-chat-handoff p{display:block;margin:0}.rga-chat-handoff p{font-size:9px;color:#9fa2b2;margin:4px 0 8px}.rga-chat-handoff input{width:100%;margin:4px 0;padding:9px;border-radius:9px;border:1px solid rgba(255,255,255,.08);background:#05032a;color:#fff}.rga-chat-handoff button{margin-top:5px;padding:9px 11px;border:0;border-radius:9px;background:#59d9df;color:#05032a;font-weight:800}.rga-chat-panel form{display:grid;grid-template-columns:1fr auto;gap:7px;padding:10px;border-top:1px solid rgba(255,255,255,.07)}.rga-chat-panel form input{min-width:0;padding:11px;border-radius:11px;border:1px solid rgba(255,255,255,.08);background:#090640;color:#fff;font-size:16px}.rga-chat-panel form button{border:0;border-radius:10px;background:#59d9df;color:#05032a;font-weight:900;padding:0 14px}

@media(max-width:900px){
 .customer-portal-body .portal-notify-toggle{display:grid;position:absolute;right:13px;top:12px}
 #rgaAssistant{right:12px;bottom:82px}
 .rga-chat-panel{position:fixed;left:8px;right:8px;bottom:82px;width:auto;height:min(620px,calc(100vh - 100px))}
}

/* ================= V47.1 RGA Co-Pilot ================= */
.rga-chat-online{display:flex;align-items:center;gap:5px;margin-top:4px;font-size:7px;color:#8f92a6}.rga-chat-online i{width:6px;height:6px;border-radius:50%;background:#52dc96;box-shadow:0 0 0 4px rgba(82,220,150,.08)}
.rga-chat-quick{display:flex;gap:6px;flex-wrap:wrap;max-height:150px;overflow:auto;padding:0 10px 9px;background:#07052f}
.rga-chat-quick:empty{display:none}.rga-chat-quick button{appearance:none;border:1px solid rgba(89,217,223,.18);border-radius:999px;background:#0a0843;color:#dfe1ec;padding:8px 10px;font:700 9px/1.2 inherit;cursor:pointer;text-align:left}.rga-chat-quick button:hover{border-color:#59d9df;color:#59d9df;background:rgba(89,217,223,.07)}
.rga-chat-msg.typing{display:flex!important;align-items:center;gap:4px;width:52px;min-height:34px}.rga-chat-msg.typing span{width:6px;height:6px;border-radius:50%;background:#8b8fa5;animation:rgaTyping 1s infinite ease-in-out}.rga-chat-msg.typing span:nth-child(2){animation-delay:.14s}.rga-chat-msg.typing span:nth-child(3){animation-delay:.28s}
@keyframes rgaTyping{0%,60%,100%{transform:translateY(0);opacity:.4}30%{transform:translateY(-4px);opacity:1}}
.rga-chat-msg{white-space:pre-line}
.rga-chat-form-card{display:grid;gap:8px}.rga-chat-form-card>small{color:#59d9df;font-size:7px;font-weight:900;letter-spacing:.1em}.rga-chat-form-card>b{font-size:11px}.rga-chat-form-card>p{font-size:9px;color:#9fa2b2;line-height:1.45;margin:0 0 2px}.rga-chat-form-card label{display:grid;gap:4px;font-size:8px;color:#aeb1c2}.rga-chat-form-card input,.rga-chat-form-card select,.rga-chat-form-card textarea{width:100%;box-sizing:border-box;padding:9px 10px;border:1px solid rgba(255,255,255,.08);border-radius:9px;background:#05032a;color:#fff;font:inherit;font-size:11px}.rga-chat-form-card textarea{min-height:68px;resize:vertical}.rga-chat-form-actions{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:3px}.rga-chat-form-actions button{padding:9px;border-radius:9px;border:1px solid #59d9df;background:#59d9df;color:#05032a;font-weight:900}.rga-chat-form-actions button.secondary{background:transparent;color:#c7c9d5;border-color:rgba(255,255,255,.1)}
.customer-change-request{border-color:rgba(89,217,223,.24)!important;background:rgba(89,217,223,.06)!important}
@media(max-width:620px){.rga-chat-quick{max-height:175px}.rga-chat-quick button{font-size:10px;padding:9px 11px}.rga-chat-form-actions{grid-template-columns:1fr}}

/* ================= V47.2 Fin Support Centre ================= */
#rgaAssistant{position:fixed;z-index:780;right:18px;bottom:18px;font-family:inherit}
.rga-chat-launch{width:56px;height:56px;border-radius:18px;border:1px solid rgba(89,217,223,.28);background:#59d9df;color:#05032a;box-shadow:0 18px 42px rgba(0,0,0,.35);font-size:21px;font-weight:950;cursor:pointer}
.fin-panel{position:absolute;right:0;bottom:68px;width:min(430px,calc(100vw - 28px));height:min(690px,calc(100vh - 100px));background:#f5f6f8;color:#171922;border-radius:28px;overflow:hidden;box-shadow:0 35px 100px rgba(0,0,0,.45);border:1px solid rgba(255,255,255,.15);display:grid;grid-template-rows:1fr 70px}
.fin-panel[hidden]{display:none}.fin-screen{display:none;min-height:0;overflow:hidden;background:#f5f6f8}.fin-screen.active{display:flex;flex-direction:column}
.fin-brandbar,.fin-simple-head{display:flex;align-items:center;gap:10px;padding:18px 20px;background:#fff;border-bottom:1px solid #e7e8ec;flex:0 0 auto}.fin-brandbar>div:nth-child(2){flex:1}.fin-brandbar small,.fin-brandbar b,.fin-simple-head small,.fin-simple-head b{display:block}.fin-brandbar small,.fin-simple-head small{font-size:8px;letter-spacing:.12em;color:#59bfc8;font-weight:900}.fin-brandbar b,.fin-simple-head b{font-size:17px;margin-top:1px}.fin-brandmark,.fin-thread-avatar{width:38px;height:38px;border-radius:12px;background:#59d9df;color:#05032a;display:grid;place-items:center;font-weight:950;font-size:19px;transform:rotate(-4deg)}.fin-brandbar button,.fin-simple-head button{border:0;background:transparent;color:#51545e;font-size:24px;cursor:pointer}.fin-simple-head>div{flex:1}.fin-simple-head>b{flex:1;text-align:center}
.fin-home-scroll,.fin-help-scroll,.fin-message-list{overflow:auto;padding:18px}.fin-welcome{padding:8px 8px 18px}.fin-welcome small{font-size:8px;color:#59bfc8;font-weight:900;letter-spacing:.11em}.fin-welcome h2{font-size:34px;line-height:1.04;margin:9px 0 0;color:#161820}
.fin-primary-card,.fin-recent{width:100%;box-sizing:border-box;display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;padding:17px 18px;background:#fff;border:1px solid #e5e6ea;border-radius:18px;box-shadow:0 8px 24px rgba(17,20,27,.06);color:#171922;text-align:left;margin-bottom:14px}.fin-primary-card{cursor:pointer}.fin-primary-card small,.fin-primary-card b,.fin-primary-card span,.fin-recent small,.fin-recent b,.fin-recent span{display:block}.fin-primary-card small,.fin-recent small{font-size:7px;color:#5bc3cb;font-weight:900;letter-spacing:.1em}.fin-primary-card b,.fin-recent b{font-size:16px;margin:3px 0}.fin-primary-card span,.fin-recent span{font-size:10px;color:#747780;line-height:1.35}.fin-primary-card strong,.fin-recent strong{color:#43cbd4;font-size:22px}.fin-recent{cursor:pointer}
.fin-search-card{background:#fff;border-radius:18px;border:1px solid #e5e6ea;padding:12px;margin-bottom:14px;box-shadow:0 8px 24px rgba(17,20,27,.05)}.fin-search,.fin-help-search{display:grid;grid-template-columns:1fr auto;align-items:center;background:#f2f3f5;border-radius:14px;padding:0 13px}.fin-search input,.fin-help-search input{border:0;background:transparent;color:#171922;padding:13px 0;font-size:15px;outline:0}.fin-search span,.fin-help-search span{font-size:23px;color:#47cbd4}.fin-help-search{margin:14px 18px 6px;flex:0 0 auto}
#finHomeResults{display:grid;gap:4px;margin-top:6px}#finHomeResults button,.fin-popular-result{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center;width:100%;border:0;border-top:1px solid #eceef1;background:#fff;padding:10px 4px;text-align:left;color:#171922}#finHomeResults b,#finHomeResults span{display:block}#finHomeResults b{font-size:11px}#finHomeResults span{font-size:8px;color:#868992;margin-top:2px}
.fin-section-head{display:flex;align-items:center;justify-content:space-between;margin:5px 2px 9px}.fin-section-head>b{font-size:13px}.fin-section-head button{border:0;background:transparent;color:#48c9d2;font-size:9px;font-weight:800}
#finPopularHelp{display:grid;gap:7px}#finPopularHelp button{display:grid;grid-template-columns:1fr auto;align-items:center;gap:8px;border:1px solid #e5e6ea;border-radius:14px;background:#fff;padding:13px;text-align:left;color:#171922}#finPopularHelp b,#finPopularHelp span{display:block}#finPopularHelp b{font-size:12px}#finPopularHelp span{font-size:8px;color:#7e8189;margin-top:3px;line-height:1.35}#finPopularHelp strong{font-size:19px;color:#48cbd3}
.fin-collection-count{display:block;margin:2px 0 8px;font-size:12px}.fin-collection-row,.fin-article-row{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;width:100%;padding:15px 0;border:0;border-bottom:1px solid #e1e3e7;background:transparent;color:#171922;text-align:left}.fin-collection-row b,.fin-collection-row p,.fin-collection-row span,.fin-article-row b,.fin-article-row span{display:block;margin:0}.fin-collection-row b,.fin-article-row b{font-size:13px}.fin-collection-row p{font-size:10px;line-height:1.45;margin:5px 0;color:#464954}.fin-collection-row span{font-size:9px;color:#8c8f96}.fin-collection-row strong,.fin-article-row strong{font-size:22px;color:#48cad3}.fin-collection-desc{font-size:11px;color:#70737d;line-height:1.5}.fin-article-row span{font-size:9px;color:#848790;margin-top:5px;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.fin-article{padding:24px;overflow:auto}.fin-article>small{font-size:8px;color:#48cbd3;font-weight:900;letter-spacing:.1em}.fin-article h2{font-size:25px;line-height:1.1;margin:9px 0 14px}.fin-article p{font-size:13px;line-height:1.7;color:#444751}.fin-article-actions{display:grid;gap:7px;margin-top:20px}.fin-article-actions button{padding:12px;border-radius:12px;border:1px solid #dfe1e5;background:#fff;color:#171922;font-weight:800}.fin-article-actions button:first-child{background:#59d9df;border-color:#59d9df;color:#05032a}
.fin-message-list{display:grid;align-content:start;gap:9px}.fin-message-list>button{display:grid;grid-template-columns:42px 1fr auto;gap:11px;align-items:center;width:100%;padding:13px;background:#fff;border:1px solid #e4e6ea;border-radius:15px;text-align:left;color:#171922}.fin-message-list small,.fin-message-list b,.fin-message-list span{display:block}.fin-message-list small{font-size:7px;color:#47c8d1;font-weight:900}.fin-message-list b{font-size:12px;margin:3px 0}.fin-message-list span{font-size:9px;color:#7c7f87;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fin-message-list strong{color:#49cbd3;font-size:20px}.fin-empty,.fin-no-results{text-align:center;padding:25px 10px;color:#777a84}.fin-empty b{display:block;color:#171922}.fin-empty p{font-size:10px}.fin-empty button,.fin-no-results button{border:0;border-radius:11px;background:#59d9df;padding:10px 12px;font-weight:900;color:#05032a}
.fin-bottom-nav{display:grid;grid-template-columns:repeat(3,1fr);height:70px;background:#fff;border-top:1px solid #e1e3e7}.fin-bottom-nav button{display:grid;place-items:center;align-content:center;gap:3px;border:0;background:transparent;color:#747780}.fin-bottom-nav span{font-size:20px}.fin-bottom-nav b{font-size:10px}.fin-bottom-nav button.active{color:#48cbd3}
.fin-chat-screen{background:#07052f!important;color:#fff}.fin-chat-screen .fin-simple-head{background:#07052f;border-color:rgba(255,255,255,.08);color:#fff}.fin-chat-screen .fin-simple-head button{color:#fff}.fin-online{display:flex!important;align-items:center;gap:5px!important;margin-top:3px!important;font-size:7px!important;color:#8f92a6!important}.fin-online i{width:6px;height:6px;border-radius:50%;background:#52dc96}.fin-chat-screen .rga-chat-messages{flex:1;min-height:0}.fin-chat-screen .rga-chat-quick{flex:0 0 auto}.fin-chat-screen .rga-chat-handoff{flex:0 0 auto}.fin-chat-screen form{flex:0 0 auto}
@media(max-width:900px){#rgaAssistant{right:12px;bottom:82px}.fin-panel{position:fixed;left:7px;right:7px;bottom:79px;width:auto;height:calc(100vh - 92px);max-height:none;border-radius:24px}.fin-welcome h2{font-size:31px}}

/* ================= V47.3 Fin RGA visual + responsive audit ================= */

/* Core Fin palette: preserve modern support-centre layout, but make it unmistakably RGA */
.fin-panel{
  width:min(460px,calc(100vw - 32px));
  height:min(720px,calc(100dvh - 100px));
  background:#06042f!important;
  color:#f7f8fb!important;
  border:1px solid rgba(89,217,223,.22)!important;
  box-shadow:0 32px 100px rgba(0,0,0,.58)!important;
}
.fin-screen{background:#06042f!important;color:#f7f8fb!important}
.fin-brandbar,.fin-simple-head{
  background:#08063a!important;
  color:#fff!important;
  border-bottom:1px solid rgba(89,217,223,.12)!important;
}
.fin-brandbar small,.fin-simple-head small{color:#59d9df!important}
.fin-brandbar b,.fin-simple-head b{color:#fff!important}
.fin-brandmark,.fin-thread-avatar{
  background:linear-gradient(145deg,#59d9df,#46bec8)!important;
  color:#05032a!important;
  box-shadow:0 0 0 1px rgba(89,217,223,.2),0 8px 20px rgba(89,217,223,.12);
}
.fin-brandbar button,.fin-simple-head button{color:#cfd1dd!important}
.fin-home-scroll,.fin-help-scroll,.fin-message-list{scrollbar-color:rgba(89,217,223,.25) transparent}
.fin-welcome small{color:#59d9df!important}
.fin-welcome h2{color:#fff!important}
.fin-primary-card,.fin-recent,.fin-search-card{
  background:#0a0843!important;
  color:#fff!important;
  border-color:rgba(255,255,255,.07)!important;
  box-shadow:0 9px 24px rgba(0,0,0,.18)!important;
}
.fin-primary-card small,.fin-recent small{color:#59d9df!important}
.fin-primary-card b,.fin-recent b{color:#fff!important}
.fin-primary-card span,.fin-recent span{color:#a5a8b9!important}
.fin-primary-card strong,.fin-recent strong{color:#59d9df!important}
.fin-search,.fin-help-search{
  background:#05032a!important;
  border:1px solid rgba(89,217,223,.11);
}
.fin-search input,.fin-help-search input{color:#fff!important}
.fin-search input::placeholder,.fin-help-search input::placeholder{color:#7f8399}
.fin-search span,.fin-help-search span{color:#59d9df!important}
.fin-section-head>b,.fin-collection-count{color:#fff!important}
.fin-section-head button{color:#59d9df!important}
#finPopularHelp button{
  background:#0a0843!important;
  color:#fff!important;
  border-color:rgba(255,255,255,.07)!important;
}
#finPopularHelp b{color:#fff!important}
#finPopularHelp span{color:#969aac!important}
#finPopularHelp strong{color:#59d9df!important}
#finHomeResults button{
  background:#0a0843!important;
  color:#fff!important;
  border-color:rgba(255,255,255,.06)!important;
}
#finHomeResults b{color:#fff!important}
#finHomeResults span{color:#8f93a8!important}
.fin-collection-row,.fin-article-row{
  color:#fff!important;
  border-color:rgba(255,255,255,.07)!important;
}
.fin-collection-row b,.fin-article-row b{color:#fff!important}
.fin-collection-row p,.fin-collection-row span,.fin-article-row span{color:#989caf!important}
.fin-collection-row strong,.fin-article-row strong{color:#59d9df!important}
.fin-collection-desc{color:#a1a4b7!important}
.fin-article>small{color:#59d9df!important}
.fin-article h2{color:#fff!important}
.fin-article p{color:#b4b7c7!important}
.fin-article-actions button{
  background:#0a0843!important;color:#fff!important;border-color:rgba(255,255,255,.08)!important
}
.fin-article-actions button:first-child{background:#59d9df!important;color:#05032a!important;border-color:#59d9df!important}
.fin-message-list>button{
  background:#0a0843!important;
  color:#fff!important;
  border-color:rgba(255,255,255,.07)!important;
}
.fin-message-list small{color:#59d9df!important}
.fin-message-list b{color:#fff!important}
.fin-message-list span{color:#979bad!important}
.fin-message-list strong{color:#59d9df!important}
.fin-empty,.fin-no-results{color:#979bad!important}
.fin-empty b{color:#fff!important}
.fin-bottom-nav{
  background:#08063a!important;
  border-top-color:rgba(89,217,223,.12)!important;
}
.fin-bottom-nav button{color:#8d91a7!important}
.fin-bottom-nav button.active{color:#59d9df!important;background:rgba(89,217,223,.045)!important}
.fin-bottom-nav button span{font-size:21px;line-height:1}

/* Chat screen: composer and controls had been falling back to browser defaults */
.fin-chat-screen{background:#06042f!important}
.fin-chat-screen .rga-chat-messages{
  padding:14px 14px 10px!important;
  background:
    radial-gradient(circle at 88% 10%,rgba(89,217,223,.035),transparent 28%),
    #06042f!important;
}
.fin-chat-screen .rga-chat-msg{
  font-size:11px!important;
  line-height:1.48!important;
  padding:10px 12px!important;
}
.fin-chat-screen .rga-chat-msg.bot{
  background:#0d0b4b!important;
  border:1px solid rgba(255,255,255,.055);
  color:#eff0f6!important;
}
.fin-chat-screen .rga-chat-msg.customer{
  background:#59d9df!important;
  color:#05032a!important;
}
.fin-chat-screen .rga-chat-quick{
  max-height:144px!important;
  padding:7px 12px 9px!important;
  background:#06042f!important;
  border-top:1px solid rgba(255,255,255,.035);
}
.fin-chat-screen .rga-chat-quick button{
  background:#0b0947!important;
  color:#e8e9f0!important;
  border-color:rgba(89,217,223,.22)!important;
  padding:8px 11px!important;
  font-size:9px!important;
}
.fin-chat-screen .rga-chat-quick button:hover{
  color:#59d9df!important;background:rgba(89,217,223,.065)!important;border-color:#59d9df!important
}
.fin-chat-screen .rga-chat-handoff{
  background:#08063a!important;
  border-top-color:rgba(89,217,223,.1)!important;
}
.fin-chat-screen>form{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  gap:8px!important;
  padding:10px 11px calc(10px + env(safe-area-inset-bottom,0px))!important;
  margin:0!important;
  background:#08063a!important;
  border-top:1px solid rgba(89,217,223,.12)!important;
  align-items:center!important;
}
.fin-chat-screen>form input{
  appearance:none!important;
  -webkit-appearance:none!important;
  display:block!important;
  box-sizing:border-box!important;
  width:100%!important;
  min-width:0!important;
  height:44px!important;
  padding:0 13px!important;
  margin:0!important;
  border-radius:13px!important;
  border:1px solid rgba(89,217,223,.18)!important;
  outline:none!important;
  background:#05032a!important;
  color:#fff!important;
  font:500 16px/1.2 inherit!important;
  box-shadow:none!important;
}
.fin-chat-screen>form input::placeholder{color:#777c94!important}
.fin-chat-screen>form input:focus{
  border-color:#59d9df!important;
  box-shadow:0 0 0 3px rgba(89,217,223,.08)!important;
}
.fin-chat-screen>form button{
  appearance:none!important;
  -webkit-appearance:none!important;
  height:44px!important;
  min-width:68px!important;
  margin:0!important;
  padding:0 14px!important;
  border:0!important;
  border-radius:13px!important;
  background:#59d9df!important;
  color:#05032a!important;
  font:900 11px/1 inherit!important;
  cursor:pointer!important;
  box-shadow:0 8px 18px rgba(89,217,223,.12)!important;
}
.fin-chat-screen>form button:hover{filter:brightness(1.04)}
.rga-chat-form-card input,.rga-chat-form-card select,.rga-chat-form-card textarea{
  background:#05032a!important;
  color:#fff!important;
  border-color:rgba(89,217,223,.16)!important;
}
.rga-chat-form-card input:focus,.rga-chat-form-card select:focus,.rga-chat-form-card textarea:focus{
  outline:none!important;border-color:#59d9df!important;box-shadow:0 0 0 3px rgba(89,217,223,.07)
}

/* Launcher placement */
.rga-chat-launch{
  background:#59d9df!important;
  color:#05032a!important;
  border-color:rgba(89,217,223,.45)!important;
}
.customer-portal-body #rgaAssistant{bottom:88px!important}

/* Tablet audit */
@media (min-width:621px) and (max-width:1024px){
  #rgaAssistant{right:16px!important;bottom:16px!important}
  .customer-portal-body #rgaAssistant{bottom:88px!important}
  .fin-panel{
    position:fixed!important;
    width:min(480px,calc(100vw - 34px))!important;
    right:16px!important;
    left:auto!important;
    bottom:16px!important;
    height:min(760px,calc(100dvh - 32px))!important;
    max-height:calc(100dvh - 32px)!important;
    border-radius:26px!important;
  }
  .customer-portal-body .fin-panel{bottom:78px!important;height:calc(100dvh - 94px)!important}
}

/* iPhone/mobile audit: Fin becomes a safe full-screen sheet and cannot clip behind browser UI */
@media(max-width:620px){
  #rgaAssistant{right:11px!important;bottom:12px!important}
  .customer-portal-body #rgaAssistant{bottom:83px!important}
  .rga-chat-launch{width:51px!important;height:51px!important;border-radius:16px!important}
  .fin-panel{
    position:fixed!important;
    inset:max(6px,env(safe-area-inset-top,0px)) 6px max(6px,env(safe-area-inset-bottom,0px)) 6px!important;
    width:auto!important;
    height:auto!important;
    max-height:none!important;
    border-radius:22px!important;
    grid-template-rows:minmax(0,1fr) 66px!important;
  }
  .customer-portal-body .fin-panel{
    bottom:max(6px,env(safe-area-inset-bottom,0px))!important;
    height:auto!important;
  }
  .fin-brandbar,.fin-simple-head{
    min-height:60px!important;
    padding:12px 14px!important;
  }
  .fin-home-scroll,.fin-help-scroll,.fin-message-list{padding:13px!important}
  .fin-welcome{padding:5px 4px 14px!important}
  .fin-welcome h2{font-size:28px!important}
  .fin-primary-card,.fin-recent{padding:14px!important;border-radius:15px!important;margin-bottom:10px!important}
  .fin-search-card{padding:9px!important;border-radius:15px!important;margin-bottom:10px!important}
  .fin-help-search{margin:10px 12px 4px!important}
  .fin-bottom-nav{height:66px!important;padding-bottom:env(safe-area-inset-bottom,0px)!important}
  .fin-bottom-nav button{min-width:0!important}
  .fin-bottom-nav b{font-size:9px!important}
  .fin-chat-screen .rga-chat-messages{padding:10px!important}
  .fin-chat-screen .rga-chat-quick{
    display:flex!important;
    flex-wrap:nowrap!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    max-height:none!important;
    padding:7px 10px 8px!important;
    scrollbar-width:none!important;
  }
  .fin-chat-screen .rga-chat-quick::-webkit-scrollbar{display:none}
  .fin-chat-screen .rga-chat-quick button{
    flex:0 0 auto!important;
    max-width:230px!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    font-size:9px!important;
  }
  .fin-chat-screen>form{
    grid-template-columns:minmax(0,1fr) 60px!important;
    padding:8px 9px calc(8px + env(safe-area-inset-bottom,0px))!important;
  }
  .fin-chat-screen>form input{height:42px!important}
  .fin-chat-screen>form button{height:42px!important;min-width:60px!important;padding:0 10px!important}
  .fin-article{padding:18px!important}
  .fin-article h2{font-size:22px!important}
}

/* Short-screen protection (landscape phone / split-screen tablet) */
@media(max-height:620px){
  .fin-panel{height:calc(100dvh - 16px)!important;bottom:8px!important}
  .fin-bottom-nav{height:58px!important}
  .fin-brandbar,.fin-simple-head{padding-top:10px!important;padding-bottom:10px!important}
  .fin-welcome h2{font-size:26px!important}
  .fin-chat-screen .rga-chat-quick{max-height:96px!important}
}

/* ================= V48 Launch Polish & Website Audit ================= */
.rga-bell-svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;display:block}.portal-notify-toggle span,.admin-notify-toggle span{display:none!important}
body{opacity:1}.rga-js body{opacity:0;transform:translateY(4px)}.rga-js body.rga-page-ready{opacity:1;transform:none;transition:opacity .34s ease,transform .34s ease}
header.nav{background:#05032a!important;backdrop-filter:none!important}.brand img{transform:none!important;transition:none!important}
.rga-action-motion{position:relative;overflow:hidden;transition:transform .22s ease,border-color .22s ease,background .22s ease,box-shadow .22s ease}.rga-action-motion:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(0,0,0,.12)}
.service-card,.product-card,.detail-card,.education-card,.panel,.contact-panel{transition:transform .3s cubic-bezier(.2,.8,.2,1),border-color .3s ease,box-shadow .3s ease}.detail-card:hover,.education-card:hover,.panel:hover{transform:translateY(-4px);border-color:rgba(89,217,223,.2);box-shadow:0 18px 45px rgba(0,0,0,.1)}
.page-hero .page-media{overflow:hidden}.page-hero .page-media img{transition:transform 1s cubic-bezier(.2,.8,.2,1)}.page-hero:hover .page-media img{transform:scale(1.018)}
.rga-service-switcher{position:relative;z-index:4;background:#08063a;border-top:1px solid rgba(89,217,223,.09);border-bottom:1px solid rgba(89,217,223,.1);overflow:auto;scrollbar-width:none}.rga-service-switcher::-webkit-scrollbar{display:none}.rga-service-switcher .container{display:flex;align-items:center;gap:5px;min-width:max-content;padding-top:9px;padding-bottom:9px}.rga-service-switcher a{padding:9px 12px;border-radius:999px;color:#9296aa;font-size:9px;font-weight:850;letter-spacing:.03em;border:1px solid transparent;transition:.2s ease}.rga-service-switcher a:hover{color:#fff;background:rgba(255,255,255,.035)}.rga-service-switcher a.active{color:#59d9df;background:rgba(89,217,223,.075);border-color:rgba(89,217,223,.18)}
.rga-context-actions{padding:36px 0;background:linear-gradient(135deg,#08063a,#0d1245);border-top:1px solid rgba(89,217,223,.1)}.rga-context-actions-inner{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(330px,.65fr);gap:38px;align-items:center}.rga-context-actions h2{margin:5px 0 7px;color:#fff;font-size:clamp(25px,3vw,42px);line-height:1.04}.rga-context-actions p:not(.kicker){margin:0;max-width:760px;color:#a9adbf;line-height:1.55}.rga-context-actions-buttons{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap}.rga-context-actions-buttons .btn{white-space:nowrap}
.dash-kit-choice .dash-info-box.compact{border-color:rgba(89,217,223,.15)}.basket-preview-line small{line-height:1.3}.basket-preview-line b{white-space:nowrap}
.admin-notify-toggle,.portal-notify-toggle{color:#59d9df!important}.admin-notify-toggle:hover,.portal-notify-toggle:hover{background:rgba(89,217,223,.08)!important;border-color:rgba(89,217,223,.32)!important}
@media(max-width:900px){.rga-context-actions-inner{grid-template-columns:1fr;gap:18px}.rga-context-actions-buttons{justify-content:flex-start}.rga-context-actions{padding:28px 0}.rga-service-switcher .container{padding-left:15px;padding-right:15px}.page-hero:hover .page-media img{transform:none}}
@media(max-width:620px){.rga-context-actions-buttons{display:grid;grid-template-columns:1fr;width:100%}.rga-context-actions-buttons .btn{text-align:center}.rga-context-actions h2{font-size:28px}.rga-service-switcher a{padding:8px 10px}.rga-js body{transform:none}}
@media(prefers-reduced-motion:reduce){.rga-js body,.rga-js body.rga-page-ready{opacity:1!important;transform:none!important;transition:none!important}.service-card,.product-card,.detail-card,.education-card,.panel,.page-hero .page-media img{transition:none!important;transform:none!important}}

/* ================= V48.1 Warranty & Care system ================= */
.care-plan-manager{display:grid;gap:12px}.care-plan-admin-card{padding:16px;border-radius:17px;background:#08063a;border:1px solid rgba(255,255,255,.07)}.care-plan-admin-head{display:flex;justify-content:space-between;gap:12px;align-items:center}.care-plan-admin-head small{display:block;color:#59d9df;font-size:8px}.care-plan-admin-head input{margin-top:4px;background:transparent;border:0;border-bottom:1px solid rgba(255,255,255,.14);color:#fff;font-size:18px;font-weight:800}.care-plan-admin-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin:14px 0}.care-plan-admin-grid label{display:grid;gap:4px;font-size:8px;color:#9295a7}.care-plan-admin-grid input,.care-plan-admin-grid select{padding:9px;border-radius:9px;border:1px solid rgba(255,255,255,.08);background:#05032a;color:#fff}.warranty-preset-row{display:flex;flex-wrap:wrap;gap:6px}.warranty-preset-row button{padding:8px 10px;border-radius:9px;border:1px solid rgba(89,217,223,.14);background:#08063a;color:#59d9df}.warranty-change-preview{grid-column:1/-1;display:grid;grid-template-columns:1fr auto 1fr;gap:12px;align-items:center;padding:13px;border-radius:13px;background:#05032a}.warranty-change-preview small,.warranty-change-preview b{display:block}.warranty-change-preview small{font-size:7px;color:#81859a}.warranty-adjustment-history{margin-top:11px;padding-top:9px;border-top:1px solid rgba(255,255,255,.06)}.warranty-adjustment-history small{display:block;margin-top:4px;color:#9296aa}
.care-cover-booking-offer{margin-top:18px}.care-cover-push{padding:18px;border-radius:19px;background:linear-gradient(145deg,rgba(89,217,223,.08),#08063a 48%);border:1px solid rgba(89,217,223,.18)}.care-cover-push-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start}.care-cover-push-head h3{font-size:22px;margin:3px 0 6px}.care-cover-push-head p{max-width:650px;color:#a8abbb;line-height:1.5}.care-cover-push-head>span{padding:7px 9px;border-radius:999px;background:#59d9df;color:#05032a;font-size:8px;font-weight:900;white-space:nowrap}.care-comparison-scroll{overflow-x:auto;margin:14px 0}.care-comparison{width:100%;min-width:720px;border-collapse:separate;border-spacing:0;background:#05032a;border:1px solid rgba(255,255,255,.06);border-radius:14px;overflow:hidden}.care-comparison th,.care-comparison td{padding:10px;border-right:1px solid rgba(255,255,255,.05);border-bottom:1px solid rgba(255,255,255,.05);font-size:9px;text-align:center}.care-comparison th:first-child,.care-comparison td:first-child{text-align:left}.care-comparison th{color:#59d9df;background:#08063a}.care-comparison th small{display:block;margin-top:3px;color:#fff}.care-plan-choices{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.care-plan-choice{padding:12px;border-radius:13px;background:#05032a;border:1px solid rgba(255,255,255,.07);cursor:pointer}.care-plan-choice.selected{border-color:#59d9df;background:rgba(89,217,223,.08)}.care-plan-choice input{display:none}.care-plan-choice b,.care-plan-choice span{display:block}.care-plan-choice span{font-size:8px;color:#999dae;margin-top:3px}.care-cover-fine{font-size:8px;color:#85899e;margin:10px 0 0}.care-upsell-card{border-color:rgba(89,217,223,.2)!important;background:linear-gradient(135deg,rgba(89,217,223,.07),#08063a)!important}.care-countdown-hero{padding:17px;border-radius:16px;background:linear-gradient(135deg,rgba(89,217,223,.09),#08063a);border:1px solid rgba(89,217,223,.16)}.care-countdown-hero small{color:#59d9df}.care-countdown-hero h3{font-size:29px;margin:5px 0}.care-countdown-track{height:7px;border-radius:999px;background:#05032a;overflow:hidden}.care-countdown-track i{display:block;height:100%;background:#59d9df}.care-plan-purchase-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:13px}.care-plan-purchase{padding:13px;border-radius:13px;border:1px solid rgba(89,217,223,.15);background:#08063a;color:#fff;text-align:left}.care-plan-purchase b,.care-plan-purchase span,.care-plan-purchase small{display:block}.care-plan-purchase span{font-size:18px;color:#59d9df;font-weight:900;margin:3px 0}.terms-page-shell{display:grid;grid-template-columns:250px 1fr;gap:28px;align-items:start}.terms-page-version{position:sticky;top:100px;padding:16px;border-radius:16px;background:#08063a;border:1px solid rgba(89,217,223,.12)}.terms-page-version span,.terms-page-version b{display:block}.terms-page-version span{font-size:8px;color:#59d9df}.terms-page-version b{font-size:18px;margin:4px 0}.terms-live-copy{display:grid;gap:11px}.terms-live-copy h4{margin:12px 0 0;font-size:16px;color:#fff}.terms-live-copy p{margin:0;color:#b0b3c1;line-height:1.65}.terms-summary{padding:15px;border-radius:14px;background:#08063a;border:1px solid rgba(255,255,255,.06)}
@media(max-width:900px){.care-plan-admin-grid{grid-template-columns:1fr 1fr}.care-plan-choices,.care-plan-purchase-grid{grid-template-columns:1fr}.care-cover-push-head{display:grid}.terms-page-shell{grid-template-columns:1fr}.terms-page-version{position:static}}@media(max-width:620px){.care-plan-admin-grid{grid-template-columns:1fr}.care-cover-push{padding:13px}.care-comparison{min-width:660px}}

/* ================= V48.2 booking clarity fixes ================= */
.hardwire-choice-grid{align-items:stretch}.hardwire-choice-card{min-height:150px!important;padding:20px 78px 20px 20px!important;overflow:hidden!important}.hardwire-choice-card::after{display:none!important}.hardwire-choice-card .choice-card-state{position:absolute!important;right:16px!important;top:16px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;min-width:54px!important;padding:6px 9px!important;border-radius:999px!important;border:1px solid rgba(255,255,255,.12)!important;background:#08063a!important;color:#9da1b4!important;font-size:8px!important;font-weight:900!important;letter-spacing:.08em!important;text-transform:uppercase!important;white-space:nowrap!important}.hardwire-choice-card.selected .choice-card-state{background:#59d9df!important;border-color:#59d9df!important;color:#05032a!important}.hardwire-choice-card>b{font-size:18px!important;line-height:1.25!important;margin:0 0 7px!important}.hardwire-choice-detail{display:block!important;color:#59d9df!important;font-size:12px!important;font-weight:800!important;margin:2px 0 6px!important}.hardwire-choice-card>small{display:block;color:#9296a9;font-size:10px;line-height:1.5}.hardwire-choice-card.selected{box-shadow:0 0 0 3px rgba(89,217,223,.07),0 16px 38px rgba(0,0,0,.18)!important}
.care-plan-choices{grid-template-columns:repeat(4,minmax(0,1fr))!important;align-items:stretch!important;gap:10px!important;margin-top:14px!important}.care-plan-choice{position:relative!important;display:flex!important;flex-direction:column!important;min-height:330px!important;padding:18px!important;border-radius:17px!important;background:#05032a!important;border:1px solid rgba(255,255,255,.085)!important;overflow:visible!important;cursor:pointer!important}.care-plan-choice.selected{border:2px solid #59d9df!important;background:linear-gradient(155deg,rgba(89,217,223,.11),#05032a 48%)!important;box-shadow:0 0 0 3px rgba(89,217,223,.06),0 18px 38px rgba(0,0,0,.2)!important}.care-plan-choice>small{color:#8f94aa!important;font-size:8px!important;font-weight:900!important;letter-spacing:.08em!important;text-transform:uppercase!important;padding-right:76px!important}.care-plan-choice>b{color:#fff!important;font-size:21px!important;line-height:1.1!important;margin:8px 0 4px!important}.care-plan-price{display:flex!important;align-items:baseline!important;gap:5px!important;color:#59d9df!important;font-size:27px!important;line-height:1!important;margin:7px 0 14px!important}.care-plan-price span{color:#8e93a8!important;font-size:8px!important;font-weight:700!important;text-transform:uppercase!important;letter-spacing:.06em!important}.care-plan-choice ul{list-style:none!important;display:grid!important;gap:7px!important;padding:0!important;margin:0!important}.care-plan-choice li{position:relative!important;padding-left:17px!important;color:#b0b4c4!important;font-size:9px!important;line-height:1.4!important}.care-plan-choice li::before{content:'✓';position:absolute;left:0;top:0;color:#59d9df;font-weight:900}.care-plan-select-state{position:absolute!important;top:15px!important;right:15px!important;padding:5px 8px!important;border-radius:999px!important;background:#08063a!important;border:1px solid rgba(255,255,255,.1)!important;color:#969aae!important;font-size:8px!important;font-weight:900!important;text-transform:uppercase!important}.care-plan-choice.selected .care-plan-select-state{background:#59d9df!important;border-color:#59d9df!important;color:#05032a!important}.care-recommended-badge{position:absolute!important;left:14px!important;top:-11px!important;z-index:2!important;padding:6px 9px!important;border-radius:999px!important;background:#59d9df!important;color:#05032a!important;font-size:8px!important;font-weight:950!important;text-transform:uppercase!important;letter-spacing:.07em!important;box-shadow:0 7px 18px rgba(89,217,223,.2)!important}.care-plan-choice.recommended{border-color:rgba(89,217,223,.5)!important}.care-desktop-comparison{margin-top:13px!important;border:1px solid rgba(255,255,255,.07)!important;border-radius:13px!important;overflow:hidden!important;background:#08063a!important}.care-desktop-comparison summary{cursor:pointer!important;padding:11px 13px!important;color:#59d9df!important;font-size:9px!important;font-weight:900!important}.care-desktop-comparison .care-comparison-scroll{margin:0!important}
@media(max-width:1024px){.care-plan-choices{grid-template-columns:repeat(2,minmax(0,1fr))!important}.care-plan-choice{min-height:285px!important}}
@media(max-width:620px){.hardwire-choice-grid{grid-template-columns:1fr!important;gap:9px!important}.hardwire-choice-card{min-height:0!important;padding:16px!important}.hardwire-choice-card .choice-card-state{position:static!important;align-self:flex-start!important;margin-bottom:9px!important;width:max-content!important}.hardwire-choice-card>b{font-size:17px!important}.care-cover-push{padding:13px!important;overflow:hidden!important}.care-cover-push-head>span{white-space:normal!important;line-height:1.35!important;width:auto!important;justify-self:start!important}.care-plan-choices{grid-template-columns:1fr!important;gap:11px!important}.care-plan-choice{min-height:0!important;padding:17px!important}.care-plan-choice>small{padding-right:82px!important}.care-plan-choice>b{font-size:22px!important}.care-plan-price{font-size:30px!important}.care-plan-choice li{font-size:10px!important}.care-desktop-comparison{display:none!important}.care-recommended-badge{top:-9px!important}}
.summary-line span:last-child{white-space:nowrap}

/* ================= V48.3 Customer Portal Audit ================= */
.customer-portal-body .portal-account-nav button span:empty{display:none!important}
.customer-portal-body .portal-account-nav button span:not(:empty){min-width:0!important;height:auto!important;padding:0!important;border-radius:0!important;background:transparent!important;color:#59d9df!important;font-size:9px!important;font-weight:900!important}
.portal-quick-actions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.portal-quick-actions>a,.portal-quick-actions>button{min-height:118px;padding:15px;border:1px solid rgba(255,255,255,.07);border-radius:16px;background:#08063a;color:#fff;text-align:left;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;cursor:pointer;text-decoration:none;transition:transform .2s ease,border-color .2s ease,background .2s ease}.portal-quick-actions>a:hover,.portal-quick-actions>button:hover{transform:translateY(-2px);border-color:rgba(89,217,223,.24);background:#0b0945}.portal-quick-icon{width:31px;height:31px;border-radius:10px;display:grid;place-items:center;background:rgba(89,217,223,.09);color:#59d9df;font-weight:900;margin-bottom:12px}.portal-quick-actions b,.portal-quick-actions small{display:block}.portal-quick-actions b{font-size:11px}.portal-quick-actions small{font-size:8px;color:#9195aa;line-height:1.4;margin-top:4px}
.portal-activity-list{display:grid;gap:7px}.portal-activity-row{width:100%;display:grid;grid-template-columns:38px 1fr auto;gap:11px;align-items:center;padding:11px 12px;border:1px solid rgba(255,255,255,.06);border-radius:13px;background:#08063a;color:#fff;text-align:left;cursor:pointer}.portal-activity-row:hover{border-color:rgba(89,217,223,.18)}.portal-activity-icon{width:34px;height:34px;border-radius:11px;display:grid;place-items:center;background:rgba(89,217,223,.08);color:#59d9df;font-weight:900}.portal-activity-row small,.portal-activity-row b,.portal-activity-row p{display:block;margin:0}.portal-activity-row small{font-size:7px;color:#777c91}.portal-activity-row b{font-size:10px;margin:2px 0}.portal-activity-row p{font-size:8px;color:#9498aa}.portal-activity-row strong{color:#59d9df;font-size:8px}.portal-security-actions{display:flex;gap:8px;flex-wrap:wrap}
@media(max-width:900px){.portal-quick-actions{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.portal-quick-actions{grid-template-columns:1fr 1fr}.portal-quick-actions>a,.portal-quick-actions>button{min-height:105px;padding:13px}.portal-activity-row{grid-template-columns:34px 1fr}.portal-activity-row>strong{display:none}.portal-security-actions{display:grid}.portal-security-actions .btn{width:100%}}

/* ================= V48.4 Customer Portal ownership experience ================= */
.portal-appointment-ready-section,.portal-care-benefits-section{margin-top:12px}
.portal-ready-card{padding:18px;border-radius:20px;background:linear-gradient(145deg,#0a0744,#070535);border:1px solid rgba(89,217,223,.15)}
.portal-ready-card.confirmed{background:linear-gradient(145deg,rgba(89,217,223,.1),#070535);border-color:rgba(89,217,223,.3)}
.portal-ready-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}.portal-ready-head small{color:#59d9df;font-size:8px;font-weight:900;letter-spacing:.1em}.portal-ready-head h4{font-size:24px;margin:5px 0}.portal-ready-head p{margin:0;color:#a0a4b6}.portal-ready-head button{border:0;background:transparent;color:#59d9df;font-weight:800;font-size:9px}
.portal-ready-checks{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:16px 0}.portal-ready-checks>div{padding:12px;border-radius:13px;background:#05032a;border:1px solid rgba(255,255,255,.06)}.portal-ready-checks>div>span{width:25px;height:25px;display:grid;place-items:center;border-radius:50%;background:#161343;color:#8f93a8;font-weight:900;margin-bottom:9px}.portal-ready-checks>div.done>span{background:#59d9df;color:#05032a}.portal-ready-checks b,.portal-ready-checks small{display:block}.portal-ready-checks b{font-size:10px}.portal-ready-checks small{font-size:8px;color:#8f93a8;margin-top:4px;line-height:1.4}
.portal-ready-customer-checks{display:grid;gap:8px;padding-top:12px;border-top:1px solid rgba(255,255,255,.06)}.portal-ready-customer-checks label{display:flex;gap:10px;align-items:flex-start;padding:10px;border-radius:12px;background:#08063a}.portal-ready-customer-checks input{width:19px;height:19px;accent-color:#59d9df}.portal-ready-customer-checks b,.portal-ready-customer-checks small{display:block}.portal-ready-customer-checks small{font-size:8px;color:#8f93a8;margin-top:3px}.portal-ready-customer-checks .btn{justify-self:start;margin-top:4px}.portal-ready-customer-checks .btn:disabled{opacity:.4;cursor:not-allowed}.portal-ready-warning{color:#ffcf8b;font-size:8px;margin:0}.portal-ready-confirmed{padding:13px;border-radius:13px;background:rgba(89,217,223,.07);border:1px solid rgba(89,217,223,.12)}.portal-ready-confirmed p{margin:3px 0 0;color:#a7aaba;font-size:9px}

.portal-care-benefits-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.portal-care-status-card{width:100%;padding:16px;border-radius:18px;background:linear-gradient(145deg,rgba(89,217,223,.075),#08063a 44%);border:1px solid rgba(89,217,223,.16);color:#fff;text-align:left}.portal-care-status-head{display:flex;justify-content:space-between;gap:10px}.portal-care-status-head small{color:#59d9df;font-size:7px;font-weight:900}.portal-care-status-head h4{font-size:20px;margin:4px 0}.portal-care-status-head p{margin:0;color:#969aad}.portal-care-status-head>span{width:45px;height:45px;border-radius:50%;display:grid;place-items:center;background:#59d9df;color:#05032a;font-size:10px;font-weight:950}.portal-care-benefit-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:7px;margin:14px 0}.portal-care-benefit-stats>div{padding:9px;border-radius:11px;background:#05032a}.portal-care-benefit-stats b,.portal-care-benefit-stats small{display:block}.portal-care-benefit-stats b{color:#59d9df;font-size:13px}.portal-care-benefit-stats small{color:#888ca1;font-size:7px;margin-top:2px}.portal-care-next-health{display:flex;justify-content:space-between;gap:10px;padding:9px 0;border-top:1px solid rgba(255,255,255,.06);font-size:8px}.portal-care-next-health span{color:#8f93a7}.portal-care-open{display:block;color:#59d9df;font-size:9px;margin-top:7px}

.portal-digital-vehicle-card{position:relative;overflow:hidden;padding:18px;border-radius:20px;background:linear-gradient(135deg,#0c0a4b,#070535 58%,rgba(89,217,223,.12));border:1px solid rgba(89,217,223,.2);margin-bottom:14px}.portal-digital-vehicle-card:after{content:'';position:absolute;width:170px;height:170px;border:32px solid rgba(89,217,223,.035);border-radius:50%;right:-55px;bottom:-75px}.portal-digital-brand span,.portal-digital-brand b{display:block}.portal-digital-brand span{color:#59d9df;font-size:8px;font-weight:950;letter-spacing:.15em}.portal-digital-brand b{font-size:7px;letter-spacing:.35em;margin-top:2px}.portal-digital-card-main{display:flex;justify-content:space-between;gap:15px;align-items:center;margin:22px 0}.portal-digital-card-main small{color:#8e92a7;font-size:7px}.portal-digital-card-main h3{font:900 29px/1 Arial,sans-serif;letter-spacing:.08em;margin:5px 0}.portal-digital-card-main p{margin:0;color:#a6a9b9}.portal-digital-shield{width:55px;height:55px;border-radius:18px;display:grid;place-items:center;background:#59d9df;color:#05032a;font-weight:950}.portal-digital-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.portal-digital-stats>div{padding:9px;border-radius:11px;background:rgba(5,3,42,.7)}.portal-digital-stats b,.portal-digital-stats span{display:block}.portal-digital-stats b{color:#59d9df;font-size:11px}.portal-digital-stats span{font-size:7px;color:#8e92a7;margin-top:3px}.portal-digital-vehicle-card>p{font-size:8px;color:#84889c;margin:11px 0 0}
.portal-tech-record{display:grid;gap:7px}.portal-tech-record button{width:100%;display:grid;grid-template-columns:42px 1fr auto;gap:10px;align-items:center;padding:11px;border:0;border-radius:13px;background:#08063a;color:#fff;text-align:left}.portal-tech-icon{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;background:#05032a;color:#59d9df;font-size:8px;font-weight:900}.portal-tech-record small,.portal-tech-record b,.portal-tech-record p{display:block;margin:0}.portal-tech-record small{font-size:7px;color:#7f8398}.portal-tech-record b{font-size:11px;margin:3px 0}.portal-tech-record p{font-size:8px;color:#9296a9}.portal-tech-record strong{color:#59d9df;font-size:8px}
.portal-care-detail-card{padding:14px;border-radius:15px;background:linear-gradient(145deg,rgba(89,217,223,.08),#08063a);border:1px solid rgba(89,217,223,.15)}.portal-care-detail-card small{color:#59d9df}.portal-care-detail-card h3{margin:4px 0}.portal-care-detail-card p{color:#989caf}.portal-care-detail-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:7px;margin-top:10px}

.booking-ready-confirmed{border-color:rgba(89,217,223,.32)!important;background:rgba(89,217,223,.08)!important}.booking-ready-confirmed b{color:#59d9df!important}

@media(max-width:900px){
 .portal-ready-checks{grid-template-columns:repeat(2,1fr)}
 .portal-care-benefits-grid{grid-template-columns:1fr}
}
@media(max-width:620px){
 .portal-ready-card{padding:14px}.portal-ready-head{display:grid}.portal-ready-head h4{font-size:21px}.portal-ready-head button{justify-self:start}
 .portal-ready-checks{grid-template-columns:1fr}
 .portal-care-benefit-stats{grid-template-columns:1fr 1fr}
 .portal-digital-stats{grid-template-columns:1fr 1fr}.portal-digital-stats>div:last-child{grid-column:1/-1}
 .portal-tech-record button{grid-template-columns:38px 1fr}.portal-tech-record strong{grid-column:2;justify-self:start}
 .portal-care-detail-grid{grid-template-columns:1fr}
}

/* ================= V48.5 Native My Road Guard booking flow ================= */

/* Public website chrome is completely removed while booking from the signed-in portal. */
.portal-booking-native .site-shell>header,
.portal-booking-native .page-hero,
.portal-booking-native .footer-pro,
.portal-booking-native .global-ticker,
.portal-booking-native .scheduled-announcement,
.portal-booking-native .sale-banner,
.portal-booking-native .service-switcher,
.portal-booking-native .progress{display:none!important}

.portal-booking-native{
  background:#05032a!important;
  padding-top:86px!important;
  padding-bottom:88px!important;
}
.portal-booking-native .site-shell{min-height:auto!important}
.portal-booking-native main{padding:0!important;margin:0!important}
.portal-booking-native .section.soft{padding:18px 18px 36px!important;background:#05032a!important}
.portal-booking-native .container.booking-shell{
  width:min(1180px,100%)!important;
  max-width:1180px!important;
  margin:0 auto!important;
}
.portal-booking-native .booking-shell{
  display:grid!important;
  grid-template-columns:230px minmax(0,1fr)!important;
  gap:16px!important;
  align-items:start!important;
}
.portal-booking-native .booking-side{
  display:block!important;
  position:sticky!important;
  top:104px!important;
  border-radius:18px!important;
  background:#08063a!important;
  border:1px solid rgba(89,217,223,.1)!important;
}
.portal-booking-native .booking-main{
  border-radius:20px!important;
  border:1px solid rgba(89,217,223,.12)!important;
  background:linear-gradient(145deg,#08063a,#06042f)!important;
  box-shadow:0 22px 55px rgba(0,0,0,.22)!important;
  overflow:hidden!important;
}
.portal-booking-native .booking-mobile-progress{background:#08063a!important;border-bottom:1px solid rgba(89,217,223,.08)!important}
.portal-booking-native .portal-account-prefill{background:rgba(89,217,223,.055)!important;border-color:rgba(89,217,223,.14)!important}
.portal-booking-native .portal-prefilled-field{background:#08063a!important;color:#d5d8e6!important}

.portal-booking-native-head{
  position:fixed;
  z-index:700;
  top:0;
  left:0;
  right:0;
  height:74px;
  display:grid;
  grid-template-columns:44px 170px 1fr 44px;
  gap:12px;
  align-items:center;
  padding:0 22px;
  background:rgba(5,3,42,.96);
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
  border-bottom:1px solid rgba(89,217,223,.13);
}
.portal-booking-native-head>button{
  width:40px;height:40px;border-radius:12px;border:1px solid rgba(255,255,255,.08);
  background:#08063a;color:#fff;font-size:22px;cursor:pointer
}
.portal-booking-native-brand{display:flex;align-items:center}
.portal-booking-native-brand img{display:block;width:154px;max-height:48px;object-fit:contain}
.portal-booking-native-copy{min-width:0}
.portal-booking-native-copy small,.portal-booking-native-copy b{display:block}
.portal-booking-native-copy small{color:#59d9df;font-size:7px;letter-spacing:.13em;font-weight:900}
.portal-booking-native-copy b{font-size:15px;color:#fff;margin-top:2px}
.portal-booking-native-nav{
  position:fixed;
  z-index:700;
  left:50%;
  transform:translateX(-50%);
  bottom:12px;
  width:min(620px,calc(100vw - 24px));
  display:grid;
  grid-template-columns:repeat(5,1fr);
  padding:7px;
  border-radius:20px;
  background:rgba(8,6,58,.97);
  border:1px solid rgba(89,217,223,.12);
  box-shadow:0 20px 50px rgba(0,0,0,.35);
  backdrop-filter:blur(18px);
}
.portal-booking-native-nav a{
  display:grid;place-items:center;align-content:center;gap:3px;min-height:54px;border-radius:14px;
  color:#85899f;text-decoration:none
}
.portal-booking-native-nav a.active{background:rgba(89,217,223,.1);color:#59d9df}
.portal-booking-native-nav span{font-size:16px}
.portal-booking-native-nav b{font-size:8px}
.portal-booking-success-actions{display:flex;gap:9px;justify-content:center;flex-wrap:wrap;margin-top:18px}

/* The old iframe-specific shell is no longer used. */
.portal-booking-frame{display:none!important}

/* Tablet */
@media(max-width:900px){
  .portal-booking-native{padding-top:76px!important;padding-bottom:86px!important}
  .portal-booking-native-head{height:66px;grid-template-columns:40px 150px 1fr 40px;padding:0 14px}
  .portal-booking-native-brand img{width:140px}
  .portal-booking-native .section.soft{padding:12px 12px 28px!important}
  .portal-booking-native .booking-shell{grid-template-columns:1fr!important}
  .portal-booking-native .booking-side{display:none!important}
  .portal-booking-native .booking-main{border-radius:17px!important}
}

/* iPhone */
@media(max-width:620px){
  .portal-booking-native{
    padding-top:66px!important;
    padding-bottom:calc(78px + env(safe-area-inset-bottom,0px))!important;
  }
  .portal-booking-native-head{
    height:58px;
    grid-template-columns:38px 1fr 38px;
    padding:env(safe-area-inset-top,0px) 10px 0;
  }
  .portal-booking-native-brand{justify-content:center}
  .portal-booking-native-brand img{width:142px;max-height:42px}
  .portal-booking-native-copy{display:none}
  .portal-booking-native-head>button{width:36px;height:36px;border-radius:11px}
  .portal-booking-native .section.soft{padding:7px 7px 18px!important}
  .portal-booking-native .booking-main{
    border-radius:15px!important;
    border-color:rgba(89,217,223,.1)!important;
  }
  .portal-booking-native .booking-step{padding:14px!important}
  .portal-booking-native .booking-step h2{font-size:29px!important;line-height:1.03!important}
  .portal-booking-native .booking-mobile-progress{margin:-14px -14px 13px!important;padding:9px 11px!important}
  .portal-booking-native-nav{
    bottom:max(7px,env(safe-area-inset-bottom,0px));
    width:calc(100vw - 14px);
    padding:5px;
    border-radius:17px;
  }
  .portal-booking-native-nav a{min-height:50px;border-radius:12px}
  .portal-booking-native-nav span{font-size:17px}
  .portal-booking-native-nav b{font-size:7px}
  .portal-booking-success-actions{display:grid!important}
}
\n/* ================= V48.6 interaction reliability ================= */\n.hardwire-choice-card{transition:border-color .18s ease,background .18s ease,box-shadow .18s ease,transform .18s ease!important}\n.hardwire-choice-card.selected{border:2px solid #59d9df!important;background:linear-gradient(145deg,rgba(89,217,223,.16),rgba(5,3,42,.96))!important;box-shadow:0 0 0 4px rgba(89,217,223,.07),0 18px 38px rgba(0,0,0,.24)!important;transform:translateY(-1px)!important}\n.hardwire-choice-card.selected .choice-card-state{background:#59d9df!important;color:#05032a!important;border-color:#59d9df!important;box-shadow:0 5px 14px rgba(89,217,223,.18)!important}\n.hardwire-choice-card.selected .hardwire-choice-detail{color:#7ff4f7!important}\n.hardwire-choice-card:focus-within{outline:2px solid rgba(89,217,223,.35)!important;outline-offset:3px!important}\n.booking-nav .next:not(:disabled){cursor:pointer!important;pointer-events:auto!important;position:relative!important;z-index:2!important}\n.booking-nav .next:not(:disabled):hover{transform:translateY(-1px)!important}\n.booking-nav .next:disabled{opacity:.45!important;cursor:not-allowed!important}\n@media(max-width:620px){.hardwire-choice-card.selected{box-shadow:inset 4px 0 0 #59d9df,0 12px 26px rgba(0,0,0,.18)!important}}\n
/* ================= V48.7 customer hardwire evidence + parking declaration ================= */
.customer-hardwire-evidence{margin-top:13px;padding:16px;border-radius:16px;background:#070535;border:1px solid rgba(89,217,223,.14)}
.customer-hardwire-evidence-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}
.customer-hardwire-evidence-head small{color:#59d9df;font-size:7px;font-weight:900;letter-spacing:.1em}
.customer-hardwire-evidence-head h4{font-size:19px;margin:4px 0}.customer-hardwire-evidence-head p{margin:0;color:#969aac;line-height:1.45}
.customer-hardwire-evidence-head>span{padding:6px 8px;border-radius:999px;background:rgba(89,217,223,.1);border:1px solid rgba(89,217,223,.18);color:#59d9df;font-size:8px;font-weight:900;white-space:nowrap}
.hardwire-photo-guide{margin:13px 0;padding:13px;border-radius:13px;background:#05032a;border:1px solid rgba(255,255,255,.06)}
.hardwire-photo-guide>b{font-size:10px}.hardwire-photo-guide ol{margin:8px 0 8px 18px;padding:0;color:#a8abba;font-size:9px;line-height:1.55}.hardwire-photo-guide p{margin:0;color:#ffcf8b;font-size:8px}
.hardwire-proof-upload label span{color:#59d9df;font-size:8px}.hardwire-proof-upload input[type=file]{padding:13px;border-radius:12px;border:1px dashed rgba(89,217,223,.27);background:#05032a}
.hardwire-photo-count{margin-top:7px;padding:7px 9px;border-radius:9px;background:#08063a;color:#a0a4b7;font-size:8px}.hardwire-photo-count.ok{color:#59d9df;background:rgba(89,217,223,.07)}
.customer-kit-confirm{margin-top:12px!important;padding:12px!important;border-radius:12px!important;background:rgba(89,217,223,.055)!important;border:1px solid rgba(89,217,223,.12)!important}
.parking-battery-warning{padding:0!important;overflow:hidden!important;border:1px solid rgba(255,190,93,.28)!important;background:linear-gradient(145deg,rgba(255,183,77,.07),#070535 44%)!important}
.parking-battery-warning-head{display:flex;gap:11px;align-items:flex-start;padding:14px 14px 10px;background:rgba(255,183,77,.055);border-bottom:1px solid rgba(255,183,77,.1)}
.parking-battery-warning-head>span{width:29px;height:29px;flex:0 0 29px;border-radius:50%;display:grid;place-items:center;background:#ffbd64;color:#05032a;font-weight:950}
.parking-battery-warning-head strong{display:block;color:#fff;font-size:12px}.parking-battery-warning-head p{margin:3px 0 0!important;color:#c4ac8b!important;font-size:8px!important}
.parking-battery-warning>p{padding:0 14px;margin:11px 0!important;color:#b7bac8!important;font-size:9px!important;line-height:1.55!important}.parking-battery-warning>p b{color:#ffcf8b}
.parking-risk-check{margin:12px 14px 0!important;padding:11px!important;border-radius:11px!important;background:#05032a!important;border:1px solid rgba(255,189,100,.13)!important}.parking-risk-check small{display:block;color:#969aac;margin-top:3px}
.parking-risk-signature{margin:9px 14px 14px!important}.parking-risk-signature input{border-color:rgba(255,189,100,.22)!important}.parking-risk-signature small{color:#969aac!important}
@media(max-width:620px){.customer-hardwire-evidence{padding:12px}.customer-hardwire-evidence-head{display:grid}.customer-hardwire-evidence-head>span{justify-self:start;white-space:normal}.hardwire-photo-guide ol{font-size:10px}.parking-battery-warning>p{font-size:10px!important}}

/* ================= V48.8 hardwire evidence visibility fix ================= */
.customer-hardwire-evidence[hidden]{display:none!important}
.customer-hardwire-evidence:not([hidden]){
  display:block!important;
  animation:rgaHardwireEvidenceIn .22s ease both;
}
@keyframes rgaHardwireEvidenceIn{
  from{opacity:0;transform:translateY(-6px)}
  to{opacity:1;transform:none}
}
.customer-hardwire-evidence{
  scroll-margin-top:110px;
}
.hardwire-choice-card.selected + .hardwire-choice-card{}
@media(max-width:620px){
  .customer-hardwire-evidence{
    margin-top:10px!important;
  }
}

/* ================= V48.10 basket linkage clarity ================= */
.basket-preview-head>div{display:grid;gap:2px}
.basket-preview-head>div>small{color:#8f93a7;font-size:8px;font-weight:500}

/* ================= V48.11 booking transaction + draft recovery ================= */
.booking-draft-notice{display:flex;justify-content:space-between;gap:14px;align-items:center;margin:0 0 14px;padding:13px 15px;border-radius:15px;background:rgba(89,217,223,.08);border:1px solid rgba(89,217,223,.17)}
.booking-draft-notice small,.booking-draft-notice b,.booking-draft-notice span{display:block}.booking-draft-notice small{color:#59d9df;font-size:7px;font-weight:900;letter-spacing:.1em}.booking-draft-notice b{font-size:12px;margin:3px 0}.booking-draft-notice span{font-size:8px;color:#999daf;line-height:1.4}.booking-draft-notice button{flex:0 0 auto;padding:8px 10px;border-radius:10px;border:1px solid rgba(255,255,255,.09);background:#05032a;color:#fff;font-size:8px;font-weight:800}
.care-services-field{grid-column:1/-1}.care-services-field select[multiple]{min-height:116px}.care-services-field small{color:#8e92a6;font-size:7px}
.portal-draft-card{border-color:rgba(89,217,223,.2)!important;background:linear-gradient(135deg,rgba(89,217,223,.06),#08063a)!important}
@media(max-width:620px){.booking-draft-notice{display:grid}.booking-draft-notice button{justify-self:start}}

/* ================= V48.13 Control, Care & mobile polish ================= */
/* Booking confirmation is centred as one visual block on every screen size. */
.booking-step[data-step="8"]{text-align:center!important}
.booking-confirmation-clean{width:100%!important;max-width:820px!important;margin-inline:auto!important;display:flex!important;flex-direction:column!important;align-items:center!important;text-align:center!important;padding-left:clamp(14px,4vw,30px)!important;padding-right:clamp(14px,4vw,30px)!important;box-sizing:border-box!important}
.booking-confirmation-clean>*{margin-left:auto!important;margin-right:auto!important}
.booking-confirmation-clean .confirmation-payment-message,.booking-confirmation-clean .approval-box{width:min(100%,680px)!important}
.booking-confirmation-clean .confirmation-payment-card{text-align:center!important}
.booking-confirmation-clean .confirmation-payment-card p,.booking-confirmation-clean .confirmation-payment-card b{text-align:center!important}
.booking-confirmation-clean .portal-booking-success-actions{justify-content:center!important;width:100%!important}

/* Care service-level controls */
.care-service-rules{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.care-service-rule{display:grid;grid-template-columns:minmax(180px,1.4fr) repeat(4,minmax(105px,.65fr)) auto;gap:9px;align-items:center;padding:13px;border-radius:15px;background:#08063a;border:1px solid rgba(255,255,255,.07)}
.care-service-rule>div small{color:#59d9df;font-size:7px;letter-spacing:.1em}.care-service-rule h3{font-size:14px;margin:3px 0}.care-service-rule p{margin:0;color:#83879b;font-size:8px}
.care-service-rule>label{display:grid;gap:5px;color:#9da1b2;font-size:8px}.care-service-rule>label input[type=checkbox]{width:18px;height:18px;accent-color:#59d9df}.care-service-rule>label input[type=number]{width:82px;background:#05032a;border:1px solid rgba(255,255,255,.08);color:#fff;border-radius:9px;padding:7px}.care-service-rule>button{border:1px solid rgba(89,217,223,.18);background:#05032a;color:#59d9df;border-radius:10px;padding:9px 11px;font-size:8px;font-weight:850}

/* Customer database as an operational grid */
.customer-admin-toolbar{display:grid;grid-template-columns:2fr 1fr 1fr;gap:9px;align-items:end}.customer-admin-data-grid{display:block;overflow-x:auto}.customer-grid-header,.customer-grid-row{min-width:1100px;display:grid;grid-template-columns:2.1fr 1.35fr 1.35fr .7fr 1fr .85fr .7fr 70px;gap:9px;align-items:center}.customer-grid-header{padding:8px 12px;color:#6f7388;font-size:7px;text-transform:uppercase;letter-spacing:.09em}.customer-grid-row{margin-bottom:7px;padding:11px 12px;border-radius:14px;background:#08063a;border:1px solid rgba(255,255,255,.06)}.customer-grid-row.suspended{opacity:.67;border-color:rgba(255,120,130,.2)}.customer-grid-person{display:grid;grid-template-columns:42px 1fr;gap:9px;align-items:center}.customer-grid-person .customer-avatar{width:40px;height:40px;border-radius:11px;font-size:16px}.customer-grid-person b,.customer-grid-person small,.customer-grid-person em,.customer-grid-row>div>b,.customer-grid-row>div>small{display:block}.customer-grid-person b{font-size:11px}.customer-grid-person small{font-size:8px;color:#969aac;margin-top:2px}.customer-grid-person em{font-size:7px;color:#59d9df;font-style:normal;margin-top:3px}.customer-grid-row>div>b{font-size:9px}.customer-grid-row>div>small{font-size:7px;color:#7f8397;margin-top:3px}.customer-grid-row .money-due{color:#ffbf70}.customer-grid-action button{padding:8px 10px;border-radius:9px;border:1px solid rgba(89,217,223,.18);background:#05032a;color:#59d9df;font-size:8px}

.customer-cover-admin{margin-top:24px;padding-top:20px;border-top:1px solid rgba(255,255,255,.07)}.customer-cover-toolbar{margin-bottom:10px}.customer-cover-toolbar label{display:grid;gap:5px;color:#8f93a7;font-size:8px}.customer-cover-toolbar select{max-width:650px;background:#05032a;border:1px solid rgba(255,255,255,.08);color:#fff;border-radius:10px;padding:10px}.customer-cover-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.customer-cover-card{padding:15px;border-radius:16px;background:#08063a;border:1px solid rgba(89,217,223,.1)}.customer-cover-card>small{color:#59d9df;font-size:7px;font-weight:900;letter-spacing:.1em}.customer-cover-card h4{font-size:18px;margin:4px 0}.customer-cover-card>p{color:#979bad;font-size:9px;line-height:1.5}.customer-cover-fields{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:12px 0}.customer-cover-fields label{display:grid;gap:4px;color:#8e92a6;font-size:8px}.customer-cover-fields label.full{grid-column:1/-1}.customer-cover-fields input,.customer-cover-fields select{background:#05032a;color:#fff;border:1px solid rgba(255,255,255,.08);border-radius:9px;padding:9px}.customer-cover-preview{padding:9px;border-radius:10px;background:#05032a;color:#979bad;font-size:8px;margin-bottom:10px}.customer-cover-preview b{color:#59d9df}

/* Mobile header/ticker: remove the accidental second 64px offset. */
@media(max-width:900px){
 body:not(.customer-portal-body):not(.portal-booking-native) .global-ticker{position:relative!important;top:auto!important;margin-top:64px!important}
 body:not(.customer-portal-body):not(.portal-booking-native).has-scheduled-announcement .scheduled-announcement{margin-top:64px!important}
 body:not(.customer-portal-body):not(.portal-booking-native).has-scheduled-announcement .global-ticker{margin-top:0!important}
 .care-service-rules{grid-template-columns:1fr}.care-service-rule{grid-template-columns:1fr 1fr 1fr}.care-service-rule>div{grid-column:1/-1}.care-service-rule>button{align-self:end}
 .customer-cover-grid{grid-template-columns:1fr}
}
@media(max-width:700px){
 .customer-admin-toolbar{grid-template-columns:1fr}.customer-admin-data-grid{overflow:visible}.customer-grid-header{display:none}.customer-grid-row{min-width:0;display:grid;grid-template-columns:1fr 1fr;padding:14px}.customer-grid-person{grid-column:1/-1}.customer-grid-row>div:not(.customer-grid-person):not(.customer-grid-action){padding:8px;border-radius:10px;background:#05032a}.customer-grid-row>div[data-label]::before{content:attr(data-label);display:block;color:#6f7388;font-size:7px;text-transform:uppercase;margin-bottom:4px}.customer-grid-action{grid-column:1/-1}.customer-grid-action button{width:100%}
 .care-service-rule{grid-template-columns:1fr 1fr}.care-service-rule>div,.care-service-rule>button{grid-column:1/-1}.customer-cover-fields{grid-template-columns:1fr}.customer-cover-fields label.full{grid-column:auto}
 .booking-confirmation-clean{padding-inline:12px!important}.booking-confirmation-clean h2{max-width:100%!important}.booking-confirmation-clean .section-lead{max-width:100%!important}
}

/* ================= V48.14 Control audit + tighter website rhythm ================= */
:root{--rga-section-scale:.65;--rga-divider-thickness:1px}
.hero-phone-cta{max-width:100%}
.hero-phone-cta span{font-size:calc(clamp(25px,3vw,38px) * var(--home-phone-scale,1))!important;line-height:1!important;text-align:center;max-width:96vw;overflow-wrap:anywhere}
.home-phone-admin-preview{overflow:hidden}
.home-phone-admin-preview span{font-size:calc(30px * var(--home-phone-scale,1))!important;line-height:1;max-width:100%;overflow-wrap:anywhere;text-align:center}
.range-control input[type=range]{width:100%;accent-color:#59d9df}
.range-control>label{display:flex;justify-content:space-between;gap:12px}.range-control>label strong{color:#59d9df}
.range-scale{display:flex;justify-content:space-between;color:#777c92;font-size:8px;margin-top:5px}

body:not(.admin-body):not(.customer-portal-body):not(.portal-booking-native) main>.section:not(.hero-section){padding-top:calc(68px * var(--rga-section-scale))!important;padding-bottom:calc(68px * var(--rga-section-scale))!important}
body:not(.admin-body):not(.customer-portal-body):not(.portal-booking-native) main>.section + .section{border-top:var(--rga-divider-thickness) solid rgba(89,217,223,.34)!important}
body:not(.admin-body):not(.customer-portal-body):not(.portal-booking-native) .section-title,body:not(.admin-body):not(.customer-portal-body):not(.portal-booking-native) .section-title-xl{margin-bottom:10px!important}
body:not(.admin-body):not(.customer-portal-body):not(.portal-booking-native) .section-lead{margin-top:5px!important;margin-bottom:12px!important}
body:not(.admin-body):not(.customer-portal-body):not(.portal-booking-native) .btn-row{margin-top:12px!important}

.customer-admin-data-grid{overflow-x:auto}
.customer-grid-header,.customer-grid-row{grid-template-columns:minmax(230px,1.5fr) minmax(120px,.8fr) minmax(145px,.9fr) minmax(145px,.9fr) minmax(145px,.9fr) minmax(100px,.65fr) minmax(120px,.75fr) minmax(110px,.7fr) minmax(90px,.55fr) 66px!important;min-width:1320px}
.customer-staff-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin:0 0 14px}
.customer-staff-actions button{display:grid;grid-template-columns:38px 1fr;column-gap:9px;text-align:left;padding:12px;border-radius:14px;border:1px solid rgba(89,217,223,.11);background:#08063a;color:#fff}
.customer-staff-actions button>span{grid-row:1/3;width:36px;height:36px;border-radius:11px;display:grid;place-items:center;background:rgba(89,217,223,.09);color:#59d9df;font-size:17px}
.customer-staff-actions b,.customer-staff-actions small{display:block}.customer-staff-actions b{font-size:10px}.customer-staff-actions small{font-size:8px;color:#8e92a6;margin-top:3px;line-height:1.35}
.customer-staff-actions button:hover{border-color:rgba(89,217,223,.35);transform:translateY(-1px)}

.admin-section{margin-bottom:15px!important;padding-top:14px!important;padding-bottom:14px!important}
.admin-section-head{margin-bottom:10px!important}.admin-form{gap:9px!important}.admin-list{gap:7px!important}.mini-feature-grid{gap:9px!important}
.admin-notify-drawer{z-index:900!important}.admin-chat-drawer{z-index:940!important}
.admin-chat-drawer .admin-notify-head{position:sticky;top:0;z-index:4;background:#07052f}
.admin-chat-drawer [data-close-admin-chat]{position:relative;z-index:6;cursor:pointer}.admin-chat-row{cursor:pointer}

@media(max-width:900px){
  body:not(.customer-portal-body):not(.portal-booking-native) .nav{position:fixed!important;top:0!important;left:0!important;right:0!important;height:64px!important}
  body:not(.customer-portal-body):not(.portal-booking-native) .global-ticker{position:fixed!important;top:64px!important;left:0!important;right:0!important;margin-top:0!important;z-index:117!important}
  body:not(.customer-portal-body):not(.portal-booking-native).has-global-ticker:not(.has-scheduled-announcement) main{padding-top:100px!important}
  body:not(.customer-portal-body):not(.portal-booking-native) .scheduled-announcement{position:fixed!important;top:64px!important;left:0!important;right:0!important;margin-top:0!important;z-index:118!important}
  body:not(.customer-portal-body):not(.portal-booking-native).has-scheduled-announcement .global-ticker{top:112px!important}
  body:not(.customer-portal-body):not(.portal-booking-native).has-scheduled-announcement:not(.has-global-ticker) main{padding-top:112px!important}
  body:not(.customer-portal-body):not(.portal-booking-native).has-scheduled-announcement.has-global-ticker main{padding-top:148px!important}
}
@media(max-width:620px){
  body:not(.admin-body):not(.customer-portal-body):not(.portal-booking-native) main>.section:not(.hero-section){padding-top:calc(52px * var(--rga-section-scale))!important;padding-bottom:calc(52px * var(--rga-section-scale))!important}
  .customer-staff-actions{grid-template-columns:1fr}
}


/* ================= V48.16 ticker repair — preserve original RGA appearance ================= */
.rga-ticker-viewport{width:100%;height:100%;overflow:hidden;white-space:nowrap}
.global-ticker .global-ticker-track{height:100%;display:flex!important;align-items:stretch!important;width:max-content!important;animation:none!important;transform:translate3d(0,0,0);will-change:transform}
.rga-ticker-group{height:100%;display:flex;flex:0 0 auto;align-items:stretch;width:max-content}
.global-ticker.rga-ticker-ready .global-ticker-track{animation:rgaTickerSeamless var(--rga-ticker-duration,30s) linear infinite!important}
@keyframes rgaTickerSeamless{from{transform:translate3d(0,0,0)}to{transform:translate3d(calc(-1 * var(--rga-ticker-shift)),0,0)}}
.global-ticker:hover .global-ticker-track{animation-play-state:paused!important}
.global-ticker a{cursor:pointer!important;pointer-events:auto!important}
.global-ticker a:hover{color:#fff!important;background:rgba(89,217,223,.11)!important}
.global-ticker a.ticker-accent:hover{color:#05032a!important;background:#59d9df!important}

/* Dynamic mobile bar positions without blank placeholders. */
@media(max-width:900px){
 :root{--rga-mobile-header-height:64px;--rga-announcement-height:0px;--rga-sale-height:0px;--rga-ticker-height:0px}
 body:not(.customer-portal-body):not(.portal-booking-native) .nav{top:0!important}
 body:not(.customer-portal-body):not(.portal-booking-native) .scheduled-announcement{position:fixed!important;top:var(--rga-mobile-header-height)!important;left:0!important;right:0!important;margin:0!important}
 body:not(.customer-portal-body):not(.portal-booking-native) .global-ticker{position:fixed!important;top:calc(var(--rga-mobile-header-height) + var(--rga-announcement-height) + var(--rga-sale-height))!important;left:0!important;right:0!important;margin:0!important}
 body:not(.customer-portal-body):not(.portal-booking-native) main{padding-top:calc(var(--rga-mobile-header-height) + var(--rga-announcement-height) + var(--rga-sale-height) + var(--rga-ticker-height))!important}
}

/* Footer: no cyan strip above it; social links centred on desktop. */
.footer-pro{border-top:0!important}
.footer-bottom{display:grid!important;grid-template-columns:1fr auto 1fr!important;align-items:center!important}
.footer-bottom>span:first-child{justify-self:start}.footer-bottom .footer-socials{justify-self:center;justify-content:center!important}.footer-bottom>span:last-child{justify-self:end}
@media(max-width:760px){.footer-bottom{display:flex!important;align-items:center!important;text-align:center}.footer-bottom>span,.footer-bottom .footer-socials{align-self:center!important;justify-content:center!important;justify-self:center!important;width:100%}}

/* Do not draw the configurable cyan section divider against the footer edge. */
main>.section:last-child{border-bottom:0!important}

/* ================= V48.16 Control repair ================= */
.admin-notify-head button,.admin-fin-close,.admin-fin-back,[data-close-admin-notify],[data-close-admin-chat]{cursor:pointer!important;pointer-events:auto!important}
.admin-notify-item,.admin-chat-row{cursor:pointer!important;pointer-events:auto!important}
.admin-notify-item:hover,.admin-chat-row:hover{border-color:rgba(89,217,223,.35)!important;background:rgba(89,217,223,.06)!important}

.admin-chat-drawer aside.admin-fin-panel{width:min(720px,100vw)!important;display:grid!important;grid-template-rows:auto minmax(0,1fr) auto auto!important;background:#05032a!important}
.admin-fin-head{display:grid;grid-template-columns:42px 1fr 42px;gap:12px;align-items:center;padding:16px;border-bottom:1px solid rgba(89,217,223,.12);background:#070535}
.admin-fin-head button{width:38px;height:38px;border-radius:11px;border:1px solid rgba(255,255,255,.09);background:#0a0846;color:#fff;font-size:20px}.admin-fin-head small{color:#59d9df;font-size:7px;font-weight:900;letter-spacing:.12em}.admin-fin-head h3{margin:2px 0;font-size:18px}.admin-fin-head p{margin:0;color:#84899f;font-size:8px}
.admin-chat-messages{padding:18px!important;display:flex!important;flex-direction:column!important;gap:10px!important;overflow:auto!important}.admin-chat-message{max-width:82%;padding:11px 13px;border-radius:16px;background:#0b0944;border:1px solid rgba(255,255,255,.06)}.admin-chat-message.admin{align-self:flex-end;background:rgba(89,217,223,.13);border-color:rgba(89,217,223,.2)}.admin-chat-message.customer{align-self:flex-start}.admin-chat-message small{color:#8e93aa;font-size:7px}.admin-chat-message p{margin:5px 0 0;white-space:pre-wrap;line-height:1.5}.admin-chat-typing{padding:7px 18px;color:#59d9df;font-size:8px}
.admin-fin-composer{padding:12px 14px 14px!important;border-top:1px solid rgba(89,217,223,.1);background:#070535}.admin-fin-composer textarea{width:100%;resize:none;border-radius:14px!important;background:#05032a!important;border:1px solid rgba(255,255,255,.09)!important;color:#fff!important;padding:12px!important}.admin-fin-composer-bar{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-top:8px}.admin-fin-composer-bar>div{display:flex;gap:6px}.admin-fin-composer-bar button,.admin-chat-attach{width:auto;min-width:38px;height:36px;border-radius:10px;border:1px solid rgba(255,255,255,.09);background:#0b0944;color:#fff;display:grid;place-items:center;cursor:pointer}.admin-chat-attach input{display:none}.admin-fin-send{padding:0 13px!important;background:#59d9df!important;color:#05032a!important;border-color:#59d9df!important;font-weight:900!important}.admin-fin-send span{margin-left:6px}.admin-chat-attachment-preview{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:7px}.admin-chat-attachment-preview>span{padding:6px 8px;border-radius:9px;background:#0b0944;font-size:8px}.admin-chat-attachment-preview button{border:0;background:transparent;color:#fff;cursor:pointer}.admin-emoji-picker{display:flex;gap:5px;flex-wrap:wrap;margin-top:8px;padding:8px;border-radius:10px;background:#05032a}.admin-emoji-picker button{border:0;background:#0b0944;border-radius:7px;padding:6px;cursor:pointer}
.fin-attachments{display:grid;gap:6px;margin-top:8px}.fin-attachment{display:flex;gap:8px;align-items:center;padding:7px;border-radius:10px;background:rgba(0,0,0,.18);color:inherit;text-decoration:none}.fin-attachment.image{display:grid}.fin-attachment img{max-width:230px;max-height:190px;object-fit:contain;border-radius:8px;background:#020118}.fin-attachment.file span{font-size:7px;color:#59d9df}.fin-nav-message-icon svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8}

.booking-admin-toolbar{display:flex;gap:12px;align-items:center;margin-bottom:14px}.booking-admin-toolbar>input{flex:1}.booking-admin-filters{display:flex;gap:6px;flex-wrap:wrap}.booking-admin-filters button{padding:8px 11px;border-radius:999px;border:1px solid rgba(255,255,255,.08);background:#08063a;color:#9ca1b7;cursor:pointer}.booking-admin-filters button.active{background:#59d9df;color:#05032a;border-color:#59d9df}.booking-admin-list{display:grid;gap:9px}.booking-admin-card{display:grid;grid-template-columns:150px minmax(0,1fr) auto;gap:16px;align-items:center;padding:15px;border:1px solid rgba(255,255,255,.07);border-radius:17px;background:#070535}.booking-admin-card:hover{border-color:rgba(89,217,223,.2)}.booking-admin-card-status span,.booking-admin-card-status small{display:block}.booking-admin-card-status span{color:#59d9df;font-size:8px;font-weight:900;text-transform:uppercase}.booking-admin-card-status small{margin-top:5px;color:#777d94;font-size:8px}.booking-admin-card-main h3{font-size:17px;margin:0 0 4px}.booking-admin-card-main p{margin:0;color:#a4a8b9}.booking-admin-card-meta{display:flex;gap:9px;flex-wrap:wrap;margin-top:8px}.booking-admin-card-meta span{font-size:8px;padding:5px 7px;border-radius:8px;background:#05032a;color:#9297ad}.booking-admin-card-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.booking-admin-card-actions button{padding:8px 10px;border-radius:9px;border:1px solid rgba(255,255,255,.09);background:#0b0944;color:#fff;cursor:pointer}.booking-admin-card-actions .primary{background:#59d9df;color:#05032a}.booking-admin-card-actions .danger{color:#ff9ca5}
.admin-booking-drawer{position:fixed;inset:0;z-index:960}.admin-booking-drawer[hidden]{display:none}.admin-booking-backdrop{position:absolute;inset:0;border:0;background:rgba(0,0,0,.65);cursor:pointer}.admin-booking-drawer>aside{position:absolute;top:0;right:0;width:min(880px,100%);height:100%;display:grid;grid-template-rows:auto minmax(0,1fr) auto;background:#05032a;box-shadow:-30px 0 70px rgba(0,0,0,.35)}.admin-booking-drawer>aside>header{display:flex;justify-content:space-between;gap:14px;padding:18px 20px;border-bottom:1px solid rgba(89,217,223,.12)}.admin-booking-drawer header small{color:#59d9df;font-size:7px;font-weight:900}.admin-booking-drawer header h2{margin:4px 0}.admin-booking-drawer header p{margin:0;color:#8c91a7}.admin-booking-drawer header button{width:38px;height:38px;border-radius:11px;border:1px solid rgba(255,255,255,.09);background:#0b0944;color:#fff;cursor:pointer}.admin-booking-drawer-body{overflow:auto;padding:18px 20px}.booking-detail-hero{display:grid;grid-template-columns:1fr 1fr;gap:10px}.booking-detail-section{padding:15px 0;border-top:1px solid rgba(255,255,255,.07);margin-top:15px}.booking-detail-section h3{margin:0 0 10px;color:#59d9df}.booking-detail-row{padding:9px;border-radius:10px;background:#08063a}.booking-detail-row small,.booking-detail-row b{display:block}.booking-detail-row small{font-size:7px;color:#81869c;text-transform:uppercase}.booking-detail-row b{font-size:10px;margin-top:3px;word-break:break-word}.booking-detail-data{display:grid;grid-template-columns:repeat(2,1fr);gap:7px}.booking-detail-services{display:flex;gap:6px;flex-wrap:wrap}.booking-detail-services span{padding:6px 8px;border-radius:8px;background:rgba(89,217,223,.08);color:#59d9df;font-size:8px}.booking-detail-cart,.booking-detail-preferences{display:grid;gap:7px;margin-top:10px}.booking-detail-cart article,.booking-detail-preferences article{display:flex;justify-content:space-between;gap:12px;padding:10px;border-radius:11px;background:#08063a}.booking-detail-cart b,.booking-detail-cart span,.booking-detail-preferences b,.booking-detail-preferences span,.booking-detail-preferences small{display:block}.booking-detail-cart span,.booking-detail-preferences span,.booking-detail-preferences small{font-size:8px;color:#8d92a7}.admin-booking-drawer-actions{display:flex;gap:8px;flex-wrap:wrap;padding:13px 20px;border-top:1px solid rgba(89,217,223,.1);background:#070535}.admin-booking-drawer-actions button{padding:10px 12px;border-radius:10px;border:1px solid rgba(255,255,255,.09);background:#0b0944;color:#fff;cursor:pointer}.admin-booking-drawer-actions .primary{background:#59d9df;color:#05032a}.booking-action-card{max-width:600px!important}

.care-services-field{grid-column:1/-1;padding:12px;border-radius:13px;background:#05032a;border:1px solid rgba(89,217,223,.1)}.care-services-field>small{color:#59d9df;font-weight:900;letter-spacing:.08em}.care-services-field>p{margin:8px 0 0;color:#858a9f;font-size:8px}.care-service-checkboxes{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:8px}.care-service-checkboxes label{display:flex;gap:7px;align-items:center;padding:8px;border-radius:9px;background:#08063a;color:#c7cada;font-size:9px}.care-service-checkboxes input{accent-color:#59d9df}

#calloutRulesForm{align-items:end!important}#calloutRulesForm .field{align-self:stretch;display:flex;flex-direction:column}#calloutRulesForm .field input,#calloutRulesForm .field select{margin-top:auto}
@media(max-width:800px){.booking-admin-toolbar{display:grid}.booking-admin-card{grid-template-columns:1fr}.booking-admin-card-actions{justify-content:flex-start}.booking-detail-hero,.booking-detail-data{grid-template-columns:1fr}.care-service-checkboxes{grid-template-columns:1fr}.admin-fin-send{font-size:8px}}

/* V48.16 shop gallery controls */
.product-photo-display-controls{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:10px 0}.product-photo-admin-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.product-photo-admin-card{border:1px solid rgba(255,255,255,.08);border-radius:14px;overflow:hidden;background:#070535}.product-photo-admin-card.cover{border-color:#59d9df}.product-photo-admin-image{position:relative;aspect-ratio:4/3;background:#020118}.product-photo-admin-image img{width:100%;height:100%;background:#020118}.product-photo-admin-image span{position:absolute;left:8px;top:8px;padding:5px 7px;border-radius:999px;background:#59d9df;color:#05032a;font-size:7px;font-weight:900}.product-photo-admin-actions{display:flex;gap:5px;flex-wrap:wrap;padding:8px}.product-photo-admin-actions button{padding:6px 7px;border-radius:7px;border:1px solid rgba(255,255,255,.08);background:#0b0944;color:#fff;font-size:7px;cursor:pointer}.product-photo-admin-actions .danger{color:#ff9ca5}
.product-media img{object-fit:contain;background:#020118}.product-page-main{background:#020118}.product-main-image-button{position:relative;width:100%;height:100%;border:0;padding:0;background:#020118;cursor:zoom-in}.product-main-image-button img{width:100%;height:100%;min-height:420px}.product-main-image-button span{position:absolute;right:12px;bottom:12px;padding:7px 9px;border-radius:999px;background:rgba(5,3,42,.85);color:#fff;font-size:8px}.product-page-thumbs button.active{border-color:#59d9df!important;box-shadow:0 0 0 2px rgba(89,217,223,.12)}
.product-lightbox{position:fixed;inset:0;z-index:1200}.product-lightbox[hidden]{display:none}.product-lightbox-backdrop{position:absolute;inset:0;border:0;background:rgba(0,0,0,.9)}.product-lightbox-stage{position:absolute;inset:3vh 3vw;display:grid;grid-template-columns:52px minmax(0,1fr) 52px;grid-template-rows:minmax(0,1fr) auto;align-items:center;gap:8px}.product-lightbox-stage>img{grid-column:2;width:100%;height:100%;object-fit:contain}.product-lightbox-stage>small{grid-column:2;text-align:center;color:#fff}.product-lightbox-close{position:absolute;right:0;top:0;z-index:3;width:44px;height:44px;border-radius:50%;border:1px solid rgba(255,255,255,.2);background:#05032a;color:#fff;font-size:24px;cursor:pointer}.product-lightbox-prev,.product-lightbox-next{width:46px;height:58px;border:1px solid rgba(255,255,255,.16);border-radius:14px;background:#05032a;color:#fff;font-size:34px;cursor:pointer}.product-lightbox-open{overflow:hidden}
@media(max-width:700px){.product-photo-admin-grid{grid-template-columns:1fr 1fr}.product-photo-display-controls{grid-template-columns:1fr}.product-lightbox-stage{inset:2vh 8px;grid-template-columns:42px minmax(0,1fr) 42px}.product-main-image-button img{min-height:280px}}

/* ================= V48.17 verified interaction repairs ================= */
/* Header ticker keeps the established appearance; only behaviour/positioning is repaired. */
.global-ticker{height:var(--ticker-h)!important;z-index:117!important}
.global-ticker a{position:relative!important;z-index:2!important;cursor:pointer!important;pointer-events:auto!important}
.global-ticker a:hover{color:inherit!important;background:inherit!important}
.global-ticker a.ticker-accent:hover{color:var(--cyan)!important;background:rgba(89,217,223,.08)!important}
.global-ticker a.ticker-bold:hover{color:#fff!important;background:transparent!important}
@media(max-width:900px){
  body:not(.customer-portal-body):not(.portal-booking-native) .nav{height:var(--header-h)!important}
  body:not(.customer-portal-body):not(.portal-booking-native) .global-ticker{top:var(--header-h)!important;margin-top:0!important}
  body:not(.customer-portal-body):not(.portal-booking-native).has-global-ticker:not(.has-scheduled-announcement) main{padding-top:calc(var(--header-h) + var(--ticker-h))!important}
  body:not(.customer-portal-body):not(.portal-booking-native) .scheduled-announcement{top:var(--header-h)!important}
  body:not(.customer-portal-body):not(.portal-booking-native).has-scheduled-announcement .global-ticker{top:calc(var(--header-h) + var(--rga-announcement-height) + var(--rga-sale-height))!important}
  body:not(.customer-portal-body):not(.portal-booking-native).has-scheduled-announcement:not(.has-global-ticker) main{padding-top:calc(var(--header-h) + var(--rga-announcement-height) + var(--rga-sale-height))!important}
  body:not(.customer-portal-body):not(.portal-booking-native).has-scheduled-announcement.has-global-ticker main{padding-top:calc(var(--header-h) + var(--rga-announcement-height) + var(--rga-sale-height) + var(--ticker-h))!important}
}

/* Remove the unwanted cyan rule above the footer and keep social links truly centred. */
.footer-pro{border-top:0!important;box-shadow:none!important}
.footer-pro::before,.footer-pro::after{display:none!important;content:none!important}
.site-shell>footer.footer-pro{border-top:0!important}
main>.section:last-child{border-bottom:0!important}
.footer-bottom{position:relative!important;display:grid!important;grid-template-columns:1fr auto 1fr!important;align-items:center!important}
.footer-bottom .footer-socials{grid-column:2!important;justify-self:center!important;display:flex!important;justify-content:center!important;align-items:center!important;gap:16px!important;margin:0!important}
.footer-bottom>span:first-child{grid-column:1!important;justify-self:start!important}
.footer-bottom>span:last-child{grid-column:3!important;justify-self:end!important}
.footer-socials:has(a:not([hidden])){visibility:visible}
@media(max-width:760px){.footer-bottom{display:flex!important;flex-direction:column!important}.footer-bottom .footer-socials{order:2!important}.footer-bottom>span:last-child{order:3!important}}

/* Live Activity / Fin: every visible control is a genuine pointer target. */
.admin-notify-drawer>aside,.admin-chat-drawer>aside{z-index:2!important}
.admin-notify-backdrop{z-index:1!important}
.admin-notify-tabs{position:relative!important;z-index:3!important;display:grid!important;grid-template-columns:1fr 1fr!important}
.admin-notify-tabs button,.admin-notify-head button,.admin-fin-head button,.admin-fin-send,.admin-chat-row,.admin-notify-item{cursor:pointer!important;pointer-events:auto!important}
.admin-notify-tabs button{min-height:42px!important}
.admin-fin-send{min-height:40px!important}
.admin-fin-composer{position:relative!important;z-index:4!important}

/* Booking Requests: flatter, cleaner cards and a full operational booking record. */
.booking-admin-card{grid-template-columns:165px minmax(0,1fr) auto!important;background:linear-gradient(145deg,rgba(11,9,68,.72),rgba(5,3,42,.92))!important;border:1px solid rgba(89,217,223,.10)!important;box-shadow:0 10px 30px rgba(0,0,0,.12)!important;padding:17px 18px!important}
.booking-admin-card:hover{border-color:rgba(89,217,223,.30)!important;transform:translateY(-1px)}
.booking-admin-card-meta span{background:transparent!important;border:1px solid rgba(255,255,255,.08)!important;color:#aeb2c4!important;padding:6px 9px!important}
.booking-admin-card-actions button{background:transparent!important;border-color:rgba(255,255,255,.10)!important}
.booking-admin-card-actions .primary{background:#59d9df!important;border-color:#59d9df!important;color:#05032a!important}
.admin-booking-drawer>aside{width:min(980px,100%)!important;background:linear-gradient(180deg,#070535,#05032a)!important}
.admin-booking-drawer-body{padding:22px 24px 34px!important}
.booking-detail-hero{gap:12px!important}
.booking-detail-row{background:transparent!important;border:1px solid rgba(255,255,255,.08)!important;border-radius:12px!important;padding:11px 12px!important}
.booking-detail-section{padding:19px 0!important;margin-top:18px!important}
.booking-detail-data{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:8px!important}
.booking-detail-all .booking-detail-data{grid-template-columns:repeat(2,minmax(0,1fr))!important}
.booking-detail-note{margin:-4px 0 12px;color:#858a9f;font-size:9px;line-height:1.5}
.booking-detail-cart article,.booking-detail-preferences article{background:transparent!important;border:1px solid rgba(255,255,255,.08)!important}

/* Suggest time / cancellation are full-height branded action sheets, not tiny dialog boxes. */
#adminBookingActionModal{z-index:980!important}
#adminBookingActionModal .admin-modal-backdrop{background:rgba(0,0,0,.68)!important}
#adminBookingActionModal .booking-action-card{position:absolute!important;top:0!important;right:0!important;height:100%!important;width:min(560px,100%)!important;max-width:none!important;margin:0!important;border-radius:0!important;border-left:1px solid rgba(89,217,223,.16)!important;padding:24px!important;overflow:auto!important;background:linear-gradient(180deg,#070535,#05032a)!important;box-shadow:-25px 0 70px rgba(0,0,0,.40)!important}

/* Care Cover is presented as a configuration workflow rather than grey utility boxes. */
.care-service-rule,.care-plan-admin-card{background:linear-gradient(145deg,rgba(11,9,68,.76),rgba(5,3,42,.94))!important;border:1px solid rgba(89,217,223,.12)!important;box-shadow:0 12px 30px rgba(0,0,0,.10)!important}
.care-service-rule>button,.care-plan-admin-card .admin-actions .primary{background:#59d9df!important;color:#05032a!important;border-color:#59d9df!important;cursor:pointer!important}
.care-service-checkboxes label{background:transparent!important;border:1px solid rgba(255,255,255,.08)!important;cursor:pointer!important}
.care-service-checkboxes label:has(input:checked){border-color:rgba(89,217,223,.45)!important;background:rgba(89,217,223,.08)!important;color:#fff!important}

@media(max-width:900px){.booking-admin-card{grid-template-columns:1fr!important}.booking-detail-data,.booking-detail-all .booking-detail-data{grid-template-columns:1fr!important}}
.shop-page .global-ticker{position:relative!important;top:auto!important;margin:0!important}
.shop-page main{padding-top:0!important}

/* V48.17 — make Warranty & Care workflow self-explanatory in Control */
.care-workflow-guide{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:18px 0 22px}
.care-workflow-guide>div{position:relative;padding:18px 18px 16px 54px;border:1px solid rgba(85,211,255,.18);border-radius:16px;background:linear-gradient(145deg,rgba(9,16,38,.86),rgba(6,10,25,.68));min-height:116px}
.care-workflow-guide>div>span{position:absolute;left:16px;top:17px;display:grid;place-items:center;width:26px;height:26px;border-radius:999px;background:#52d9ff;color:#03101a;font-weight:900;font-size:13px}
.care-workflow-guide strong{display:block;color:#fff;font-size:14px;margin-bottom:6px}
.care-workflow-guide p{margin:0;color:rgba(229,239,255,.72);font-size:12px;line-height:1.55}
.care-workflow-guide b{color:#fff}
@media(max-width:900px){.care-workflow-guide{grid-template-columns:1fr}}


/* ================= V48.18 interaction + live control repair ================= */
/* Header ticker: use the measured header height and measured ticker height on every public page. */
body:not(.admin-body):not(.customer-portal-body):not(.portal-booking-native) .global-ticker{
  position:fixed!important;left:0!important;right:0!important;top:calc(var(--rga-header-live-height,var(--header-h)) + var(--rga-announcement-height,0px) + var(--rga-sale-height,0px))!important;margin:0!important;
}
body:not(.admin-body):not(.customer-portal-body):not(.portal-booking-native).has-global-ticker main{
  padding-top:calc(var(--rga-header-live-height,var(--header-h)) + var(--rga-announcement-height,0px) + var(--rga-sale-height,0px) + var(--rga-ticker-live-height,var(--ticker-h)))!important;
}
body:not(.admin-body):not(.customer-portal-body):not(.portal-booking-native):not(.has-global-ticker) main{
  padding-top:var(--rga-header-live-height,var(--header-h))!important;
}
.global-ticker.rga-ticker-ready .global-ticker-track{animation:rgaTickerSeamless var(--rga-ticker-duration,30s) linear infinite!important}

/* Booking search is deliberately branded, substantial and easy to identify. */
.booking-admin-toolbar>input#adminBookingSearch{
  min-height:54px!important;padding:0 18px!important;border:2px solid rgba(89,217,223,.72)!important;border-radius:15px!important;background:linear-gradient(180deg,#0b145f,#08104f)!important;color:#fff!important;box-shadow:inset 0 0 0 1px rgba(255,255,255,.025),0 8px 22px rgba(0,0,0,.16)!important;font-weight:650!important;
}
.booking-admin-toolbar>input#adminBookingSearch::placeholder{color:#c9d4ee!important;opacity:.9}
.booking-admin-toolbar>input#adminBookingSearch:focus{outline:none!important;border-color:#59d9df!important;box-shadow:0 0 0 4px rgba(89,217,223,.11)!important}

/* Booking drawer close controls must always sit above the drawer/backdrop. */
.admin-booking-drawer>aside{z-index:3!important}.admin-booking-backdrop{z-index:1!important}.admin-booking-drawer>aside>header{position:relative;z-index:5!important}.admin-booking-drawer>aside>header [data-close-booking-drawer]{position:relative;z-index:8!important;pointer-events:auto!important;cursor:pointer!important}

/* Fin conversation state and controls. */
.admin-fin-head-actions{display:flex;align-items:center;gap:8px}.admin-fin-end{height:38px;padding:0 12px;border-radius:10px;border:1px solid rgba(255,154,165,.3);background:rgba(255,92,108,.08);color:#ffc2c8;cursor:pointer;font-size:8px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.admin-fin-end:hover{background:rgba(255,92,108,.16)}.admin-fin-end:disabled{opacity:.45;cursor:default}.admin-chat-system,.fin-chat-ended-line{align-self:center;margin:6px auto;padding:6px 10px;border-radius:999px;background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.08);color:#9ea3b8;font-size:8px;text-align:center}.admin-fin-composer.is-ended{opacity:.62}.admin-fin-composer textarea:disabled{cursor:not-allowed}.fin-chat-ended-card{margin:12px;padding:14px;border-radius:14px;border:1px solid rgba(89,217,223,.18);background:#08063a;text-align:center}.fin-chat-ended-card b{display:block;color:#fff}.fin-chat-ended-card p{margin:6px 0 10px;color:#9da3b6;font-size:10px}.fin-chat-ended-card button{border:0;border-radius:999px;background:#59d9df;color:#05032a;padding:9px 12px;font-weight:850;cursor:pointer}.fin-thread-list button.ended,.admin-chat-row.ended{opacity:.72}

/* Live Activity rows now have explicit Open / Mark as read controls. */
.admin-notify-item{display:grid!important;grid-template-columns:10px 1fr!important;cursor:default!important}.admin-notify-row-actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}.admin-notify-row-actions button{padding:6px 8px;border-radius:8px;border:1px solid rgba(255,255,255,.09);background:#0b0944;color:#fff;font-size:7px;font-weight:800;cursor:pointer}.admin-notify-row-actions button:hover{border-color:rgba(89,217,223,.35);color:#59d9df}

/* Control Centre notification preferences. */
.admin-notification-settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:14px}.admin-notification-settings-grid label{display:flex;align-items:flex-start;gap:11px;padding:13px;border-radius:14px;background:#070535;border:1px solid rgba(255,255,255,.07);cursor:pointer}.admin-notification-settings-grid input{width:18px;height:18px;margin:1px 0 0;accent-color:#59d9df}.admin-notification-settings-grid span{display:grid;gap:3px}.admin-notification-settings-grid b{font-size:10px}.admin-notification-settings-grid small{font-size:8px;color:#8f95aa;line-height:1.45}
.admin-live-toast-stack{position:fixed;right:20px;bottom:20px;z-index:1300;display:grid;gap:9px;width:min(390px,calc(100vw - 32px));pointer-events:none}.admin-live-toast{pointer-events:auto;width:100%;display:grid;grid-template-columns:38px 1fr;gap:10px;align-items:center;text-align:left;padding:12px;border:1px solid rgba(89,217,223,.22);border-radius:15px;background:linear-gradient(145deg,#0b0944,#070535);color:#fff;box-shadow:0 18px 50px rgba(0,0,0,.42);transform:translateY(16px);opacity:0;transition:.22s;cursor:pointer}.admin-live-toast.show{transform:none;opacity:1}.admin-live-toast-icon{width:38px;height:38px;display:grid;place-items:center;border-radius:11px;background:rgba(89,217,223,.12);color:#59d9df;font-weight:900}.admin-live-toast span:last-child{display:grid;gap:2px}.admin-live-toast small{font-size:6px;color:#59d9df;letter-spacing:.12em}.admin-live-toast b{font-size:10px}.admin-live-toast em{font-style:normal;font-size:8px;color:#a6abbd;line-height:1.4}

@media(max-width:800px){.admin-notification-settings-grid{grid-template-columns:1fr}.admin-fin-head-actions{gap:5px}.admin-fin-end{padding:0 8px}}

/* V48.19 workflow refinements */
.admin-fin-head{grid-template-columns:42px minmax(0,1fr) 42px}.admin-fin-head-actions{justify-content:flex-end}.admin-fin-send-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;min-width:0}.admin-fin-send-actions .admin-fin-end{flex:0 0 auto;height:36px}.admin-fin-send-actions .admin-fin-send{flex:0 1 auto}.booking-contact-actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}.booking-contact-btn{display:inline-flex;align-items:center;gap:6px;padding:7px 10px;border-radius:999px;border:1px solid rgba(89,217,223,.25);background:rgba(89,217,223,.08);color:#59d9df;text-decoration:none;font-size:8px;font-weight:800}.booking-contact-btn:hover{background:rgba(89,217,223,.15);border-color:#59d9df}.engineer-job-actions .is-disabled{opacity:.4;pointer-events:none}.engineer-on-way{box-shadow:0 0 0 1px rgba(89,217,223,.12),0 10px 30px rgba(89,217,223,.08)}
.portal-job-progress{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.portal-job-progress>div{position:relative;display:grid;gap:6px;justify-items:center;text-align:center;padding:10px 4px;border-radius:12px;background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.07);color:#72778d}.portal-job-progress>div span{display:grid;place-items:center;width:25px;height:25px;border-radius:50%;background:#0b0944;border:1px solid rgba(255,255,255,.1);font-size:9px;font-weight:900}.portal-job-progress>div b{font-size:8px;line-height:1.25}.portal-job-progress>div.done,.portal-job-progress>div.current{color:#fff;border-color:rgba(89,217,223,.25)}.portal-job-progress>div.done span,.portal-job-progress>div.current span{background:#59d9df;color:#05032a;border-color:#59d9df}.portal-job-progress>div.current{background:rgba(89,217,223,.08)}.portal-job-progress-note{margin-top:10px;padding:13px;border-radius:14px;background:rgba(89,217,223,.06);border:1px solid rgba(89,217,223,.16)}.portal-job-progress-note b,.portal-job-progress-note p,.portal-job-progress-note small{display:block}.portal-job-progress-note p{margin:5px 0;color:#a6aabd}.portal-job-progress-note small{color:#74798f}
@media(max-width:760px){.admin-fin-composer-bar{align-items:flex-end}.admin-fin-send-actions{flex-direction:column-reverse;align-items:stretch}.admin-fin-send-actions .admin-fin-end,.admin-fin-send-actions .admin-fin-send{width:100%!important}.portal-job-progress{grid-template-columns:1fr}.portal-job-progress>div{grid-template-columns:30px 1fr;justify-items:start;text-align:left;align-items:center}.portal-job-progress>div b{font-size:9px}.engineer-job-actions{width:100%}.engineer-job-actions .btn{flex:1 1 auto}}


/* ================= V48.20 stability + booking readability ================= */
/* Never fade the whole document to white during boot/navigation. */
.rga-js body,.rga-js body.rga-page-ready{opacity:1!important;transform:none!important;transition:none!important}
/* The static HTML header is deliberately masked until CMS/session state has been synchronously applied. */
header.nav nav,header.nav .customer-login,header.nav .book{visibility:visible!important}
/* V48.22: signed-in label is correct on first paint without hiding the header. */
.customer-is-signed-in-prepaint .customer-login{font-size:0!important}
.customer-is-signed-in-prepaint .customer-login::after{content:'My Account';font-size:10px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:inherit}

/* Notification controls: desktop + proper iPhone tap targets. */
.notify-head-actions{display:flex;align-items:center;gap:8px;flex:0 0 auto}
.portal-notify-head .notify-mark-all,.admin-notify-head .notify-mark-all{width:auto!important;min-width:118px;height:42px;padding:0 14px;border-radius:11px!important;border:1px solid rgba(89,217,223,.22)!important;background:rgba(89,217,223,.08)!important;color:#59d9df!important;font-size:10px!important;font-weight:850!important;cursor:pointer!important;white-space:nowrap}
.portal-notify-head .notify-mark-all:hover,.admin-notify-head .notify-mark-all:hover{background:rgba(89,217,223,.16)!important;border-color:#59d9df!important}
.portal-notify-head .notify-close,.admin-notify-head .notify-close{width:42px!important;height:42px!important;min-width:42px;border-radius:11px!important;cursor:pointer!important}
.portal-notify-actions,.admin-notify-actions{display:none!important}

/* Booking drawer: prioritise what the operator actually needs. */
.admin-booking-drawer>aside>header{align-items:center!important}.admin-booking-drawer header h2{font-size:clamp(20px,2vw,28px)!important;line-height:1.15!important}.admin-booking-drawer header p{font-size:12px!important;margin-top:6px!important}
.booking-overview-card{display:grid;grid-template-columns:1.35fr 1fr 1fr;gap:10px;padding:16px;border:1px solid rgba(89,217,223,.18);border-radius:16px;background:linear-gradient(135deg,rgba(89,217,223,.10),rgba(11,9,68,.72));margin-bottom:4px}
.booking-overview-card>div{display:grid;gap:5px}.booking-overview-card small,.booking-section-heading small{font-size:9px!important;letter-spacing:.11em;color:#59d9df;font-weight:900}.booking-overview-card b{font-size:15px;line-height:1.35;color:#fff}
.booking-section-heading{display:flex;align-items:end;justify-content:space-between;margin-bottom:12px}.booking-section-heading h3{font-size:17px!important;margin:3px 0 0!important;color:#fff!important}
.booking-detail-row{min-height:70px;display:grid;align-content:center;gap:5px;padding:13px 14px!important}.booking-detail-row small{font-size:9px!important;letter-spacing:.08em!important}.booking-detail-row>b,.booking-detail-value-action>b{font-size:14px!important;line-height:1.45!important;font-weight:750!important;color:#fff!important}
.booking-detail-contact-grid{grid-template-columns:1fr 1fr 1.35fr!important}.booking-detail-value-action{display:flex;align-items:center;justify-content:space-between;gap:10px;min-width:0}.booking-detail-value-action>b{word-break:break-word;min-width:0}
.booking-inline-contact{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:40px;padding:0 12px;border-radius:10px;background:#59d9df;color:#05032a!important;font-size:10px;font-weight:900;white-space:nowrap;text-decoration:none!important;flex:0 0 auto}.booking-inline-contact:hover{filter:brightness(1.07);transform:translateY(-1px)}
.booking-detail-services span{font-size:11px!important;padding:9px 11px!important}.booking-detail-cart article,.booking-detail-preferences article{padding:14px!important}.booking-detail-cart b,.booking-detail-preferences b{font-size:13px!important}.booking-detail-cart span,.booking-detail-preferences span,.booking-detail-preferences small{font-size:11px!important;line-height:1.45!important}.booking-detail-preferences article>div{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;width:100%}.booking-detail-preferences article>div small{font-size:8px!important;color:#59d9df!important}.booking-detail-preferences article>div strong{font-size:13px;color:#59d9df}
.booking-detail-more{margin-top:18px;border:1px solid rgba(255,255,255,.08);border-radius:14px;background:rgba(255,255,255,.02);overflow:hidden}.booking-detail-more summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;cursor:pointer;color:#fff;font-size:12px;font-weight:850;list-style:none}.booking-detail-more summary::-webkit-details-marker{display:none}.booking-detail-more summary span{font-size:9px;color:#59d9df}.booking-detail-more[open] summary{border-bottom:1px solid rgba(255,255,255,.07)}.booking-detail-more .booking-detail-all{padding:15px}.booking-detail-more .booking-detail-all>p{font-size:10px;color:#9297aa;line-height:1.5;margin:0 0 12px}
.admin-booking-drawer-actions button{min-height:44px;font-size:11px!important;font-weight:800!important}

/* Fin: fresh chats must always expose a live composer. */
#rgaChatForm textarea:not(:disabled),#rgaChatForm input:not(:disabled){pointer-events:auto!important;user-select:text!important;-webkit-user-select:text!important}
.fin-chat-ended-card button{min-height:44px!important;padding:10px 15px!important}

@media(max-width:760px){
 .portal-notify-drawer>aside,.admin-notify-drawer>aside{width:100vw!important;padding:14px!important}
 .portal-notify-head,.admin-notify-head{align-items:center!important}.portal-notify-head h3,.admin-notify-head h3{font-size:18px!important}
 .notify-head-actions{gap:6px}.portal-notify-head .notify-mark-all,.admin-notify-head .notify-mark-all{min-width:126px;height:46px;font-size:10px!important;padding:0 12px}.portal-notify-head .notify-close,.admin-notify-head .notify-close{width:46px!important;height:46px!important;min-width:46px!important}
 .booking-overview-card{grid-template-columns:1fr!important}.booking-detail-contact-grid,.booking-detail-data,.booking-detail-all .booking-detail-data{grid-template-columns:1fr!important}.booking-detail-row{min-height:66px}.booking-detail-value-action{gap:8px}.booking-inline-contact{min-height:44px;padding:0 14px}.admin-booking-drawer-body{padding:18px 16px 28px!important}
}


/* ================= V48.21 persistent public shell ================= */
html,body{background:#05032a!important}

/* Ticker uses a session-wide clock, so every document resumes the same motion phase. */
.global-ticker.rga-ticker-ready .global-ticker-track{
  animation:rgaTickerSeamless var(--rga-ticker-duration,30s) linear infinite!important;
  animation-delay:var(--rga-ticker-delay,0s)!important;
}

/* Shop now uses the same full site navigation and CMS visibility rules as every public page. */
.shop-page .nav{position:fixed!important;top:0!important;left:0!important;right:0!important;z-index:120!important}
.shop-page .global-ticker{position:fixed!important;left:0!important;right:0!important;top:calc(var(--rga-header-live-height,var(--header-h)) + var(--rga-announcement-height,0px) + var(--rga-sale-height,0px))!important;margin:0!important}
.shop-page.has-global-ticker main{padding-top:calc(var(--rga-header-live-height,var(--header-h)) + var(--rga-announcement-height,0px) + var(--rga-sale-height,0px) + var(--rga-ticker-live-height,var(--ticker-h)))!important}
.shop-page:not(.has-global-ticker) main{padding-top:var(--rga-header-live-height,var(--header-h))!important}

/* First visit only: short Road Guard Automotive shield boot animation. */
.rga-initial-loader{display:none}
html.rga-first-load .rga-initial-loader{display:grid;position:fixed;inset:0;z-index:100000;place-items:center;background:radial-gradient(circle at 50% 42%,#111064 0,#08063b 32%,#05032a 66%);overflow:hidden;opacity:1;transition:opacity .34s ease,visibility .34s ease}
html.rga-first-load .rga-initial-loader.is-leaving{opacity:0;visibility:hidden}
.rga-loader-core{position:relative;display:grid;justify-items:center;gap:8px;width:260px;text-align:center;color:#fff}
.rga-loader-core img{width:94px;height:94px;object-fit:contain;position:relative;z-index:2;filter:drop-shadow(0 0 22px rgba(89,217,223,.24));animation:rgaShieldEnter .72s cubic-bezier(.2,.85,.2,1) both,rgaShieldPulse 1.55s .72s ease-in-out infinite}
.rga-loader-orbit{position:absolute;top:-15px;left:50%;width:124px;height:124px;margin-left:-62px;border:1px solid rgba(89,217,223,.18);border-top-color:#59d9df;border-radius:50%;animation:rgaLoaderOrbit 1.25s linear infinite}
.rga-loader-orbit:after{content:'';position:absolute;inset:10px;border-radius:50%;border:1px solid rgba(255,255,255,.06);border-bottom-color:rgba(89,217,223,.48);animation:rgaLoaderOrbit 1.8s linear infinite reverse}
.rga-loader-scan{position:absolute;top:36px;left:50%;width:120px;height:2px;transform:translateX(-50%);background:linear-gradient(90deg,transparent,#59d9df,transparent);box-shadow:0 0 14px rgba(89,217,223,.65);z-index:3;animation:rgaLoaderScan 1.15s ease-in-out infinite alternate}
.rga-loader-core strong{margin-top:13px;font-size:13px;letter-spacing:.18em;font-weight:900}
.rga-loader-core small{font-size:8px;letter-spacing:.28em;color:#8f95b3;font-weight:800}
@keyframes rgaShieldEnter{from{opacity:0;transform:scale(.68) rotate(-6deg)}to{opacity:1;transform:scale(1) rotate(0)}}
@keyframes rgaShieldPulse{50%{transform:scale(1.045);filter:drop-shadow(0 0 34px rgba(89,217,223,.42))}}
@keyframes rgaLoaderOrbit{to{transform:rotate(360deg)}}
@keyframes rgaLoaderScan{from{transform:translate(-50%,-17px);opacity:.25}to{transform:translate(-50%,42px);opacity:1}}
@media(prefers-reduced-motion:reduce){
  .rga-loader-core img,.rga-loader-orbit,.rga-loader-orbit:after,.rga-loader-scan{animation:none!important}
}


/* ================= V48.22 fixed-header / zero-flash guard ================= */
@view-transition{navigation:none}
header.nav,header.nav.nav-scrolled{height:var(--header-h)!important;min-height:var(--header-h)!important;background:#05032a!important;backdrop-filter:none!important;box-shadow:0 12px 40px rgba(0,0,0,.16)!important}
header.nav .brand img,header.nav.nav-scrolled .brand img{transform:none!important;scale:1!important;transition:none!important}
::view-transition-group(root),::view-transition-old(root),::view-transition-new(root){animation:none!important}

/* ================= V48.24 desktop persistent-header stability ================= */
/* Desktop keeps a permanent scrollbar gutter so route content height cannot move the fixed header sideways. */
@media (min-width:1101px){
  html{overflow-y:scroll!important;scrollbar-gutter:stable!important}
  header.nav{
    transform:translateZ(0)!important;
    backface-visibility:hidden!important;
    -webkit-backface-visibility:hidden!important;
    will-change:transform!important;
    isolation:isolate!important;
  }
  .global-ticker{
    transform:translateZ(0)!important;
    backface-visibility:hidden!important;
    -webkit-backface-visibility:hidden!important;
    will-change:transform!important;
  }
  /* Active-page feedback must not look like a header redraw. */
  header.nav nav a,
  header.nav nav a::after,
  header.nav .customer-login,
  header.nav .book{
    transition:none!important;
  }
  header.nav nav a::after{transition:none!important}
}

/* V48.25 — truly persistent desktop shell: isolate header/ticker from lower-page style/layout invalidation. */
@media (min-width: 901px){
  header.nav,
  .global-ticker{
    contain:layout paint style;
    isolation:isolate;
    backface-visibility:hidden;
    -webkit-backface-visibility:hidden;
    transform:translate3d(0,0,0)!important;
    will-change:transform;
  }
  header.nav nav,
  header.nav .brand,
  header.nav .customer-login,
  header.nav .book{
    contain:layout paint;
  }
}


/* ================= V48.26 zero-repaint persistent desktop shell ================= */
@media (min-width:901px){
  html.rga-route-committing header.nav,
  html.rga-route-committing .global-ticker{visibility:visible!important}
  .rga-shell-freeze-clone{
    box-sizing:border-box!important;
    opacity:1!important;
    visibility:visible!important;
    filter:none!important;
  }
  .rga-shell-freeze-clone *,
  .rga-shell-freeze-clone *::before,
  .rga-shell-freeze-clone *::after{
    transition:none!important;
  }
}
/* Route identity now sits on <main>, not <body>, so it cannot restyle the persistent header. */
main.shop-page{background:#05032a}
main.shop-page.shop-main{padding-top:calc(var(--rga-header-live-height,var(--header-h)) + var(--rga-ticker-live-height,var(--ticker-h)))!important}
