/* BHMS Home Maintenance: roadside-response look. Highway-sign labels, hazard stripes, the BHMS van on the road.
   Brand blue and orange only, sharp edges everywhere. */
:root{
  color-scheme: light;
  --navy:#0C1F31; --navy2:#12263A; --navy3:#1C3550; --navyline:#2A4866;
  --sign:#0E4A86; --blue:#0E4A86; --orange:#EE9B2C; --orange-ink:#A9620E; --amber:#FFB21A;
  --asphalt:#23272B; --tarmac:#1B1F23;
  --paper:#EEF1F4; --white:#FFFFFF; --ink:#0C1F31; --ink2:#3A4B5C; --line:#C9D2DB; --mist:#A9BFD4;
  --display:'Overpass','Arial Narrow',Arial,sans-serif;
  --body:'Overpass',Arial,sans-serif;
  --mono:'Overpass Mono',ui-monospace,Menlo,Consolas,monospace;
}
*{box-sizing:border-box}
[hidden]{display:none!important}
main{overflow-x:hidden;overflow-x:clip}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--body);font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased;overflow-x:hidden}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:60;background:var(--navy)}
a{color:inherit}
img{max-width:100%;height:auto;display:block}
button,input,select,textarea{font:inherit}
:focus-visible{outline:3px solid var(--orange);outline-offset:2px}
.sr,.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:16px;top:-60px;z-index:100;background:var(--orange);color:var(--navy);padding:10px 14px;font-weight:800;text-decoration:none}
.skip:focus{top:12px}
.wrap{max-width:1240px;margin:0 auto;padding-left:max(24px,env(safe-area-inset-left,0px));padding-right:max(24px,env(safe-area-inset-right,0px))}
@media (max-width:600px){.wrap{padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}}
h1,h2,h3{text-wrap:balance;margin:0}
h2{font-family:var(--display);font-weight:900;font-size:clamp(28px,3.4vw,38px);line-height:1.05;letter-spacing:-.01em}
h1 em,h2 em{font-style:normal;color:var(--orange-ink)}
.on-dark h1 em,.on-dark h2 em{color:var(--orange)}
.sec-h{margin:18px 0 32px}

/* highway sign label */
.kicker{display:inline-flex;align-items:center;gap:10px;background:var(--sign);color:var(--white);font-family:var(--display);font-weight:800;font-size:13px;letter-spacing:.07em;text-transform:uppercase;padding:8px 14px 6px;box-shadow:inset 0 0 0 3px var(--sign),inset 0 0 0 5px var(--white)}
.kicker::after{content:"";width:14px;height:10px;background:var(--white);clip-path:polygon(0 35%,60% 35%,60% 0,100% 50%,60% 100%,60% 65%,0 65%)}
.on-dark .kicker,.kicker.amber{background:var(--orange);color:var(--navy);box-shadow:inset 0 0 0 3px var(--orange),inset 0 0 0 5px var(--navy)}
.on-dark .kicker::after,.kicker.amber::after{background:var(--navy)}
.hazard{height:12px;background:repeating-linear-gradient(-45deg,var(--orange) 0 16px,var(--navy) 16px 32px)}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;font-family:var(--body);font-weight:800;font-size:16px;padding:16px 24px 14px;text-decoration:none;border:0;cursor:pointer;transition:background-color .15s ease,color .15s ease,transform .15s ease;min-height:52px;line-height:1.1;text-align:center}
.btn:active{transform:translateY(1px)}
.btn-o{background:var(--orange);color:var(--navy)}
.btn-o:hover{background:#F5B04F}
.btn-n{background:var(--navy);color:var(--white)}
.btn-n:hover{background:var(--blue)}
.btn-line{background:transparent;color:var(--white);border:2px solid #5B6672}
.btn-line:hover{border-color:var(--orange);color:var(--orange)}
.row{display:flex;flex-wrap:wrap}
.section{padding-block:96px}
.section.slim{padding-block:56px}
@media (max-width:700px){.section{padding-block:64px}.section.slim{padding-block:40px}}
section[id],[id]{scroll-margin-top:110px}
.band-white{background:var(--white);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.sec-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:32px}
.sec-head h2{margin-top:18px}
.sec-head>p{margin:0;color:var(--ink2);max-width:440px}

/* top info strip */
.util{background:var(--navy);color:var(--white);font-family:var(--mono);font-size:12px;font-weight:700}
.util .wrap{display:flex;align-items:center;gap:26px;padding-block:9px 7px;white-space:nowrap;overflow:hidden}
.util .u-right{margin-left:auto;display:flex;gap:22px;align-items:center}
.util a{color:var(--orange);text-decoration:none}
.util a:hover{color:var(--white)}
.live{display:inline-flex;align-items:center}
.dot{display:inline-block;width:9px;height:9px;background:var(--amber);margin-right:8px;animation:blink 1.4s steps(2,start) infinite}
@keyframes blink{to{visibility:hidden}}
@media (max-width:820px){.util .u-hide{display:none}}
.hazard.thin{height:6px}

/* main header */
.top{position:sticky;top:env(safe-area-inset-top,0px);z-index:50;background:var(--white);border-bottom:1px solid #D5DCE3;transition:box-shadow .25s ease}
.admin-bar .top{top:32px}
@media (max-width:782px){.admin-bar .top{top:46px}}
@media (max-width:600px){.admin-bar .top{top:0}}
.top .wrap{display:flex;align-items:center;gap:28px;padding-block:8px;position:relative;transition:padding .25s ease}
.logo{display:flex;align-items:center;margin-right:auto;flex:none}
.logo img{height:86px;width:auto;transition:height .25s ease}
.top.solid{box-shadow:0 2px 0 var(--navy)}
.top.solid .wrap{padding-block:6px}
.top.solid .logo img{height:64px}
.hcta{display:flex;align-items:stretch;flex:none}
.hcta .btn{min-height:46px;padding:12px 20px 10px;font-size:15px}

.nav{display:flex;gap:2px;align-self:stretch;font-size:15px;font-weight:800}
.nav .item{display:flex;align-items:center}
.nav .item>a{position:relative;text-decoration:none;color:var(--ink);padding:10px 13px 8px;transition:background-color .15s ease,color .15s ease}
.nav .item>a:hover,.nav .item:focus-within>a,.nav .item:hover>a{background:var(--sign);color:var(--white)}
.nav .item>a[aria-current="page"]{box-shadow:inset 0 -3px 0 var(--orange)}
.nav .mtog{display:none}
.nav .mwrap{position:absolute;left:max(24px,env(safe-area-inset-left,0px));right:max(24px,env(safe-area-inset-right,0px));top:calc(100% - 8px);padding-top:8px;display:none;z-index:70}
.nav .item:hover .mwrap,.nav .item:focus-within .mwrap,.nav .item.open .mwrap{display:block}
.mega{background:var(--white);border:3px solid var(--navy);box-shadow:10px 10px 0 rgba(12,31,49,.14);padding:22px 24px 20px;max-width:980px;margin-left:auto}
.mega-in{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}
.mcol b{display:block;font-family:var(--mono);font-size:12px;color:var(--orange-ink);text-transform:uppercase;border-bottom:2px solid var(--navy);padding-bottom:6px;margin-bottom:6px}
.mcol ul,.mega-grid,.mega-drop ul{list-style:none;margin:0;padding:0}
.mega a{display:block;padding:6px 0 4px;font-weight:700;font-size:14px;text-decoration:none;color:var(--ink)}
.mega a:hover{color:var(--blue);text-decoration:underline;text-underline-offset:3px}
.mega .mega-all{display:inline-block;margin-top:14px;font-weight:800;color:var(--navy);border-bottom:3px solid var(--orange);padding:0 0 2px}
.mega-areas{max-width:640px}
.mega-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 18px}
.mega-drop{max-width:300px}
.burger{display:none;align-items:center;gap:8px;border:2px solid var(--navy);background:var(--white);height:46px;padding:0 12px;cursor:pointer;flex:none}
.burger .bars{display:grid;gap:4px}
.burger .bars i{display:block;width:20px;height:3px;background:var(--navy);transition:transform .2s ease,opacity .2s ease}
.burger[aria-expanded="true"] .bars i:nth-child(1){transform:translateY(7px) rotate(45deg)}
.burger[aria-expanded="true"] .bars i:nth-child(2){opacity:0}
.burger[aria-expanded="true"] .bars i:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.drawer{position:fixed;left:0;right:0;bottom:0;top:var(--dtop,120px);background:var(--white);z-index:49;overflow:auto;border-top:3px solid var(--navy);padding:6px 16px 110px}
.drawer[hidden]{display:none}
.dnav .item{display:flex;flex-wrap:wrap;align-items:center;border-bottom:1px solid var(--line)}
.dnav .item>a{flex:1;padding:16px 0 14px;font-weight:900;font-size:19px;text-decoration:none;color:var(--ink)}
.dnav .mtog{width:48px;height:48px;border:2px solid var(--navy);background:var(--white);font-size:18px;cursor:pointer}
.dnav .item.open .mtog{background:var(--navy);color:var(--white)}
.dnav .mwrap{flex-basis:100%;display:none}
.dnav .item.open .mwrap{display:block}
.dnav .mega{border:0;box-shadow:none;padding:0 0 16px;max-width:none}
.dnav .mega-in{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.dnav .mega-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.dcta{display:grid;gap:10px;margin-top:18px}
body.menu-open{overflow:hidden}
@media (max-width:1060px){.nav{display:none}.burger{display:flex}.top .wrap{gap:12px}}
@media (max-width:560px){.hcta{display:none}.logo img{height:56px}.top.solid .logo img{height:48px}.top .wrap{padding-block:8px}.hcta .btn{padding:10px 14px 8px}.burger .sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}}

/* the van and its real wheels */
.vanimg{width:100%;height:auto}
.wheel{position:absolute;z-index:3;pointer-events:none;width:7.869%;height:21.751%}
.wheel.wf{left:8.866%;top:72.669%}
.wheel.wr{left:76.801%;top:72.881%}
.wheel img{display:block;width:100%;height:100%;animation:roll .55s linear infinite}
@keyframes roll{to{transform:rotate(-360deg)}}

/* hero */
.hero{position:relative;background:var(--paper);overflow:hidden}
.hero-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:24px 40px;align-items:end;padding-top:56px;position:relative;z-index:3}
@media (max-width:900px){.hero-grid{grid-template-columns:minmax(0,1fr);padding-top:40px}}
.hero-text{padding-bottom:64px;min-width:0}
@media (max-width:900px){.hero-text{padding-bottom:8px}}
.hero-text p{margin:18px 0 22px;color:var(--ink2);font-size:17px;max-width:46ch}
.hero h1{font-family:var(--display);font-weight:900;font-size:clamp(32px,4vw,50px);line-height:1.02;letter-spacing:-.02em;margin-top:18px}
.hero h1 .ln{display:block;overflow:hidden;padding-bottom:4px}
.hero h1 .ln>span{display:block}
.vanslot{position:relative;min-width:0;display:flex;justify-content:center;align-items:flex-end;align-self:stretch;animation:idle .32s ease-in-out 2.2s infinite alternate}
.vanslot.formmode{animation:none}
.vanbox{position:relative;z-index:2;width:min(580px,100%);margin-bottom:-6px;animation:driveIn 2.2s cubic-bezier(.16,.84,.3,1) both}
.vanbox::after{content:"";position:absolute;left:6%;right:4%;bottom:1%;height:6%;background:rgba(12,31,49,.3);filter:blur(6px);z-index:-1}
.speed{position:absolute;right:-24%;bottom:20%;width:24%;height:42%;pointer-events:none;z-index:1}
.speed i{position:absolute;right:0;height:3px;background:var(--line);animation:wind .9s linear infinite}
.speed i:nth-child(1){top:10%;width:70%;animation-delay:0s}
.speed i:nth-child(2){top:45%;width:100%;animation-delay:.3s}
.speed i:nth-child(3){top:80%;width:55%;animation-delay:.6s}
@keyframes wind{0%{transform:translateX(-30%);opacity:0}30%{opacity:1}100%{transform:translateX(40%);opacity:0}}
.beacon{position:absolute;left:55%;top:-2.6%;width:9%;height:3.2%;min-height:8px;background:var(--amber);border:2px solid var(--navy);border-bottom-width:4px;z-index:3}
.beacon::before{content:"";position:absolute;left:50%;top:50%;width:260%;height:900%;transform:translate(-50%,-50%);background:radial-gradient(closest-side,rgba(255,178,26,.55),rgba(255,178,26,0));animation:glow 1.1s ease-in-out infinite;pointer-events:none}
.skyline{position:absolute;left:0;right:0;bottom:84px;height:210px;overflow:hidden;z-index:1;pointer-events:none;color:#D6DDE4}
.skyline .strip{display:flex;width:200%;height:100%;animation:pan 48s linear infinite}
.skyline svg{width:50%;height:100%;flex:none}
@keyframes pan{from{transform:translateX(-50%)}to{transform:translateX(0)}}
.road{position:relative;z-index:1;height:84px;background:var(--asphalt);display:flex;align-items:center;border-top:4px solid #3A4048}
.lanes{width:100%;height:6px;background-image:repeating-linear-gradient(90deg,#F2F2F2 0 80px,transparent 80px 160px);animation:lanes .45s linear infinite}

/* day and night cycle: off by default, switch on in BHMS Settings > Header and footer */
.skyline .lights{opacity:0}
.moon,.sky .stars,.beam{display:none}
.hero.dn{animation:dnBg 32s ease-in-out infinite}
.hero.dn .skyline{animation:dnCity 32s ease-in-out infinite}
.hero.dn .skyline .lights{animation:dnOn 32s ease-in-out infinite}
.hero.dn .moon,.hero.dn .sky .stars,.hero.dn .beam{display:block}
.hero.dn .hero-text p{animation:dnInk2 32s ease-in-out infinite}
.hero.dn .hero-text .btn-n{animation:dnBtn 32s ease-in-out infinite}
.hero.dn h1{animation:dnInk 32s ease-in-out infinite}
.hero.dn h1 em{animation:dnEm 32s ease-in-out infinite}
.sky{position:absolute;inset:0 0 84px;pointer-events:none;z-index:0;overflow:hidden}
.sun,.moon{position:absolute;right:9%;top:16%;width:84px;height:84px;border-radius:50%}
.sun{background:#FFC24A;box-shadow:0 0 0 14px rgba(255,194,74,.18),0 0 0 30px rgba(255,194,74,.08)}
.hero.dn .sun{animation:dnSun 32s ease-in-out infinite}
.moon{background:#EEF2F6;box-shadow:inset -18px -6px 0 0 #C9D3DD,0 0 40px rgba(238,242,246,.35);opacity:0}
.hero.dn .moon{animation:dnMoon 32s ease-in-out infinite}
.sky .stars{position:absolute;inset:0;opacity:0;background-image:radial-gradient(1.5px 1.5px at 12% 18%,#fff 99%,transparent),radial-gradient(1.5px 1.5px at 28% 8%,#fff 99%,transparent),radial-gradient(1px 1px at 41% 30%,#fff 99%,transparent),radial-gradient(1.5px 1.5px at 55% 12%,#fff 99%,transparent),radial-gradient(1px 1px at 63% 36%,#fff 99%,transparent),radial-gradient(1.5px 1.5px at 74% 6%,#fff 99%,transparent),radial-gradient(1px 1px at 82% 44%,#fff 99%,transparent),radial-gradient(1.5px 1.5px at 93% 22%,#fff 99%,transparent),radial-gradient(1px 1px at 6% 40%,#fff 99%,transparent),radial-gradient(1px 1px at 35% 48%,#fff 99%,transparent)}
.beam{position:absolute;right:95%;top:47%;width:46%;height:22%;background:linear-gradient(to left,rgba(255,236,190,.75),rgba(255,236,190,0));clip-path:polygon(100% 38%,100% 62%,0 100%,0 0);opacity:0;z-index:1;pointer-events:none}
@keyframes dnBg{0%,36%{background-color:#EEF1F4}44%{background-color:#E9C9A4}52%,86%{background-color:#0F2133}94%{background-color:#E2D6C8}100%{background-color:#EEF1F4}}
@keyframes dnCity{0%,36%{color:#D6DDE4}44%{color:#C7A889}52%,86%{color:#1E3550}100%{color:#D6DDE4}}
@keyframes dnOn{0%,40%{opacity:0}52%,86%{opacity:1}94%,100%{opacity:0}}
@keyframes dnInk{0%,40%{color:#0C1F31}50%,86%{color:#FFFFFF}96%,100%{color:#0C1F31}}
@keyframes dnEm{0%,40%{color:#A9620E}50%,86%{color:#EE9B2C}96%,100%{color:#A9620E}}
@keyframes dnInk2{0%,40%{color:#3A4B5C}50%,86%{color:#C3D0DC}96%,100%{color:#3A4B5C}}
@keyframes dnBtn{0%,40%{background-color:#0C1F31;color:#FFFFFF}50%,86%{background-color:#FFFFFF;color:#0C1F31}96%,100%{background-color:#0C1F31;color:#FFFFFF}}
/* stars and beam */
.hero.dn .sky .stars,.hero.dn .beam{animation:dnOn 32s ease-in-out infinite}
@keyframes dnSun{0%,34%{transform:translateY(0);opacity:1}48%{transform:translateY(160px);opacity:0}90%{transform:translateY(160px);opacity:0}100%{transform:translateY(0);opacity:1}}
@keyframes dnMoon{0%,44%{transform:translateY(-140px);opacity:0}56%,84%{transform:translateY(0);opacity:1}94%,100%{transform:translateY(-140px);opacity:0}}
@media (max-width:900px){.sun,.moon{width:56px;height:56px;top:4%;right:6%}}

/* van becomes the quote form */
.vanbox.fast .wheel img{animation-duration:.2s}
.vanbox.gone{visibility:hidden}
.burst{position:absolute;left:0;top:0;width:110px;height:110px;background:var(--amber);clip-path:polygon(50% 0,61% 33%,96% 22%,70% 50%,98% 76%,62% 66%,50% 100%,38% 66%,2% 76%,30% 50%,4% 22%,39% 33%);opacity:0;pointer-events:none;z-index:6}
.vanbtn{position:absolute;inset:0;z-index:5;background:transparent;border:0;cursor:pointer;padding:0}
.vanbtn:focus-visible{outline:3px solid var(--orange);outline-offset:4px}
.vantag{position:absolute;left:30%;top:-22%;z-index:6;background:var(--orange);color:var(--navy);font-weight:800;font-size:14px;padding:9px 14px 7px;white-space:nowrap;pointer-events:none;animation:tagbob 1.2s ease-in-out infinite alternate}
.vantag::after{content:"";position:absolute;left:24px;bottom:-9px;border:9px solid transparent;border-bottom:0;border-top-color:var(--orange)}
.vantag[hidden]{display:none}
@keyframes tagbob{from{transform:translateY(0)}to{transform:translateY(-6px)}}
@keyframes driveIn{from{transform:translateX(120vw)}to{transform:translateX(0)}}
@keyframes idle{from{transform:translateY(0)}to{transform:translateY(-2px)}}
@keyframes glow{0%,100%{opacity:.2}50%{opacity:1}}
@keyframes lanes{from{background-position:0 0}to{background-position:160px 0}}
@keyframes rise{from{transform:translateY(105%)}to{transform:translateY(0)}}

/* quote form (van livery style) */
.quote{position:relative;width:100%;background:var(--navy);color:var(--white);border:3px solid var(--navy);z-index:4;overflow:hidden}
.quote[hidden]{display:none!important}
.vanslot .quote{position:absolute;right:0;bottom:6px;width:min(500px,100%)}
.quote.show{animation:unfold .9s cubic-bezier(.2,.8,.2,1) both}
@keyframes unfold{from{clip-path:inset(0 0 0 100%)}to{clip-path:inset(0 0 0 0)}}
.quote .stripe{position:absolute;top:0;right:0;width:150px;height:100%;background:var(--orange);clip-path:polygon(62% 0,78% 0,38% 100%,22% 100%);opacity:.95;pointer-events:none}
.quote .qhead{position:relative;display:flex;align-items:center;gap:12px;padding:16px 18px 12px;border-bottom:1px solid var(--navyline)}
.quote .qhead img{height:34px;width:auto;background:var(--white);padding:4px 6px}
.quote .qhead b{display:block;font-size:20px;font-weight:900;line-height:1.1}
.quote .qhead span{font-size:13px;color:var(--mist)}
.quote .x{margin-left:auto;width:40px;height:40px;border:1px solid var(--navyline);background:transparent;color:var(--white);font-size:20px;cursor:pointer;flex:none}
.quote .x:hover{border-color:var(--orange);color:var(--orange)}
.qform{position:relative;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:16px 18px 18px}
@media (max-width:480px){.qform{grid-template-columns:minmax(0,1fr)}}
.qform label{display:grid;gap:5px;font-family:var(--mono);font-size:11px;font-weight:700;color:var(--mist);text-transform:uppercase}
.qform input,.qform select,.qform textarea{width:100%;font:600 15px var(--body);color:var(--ink);background:var(--white);border:2px solid var(--white);padding:10px 10px 8px;min-height:44px;border-radius:0}
.qform input:focus,.qform select:focus{outline:none;border-color:var(--orange)}
.qform .err{font-family:var(--body);font-size:12px;font-weight:700;color:#FFC98A;text-transform:none}
.qform .err:empty{display:none}
.qform .send{grid-column:1/-1;width:100%}
.qform .send[disabled]{opacity:.7;cursor:wait}
.qform .ferr{grid-column:1/-1;margin:0;color:#FFC98A;font-weight:700;font-size:14px}
.qform .hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.quote .done{position:relative;padding:20px 18px 22px;display:grid;gap:12px}
.quote .done p{margin:0;color:#C9D8E6}
.quote .done .n{font-family:var(--mono);font-size:14px;color:var(--white);user-select:all}
@media (max-width:900px){.vanslot.formmode{display:block}.vanslot.formmode .quote{position:relative;bottom:auto;margin-bottom:10px}.vanslot.formmode .vanbox.gone{display:none}}

/* services strip and urgent band */
.onboard{background:var(--navy)}
.onboard .wrap{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding-block:20px}
.onboard .lbl{font-family:var(--mono);font-size:13px;font-weight:700;color:var(--orange);margin-right:8px;text-transform:uppercase}
.chip{border:1px solid #3A5574;color:var(--white);font-size:14px;font-weight:700;padding:9px 13px 7px;text-decoration:none;transition:background-color .15s ease,color .15s ease;background:transparent;font-family:var(--body);cursor:pointer}
.chip:hover{background:var(--orange);color:var(--navy);border-color:var(--orange)}
.urgent{background:var(--white)}
.urgent .wrap{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px;padding-block:28px}
.urgent .box{display:flex;align-items:center;gap:18px;min-width:0;flex:1 1 520px;border:0;background:none}
.tri{flex:none;width:54px;height:48px;background:var(--orange);clip-path:polygon(50% 0,100% 100%,0 100%);display:flex;align-items:flex-end;justify-content:center;font-family:var(--display);font-weight:900;color:var(--navy);font-size:24px;padding-bottom:4px}
.urgent strong{display:block;font-size:20px;font-weight:900}
.urgent span{color:var(--ink2);font-size:15px}

/* van rear: services shelves */
.vanbay{background:var(--navy);color:var(--white)}
.bay{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.25fr);gap:56px;align-items:center}
@media (max-width:960px){.bay{grid-template-columns:minmax(0,1fr)}}
.bay h2{margin:18px 0 12px;color:var(--white)}
.bay .lead{margin:0 0 24px;color:var(--mist);font-size:15px}
.detail{border:1px solid #2E4C6C;border-left:6px solid var(--orange);background:#10273D;animation:fadeIn .35s ease both}
.detail[hidden]{display:none}
@keyframes fadeIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.detail .ph{aspect-ratio:16/9;background:repeating-linear-gradient(-45deg,#173352 0 18px,#12263A 18px 36px);position:relative;overflow:hidden}
.detail .ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.detail .ph .none{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-family:var(--display);font-weight:900;font-size:30px;color:var(--white)}
.detail .tx{padding:20px 24px 22px}
.detail .tag{font-family:var(--mono);font-size:13px;color:var(--orange)}
.detail h3{font-family:var(--display);font-size:24px;font-weight:900;margin:6px 0 8px}
.detail p{margin:0 0 12px;color:#C9D8E6;font-size:15px}
.detail a{color:var(--orange);font-weight:800;font-size:15px}
.rear{position:relative;padding:0 64px}
@media (max-width:600px){.rear{padding:0 26px}}
.door{position:absolute;top:20px;bottom:20px;width:64px;background:#E3E8ED;border:3px solid var(--navy)}
@media (max-width:600px){.door{width:26px}}
.door.l{left:0;transform-origin:right center;transform:skewY(-10deg)}
.door.r{right:0;transform-origin:left center;transform:skewY(10deg)}
.door::before{content:"";position:absolute;left:6px;right:6px;bottom:16px;height:46px;background:repeating-linear-gradient(-45deg,var(--orange) 0 10px,var(--navy) 10px 20px)}
.rear.opening .door.l{animation:doorL 1.4s cubic-bezier(.2,.8,.2,1) both}
.rear.opening .door.r{animation:doorR 1.4s cubic-bezier(.2,.8,.2,1) both}
@keyframes doorL{from{transform:skewY(-10deg) scaleX(.12)}to{transform:skewY(-10deg) scaleX(1)}}
@keyframes doorR{from{transform:skewY(10deg) scaleX(.12)}to{transform:skewY(10deg) scaleX(1)}}
.cargo{border:14px solid #F4F6F8;border-bottom-width:26px;background:var(--navy2);padding:16px;position:relative}
.cargo::after{content:"";position:absolute;left:-14px;right:-14px;bottom:-26px;height:12px;background:repeating-linear-gradient(-45deg,var(--orange) 0 12px,var(--navy) 12px 24px)}
.shelves{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
@media (max-width:700px){.shelves{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:440px){.shelves{grid-template-columns:repeat(2,minmax(0,1fr))}}
.bin{position:relative;text-align:left;border:0;border-bottom:4px solid #0A1826;background:var(--navy3);color:var(--white);padding:28px 12px 12px;min-height:92px;font-family:var(--body);font-size:14px;font-weight:800;line-height:1.2;cursor:pointer;transition:transform .18s ease,background-color .18s ease,color .18s ease}
.bin:hover{transform:translateY(-5px)}
.bin .n{position:absolute;left:0;top:0;background:var(--orange);color:var(--navy);font-family:var(--mono);font-size:11px;font-weight:700;padding:3px 7px 2px}
.bin[aria-pressed="true"]{background:var(--orange);color:var(--navy)}
.bin[aria-pressed="true"] .n{background:var(--navy);color:var(--orange)}

/* crew */
.crew-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:56px;align-items:center}
@media (max-width:900px){.crew-grid{grid-template-columns:minmax(0,1fr)}}
.crew-photo{position:relative;border:3px solid var(--navy);background:var(--navy)}
.crew-photo img{width:100%;aspect-ratio:4/5;object-fit:cover}
.crew-photo .plate{position:absolute;left:-3px;bottom:-3px;background:var(--white);border:3px solid var(--navy);padding:14px 18px 10px}
.crew-photo .plate b{display:block;font-family:var(--display);font-weight:900;font-size:64px;line-height:.9;color:var(--navy)}
.crew-photo .plate b i{font-style:normal;color:var(--orange-ink)}
.crew-photo .plate span{font-family:var(--mono);font-size:12px;font-weight:700;color:var(--blue);text-transform:uppercase}
.crew h2{margin:18px 0 18px}
.facts{display:grid;border-top:2px solid var(--navy)}
.fact{display:grid;grid-template-columns:150px minmax(0,1fr);gap:20px;padding:18px 0;border-bottom:1px solid var(--line)}
@media (max-width:520px){.fact{grid-template-columns:minmax(0,1fr);gap:4px}}
.fact .k{font-family:var(--mono);font-size:13px;font-weight:700;color:var(--blue);text-transform:uppercase;padding-top:3px}
.fact .v{color:var(--ink2);font-size:15px}
.fact .v strong{color:var(--ink);display:block;font-size:18px;margin-bottom:2px}

/* quick fix or project */
.runs{background:var(--white)}
.run-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border:3px solid var(--navy)}
@media (max-width:800px){.run-grid{grid-template-columns:minmax(0,1fr)}}
.run{padding:34px 32px 30px;display:flex;flex-direction:column;gap:16px}
.run+.run{border-left:3px solid var(--navy)}
@media (max-width:800px){.run+.run{border-left:0;border-top:3px solid var(--navy)}}
.run.dark{background:var(--navy);color:var(--white)}
.run .label{font-family:var(--mono);font-size:13px;font-weight:700;text-transform:uppercase}
.run .label.blue{color:var(--blue)}
.run .label.orange{color:var(--orange)}
.run h3{font-family:var(--display);font-weight:900;font-size:28px;line-height:1.05}
.run ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px}
.run li{padding:10px 0 8px;border-bottom:1px solid var(--line);font-size:15px;font-weight:700;display:flex;align-items:center;gap:10px}
.run li::before,.checks li::before{content:"";flex:none;width:12px;height:14px;background:var(--orange);clip-path:polygon(35% 0,65% 0,100% 100%,0 100%)}
.run.dark li{border-color:var(--navyline)}
.run .foot{margin-top:auto;display:flex;flex-wrap:wrap;align-items:center;gap:14px;padding-top:8px}
.run .foot span{font-size:14px;color:var(--ink2)}
.run.dark .foot span{color:var(--mist)}

/* galleries */
.gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:280px;gap:12px}
@media (max-width:900px){.gallery{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:220px}}
@media (max-width:480px){.gallery{grid-auto-rows:180px}}
.pgal{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:260px;gap:12px}
@media (max-width:900px){.pgal{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:200px}}
.pgal .shot.t{grid-row:span 2}
.strip4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
@media (max-width:800px){.strip4{grid-template-columns:repeat(2,minmax(0,1fr))}}
.strip4 .shot{aspect-ratio:3/4}
.shot{position:relative;overflow:hidden;background:var(--navy);margin:0}
.gallery .shot.w{grid-column:span 2}
@media (max-width:480px){.gallery .shot.w{grid-column:span 2}}
.shot img{width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.2,.8,.2,1)}
.shot:hover img{transform:scale(1.05)}
.shot figcaption{position:absolute;left:0;bottom:0;background:var(--navy);color:var(--white);padding:10px 14px 8px;max-width:calc(100% - 20px)}
.shot figcaption b{display:block;font-family:var(--mono);font-size:11px;color:var(--orange);text-transform:uppercase}
.shot figcaption span{font-size:14px;font-weight:700}

/* how it works: road track */
.route{background:var(--paper)}
.route.band-white{background:var(--white)}
.route h2{margin:18px 0 44px}
.track{position:relative;height:44px;background:var(--asphalt);margin-top:60px}
.track .dash{position:absolute;left:0;right:0;top:19px;height:5px;background-image:repeating-linear-gradient(90deg,#F2F2F2 0 40px,transparent 40px 80px);animation:lanes .9s linear infinite}
.track .fill{position:absolute;left:0;top:19px;height:5px;width:0;background:var(--orange);transition:width .2s linear;z-index:1}
.track .mini{position:absolute;right:16px;bottom:16px;width:160px;z-index:2}
.track .mini .wheel img{animation-duration:.4s}
.stops{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-left:1px solid var(--line)}
@media (max-width:760px){.stops{grid-template-columns:repeat(2,minmax(0,1fr))}.track .mini{width:120px}}
.stop{border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:24px 22px 22px;transition:background-color .3s ease;background:transparent}
.stop .s{font-family:var(--mono);font-size:13px;font-weight:700;color:var(--blue)}
.stop h3{font-family:var(--display);font-size:19px;font-weight:900;margin:10px 0 6px}
.stop p{margin:0;font-size:14px;color:var(--ink2)}
.stop.lit{background:var(--white);box-shadow:inset 0 4px 0 var(--orange)}
.route.band-white .stop.lit{background:var(--paper)}
.stop.lit .s{color:var(--orange-ink)}

/* counters */
.dash-band{background:var(--tarmac);color:var(--white)}
.dash-band .wrap{display:flex;flex-wrap:wrap;gap:40px;align-items:center;justify-content:space-between;padding-block:64px}
.gauges{display:flex;flex-wrap:wrap;gap:40px}
.gauge .cap{font-family:var(--mono);font-size:12px;color:#9AA6B2;margin-bottom:10px;text-transform:uppercase}
.odo{display:flex;gap:4px}
.cell{width:44px;height:62px;background:#0B0D0F;border:1px solid #3A4048;overflow:hidden;position:relative}
.cell .col{position:absolute;left:0;right:0;top:0;transition:transform 1.4s cubic-bezier(.2,.8,.2,1)}
.cell .col span{display:flex;height:62px;align-items:center;justify-content:center;font-family:var(--mono);font-size:34px;font-weight:700;color:var(--white);font-variant-numeric:tabular-nums}
.cell.hot .col span{color:var(--orange)}
.dash-cta{display:flex;flex-direction:column;gap:10px;min-width:min(280px,100%)}
.dash-cta .num{font-family:var(--mono);font-weight:700;font-size:16px;text-align:center;border:2px solid #5B6672;padding:14px 24px 12px;user-select:all}

/* reviews */
.tickets{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
@media (max-width:1000px){.tickets{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.tickets{grid-template-columns:minmax(0,1fr)}}
.ticket{background:var(--white);border:1px solid var(--line);border-top:5px solid var(--navy);display:flex;flex-direction:column}
.ticket .th{display:flex;justify-content:space-between;gap:8px;padding:12px 16px 10px;border-bottom:1px dashed var(--line);font-family:var(--mono);font-size:12px;font-weight:700;color:var(--blue);text-transform:uppercase}
.ticket p{margin:0;padding:16px;font-size:15px;color:var(--ink2);flex:1}
.ticket .who{padding:12px 16px 14px;display:flex;justify-content:space-between;gap:8px;align-items:baseline;border-top:1px solid var(--line)}
.ticket .who b{font-size:15px}
.ticket .who span{font-size:13px;color:var(--ink2)}
.stars{color:var(--orange-ink);letter-spacing:2px}
.review-one{border:3px solid var(--navy);background:var(--white);display:grid;grid-template-columns:auto minmax(0,1fr);margin:0}
@media (max-width:640px){.review-one{grid-template-columns:minmax(0,1fr)}}
.review-one .l{background:var(--navy);color:var(--orange);font-family:var(--display);font-weight:900;font-size:80px;line-height:1;padding:20px 28px}
.review-one .r{padding:24px 28px;margin:0}
.review-one p{margin:0 0 12px;font-size:19px;font-weight:600}
.review-one figcaption{color:var(--ink2);font-size:14px}

/* areas band */
.areas{background:var(--navy);color:var(--white);overflow:hidden}
.areas .wrap:first-child{padding-block:80px 28px}
.areas h2{margin:18px 0 10px;color:var(--white)}
.areas .wrap>p{margin:0;color:var(--mist);max-width:560px}
.marquee{display:flex;overflow:hidden;border-top:1px solid var(--navyline);border-bottom:1px solid var(--navyline);margin-top:14px}
.marquee .belt{display:flex;flex:none;animation:belt 60s linear infinite}
.marquee.rev .belt{animation-direction:reverse;animation-duration:70s}
.marquee span{flex:none;padding:16px 26px 12px;font-family:var(--display);font-weight:900;font-size:22px;white-space:nowrap;border-right:1px solid var(--navyline)}
.marquee span i{font-style:normal;color:var(--orange);margin-right:12px;font-family:var(--mono);font-size:13px}
@keyframes belt{to{transform:translateX(-100%)}}
.areas .links{display:flex;flex-wrap:wrap;gap:10px;padding-block:28px 80px}

/* faq */
.faq-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.4fr);gap:56px}
@media (max-width:900px){.faq-grid{grid-template-columns:minmax(0,1fr);gap:32px}}
.faq h2{margin:18px 0 14px}
.faq .side p{color:var(--ink2);margin:0 0 20px}
details{border-top:1px solid var(--line)}
.faq-list details:last-child{border-bottom:1px solid var(--line)}
summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:16px;padding:20px 0 16px;font-weight:800;font-size:17px}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";font-family:var(--mono);font-size:22px;line-height:1;color:var(--orange-ink);transition:transform .2s ease}
details[open] summary::after{transform:rotate(45deg)}
details .ans{color:var(--ink2);max-width:68ch;padding-bottom:12px}
details .ans p{margin:0 0 10px}

/* final band */
.final{background:var(--asphalt);color:var(--white);overflow:hidden}
.final .wrap{padding-block:80px 0;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:40px;align-items:end}
@media (max-width:860px){.final .wrap{grid-template-columns:minmax(0,1fr)}}
.final-text{padding-bottom:48px}
.final h2{color:var(--white);font-size:clamp(30px,3.8vw,44px);margin:18px 0 14px}
.final p{color:#B8C2CC;margin:0 0 24px}
.final .num{font-family:var(--mono);font-size:14px;color:#B8C2CC;margin-top:14px;user-select:all}
.park{position:relative;min-height:170px;display:flex;align-items:flex-end;justify-content:flex-end}
.parkvan{position:relative;width:min(440px,92%);margin-bottom:-6px;transform:translateX(140%);transition:transform 2.2s cubic-bezier(.16,.84,.3,1)}
.parkvan .wheel img{animation-play-state:paused}
.final.in .parkvan{transform:translateX(0)}
.final.in .parkvan .wheel img{animation-play-state:running;animation-iteration-count:5}
.final .kerb{height:56px;background:var(--tarmac);display:flex;align-items:center}
.final .kerb div{width:100%;height:5px;background-image:repeating-linear-gradient(90deg,#F2F2F2 0 60px,transparent 60px 120px)}

/* footer */
.site-foot{background:var(--navy);color:var(--mist);font-size:14px}
.fgrid{display:grid;grid-template-columns:minmax(0,1.3fr) repeat(3,minmax(0,1fr));gap:32px;padding-block:56px 40px}
@media (max-width:860px){.fgrid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:480px){.fgrid{grid-template-columns:minmax(0,1fr)}}
.site-foot .fh{font-family:var(--mono);font-size:12px;color:var(--orange);text-transform:uppercase;margin:0 0 14px;font-weight:700;letter-spacing:0}
.site-foot .fh2{margin-top:24px}
.site-foot ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.site-foot a{color:var(--white);text-decoration:none}
.site-foot a:hover{color:var(--orange)}
.site-foot .fall{color:var(--orange)}
.site-foot .badge{background:var(--white);display:inline-block;padding:10px 14px;margin-bottom:14px}
.site-foot .badge img{height:44px;width:auto}
.fabout{margin:0 0 10px;max-width:36ch}
.flic{font-family:var(--mono);font-size:12px;margin:0 0 10px}
.fsoc{display:flex;gap:14px;margin:0}
.site-foot .legal{border-top:1px solid var(--navyline)}
.site-foot .legal .wrap{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;padding-block:18px}
.llinks{display:flex;gap:16px}
.bar{display:none}
@media (max-width:700px){
  .bar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:55;border-top:3px solid var(--navy);padding-bottom:env(safe-area-inset-bottom,0px);background:var(--white)}
  .bar a{flex:1;text-align:center;padding:16px 16px 14px;font-weight:800;text-decoration:none;font-size:15px}
  .bar a:first-child{background:var(--white);color:var(--navy);border-right:3px solid var(--navy)}
  .bar a:last-child{background:var(--orange);color:var(--navy)}
  .site-foot .legal{padding-bottom:60px}
}

/* inner page hero */
.crumbs{font-family:var(--mono);font-size:12px;color:var(--ink2);display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px}
.crumbs a{color:var(--blue);text-decoration:none}
.crumbs a:hover{text-decoration:underline}
.s-hero{background:var(--paper);position:relative}
.s-hero>.wrap{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px;align-items:center;padding-block:48px 72px}
.s-hero>.wrap.end{align-items:end;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr)}
.s-hero.simple>.wrap{grid-template-columns:minmax(0,1fr);max-width:1240px}
.s-hero.simple>.wrap>div{max-width:860px}
@media (max-width:900px){.s-hero>.wrap,.s-hero>.wrap.end{grid-template-columns:minmax(0,1fr);gap:32px;padding-block:32px 56px}}
.s-hero h1{font-family:var(--display);font-weight:900;font-size:clamp(34px,4.4vw,54px);line-height:1.02;letter-spacing:-.02em;margin:18px 0 0}
.s-hero .sub{margin:18px 0 24px;color:var(--ink2);font-size:17px;max-width:52ch}
.brands{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px;align-items:center}
.brands b{font-family:var(--mono);font-size:12px;color:var(--ink2);text-transform:uppercase;margin-right:4px}
.brands span{border:2px solid var(--navy);padding:6px 10px 4px;font-weight:800;font-size:14px;background:var(--white)}
.stack{position:relative;padding:0 0 40px 40px}
.stack.single{padding:0 0 0 0}
@media (max-width:520px){.stack{padding:0 0 30px 14px}}
.stack .main{border:3px solid var(--navy);background:var(--navy);position:relative}
.stack .main img{width:100%;aspect-ratio:4/3;object-fit:cover}
.stack .side{position:absolute;left:0;bottom:0;width:38%;border:3px solid var(--navy);background:var(--navy)}
.stack .side img{width:100%;aspect-ratio:3/4;object-fit:cover}
.ph-sign{aspect-ratio:4/3;display:flex;flex-direction:column;justify-content:center;padding:28px 30px 44px;background:var(--sign);box-shadow:inset 0 0 0 9px var(--sign),inset 0 0 0 12px var(--white);position:relative}
.ph-sign b{font-family:var(--display);font-weight:900;font-size:clamp(30px,4vw,46px);line-height:1;color:var(--white)}
.ph-sign span{font-family:var(--mono);font-size:12px;color:#CFE0F0;margin-top:10px;text-transform:uppercase}
.ph-sign::after{content:"";position:absolute;left:12px;right:12px;bottom:12px;height:14px;background:repeating-linear-gradient(-45deg,var(--orange) 0 14px,var(--navy) 14px 28px)}
.ticket-card{position:absolute;right:-6px;top:20px;background:var(--white);border:3px solid var(--navy);width:min(260px,62%);font-size:13px}
.stack.single .ticket-card{right:12px;top:auto;bottom:-24px}
.ticket-card .h{background:var(--orange);color:var(--navy);font-family:var(--mono);font-weight:700;font-size:12px;padding:8px 12px 6px;text-transform:uppercase}
.ticket-card dl{margin:0;padding:10px 12px;display:grid;grid-template-columns:auto minmax(0,1fr);gap:6px 10px}
.ticket-card dt{font-family:var(--mono);font-size:11px;color:var(--blue);text-transform:uppercase;padding-top:2px}
.ticket-card dd{margin:0;font-weight:700}
@media (max-width:520px){.ticket-card{position:relative;right:auto;top:auto;bottom:auto;width:100%;margin-top:12px}.stack.single .ticket-card{bottom:auto;right:auto}}
.passing{position:relative;z-index:2;height:64px;background:var(--asphalt);border-top:4px solid #3A4048;clip-path:inset(-160px 0 0 0)}
.passing .lanes{position:absolute;left:0;right:0;top:29px;height:5px}
.cruiser{position:absolute;left:0;bottom:14px;width:220px;will-change:transform;animation:cross 16s linear infinite}
.cruiser .inner{position:relative;animation:idle .32s ease-in-out infinite alternate}
.cruiser .vanimg{filter:drop-shadow(0 5px 3px rgba(0,0,0,.45))}
.cruiser::after{content:"";position:absolute;left:6%;right:4%;bottom:-6px;height:12px;background:rgba(0,0,0,.45);filter:blur(5px);z-index:-1}
.cruiser .wheel img{animation-duration:.4s}
@keyframes cross{from{transform:translateX(calc(100vw + 20px))}to{transform:translateX(-280px)}}
@media (max-width:600px){.cruiser{width:160px}}

.facts-strip{background:var(--navy);color:var(--white)}
.facts-strip .wrap{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}
@media (max-width:800px){.facts-strip .wrap{grid-template-columns:repeat(2,minmax(0,1fr))}}
.facts-strip .f{padding:22px 18px 18px;border-left:1px solid var(--navyline)}
.facts-strip .f:last-child{border-right:1px solid var(--navyline)}
.facts-strip b{display:block;font-family:var(--display);font-weight:900;font-size:26px;color:var(--orange)}
.facts-strip span{font-size:14px;color:var(--mist)}

.svc-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:3px solid var(--navy);border-left:1px solid var(--line)}
@media (max-width:900px){.svc-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.svc-grid{grid-template-columns:minmax(0,1fr)}}
.svc{padding:26px 24px 24px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--white);display:flex;flex-direction:column;gap:8px}
.svc .tag{font-family:var(--mono);font-size:11px;font-weight:700;color:var(--blue);text-transform:uppercase}
.svc h3{font-family:var(--display);font-weight:900;font-size:21px;line-height:1.1}
.svc p{margin:0;color:var(--ink2);font-size:15px}

/* main article + side box */
.guide{background:var(--white);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.guide-grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:64px;align-items:start}
@media (max-width:1000px){.guide-grid{grid-template-columns:minmax(0,1fr);gap:36px}}
.guide .prose{max-width:760px}
.guide .prose>.kicker{margin-bottom:6px}
.guide-side{display:grid;gap:18px;position:sticky;top:120px}
@media (max-width:1000px){.guide-side{position:static}}
.prose{font-size:17px;line-height:1.75;color:#24333F}
.prose>*:first-child{margin-top:0}
.prose h2{font-size:clamp(24px,2.5vw,30px);margin:44px 0 14px;color:var(--ink)}
.prose .kicker+h2{margin-top:20px}
.prose h3{font-family:var(--display);font-size:21px;font-weight:900;margin:30px 0 10px;color:var(--ink);line-height:1.2}
.prose h4{font-size:18px;margin:24px 0 8px}
.prose p{margin:0 0 18px}
.prose ul,.prose ol{margin:0 0 22px;padding-left:22px}
.prose li{margin-bottom:8px}
.prose li::marker{color:var(--orange-ink);font-weight:800}
.prose a{color:var(--blue);text-decoration-thickness:2px;text-underline-offset:3px}
.prose a:hover{color:var(--orange-ink)}
.prose strong{color:var(--ink)}
.prose img{height:auto}
.prose blockquote,.prose .note{margin:0 0 22px;background:var(--paper);border:2px solid var(--line);border-top:4px solid var(--orange);padding:16px 18px}
.prose blockquote p:last-child,.prose .note p:last-child{margin:0}
.prose table{border-collapse:collapse;width:100%;font-size:15px;background:var(--white);margin:0 0 22px;display:block;overflow-x:auto}
.prose th{background:var(--navy);color:var(--white);text-align:left;font-size:14px;padding:12px 14px 10px}
.prose td{padding:12px 14px 10px;border-top:1px solid var(--line);vertical-align:top}
.prose figure{margin:0 0 22px}
.prose figcaption{font-size:13px;color:var(--ink2);margin-top:6px}
.prose.narrow{max-width:780px}
.prose.cols{columns:2 380px;column-gap:56px}
.prose.cols h2,.prose.cols h3{break-after:avoid}
.prose.cols p{break-inside:avoid-column}
.help{background:var(--navy);color:var(--white);border:2px solid var(--navy);padding:22px 20px 20px;position:relative;overflow:hidden;display:grid;gap:10px}
.help .tri{width:42px;height:38px;font-size:19px;padding-bottom:2px}
.help b{display:block;font-size:20px;font-weight:900;line-height:1.15}
.help p{margin:0 0 6px;color:var(--mist);font-size:14px}
.help .btn{width:100%}
.help .num{font-family:var(--mono);font-size:13px;color:var(--mist);text-align:center;user-select:all}
.box{background:var(--white);border:2px solid var(--navy)}
.box h4,.box .bh{margin:0;background:var(--navy);color:var(--white);font-family:var(--mono);font-size:12px;text-transform:uppercase;padding:10px 14px 8px;font-weight:700;letter-spacing:0}
.box ul{list-style:none;margin:0;padding:6px 14px 10px}
.box li a{display:flex;justify-content:space-between;gap:10px;padding:10px 0 8px;border-bottom:1px solid var(--line);text-decoration:none;font-weight:700;font-size:14px;line-height:1.35}
.box li:last-child a{border-bottom:0}
.box li a:hover{color:var(--blue)}
.box li a span{font-family:var(--mono);color:var(--ink2);font-weight:400}

/* photo sections */
.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:56px;align-items:center}
.split.rev .pic{order:2}
@media (max-width:900px){.split{grid-template-columns:minmax(0,1fr);gap:32px}.split.rev .pic{order:0}}
.pic{border:3px solid var(--navy);background:var(--navy);position:relative}
.pic img{width:100%;aspect-ratio:4/3;object-fit:cover}
.pic .cap{position:absolute;left:0;bottom:0;background:var(--navy);color:var(--white);font-family:var(--mono);font-size:11px;font-weight:700;padding:8px 12px 6px;text-transform:uppercase}
.split h2{margin:18px 0 14px}
.dtext{color:var(--ink2);max-width:60ch}
.dtext p{margin:0 0 16px}
.checks{list-style:none;margin:8px 0 24px;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px;border-top:2px solid var(--navy)}
@media (max-width:520px){.checks{grid-template-columns:minmax(0,1fr)}}
.checks li{padding:11px 0 9px;border-bottom:1px solid var(--line);font-weight:700;font-size:15px;display:flex;gap:10px;align-items:center}

.why-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border:3px solid var(--navy)}
.why-grid.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.why-grid.cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}
@media (max-width:1000px){.why-grid,.why-grid.cols-3,.why-grid.cols-4{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:520px){.why-grid,.why-grid.cols-3,.why-grid.cols-4{grid-template-columns:minmax(0,1fr)}}
.why{padding:22px 20px 20px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--white)}
.why:nth-child(odd){background:#F6F8FA}
.why h3{font-family:var(--display);font-weight:900;font-size:18px;margin:0 0 6px}
.why p{margin:0;font-size:14px;color:var(--ink2)}
.why .lic{font-family:var(--mono);font-size:12px;color:var(--blue);display:block;margin-top:6px}

.quote-band{background:var(--asphalt);color:var(--white)}
.quote-band .wrap{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px;align-items:center;padding-block:80px}
@media (max-width:900px){.quote-band .wrap{grid-template-columns:minmax(0,1fr)}}
.quote-band h2{color:var(--white);margin:18px 0 14px}
.quote-band p{color:#B8C2CC;margin:0 0 20px}
.quote-band .num{font-family:var(--mono);color:#B8C2CC;user-select:all}

.others{display:flex;flex-wrap:wrap;gap:10px}
.others a{border:2px solid var(--navy);padding:10px 14px 8px;text-decoration:none;font-weight:800;font-size:14px;background:var(--white);transition:background-color .15s,color .15s}
.others a:hover{background:var(--sign);border-color:var(--sign);color:var(--white)}

/* area page */
.dsign{position:relative;padding-bottom:70px}
.dsign .board{background:var(--sign);color:var(--white);padding:22px 22px 18px;box-shadow:inset 0 0 0 6px var(--sign),inset 0 0 0 9px var(--white);position:relative;z-index:2}
.dsign .here{display:flex;align-items:center;gap:14px;padding:4px 6px 16px;border-bottom:3px solid var(--white)}
.dsign .pin{flex:none;width:46px;height:46px;background:var(--orange);clip-path:polygon(50% 100%,12% 46%,12% 22%,30% 4%,70% 4%,88% 22%,88% 46%);position:relative;animation:pinbob 1.4s ease-in-out infinite alternate}
.dsign .pin::after{content:"";position:absolute;left:36%;top:22%;width:28%;height:28%;background:var(--navy)}
@keyframes pinbob{from{transform:translateY(0)}to{transform:translateY(-5px)}}
.dsign .here b{display:block;font-family:var(--display);font-weight:900;font-size:28px;line-height:1}
.dsign .here span{font-family:var(--mono);font-size:12px;color:#CFE0F0;text-transform:uppercase}
.dsign ul{list-style:none;margin:0;padding:10px 0 0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px}
@media (max-width:480px){.dsign ul{grid-template-columns:minmax(0,1fr)}}
.dsign li a,.dsign li .nolink{display:flex;align-items:center;gap:12px;padding:10px 6px 8px;color:var(--white);text-decoration:none;font-weight:800;font-size:16px;border-bottom:1px solid rgba(255,255,255,.25)}
.dsign li a:hover{color:var(--orange)}
.dsign li i{font-style:normal;font-size:20px;width:22px;text-align:center;color:var(--orange)}
.dsign .posts{position:absolute;left:14%;right:14%;bottom:0;height:80px;display:flex;justify-content:space-between;z-index:1}
.dsign .posts span{width:14px;background:#8C99A6;border:2px solid #5F6C78}
.fixes{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
@media (max-width:1000px){.fixes{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:520px){.fixes{grid-template-columns:minmax(0,1fr)}}
.fix{border:2px solid var(--navy);background:var(--white);display:flex;flex-direction:column}
.fix .prob{padding:18px 18px 14px;display:flex;gap:12px;align-items:flex-start}
.fix .tri{width:34px;height:30px;font-size:15px;padding-bottom:1px}
.fix h3{font-family:var(--display);font-weight:900;font-size:19px;line-height:1.1}
.fix p{margin:4px 0 0;color:var(--ink2);font-size:14px}
.fix a{margin-top:auto;display:flex;justify-content:space-between;align-items:center;background:var(--navy);color:var(--white);text-decoration:none;font-weight:800;font-size:14px;padding:12px 18px 10px;transition:background-color .15s,color .15s}
.fix a span{color:var(--orange)}
.fix a:hover{background:var(--orange);color:var(--navy)}
.fix a:hover span{color:var(--navy)}
.svlist{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:3px solid var(--navy);border-left:1px solid var(--line)}
@media (max-width:1000px){.svlist{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:520px){.svlist{grid-template-columns:minmax(0,1fr)}}
.sv{background:var(--white);border-right:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;flex-direction:column}
.sv .ph{aspect-ratio:16/9;background:var(--sign);position:relative;overflow:hidden;display:block}
.sv .ph img{width:100%;height:100%;object-fit:cover}
.sv .ph .sign{position:absolute;inset:0;display:flex;align-items:center;padding:0 18px;box-shadow:inset 0 0 0 6px var(--sign),inset 0 0 0 8px var(--white);font-family:var(--display);font-weight:900;font-size:22px;color:var(--white)}
.sv .t{padding:16px 18px 18px;display:flex;flex-direction:column;gap:6px;flex:1}
.sv h3{font-family:var(--display);font-weight:900;font-size:19px}
.sv p{margin:0;font-size:14px;color:var(--ink2)}
.sv .t a{margin-top:auto;padding-top:8px;font-weight:800;font-size:14px;color:var(--blue);text-decoration:none}
.sv .t a:hover{color:var(--orange-ink)}
.near{display:flex;flex-wrap:wrap;gap:10px}
.near a,.near span{border:2px solid var(--navy);padding:10px 14px 8px;font-weight:800;font-size:14px;background:var(--white);text-decoration:none}
.near a{background:var(--navy);color:var(--white)}
.near a:hover{background:var(--orange);border-color:var(--orange);color:var(--navy)}
.near-text{margin:-14px 0 24px;color:var(--ink2);max-width:640px}
.acards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
@media (max-width:1000px){.acards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:520px){.acards{grid-template-columns:minmax(0,1fr)}}
.acard{display:flex;flex-direction:column;border:2px solid var(--navy);background:var(--white);text-decoration:none;transition:transform .2s ease,box-shadow .2s ease}
.acard:hover{transform:translateY(-4px);box-shadow:6px 6px 0 var(--orange)}
.acard .am{aspect-ratio:16/9;position:relative;background:var(--sign);overflow:hidden;display:block}
.acard .am img{width:100%;height:100%;object-fit:cover}
.acard .sign{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;padding:14px 18px 20px;box-shadow:inset 0 0 0 6px var(--sign),inset 0 0 0 8px var(--white)}
.acard .sign b{font-family:var(--display);font-weight:900;font-size:24px;color:var(--white);line-height:1}
.acard .sign span{font-family:var(--mono);font-size:11px;color:#CFE0F0;margin-top:6px;text-transform:uppercase}
.acard .at{display:flex;flex-direction:column;gap:6px;padding:14px 16px 16px;flex:1}
.acard .at b{font-size:18px;font-weight:900}
.acard .at span{font-size:14px;color:var(--ink2)}
.acard .at i{font-style:normal;font-weight:800;color:var(--blue);margin-top:auto;font-size:14px}

/* services page */
.finder{background:var(--navy);color:var(--white);border:3px solid var(--navy);position:relative}
.finder .h{display:flex;justify-content:space-between;align-items:center;padding:14px 18px 10px;border-bottom:1px solid var(--navyline)}
.finder .h b{font-size:18px;font-weight:900}
.finder .h span{font-family:var(--mono);font-size:12px;color:var(--orange)}
.finder .body{padding:16px 18px 18px;display:grid;gap:14px}
.finder label{font-family:var(--mono);font-size:11px;font-weight:700;color:var(--mist);text-transform:uppercase;display:grid;gap:6px}
.finder input{width:100%;font:600 16px var(--body);color:var(--ink);background:var(--white);border:2px solid var(--white);padding:12px 12px 10px;min-height:48px;border-radius:0}
.finder input:focus{outline:none;border-color:var(--orange)}
.cats{display:flex;flex-wrap:wrap;gap:8px}
.cat{border:1px solid #3A5574;background:transparent;color:var(--white);font:700 14px var(--body);padding:9px 13px 7px;cursor:pointer;min-height:40px}
.cat:hover{border-color:var(--orange)}
.cat[aria-pressed="true"]{background:var(--orange);border-color:var(--orange);color:var(--navy)}
.finder .stripe{position:absolute;left:0;right:0;bottom:-15px;height:12px;background:repeating-linear-gradient(-45deg,var(--orange) 0 14px,var(--navy) 14px 28px)}
.list-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:28px}
.list-head h2{margin-top:18px}
.count{font-family:var(--mono);font-size:13px;font-weight:700;color:var(--blue)}
.cgroup{margin-bottom:44px}
.cgroup[hidden]{display:none}
.ghead{font-family:var(--mono);font-size:13px;color:var(--orange-ink);text-transform:uppercase;border-bottom:3px solid var(--navy);padding-bottom:8px;margin-bottom:18px}
.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
@media (max-width:1000px){.cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:600px){.cards{grid-template-columns:minmax(0,1fr)}}
.card{background:var(--white);border:2px solid var(--navy);display:flex;flex-direction:column;transition:transform .2s ease,box-shadow .2s ease}
.card[hidden]{display:none}
.card:hover{transform:translateY(-4px);box-shadow:6px 6px 0 var(--orange)}
.card .media{position:relative;aspect-ratio:16/10;background:var(--navy);overflow:hidden;display:block}
.card .media img{width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.2,.8,.2,1)}
.card:hover .media img{transform:scale(1.05)}
.card .sign,.post .sign,.feature .sign{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;padding:20px 22px 30px;background:var(--sign);box-shadow:inset 0 0 0 8px var(--sign),inset 0 0 0 11px var(--white)}
.card .sign b,.post .sign b,.feature .sign b{font-family:var(--display);font-weight:900;font-size:30px;line-height:1;color:var(--white)}
.card .sign span,.post .sign span,.feature .sign span{font-family:var(--mono);font-size:12px;color:#CFE0F0;margin-top:8px;text-transform:uppercase}
.card .sign::after,.post .sign::after,.feature .sign::after{content:"";position:absolute;left:11px;right:11px;bottom:11px;height:12px;background:repeating-linear-gradient(-45deg,var(--orange) 0 12px,var(--navy) 12px 24px)}
.card .cattag{position:absolute;left:0;top:0;background:var(--orange);color:var(--navy);font-family:var(--mono);font-size:11px;font-weight:700;padding:6px 10px 4px;text-transform:uppercase;z-index:2}
.card .txt{padding:20px 20px 18px;display:flex;flex-direction:column;gap:10px;flex:1}
.card h3{font-family:var(--display);font-weight:900;font-size:23px;line-height:1.05}
.card h3 a{text-decoration:none}
.card p{margin:0;color:var(--ink2);font-size:15px}
.card ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px}
.card li{font-size:12px;font-weight:700;border:1px solid var(--line);padding:5px 8px 3px;color:var(--ink2)}
.card .acts{margin-top:auto;display:flex;align-items:stretch;border-top:1px solid var(--line);padding-top:14px;gap:10px;flex-wrap:wrap}
.card .acts a.more{font-weight:800;font-size:15px;color:var(--blue);text-decoration:none;border-bottom:3px solid var(--orange);align-self:center;padding-bottom:2px}
.card .acts a.book{margin-left:auto;background:var(--navy);color:var(--white);font-weight:800;font-size:14px;padding:10px 14px 8px;text-decoration:none}
.card .acts a.book:hover{background:var(--orange);color:var(--navy)}
.empty{border:2px dashed var(--line);padding:32px;text-align:center;color:var(--ink2);background:var(--white)}
.empty b{display:block;color:var(--ink);font-size:18px;margin-bottom:6px}

/* contact */
.cboxes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:8px 0 22px}
@media (max-width:520px){.cboxes{grid-template-columns:minmax(0,1fr)}}
.cbox{display:flex;flex-direction:column;gap:4px;border:2px solid var(--navy);background:var(--white);padding:14px 16px 12px;text-decoration:none}
.cbox span{font-family:var(--mono);font-size:11px;font-weight:700;text-transform:uppercase;color:var(--blue)}
.cbox b{font-size:17px}
.cbox.wa{background:var(--orange);border-color:var(--orange)}
.cbox.wa span{color:var(--navy)}
a.cbox:hover{box-shadow:5px 5px 0 var(--navy)}
.hours h2{font-size:20px;margin-bottom:8px}
.hours ul{margin:0;padding-left:20px;color:var(--ink2)}
.mapwrap iframe{display:block;width:100%;height:420px;border:0;filter:grayscale(.2)}

/* blog */
.b-hero{background:var(--paper);position:relative}
.b-hero>.wrap{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:48px;align-items:end;padding-block:48px 64px}
@media (max-width:900px){.b-hero>.wrap{grid-template-columns:minmax(0,1fr);gap:24px;padding-block:32px 48px}}
.b-hero h1{font-family:var(--display);font-weight:900;font-size:clamp(34px,4.4vw,54px);line-height:1.02;letter-spacing:-.02em;margin:18px 0 0}
.b-hero .sub{margin:18px 0 0;color:var(--ink2);font-size:17px;max-width:50ch}
.bsearch label{font-family:var(--mono);font-size:11px;font-weight:700;color:var(--ink2);text-transform:uppercase;display:grid;gap:6px}
.bsearch .box{display:flex;border:3px solid var(--navy);background:var(--white)}
.bsearch input[type=search]{flex:1;min-width:0;font:600 16px var(--body);color:var(--ink);border:0;padding:14px 14px 12px;background:transparent;border-radius:0}
.bsearch input:focus{outline:none}
.bsearch .box:focus-within{border-color:var(--orange)}
.bsearch .go{background:var(--navy);color:var(--white);border:0;padding:0 18px;font:800 15px var(--body);cursor:pointer}
.topics{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.topic{border:2px solid var(--navy);background:var(--white);color:var(--ink);font:800 14px var(--body);padding:8px 12px 6px;text-decoration:none;min-height:40px;display:inline-flex;align-items:center}
.topic:hover{border-color:var(--orange)}
.topic[aria-current="page"]{background:var(--sign);border-color:var(--sign);color:var(--white)}
.feature{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);border:3px solid var(--navy);background:var(--white);margin-bottom:28px}
@media (max-width:860px){.feature{grid-template-columns:minmax(0,1fr)}}
.feature .media{position:relative;min-height:300px;background:var(--navy);display:block}
.feature .media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.feature .badge{position:absolute;left:0;top:0;background:var(--orange);color:var(--navy);font-family:var(--mono);font-weight:700;font-size:12px;padding:8px 12px 6px;text-transform:uppercase;z-index:2}
.feature .t{padding:32px 32px 28px;display:flex;flex-direction:column;gap:14px}
.feature h2{font-size:clamp(26px,2.8vw,34px)}
.feature h2 a{text-decoration:none}
.feature h2 a:hover{color:var(--blue)}
.feature p{margin:0;color:var(--ink2);font-size:16px}
.pmeta{display:flex;flex-wrap:wrap;gap:14px;font-family:var(--mono);font-size:12px;font-weight:700;color:var(--blue);text-transform:uppercase}
.readmore{margin-top:auto;font-weight:800;color:var(--ink);text-decoration:none;border-bottom:3px solid var(--orange);align-self:flex-start;padding-bottom:2px}
.readmore:hover{color:var(--orange-ink)}
.blog-grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:40px;align-items:start}
@media (max-width:1000px){.blog-grid{grid-template-columns:minmax(0,1fr)}}
.posts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
@media (max-width:640px){.posts{grid-template-columns:minmax(0,1fr)}}
.post{background:var(--white);border:2px solid var(--navy);display:flex;flex-direction:column;transition:transform .2s ease,box-shadow .2s ease}
.post:hover{transform:translateY(-4px);box-shadow:6px 6px 0 var(--orange)}
.post .media{position:relative;aspect-ratio:16/9;background:var(--navy);overflow:hidden;display:block}
.post .media img{width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.2,.8,.2,1)}
.post:hover .media img{transform:scale(1.05)}
.post .tag{position:absolute;left:0;top:0;z-index:2;background:var(--orange);color:var(--navy);font-family:var(--mono);font-weight:700;font-size:11px;padding:6px 10px 4px;text-transform:uppercase}
.post .t{padding:18px;display:flex;flex-direction:column;gap:10px;flex:1}
.post h3{font-family:var(--display);font-weight:900;font-size:20px;line-height:1.15}
.post h3 a{text-decoration:none}
.post h3 a:hover{color:var(--blue)}
.post p{margin:0;color:var(--ink2);font-size:14px}
.pager{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:28px;font-family:var(--mono);font-size:13px;font-weight:700}
.pager .page-numbers,.pager a,.pager>span{border:2px solid var(--navy);padding:10px 14px 8px;text-decoration:none}
.pager .current{background:var(--navy);color:var(--white)}
.pager a:hover{background:var(--orange);border-color:var(--orange)}
.pager .dots{border-color:transparent}
.bside{display:grid;gap:18px;position:sticky;top:120px}
@media (max-width:1000px){.bside{position:static}}
.tags{display:flex;flex-wrap:wrap;gap:6px;padding:12px 14px 14px}
.tags a{font-size:12px;font-weight:700;border:1px solid var(--line);padding:5px 8px 3px;text-decoration:none;color:var(--ink2)}
.tags a:hover{border-color:var(--orange);color:var(--ink)}

/* single post */
.readbar{position:fixed;left:0;right:0;top:env(safe-area-inset-top,0px);height:5px;z-index:70;background:rgba(12,31,49,.12)}
.admin-bar .readbar{top:32px}
.readbar i{position:absolute;left:0;top:0;bottom:0;width:0;background:var(--orange)}
.a-hero{background:var(--paper)}
.a-hero .wrap{padding-block:44px 0}
.a-hero .inner{max-width:860px}
.a-hero h1{font-family:var(--display);font-weight:900;font-size:clamp(32px,4.2vw,50px);line-height:1.05;letter-spacing:-.02em;margin:18px 0 16px}
.pmeta2{display:flex;flex-wrap:wrap;gap:8px 18px;font-size:14px;color:var(--ink2);align-items:center}
.pmeta2 b{color:var(--ink)}
.pmeta2 .sep{width:4px;height:4px;background:var(--orange)}
.cover{margin:30px 0 0;background:var(--sign);min-height:280px;position:relative;display:flex;align-items:center;padding:40px;box-shadow:inset 0 0 0 10px var(--sign),inset 0 0 0 13px var(--white)}
.cover b{display:block;font-family:var(--display);font-weight:900;font-size:clamp(34px,5vw,60px);line-height:1;color:var(--white);max-width:14ch}
.cover span{display:block;color:#CFE0F0;font-weight:700;font-size:17px;margin-top:12px}
.cover::after{content:"";position:absolute;left:13px;right:13px;bottom:13px;height:14px;background:repeating-linear-gradient(-45deg,var(--orange) 0 16px,var(--navy) 16px 32px)}
.cover-img{padding:0;min-height:0;box-shadow:none;border:3px solid var(--navy);background:var(--navy)}
.cover-img::after{display:none}
.cover-img img{width:100%;max-height:520px;object-fit:cover}
.layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:56px;align-items:start;padding-block:56px 80px}
@media (max-width:1000px){.layout{grid-template-columns:minmax(0,1fr);gap:40px;padding-block:36px 64px}}
.article{max-width:740px;min-width:0}
.article .lead,.article>p:first-child{font-size:19px;line-height:1.6;color:var(--ink);font-weight:600}
.inline-cta{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;background:var(--navy);color:var(--white);padding:22px 24px;margin:36px 0}
.inline-cta b{font-size:19px}
.inline-cta span{display:block;color:var(--mist);font-size:14px;font-weight:400;margin-top:4px}
.share{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:40px 0 0;padding-top:20px;border-top:2px solid var(--navy)}
.share b{font-size:14px;margin-right:6px}
.share a,.share button{border:2px solid var(--navy);background:var(--white);font:800 14px var(--body);padding:9px 14px 7px;text-decoration:none;cursor:pointer;color:var(--ink)}
.share a:hover,.share button:hover{background:var(--orange);border-color:var(--orange)}
.small{font-size:14px;color:var(--ink2)}
.author{display:flex;gap:18px;align-items:center;border:2px solid var(--navy);background:var(--white);padding:18px;margin-top:24px}
.author img{height:52px;width:52px;flex:none}
.author b{display:block;font-size:17px}
.author p{margin:4px 0 0!important;font-size:14px!important;line-height:1.55;color:var(--ink2)}
.pside{display:flex;flex-direction:column;gap:18px;align-self:stretch}
.pside .box li a{display:block}
.pside .box li a span{display:block;font-size:12px;margin-top:3px}
.tocbox{background:var(--white);border:2px solid var(--navy);position:sticky;top:110px;z-index:3;order:9}
@media (max-width:1000px){.tocbox{position:static;order:-1}}
.tocbox summary{padding:12px 16px 10px;font-size:15px;font-weight:800;border-bottom:2px solid var(--navy)}
.tocbox:not([open]) summary{border-bottom:0}
.tocbox ol{list-style:none;margin:0;padding:6px 0 8px;max-height:52vh;overflow:auto}
.tocbox a{display:block;padding:8px 16px 6px;text-decoration:none;font-size:14px;font-weight:600;color:var(--ink2);border-left:4px solid transparent;line-height:1.35}
.tocbox a:hover{color:var(--ink)}
.tocbox a.on{border-left-color:var(--orange);color:var(--ink);font-weight:800;background:#F6F8FA}
.tocbox .pct{display:flex;align-items:center;gap:10px;padding:10px 16px 12px;border-top:1px solid var(--line);font-size:12px;color:var(--ink2)}
.tocbox .pct span{flex:1;height:6px;background:var(--paper);position:relative}
.tocbox .pct span i{position:absolute;left:0;top:0;bottom:0;width:0;background:var(--orange)}
.related{background:var(--white);border-top:1px solid var(--line)}
.rel{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
@media (max-width:900px){.rel{grid-template-columns:minmax(0,1fr)}}
.rel a{border:2px solid var(--navy);background:var(--paper);text-decoration:none;display:flex;flex-direction:column;transition:transform .2s ease,box-shadow .2s ease}
.rel a:hover{transform:translateY(-4px);box-shadow:6px 6px 0 var(--orange)}
.rel .m{aspect-ratio:16/9;background:var(--sign);position:relative;overflow:hidden;display:block}
.rel .m img{width:100%;height:100%;object-fit:cover}
.rel .m b{position:absolute;inset:0;display:flex;align-items:center;padding:0 18px;font-family:var(--display);font-weight:900;font-size:28px;color:var(--white);box-shadow:inset 0 0 0 6px var(--sign),inset 0 0 0 8px var(--white)}
.rel .t{padding:16px 16px 18px;display:block}
.rel .t span{font-size:12px;color:var(--ink2)}
.rel .t h3{font-family:var(--display);font-weight:900;font-size:19px;line-height:1.15;margin-top:6px}
.comments{margin-top:40px;border-top:2px solid var(--navy);padding-top:24px}
.comments .ch{font-size:24px;margin-bottom:16px}
.clist{list-style:none;padding:0}
.comment-respond input[type=text],.comment-respond input[type=email],.comment-respond input[type=url],.comment-respond textarea{width:100%;border:2px solid var(--navy);padding:10px;font:inherit}

/* homepage about text */
.about-seo{background:var(--white);border-top:1px solid var(--line)}
.about-seo .prose{font-size:16px}

/* reveal on scroll (content is visible without JS) */
.pre{clip-path:inset(0 99% 0 0)}
.reveal{transition:clip-path .9s cubic-bezier(.7,0,.2,1)}
.pre-up{transform:translateY(24px);opacity:.001}
.reveal-up{transition:transform .7s ease,opacity .7s ease}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important}
  .pre{clip-path:none}.pre-up{transform:none;opacity:1}
  .parkvan{transform:none}
}

/* captcha, Google reviews, home blog, thank you */
.qform .ts{grid-column:1/-1}
.qform .ts:empty:not(.on){display:none}
.qform .ts.on{min-height:65px}
.greviews{background:var(--white);border-top:1px solid var(--line)}
.greviews .gr-widget{min-height:120px}
.home-blog .sec-head p{margin:0}
.thanks .sub{max-width:60ch}
.thanks .ty-text{margin-top:24px}
