:root{
  --vb-bg:#fff6e3; --vb-surface:#fffdf7; --vb-ink:#1b1410; --vb-muted:#6b5a4b; --vb-line:#e9dcc2;
  --vb-accent:#ff5a3c; --vb-accent-ink:#fff; --vb-dark:#1b1410; --vb-radius:20px;
  --vb-border:3px solid #1b1410; --vb-head:"Luckiest Guy",Impact,sans-serif; --vb-body:Nunito,system-ui,sans-serif;
  --coral:#ff5a3c; --sun:#ffcf3f; --sea:#00a6b8; --sea-d:#00707c;
  --ink:#1b1410; --cream:#fff6e3; --sand:#ffe3a3; --paper:#fffdf7;
  --sky:#7fd3ff; --muted:#6b5a4b;
  --line:3px solid var(--ink);
  --pop:5px 5px 0 var(--ink);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Nunito,system-ui,sans-serif;font-weight:700;color:var(--ink);background:var(--cream);line-height:1.5}
h1,h2,h3,.display{font-family:"Luckiest Guy",Impact,sans-serif;font-weight:400;letter-spacing:.02em;line-height:1.02;margin:0 0 .4em}
a{color:inherit}
.wrap{max-width:1160px;margin:0 auto;padding:0 18px}
.waves{height:18px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='48' height='18'%3E%3Cpath d='M0 10 Q12 0 24 10 T48 10 V18 H0Z' fill='%2300a6b8'/%3E%3Cpath d='M0 14 Q12 6 24 14 T48 14 V18 H0Z' fill='%23ffcf3f'/%3E%3C/svg%3E") repeat-x,var(--ink)}
.btn{display:inline-flex;align-items:center;gap:8px;font:400 20px "Luckiest Guy",sans-serif;letter-spacing:.04em;padding:12px 22px 9px;border:var(--line);border-radius:16px;box-shadow:var(--pop);cursor:pointer;text-decoration:none;transition:transform .1s,box-shadow .1s;background:var(--sun);color:var(--ink)}
.btn:hover{transform:translate(-2px,-2px);box-shadow:7px 7px 0 var(--ink)}
.btn:active{transform:translate(3px,3px);box-shadow:2px 2px 0 var(--ink)}
.btn.red{background:var(--coral);color:#fff}
.btn.green{background:var(--sea);color:#fff}
.btn.white{background:#fff}
.btn.sm{font-size:16px;padding:8px 14px 6px;border-radius:12px;box-shadow:3px 3px 0 var(--ink)}

/* Header */
header{background:var(--ink);color:var(--cream);position:sticky;top:0;z-index:30}
/* Placeholder until site.js draws the header: the same 88px (70 header + 18 waves) so the page doesn't jump down */
#site-header{display:block;height:88px;background:linear-gradient(var(--ink) 70px,transparent 70px)}
header .wrap{display:flex;align-items:center;gap:20px;height:70px}
.logo{display:flex;align-items:center;gap:10px;text-decoration:none}
.logo .badge{width:46px;height:46px;border-radius:50%;background:linear-gradient(var(--sun) 0 50%,var(--coral) 50% 62%,var(--sea) 62%);border:3px solid var(--cream);display:grid;place-items:center;font-size:22px}
.logo .name{font:400 26px Pacifico,cursive;color:var(--sun)}
.logo .name span{color:var(--cream)}
header nav{display:flex;gap:16px;margin-left:auto;font-weight:800;font-size:15px}
header nav a{text-decoration:none;color:var(--cream)}
header nav a:hover{color:var(--sun)}
.basket{background:var(--sun);color:var(--ink);border:3px solid var(--cream);border-radius:12px;padding:6px 12px;font:400 18px "Luckiest Guy";cursor:pointer}

header .vb-burger{background:var(--sun);color:var(--ink);border:3px solid var(--cream)}
.vb-inner .vb-page h1{font-weight:400;letter-spacing:.02em}
.vb-inner .vb-step,.vb-inner .vb-sheet-body h4{font-weight:400;letter-spacing:.03em}
.vb-btn{font-weight:800}
.vb-sheet-head b,.vb-drawer-head b{font-weight:400;letter-spacing:.03em}
.ticker{background:var(--sun);border-bottom:var(--line);overflow:hidden;white-space:nowrap;font:400 18px "Luckiest Guy";letter-spacing:.04em;padding:8px 0 5px}
.ticker div{display:inline-block;animation:tick 28s linear infinite}
.ticker span{margin:0 26px}
.ticker .uk-flag{display:inline-block;width:1.5em;height:auto;vertical-align:-2px;border:2px solid var(--ink);border-radius:3px;margin-right:4px}
@keyframes tick{to{transform:translateX(-50%)}}

/* Hero */
.hero{background:
  radial-gradient(circle at 85% 20%,#fff3a8 0 58px,#ffcf3f 59px 66px,transparent 67px),
  linear-gradient(#ff9e6b 0%,#ffc58a 22%,#9fe3f0 48%,#c9f3f8 64%,#14b3c6 64.2%,#0a95a8 74%,#ffe3a3 74.2%);
  border-bottom:var(--line);position:relative;overflow:hidden;padding:46px 0 0}
.hero-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:end}
.hero h1{font-size:clamp(46px,7vw,92px);color:#fff;-webkit-text-stroke:3px var(--ink);text-shadow:6px 6px 0 var(--ink);margin-bottom:10px}
.hero h1 .r{color:var(--coral)}.hero h1 .g{color:var(--sun)}.hero h1 .gr{color:var(--sea)}
.hero .sub{font-size:20px;font-weight:800;max-width:520px;background:#fff;border:var(--line);border-radius:18px;padding:14px 18px;box-shadow:var(--pop)}
.hero-left{padding-bottom:60px}
.hero-cta{display:flex;gap:14px;flex-wrap:wrap;margin-top:22px}
.hero-van{position:relative;display:flex;justify-content:center;padding-top:70px}
.hero-van svg{width:min(500px,100%);height:auto;display:block;margin-bottom:14px}
.bubble{position:absolute;top:4%;left:-4%;background:#fff;border:var(--line);border-radius:22px;padding:12px 16px;font-weight:900;font-size:17px;box-shadow:var(--pop);max-width:220px;transform:rotate(-4deg);animation:bob 3s ease-in-out infinite}
.bubble:after{content:"";position:absolute;right:30px;bottom:-16px;width:22px;height:22px;background:#fff;border-right:var(--line);border-bottom:var(--line);transform:rotate(45deg)}
@keyframes bob{50%{transform:rotate(-4deg) translateY(-6px)}}
/* The campervan (deploy/partials/van-hero.svg): it bobs, the wheels turn, and the window blinds roll down silver,
   go back up, then roll down Stealth black. Without these rules (share cards, reduced motion) it sits still. */
.vn-body{animation:vn-bounce .5s ease-in-out infinite alternate}
@keyframes vn-bounce{to{transform:translateY(3px)}}
.vn-hub{transform-box:fill-box;transform-origin:center;animation:vn-spin .9s linear infinite}
@keyframes vn-spin{to{transform:rotate(360deg)}}
.vn-speed path{animation:vn-speed .8s linear infinite}
.vn-speed path:nth-child(2){animation-delay:-.3s}.vn-speed path:nth-child(3){animation-delay:-.55s}
@keyframes vn-speed{from{transform:translateX(14px);opacity:1}to{transform:translateX(-16px);opacity:0}}
.vn-puff{transform-box:fill-box;transform-origin:center;animation:vn-puff 1.8s ease-out infinite}
.vn-puff.p2{animation-delay:.6s}.vn-puff.p3{animation-delay:1.2s}
@keyframes vn-puff{0%{transform:translate(0,0) scale(.4);opacity:.9}100%{transform:translate(-34px,-26px) scale(1.5);opacity:0}}
.vn-blind{animation:vn-silver 10s ease-in-out infinite}
.vn-stealth{animation:vn-stealth 10s ease-in-out infinite}
@keyframes vn-silver{0%,6%{transform:translateY(-66px)}16%,40%{transform:translateY(0)}48%,100%{transform:translateY(-66px)}}
@keyframes vn-stealth{0%,52%{transform:translateY(-66px)}62%,86%{transform:translateY(0)}94%,100%{transform:translateY(-66px)}}
.vn .d2{animation-delay:.2s}.vn .d3{animation-delay:.4s}.vn .d4{animation-delay:.6s}
@media (prefers-reduced-motion:reduce){.vn *,.bubble{animation:none!important}}
@media(max-width:860px){.hero-grid{grid-template-columns:1fr}.hero-left{padding-bottom:0}.bubble{left:0;max-width:280px;font-size:15px;padding:10px 14px}.hero-van{padding-top:92px}}

/* Chat finder */
.finder{padding:60px 0;background:var(--paper);border-bottom:var(--line)}
.finder h2{font-size:clamp(34px,5vw,56px);text-align:center}
.finder .lead{text-align:center;font-size:19px;color:var(--muted);margin:-6px 0 26px}
.chat{max-width:860px;margin:0 auto;background:#fff;border:var(--line);border-radius:26px;box-shadow:8px 8px 0 var(--ink);overflow:hidden}
.chat-top{background:var(--sea);color:#fff;display:flex;align-items:center;gap:12px;padding:12px 18px;border-bottom:var(--line)}
.chat-top .av{width:44px;height:44px;border-radius:50%;background:var(--sun);border:3px solid var(--ink);overflow:hidden}
.chat-top .av.logo,.vh-tip .av.logo{background:none;border:0;border-radius:0;overflow:visible}.av.logo img{width:100%;height:100%;display:block}
.chat-top b{font:400 22px "Luckiest Guy";letter-spacing:.03em;display:block}
.chat-top small{font-weight:800;opacity:.9}
.chat-top .ai{margin-left:auto;background:var(--ink);color:var(--sun);border-radius:999px;padding:4px 10px;font-size:12px;font-weight:900;letter-spacing:.08em}
.log{height:440px;overflow-y:auto;padding:20px;display:flex;flex-direction:column;gap:14px;background:
  radial-gradient(circle,#00000010 1.5px,transparent 1.6px) 0 0/22px 22px,#fffaf0}
.msg{max-width:84%;padding:12px 16px;border:var(--line);border-radius:20px;font-size:16px;animation:pop .25s ease both}
@keyframes pop{from{transform:scale(.9);opacity:0}}
.msg.us{background:var(--sand);border-bottom-left-radius:4px;align-self:flex-start}
.msg.you{background:var(--sun);border-bottom-right-radius:4px;align-self:flex-end}
.msg.wide{max-width:100%;width:100%;background:#fff}
.typing span{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--ink);margin:0 2px;animation:blink 1s infinite}
.typing span:nth-child(2){animation-delay:.15s}.typing span:nth-child(3){animation-delay:.3s}
@keyframes blink{50%{opacity:.2}}
.kits{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:10px}
.kit{border:var(--line);border-radius:16px;padding:12px;background:var(--cream);position:relative;display:flex;flex-direction:column;gap:4px}
.kit h4{font:400 19px "Luckiest Guy";letter-spacing:.03em;margin:0}
.kit p{font-size:13px;margin:0;color:var(--muted);flex:1}
.kit .pr{font:400 28px "Luckiest Guy";color:var(--coral)}
.kit .tag{position:absolute;top:-12px;right:10px;background:var(--coral);color:#fff;border:2px solid var(--ink);border-radius:8px;font-size:11px;font-weight:900;padding:2px 7px;transform:rotate(3deg)}
.kit .btn{justify-content:center}
@media(max-width:680px){.kits{grid-template-columns:1fr}}
.chips{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}
.chips button{border:2px solid var(--ink);background:#fff;border-radius:999px;padding:5px 12px;font:800 13px Nunito;cursor:pointer}
.chips button:hover{background:var(--sun)}
.chips .chip-a{border:2px solid var(--ink);background:#fff;border-radius:999px;padding:5px 12px;font:800 13px Nunito;color:var(--ink);text-decoration:none}
.chips .chip-a[href*="wa.me"]{background:#25D366;border-color:#128C7E;color:#fff}
.understood{font-size:12px;color:var(--muted);margin-top:6px}
.understood i{font-style:normal;background:#fff;border:2px solid var(--ink);border-radius:6px;padding:1px 6px;margin:0 2px;color:var(--ink)}
.composer{display:flex;gap:10px;padding:14px;border-top:var(--line);background:#fff}
.composer input{flex:1;border:var(--line);border-radius:14px;padding:12px 14px;font:800 16px Nunito;min-width:0;outline:none}
.composer input:focus{background:#fffbe8}
.platerow{display:flex;gap:10px;align-items:center;flex-wrap:wrap;padding:0 14px 12px;background:#fff;font-size:15px}
.plate{display:flex;align-items:stretch;background:#f7d117;border:3px solid var(--ink);border-radius:10px;overflow:hidden;cursor:text}
.plate .gb{background:#0b3d91;color:#fff;font:900 11px Nunito;display:flex;align-items:flex-end;padding:0 6px 5px}
.plate input{border:0;background:transparent;font:900 22px/1 "Arial Black",Nunito,sans-serif;letter-spacing:.08em;text-transform:uppercase;width:160px;padding:7px 10px;color:#111;outline:none}
.plate input::placeholder{color:rgba(0,0,0,.25)}
.minip{display:inline-block;background:#f7d117;border:2px solid var(--ink);border-radius:6px;padding:0 7px;font:900 14px "Arial Black",sans-serif;letter-spacing:.06em}
.picker{padding:0 14px 14px;background:#fff}
.picker .or{display:flex;align-items:center;gap:12px;margin:0 0 10px;font:800 12.5px Nunito;letter-spacing:.08em;text-transform:uppercase;color:#6b655c;white-space:nowrap}
.picker .or:before,.picker .or:after{content:"";flex:1;height:2px;background:#e9e3d6;border-radius:2px}
.picker-sel{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.picker select{width:100%;min-width:0;appearance:none;-webkit-appearance:none;border:var(--line);border-radius:14px;padding:12px 40px 12px 14px;font:800 16px Nunito;color:var(--ink);background:var(--cream) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M5 7l5 6 5-6' fill='none' stroke='%231b1410' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat right 14px center/14px;min-height:48px;cursor:pointer;text-overflow:ellipsis}
.picker select:disabled{opacity:.45;cursor:not-allowed}
.picker select:focus{outline:none;background-color:#fffbe8;box-shadow:0 0 0 3px #ffcf3f}
@media(max-width:480px){.picker-sel{grid-template-columns:1fr}}
.browse-all{margin:12px 0 0;text-align:center;font:800 15px Nunito}
.browse-all a,.hero-link a{color:var(--ink);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:2px}
.hero-link{margin:16px 0 0;font:800 16px Nunito}
/* 10 years of trading strip under the hero (time-limited: ANNIV_END in deploy/build-pages.py) */
.anniv{position:relative;overflow:hidden;background:var(--coral);border-top:var(--line);border-bottom:var(--line);padding:26px 0}
.anniv:before{content:"";position:absolute;inset:0;pointer-events:none;background:
  radial-gradient(9px 9px at 5% 24%,var(--sun) 50%,transparent 52%),radial-gradient(7px 7px at 13% 80%,#fff 50%,transparent 52%),
  radial-gradient(10px 10px at 29% 14%,var(--sea) 50%,transparent 52%),radial-gradient(7px 7px at 44% 86%,var(--sun) 50%,transparent 52%),
  radial-gradient(8px 8px at 58% 12%,#fff 50%,transparent 52%),radial-gradient(10px 10px at 71% 82%,var(--sea) 50%,transparent 52%),
  radial-gradient(7px 7px at 82% 16%,var(--sun) 50%,transparent 52%),radial-gradient(9px 9px at 92% 72%,#fff 50%,transparent 52%),
  radial-gradient(6px 6px at 37% 52%,#fff 50%,transparent 52%),radial-gradient(6px 6px at 66% 48%,var(--sun) 50%,transparent 52%)}
.anniv-in{position:relative;display:flex;align-items:center;gap:22px}
.anniv-badge{width:84px;height:84px;flex:none;display:block;border-radius:50%;box-shadow:var(--pop)}
.anniv-txt{flex:1;min-width:0}
.anniv-k{margin:0 0 4px;font:900 14px Nunito,sans-serif;letter-spacing:.08em;text-transform:uppercase;color:var(--ink)}
.anniv-k span{white-space:nowrap}
.anniv h2{font-size:clamp(30px,4.2vw,48px);color:#fff;-webkit-text-stroke:2px var(--ink);text-shadow:4px 4px 0 var(--ink);margin:0 0 6px}
.anniv h2 span{color:var(--sun);white-space:nowrap}
.anniv-p{margin:0;font-size:17px;font-weight:800;color:var(--ink)}
.anniv-btn{flex:none}
@media(max-width:700px){
  .anniv{padding:20px 0}
  .anniv-in{flex-wrap:wrap;gap:12px 14px}
  .anniv-badge{width:60px;height:60px;box-shadow:3px 3px 0 var(--ink)}
  .anniv-txt{flex:1 1 200px}
  .anniv h2{-webkit-text-stroke:1.5px var(--ink);text-shadow:3px 3px 0 var(--ink)}
  .anniv-p{font-size:16px}
  .anniv-btn{margin-left:74px}
  .anniv:before{background:radial-gradient(9px 9px at 6% 10%,var(--sun) 50%,transparent 52%),radial-gradient(7px 7px at 94% 8%,#fff 50%,transparent 52%),
    radial-gradient(10px 10px at 8% 88%,var(--sea) 50%,transparent 52%),radial-gradient(8px 8px at 90% 92%,var(--sun) 50%,transparent 52%),
    radial-gradient(7px 7px at 52% 95%,#fff 50%,transparent 52%)}
}
/* Not-found page (404.html, also shown for retired old addresses) */
.nf{padding:30px 0 56px}
.nf-search{max-width:620px;background:#fff;border:var(--line);border-radius:18px;padding:16px;box-shadow:var(--pop)}
.nf-search label{display:block;font:900 17px Nunito;margin:0 0 10px}
.nf-search div{display:flex;gap:10px}
.nf-search input{flex:1;min-width:0;border:var(--line);border-radius:14px;padding:12px 14px;font:800 16px Nunito;background:var(--cream);color:var(--ink);min-height:48px}
.nf-links{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px}
@media(max-width:480px){.nf-search div{flex-direction:column}.nf-search .btn{justify-content:center}.nf-links .btn{flex:1 1 100%;justify-content:center}}

/* Weather cards */
.weather{padding:70px 0;background:var(--coral);border-bottom:var(--line)}
.weather h2{color:#fff;-webkit-text-stroke:2px var(--ink);text-shadow:4px 4px 0 var(--ink);font-size:clamp(36px,5vw,60px);text-align:center}
.wgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:30px}
.wcard{background:#fff;border:var(--line);border-radius:24px;padding:24px;box-shadow:var(--pop)}
.wcard:nth-child(1){transform:rotate(-1.5deg)}.wcard:nth-child(3){transform:rotate(1.5deg)}
.wcard .ic{font-size:54px;line-height:1}
.wcard h3{font-size:30px;margin-top:10px}
.wcard p{margin:0;color:var(--muted)}
@media(max-width:860px){.wgrid{grid-template-columns:1fr}.wcard{transform:none!important}}

/* Fitting */
.fitting{padding:70px 0;background:var(--sun);border-bottom:var(--line)}
.fit-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center}
.fitting h2{font-size:clamp(36px,5vw,62px)}
.clock{background:#fff;border:var(--line);border-radius:50%;aspect-ratio:1;width:100%;max-width:340px;margin:0 auto;position:relative;box-shadow:8px 8px 0 var(--ink)}
.clock .hand{position:absolute;left:50%;top:50%;width:6px;height:38%;background:var(--ink);border-radius:6px;transform-origin:50% 0;transform:translateX(-50%) rotate(180deg);animation:sweep 6s linear infinite}
@keyframes sweep{to{transform:translateX(-50%) rotate(540deg)}}
.clock .zone{position:absolute;inset:14px;border-radius:50%;background:conic-gradient(var(--sea) 0 90deg,transparent 90deg)}
.clock .lbl{position:absolute;inset:0;display:grid;place-items:center;font:400 34px "Luckiest Guy";text-align:center;line-height:1}
.clock .lbl small{display:block;font:900 14px Nunito;margin-top:6px}
.clock .lbl{z-index:2}.clock .lbl>div{background:#fff;border:var(--line);border-radius:16px;padding:12px 16px 8px;box-shadow:4px 4px 0 var(--ink)}
.steps{list-style:none;padding:0;margin:20px 0;display:grid;gap:12px;counter-reset:s}
.steps li{background:#fff;border:var(--line);border-radius:16px;padding:12px 16px 12px 62px;position:relative;font-size:16px}
.steps li:before{counter-increment:s;content:counter(s);position:absolute;left:12px;top:50%;transform:translateY(-50%);width:38px;height:38px;border-radius:50%;background:var(--sea);color:#fff;border:3px solid var(--ink);display:grid;place-items:center;font:400 20px "Luckiest Guy"}
@media(max-width:860px){.fit-grid{grid-template-columns:1fr}}

/* Sleep in your ride */
.sleep{padding:70px 0;background:#2a1c3f;color:var(--cream);border-bottom:var(--line);position:relative;overflow:hidden}
.sleep:before{content:"";position:absolute;inset:0;background:radial-gradient(2px 2px at 10% 20%,#fff,transparent),radial-gradient(2px 2px at 30% 70%,#fff,transparent),radial-gradient(1.5px 1.5px at 60% 30%,#fff,transparent),radial-gradient(2px 2px at 80% 60%,#fff,transparent),radial-gradient(1.5px 1.5px at 90% 15%,#fff,transparent),radial-gradient(2px 2px at 45% 85%,#fff,transparent);opacity:.8}
.sleep .wrap{position:relative;display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:center}
.sleep h2{font-size:clamp(34px,4.6vw,56px);color:var(--sun)}
.sleep ul{padding:0;list-style:none;display:grid;gap:10px;font-size:17px}
.sleep li:before{content:"★ ";color:var(--sun)}
.sleep .card{background:#3b2a56;border:3px solid var(--cream);border-radius:22px;padding:22px;font-size:17px}
@media(max-width:860px){.sleep .wrap{grid-template-columns:1fr}}

/* Reviews */
.revs{padding:70px 0;background:var(--paper);border-bottom:var(--line)}
.revs h2{text-align:center;font-size:clamp(34px,5vw,56px)}
.rgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:26px}
.rev{background:#fff;border:var(--line);border-radius:20px;padding:20px;box-shadow:var(--pop)}
.rev .st{color:var(--sun);-webkit-text-stroke:1px var(--ink);font-size:24px;letter-spacing:2px}
.rev footer{color:var(--muted);font-size:14px;margin-top:8px}
@media(max-width:860px){.rgrid{grid-template-columns:1fr}}
.note{font-size:13px;color:var(--muted);text-align:center;margin-top:16px;font-style:italic}

/* FAQ */
.faq{padding:70px 0;background:var(--sea);border-bottom:var(--line)}
.faq h2{color:var(--sun);-webkit-text-stroke:2px var(--ink);text-shadow:4px 4px 0 var(--ink);font-size:clamp(34px,5vw,56px);text-align:center}
.faq-list{max-width:820px;margin:20px auto 0;display:grid;gap:12px}
details{background:#fff;border:var(--line);border-radius:18px;padding:14px 18px;box-shadow:4px 4px 0 var(--ink)}
summary{cursor:pointer;font:400 21px "Luckiest Guy";letter-spacing:.03em;list-style:none;display:flex;justify-content:space-between;gap:12px}
summary:after{content:"+";color:var(--coral)}
details[open] summary:after{content:"–"}
details p{margin:8px 0 0;color:var(--muted)}

/* Visit */
.visit{padding:70px 0;background:var(--sand);border-bottom:var(--line)}
.vgrid{display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:center}
.vcard{background:#fff;border:var(--line);border-radius:24px;padding:26px;box-shadow:var(--pop)}
.vcard h2{font-size:44px}
.vcard table{font-size:16px;margin:12px 0}
.vcard td{padding:2px 14px 2px 0}
@media(max-width:860px){.vgrid{grid-template-columns:1fr}}

footer.site{background:var(--ink);color:#d9c9b0;padding:40px 0 30px;font-size:14px}
.fgrid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:28px}
footer.site h4{font:400 20px "Luckiest Guy";color:var(--sun);margin:0 0 10px;letter-spacing:.03em}
footer.site ul{list-style:none;margin:0;padding:0;display:grid;gap:6px}
footer.site a{text-decoration:none}
footer.site a:hover{color:var(--sun)}
.seo{border-top:1px solid #3a2e24;margin-top:28px;padding-top:16px;font-size:12px;color:#8f7d66}
@media(max-width:860px){.fgrid{grid-template-columns:1fr 1fr}}
.toast{position:fixed;left:50%;bottom:22px;transform:translate(-50%,140px);background:var(--sun);border:var(--line);box-shadow:var(--pop);border-radius:16px;padding:12px 18px;font-weight:900;z-index:60;transition:transform .3s}
.toast.show{transform:translate(-50%,0)}
.mock-banner{position:fixed;right:12px;bottom:12px;background:#fff;border:2px solid var(--ink);border-radius:10px;padding:6px 10px;font-size:12px;z-index:50}
.mock-banner a{color:var(--coral)}
.logo .name{white-space:nowrap}
@media(max-width:600px){.logo .name{font-size:21px}.logo .badge{width:38px;height:38px;font-size:18px}header .wrap{gap:10px}.basket{padding:5px 9px;font-size:16px}}

/* v3: badge logo image + tighter nav for 8 links */
.logo .badge-img{width:46px;height:46px;flex:none;display:block}
header nav{gap:clamp(12px,1.25vw,24px);font-size:14.5px}
/* Ten menu links: the header gets more width than the page content (1160px) and each label stays on one line */
header .wrap{max-width:1400px}
header nav a{white-space:nowrap}
@media(max-width:1240px){header nav{display:none}.basket{margin-left:auto}}
@media(max-width:1240px){header .vb-burger{display:inline-flex}}
@media(max-width:600px){.logo .badge-img{width:38px;height:38px}}

/* ---- v3 pages ---- */
.phero{background:linear-gradient(#ff9e6b,#ffc58a 55%,#9fe3f0);border-bottom:var(--line);padding:46px 0 40px}
.phero h1{font-size:clamp(38px,6vw,68px);color:#fff;-webkit-text-stroke:2.5px var(--ink);text-shadow:5px 5px 0 var(--ink);margin:0 0 10px;overflow-wrap:break-word}
@media(max-width:360px){.phero h1{font-size:34px}}   /* "Pharmaceutical" fits a 320px phone */
.phero p{font-size:19px;max-width:720px;background:#fff;border:var(--line);border-radius:18px;padding:14px 18px;box-shadow:var(--pop);margin:0}
.phero.dark{background:radial-gradient(2px 2px at 12% 30%,#fff,transparent),radial-gradient(2px 2px at 70% 20%,#fff,transparent),radial-gradient(1.5px 1.5px at 40% 60%,#fff,transparent),#2a1c3f}
.phero.dark h1{color:var(--sun)}
.quickreg{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:18px 0 0;background:#fff;border:var(--line);border-radius:18px;padding:12px 14px;box-shadow:var(--pop);font-weight:900;max-width:560px}
.quickreg .plate input{width:150px}
.teasers{padding:60px 0;background:var(--paper);border-bottom:var(--line)}
.tgrid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:20px}
@media(max-width:860px){.tgrid{grid-template-columns:1fr}}
.tcard{display:flex;flex-direction:column;gap:6px;background:#fff;border:var(--line);border-radius:22px;padding:22px;box-shadow:var(--pop);text-decoration:none;color:var(--ink);position:relative;transition:transform .12s}
.tcard:hover{transform:translate(-2px,-2px)}
.tcard.big{background:var(--sun)}
.tcard h3{font-size:28px;margin:6px 0 0}
.tcard p{margin:0;color:var(--muted);flex:1}
.tcard b{color:var(--coral);font-size:17px}
.tbadge{align-self:flex-start;font:400 34px "Luckiest Guy";background:var(--coral);color:#fff;border:var(--line);border-radius:14px;padding:6px 12px 2px;transform:rotate(-4deg)}
.tico{font-size:40px;line-height:1}
.vids{padding:60px 0;background:var(--sea);border-bottom:var(--line)}
.vids h2{color:#fff;-webkit-text-stroke:2px var(--ink);text-shadow:4px 4px 0 var(--ink);font-size:clamp(34px,5vw,56px);text-align:center}
.vgrid2{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:22px}
@media(max-width:760px){.vgrid2{grid-template-columns:1fr}}
.vgrid2.one{grid-template-columns:minmax(0,820px);justify-content:center}
.vcardv:not(.empty){position:relative}.vcardv:not(.empty) b{position:absolute;left:12px;right:12px;bottom:12px;text-align:center;line-height:1.3}
@media(max-width:420px){.vcardv:not(.empty) b{font-size:13px;left:8px;right:8px;bottom:8px}.vcardv:not(.empty) span{width:46px;height:46px;font-size:19px;margin-top:-18px}}
.vcardv{aspect-ratio:16/9;border:var(--line);border-radius:20px;box-shadow:var(--pop);background:#1b1410 center/cover no-repeat;color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;cursor:pointer;font:800 16px Nunito;text-align:center;padding:16px;position:relative}
.vcardv span{width:64px;height:64px;border-radius:50%;background:var(--coral);border:var(--line);display:grid;place-items:center;font-size:26px}
.vcardv b{background:rgba(0,0,0,.55);padding:4px 10px;border-radius:8px}
.vcardv.empty{cursor:default;background:repeating-linear-gradient(45deg,#2a1c3f 0 18px,#33244b 18px 36px)}
.vcardv.empty small{opacity:.8}
.vframe{aspect-ratio:16/9;border:var(--line);border-radius:20px;overflow:hidden;box-shadow:var(--pop)}
.vframe iframe{width:100%;height:100%;border:0}
.bigbadge{width:min(300px,80%);aspect-ratio:1;margin:0 auto;border-radius:50%;background:var(--coral);border:var(--line);box-shadow:8px 8px 0 var(--ink);display:flex;flex-direction:column;align-items:center;justify-content:center;color:#fff;transform:rotate(-6deg)}
.bigbadge b{font:400 88px/1 "Luckiest Guy";-webkit-text-stroke:2px var(--ink)}
.bigbadge span{font:900 18px Nunito;text-align:center}
.formsec{padding:60px 0;background:var(--sand);border-bottom:var(--line)}
.formsec h2{font-size:clamp(32px,4.5vw,50px);text-align:center}
.enq{max-width:760px;margin:20px auto 0;border:var(--line)!important;box-shadow:var(--pop)}
.visit .enq{margin:0}
.finder-note{max-width:860px;margin:16px auto 0;text-align:center;font-size:15px;color:var(--muted)}
body.night{background:#2a1c3f}
.colours{padding:56px 0;background:var(--sand);border-bottom:var(--line)}
.colours h2{font-size:clamp(32px,4.5vw,50px);margin-bottom:6px}
.colours .lead{font-size:17px;max-width:720px;margin:0 0 18px;color:var(--muted)}
.col-grid{grid-template-columns:repeat(auto-fill,minmax(104px,1fr))!important;gap:10px}
.col-grid .vb-sw{background:#fff;border:3px solid var(--ink);box-shadow:3px 3px 0 var(--ink)}
.col-grid .vb-sw i{width:76px;height:76px;border-radius:12px}
.col-stealth-acts{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.col-stealth{display:flex;gap:16px;align-items:center;flex-wrap:wrap;margin-top:20px;border:3px solid var(--ink)!important;box-shadow:var(--pop)}
.col-stealth>div{flex:1;min-width:220px}

@media(max-width:600px){.log{height:62vh;min-height:380px}}

/* ---- Vehicle pages: /blinds/, /blinds/<make>/, /blinds/<make>/<vehicle>/ (built by deploy/build-vehicle-pages.py) ---- */
.more-veh{display:inline-block;margin-top:10px;font-weight:900;color:var(--sea-d)}
.crumbs{font-size:13.5px;font-weight:800;color:var(--muted);margin:0 0 14px}
.crumbs ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:4px 8px;align-items:center}
.crumbs li{display:flex;align-items:center;gap:8px;min-width:0}
.crumbs li+li:before{content:"›";color:var(--ink);font-size:16px;line-height:1}
.crumbs a{color:var(--sea-d);text-decoration:none;white-space:nowrap}
.crumbs a:hover{text-decoration:underline}
.crumbs [aria-current]{color:var(--ink);overflow-wrap:anywhere}
.phero .crumbs{margin-bottom:10px}
.phero .crumbs a{color:var(--ink)}
.phero .crumbs [aria-current]{color:#fff;text-shadow:1px 1px 0 var(--ink)}
.vh-hero{background:linear-gradient(#ff9e6b,#ffc58a 55%,#9fe3f0);border-bottom:var(--line);padding:16px 0 36px}
.vh-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:18px;align-items:start}
.vh-photo{margin:0;background:#fff;border:var(--line);border-radius:22px;box-shadow:var(--pop);overflow:hidden;aspect-ratio:4/3}
.vh-photo img{display:block;width:100%;height:100%;object-fit:contain}
.vh-head{min-width:0}
.vh-head h1{font-size:clamp(34px,8vw,62px);color:#fff;-webkit-text-stroke:2.5px var(--ink);text-shadow:5px 5px 0 var(--ink);margin:0 0 8px;overflow-wrap:anywhere}
.vh-head h1 span{display:block;font-size:.6em;color:var(--sun);margin-top:8px;-webkit-text-stroke:1.5px var(--ink);text-shadow:3px 3px 0 var(--ink)}
.vh-meta{font-size:16px;font-weight:800;margin:0 0 14px;display:flex;flex-wrap:wrap;gap:6px 10px;align-items:center}
.vh-meta b{background:#fff;border:2px solid var(--ink);border-radius:8px;padding:1px 8px;white-space:nowrap}
.vh-meta>*+*:before{content:"·";margin-right:10px;color:var(--muted)}
.vh-from{display:inline-flex;align-items:baseline;flex-wrap:wrap;gap:4px 8px;background:#fff;border:var(--line);border-radius:16px;padding:8px 14px 6px;box-shadow:var(--pop);margin:0 12px 12px 0;font-weight:800;vertical-align:middle}
.vh-from b{font:400 30px/1 "Luckiest Guy";color:var(--coral)}
.vh-from small{color:var(--muted);font-size:13px}
.vh-cta{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-top:4px}
.vh-tip{display:flex;gap:12px;align-items:flex-start;margin-top:20px}
.vh-tip .av{width:48px;height:48px;border-radius:50%;background:var(--sun);border:3px solid var(--ink);overflow:hidden;flex:none}
.vh-tip p{margin:0;background:var(--sand);border:var(--line);border-radius:18px;border-top-left-radius:4px;padding:12px 14px;font-size:15.5px;box-shadow:4px 4px 0 var(--ink);min-width:0}
@media(min-width:760px){.vh-hero{padding:22px 0 46px}.vh-grid{grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:32px;align-items:center}.vh-head h1{font-size:clamp(40px,5vw,62px)}}
.vh-sets{padding:40px 0 44px;background:var(--paper);border-bottom:var(--line)}
.vh-sets h2,.vh-more h2,.vh-make h2.big{font-size:clamp(28px,5vw,44px)}
.vh-sets .lead{margin:-4px 0 16px;color:var(--muted);font-size:16px}
.vh-setlist{display:grid;gap:12px;margin:0 0 8px}
.vh-set{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 14px;align-items:center;background:#fff;border:var(--line);border-radius:18px;padding:14px 16px;box-shadow:4px 4px 0 var(--ink)}
.vh-set h3{font:400 22px/1.1 "Luckiest Guy";letter-spacing:.03em;margin:0;overflow-wrap:anywhere}
.vh-set p{margin:3px 0 0;color:var(--muted);font-size:14px}
.vh-set .ref{display:block;font-size:11.5px;color:#9a8b78;margin-top:4px;font-weight:800}
.vh-set .pr{font:400 28px/1 "Luckiest Guy";color:var(--coral);text-align:right;white-space:nowrap}
.vh-set .pr small{display:block;font:800 11px Nunito;color:var(--muted);margin-top:3px}
.vh-set .btn{grid-column:1/-1;justify-content:center}
.vh-set.star{background:var(--sand)}
@media(min-width:640px){.vh-set{grid-template-columns:minmax(0,1fr) auto auto}.vh-set .btn{grid-column:auto}}
.vh-note{display:flex;gap:12px;align-items:flex-start;flex-wrap:wrap;background:#fff;border:var(--line);border-radius:18px;padding:14px 16px;margin-top:16px;font-size:15px}
.vh-note .ic{font-size:28px;line-height:1}
.vh-note div{flex:1;min-width:200px}
.vh-note p{margin:0 0 8px}
.vh-note p:last-child{margin:0}
.vh-pills{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.vh-pills a,.vh-pills button{border:2px solid var(--ink);background:#fff;border-radius:999px;padding:6px 12px;font:800 13px Nunito;cursor:pointer;text-decoration:none;color:var(--ink)}
.vh-pills a:hover,.vh-pills button:hover{background:var(--sun)}
.vh-sizes{margin-top:16px}
.vh-sizes table{width:100%;border-collapse:collapse;font-size:14px;margin-top:8px}
.vh-sizes td{padding:5px 0;border-top:1px solid var(--vb-line);vertical-align:top}
.vh-sizes td+td{text-align:right;font-weight:900;padding-left:10px}
.vh-sizes td+td span{white-space:nowrap}
.vh-sizes p{font-size:13px}
.vh-more{padding:44px 0 50px;background:var(--paper);border-bottom:var(--line)}
.vh-more .tgrid{margin-top:16px}
.vh-sibs{margin:0 0 28px}
.vh-sibs h2{font-size:clamp(24px,4vw,34px)}
.vh-make{padding:24px 0 60px;background:var(--paper)}
.vh-make h2{font-size:clamp(24px,4vw,32px);margin:28px 0 10px}
.vh-list{list-style:none;padding:0;margin:0;display:grid;gap:10px;grid-template-columns:minmax(0,1fr)}
.vh-item{display:grid;grid-template-columns:72px minmax(0,1fr);gap:4px 12px;align-items:center;background:#fff;border:var(--line);border-radius:16px;padding:10px 12px;text-decoration:none;color:var(--ink);box-shadow:3px 3px 0 var(--ink);transition:transform .12s}
.vh-item:hover{transform:translate(-2px,-2px)}
.vh-item img{width:72px;height:54px;object-fit:contain;background:#fff;border-radius:10px;border:2px solid var(--ink);grid-row:1/3}
.vh-item b{display:block;font-size:15.5px;line-height:1.2;overflow-wrap:anywhere}
.vh-item span{display:block;font-size:13px;color:var(--muted);margin-top:2px}
.vh-item em{grid-column:2;font:400 20px/1 "Luckiest Guy";color:var(--coral);font-style:normal;white-space:nowrap}
@media(min-width:480px){.vh-item{grid-template-columns:72px minmax(0,1fr) auto}.vh-item em{grid-column:3;grid-row:1/3}}
@media(min-width:720px){.vh-list{grid-template-columns:1fr 1fr}}
@media(min-width:1060px){.vh-list{grid-template-columns:1fr 1fr 1fr}}
.vh-makes{list-style:none;padding:0;margin:20px 0 0;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(130px,1fr))}
.vh-makes a{display:flex;flex-direction:column;gap:2px;background:#fff;border:var(--line);border-radius:16px;padding:14px 14px 12px;text-decoration:none;color:var(--ink);box-shadow:3px 3px 0 var(--ink);transition:transform .12s;min-width:0}
.vh-makes a:hover{transform:translate(-2px,-2px);background:var(--sun)}
.vh-makes b{font:400 20px/1.1 "Luckiest Guy";letter-spacing:.02em;overflow-wrap:anywhere}
.vh-makes span{font-size:13px;color:var(--muted);font-weight:800}
.vh-ask{margin-top:30px;background:var(--sand);border:var(--line);border-radius:22px;padding:20px;box-shadow:var(--pop);display:flex;flex-wrap:wrap;gap:14px;align-items:center;justify-content:space-between}
.vh-ask p{margin:0;font-size:16px;flex:1;min-width:220px}

/* ---- Stealth page (stealth.html): Chris's comparison graphic as a real page, mobile first ---- */
.stl-hero h1{color:var(--sun)}
.stl-compare{padding:40px 0 36px;background:var(--paper);border-bottom:var(--line)}
.stl-compare h2{font-size:clamp(32px,5vw,52px);margin:0 0 4px;text-align:center}
.stl-lede{text-align:center;margin:0 0 20px;color:var(--muted)}
.stl-pair{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;max-width:1000px;margin:0 auto}
.stl-card{margin:0;background:#fff;border:var(--line);border-radius:20px;box-shadow:var(--pop);overflow:hidden;position:relative;display:flex;flex-direction:column}
.stl-card.on{background:#2a1c3f;color:var(--cream)}
.stl-badge{position:absolute;top:8px;left:8px;z-index:2;background:var(--ink);color:var(--sun);font:400 16px "Luckiest Guy",sans-serif;letter-spacing:.04em;padding:5px 10px 2px;border-radius:10px;border:2px solid var(--cream)}
.stl-badge.std{background:#fff;color:var(--ink);border-color:var(--ink)}
.stl-ph{position:relative;aspect-ratio:4/3;border-bottom:var(--line);background:#222}
.stl-ph>img:first-child{width:100%;height:100%;object-fit:cover;object-position:62% 50%;display:block}
.stl-fab{position:absolute;right:8px;bottom:8px;width:40%;max-width:130px;height:auto;aspect-ratio:1;object-fit:cover;border-radius:50%;border:3px solid #fff;box-shadow:2px 2px 0 var(--ink)}
.stl-card figcaption{padding:10px 12px 14px;font-size:13.5px;line-height:1.4}
.stl-card figcaption b{display:block;font:400 18px "Luckiest Guy",sans-serif;letter-spacing:.03em;line-height:1.1;margin-bottom:4px}
.stl-card.on figcaption b{color:var(--sun)}
.stl-both{list-style:none;padding:0;margin:24px auto 0;max-width:1000px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.stl-both li{background:var(--sun);border:var(--line);border-radius:16px;padding:12px 8px 10px;text-align:center;font:400 17px "Luckiest Guy",sans-serif;letter-spacing:.03em;line-height:1.15;box-shadow:3px 3px 0 var(--ink)}
.stl-both li span{display:block;font-size:28px;margin-bottom:4px}
.stl-both small{display:block;font:800 12px Nunito,sans-serif;letter-spacing:0;opacity:.75;margin-top:3px}
.stl-note{text-align:center;margin:16px 0 0;font-size:17px}
.stl-why{padding:40px 0;border-bottom:var(--line)}
.stl-why .wgrid{margin-top:0}
.stl-cta{text-align:center;margin:18px 0 0}
@media(max-width:860px){.stl-why .wcard{display:grid;grid-template-columns:44px minmax(0,1fr);gap:2px 14px;padding:16px 18px;align-items:start}.stl-why .wcard .ic{font-size:34px;grid-row:span 2}.stl-why .wcard h3{font-size:24px;margin:0}.stl-why .wgrid{gap:14px}}
.stl-radar p{font-size:18px}
.stl-more{color:var(--sun)}
.stl-buy h3{font-size:28px;color:var(--sun);margin:0 0 6px}
.stl-rate{margin:0 0 6px!important;font-size:17px!important}
.stl-eg{margin:0 0 16px!important;font-size:16px!important;gap:4px!important}
#stl-act .btn{justify-content:center;text-align:center}
@media(max-width:480px){#stl-act .btn{width:100%}}
#stl-act .btn+.btn{margin-top:10px}
.stl-tip{font-size:14px!important;margin:10px 0 0!important;opacity:.85}
.stl-done{background:#1f9d6b;color:#fff;border:3px solid var(--cream);border-radius:14px;padding:12px 14px;margin:0 0 12px;font-size:16px}
@media(min-width:760px){.stl-pair{gap:26px}.stl-ph{aspect-ratio:622/336}.stl-card figcaption{padding:14px 18px 18px;font-size:16px}.stl-card figcaption b{font-size:22px}.stl-badge{top:12px;left:12px;font-size:19px}.stl-both{grid-template-columns:repeat(4,minmax(0,1fr))}}

/* ---- Our blinds (our-blinds.html): the material and the story, from Chris's brochure ---- */
.ob-story,.ob-layers,.ob-built,.ob-extras,.ob-cta{padding:40px 0;border-bottom:var(--line)}
.ob-story{background:var(--paper)}
.ob-layers{background:#e9f7fa}
.ob-built{background:var(--paper)}
.ob-cta{background:var(--sun);text-align:center}
.ob-grid{display:grid;gap:24px;align-items:center}
.ob-story h2,.ob-layers h2,.ob-built h2,.ob-extras h2,.ob-cta h2{font-size:clamp(30px,5vw,48px);margin:0 0 10px}
.ob-story p{font-size:17px;margin:0 0 12px}
.ob-quote{font:400 20px/1.25 "Luckiest Guy",sans-serif!important;letter-spacing:.02em;background:var(--sun);border:var(--line);border-radius:16px;padding:14px 16px 10px;box-shadow:var(--pop);margin-top:18px!important}
.ob-photo{margin:0;border:var(--line);border-radius:22px;overflow:hidden;box-shadow:var(--pop);background:#fff}
.ob-photo img{display:block;width:100%;height:auto}
.ob-photo figcaption{padding:8px 14px 10px;font-size:14px;color:var(--muted)}
.ob-lede{font-size:17px;margin:0 0 18px;max-width:760px}
.ob-mat{margin:0;background:#fff;border:var(--line);border-radius:22px;box-shadow:var(--pop);padding:12px}
.ob-mat img{display:block;width:100%;height:auto}
.ob-list{list-style:none;counter-reset:ob;padding:0;margin:0;display:grid;gap:12px}
.ob-list li{counter-increment:ob;position:relative;background:#fff;border:var(--line);border-radius:18px;padding:14px 16px 14px 62px;box-shadow:3px 3px 0 var(--ink);font-size:16px}
.ob-list li:before{content:counter(ob);position:absolute;left:14px;top:50%;transform:translateY(-50%);width:34px;height:34px;border-radius:50%;background:var(--sea);color:#fff;border:3px solid var(--ink);display:grid;place-items:center;font:400 18px "Luckiest Guy",sans-serif}
.ob-list b{display:block;font:400 19px "Luckiest Guy",sans-serif;letter-spacing:.02em;line-height:1.15;margin-bottom:2px}
.ob-facts{list-style:none;padding:0;margin:22px 0 0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.ob-facts li{background:var(--sun);border:var(--line);border-radius:16px;padding:12px 10px;text-align:center;font-size:14px;line-height:1.3;box-shadow:3px 3px 0 var(--ink)}
.ob-facts b{display:block;font:400 22px "Luckiest Guy",sans-serif;letter-spacing:.02em;margin-bottom:2px}
.ob-ticks{list-style:none;padding:0;margin:0;display:grid;gap:8px;font-size:17px}
.ob-ticks li{padding-left:30px;position:relative}
.ob-ticks li:before{content:"✓";position:absolute;left:0;top:0;width:22px;height:22px;border-radius:50%;background:var(--sea);color:#fff;font-size:13px;display:grid;place-items:center;font-weight:900;margin-top:2px}
.ob-extras .wgrid{margin-top:12px}
.ob-acts{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-top:8px}
.ob-wa{margin:16px 0 0;font-size:17px}
.ob-wa a{color:var(--ink);font-weight:900}
@media(max-width:860px){.ob-extras .wcard{display:grid;grid-template-columns:44px minmax(0,1fr);gap:2px 14px;padding:16px 18px}.ob-extras .wcard .ic{font-size:34px;grid-row:span 2}.ob-extras .wcard h3{font-size:22px;margin:0}.ob-extras .wgrid{gap:14px}}
@media(max-width:480px){.ob-acts .btn{width:100%;justify-content:center}}
@media(min-width:760px){.ob-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:40px}.ob-facts{grid-template-columns:repeat(4,minmax(0,1fr))}.ob-story,.ob-layers,.ob-built,.ob-extras,.ob-cta{padding:60px 0}}

/* WhatsApp line under a section heading or after a form (partners, custom) */
.wa-line{display:flex;flex-wrap:wrap;align-items:center;gap:10px;justify-content:center;margin:12px 0 18px;font-size:16px}
