/* HODLvia · boarding pass skin */
:root{
  --lagoon:#0f4c5c;
  --lagoon-dk:#0a3440;
  --lagoon-nt:#072229;
  --lagoon-tint:#e3eeec;
  --dune:#f2e3c6;
  --dune-lt:#fbf5e9;
  --page:#f5ecdb;
  --ember:#ee6c4d;
  --ember-dk:#b9482d;
  --ember-tint:#fde7df;
  --tarmac:#13282e;
  --slate:#3a5157;
  --hair:rgba(15,76,92,.16);
  --f-head:"Noto Sans SC","PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;
  --f-body:-apple-system,"PingFang SC","Hiragino Sans GB","Microsoft YaHei","Noto Sans CJK SC",sans-serif;
  --f-tick:"Space Mono",ui-monospace,"SFMono-Regular",Menlo,Consolas,monospace;
  --r-card:1.375rem;
  --r-chip:.4rem;
  --lift:0 1px 0 rgba(10,52,64,.06),0 18px 40px -22px rgba(7,34,41,.45);
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:5.5rem}
body{margin:0;background:var(--page);color:var(--tarmac);font:400 1.0625rem/1.85 var(--f-body);overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
a{color:var(--lagoon);text-decoration-color:rgba(238,108,77,.55);text-decoration-thickness:.12em;text-underline-offset:.22em}
a:hover{color:var(--ember-dk)}
:focus-visible{outline:3px solid var(--ember);outline-offset:3px;border-radius:4px}
.hv-skip{position:absolute;left:-999px;top:0}
.hv-skip:focus{left:1rem;top:.75rem;z-index:99;background:var(--dune);padding:.4rem .8rem}

/* ---------- terminal header ---------- */
.hv-top{background:var(--lagoon-nt);color:var(--dune)}
.hv-top__in{max-width:80rem;margin:0 auto;padding:.85rem 2rem;display:flex;align-items:center;justify-content:space-between;gap:1rem}
.hv-mark{display:inline-flex;align-items:center;gap:.6rem;color:var(--dune);text-decoration:none;font:700 1.15rem/1 var(--f-tick);letter-spacing:.02em}
.hv-mark svg{width:2.1rem;height:1.5rem;color:var(--dune);flex:none}
.hv-mark em{font-style:normal;color:var(--ember)}
.hv-nav{display:flex;gap:.25rem}
.hv-nav a{color:rgba(242,227,198,.78);text-decoration:none;font-size:.9375rem;padding:.35rem .8rem;border-radius:999px;border:1px solid transparent}
.hv-nav a:hover{color:var(--dune);border-color:rgba(242,227,198,.28)}
.hv-nav a[aria-current="page"],
body[data-page="about"] .hv-nav a[href="/about/"],
body[data-page="contact"] .hv-nav a[href="/contact/"]{color:var(--lagoon-nt);background:var(--dune)}

/* ---------- apron (hero photo) ---------- */
.hv-apron{position:relative;height:clamp(13.5rem,34vw,26rem);overflow:hidden;background:var(--lagoon-dk)}
.hv-apron img{width:100%;height:100%;object-fit:cover;object-position:50% 34%}
.hv-apron::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(7,34,41,.0) 45%,rgba(7,34,41,.42) 100%)}

/* ---------- shell ---------- */
.hv-shell{position:relative;z-index:2;max-width:80rem;margin:-2.5rem auto 0;padding:0 1rem 4rem}
.hv-doc{min-width:0}

/* ---------- departures board (TOC) ---------- */
.hv-fids{counter-reset:gate;background:var(--lagoon-nt);color:var(--dune);font-size:.875rem;line-height:1.45}
.hv-fids__hd{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.95rem 1.1rem .7rem;border-bottom:1px solid rgba(242,227,198,.14)}
.hv-fids__ttl{font:700 .95rem/1.2 var(--f-head);letter-spacing:.04em}
.hv-fids__ttl small{display:block;margin-top:.3rem;font:400 .7rem/1 var(--f-tick);color:rgba(242,227,198,.55);letter-spacing:.06em}
.hv-fids__cols{display:grid;grid-template-columns:3rem 1fr 3.4rem;gap:.5rem;padding:.55rem 1.1rem .35rem;font:400 .68rem/1 var(--f-tick);color:rgba(242,227,198,.5);letter-spacing:.08em}
.hv-fids__list{list-style:none;margin:0;padding:0 .45rem .45rem}
.hv-fids__list li{counter-increment:gate}
.hv-fids__list a{display:grid;grid-template-columns:3rem 1fr 3.4rem;gap:.5rem;align-items:start;padding:.55rem .65rem;border-radius:.5rem;color:rgba(242,227,198,.86);text-decoration:none}
.hv-fids__list a:hover{background:rgba(242,227,198,.07);color:var(--dune)}
.hv-gno{font:700 .82rem/1.45 var(--f-tick);color:#f6c97a;letter-spacing:.04em}
.hv-gno::before{content:"A" counter(gate,decimal-leading-zero)}
.hv-fids__list span{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.hv-st{font:normal 400 .7rem/1.6 var(--f-head);text-align:right;color:rgba(242,227,198,.45);white-space:nowrap}
.hv-fids__list a.is-past{color:rgba(242,227,198,.5)}
.hv-fids__list a.is-past .hv-gno{color:rgba(246,201,122,.5)}
.hv-fids__list a.is-now{background:rgba(238,108,77,.16);color:#fff}
.hv-fids__list a.is-now .hv-st{color:#ffb39f}
.hv-fids__list a.is-now .hv-st::before{content:"";display:inline-block;width:.45rem;height:.45rem;margin-right:.3rem;border-radius:50%;background:var(--ember);vertical-align:.08em;animation:hv-blink 1.4s steps(2,start) infinite}
.hv-st.is-flip{animation:hv-flap .38s ease-out}
.hv-fids__ft{display:flex;align-items:center;gap:.7rem;padding:.75rem 1.1rem 1rem;border-top:1px solid rgba(242,227,198,.14);font:400 .72rem/1 var(--f-tick);color:rgba(242,227,198,.6)}
.hv-fids__bar{flex:1;height:.3rem;border-radius:9px;background:rgba(242,227,198,.12);overflow:hidden}
.hv-fids__bar i{display:block;height:100%;width:0;background:linear-gradient(90deg,#f6c97a,var(--ember));transition:width .3s}
.hv-fids__now,.hv-fids__tg{display:none}
@keyframes hv-blink{to{visibility:hidden}}
@keyframes hv-flap{0%{transform:rotateX(90deg);opacity:.2}100%{transform:none;opacity:1}}

/* mobile: board collapses into a terminal strip */
@media (max-width:74.99em){
  .hv-fids{position:fixed;left:0;right:0;top:0;z-index:40;transform:translateY(-110%);visibility:hidden;transition:transform .28s ease,visibility 0s .28s;box-shadow:0 10px 30px -12px rgba(7,34,41,.6)}
  .hv-fids.is-on{transform:none;visibility:visible;transition:transform .28s ease}
  .hv-fids__hd{padding:.55rem 1rem;border:0}
  .hv-fids__ttl,.hv-fids__cols{display:none}
  .hv-fids__now{display:flex;align-items:center;gap:.6rem;min-width:0;flex:1}
  .hv-flap{display:inline-flex;gap:2px;flex:none}
  .hv-flap b{display:inline-block;width:1.15rem;padding:.2rem 0;text-align:center;background:#12343d;border-radius:3px;font:700 .85rem/1 var(--f-tick);color:#f6c97a;box-shadow:inset 0 -1px 0 rgba(0,0,0,.4),inset 0 1px 0 rgba(255,255,255,.06);position:relative}
  .hv-flap b::after{content:"";position:absolute;left:0;right:0;top:50%;height:1px;background:rgba(0,0,0,.45)}
  .hv-flap.is-flip b{animation:hv-flap .36s ease-out}
  .hv-now-t{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.875rem;color:var(--dune)}
  .hv-fids__tg{display:inline-flex;align-items:center;gap:.35rem;flex:none;background:transparent;border:1px solid rgba(242,227,198,.3);color:var(--dune);border-radius:999px;font:400 .78rem/1 var(--f-body);padding:.45rem .7rem;cursor:pointer}
  .hv-fids__tg::after{content:"";width:.4rem;height:.4rem;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg) translateY(-2px);transition:transform .2s}
  .hv-fids__tg[aria-expanded="true"]::after{transform:rotate(-135deg) translate(-2px,0)}
  .hv-fids__list{display:none;max-height:62vh;overflow:auto;padding:.25rem .5rem .6rem;border-top:1px solid rgba(242,227,198,.12)}
  .hv-fids.is-open .hv-fids__list{display:block}
  .hv-fids__ft{padding:0;border:0;height:3px}
  .hv-fids__ft .hv-fids__cnt{display:none}
  .hv-fids__bar{height:3px;border-radius:0;background:transparent}
}

/* ---------- article hero card ---------- */
.hv-doc [data-part="hero"]{background:var(--dune-lt);border-radius:var(--r-card);padding:1.6rem 1.3rem 1.5rem;box-shadow:var(--lift);position:relative}
.hv-doc [data-part="kicker"]{margin:0 0 .75rem;display:inline-flex;align-items:center;gap:.5rem;font:700 .8rem/1.3 var(--f-tick);color:var(--ember-dk);letter-spacing:.06em}
.hv-doc [data-part="kicker"]::before{content:"";width:1.6rem;height:2px;background:var(--ember)}
.hv-doc h1{margin:0;font:800 clamp(1.62rem,1.05rem + 2.3vw,2.75rem)/1.28 var(--f-head);color:var(--lagoon-nt);letter-spacing:-.005em}
.hv-doc [data-part="dek"]{margin:1rem 0 1.1rem;color:var(--slate);font-size:1.0625rem;line-height:1.8;max-width:44em}
.hv-doc [data-part="meta"]{margin:0;display:inline-block;padding:.4rem .85rem;border-radius:var(--r-chip);background:var(--dune);color:var(--lagoon-dk);font-size:.875rem;line-height:1.5}

/* ---------- boarding pass (CTA) ---------- */
.hv-doc [data-part="cta"]{
  --stub:15.5rem;--hole:var(--page);
  margin:1.75rem 0 2.75rem;display:grid;grid-template-columns:minmax(0,1fr);
  grid-template-areas:"band" "code" "perk" "note" "stub";
  grid-template-rows:auto auto auto auto 10.25rem;
  border-radius:1.1rem;overflow:hidden;position:relative;color:var(--tarmac);
  background:
    radial-gradient(circle at 0 calc(100% - 10.25rem),var(--hole) 0 .8rem,transparent calc(.8rem + .5px)),
    radial-gradient(circle at 100% calc(100% - 10.25rem),var(--hole) 0 .8rem,transparent calc(.8rem + .5px)),
    linear-gradient(90deg,rgba(15,76,92,.38) 55%,transparent 0) 0 calc(100% - 10.25rem)/11px 2px repeat-x,
    linear-gradient(var(--dune-lt),var(--dune-lt));
  box-shadow:var(--lift);
}
.hv-doc [data-part="cta"]::before{
  grid-area:band;content:"登机牌　BOARDING PASS";display:flex;align-items:center;
  padding:.85rem 1.2rem .85rem 3.3rem;font:700 .78rem/1.2 var(--f-tick);letter-spacing:.14em;color:var(--dune);
  background:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23f2e3c6' d='M21.5 15.6v-1.9L13.4 8.6V3.4a1.4 1.4 0 0 0-2.8 0v5.2l-8.1 5.1v1.9l8.1-2.5v5.2l-2 1.5v1.4l3.4-1 3.4 1v-1.4l-2-1.5v-5.2z'/%3E%3C/svg%3E") 1.2rem 50%/1.25rem no-repeat,
    linear-gradient(100deg,var(--lagoon-nt),var(--lagoon) 70%);
}
.hv-doc [data-part="cta"] p{margin:0;padding:0 1.25rem}
.hv-doc [data-part="cta"] p::before{display:block;margin-bottom:.2rem;font:700 .68rem/1.4 var(--f-tick);letter-spacing:.12em;color:rgba(15,76,92,.62)}
.hv-doc [data-part="cta"] [data-k="code"]{grid-area:code;padding-top:1.15rem;display:flex;flex-wrap:wrap;align-items:center;gap:.25rem .9rem;font:700 clamp(2.1rem,1.4rem + 3vw,3.4rem)/1.1 var(--f-tick);letter-spacing:.12em;color:var(--lagoon-nt)}
.hv-doc [data-part="cta"] [data-k="code"]::before{flex-basis:100%;font-size:.68rem;line-height:1.4;content:"邀请码 · REFERRAL ID"}
.hv-doc [data-part="cta"] [data-k="perk"]{grid-area:perk;padding-top:1rem;font-size:1rem;line-height:1.7}
.hv-doc [data-part="cta"] [data-k="perk"]::before{content:"注册页显示"}
.hv-doc [data-part="cta"] [data-k="note"]{grid-area:note;padding-top:.85rem;padding-bottom:1.35rem;font-size:.9375rem;line-height:1.75;color:#2b4248}
.hv-doc [data-part="cta"] [data-k="note"]::before{content:"推广说明"}
.hv-doc [data-part="cta"] [data-cta]{
  grid-area:stub;align-self:start;margin:1.25rem 1.25rem 0;display:flex;align-items:center;justify-content:center;gap:.6rem;
  min-height:3.25rem;padding:.7rem 1rem;border-radius:.7rem;background:var(--ember);color:var(--lagoon-nt);
  font:800 1.0625rem/1.3 var(--f-head);text-decoration:none;text-align:center;box-shadow:0 8px 18px -10px rgba(185,72,45,.9);transition:transform .15s,background .15s}
.hv-doc [data-part="cta"] [data-cta]::after{content:"";flex:none;width:.55rem;height:.55rem;border-top:2.5px solid currentColor;border-right:2.5px solid currentColor;transform:rotate(45deg)}
.hv-doc [data-part="cta"] [data-cta]:hover{background:#f27f63;transform:translateY(-1px)}
.hv-doc [data-part="cta"]::after{
  grid-area:stub;align-self:end;content:"BTC6886 · 币安注册页";margin:0 1.25rem 1.05rem;padding-top:2.75rem;
  font:400 .68rem/1 var(--f-tick);letter-spacing:.2em;color:rgba(19,40,46,.6);text-align:center;
  background:repeating-linear-gradient(90deg,var(--tarmac) 0 2px,transparent 2px 4px,var(--tarmac) 4px 5px,transparent 5px 8px,var(--tarmac) 8px 11px,transparent 11px 12px,var(--tarmac) 12px 13px,transparent 13px 17px) 0 0/100% 2.2rem no-repeat;
}
.hv-copy{display:inline-flex;align-items:center;gap:.4rem;padding:.45rem .85rem;border-radius:999px;border:1.5px solid var(--lagoon);background:transparent;color:var(--lagoon);font:700 .82rem/1 var(--f-body);letter-spacing:0;cursor:pointer;transition:background .15s,color .15s}
.hv-copy::before{content:"";width:.8rem;height:.9rem;border:1.6px solid currentColor;border-radius:2px;box-shadow:3px -3px 0 -1.6px var(--dune-lt),3px -3px 0 0 currentColor}
.hv-copy:hover{background:var(--lagoon);color:var(--dune)}
.hv-copy:hover::before{box-shadow:3px -3px 0 -1.6px var(--lagoon),3px -3px 0 0 currentColor}
.hv-copy.is-done{background:var(--lagoon);color:var(--dune);border-color:var(--lagoon)}
.hv-copy.is-done::before{width:.75rem;height:.4rem;border-width:0 0 2px 2px;border-radius:0;box-shadow:none;transform:rotate(-45deg) translate(1px,-1px)}

/* ---------- sections ---------- */
.hv-doc{counter-reset:sec shot}
.hv-doc section{counter-increment:sec;max-width:40em;margin:0 auto;padding:2.4rem 0 .4rem}
.hv-doc section + section{border-top:1px dashed var(--hair)}
.hv-doc h2{margin:0 0 1.1rem;font:800 clamp(1.4rem,1.05rem + 1.2vw,1.85rem)/1.38 var(--f-head);color:var(--lagoon-nt)}
.hv-doc h2::before{content:"登机口 A" counter(sec,decimal-leading-zero);display:table;margin-bottom:.7rem;padding:.28rem .6rem;border-radius:var(--r-chip);background:var(--lagoon);color:#f6c97a;font:700 .74rem/1.2 var(--f-tick);letter-spacing:.1em}
.hv-doc h3{margin:2rem 0 .7rem;padding-left:.85rem;border-left:4px solid var(--ember);font:800 1.18rem/1.5 var(--f-head);color:var(--lagoon-dk)}
.hv-doc section p{margin:0 0 1.05rem}
.hv-doc section ul{margin:0 0 1.2rem;padding-left:1.25rem}
.hv-doc section ul li{margin-bottom:.45rem}
.hv-doc section ul li::marker{color:var(--ember)}
.hv-doc strong{color:var(--lagoon-nt);background:linear-gradient(transparent 62%,rgba(238,108,77,.22) 0)}

/* screenshots */
.hv-doc [data-part="shot"]{counter-increment:shot;margin:1.6rem 0 1.8rem;padding:.6rem;background:#fff;border:1px solid var(--hair);border-radius:1rem;box-shadow:0 14px 30px -24px rgba(7,34,41,.6)}
.hv-doc [data-part="shot"] img{width:100%;border-radius:.55rem;background:var(--lagoon-tint)}
.hv-doc [data-part="shot"] img[width="550"]{max-width:20rem;margin:0 auto}
.hv-doc figcaption{display:flex;gap:.65rem;align-items:baseline;padding:.75rem .35rem .2rem;font-size:.875rem;line-height:1.6;color:var(--slate)}
.hv-doc figcaption::before{content:"截图 " counter(shot,decimal-leading-zero);flex:none;padding:.15rem .45rem;border-radius:.3rem;background:var(--dune);color:var(--lagoon-dk);font:700 .7rem/1.4 var(--f-tick);letter-spacing:.06em}

/* tables */
.hv-doc table{width:100%;border-collapse:separate;border-spacing:0;margin:1.2rem 0 1.5rem;font-size:.9375rem;line-height:1.65;background:var(--dune-lt);border-radius:.85rem;overflow:hidden;border:1px solid var(--hair)}
.hv-doc th{background:var(--lagoon);color:var(--dune);text-align:left;font-weight:700;padding:.7rem .85rem;font-size:.875rem}
.hv-doc td{padding:.75rem .85rem;vertical-align:top;border-top:1px dashed var(--hair)}
.hv-doc td:first-child{font-weight:600;color:var(--lagoon-dk)}
.hv-doc tbody tr:nth-child(even) td{background:rgba(242,227,198,.4)}

/* callouts */
.hv-doc [data-part="warn"],.hv-doc [data-part="note"]{position:relative;margin:1.5rem 0;padding:1rem 1.15rem 1rem 1.15rem;border-radius:.85rem;font-size:1rem;line-height:1.8}
.hv-doc [data-part="warn"] p,.hv-doc [data-part="note"] p{margin:0}
.hv-doc [data-part="warn"]{background:var(--ember-tint);border:1px solid rgba(238,108,77,.4);border-left:6px solid var(--ember)}
.hv-doc [data-part="note"]{background:var(--lagoon-tint);border:1px solid rgba(15,76,92,.18);border-left:6px solid var(--lagoon)}
.hv-doc [data-part="warn"]::before,.hv-doc [data-part="note"]::before{display:block;margin-bottom:.35rem;font:700 .72rem/1.3 var(--f-tick);letter-spacing:.12em}
.hv-doc [data-part="warn"]::before{content:"▲ 注意";color:var(--ember-dk)}
.hv-doc [data-part="note"]::before{content:"● 旅客须知";color:var(--lagoon)}

/* check-in gates: the three checks */
.hv-doc section dl{counter-reset:chk;margin:1.4rem 0 1.6rem;padding:.4rem 1.1rem;background:var(--dune-lt);border-radius:1rem;border:1px solid var(--hair);box-shadow:0 12px 26px -22px rgba(7,34,41,.6)}
.hv-doc section dt{counter-increment:chk;position:relative;padding:1.1rem 0 0 5.1rem;min-height:2.6rem;font:800 1.08rem/1.5 var(--f-head);color:var(--lagoon-nt)}
.hv-doc section dt::before{content:"检票口";position:absolute;left:0;top:1.05rem;width:4.1rem;height:4.1rem;padding-top:.55rem;border-radius:.65rem;background-color:var(--lagoon);color:rgba(242,227,198,.8);font:700 .64rem/1 var(--f-head);letter-spacing:.12em;text-align:center;
  background-image:radial-gradient(circle at 0 62%,var(--dune-lt) 0 .3rem,transparent .33rem),radial-gradient(circle at 100% 62%,var(--dune-lt) 0 .3rem,transparent .33rem)}
.hv-doc section dt::after{content:counter(chk);position:absolute;left:0;top:2.35rem;width:4.1rem;text-align:center;font:700 2rem/1 var(--f-tick);color:#f6c97a}
.hv-doc section dd{position:relative;margin:0;padding:.35rem 0 1.15rem 5.1rem;min-height:2.6rem;border-bottom:2px dashed rgba(15,76,92,.18);font-size:1rem;line-height:1.8}
.hv-doc section dd:last-of-type{border-bottom:0}
.hv-doc section dd.is-ok::after{content:"已核";position:absolute;right:.2rem;bottom:1.1rem;padding:.15rem .5rem;border:2px solid var(--ember);border-radius:.35rem;color:var(--ember-dk);font:800 .85rem/1.3 var(--f-head);transform:rotate(-8deg);letter-spacing:.1em;animation:hv-stamp .25s ease-out}
.hv-doc section dt.is-ok::before{background-color:var(--ember);color:var(--lagoon-nt)}
.hv-doc section dt.is-ok::after{color:var(--lagoon-nt)}
@keyframes hv-stamp{from{transform:rotate(-8deg) scale(1.6);opacity:0}to{transform:rotate(-8deg) scale(1);opacity:1}}
.hv-chk{margin-top:.55rem;display:flex;width:fit-content;align-items:center;gap:.45rem;padding:.35rem .8rem;border-radius:999px;border:1.5px dashed rgba(15,76,92,.45);background:transparent;color:var(--lagoon);font:600 .82rem/1.2 var(--f-body);cursor:pointer}
.hv-chk::before{content:"";width:.8rem;height:.8rem;border:1.5px solid currentColor;border-radius:3px}
.hv-chk[aria-pressed="true"]{border-style:solid;background:var(--lagoon);color:var(--dune)}
.hv-chk[aria-pressed="true"]::before{width:.7rem;height:.38rem;border-width:0 0 2px 2px;border-radius:0;transform:rotate(-45deg) translate(1px,-2px)}
.hv-chkbar{display:flex;align-items:center;gap:.7rem;margin:1.2rem 0 -.6rem !important;font:700 .78rem/1.3 var(--f-tick);color:var(--lagoon);letter-spacing:.05em}
.hv-chkbar i{flex:1;height:.3rem;border-radius:9px;background:rgba(15,76,92,.12);overflow:hidden;position:relative}
.hv-chkbar i::after{content:"";position:absolute;inset:0 auto 0 0;width:var(--p,0%);background:var(--ember);transition:width .25s}

/* boarding sequence list */
.hv-doc [data-part="steps"]{counter-reset:seq;list-style:none;margin:1.3rem 0 1.6rem;padding:0;position:relative}
.hv-doc [data-part="steps"]::before{content:"";position:absolute;left:1.05rem;top:.9rem;bottom:.9rem;border-left:2px dotted rgba(15,76,92,.35)}
.hv-doc [data-part="steps"] li{counter-increment:seq;position:relative;padding:.45rem 0 .7rem 3.2rem;line-height:1.75}
.hv-doc [data-part="steps"] li::before{content:counter(seq,decimal-leading-zero);position:absolute;left:0;top:.38rem;width:2.15rem;height:2.15rem;border-radius:50%;display:grid;place-items:center;background:var(--page);border:2px solid var(--lagoon);color:var(--lagoon);font:700 .78rem/1 var(--f-tick)}
.hv-doc [data-part="steps"] li:last-child{margin-top:.3rem;padding:.75rem .9rem .8rem 3.2rem;background:var(--ember-tint);border-radius:.75rem}
.hv-doc [data-part="steps"] li:last-child::before{left:.1rem;top:.7rem;background:var(--ember);border-color:var(--ember);color:var(--lagoon-nt)}

/* FAQ */
.hv-doc #faq details{margin:0 0 .7rem;background:var(--dune-lt);border:1px solid var(--hair);border-radius:.9rem;transition:border-color .2s}
.hv-doc #faq details[open]{border-color:rgba(238,108,77,.55);box-shadow:0 14px 26px -22px rgba(7,34,41,.55)}
.hv-doc #faq summary{list-style:none;cursor:pointer;display:flex;align-items:flex-start;gap:.75rem;padding:.95rem 1rem;font:800 1.02rem/1.55 var(--f-head);color:var(--lagoon-nt)}
.hv-doc #faq summary::-webkit-details-marker{display:none}
.hv-doc #faq summary::before{content:"Q";flex:none;width:1.65rem;height:1.65rem;display:grid;place-items:center;border-radius:.4rem;background:var(--lagoon);color:#f6c97a;font:700 .8rem/1 var(--f-tick);margin-top:.05rem}
.hv-doc #faq summary::after{content:"";flex:none;margin-left:auto;margin-top:.55rem;width:.6rem;height:.6rem;border-right:2px solid var(--ember);border-bottom:2px solid var(--ember);transform:rotate(45deg);transition:transform .2s}
.hv-doc #faq details[open] summary::after{transform:rotate(-135deg);margin-top:.8rem}
.hv-doc #faq details p{margin:0;padding:0 1.1rem 1.05rem 3.4rem;font-size:1rem;line-height:1.8;color:#2b4248}

/* ---------- footer ---------- */
.hv-foot{position:relative;margin-top:2rem;background:var(--lagoon-nt);color:rgba(242,227,198,.78);font-size:.9rem;line-height:1.75}
.hv-foot::before{content:"";position:absolute;left:0;right:0;top:-7px;height:14px;background:radial-gradient(circle at 50% 50%,var(--page) 0 5px,transparent 5.5px) 0 0/18px 14px repeat-x}
.hv-foot__in{max-width:80rem;margin:0 auto;padding:2.6rem 1rem 2rem;display:grid;gap:1.5rem}
.hv-foot .hv-mark{font-size:1.05rem}
.hv-foot p{margin:.4rem 0 0}
.hv-foot__links{display:flex;flex-wrap:wrap;gap:.3rem 1.2rem;list-style:none;margin:0;padding:0}
.hv-foot a{color:var(--dune);text-decoration-color:rgba(242,227,198,.35)}
.hv-foot a:hover{color:#fff}
.hv-foot__risk{padding:.8rem 1rem;border:1px dashed rgba(242,227,198,.28);border-radius:.6rem;color:var(--dune)}
.hv-foot__base{grid-column:1/-1;display:flex;flex-wrap:wrap;justify-content:space-between;gap:.5rem;padding-top:1.1rem;border-top:1px solid rgba(242,227,198,.12);font:400 .75rem/1.5 var(--f-tick);color:rgba(242,227,198,.5);letter-spacing:.04em}

/* ---------- service pages ---------- */
.hv-desk{background:var(--lagoon-dk);color:var(--dune);background-image:repeating-linear-gradient(90deg,rgba(242,227,198,.04) 0 1px,transparent 1px 72px)}
.hv-desk__in{max-width:52rem;margin:0 auto;padding:2.2rem 1rem 5.5rem;font:700 .74rem/1.4 var(--f-tick);letter-spacing:.14em;color:rgba(242,227,198,.6)}
.hv-desk__in b{color:#f6c97a;font-weight:700}
.hv-sheet{position:relative;max-width:52rem;margin:-4rem auto 3rem;padding:2rem 1.25rem 1.5rem;background:var(--dune-lt);border-radius:var(--r-card);box-shadow:var(--lift)}
.hv-sheet h1{margin:0 0 1.1rem;font:800 clamp(1.6rem,1.2rem + 1.6vw,2.3rem)/1.3 var(--f-head);color:var(--lagoon-nt)}
.hv-sheet h2{margin:2rem 0 .7rem;font:800 1.2rem/1.5 var(--f-head);color:var(--lagoon-dk);display:flex;align-items:center;gap:.6rem}
.hv-sheet h2::before{content:"";width:.55rem;height:.55rem;border-radius:2px;background:var(--ember);transform:rotate(45deg)}
.hv-sheet p,.hv-sheet li{max-width:40em}
.hv-sheet p{margin:0 0 1rem}
.hv-sheet ul{padding-left:1.25rem;margin:0 0 1rem}
.hv-sheet li{margin-bottom:.4rem}
.hv-sheet li::marker{color:var(--ember)}
.hv-back{display:inline-flex;align-items:center;gap:.5rem;margin-top:1.4rem;padding:.6rem 1.1rem;border-radius:.6rem;background:var(--lagoon);color:var(--dune);text-decoration:none;font-weight:700}
.hv-back:hover{color:#fff;background:var(--lagoon-dk)}

/* 404 */
.hv-lost{max-width:40rem;margin:-4rem auto 4rem;padding:0 1rem;position:relative}
.hv-lost__pass{background:var(--dune-lt);border-radius:1.1rem;overflow:hidden;box-shadow:var(--lift)}
.hv-lost__band{padding:.85rem 1.25rem;background:linear-gradient(100deg,var(--lagoon-nt),var(--lagoon));color:var(--dune);font:700 .78rem/1.2 var(--f-tick);letter-spacing:.14em}
.hv-lost__body{padding:1.6rem 1.25rem 1.7rem}
.hv-lost .hv-lost__code{margin:0;font:700 clamp(3rem,10vw,4.6rem)/1 var(--f-tick);letter-spacing:.12em;color:var(--lagoon-nt)}
.hv-lost h1{margin:.8rem 0 .5rem;font:800 1.6rem/1.35 var(--f-head);color:var(--lagoon-nt)}
.hv-lost p{margin:0 0 .4rem;color:var(--slate)}

/* ---------- tablet + ---------- */
@media (min-width:46em){
  .hv-shell{margin-top:-6rem;padding:0 2rem 5rem}
  .hv-doc [data-part="hero"]{padding:2.4rem 2.6rem 2.2rem}
  .hv-doc [data-part="cta"]{
    --stub:clamp(15.5rem,22vw,18.25rem);
    grid-template-columns:minmax(0,1fr) var(--stub);
    grid-template-areas:"band band" "code stub" "perk stub" "note stub";
    grid-template-rows:auto auto auto 1fr;
    background:
      radial-gradient(circle at calc(100% - var(--stub)) 100%,var(--hole) 0 .85rem,transparent calc(.85rem + .5px)),
      linear-gradient(180deg,rgba(15,76,92,.36) 55%,transparent 0) calc(100% - var(--stub) - 1px) 0/2px 11px repeat-y,
      radial-gradient(circle at 0 50%,var(--hole) 0 .3rem,transparent calc(.3rem + .5px)) 0 0/1rem 1.1rem repeat-y,
      linear-gradient(var(--dune-lt),var(--dune-lt));
  }
  .hv-doc [data-part="cta"]::before{background:
    radial-gradient(circle at calc(100% - var(--stub)) 0,var(--hole) 0 .85rem,transparent calc(.85rem + .5px)),
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23f2e3c6' d='M21.5 15.6v-1.9L13.4 8.6V3.4a1.4 1.4 0 0 0-2.8 0v5.2l-8.1 5.1v1.9l8.1-2.5v5.2l-2 1.5v1.4l3.4-1 3.4 1v-1.4l-2-1.5v-5.2z'/%3E%3C/svg%3E") 1.6rem 50%/1.25rem no-repeat,
    linear-gradient(100deg,var(--lagoon-nt),var(--lagoon) 70%);padding-left:3.7rem}
  .hv-doc [data-part="cta"] p{padding:0 2rem 0 2.2rem}
  .hv-doc [data-part="cta"] [data-k="code"]{padding-top:1.5rem}
  .hv-doc [data-part="cta"] [data-k="note"]{padding-bottom:1.7rem}
  .hv-doc [data-part="cta"] [data-cta]{margin:1.6rem 1.4rem 0}
  .hv-doc [data-part="cta"]::after{margin:0 1.4rem 1.5rem}
  .hv-foot__in{grid-template-columns:1.3fr 1fr 1fr;padding:3rem 2rem 2.2rem}
  .hv-sheet{padding:2.6rem 3rem 2.2rem}
  .hv-desk__in{padding-left:2rem;padding-right:2rem}
}

/* ---------- desktop: board becomes a side screen ---------- */
@media (min-width:75em){
  .hv-shell{display:grid;grid-template-columns:18.5rem minmax(0,1fr);gap:2.75rem;margin-top:-9.5rem}
  .hv-fids{position:sticky;top:1.25rem;align-self:start;max-height:calc(100vh - 2.5rem);overflow:auto;border-radius:1rem;box-shadow:0 24px 50px -26px rgba(7,34,41,.8);scrollbar-width:thin;scrollbar-color:rgba(242,227,198,.2) transparent}
  .hv-doc [data-part="cta"]{margin-top:2rem}
  .hv-doc [data-part="shot"]{margin-left:-3.5rem;margin-right:-3.5rem}
  .hv-top__in{padding-left:2rem;padding-right:2rem}
}

/* ---------- small phones: stacked tables ---------- */
@media (max-width:35em){
  .hv-top__in{padding:.75rem 1rem}
  .hv-nav a{padding:.3rem .55rem;font-size:.875rem}
  .hv-js .hv-doc table,.hv-js .hv-doc tbody,.hv-js .hv-doc tr,.hv-js .hv-doc td{display:block}
  .hv-js .hv-doc thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
  .hv-js .hv-doc table{background:transparent;border:0;border-radius:0}
  .hv-js .hv-doc tr{margin-bottom:.7rem;background:var(--dune-lt);border:1px solid var(--hair);border-radius:.8rem;overflow:hidden}
  .hv-js .hv-doc tbody tr:nth-child(even) td{background:transparent}
  .hv-js .hv-doc td{border-top:1px dashed var(--hair);padding:.6rem .9rem}
  .hv-js .hv-doc td:first-child{border-top:0;background:var(--lagoon) !important;color:var(--dune)}
  .hv-js .hv-doc td[data-th]:not(:first-child)::before{content:attr(data-th);display:block;font:700 .7rem/1.4 var(--f-tick);color:var(--ember-dk);letter-spacing:.06em;margin-bottom:.15rem}
  .hv-doc section dt{padding:1rem 0 0 4.4rem}
  .hv-doc section dt::before{width:3.6rem;height:3.6rem;top:.95rem}
  .hv-doc section dt::after{width:3.6rem;top:2.15rem;font-size:1.7rem}
  .hv-doc section dd{padding-left:4.4rem}
  .hv-doc section dl{padding:.3rem .85rem}
  .hv-doc #faq details p{padding-left:1.1rem}
}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
