@font-face{font-family:Clash;font-weight:600;font-display:swap;src:url(/assets/fonts/ClashDisplay-600-latin.woff2) format("woff2")}
@font-face{font-family:Switzer;font-weight:400;font-display:swap;src:url(/assets/fonts/Switzer-400-latin.woff2) format("woff2")}
@font-face{font-family:Switzer;font-weight:500;font-display:swap;src:url(/assets/fonts/Switzer-500-latin.woff2) format("woff2")}
@font-face{font-family:Switzer;font-weight:600;font-display:swap;src:url(/assets/fonts/Switzer-600-latin.woff2) format("woff2")}
:root{--petrol:#08333A;--petrol-2:#114750;--brass:#C9A227;--brass-ink:#73590C;--tomato:#EE3430;--tomato-ink:#B8221D;--paper:#FFF8F2;--muted:#4F6B6E;--muted-dark:#9CB9BA;--tint:#E6EEEC;--line:#C9D6D4;--ease:cubic-bezier(.22,1,.36,1)}
*{box-sizing:border-box;margin:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font:400 18px/1.6 Switzer,system-ui,sans-serif;color:var(--petrol);background:var(--paper);-webkit-font-smoothing:antialiased;overflow-x:hidden}
img,svg{display:block;max-width:100%;height:auto}
a{color:var(--brass-ink)}a:hover{color:var(--petrol)}
:focus-visible{outline:3px solid var(--brass);outline-offset:3px;border-radius:6px}
h1,h2,h3{font-family:Clash,Switzer,sans-serif;font-weight:600;letter-spacing:-.01em;line-height:1.05}
code,pre{font:500 .9em/1.6 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:-999px;top:8px;background:var(--brass);color:var(--petrol);padding:8px 14px;border-radius:8px;z-index:99}.skip:focus{left:8px}
.wrap{max-width:1200px;margin:0 auto;padding-left:40px;padding-right:40px}
.wrap-wide{max-width:1680px;margin:0 auto;padding-left:40px;padding-right:40px}
.muted{color:var(--muted)}.small{font-size:14px}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:0 24px;border-radius:999px;font:600 16px/1 Switzer,sans-serif;text-decoration:none;border:0;cursor:pointer;transition:transform .18s var(--ease),background .18s}
.btn:hover{transform:translateY(-2px)}
.btn-pri{background:var(--brass);color:var(--petrol)}.btn-pri:hover{background:#D6B13A;color:var(--petrol)}
.btn-sec{box-shadow:inset 0 0 0 2px var(--petrol);color:var(--petrol);background:transparent}
.btn-sm{min-height:42px;padding:0 18px;font-size:15px}
.linklike{background:none;border:0;padding:0;font:inherit;color:var(--brass-ink);text-decoration:underline;cursor:pointer}

/* nav */
.nav{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;padding-top:22px;padding-bottom:22px}
.logo img{height:42px;width:auto}
.nav nav{display:flex;flex-wrap:wrap;align-items:center;gap:24px}
.nav nav a:not(.btn){color:var(--petrol);text-decoration:none;font:500 15px Switzer,sans-serif}
.nav nav a:not(.btn):hover{color:var(--brass-ink)}

/* hero */
.hero{text-align:center;padding-top:20px}
h1{font-size:clamp(42px,6vw,80px);line-height:.96;letter-spacing:-.02em;max-width:1000px;margin:0 auto}
.hero-line{margin-top:16px;font:600 clamp(19px,2vw,26px)/1.25 Clash,Switzer,sans-serif;color:var(--brass-ink)}
.ctas{margin-top:24px;display:flex;flex-wrap:wrap;justify-content:center;gap:12px}
.fine{margin-top:12px;font-size:14px;color:var(--muted)}
.rise{animation:rise .9s var(--ease) both}
@keyframes rise{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}

/* street compare */
.street{margin-top:8px}
.compare{position:relative;margin:0;user-select:none;touch-action:pan-y;aspect-ratio:1600/679}
.compare img{width:100%;height:100%;object-fit:cover}
.compare .after{position:absolute;inset:0}
.compare .before{position:absolute;inset:0;clip-path:inset(0 calc(100% - var(--pos) * 1%) 0 0)}
.compare .before img{width:100%;height:100%}
.divider{position:absolute;top:0;bottom:0;left:calc(var(--pos) * 1%);width:3px;margin-left:-1.5px;background:var(--brass);pointer-events:none}
.divider span{position:absolute;top:50%;left:50%;width:46px;height:46px;margin:-23px 0 0 -23px;border-radius:50%;background:var(--brass);box-shadow:0 0 0 4px var(--paper),0 8px 18px rgba(8,51,58,.3);display:grid;place-items:center;font:600 18px/1 Switzer,sans-serif;color:var(--petrol);animation:nudge 3.2s ease-in-out infinite}
@keyframes nudge{0%,70%,100%{transform:translateX(0)}78%{transform:translateX(-8px)}86%{transform:translateX(8px)}}
.badge{position:absolute;top:0;font:600 13px Switzer,sans-serif;padding:7px 12px;border-radius:999px}
.badge-before{left:0;background:var(--tomato-ink);color:#fff}
.badge-after{right:0;background:var(--brass);color:var(--petrol)}
.hot{position:absolute;left:calc(var(--x) * 1%);top:calc(var(--y) * 1%);pointer-events:none;transition:opacity .3s}
.hot i{position:absolute;width:38px;height:38px;margin:-19px 0 0 -19px;border-radius:50%;box-shadow:0 0 0 3px var(--tomato)}
.hot i::after{content:"";position:absolute;inset:0;border-radius:50%;box-shadow:0 0 0 3px var(--tomato);animation:ping 2.2s var(--ease) infinite}
@keyframes ping{0%{transform:scale(1);opacity:.9}100%{transform:scale(2.2);opacity:0}}
.hot b{position:absolute;transform:translate(-50%,-100%);margin-top:-28px;background:var(--petrol);color:var(--paper);font:600 14px/1 Switzer,sans-serif;padding:9px 12px;border-radius:8px;white-space:nowrap}
.hot-brass b{background:var(--brass);color:var(--petrol);margin-top:0}
.hot.off{opacity:0}
.raven-spot{position:absolute;left:75.5%;top:44.5%;width:6.5%}
.range{position:absolute;left:0;right:0;bottom:-44px;max-width:720px;margin:0 auto}
.range input{width:100%;accent-color:var(--brass);height:28px;cursor:ew-resize}
.units{display:none}
.steps{list-style:none;padding:0;max-width:980px;margin:64px auto 0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.steps li{border-radius:999px;box-shadow:inset 0 0 0 2px var(--petrol);padding:13px;font:600 16px Switzer,sans-serif}
.s1{animation:s1 6s steps(1) infinite}.s2{animation:s2 6s steps(1) infinite}.s3{animation:s3 6s steps(1) infinite}.s4{animation:s4 6s steps(1) infinite}
@keyframes s1{0%,100%{background:var(--tomato-ink);color:#fff}}
@keyframes s2{0%,24%{background:var(--paper);color:var(--petrol)}25%,100%{background:var(--petrol);color:var(--paper)}}
@keyframes s3{0%,49%{background:var(--paper);color:var(--petrol)}50%,100%{background:var(--petrol);color:var(--paper)}}
@keyframes s4{0%,74%{background:var(--paper);color:var(--petrol)}75%,100%{background:var(--brass);color:var(--petrol)}}

/* sections */
.facts{margin-top:72px;display:flex;flex-wrap:wrap;justify-content:center;gap:10px 28px;padding-top:16px;padding-bottom:16px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font:500 15px Switzer,sans-serif;color:var(--muted)}
.facts b{color:var(--petrol)}
.section{padding-top:112px}
.head{display:flex;flex-wrap:wrap;align-items:baseline;gap:14px 40px;margin-bottom:40px}
.num{font:600 15px Switzer,sans-serif;color:var(--brass-ink)}
h2{font-size:clamp(34px,4vw,56px);line-height:1}
.lede{font-size:20px;color:var(--muted)}
h3{font-size:22px;line-height:1.2}
.grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:56px}
.grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.grid-7-5{margin-top:48px;display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:40px;align-items:center}
.align-end{align-items:end}
.card{background:#fff;box-shadow:0 0 0 2px var(--petrol);border-radius:16px;padding:24px;display:flex;flex-direction:column;align-items:flex-start;gap:14px}
.card-brass{background:var(--paper);box-shadow:0 0 0 2px var(--brass),8px 8px 0 0 var(--brass)}
.big{font:600 32px/1 Clash,sans-serif;color:var(--brass)}
.code{display:flex;gap:8px;align-items:flex-start;width:100%;background:var(--petrol);color:var(--paper);border-radius:10px;padding:10px 10px 10px 12px}
.code code{flex:1;min-width:0;overflow-wrap:anywhere;font-size:13.5px}
.copy{flex:none;border:0;cursor:pointer;background:var(--brass);color:var(--petrol);border-radius:999px;padding:8px 14px;font:600 13px Switzer,sans-serif}
#start>.muted{margin-top:18px}
.label{font:600 13px/1 Switzer,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:12px}
.bar{height:56px;background:var(--tint);border-radius:10px;overflow:hidden;margin-bottom:14px}
.bar i{display:block;height:100%;width:100%;border-radius:10px;background:var(--tomato);animation:bar 5s cubic-bezier(.65,0,.35,1) infinite}
@keyframes bar{0%,20%{width:100%;background:var(--tomato)}55%,90%{width:9%;background:var(--brass)}100%{width:100%;background:var(--tomato)}}
.drawers{background:var(--petrol);padding:16px;border-radius:8px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.drawers i{height:64px;background:var(--tint);border-radius:3px;position:relative;font-style:normal}
.drawers .pulled b{position:absolute;left:10%;right:10%;top:8px;height:64px;background:var(--brass);border-radius:4px;display:grid;place-items:center;font:600 13px Switzer,sans-serif;animation:pull 5s var(--ease) infinite}
@keyframes pull{0%,25%{transform:translateY(0)}45%,85%{transform:translateY(-58px) rotate(-3deg)}100%{transform:translateY(0)}}
.drawers .plus{box-shadow:inset 0 0 0 2px var(--muted);display:grid;place-items:center;font:600 22px Switzer,sans-serif;color:var(--muted)}
.file{margin:0;background:#fff;box-shadow:0 0 0 2px var(--petrol);border-radius:14px;overflow:hidden}
.file figcaption{background:var(--petrol);color:var(--muted-dark);padding:10px 16px;font:500 13px ui-monospace,Menlo,monospace}
.file pre{margin:0;padding:18px 20px;white-space:pre-wrap;font-size:15px;line-height:1.7}
.list{margin:14px 0 18px;padding-left:20px;font-size:17px;line-height:1.7;color:var(--muted)}
.list b{color:var(--petrol)}
.compat{padding-top:96px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.compat>div{display:flex;align-items:center;gap:16px;border-radius:14px;padding:20px 24px}
.compat span{flex:none;width:40px;height:40px;border-radius:50%;display:grid;place-items:center;font:600 20px Switzer,sans-serif}
.compat b{font:600 20px Clash,sans-serif}
.compat-yes{background:var(--petrol);color:var(--paper)}
.compat-yes span{background:var(--brass);color:var(--petrol)}
.compat-yes p{color:var(--muted-dark)}.compat-yes b{color:var(--paper)}
.compat-no{box-shadow:inset 0 0 0 2px var(--petrol)}
.compat-no span{box-shadow:inset 0 0 0 2px var(--petrol)}
.compat-no p{color:var(--muted)}.compat-no b{color:var(--petrol)}
.rule{border-top:4px solid;padding-top:18px}
.rule-brass{border-color:var(--brass)}.rule-tomato{border-color:var(--tomato)}.rule-ink{border-color:var(--petrol)}
.rule .list{margin-top:10px;font-size:16px}
#safety>.muted{margin-top:22px}
.faq summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:16px;font:600 19px/1.35 Switzer,sans-serif;padding:20px 0}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font:600 24px/1 Switzer,sans-serif;color:var(--brass-ink)}
.faq details[open] summary::after{content:"–"}
.faq details{border-top:1px solid var(--line)}
.faq details p{margin:0 0 20px;color:var(--muted);line-height:1.6}
.faq.grid2{gap:0 56px}
.chips{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:16px}
.chip{border:0;cursor:pointer;background:var(--paper);color:var(--petrol);box-shadow:inset 0 0 0 2px var(--petrol);border-radius:999px;padding:12px 16px;font:600 15px Switzer,sans-serif;min-height:44px}
.chip:hover{background:var(--brass)}
.foot{padding-top:112px;padding-bottom:120px}
.foot-row{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;border-top:1px solid var(--line);padding-top:24px}
.by{display:flex;align-items:center;gap:8px;text-decoration:none;color:var(--muted);font-size:15px}
.by img{height:14px;width:auto}
.foot nav{display:flex;flex-wrap:wrap;gap:22px}
.foot nav a{color:var(--muted);text-decoration:none;font-size:14px}.foot nav a:hover{color:var(--petrol)}
.legal{margin-top:18px;font-size:13px;color:var(--muted)}

/* Ask Tune-Up dial: Viaknox destination dial in Tune-Up colours (design 212x192, scale .38) */
.ask-dial{position:fixed;right:max(24px,calc((100vw - 1600px) / 2 + 24px));bottom:calc(20px + env(safe-area-inset-bottom,0px));z-index:30;border:0;background:none;padding:0;cursor:pointer;width:212px;height:192px;transform:scale(.38);transform-origin:bottom right;-webkit-tap-highlight-color:transparent}
.ask-dial span,.ask-dial img{pointer-events:none}
.ask-dial:focus-visible{outline:3px solid var(--brass);outline-offset:6px}
.dial-name{position:absolute;bottom:0;left:13px;right:13px;height:80px;background:linear-gradient(150deg,#1d5560,#08333A 60%);border:1px solid #c9a22766;border-radius:14px 14px 28px 28px;box-shadow:inset 0 1px 0 #fff8f244,0 6px 0 #04191d,0 16px 20px -6px #0009;display:flex;align-items:flex-end;justify-content:center;padding-bottom:15px;gap:8px;color:var(--paper)}
.dial-name>span{font:600 13px Switzer,sans-serif;letter-spacing:.03em}
.dial-name img{width:96px;height:auto}
.dial-base{position:absolute;top:9px;left:36px;width:140px;height:140px;background:#04191d;border-radius:50%;box-shadow:0 6px 1px #031316,0 14px 22px #0007}
.dial-ring{position:absolute;top:0;left:36px;width:140px;height:140px;border-radius:50%;background:repeating-conic-gradient(from 2deg,#C9A227 0deg 1deg,#2a6069 1.5deg 3deg,#08333A 3deg 5deg);border:2px solid #c9a2279c;box-shadow:inset 0 2px 4px #fff8f2a0,inset 0 -3px 5px #0009;transition:transform .32s cubic-bezier(.2,.7,.25,1)}
.dial-ring::after{content:'';position:absolute;inset:7px;border-radius:50%;background:linear-gradient(145deg,#e3c25a,#2a6069 48%,#08333A 85%);box-shadow:inset 0 1px 0 #fff8f299,0 2px 0 #0008}
.dial-cap{position:absolute;top:16px;left:52px;width:108px;height:108px;border-radius:50%;overflow:hidden;background:var(--brass);box-shadow:0 5px 1px #73590C,0 8px 6px #0007;transform:translateY(-2px);transition:transform .15s,box-shadow .15s}
.dial-cap img{position:absolute;inset:0;width:100%;height:100%}
.dial-cap::after{content:'';position:absolute;inset:0;background:linear-gradient(145deg,#fff8f249,transparent 40%,#08333a24 77%,#08333a66);border-radius:50%;box-shadow:inset 0 2px 3px #fff8f27a,inset 0 -2px 3px #08333a66}
.ask-dial:active .dial-cap{transform:translateY(4px);box-shadow:0 1px 0 #73590C,0 2px 2px #0008}
.ask-dial:hover .dial-ring{transform:rotate(7deg)}
.ask-dial:hover .dial-cap{transform:translateY(-4px)}

/* drawer */
.scrim{position:fixed;inset:0;background:rgba(8,51,58,.35);z-index:40}
.drawer{position:fixed;right:0;top:0;bottom:0;z-index:50;width:min(440px,100vw);background:var(--paper);box-shadow:-12px 0 40px rgba(8,51,58,.25);display:flex;flex-direction:column}
.drawer[hidden],.scrim[hidden]{display:none}
.drawer-head{display:flex;align-items:center;gap:12px;background:var(--petrol);color:var(--paper);padding:14px 16px}
.drawer-head h2{font:600 18px Switzer,sans-serif}
.drawer-close{margin-left:auto;width:44px;height:44px;border-radius:50%;border:0;background:transparent;color:var(--paper);font-size:28px;cursor:pointer}
.drawer-log{flex:1;overflow-y:auto;padding:18px 16px;display:flex;flex-direction:column;gap:12px}
.msg{max-width:88%;padding:12px 14px;border-radius:14px;font-size:16px;line-height:1.5;white-space:pre-wrap}
.msg.you{align-self:flex-end;background:var(--petrol);color:var(--paper);border-bottom-right-radius:4px}
.msg.bot{align-self:flex-start;background:#fff;box-shadow:inset 0 0 0 2px var(--tint);border-bottom-left-radius:4px}
.msg .src{display:block;margin-top:8px;font-size:13px;color:var(--muted)}
.msg.note{align-self:stretch;max-width:none;background:var(--tint);font-size:15px}
.confirm{align-self:stretch;background:#fff;box-shadow:0 0 0 2px var(--brass);border-radius:14px;padding:14px;display:flex;flex-direction:column;gap:10px;font-size:15px}
.confirm dl{display:grid;grid-template-columns:auto 1fr;gap:4px 12px}.confirm dt{color:var(--muted)}.confirm dd{margin:0;overflow-wrap:anywhere}
.confirm .row{display:flex;gap:8px;flex-wrap:wrap}
.drawer-form{display:flex;flex-direction:column;gap:10px;padding:12px 16px 6px;border-top:1px solid var(--line)}
.drawer-form textarea,.drawer-form input{width:100%;border-radius:12px;border:2px solid var(--petrol);padding:10px 14px;font:400 16px Switzer,sans-serif;background:#fff;color:var(--petrol);resize:vertical}
.drawer-form .btn{align-self:flex-end}
.drawer-note{padding:4px 16px 16px;font-size:12.5px;line-height:1.5;color:var(--muted)}
.contact{display:flex;flex-direction:column;gap:8px}

/* responsive */
@media (max-width:900px){
  .grid3,.grid2,.grid-7-5,.compat{grid-template-columns:1fr}
  .faq.grid2{gap:0}
  .steps{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:640px){
  body{font-size:17px}
  .wrap,.wrap-wide{padding-left:16px;padding-right:16px}
  .nav nav a:not(.btn){display:none}
  .logo img{height:34px}
  .compare{display:none}
  .units{display:block;margin:12px -16px 0}
  .seg{display:flex;gap:6px;margin:0 16px 12px;padding:4px;border-radius:999px;box-shadow:inset 0 0 0 2px var(--petrol)}
  .seg button{flex:1;min-height:44px;border:0;border-radius:999px;background:transparent;color:var(--petrol);font:600 15px Switzer,sans-serif;cursor:pointer}
  .seg button[aria-pressed="true"]{background:var(--petrol);color:var(--paper)}
  .seg.after button[aria-pressed="true"]{background:var(--brass);color:var(--petrol)}
  .units ul{list-style:none;padding:0;display:flex;flex-direction:column;gap:4px}
  .units li{position:relative}
  .units img{width:100%}
  .tag{position:absolute;left:16px;bottom:16px;font:600 14px Switzer,sans-serif;padding:8px 12px;border-radius:8px;background:var(--petrol);color:var(--paper)}
  .units.after .tag,.tag-brass{background:var(--brass);color:var(--petrol)}
  .raven-spot-m{position:absolute;left:19.6%;top:41%;width:23%}
  .steps{margin-top:16px;padding:0 16px}
  .facts{margin-top:32px}
  .section{padding-top:64px}
  .compat{padding-top:40px}
  .drawer{width:100vw}
  .ask-dial{right:12px;bottom:calc(12px + env(safe-area-inset-bottom,0px))}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition:none!important}
}

/* text pages */
.prose{max-width:760px;padding-top:24px}
.prose h1{font-size:clamp(40px,5vw,56px);text-align:left;margin:0 0 8px}
.prose h2{font-size:26px;margin:36px 0 10px}
.prose p{margin-bottom:12px}
.prose .list{color:var(--petrol)}
.contact label{display:flex;flex-direction:column;gap:4px;font:600 14px Switzer,sans-serif}
.contact input,.contact textarea{width:100%;border-radius:10px;border:2px solid var(--petrol);padding:8px 12px;font:400 16px Switzer,sans-serif}

.tu-raven{overflow:visible}
.tu-raven .tu-hd{transform-origin:1000px 600px;transform-box:view-box;transition:transform .25s cubic-bezier(.22,1,.36,1);transform:rotate(clamp(-6deg,var(--tu-head,0deg),6deg))}
.tu-raven .tu-w{transform-origin:614px 880px;transform-box:view-box;animation:tuW 4.8s ease-in-out infinite}
.tu-raven .tu-c{transform-origin:1060px 860px;transform-box:view-box;animation:tuC 4.8s ease-in-out infinite}
.tu-raven .tu-rv{transform-origin:1000px 1440px;transform-box:view-box;animation:tuHop 4.8s cubic-bezier(.22,1,.36,1) infinite}
.tu-raven .tu-g{opacity:0;animation:tuG 4.8s ease-in-out infinite}
@keyframes tuW{0%,52%,100%{transform:rotate(0)}58%{transform:rotate(-16deg)}64%{transform:rotate(7deg)}70%{transform:rotate(-9deg)}76%{transform:rotate(0)}}
@keyframes tuC{0%,100%{transform:translateY(0) rotate(0)}14%{transform:translateY(-10px) rotate(-3deg)}28%{transform:translateY(0) rotate(0)}}
@keyframes tuHop{0%,84%,100%{transform:translateY(0) scale(1,1)}87%{transform:translateY(0) scale(1.03,.96)}91%{transform:translateY(-46px) scale(.98,1.03)}95%{transform:translateY(0) scale(1.03,.97)}98%{transform:translateY(0) scale(1,1)}}
@keyframes tuG{0%,30%,44%,100%{opacity:0}36%{opacity:.9}}
@media (prefers-reduced-motion:reduce){.tu-raven *{animation:none!important;transition:none!important}}
.tu-raven:hover .tu-w{animation:tuSpin 1s cubic-bezier(.22,1,.36,1)}
@keyframes tuSpin{0%{transform:rotate(0)}60%{transform:rotate(-200deg)}100%{transform:rotate(-360deg)}}