/* Blue Route Pool Service — inner pages. Each section its own composition, built from the
   brand's road language: sign plates, the yellow route line, stops, days, flaps and notes.
   Concept · made-up company. */

/* ---------- shared bits for inner pages ---------- */
.h1-page{font-size:clamp(64px,7.2vw,112px);line-height:.9;letter-spacing:-.045em;text-wrap:balance}
.lead-d{margin-top:26px;font-size:21px;line-height:1.55;color:var(--gray);max-width:560px}
.btn-line{background:transparent;color:var(--navy);box-shadow:inset 0 0 0 2px var(--navy)}
.btn-line:hover{background:var(--navy);color:var(--white)}
.tlink{display:inline-flex;align-items:center;gap:10px;font-weight:800;color:var(--blue-d);text-decoration:none;padding:6px 0;background:linear-gradient(var(--yel),var(--yel)) 0 100%/0 3px no-repeat;transition:background-size .4s var(--ease)}
.tlink:hover{background-size:100% 3px}
.tlink .arr{transition:transform .35s var(--ease)}
.tlink:hover .arr{transform:translateX(4px)}
.navy .tlink,.tlink-y{color:var(--yel)}
.body + .body{margin-top:14px}
.navy .body{color:var(--sky)}
.navy .h2{color:var(--white)}
section[id]{scroll-margin-top:100px}

.crumbs{padding-top:26px}
.crumbs ol{display:flex;flex-wrap:wrap;align-items:center;gap:6px 0;margin:0;padding:0;list-style:none;font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.crumbs li{display:flex;align-items:center}
.crumbs li + li::before{content:"";width:26px;height:3px;margin:0 10px;background:var(--yel);border-radius:2px;box-shadow:0 0 0 0 var(--yel)}
.crumbs a{color:var(--gray);text-decoration:none;padding:4px 0}
.crumbs a:hover{color:var(--blue-d)}
.crumbs [aria-current]{color:var(--navy);display:flex;align-items:center;gap:8px}
.crumbs [aria-current]::after{content:"";width:9px;height:9px;border-radius:50%;background:var(--yel);box-shadow:0 0 0 3px var(--navy)}

.exlabel{display:flex;align-items:center;gap:10px;margin-top:16px;font-size:12px;font-weight:700;letter-spacing:.06em;color:var(--gray)}
.exlabel i{width:14px;height:14px;flex:none;border-radius:3px;background:repeating-linear-gradient(-45deg,var(--yel) 0 3px,var(--navy) 3px 6px)}

.exits{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none}
.exits a{display:inline-flex;align-items:center;gap:10px;min-height:44px;padding:0 16px;border-radius:10px;background:var(--white);font-weight:700;font-size:15px;text-decoration:none;box-shadow:inset 0 0 0 1.5px var(--line);transition:background-color .2s,box-shadow .2s,transform .3s var(--ease)}
.exits a:hover{background:var(--tint);box-shadow:inset 0 0 0 1.5px var(--yel);transform:translateY(-2px)}
.exits .arr{width:15px;height:15px}

/* ---------- next band (end of every inner page) ---------- */
.nextb{padding-top:140px}
.nextb-in{display:grid;grid-template-columns:1.05fr 1fr;gap:56px;align-items:center;background:var(--white);border-radius:32px;padding:56px;box-shadow:0 0 0 1px rgba(15,39,71,.05)}
.nextb .body{margin-top:20px;max-width:480px}
.nextb-act{display:flex;flex-wrap:wrap;align-items:center;gap:18px 22px;margin-top:30px}
.nextb-call{font-size:14px;font-weight:700;text-decoration:none;color:var(--navy);border-bottom:2px solid var(--yel);padding:4px 0}
.nextb-call:hover{color:var(--blue-d)}
.nextb-links{margin-top:34px;padding-top:24px;border-top:1.5px dashed var(--line)}
.nextb-links > .mono{font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--gray);margin-bottom:12px}
.nextb-media{position:relative}
.nextb-pic{position:relative;height:420px;border-radius:22px;overflow:hidden}
.nextb-pic img{position:absolute;left:0;top:-8%;width:100%;height:116%;object-fit:cover}
.nextb-line{position:absolute;left:-56px;top:-30px;width:calc(100% - 40px);height:120px;overflow:visible;pointer-events:none}
.nextb-line path{fill:none;stroke:var(--yel);stroke-width:8;stroke-linecap:round;vector-effect:non-scaling-stroke}
.nextb-pin{position:absolute;right:calc(25% - 10px);top:72px;width:26px;height:26px;border-radius:50%;background:var(--yel);border:6px solid var(--navy);display:none}

/* ---------- services hub ---------- */
.sh-hero{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start;padding-top:40px}
.sh-hero-txt,.hw-hero-txt,.rv-hero-txt,.ab-hero-txt{padding-top:56px}
.sh-hero .btns{margin-top:32px}
.sh-hero-media{position:relative}
.sh-hero-pic{height:560px;border-radius:28px;overflow:hidden}
.sh-hero-pic img{width:100%;height:100%;object-fit:cover}
.sh-plate{position:absolute;left:-40px;bottom:40px;width:220px;padding:26px 28px 24px}
.sh-plate-n{margin-top:6px;font-size:96px;font-weight:900;line-height:.85;letter-spacing:-.05em;color:var(--white)}
.sh-plate-t{margin-top:8px;font-weight:700;line-height:1.25;color:var(--on-blue)}
.sh-hero-line{position:absolute;right:-20px;top:-26px;width:60%;height:140px;overflow:visible;pointer-events:none}
.sh-hero-line path{fill:none;stroke:var(--yel);stroke-width:9;stroke-linecap:round;vector-effect:non-scaling-stroke}

.sh-weekly{margin-top:140px;background:var(--navy);color:var(--white);padding:110px 0}
.sh-weekly-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:72px;align-items:center}
.sh-weekly-pic{position:relative;height:520px;border-radius:24px;overflow:hidden}
.sh-weekly-pic img{position:absolute;left:0;top:-8%;width:100%;height:116%;object-fit:cover}
.sh-weekly-txt .h2{margin-top:16px}
.sh-weekly-txt .body{margin-top:20px;max-width:460px}
.ribbon{position:relative;display:grid;grid-template-columns:repeat(6,1fr);margin:40px 0 36px;padding:0;list-style:none}
.ribbon::before{content:"";position:absolute;left:0;right:0;top:11px;height:6px;border-radius:3px;background:var(--blue-d)}
.ribbon li{position:relative;padding-top:36px;font-weight:800;font-size:15px}
.ribbon li::before{content:"";position:absolute;left:0;top:0;width:28px;height:28px;border-radius:50%;background:var(--yel);border:5px solid var(--navy);box-sizing:border-box;transition:transform .5s var(--ease) calc(var(--i) * .12s)}
.ribbon li .mono{display:block;font-size:11px;color:var(--sky);letter-spacing:.1em}
.sh-weekly-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px;padding-top:28px;border-top:1px solid var(--blue-d)}
.price-l{display:flex;align-items:baseline;gap:10px;font-size:52px;font-weight:900;letter-spacing:-.03em;line-height:1}
.price-l .mono{font-size:13px;letter-spacing:.12em;color:var(--yel)}
.price-l span:last-child{font-size:18px;font-weight:700;letter-spacing:0;color:var(--sky)}

.sh-list{padding-top:140px}
.sh-list-head{display:grid;grid-template-columns:1.2fr 1fr;gap:56px;align-items:end;margin-bottom:44px}
.sh-list-head .body{margin-bottom:22px}
.xlist{margin:0;padding:0;list-style:none;border-top:3px solid var(--navy)}
.xrow{position:relative;display:grid;grid-template-columns:70px 1.1fr 1.3fr 160px 56px;align-items:center;gap:24px;padding:30px 0;border-bottom:1.5px solid var(--line);text-decoration:none;color:var(--navy)}
.xrow::before{content:"";position:absolute;left:-24px;right:-24px;top:0;bottom:0;border-radius:16px;background:var(--white);opacity:0;transition:opacity .3s}
.xrow:hover::before{opacity:1}
.xrow > *{position:relative}
.xn{font-size:14px;font-weight:700;color:var(--blue-d)}
.xt{font-size:34px;font-weight:900;letter-spacing:-.025em;line-height:1;transition:transform .45s var(--ease)}
.xrow:hover .xt{transform:translateX(8px)}
.xd{color:var(--gray);line-height:1.45}
.xp{font-size:12px;font-weight:700;letter-spacing:.08em;justify-self:start;background:var(--tint);padding:6px 10px;border-radius:6px}
.xa{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:var(--navy);color:var(--white);transition:background-color .3s,color .3s,transform .45s var(--ease)}
.xrow:hover .xa{background:var(--yel);color:var(--navy);transform:rotate(-45deg)}
.xi{position:absolute !important;right:96px;top:50%;width:220px;height:150px;margin-top:-75px;border-radius:14px;overflow:hidden;pointer-events:none;z-index:2;clip-path:inset(50% 0 50% 0 round 14px);transition:clip-path .5s var(--ease);box-shadow:0 30px 60px -30px rgba(15,39,71,.6)}
.xi img{width:100%;height:100%;object-fit:cover;transform:scale(1.15);transition:transform .8s var(--ease)}
.xrow:hover .xi{clip-path:inset(0 0 0 0 round 14px)}
.xrow:hover .xi img{transform:none}

.sh-price{display:grid;grid-template-columns:1fr 1.05fr;gap:72px;align-items:center;padding-top:140px}
.sh-price-txt .h2{margin-top:16px}
.sh-price-txt .body{margin-top:20px;max-width:500px}
.factors{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:34px 0 0;padding:0;list-style:none}
.factors li{display:block;padding:18px 18px 20px;border-radius:14px;background:var(--white);color:var(--gray);font-size:15px;line-height:1.45;box-shadow:inset 3px 0 0 var(--yel)}
.factors .mono{display:block;font-size:12px;font-weight:700;color:var(--blue-d);margin-bottom:6px}
.factors b{display:block;color:var(--navy);font-size:19px;margin-bottom:2px}
.mile{position:relative;padding-bottom:110px}
.mile-in{position:relative;z-index:1;background:var(--blue);color:var(--white);border-radius:20px;padding:34px 40px 30px;box-shadow:inset 0 0 0 8px var(--blue),inset 0 0 0 12px var(--white),0 40px 70px -40px rgba(15,39,71,.6)}
.mile-top{font-size:12px;font-weight:700;letter-spacing:.12em;color:var(--white)}
.mile dl{margin:18px 0 0}
.mile dl div{display:flex;align-items:baseline;gap:12px;padding:12px 0}
.mile dt{font-size:21px;font-weight:800;white-space:nowrap}
.mile dl div::after{content:"";order:1;flex:1;border-bottom:3px dotted rgba(243,247,251,.5);transform:translateY(-4px)}
.mile dd{order:2;margin:0;font-size:21px;font-weight:900;white-space:nowrap}
.mile dd .mono{font-size:11px;letter-spacing:.1em;color:var(--on-blue);margin-right:4px}
.mile-foot{margin-top:16px;padding-top:16px;border-top:1px solid rgba(243,247,251,.3);font-size:14px;color:var(--on-blue)}
.mile-post{position:absolute;left:50%;bottom:0;width:14px;height:140px;margin-left:-7px;background:linear-gradient(90deg,#8E979F,#C5CACF 45%,#7A838B);border-radius:2px}

/* ---------- service detail ---------- */
.sv-hero{display:grid;grid-template-columns:1.08fr 1fr;gap:28px;align-items:stretch;padding-top:28px}
.sv-plate{position:relative;padding:62px 52px 48px;display:flex;flex-direction:column;justify-content:flex-end;min-height:600px}
.sv-tab{position:absolute;left:44px;top:-14px;background:var(--yel);color:var(--navy);font-size:12px;font-weight:800;letter-spacing:.1em;padding:8px 14px;border-radius:8px}
.sv-h1{margin-top:20px;font-size:clamp(56px,5.6vw,88px);line-height:.92;letter-spacing:-.04em;text-wrap:balance}
.sv-plate .lead{max-width:500px}
.sv-media{position:relative;border-radius:20px;overflow:hidden;min-height:600px;background:var(--sky)}
.sv-pic,.sv-pic img{position:absolute;inset:0;width:100%;height:100%}
.sv-pic img{object-fit:cover}
.sig{position:absolute;left:24px;bottom:24px;right:24px;max-width:360px;background:var(--white);border-radius:18px;padding:20px 22px;box-shadow:0 30px 60px -30px rgba(15,39,71,.6)}
.sig-k{font-size:11.5px;font-weight:700;letter-spacing:.12em;color:var(--blue-d)}
/* weekly: four Tuesdays */
.cal-head,.cal-row{display:grid;grid-template-columns:repeat(6,1fr);gap:6px}
.cal-head{margin:14px 0 6px;font-size:12px;font-weight:700;color:var(--gray);text-align:center}
.cal{display:grid;gap:6px}
.cal-d{position:relative;height:30px;border-radius:6px;background:var(--stucco);box-shadow:inset 0 0 0 1px var(--track)}
.cal-d.on{background:var(--navy)}
.cal-d i{position:absolute;left:50%;top:50%;width:12px;height:12px;margin:-6px 0 0 -6px;border-radius:50%;background:var(--yel);animation:calPulse 3.2s var(--ease) infinite;animation-delay:calc(var(--r) * .35s)}
@keyframes calPulse{0%,60%,100%{transform:scale(1)}20%{transform:scale(1.55)}}
/* chem: reading */
.read-r{display:grid;grid-template-columns:70px 52px 34px 1fr;align-items:center;gap:8px;padding:9px 0;border-bottom:1.5px dashed var(--line)}
.read-r:last-child{border-bottom:0}
.read-r .mono{font-size:12px;font-weight:700;color:var(--gray)}
.read-r b{font-size:24px;font-weight:900;letter-spacing:-.02em}
.read-r i{height:8px;border-radius:4px;background:var(--track);position:relative;overflow:hidden}
.read-r i::after{content:"";position:absolute;inset:0;background:var(--blue);transform-origin:left;transform:scaleX(var(--v));animation:readIn 1.6s var(--ease) .3s both}
@keyframes readIn{from{transform:scaleX(.08)}}
.sig-read .sig-k{margin-bottom:6px}
/* filter: gauge */
.sig-gauge{max-width:270px;text-align:center}
.sig-gauge svg{width:100%;height:auto;display:block}
.g-arc{fill:none;stroke:var(--track);stroke-width:10;stroke-linecap:round}
.g-ok{fill:none;stroke:var(--yel);stroke-width:10;stroke-linecap:round}
.g-ticks line{stroke:var(--navy);stroke-width:2.5}
.g-needle path{fill:var(--navy)}
.g-needle circle{fill:var(--navy)}
.g-needle{transform:rotate(-8deg);animation:needle 2.2s cubic-bezier(.3,1.5,.4,1) .3s both}
@keyframes needle{from{transform:rotate(-118deg)}}
.sig-gauge .sig-k{margin-top:8px}
/* salt: panel */
.sig-panel{background:var(--navy);color:var(--white)}
.sig-panel .sig-k{color:var(--yel)}
.lights{display:flex;gap:10px;margin:16px 0 14px}
.light{flex:1;display:flex;flex-direction:column;align-items:center;gap:8px;padding:12px 6px;border-radius:10px;background:#081629;font:700 11px var(--mono);letter-spacing:.06em;color:var(--sky);text-align:center}
.light i{width:14px;height:14px;border-radius:50%;background:#5BD38A;box-shadow:0 0 12px rgba(91,211,138,.7)}
.l-warn i{background:var(--yel);box-shadow:0 0 14px rgba(240,180,41,.9);animation:blink 1.4s ease-in-out infinite}
.l-warn{color:var(--yel)}
.sig-s{font-size:15px;line-height:1.45;color:var(--sky)}
/* repair: symptoms */
.syms{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0 16px}
.sym{min-height:40px;padding:0 14px;border:0;border-radius:999px;background:var(--stucco);box-shadow:inset 0 0 0 1.5px var(--line);font:700 14px var(--sans);color:var(--navy);cursor:pointer;transition:background-color .2s,box-shadow .2s,transform .3s var(--ease)}
.sym:hover{box-shadow:inset 0 0 0 1.5px var(--navy)}
.sym[aria-pressed="true"]{background:var(--yel);box-shadow:inset 0 0 0 1.5px var(--yel);transform:translateY(-2px)}
.sym-go{display:inline-flex;align-items:center;gap:10px;font-weight:800;color:var(--blue-d);text-decoration:none}
.sym-go:hover .arr{transform:translateX(4px)}
.sym-go .arr{transition:transform .3s var(--ease)}
/* green: order of work */
.sig-shift{max-width:400px}
.shift-bar{position:relative;height:14px;margin:16px 0 10px;border-radius:7px;background:linear-gradient(90deg,#6E8F3A,#4B9A84 45%,var(--blue));overflow:hidden}
.shift-bar i{position:absolute;top:0;bottom:0;left:calc(var(--p,.15) * (100% - 22px));width:22px;border-radius:7px;background:var(--white);box-shadow:0 0 0 3px var(--navy)}
.shift-st{display:flex;justify-content:space-between;margin:0;padding:0;list-style:none;font-size:10.5px;font-weight:700;letter-spacing:.06em;color:var(--gray)}
/* storm: diamond */
.sig-diamond{background:transparent;box-shadow:none;max-width:none;left:auto;right:40px;bottom:auto;top:40px;padding:0}
.dia{width:200px;height:200px;transform:rotate(45deg);background:var(--yel);border-radius:20px;display:grid;place-items:center;box-shadow:inset 0 0 0 8px var(--yel),inset 0 0 0 12px var(--navy),0 30px 40px -24px rgba(15,39,71,.7);animation:diaSway 6s ease-in-out infinite}
@keyframes diaSway{0%,100%{transform:rotate(43.5deg)}50%{transform:rotate(46.5deg)}}
.dia-t{transform:rotate(-45deg);text-align:center;font-weight:900;font-size:24px;line-height:1;letter-spacing:-.01em;color:var(--navy)}
.dia-t .mono{display:block;margin-top:8px;font-size:11px;font-weight:700;letter-spacing:.08em}

/* section rhythm for service pages */
.wk-scope,.ch-lanes,.fl-scope,.sl-flow,.rp-scope,.gr-scope{padding-top:140px}
.wk-price,.ch-price,.fl-price,.rp-price,.gr-price,.st-price{padding-top:140px}
.sv-q{display:grid;grid-template-columns:1fr 1.4fr;gap:64px;padding-top:140px}
.sv-q-head .h2{margin-top:16px}
.sv-q-head p:last-child{margin-top:22px}

/* weekly: clipboard */
.wk-scope{display:grid;grid-template-columns:1fr 1.05fr .8fr;gap:40px;align-items:center}
.wk-scope-txt .h2{margin-top:16px}
.wk-scope-txt .body{margin:20px 0 18px}
.clipb{position:relative;background:var(--white);border-radius:16px;padding:46px 30px 28px;box-shadow:0 40px 70px -40px rgba(15,39,71,.55),inset 0 0 0 1px rgba(15,39,71,.05);transform:rotate(1.2deg)}
.clipb-clip{position:absolute;left:50%;top:-16px;width:120px;height:34px;margin-left:-60px;border-radius:8px;background:linear-gradient(#9AA3AB,#6F7880);box-shadow:inset 0 -3px 0 rgba(0,0,0,.2)}
.clipb-h{font-size:12px;font-weight:700;letter-spacing:.1em;color:var(--blue-d);margin-bottom:12px}
.clipb-list li{display:flex;align-items:center;gap:14px;padding:13px 0;border-bottom:1.5px dashed var(--line);font-weight:700;font-size:17px}
.clipb-list li .mono{font-size:12px;color:var(--gray)}
.box{flex:none;display:grid;place-items:center;width:26px;height:26px;border-radius:6px;box-shadow:inset 0 0 0 2px var(--navy);color:var(--navy);transition:background-color .3s calc(var(--i) * .22s + .3s)}
.box svg{transform:scale(1);transition:transform .45s cubic-bezier(.3,1.6,.5,1) calc(var(--i) * .22s + .3s)}
.clipb.pre .box svg{transform:scale(0)}
.clipb.is-in .box{background:var(--yel)}
.clipb:not(.pre) .box{background:var(--yel)}
.clipb-foot{margin-top:16px;font-size:12px;font-weight:700;color:var(--gray);letter-spacing:.06em}
.wk-gate{position:relative;height:520px;border-radius:20px;overflow:hidden}
.wk-gate img{position:absolute;left:0;top:-8%;width:100%;height:116%;object-fit:cover}
.wk-gate figcaption{position:absolute;left:14px;right:14px;bottom:14px;background:var(--navy);color:var(--white);border-radius:10px;padding:10px 12px;font-size:12px;font-weight:700}
/* weekly: statement */
.wk-price{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:center}
.wk-price-txt .h2{margin-top:16px}
.wk-price-txt .body:first-of-type{margin-top:20px}
.wk-price-txt p:last-child{margin-top:20px}
.stmt{background:var(--white);border-radius:6px;padding:36px 36px 30px;box-shadow:0 40px 80px -45px rgba(15,39,71,.55);position:relative}
.stmt::before{content:"";position:absolute;left:0;right:0;top:0;height:8px;background:repeating-linear-gradient(90deg,var(--blue) 0 40px,var(--yel) 40px 52px);border-radius:6px 6px 0 0}
.stmt-top{display:flex;justify-content:space-between;align-items:center;font-size:12px;font-weight:700;color:var(--gray);letter-spacing:.1em}
.stmt-top img{height:35px;width:auto}
.stmt-h{margin:22px 0 10px;font-size:30px;font-weight:900;letter-spacing:-.02em}
.stmt-r{display:flex;justify-content:space-between;gap:16px;padding:13px 0;border-bottom:1.5px dashed var(--line);font-weight:700}
.stmt-r .mono{font-size:14px;white-space:nowrap}
.stmt-dim{color:var(--gray)}
.stmt-tot{display:flex;justify-content:space-between;align-items:baseline;margin-top:18px;padding-top:16px;border-top:3px solid var(--navy);font-weight:800;font-size:18px}
.stmt-tot span:last-child{font-size:44px;font-weight:900;letter-spacing:-.03em}
.stmt-tot small{font-size:16px;color:var(--gray);letter-spacing:0}
/* weekly: note */
.wk-note{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:center;padding-top:140px}
.wk-note-txt .h2{margin-top:16px}
.wk-note-txt .body{margin:20px 0}
.ticket-note{margin:14px 0 4px;font-size:17px;font-style:italic;color:var(--navy);line-height:1.45}
.ticket-wrap-alt{background:var(--tint)}

/* chem: two lanes */
.ch-lanes-head{display:grid;grid-template-columns:1.1fr 1fr;gap:56px;align-items:end;margin-bottom:48px}
.ch-lanes-head .h2{margin-top:16px}
.lanes{display:grid;grid-template-columns:1fr 64px 1fr;background:#2A3542;border-radius:28px;padding:48px 44px;color:var(--white)}
.lane-k{font-size:13px;font-weight:700;letter-spacing:.12em;margin-bottom:22px}
.lane-you .lane-k{color:var(--sky)}
.lane-us .lane-k{color:var(--yel)}
.lane ul{margin:0;padding:0;list-style:none;display:grid;gap:12px}
.lane li{font-size:22px;font-weight:800;line-height:1.25;padding:16px 18px;border-radius:12px;background:rgba(255,255,255,.06)}
.lane-us li{background:var(--blue)}
.lane-mid{position:relative;display:flex;justify-content:center}
.lane-mid span{width:6px;height:100%;background:repeating-linear-gradient(var(--yel) 0 34px,transparent 34px 58px);border-radius:3px;animation:laneRun 1.6s linear infinite}
@keyframes laneRun{to{background-position:0 58px}}
.ch-lanes-foot{margin-top:22px}
/* chem: bars */
.ch-price{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:center}
.ch-price .h2{margin-top:16px}
.ch-price .body{margin:20px 0}
.bars{display:grid;gap:22px;background:var(--white);border-radius:24px;padding:40px}
.bar p:first-child{display:flex;justify-content:space-between;align-items:baseline;gap:12px;font-size:20px;margin-bottom:10px}
.bar p .mono{font-size:12px;font-weight:700;letter-spacing:.08em;color:var(--gray)}
.bar-t{height:22px;border-radius:11px;background:var(--stucco);overflow:hidden}
.bar-t i{display:block;height:100%;width:100%;border-radius:11px;background:var(--navy);transform-origin:left;transform:scaleX(var(--w));transition:transform 1.2s var(--ease) .2s}
.bar.pre .bar-t i{transform:scaleX(.02)}
.bar-on .bar-t i{background:var(--yel)}
.bar-s{margin-top:8px;font-size:11.5px;font-weight:700;letter-spacing:.08em;color:var(--blue-d)}

/* filter: conveyor */
.fl-scope{display:grid;grid-template-columns:1fr 1.2fr;gap:28px 64px}
.fl-scope-head .h2{margin-top:16px}
.fl-pic{grid-row:span 2;position:relative;height:100%;min-height:440px;border-radius:24px;overflow:hidden}
.fl-pic img{position:absolute;left:0;top:-8%;width:100%;height:116%;object-fit:cover}
.conveyor{counter-reset:c;display:grid;gap:0;position:relative;align-self:end}
.conveyor li{position:relative;display:grid;grid-template-columns:64px 1fr;gap:18px;align-items:start;padding:20px 0 20px;border-top:1.5px solid var(--line);font-size:19px;font-weight:700;line-height:1.4}
.st-n{display:grid;place-items:center;width:48px;height:48px;border-radius:12px;background:var(--navy);color:var(--yel);font-size:15px;font-weight:800}
.conveyor li:nth-child(3) .st-n{background:var(--yel);color:var(--navy)}
/* filter: tabs */
.fl-price{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:center}
.fl-price-txt .h2{margin-top:16px}
.fl-price-txt .body{margin:20px 0}
.ftabs{background:var(--navy);color:var(--white);border-radius:24px;padding:14px 14px 30px}
.ftabs-bar{display:grid;grid-template-columns:1fr 1fr;gap:6px;background:#081629;border-radius:14px;padding:6px}
.ftabs-bar button{min-height:52px;border:0;border-radius:10px;background:transparent;color:var(--sky);font:800 17px var(--sans);cursor:pointer;transition:background-color .25s,color .25s}
.ftabs-bar button[aria-selected="true"]{background:var(--yel);color:var(--navy)}
.ftabs-bar button:focus-visible{outline-color:var(--yel)}
.ftabs-pan{padding:28px 22px 0;animation:faqIn .45s var(--ease)}
.ftabs-h{font-size:34px;font-weight:900;letter-spacing:-.02em;margin-bottom:14px}
.ftabs-pan ul{margin:0;padding:0;list-style:none}
.ftabs-pan li{display:flex;gap:12px;align-items:center;padding:11px 0;border-bottom:1px solid var(--blue-d);font-weight:700}
.ftabs-pan li::before{content:"";width:10px;height:10px;flex:none;border-radius:50%;background:var(--yel)}
.ftabs-foot{padding:20px 22px 0;font-size:12px;color:var(--sky);letter-spacing:.04em}

/* salt: fork */
.sl-flow-head{max-width:820px;margin-bottom:48px}
.sl-flow-head .h2{margin-top:16px}
.flow{display:grid;grid-template-columns:1fr;max-width:920px;margin:0 auto}
.flow-main{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.flow-main li{background:var(--white);border-radius:16px;padding:24px;font-size:18px;font-weight:700;line-height:1.4;position:relative}
.flow-main li .mono{display:block;font-size:12px;color:var(--blue-d);margin-bottom:8px}
.flow-main li:not(:last-child)::after{content:"";position:absolute;right:-12px;top:50%;width:12px;height:4px;background:var(--yel)}
.flow-fork{width:60%;height:120px;margin:0 auto;overflow:visible}
.flow-fork path{fill:none;stroke:var(--yel);stroke-width:7;stroke-linecap:round;vector-effect:non-scaling-stroke}
.flow-ends{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.flow-end{border-radius:18px;padding:26px 28px;background:var(--navy);color:var(--white);font-size:18px;line-height:1.45}
.flow-end .mono{font-size:13px;font-weight:700;letter-spacing:.12em;color:#7FE0A6;margin-bottom:8px}
.flow-end-y{background:var(--yel);color:var(--navy)}
.flow-end-y .mono{color:var(--navy)}
/* salt: price band */
.sl-price{position:relative;margin-top:140px;background:var(--navy);color:var(--white);padding:110px 0 0;overflow:hidden}
.sl-price-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:64px;align-items:end;padding-bottom:64px}
.sl-price .h2{margin-top:16px}
.sl-price a:not(.tlink){color:var(--yel)}
.sl-price p:last-child{margin-top:18px}
.sl-price-pic{position:relative;height:340px;overflow:hidden}
.sl-price-pic img{position:absolute;left:0;top:-20%;width:100%;height:140%;object-fit:cover}

/* repair */
.rp-scope-head{display:grid;grid-template-columns:1.1fr 1fr;gap:56px;align-items:end;margin-bottom:48px}
.rp-scope-head .h2{margin-top:16px}
.rp-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:8px solid var(--navy)}
.rp-steps li{position:relative;padding:34px 24px 0 0;color:var(--gray);line-height:1.5}
.rp-steps li::before{content:"";position:absolute;left:0;top:-18px;width:28px;height:28px;border-radius:50%;background:var(--white);border:6px solid var(--navy);box-sizing:border-box}
.rp-steps .rp-you::before{background:var(--yel)}
.rp-steps .mono{display:block;font-size:13px;font-weight:700;color:var(--blue-d)}
.rp-steps b{display:block;margin:6px 0 8px;font-size:24px;color:var(--navy);letter-spacing:-.01em}
.stamp{display:inline-block;margin-top:18px;padding:8px 14px;border:3px solid var(--blue-d);border-radius:8px;color:var(--blue-d);font-size:14px;font-weight:800;letter-spacing:.12em;transform:rotate(-6deg)}
.rp-words{font-size:clamp(56px,8.4vw,132px);font-weight:900;letter-spacing:-.05em;line-height:.9}
.rp-words span{display:inline-block}
.rp-words span:nth-child(2){color:var(--blue)}
.rp-words span:nth-child(3){background:var(--yel);padding:0 .1em;border-radius:.08em}
.rp-price-grid{display:grid;grid-template-columns:1fr 1fr auto;gap:40px;align-items:end;margin-top:40px}

/* green: sticky + vertical route */
.gr-scope{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:start}
.gr-sticky{position:sticky;top:130px}
.gr-sticky .h2{margin-top:16px}
.gr-sticky .body{margin-top:20px}
.vroute{position:relative;padding-left:56px}
.vroute::before{content:"";position:absolute;left:15px;top:10px;bottom:10px;width:8px;border-radius:4px;background:linear-gradient(var(--yel),var(--yel)) 0 0/100% var(--fill,100%) no-repeat,var(--track)}
.vroute li{position:relative;padding:4px 0 56px;color:var(--gray);font-size:18px;line-height:1.5}
.vroute li:last-child{padding-bottom:0}
.vroute .mono{display:block;font-size:12px;font-weight:700;letter-spacing:.1em;color:var(--blue-d)}
.vroute b{display:block;margin:4px 0 6px;font-size:38px;font-weight:900;letter-spacing:-.03em;color:var(--navy);line-height:1}
.vr-pin{position:absolute;left:-56px;top:0;width:38px;height:38px;border-radius:50%;background:var(--white);border:8px solid var(--navy);box-sizing:border-box}
.vr-pin-y{background:var(--yel)}
.gr-price{display:grid;grid-template-columns:1.1fr 1fr;gap:72px;align-items:center}
.gr-price-txt .h2{margin-top:16px}
.gr-price-txt .body{margin:20px 0}
.order{display:grid;grid-template-columns:1fr 56px 1fr;align-items:stretch}
.order > div{border-radius:20px;padding:30px 28px;line-height:1.45}
.order .mono{font-size:12px;font-weight:700;letter-spacing:.12em}
.order-t{margin:10px 0 8px;font-size:34px;font-weight:900;letter-spacing:-.025em;line-height:1}
.order-a{background:var(--navy);color:var(--white)}
.order-a .mono{color:var(--yel)}
.order-a p:last-child{color:var(--sky)}
.order-b{background:var(--white);box-shadow:inset 0 0 0 2px var(--navy)}
.order-b .mono{color:var(--blue-d)}
.order-b p:last-child{color:var(--gray)}
.order-arr{display:grid;place-items:center;color:var(--navy)}
.order-arr .arr{width:30px;height:30px}

/* storm */
.st-scope{margin-top:140px;background:var(--navy);color:var(--white);padding:110px 0}
.st-scope-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:72px;align-items:center}
.st-scope .h2{margin-top:16px}
.st-scope .body{margin-top:20px}
.tiles4{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.tiles4 li{border-radius:16px;padding:26px 24px 28px;background:#0A1C35;font-size:18px;font-weight:700;line-height:1.4;box-shadow:inset 0 0 0 1px rgba(228,238,248,.08)}
.tiles4 li:nth-child(2),.tiles4 li:nth-child(3){background:var(--blue)}
.tiles4 .mono{display:block;font-size:13px;color:var(--yel);margin-bottom:10px}
.st-price{display:grid;grid-template-columns:1.1fr 1fr;gap:72px;align-items:center}
.st-price .h2{margin-top:16px}
.st-price .body{margin:20px 0}
.barricade{border-radius:12px;overflow:hidden;background:var(--white);box-shadow:0 40px 70px -40px rgba(15,39,71,.5)}
.barr-stripes{height:34px;background:repeating-linear-gradient(-45deg,var(--yel) 0 22px,var(--navy) 22px 44px);background-size:62.2px 62.2px;animation:stripes 2.4s linear infinite}
@keyframes stripes{to{background-position:62.2px 0}}
.barr-in{padding:30px 32px}
.barr-in .mono{font-size:13px;font-weight:700;letter-spacing:.12em;color:var(--blue-d);margin-bottom:12px}
.barr-in ul{margin:0;padding:0;list-style:none}
.barr-in li{display:flex;align-items:center;gap:14px;padding:12px 0;font-size:22px;font-weight:800;border-bottom:1.5px dashed var(--line)}
.barr-in li:last-child{border-bottom:0}
.barr-in li::before{content:"";width:20px;height:20px;flex:none;border-radius:50%;background:radial-gradient(circle,var(--white) 0 3px,transparent 3.5px),var(--navy);box-shadow:inset 0 0 0 4px var(--navy)}

/* ---------- service days ---------- */
.sd-hero{position:relative;margin-top:24px;min-height:640px;display:flex;align-items:flex-end}
.sd-pic{position:absolute;inset:0 var(--pad);border-radius:28px;overflow:hidden;max-width:calc(1320px - 2 * var(--pad));margin:0 auto}
.sd-pic img{width:100%;height:100%;object-fit:cover}
.sd-hero-in{position:relative;width:100%;display:flex;justify-content:space-between;align-items:flex-end;gap:24px;padding-bottom:40px}
.sd-hero-txt{margin-left:40px;max-width:640px;padding:40px 44px 36px}
.sd-hero-txt .h1-page{margin-top:16px;font-size:clamp(56px,6vw,96px)}
.sd-days{margin:0 40px 0 0;padding:0;list-style:none;display:grid;gap:4px;width:250px}
.sd-days li{display:flex;align-items:center;gap:12px;background:rgba(15,39,71,.88);color:var(--white);padding:9px 12px;border-radius:8px;font-size:13px;font-weight:700;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.sd-days b{display:inline-grid;place-items:center;width:44px;height:26px;border-radius:5px;background:#081629;color:var(--sky);font-size:13px}
.sd-days li:nth-child(2) b{background:var(--yel);color:var(--navy)}
.sd-board{margin-top:60px}
.sd-board-grid{display:grid;grid-template-columns:1fr 1.5fr;grid-template-areas:"intro board" "pick board";column-gap:64px;align-items:start}
.drow{grid-template-columns:auto 1.4fr 1fr .9fr}
.sd-board .board-head{grid-template-columns:150px 1.4fr 1fr .9fr}
.drow .area{font-size:32px}
.win{font-size:13px;color:var(--sky)}
.drow .status{font-size:12px}
.pick-more{display:inline-flex;align-items:center;gap:8px;margin-top:16px;color:var(--white);font-weight:800;text-decoration:none}
.pick-more:hover{color:var(--yel)}
.pick-more[hidden]{display:none}
.pick-cta{white-space:normal}
.sd-gantry{padding-top:140px}
.sd-gantry-head{margin-bottom:40px}
.sd-gantry-head .h2{margin-top:16px}
.gantry{position:relative;padding-top:22px}
.gantry-beam{position:absolute;left:-20px;right:-20px;top:0;height:22px;border-radius:4px;background:linear-gradient(#9AA3AB,#6F7880);box-shadow:inset 0 -4px 0 rgba(0,0,0,.18)}
.gantry-beam::before,.gantry-beam::after{content:"";position:absolute;top:22px;width:16px;height:60px;background:linear-gradient(90deg,#7A838B,#C5CACF 45%,#7A838B)}
.gantry-beam::before{left:12%}.gantry-beam::after{right:12%}
.gantry-signs{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:0;padding:24px 0 0;list-style:none}
.gsign{position:relative;display:flex;flex-direction:column;height:100%;min-height:260px;padding:44px 26px 24px;border-radius:16px;background:var(--blue);color:var(--white);text-decoration:none;box-shadow:inset 0 0 0 6px var(--blue),inset 0 0 0 9px var(--white);transform-origin:50% -24px;transition:transform .5s var(--ease),background-color .3s}
.gsign::before,.gsign::after{content:"";position:absolute;top:-24px;width:5px;height:24px;background:#7A838B}
.gsign::before{left:30%}.gsign::after{right:30%}
.gsign:hover{transform:rotate(-1.5deg);background:var(--blue-d)}
.gsign-tab{position:absolute;left:22px;top:-12px;background:var(--yel);color:var(--navy);font-size:13px;font-weight:800;padding:5px 10px;border-radius:6px}
.gsign-n{font-size:40px;font-weight:900;letter-spacing:-.03em;line-height:1}
.gsign-d{margin-top:12px;color:var(--on-blue);line-height:1.45}
.gsign-a{margin-top:auto;padding-top:20px;display:block}
.gsign-a .arr{width:30px;height:30px;transform:rotate(-45deg);transition:transform .4s var(--ease)}
.gsign:hover .gsign-a .arr{transform:rotate(-45deg) translateX(6px)}
.sd-sched{display:grid;grid-template-columns:1fr 1.15fr;gap:72px;align-items:center;padding-top:140px}
.sd-sched-txt .h2{margin-top:16px}
.sd-sched-txt .body:first-of-type{margin-top:20px}
.sd-sched-txt p:last-child{margin-top:18px}
.swk{background:var(--white);border-radius:24px;padding:28px 28px 26px;box-shadow:0 0 0 1px rgba(15,39,71,.05)}
.swk-top{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.swk-k{font-size:12px;font-weight:700;letter-spacing:.1em;color:var(--blue-d)}
.swk-btn{min-height:44px;padding:0 16px;border:0;border-radius:10px;background:var(--navy);color:var(--white);font-size:13px;font-weight:700;cursor:pointer;transition:background-color .2s,color .2s}
.swk-btn[aria-pressed="true"]{background:var(--yel);color:var(--navy)}
.swk-days{display:grid;grid-template-columns:repeat(6,1fr);gap:6px;margin:26px 0 0;padding:0;list-style:none}
.sw-d{height:120px;border-radius:12px;background:var(--stucco);display:flex;align-items:flex-start;justify-content:center;padding-top:12px;font-size:14px;font-weight:800;transition:background-color .4s}
.swk.storm .sw-d[data-d="TUE"]{background:#DCE2E8}
.swk.storm .sw-d[data-d="SAT"]{background:var(--tint)}
.swk-track{position:relative;height:0}
.swk-arc{position:absolute;left:0;right:0;top:-96px;width:100%;height:60px;overflow:visible;pointer-events:none}
.swk-arc path{fill:none;stroke:var(--blue-d);stroke-width:3;stroke-dasharray:8 8;vector-effect:non-scaling-stroke;opacity:0;transition:opacity .4s}
.swk.storm .swk-arc path{opacity:1}
.swk-pin{position:absolute;top:-58px;left:calc((100% - 30px) / 6 * 1 + 6px + (100% - 30px) / 12 - 14px);width:28px;height:28px;border-radius:50%;background:var(--yel);border:6px solid var(--navy);box-sizing:border-box;transition:transform 1s cubic-bezier(.5,-.3,.3,1.3)}
.swk.storm .swk-pin{transform:translateX(calc((100% + 0px) * 0 + var(--jump,0px)))}
.swk-cloud{position:absolute;top:-112px;left:calc((100% - 30px) / 6 * 1 + 6px + (100% - 30px) / 12 - 24px);transform:translateY(-14px) scale(.6);opacity:0;transition:opacity .4s,transform .5s var(--ease)}
.swk-cloud path{fill:var(--navy)}
.swk-cloud .bolt{fill:var(--yel)}
.swk.storm .swk-cloud{opacity:1;transform:none}
.swk-cap{margin-top:18px;font-weight:700;min-height:1.5em}

/* ---------- area pages ---------- */
.ct-hero{position:relative;margin-top:24px;min-height:680px;display:flex;align-items:flex-end}
.ct-pic{position:absolute;inset:0 var(--pad);border-radius:28px;overflow:hidden;max-width:calc(1320px - 2 * var(--pad));margin:0 auto}
.ct-pic img{width:100%;height:100%;object-fit:cover}
.ct-hero-in{position:relative;width:100%;padding-bottom:40px}
.guide{margin-left:40px;max-width:700px;padding:30px 44px 38px}
.guide-top{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.guide-tab{background:var(--yel);color:var(--navy);font-size:12px;font-weight:800;letter-spacing:.1em;padding:6px 12px;border-radius:7px}
.guide-co{font-size:12px;font-weight:700;letter-spacing:.1em;color:var(--on-blue)}
.ct-h1{margin-top:22px;font-weight:900;line-height:.88;letter-spacing:-.045em}
.ct-k{display:block;font-size:26px;letter-spacing:-.01em;font-weight:800;color:var(--on-blue);margin-bottom:8px}
.ct-name{display:block;font-size:clamp(68px,8vw,124px)}
.ct-name-long{font-size:clamp(56px,6.2vw,92px)}
.guide-day{display:flex;align-items:center;gap:14px;margin-top:20px}
.guide-day > .mono{font-size:12px;font-weight:700;letter-spacing:.12em;color:var(--on-blue)}
.guide-day .tile{--tb:var(--yel);--tc:var(--navy)}
.guide .lead{margin-top:20px}
.ct-local{display:grid;grid-template-columns:1fr 1fr .7fr;gap:40px;align-items:center;padding-top:130px}
.lc-txt .h2{margin-top:16px}
.lc-txt .body:first-of-type{margin-top:20px}
.lc-txt p:last-child{margin-top:18px}
.lc-photo{position:relative;height:520px;border-radius:20px;overflow:hidden}
.lc-photo img{position:absolute;left:0;top:-8%;width:100%;height:116%;object-fit:cover}
/* brandon plan */
.plan{position:relative;background:var(--white);border-radius:22px;padding:22px}
.plan svg{display:block;width:100%;height:auto}
.pl-lot{fill:var(--stucco);stroke:var(--line);stroke-width:2;stroke-dasharray:6 6}
.pl-pool{fill:var(--sky);stroke:var(--blue);stroke-width:4}
.pl-pad{fill:var(--white);stroke:var(--navy);stroke-width:3}
.pl-house{fill:var(--navy)}
.pl-drive{fill:#E6E8EA}
.pl-fence{stroke:var(--gray);stroke-width:4;stroke-dasharray:2 6;stroke-linecap:round}
.pl-gate{stroke:var(--blue-d);stroke-width:5;stroke-linecap:round}
.pl-path{fill:none;stroke:var(--yel);stroke-width:9;stroke-linecap:round;stroke-linejoin:round}
.pl-l{position:absolute;font-size:11px;font-weight:800;letter-spacing:.08em;background:var(--white);padding:3px 7px;border-radius:5px;box-shadow:0 0 0 1.5px var(--navy)}
.pl-l1{right:9%;bottom:16%}.pl-l2{right:4%;top:47%}.pl-l3{left:20%;top:3%}.pl-l4{left:24%;top:52%;background:var(--navy);color:var(--white)}
.plan figcaption{margin-top:12px;font-size:11px;font-weight:700;letter-spacing:.06em;color:var(--gray)}
/* valrico labels */
.lc-valrico{grid-template-columns:1fr 1.25fr}
.labels{display:grid;grid-template-columns:1fr 70px 1fr;align-items:center;gap:0;position:relative}
.mlabel{position:relative;z-index:1;background:var(--white);border-radius:12px;padding:22px 22px 24px;box-shadow:0 30px 50px -30px rgba(15,39,71,.5);transform:rotate(-2deg)}
.mlabel-y{background:var(--yel);transform:rotate(1.5deg)}
.mlabel-k{font-size:11.5px;font-weight:700;letter-spacing:.12em;color:var(--gray);margin-bottom:10px}
.mlabel-y .mlabel-k{color:var(--navy)}
.mlabel-a{font-size:19px;line-height:1.45;font-weight:600}
.mlabel-a b{font-weight:900}
.mlabel-x,.mlabel-ok{position:absolute;right:14px;top:14px;font-size:10.5px;font-weight:800;letter-spacing:.1em;padding:4px 8px;border-radius:5px;border:2px solid var(--gray);color:var(--gray);transform:rotate(8deg)}
.mlabel-ok{border-color:var(--navy);color:var(--navy)}
.labels-arr{width:100%;height:auto;overflow:visible}
.labels-arr path{fill:none;stroke:var(--navy);stroke-width:5;stroke-linecap:round;stroke-linejoin:round}
.labels-pic{grid-column:1 / -1;position:relative;height:280px;margin-top:-30px;border-radius:20px;overflow:hidden}
.labels-pic img{position:absolute;left:0;top:-12%;width:100%;height:124%;object-fit:cover}
/* bloomingdale hotspots */
.lc-bloomingdale{grid-template-columns:1fr 1.25fr}
.hots{position:relative}
.hots-pic{height:500px;border-radius:22px;overflow:hidden}
.hots-pic img{width:100%;height:100%;object-fit:cover}
.hot{position:absolute;display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--yel);color:var(--navy);font:800 16px var(--mono);box-shadow:0 0 0 6px rgba(240,180,41,.35)}
.hot::after{content:"";position:absolute;inset:-6px;border-radius:50%;box-shadow:0 0 0 2px var(--yel);animation:hotPing 2.4s var(--ease) infinite}
@keyframes hotPing{0%{transform:scale(.9);opacity:1}100%{transform:scale(1.7);opacity:0}}
.hot-1{left:16%;top:42%}.hot-2{left:24%;top:58%}.hot-3{right:10%;top:76%}
.hots-key{position:absolute;right:20px;top:20px;margin:0;padding:16px 18px;list-style:none;background:var(--navy);color:var(--white);border-radius:14px;display:grid;gap:8px;font-weight:700;font-size:15px}
.hots-key .mono{display:inline-grid;place-items:center;width:22px;height:22px;margin-right:10px;border-radius:50%;background:var(--yel);color:var(--navy);font-size:12px}
/* seffner distance */
.lc-seffner{grid-template-columns:1fr 1.3fr}
.dist-pic{position:relative;height:420px;border-radius:22px;overflow:hidden}
.dist-pic img{position:absolute;left:0;top:-8%;width:100%;height:116%;object-fit:cover}
.dist-strip{position:relative;margin-top:22px;padding-top:34px}
.dist-strip ol{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:0;padding:0;list-style:none}
.dist-strip li{font-weight:700;line-height:1.35;color:var(--gray)}
.dist-strip li .mono{display:block;font-size:13px;letter-spacing:.12em;color:var(--navy);margin-bottom:6px}
.dist-strip li::before{content:"";position:absolute;top:2px;width:22px;height:22px;border-radius:50%;background:var(--white);border:6px solid var(--navy);box-sizing:border-box;z-index:1}
.dist-line{position:absolute;left:10px;right:10px;top:10px;height:6px;border-radius:3px;background:var(--track)}
.dist-line i{position:absolute;inset:0;border-radius:3px;background:var(--yel);transform-origin:left;transform:scaleX(calc(.15 + var(--p,.5) * 1.3))}
/* care road */
.ct-care{padding-top:130px}
.ct-care-head{display:grid;grid-template-columns:1.2fr 1fr;gap:56px;align-items:end}
.ct-care-head .h2{margin-top:16px;grid-column:1}
.ct-care-head .k{grid-column:1 / -1}
.ct-care-head .body{grid-column:2;grid-row:2;margin-bottom:8px}
.ct-care-links{grid-column:2;display:flex;flex-wrap:wrap;gap:6px 24px}
.road6{position:relative;display:grid;grid-template-columns:repeat(6,1fr);gap:0;margin:56px 0 0;padding:44px 0 0;list-style:none;background:linear-gradient(var(--navy),var(--navy)) 0 14px/100% 20px no-repeat}
.road6::before{content:"";position:absolute;left:0;right:0;top:23px;height:2px;background:repeating-linear-gradient(90deg,var(--yel) 0 22px,transparent 22px 40px)}
.road6 li{position:relative;padding-right:18px;font-weight:700;font-size:17px;line-height:1.35}
.road6 li .mono{display:block;font-size:12px;color:var(--blue-d);margin-bottom:4px}
.r6-pin{position:absolute;left:0;top:-42px;width:36px;height:36px;border-radius:50%;background:var(--white);border:7px solid var(--navy);box-sizing:border-box;transition:transform .5s cubic-bezier(.3,1.6,.5,1) calc(var(--i) * .12s),background-color .3s calc(var(--i) * .12s)}
.road6.pre .r6-pin{transform:scale(.4)}
.road6.go .r6-pin{background:var(--yel)}
/* big question */
.bigq{display:grid;grid-template-columns:auto 1fr;gap:56px;align-items:center;padding-top:130px}
.bigq-sign{width:200px;height:200px;border-radius:50%;background:var(--navy);display:grid;place-items:center;box-shadow:inset 0 0 0 10px var(--navy),inset 0 0 0 14px var(--yel)}
.bigq-sign span{font-size:120px;font-weight:900;color:var(--yel);line-height:1;transform:translateY(6px)}
.bigq-h{margin-top:14px;font-size:clamp(34px,3.6vw,54px);font-weight:900;letter-spacing:-.03em;line-height:1.02;max-width:860px;text-wrap:balance}
.bigq .body{margin-top:18px;max-width:640px}
.bigq-act{display:flex;flex-wrap:wrap;align-items:center;gap:16px 26px;margin-top:26px}

/* ---------- how it works ---------- */
.hw-hero{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start;padding-top:40px}
.hw-hero .btns{margin-top:32px}
.hw-hero-media{position:relative}
.hw-hero-pic{height:560px;border-radius:28px;overflow:hidden}
.hw-hero-pic img{width:100%;height:100%;object-fit:cover}
.hw-hero-cap{position:absolute;left:-28px;bottom:36px;background:var(--yel);color:var(--navy);font-size:13px;font-weight:800;padding:12px 16px;border-radius:10px;max-width:290px;box-shadow:0 20px 40px -24px rgba(15,39,71,.6)}
.ramp-sec{padding-top:140px}
.ramp-head .h2{margin-top:16px;max-width:820px}
.ramp{position:relative;margin-top:20px;min-height:520px}
.ramp-road{position:absolute;left:0;right:0;top:40px;width:100%;height:300px;overflow:visible}
.ramp-base{fill:none;stroke:var(--navy);stroke-width:26;stroke-linecap:round}
.ramp-lane{fill:none;stroke:var(--yel);stroke-width:5;stroke-linecap:round;stroke-dasharray:18 16}
.ramp-lane.draw-pre{stroke-dasharray:var(--len);}
.ramp-steps{position:relative;display:grid;grid-template-columns:repeat(3,1fr);gap:28px;align-items:start}
.ramp-steps li{background:var(--white);border-radius:18px;padding:24px 24px 26px;color:var(--gray);line-height:1.5;box-shadow:0 30px 50px -36px rgba(15,39,71,.6)}
.ramp-steps li{position:relative}
.ramp-steps li::before{content:"";position:absolute;left:38px;top:-40px;width:4px;height:40px;background:var(--navy)}
.ramp-steps li::after{content:"";position:absolute;left:30px;top:-50px;width:20px;height:20px;border-radius:50%;background:var(--yel);border:5px solid var(--navy);box-sizing:border-box}
.ramp-steps li:nth-child(1){margin-top:350px}
.ramp-steps li:nth-child(2){margin-top:240px}
.ramp-steps li:nth-child(3){margin-top:120px}
.exitn{display:inline-block;background:var(--blue);color:var(--white);font-size:12px;font-weight:800;letter-spacing:.1em;padding:6px 10px;border-radius:6px}
.ramp-steps b{display:block;margin:12px 0 6px;font-size:24px;color:var(--navy);letter-spacing:-.01em}
.ramp-foot{margin-top:36px}
.ss{padding-top:140px}
.ss-head .h2{margin-top:16px;max-width:900px}
.ss-grid{display:grid;grid-template-columns:1fr 1fr;gap:72px;margin-top:48px}
.ss-frame{position:sticky;top:120px;height:calc(100vh - 170px);max-height:620px;min-height:420px}
.ss-frames{position:relative;height:calc(100% - 44px);border-radius:24px;overflow:hidden;background:var(--sky)}
.ss-f{position:absolute;inset:0;opacity:0;transform:scale(1.06);transition:opacity .7s var(--ease),transform 1.2s var(--ease)}
.ss-f.on{opacity:1;transform:none}
.ss-f img{width:100%;height:100%;object-fit:cover}
.ss-count{position:absolute;left:18px;top:18px;background:var(--navy);color:var(--white);padding:8px 12px;border-radius:8px;font-size:13px;font-weight:700}
.ss-bar{position:absolute;left:0;right:0;bottom:0;height:8px;border-radius:4px;background:var(--track);overflow:hidden}
.ss-bar i{position:absolute;inset:0;background:var(--yel);transform-origin:left;transform:scaleX(var(--k,.1667));transition:transform .5s var(--ease)}
.ss-step{position:relative;min-height:62vh;display:flex;flex-direction:column;justify-content:center;padding:20px 0;border-top:1.5px solid var(--line)}
.ss-step::before{content:"";position:absolute;left:0;top:-2px;width:100%;height:5px;background:var(--yel);transform:scaleX(0);transform-origin:left;transition:transform .6s var(--ease)}
.ss-step.on::before{transform:scaleX(1)}
.ss-step h3{color:var(--gray);transition:color .4s}
.ss-step.on h3{color:var(--navy)}
.ss-step:last-child{min-height:50vh}
.ss-n{font-size:13px;font-weight:700;letter-spacing:.1em;color:var(--blue-d)}
.ss-step h3{margin:8px 0 12px;font-size:64px;font-weight:900;letter-spacing:-.04em;line-height:.95}
.ss-step p{font-size:19px;line-height:1.6;color:var(--gray);max-width:440px}
.ss-inl{display:none}
.anat{margin-top:140px;background:var(--navy);color:var(--white);padding:110px 0}
.anat-grid{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:center}
.anat .h2{margin-top:16px}
.anat .body{margin-top:20px;max-width:460px}
.anat-key{display:grid;gap:8px;margin-top:30px}
.anat-key li{display:flex;align-items:center;gap:14px;font-weight:700;font-size:18px}
.anat-key .mono{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--yel);color:var(--navy);font-size:13px;font-weight:800}
.anat-ticket{padding:20px 60px 20px 20px}
.anat-ticket .ticket{transform:rotate(1.5deg)}
.anno{position:absolute;right:-74px;display:flex;align-items:center;gap:6px;font-size:0;z-index:2}
.anno i{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--yel);color:var(--navy);font:800 13px var(--mono);font-style:normal;box-shadow:0 0 0 4px var(--navy)}
.anno::before{content:"";width:40px;height:3px;background:var(--yel)}
.anno-1 i::before{content:"1"}.anno-2 i::before{content:"2"}.anno-3 i::before{content:"3"}.anno-4 i::before{content:"4"}.anno-5 i::before{content:"5"}
.anno-1{top:70px}.anno-2{top:142px}.anno-3{top:190px}.anno-4{top:258px}.anno-5{top:350px}
.acc{display:grid;grid-template-columns:1.1fr 1fr;gap:72px;align-items:center;padding-top:140px}
.acc-media{position:relative;padding-right:90px}
.acc-pic{position:relative;height:560px;border-radius:24px;overflow:hidden}
.acc-pic img{position:absolute;left:0;top:-8%;width:100%;height:116%;object-fit:cover}
.hanger{position:absolute;right:0;bottom:-30px;width:270px;background:var(--white);border-radius:18px 18px 14px 14px;padding:76px 24px 22px;box-shadow:0 40px 70px -36px rgba(15,39,71,.65);transform:rotate(3deg)}
.hanger-hole{position:absolute;left:50%;top:18px;width:66px;height:42px;margin-left:-33px;border-radius:50%/60%;background:var(--stucco);box-shadow:inset 0 2px 6px rgba(15,39,71,.25)}
.hanger-k{font-size:12px;font-weight:700;letter-spacing:.12em;color:var(--blue-d)}
.hanger-list{margin:10px 0 0;padding:0;list-style:none}
.hanger-list li{padding:10px 0;border-bottom:1.5px dashed var(--line);font-weight:700;line-height:1.35}
.hanger-latch{display:flex;align-items:center;gap:10px;margin-top:14px;font-size:11px;font-weight:800;letter-spacing:.08em}
.latch rect{fill:var(--navy)}
.latch-bar{stroke:var(--yel);stroke-width:6;stroke-linecap:round;transform-box:fill-box;transform-origin:left center;transition:transform .8s cubic-bezier(.3,1.5,.5,1) .5s}
.hanger.pre .latch-bar{transform:scaleX(.3)}
.acc-txt .h2{margin-top:16px}
.acc-txt .body:first-of-type{margin-top:20px}
.acc-txt p:last-child{margin-top:18px}

/* ---------- about ---------- */
.ab-hero-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:56px;align-items:start;padding-top:40px}
.ab-hero .lead-d{color:var(--navy)}
.ab-hero .btns{margin-top:32px}
.ab-hero-media{position:relative}
.ab-hero-pic{height:600px;border-radius:28px;overflow:hidden}
.ab-hero-pic img{width:100%;height:100%;object-fit:cover;object-position:60% 50%}
.nameplate{position:absolute;left:-36px;bottom:36px;padding:24px 30px 22px}
.nameplate-n{margin-top:6px;font-size:40px;font-weight:900;letter-spacing:-.03em;line-height:1}
.nameplate-s{margin-top:10px;font-size:11px;font-weight:700;letter-spacing:.1em;color:var(--on-blue)}
.ab-routine{display:grid;grid-template-columns:1fr 1.2fr;gap:72px;align-items:center;padding-top:140px}
.ab-routine-txt .h2{margin-top:16px}
.ab-routine-txt .body:first-of-type{margin-top:20px}
.ab-routine-txt p:last-child{margin-top:18px}
.rec-stack{position:relative;padding-bottom:60px}
.rec-pic{position:relative;height:440px;width:78%;border-radius:22px;overflow:hidden}
.rec-pic img{position:absolute;left:0;top:-8%;width:100%;height:116%;object-fit:cover}
.rec{position:absolute;right:0;bottom:0;width:58%;min-width:300px;background:#FFFDF6;border-radius:6px;padding:22px 24px 18px;box-shadow:0 40px 70px -36px rgba(15,39,71,.6);background-image:repeating-linear-gradient(transparent 0 37px,rgba(30,111,184,.18) 37px 38px);background-position:0 54px}
.rec::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:#E46A6A;opacity:.5;left:46px}
.rec-top{display:flex;justify-content:space-between;font-size:11.5px;font-weight:800;letter-spacing:.1em;color:var(--blue-d);padding-bottom:12px;border-bottom:3px solid var(--navy)}
.rec dl{margin:0}
.rec dl div{display:grid;grid-template-columns:90px 1fr;gap:12px;align-items:baseline;min-height:38px;padding-top:9px}
.rec dt{font-size:10.5px;font-weight:700;letter-spacing:.08em;color:var(--gray)}
.rec dd{margin:0;font-weight:700;font-size:15px;line-height:1.3}
.ab-cred{margin-top:140px;background:var(--navy);color:var(--white);padding:110px 0}
.ab-cred-head{max-width:760px}
.ab-cred-head .h2{margin-top:16px}
.ab-cred-head .body{margin-top:20px}
.blanks{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:48px 0 0;padding:0;list-style:none}
.blanks li{border-radius:18px;padding:28px 26px;border:2.5px dashed rgba(228,238,248,.4);min-height:220px;display:flex;flex-direction:column}
.blank-k{font-size:12px;font-weight:700;letter-spacing:.12em;color:var(--yel)}
.blank-v{margin-top:auto;font-size:26px;font-weight:900;letter-spacing:-.02em;line-height:1.1}
.blank-s{margin-top:8px;color:var(--sky);font-size:15px}
.ab-fit{display:grid;grid-template-columns:1fr 1.15fr;gap:72px;align-items:center;padding-top:140px}
.ab-fit-txt .h2{margin-top:16px}
.ab-fit-txt .body{margin:20px 0 26px}
.fitsigns{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.fsign{border-radius:18px;padding:28px 26px 24px}
.fsign .mono{font-size:12.5px;font-weight:800;letter-spacing:.12em;margin-bottom:16px}
.fsign ul{margin:0;padding:0;list-style:none;display:grid;gap:4px}
.fsign li{display:flex;gap:12px;align-items:center;padding:9px 0;font-weight:800;font-size:18px;line-height:1.25}
.fsign-on{background:var(--blue);color:var(--white);box-shadow:inset 0 0 0 6px var(--blue),inset 0 0 0 9px var(--white)}
.fsign-on .mono{color:var(--white)}
.fsign-on li::before{content:"";flex:none;width:18px;height:10px;border-left:3.5px solid var(--yel);border-bottom:3.5px solid var(--yel);transform:rotate(-45deg) translateY(-3px)}
.fsign-off{background:var(--white);color:var(--navy);box-shadow:inset 0 0 0 3px var(--navy)}
.fsign-off .mono{color:var(--gray)}
.fsign-off li{color:var(--gray)}
.fsign-off li::before{content:"×";flex:none;display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--navy);color:var(--white);font-size:16px;font-weight:700;line-height:1}

/* ---------- reviews ---------- */
.rv-hero{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start;padding-top:40px}
.rv-hero .btns{margin-top:32px}
.rv-board{position:relative;display:grid;grid-template-columns:auto 1fr;gap:28px;align-items:end;background:var(--white);border-radius:28px;padding:44px 40px 0;overflow:hidden;border:2px dashed var(--line)}
.rv-post{display:flex;flex-direction:column;align-items:center;transform-origin:50% 100%;animation:sway 6s ease-in-out infinite}
.rv-post .diamond{width:170px;height:170px}
.rv-post .diamond-txt{font-size:21px}
.rv-post .diamond-txt .mono{font-size:9.5px;max-width:110px}
.rv-post .pole{height:150px}
.rv-slots{display:grid;gap:12px;margin:0 0 40px;padding:0;list-style:none}
.rv-slots li{border-radius:12px;padding:16px 18px;background:var(--stucco);display:grid;gap:7px}
.rv-slots .mono{font-size:11px;font-weight:700;letter-spacing:.12em;color:var(--gray);margin-bottom:2px}
.rv-slots i{display:block;height:9px;border-radius:5px;background:var(--track)}
.rv-slots i:nth-child(3){width:82%}.rv-slots i:nth-child(4){width:55%}
.rv-rules{padding-top:140px}
.rv-rules-head{display:grid;grid-template-columns:1.1fr 1fr;gap:56px;align-items:end;margin-bottom:44px}
.rv-rules-head .h2{margin-top:16px}
.regs{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}
.regs li{background:var(--white);border-radius:6px;padding:20px 18px 24px;box-shadow:inset 0 0 0 3px var(--navy),inset 0 0 0 7px var(--white),inset 0 0 0 9px var(--navy);color:var(--gray);line-height:1.45;font-size:15px;text-align:center}
.reg-k{display:block;font-size:11px;font-weight:800;letter-spacing:.14em;color:var(--navy);padding-bottom:10px;margin-bottom:12px;border-bottom:2px solid var(--navy)}
.regs b{display:block;margin-bottom:6px;font-size:22px;color:var(--navy);line-height:1.1;letter-spacing:-.01em}
.rv-google{margin-top:28px;display:flex;flex-wrap:wrap;align-items:center;gap:14px;font-size:13px;color:var(--gray)}
.rv-dis{display:inline-flex;align-items:center;min-height:44px;padding:0 18px;border-radius:10px;border:2px dashed var(--line);color:var(--gray);font-weight:700}

/* ---------- faq ---------- */
.fq-hero{padding-top:40px}
.fq-h1{margin-top:18px;max-width:1100px}
.fq-hero-row{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:24px}
.fq{display:grid;grid-template-columns:280px 1fr;gap:72px;padding-top:90px;align-items:start}
.fq-idx{position:sticky;top:120px}
.fq-idx-k{font-size:12px;font-weight:700;letter-spacing:.12em;color:var(--gray);margin-bottom:14px}
.fq-idx ol{position:relative;z-index:1;margin:0;padding:0;list-style:none;display:grid;gap:4px}
.fq-idx a{display:flex;align-items:center;gap:14px;padding:10px 0;font-weight:800;text-decoration:none;color:var(--gray);transition:color .25s}
.fq-idx a .mono{display:grid;place-items:center;width:34px;height:34px;flex:none;border-radius:50%;background:var(--white);box-shadow:inset 0 0 0 3px var(--navy);font-size:12px;color:var(--navy);transition:background-color .3s}
.fq-idx a:hover,.fq-idx a.on{color:var(--navy)}
.fq-idx a.on .mono{background:var(--yel)}
.fq-idx-line{position:absolute;left:15px;top:44px;bottom:16px;width:4px;background:var(--track);border-radius:2px}
.fq-idx-line i{position:absolute;inset:0;background:var(--yel);transform-origin:top;transform:scaleY(var(--k,0));transition:transform .4s var(--ease)}
.fq-g{padding-bottom:72px}
.fq-g + .fq-g{padding-top:20px}
.fq-g-head{display:flex;align-items:baseline;gap:18px;margin-bottom:18px}
.fq-mm{flex:none;font-size:12px;font-weight:800;letter-spacing:.1em;background:var(--blue);color:var(--white);padding:6px 9px;border-radius:6px}
.fq-h{font-size:clamp(34px,3.4vw,52px);font-weight:900;letter-spacing:-.03em;line-height:1}
.fq-ask{margin-top:16px}

/* ---------- contact ---------- */
.cn-hero{position:relative;margin-top:24px;min-height:680px;display:flex;align-items:flex-end}
.cn-pic{position:absolute;inset:0 var(--pad);border-radius:28px;overflow:hidden;max-width:calc(1320px - 2 * var(--pad));margin:0 auto}
.cn-pic img{width:100%;height:100%;object-fit:cover}
.cn-hero-in{position:relative;width:100%;padding-bottom:40px}
.cn-sign{margin-left:40px;max-width:760px;padding:40px 44px 38px}
.cn-sign .h1-page{margin-top:16px;font-size:clamp(56px,6vw,92px)}
.cn-phone{display:inline-flex;align-items:center;gap:6px;margin-top:24px;padding:12px 14px;border-radius:14px;background:#081629;text-decoration:none;color:var(--sky)}
.cn-phone:hover{box-shadow:0 0 0 3px var(--yel)}
.cn-phone .flap{gap:4px}
.cn-phone .tile{width:36px;height:50px;font-size:26px}
.cn-ph-p{font:800 26px var(--mono);color:var(--sky)}
.rq{display:grid;grid-template-columns:.85fr 1.3fr;gap:64px;align-items:start;padding-top:130px}
.rq-side{position:sticky;top:120px}
.rq-side .h2{margin-top:16px}
.rq-side .body:first-of-type{margin-top:20px}
.rq-links{display:flex;flex-wrap:wrap;gap:6px 24px;margin-top:20px}
.rform{display:grid;grid-template-columns:1fr 1fr;gap:20px 18px;background:var(--white);border-radius:24px;padding:36px;box-shadow:0 0 0 1px rgba(15,39,71,.05)}
.rform .full{grid-column:1 / -1}
.rform-demo{grid-column:1 / -1;font-size:12px;font-weight:700;letter-spacing:.04em;background:var(--tint);border-radius:10px;padding:12px 14px}
.fld{margin:0;padding:0;border:0;min-width:0}
.fld label,.fld legend{display:block;padding:0;font:700 12px var(--mono);letter-spacing:.1em;text-transform:uppercase;margin-bottom:8px}
.fld .opt{text-transform:none;letter-spacing:0;color:var(--gray);font-weight:600}
.hint{font-size:14px;color:var(--gray);margin:-2px 0 8px;line-height:1.4}
.rform input[type=text],.rform input[type=tel],.rform input[type=email],.rform select,.rform textarea{width:100%;min-height:54px;border:0;border-radius:10px;background:var(--stucco);color:var(--navy);font:600 17px var(--sans);padding:12px 16px;box-shadow:inset 0 0 0 1.5px var(--line);transition:box-shadow .2s}
.rform textarea{resize:vertical;min-height:110px;line-height:1.5}
.rform input:hover,.rform select:hover,.rform textarea:hover{box-shadow:inset 0 0 0 1.5px var(--navy)}
.rform input:focus,.rform select:focus,.rform textarea:focus{outline:3px solid var(--blue-d);outline-offset:2px}
.rform .sel::after{border-color:var(--navy)}
.rads{display:flex;flex-wrap:wrap;gap:8px}
.rad{position:relative;display:inline-flex}
.rad input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}
.rad span{display:inline-flex;align-items:center;gap:10px;min-height:48px;padding:0 18px;border-radius:10px;background:var(--stucco);box-shadow:inset 0 0 0 1.5px var(--line);font-weight:700;transition:background-color .2s,box-shadow .2s}
.rad span::before{content:"";width:16px;height:16px;border-radius:50%;box-shadow:inset 0 0 0 2px var(--navy);background:var(--white);transition:box-shadow .2s}
.rad input:checked + span{background:var(--tint);box-shadow:inset 0 0 0 2px var(--navy)}
.rad input:checked + span::before{box-shadow:inset 0 0 0 5px var(--navy)}
.rad input:focus-visible + span{outline:3px solid var(--blue-d);outline-offset:2px}
.err{display:none;margin-top:8px;font-size:14px;font-weight:700;color:#B3261E}
.err::before{content:"! ";font-family:var(--mono)}
.fld.bad .err{display:block}
.fld.bad input,.fld.bad select,.fld.bad textarea,.fld.bad .rad span{box-shadow:inset 0 0 0 2px #B3261E}
.form-sum{grid-column:1 / -1;border-radius:12px;padding:16px 18px;background:#FBE9E7;box-shadow:inset 4px 0 0 #B3261E;font-weight:700}
.form-sum ul{margin:8px 0 0;padding-left:18px;font-weight:600}
.form-sum a{color:#8C1D18}
.req-ctx{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px 18px;border-radius:12px;padding:14px 16px;background:var(--navy);color:var(--white)}
.req-ctx[hidden]{display:none}
.req-ctx .mono{font-size:11px;font-weight:700;letter-spacing:.12em;color:var(--yel)}
.req-ctx .tlink{color:var(--yel);font-size:14px}
.rform-send{display:flex;flex-wrap:wrap;align-items:center;gap:16px 22px;padding-top:6px}
.rform-sub{flex:1 1 260px;font-size:14px;color:var(--gray);line-height:1.5}
.rform-sub a{color:var(--blue-d);font-weight:700}
.rform .form-note{color:var(--navy);font-size:14px}
.rform .form-after[hidden]{display:none}
.cn-next{padding-top:130px}
.cn-next-head .h2{margin-top:16px}
.trip{position:relative;margin-top:48px}
.trip-road{position:relative;height:22px;border-radius:11px;background:var(--navy)}
.trip-road > i{position:absolute;left:12px;right:12px;top:9px;height:4px;background:repeating-linear-gradient(90deg,var(--yel) 0 22px,transparent 22px 40px)}
.trip-truck{position:absolute;top:-9px;left:0;width:40px;height:40px;border-radius:50%;box-shadow:0 0 0 4px var(--yel);transform:translateX(calc(var(--p,0) * (min(100vw,1320px) - 2 * var(--pad) - 40px)));transition:transform .2s linear}
.trip-truck img{width:40px;height:40px;border-radius:50%}
.trip-stops{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:30px}
.trip-stops li{font-size:20px;font-weight:700;line-height:1.4;padding-right:20px}
.trip-stops .mono{display:block;font-size:13px;color:var(--blue-d);margin-bottom:8px}
.cn-next-links{display:flex;flex-wrap:wrap;gap:6px 24px;margin-top:30px}

/* ---------- thanks ---------- */
.ty{display:grid;grid-template-columns:1.1fr 1fr;gap:72px;align-items:center;padding-top:72px}
.ty .body{margin-top:16px;max-width:520px}
.ty .btns{margin-top:30px}
.ty-card{background:var(--sky);border-radius:28px;padding:60px 48px}
.ty-ticket{position:relative}
.box-e{width:24px;height:24px;flex:none;border-radius:6px;box-shadow:inset 0 0 0 2px var(--navy)}
.ty-stamp{position:absolute;right:20px;top:86px;padding:8px 12px;border:3px solid #B3261E;border-radius:8px;color:#B3261E;font-size:13px;font-weight:800;letter-spacing:.12em;transform:rotate(8deg);background:rgba(255,255,255,.85)}
.ty-call{margin-top:120px;background:var(--navy);color:var(--white);padding:90px 0}
.ty-call-in{display:grid;grid-template-columns:1fr 1.2fr auto;gap:40px;align-items:center}

/* ---------- legal ---------- */
.lg-hero{display:grid;grid-template-columns:1.4fr 1fr;gap:56px;align-items:end;padding-top:40px}
.lg-plate{padding:28px 30px 26px;line-height:1.55;color:var(--on-blue)}
.lg-plate p + p{margin-top:8px}
.lg{display:grid;grid-template-columns:240px 1fr;gap:72px;padding-top:90px;align-items:start}
.lg-toc{position:sticky;top:120px}
.lg-toc > .mono{font-size:12px;font-weight:700;letter-spacing:.12em;color:var(--gray);margin-bottom:12px}
.lg-toc ol{margin:0;padding:0;list-style:none;border-left:4px solid var(--track)}
.lg-toc a{display:flex;gap:12px;padding:9px 0 9px 16px;margin-left:-4px;border-left:4px solid transparent;font-weight:700;text-decoration:none;color:var(--gray);line-height:1.3;transition:color .2s,border-color .2s}
.lg-toc a:hover{color:var(--navy);border-left-color:var(--yel)}
.lg-toc a .mono{font-size:12px;color:var(--blue-d);padding-top:2px}
.lg-body{max-width:760px}
.lg-s{position:relative;padding:0 0 64px}
.lg-mm{display:inline-block;font-size:12px;font-weight:800;background:var(--navy);color:var(--yel);padding:5px 9px;border-radius:6px}
.lg-h{margin:14px 0 18px;font-size:38px;font-weight:900;letter-spacing:-.025em;line-height:1.05}
.lg-s p{font-size:18px;line-height:1.7;color:var(--gray)}
.lg-s p + p{margin-top:14px}
.lanes2{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:18px}
.lanes2 > div{border-radius:16px;padding:22px}
.lanes2 > div:first-child{background:var(--tint)}
.lanes2 > div:last-child{background:var(--white)}
.lanes2 .mono{font-size:11.5px;font-weight:800;letter-spacing:.12em;color:var(--navy) !important;margin-bottom:8px}
.lanes2 p{font-size:16px !important;line-height:1.55 !important;color:var(--navy) !important}
.nolist{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:0 0 20px;padding:0;list-style:none}
.nolist li{border-radius:14px;padding:18px;background:var(--white);font-weight:800;font-size:17px;line-height:1.3;box-shadow:inset 0 0 0 2px var(--navy)}
.nolist .mono{display:inline-block;margin-bottom:8px;background:var(--navy);color:var(--yel);padding:3px 8px;border-radius:5px;font-size:12px}
.lg-fig{margin:0 0 20px}
.lg-fig img{width:100%;height:280px;object-fit:cover;border-radius:16px}
.lg-fig figcaption{margin-top:10px;font-size:11.5px;font-weight:700;letter-spacing:.08em;color:var(--gray)}

/* ---------- 404 ---------- */
.lost{position:relative;margin-top:24px;min-height:720px;display:flex;align-items:flex-end}
.lost-pic{position:absolute;inset:0 var(--pad);border-radius:28px;overflow:hidden;max-width:calc(1320px - 2 * var(--pad));margin:0 auto}
.lost-pic img{width:100%;height:100%;object-fit:cover}
.lost-in{position:relative;width:100%;display:flex;justify-content:space-between;align-items:flex-end;gap:24px;padding-bottom:40px}
.lost-sign{margin-left:40px;max-width:680px;padding:40px 44px 38px}
.lost-sign .h1-page{margin-top:16px;font-size:clamp(56px,6vw,92px)}
.exits4{margin:0 40px 0 0;padding:0;list-style:none;display:grid;gap:8px;width:280px}
.exit{position:relative;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:26px 20px 16px;border-radius:12px;background:var(--blue);color:var(--white);text-decoration:none;box-shadow:inset 0 0 0 4px var(--blue),inset 0 0 0 6px var(--white);transition:transform .4s var(--ease),background-color .25s}
.exit:hover{transform:translateX(-6px);background:var(--blue-d)}
.exit-tab{position:absolute;left:16px;top:-9px;background:var(--yel);color:var(--navy);font-size:11px;font-weight:800;padding:3px 8px;border-radius:5px}
.exit-n{font-size:22px;font-weight:900;letter-spacing:-.01em}

/* ---------- tablet ---------- */
@media (max-width:1180px){
  .wk-scope{grid-template-columns:1fr 1fr}
  .wk-gate{display:none}
  .xrow{grid-template-columns:56px 1fr 1fr 48px}
  .xp,.xi{display:none}
  .ct-local{grid-template-columns:1fr 1fr}
  .lc-photo{display:none}
  .regs{grid-template-columns:repeat(3,1fr)}
  .rp-price-grid{grid-template-columns:1fr 1fr}
  .ty-call-in{grid-template-columns:1fr}
  .drow{grid-template-columns:auto 1.4fr .9fr}
  .sd-board .board-head{grid-template-columns:150px 1.4fr .9fr}
  .drow .win,.sd-board .board-head span:nth-child(3){display:none}
}

/* ---------- mobile ---------- */
@media (max-width:900px){
  .h1-page{font-size:clamp(44px,13vw,60px)}
  .lead-d{font-size:18px;margin-top:20px}
  .crumbs{padding-top:18px}
  .crumbs li + li::before{width:16px;margin:0 7px}
  .nextb{padding-top:96px}
  .nextb-in{grid-template-columns:1fr;gap:36px;padding:30px 20px 20px;border-radius:24px}
  .nextb-pic{height:260px}
  .nextb-line{display:none}
  .nextb-act .btn{width:100%;justify-content:center}

  .sh-hero,.hw-hero,.rv-hero,.ab-hero-grid{grid-template-columns:1fr;gap:36px;padding-top:24px}
  .sh-hero-txt,.hw-hero-txt,.rv-hero-txt,.ab-hero-txt{padding-top:0}
  .sh-hero-pic,.hw-hero-pic{height:340px;border-radius:20px}
  .hw-hero-cap{left:12px;right:12px;bottom:12px;max-width:none}
  .sh-plate{left:14px;bottom:14px;width:auto;padding:18px 20px}
  .sh-plate-n{font-size:56px}
  .sh-hero-line{display:none}
  .btns .btn{flex:1 1 auto;justify-content:center}
  .sh-weekly{margin-top:96px;padding:72px 0}
  .sh-weekly-grid{grid-template-columns:1fr;gap:36px}
  .sh-weekly-pic{height:260px}
  .ribbon{grid-template-columns:repeat(3,1fr);row-gap:20px}
  .ribbon::before{display:none}
  .price-l{font-size:40px}
  .sh-weekly-foot .btn{width:100%;justify-content:center}
  .sh-list,.sh-price{padding-top:96px}
  .sh-list-head{grid-template-columns:1fr;gap:20px;margin-bottom:28px}
  .xrow{grid-template-columns:40px 1fr 44px;gap:12px 14px;padding:22px 0}
  .xrow::before{left:-10px;right:-10px}
  .xn{grid-row:1 / 3;align-self:start;padding-top:6px}
  .xt{font-size:26px}
  .xd{grid-column:2;grid-row:2;font-size:15px}
  .xa{grid-column:3;grid-row:1 / 3;width:42px;height:42px}
  .sh-price{grid-template-columns:1fr;gap:40px}
  .factors{grid-template-columns:1fr 1fr}
  .factors li{padding:14px 14px 16px;font-size:14px}
  .mile{padding-bottom:70px}
  .mile-in{padding:26px 20px 22px}
  .mile dl div{flex-wrap:wrap;gap:0 10px;padding:10px 0}
  .mile dt,.mile dd{font-size:17px;white-space:normal}
  .mile dl div::after{min-width:20px}
  .mile-post{height:90px}

  .sv-hero{grid-template-columns:1fr;gap:12px;padding-top:24px}
  .sv-plate{min-height:0;padding:44px 22px 26px}
  .sv-tab{left:20px}
  .sv-h1{font-size:clamp(40px,11.6vw,54px)}
  .sv-media{min-height:400px}
  .sig{left:12px;right:12px;bottom:12px;padding:16px 16px}
  .sig-diamond{left:auto;right:16px;top:16px;bottom:auto}
  .dia{width:140px;height:140px}
  .dia-t{font-size:18px}
  .wk-scope,.ch-lanes,.fl-scope,.sl-flow,.rp-scope,.gr-scope,.wk-price,.ch-price,.fl-price,.rp-price,.gr-price,.st-price,.wk-note{padding-top:96px}
  .wk-scope,.wk-price,.wk-note,.ch-price,.fl-price,.gr-price,.st-price,.fl-scope,.gr-scope{grid-template-columns:1fr;gap:36px}
  .clipb{padding:40px 18px 22px}
  .clipb-list li{font-size:16px}
  .wk-price .stmt{order:2}
  .stmt{padding:30px 18px 24px}
  .stmt-r{flex-wrap:wrap;gap:4px 12px;font-size:15px}
  .stmt-tot span:last-child{font-size:34px}
  .ch-lanes-head,.rp-scope-head{grid-template-columns:1fr;gap:16px;margin-bottom:32px}
  .lanes{grid-template-columns:1fr;padding:28px 18px;gap:0}
  .lane-mid{height:44px}
  .lane-mid span{width:100%;height:6px;background:repeating-linear-gradient(90deg,var(--yel) 0 34px,transparent 34px 58px);animation:none;align-self:center}
  .lane li{font-size:18px;padding:13px 14px}
  .bars{padding:24px 18px}
  .bar p:first-child{flex-direction:column;gap:2px;font-size:18px}
  .fl-pic{grid-row:auto;min-height:260px;height:260px}
  .conveyor li{grid-template-columns:52px 1fr;font-size:17px}
  .ftabs-h{font-size:28px}
  .flow-main{grid-template-columns:1fr}
  .flow-main li:not(:last-child)::after{right:auto;left:30px;top:auto;bottom:-12px;width:4px;height:12px}
  .flow-fork{width:80%;height:80px}
  .flow-ends{gap:10px}
  .flow-end{padding:20px 16px;font-size:16px}
  .sl-price{margin-top:96px;padding-top:72px}
  .sl-price-grid{grid-template-columns:1fr;gap:12px;padding-bottom:48px}
  .sl-price-pic{height:220px}
  .rp-steps{grid-template-columns:1fr;border-top:0;border-left:8px solid var(--navy);padding-left:28px;gap:30px}
  .rp-steps li{padding:0}
  .rp-steps li::before{left:-46px;top:0}
  .rp-price-grid{grid-template-columns:1fr;gap:16px;margin-top:28px}
  .gr-sticky{position:static}
  .vroute b{font-size:30px}
  .vroute li{padding-bottom:40px;font-size:17px}
  .order{grid-template-columns:1fr;gap:0}
  .order-arr{height:48px;transform:rotate(90deg)}
  .st-scope{margin-top:96px;padding:72px 0}
  .st-scope-grid{grid-template-columns:1fr;gap:32px}
  .tiles4{grid-template-columns:1fr}
  .barr-in li{font-size:19px}
  .sv-q{grid-template-columns:1fr;gap:28px;padding-top:96px}

  .sd-hero,.ct-hero,.cn-hero,.lost{min-height:0;display:block;margin-top:16px}
  .sd-pic,.ct-pic,.cn-pic,.lost-pic{position:relative;inset:auto;height:300px;margin:0 var(--pad);border-radius:20px}
  .sd-hero-in,.lost-in{display:block;padding-bottom:0}
  .ct-hero-in,.cn-hero-in{padding-bottom:0}
  .sd-hero-txt,.guide,.cn-sign,.lost-sign{margin:-70px 4px 0;padding:28px 22px 26px}
  .sd-hero-txt .h1-page,.cn-sign .h1-page,.lost-sign .h1-page{font-size:clamp(42px,12.4vw,56px)}
  .sd-days{display:none}
  .sd-board{margin-top:48px}
  .sd-board-grid{grid-template-columns:1fr;grid-template-areas:"intro" "board" "pick"}
  .drow,.sd-board .board-head{grid-template-columns:auto 1fr}
  .drow .area{font-size:24px}
  .drow .tile{width:30px}
  .sd-gantry,.sd-sched{padding-top:96px}
  .gantry-beam{display:none}
  .gantry-signs{grid-template-columns:1fr;gap:22px;padding-top:12px}
  .gsign{min-height:0;padding:34px 20px 18px}
  .gsign::before,.gsign::after{display:none}
  .gsign-n{font-size:28px}
  .gsign-d{font-size:14px}
  .sd-sched{grid-template-columns:1fr;gap:36px}
  .swk{padding:22px 14px}
  .sw-d{height:96px;font-size:12px}
  .guide-day .tile{width:34px;height:46px;font-size:24px}
  .ct-k{font-size:19px}
  .ct-name{font-size:clamp(46px,14vw,64px)}
  .ct-name-long{font-size:clamp(36px,10.6vw,52px)}
  .ct-local .h2,.sd-gantry .h2{font-size:clamp(34px,10.2vw,52px)}
  .ct-local,.lc-valrico,.lc-bloomingdale,.lc-seffner{grid-template-columns:1fr;gap:32px;padding-top:96px}
  .labels{grid-template-columns:1fr;gap:10px}
  .labels-arr{width:60px;height:40px;justify-self:center;transform:rotate(90deg)}
  .labels-pic{margin-top:6px;height:220px}
  .hots-pic{height:300px}
  .hots-key{position:static;margin-top:10px}
  .hot{width:34px;height:34px}
  .dist-pic{height:260px}
  .dist-strip li{font-size:14px}
  .ct-care,.bigq{padding-top:96px}
  .ct-care-head{grid-template-columns:1fr;gap:14px}
  .ct-care-head .body,.ct-care-links{grid-column:1;grid-row:auto}
  .road6{grid-template-columns:1fr;background:none;padding:0 0 0 54px;margin-top:36px;gap:22px}
  .road6::before{left:14px;right:auto;top:0;bottom:0;width:8px;height:auto;background:var(--navy);border-radius:4px}
  .road6 li{padding-right:0}
  .r6-pin{left:-54px;top:-2px}
  .bigq{grid-template-columns:1fr;gap:20px}
  .bigq-sign{width:110px;height:110px}
  .bigq-sign span{font-size:64px}
  .bigq-act .btn{width:100%;justify-content:center}

  .ramp-sec,.ss,.acc{padding-top:96px}
  .ramp{min-height:0}
  .ramp-road{display:none}
  .ramp-steps{grid-template-columns:1fr;gap:12px;border-left:8px solid var(--navy);padding-left:16px}
  .ramp-steps li{margin-top:0 !important}
  .ramp-steps li::before,.ramp-steps li::after{display:none}
  .ss-grid{grid-template-columns:1fr;margin-top:28px}
  .ss-frame{display:none}
  .ss-step{min-height:0;padding:24px 0}
  .ss-step h3{color:var(--navy)}
  .ss-step::before{display:none}
  .ss-step h3{font-size:42px}
  .ss-inl{display:block;margin-top:16px;height:200px;border-radius:16px;overflow:hidden}
  .ss-inl img{width:100%;height:100%;object-fit:cover}
  .anat{margin-top:96px;padding:72px 0}
  .anat-grid{grid-template-columns:1fr;gap:40px}
  .anat-ticket{padding:10px 40px 10px 0}
  .anno{right:-52px}
  .anno::before{width:20px}
  .acc{grid-template-columns:1fr;gap:56px}
  .acc-media{padding-right:0}
  .acc-pic{height:360px}
  .hanger{position:relative;right:auto;bottom:auto;width:auto;margin:-60px 20px 0 40px}

  .ab-hero-pic{height:380px;border-radius:20px}
  .nameplate{left:12px;bottom:12px;padding:16px 20px}
  .nameplate-n{font-size:28px}
  .ab-routine,.ab-fit{grid-template-columns:1fr;gap:36px;padding-top:96px}
  .rec-pic{width:100%;height:280px}
  .rec{position:relative;width:auto;min-width:0;margin:-50px 10px 0}
  .rec-stack{padding-bottom:0}
  .ab-cred{margin-top:96px;padding:72px 0}
  .blanks{grid-template-columns:1fr;margin-top:32px}
  .blanks li{min-height:0}
  .blank-v{margin-top:18px}
  .fitsigns{grid-template-columns:1fr}

  .rv-board{grid-template-columns:1fr;padding:30px 20px 0;justify-items:center}
  .rv-slots{width:100%;order:-1;margin:0}
  .rv-post .pole{height:80px}
  .rv-rules{padding-top:96px}
  .rv-rules-head{grid-template-columns:1fr;gap:16px;margin-bottom:28px}
  .regs{grid-template-columns:1fr 1fr}
  .regs li:last-child{grid-column:1 / -1}

  .fq{grid-template-columns:1fr;gap:36px;padding-top:48px}
  .fq-idx{position:static}
  .fq-idx-line{display:none}
  .fq-idx ol{grid-template-columns:1fr}
  .fq-hero-row .btn{width:100%;justify-content:center}
  .fq-g-head{flex-direction:column;gap:10px}
  .fq-g{padding-bottom:48px}

  .cn-phone .tile{width:20px;height:32px;font-size:16px;border-radius:4px}
  .cn-phone .flap{gap:2px}
  .cn-phone{gap:3px;padding:10px;max-width:100%}
  .cn-ph-p{font-size:16px}
  .rq{grid-template-columns:1fr;gap:32px;padding-top:96px}
  .rq-side{position:static}
  .rform{grid-template-columns:1fr;padding:22px 16px}
  .req-ctx{grid-template-columns:1fr}
  .rform-send .btn{width:100%;justify-content:center}
  .cn-next{padding-top:96px}
  .trip-road{display:none}
  .trip-stops{grid-template-columns:1fr;gap:20px;margin-top:0;border-left:8px solid var(--navy);padding-left:20px}

  .ty{grid-template-columns:1fr;gap:40px;padding-top:40px}
  .ty-card{padding:36px 14px}
  .ty-call{margin-top:96px;padding:64px 0}

  .lg-hero{grid-template-columns:1fr;gap:28px;padding-top:24px}
  .lg{grid-template-columns:1fr;gap:28px;padding-top:48px}
  .lg-toc{position:static}
  .lg-h{font-size:30px}
  .lg-s p{font-size:17px}
  .lanes2,.nolist{grid-template-columns:1fr}

  .exits4{width:auto;margin:28px 0 0;grid-template-columns:1fr 1fr}
  .exit{padding:22px 14px 12px}
  .exit-n{font-size:18px}
}

/* ---------- fixes: three-child section heads, road sign on the reviews page ---------- */
.ch-lanes-head > .k,.rp-scope-head > .k,.rv-rules-head > .k{grid-column:1 / -1;margin-bottom:-40px}
.ch-lanes-head .h2,.rp-scope-head .h2,.rv-rules-head .h2{margin-top:0}
.rv-board .diamond{transform:rotate(45deg);background:var(--yel);border-radius:20px;display:grid;place-items:center;box-shadow:inset 0 0 0 8px var(--yel),inset 0 0 0 12px var(--navy),0 30px 40px -30px rgba(15,39,71,.6)}
.rv-board .diamond-txt{transform:rotate(-45deg);text-align:center;font-weight:900;line-height:1;letter-spacing:-.01em}
.rv-board .diamond-txt .mono{display:block;margin-top:8px;font-weight:700;letter-spacing:.06em;line-height:1.3}
.rv-board .pole{width:12px;margin-top:-34px;background:linear-gradient(90deg,#8E979F,#C5CACF 45%,#7A838B);border-radius:2px;position:relative;z-index:-1}
@keyframes sway{0%,100%{transform:rotate(-1.6deg)}50%{transform:rotate(1.6deg)}}
@media (max-width:900px){
  .ch-lanes-head > .k,.rp-scope-head > .k,.rv-rules-head > .k{margin-bottom:0}
}

/* conditional required fields (phone/email follow the chosen reply method) */
.req-l{display:none;text-transform:none;letter-spacing:0;color:var(--blue-d);font-weight:700}
.fld.is-req .opt{display:none}
.fld.is-req .req-l{display:inline}
/* a body paragraph right after a heading always gets its breathing room */
main .h2 + .body,main .bigq-h + .body{margin-top:20px}
