/* HOLVEM r9 guide components (hvx-). Master Design Pack v2.1 tokens; light-dominant, Route C sheets. */
.hvx-k{margin:0;font:600 11px/1.3 "Geist Mono",ui-monospace,monospace;letter-spacing:.12em;text-transform:uppercase;color:var(--accent-text,#602F90)}
.prose .hvx-h3{margin-top:34px}
.hvx-h2s{font-size:clamp(22px,2.4vw,28px);line-height:1.2;letter-spacing:-.4px;font-weight:600;color:var(--heading,#14181B);margin:10px 0 0;text-wrap:balance}

/* sheets: raised paper with the turned corner */
.hvx-tabs,.hvx-check,.hvx-steps,.hvx-route,.hvx-tile,.hvx-rec{background:var(--surface-raised,#FBFAF8);border:1px solid var(--border-hairline,#DEDBD2);border-radius:var(--r,8px)}
.hvx-tabs,.hvx-check,.hvx-steps{margin:28px 0;padding:20px 22px 22px;clip-path:polygon(0 0,calc(100% - var(--ch-x,36.6px)) 0,100% var(--ch-y,22px),100% 100%,0 100%)}

/* tabs */
.hvx-tablist{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0 18px}
.hvx-tablist button{font:500 14px/1.25 Geist,system-ui,sans-serif;color:var(--heading,#14181B);background:var(--surface,#F4F3EF);border:1px solid var(--border,#C9C6BE);border-radius:999px;padding:9px 14px;cursor:pointer;text-align:left;transition:border-color var(--dur,.28s) var(--ease,ease),background var(--dur,.28s) var(--ease,ease)}
.hvx-tablist button:hover{border-color:var(--accent,#6A3F96)}
.hvx-tablist button[aria-selected='true']{background:var(--accent-soft,#F0E9F6);border-color:var(--accent,#6A3F96);color:var(--accent-text,#602F90);font-weight:600}
.hvx-tablist button:focus-visible,.hvx-check input:focus-visible+.box,.hvx-tile:focus-visible,.hvx-gcard:focus-visible,.hvx-qa summary:focus-visible{outline:2px solid var(--focus-ring,#25528C);outline-offset:2px}
.hvx-tablist .n{font:500 11px "Geist Mono",monospace;color:var(--muted,#5F6369);margin-right:8px}
.hvx-stack .hvx-tablist{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}
.hvx-stack .hvx-tablist button{border-radius:var(--r-field,4px)}
.hvx-panel>.hvx-pt{margin:0 0 10px;font-weight:600;color:var(--heading,#14181B);font-size:17px}
.hvx-panel h3{margin:0 0 10px}
.hvx-panel dl{margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.hvx-panel dl>div{padding:12px 14px;background:var(--surface,#F4F3EF);border-radius:var(--r-field,4px);min-width:0}
.hvx-panel dt{font:600 11px/1.3 "Geist Mono",monospace;letter-spacing:.08em;text-transform:uppercase;color:var(--muted,#5F6369);margin-bottom:6px}
.hvx-panel dd{margin:0;font-size:15px;line-height:1.5;color:var(--body,#3C4147)}
.hvx-cols .hvx-panel dl{grid-template-columns:1fr}
.hvx-cols .hvx-panel dl>div{display:grid;grid-template-columns:minmax(0,11em) minmax(0,1fr);gap:14px;align-items:baseline}
.hvx-cols .hvx-panel dt{margin:0}
.hvx-panel .tbl-wrap{margin:0}
.hvx-tabs.is-js .hvx-panel[hidden]{display:none}
@media (max-width:640px){.hvx-panel dl{grid-template-columns:1fr}.hvx-cols .hvx-panel dl>div{grid-template-columns:1fr;gap:4px}.hvx-tabs,.hvx-check,.hvx-steps{padding:18px 16px 18px}}

/* checklist */
.hvx-check-h{display:grid;grid-template-columns:1fr auto;gap:4px 16px;align-items:end}
.hvx-check-h .hvx-k{grid-column:1/-1}
.hvx-sub{margin:0;font-size:14.5px;color:var(--body,#3C4147)}
.hvx-count{margin:0;font:500 13px "Geist Mono",monospace;color:var(--muted,#5F6369);font-variant-numeric:tabular-nums}
.hvx-count b{color:var(--phosphor,#43610A);font-weight:600}
.hvx-bar{grid-column:1/-1;height:4px;background:var(--surface-sunken,#E9E7E0);border-radius:2px;overflow:hidden;margin-top:8px}
.hvx-bar i{display:block;height:100%;width:0;background:var(--phosphor,#43610A);transition:width var(--dur,.28s) var(--ease,ease)}
.prose .hvx-check ul{list-style:none;margin:14px 0 0;padding:0;display:grid;gap:6px}
.prose .hvx-check li{margin:0;padding:0}
.prose .hvx-check li::before{display:none}
.hvx-check label{display:grid;grid-template-columns:22px 1fr;gap:12px;align-items:start;padding:10px 12px;border:1px solid transparent;border-radius:var(--r-field,4px);cursor:pointer;transition:background var(--dur,.28s) var(--ease,ease)}
.hvx-check label:hover{background:var(--surface,#F4F3EF)}
.hvx-check input{position:absolute;opacity:0;width:1px;height:1px}
.hvx-check .box{width:20px;height:20px;margin-top:1px;border:1.5px solid var(--border-strong,#8B8779);border-radius:4px;background:#fff;position:relative}
.hvx-check input:checked+.box{background:var(--accent,#6A3F96);border-color:var(--accent,#6A3F96)}
.hvx-check input:checked+.box::after{content:'';position:absolute;left:6px;top:2px;width:5px;height:10px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}
.hvx-check input:checked~.tx{color:var(--heading,#14181B)}
.hvx-check label:has(input:checked){background:var(--accent-soft,#F0E9F6)}
.hvx-check .tx{font-size:15px;line-height:1.5}
.hvx-done{margin:14px 0 0;padding:12px 14px;border-left:3px solid var(--phosphor,#43610A);background:var(--surface,#F4F3EF);font-weight:600;color:var(--heading,#14181B)}

/* steps */
.prose .hvx-steps ol{list-style:none;margin:14px 0 0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;counter-reset:none}
.prose .hvx-steps li{margin:0;padding:14px 16px 4px 0;border-top:2px solid var(--border,#C9C6BE);position:relative;display:grid;gap:4px;align-content:start}
.prose .hvx-steps li::before{content:'';position:absolute;top:-2px;left:0;width:34px;height:2px;background:var(--accent,#6A3F96)}
.hvx-steps .n{font:500 12px "Geist Mono",monospace;color:var(--accent-text,#602F90)}
.hvx-steps b{color:var(--heading,#14181B);font-size:15.5px}
.hvx-steps .d{font-size:14px;line-height:1.45;color:var(--body,#3C4147)}
@media (max-width:720px){.prose .hvx-steps ol{grid-template-columns:1fr 1fr;gap:4px 16px}}
@media (max-width:420px){.prose .hvx-steps ol{grid-template-columns:1fr}}

/* route cards */
.hvx-routes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:28px 0}
.hvx-route{padding:18px 18px 16px;display:flex;flex-direction:column;gap:8px;min-width:0}
.hvx-route .t{margin:0;font-size:20px;font-weight:600;letter-spacing:-.3px;color:var(--heading,#14181B)}
.hvx-route dl{margin:4px 0 0;display:grid;gap:10px}
.hvx-route dt{font:600 11px/1.3 "Geist Mono",monospace;letter-spacing:.08em;text-transform:uppercase;color:var(--muted,#5F6369)}
.hvx-route dd{margin:3px 0 0;font-size:14.5px;line-height:1.45}
.hvx-route .tlink{margin-top:auto;padding-top:6px}
@media (max-width:860px){.hvx-routes{grid-template-columns:1fr}}

/* project record card, inline */
.hvx-rec{margin:24px 0;display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);overflow:hidden}
.hvx-rec-m{position:relative;min-height:220px;background:var(--surface-sunken,#E9E7E0)}
.hvx-rec-m img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hvx-plate{position:absolute;left:0;bottom:0;display:flex;align-items:stretch;font:600 11px/1 "Geist Mono",monospace;letter-spacing:.08em;text-transform:uppercase}
.hvx-plate b{background:var(--amb-violet-anchor,#6B4097);color:#fff;padding:9px 12px;font-weight:600}
.hvx-plate span{background:var(--surface-raised,#FBFAF8);color:var(--heading,#14181B);padding:9px 12px;text-transform:none;letter-spacing:0;font-family:Geist,system-ui,sans-serif;font-size:12.5px}
.hvx-rec-b{padding:18px 20px 18px}
.hvx-rec-b blockquote{margin:8px 0 0;padding:0;font-size:16px;line-height:1.5;color:var(--heading,#14181B)}
.hvx-rec-b blockquote p{margin:0 0 6px}
@media (max-width:640px){.hvx-rec{grid-template-columns:1fr}.hvx-rec-m{min-height:0;aspect-ratio:4/3}}

/* generated figure (unlabelled) */
.hvx-fig{margin:28px 0}
.hvx-fig img{display:block;width:100%;height:auto;border-radius:var(--r,8px)}
.proofs.hvx-one{grid-template-columns:1fr;max-width:640px}

/* questions, answered */
.hvx-qa{border-top:1px solid var(--border-hairline,#DEDBD2);padding:4px 0}
.hvx-qa:last-of-type{border-bottom:1px solid var(--border-hairline,#DEDBD2)}
.hvx-qa summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:16px;align-items:center;padding:14px 0}
.hvx-qa summary::-webkit-details-marker{display:none}
.hvx-qa summary h3{margin:0;font-size:17px}
.hvx-qa summary::after{content:'';flex:none;width:10px;height:10px;border:solid var(--accent,#6A3F96);border-width:0 2px 2px 0;transform:rotate(45deg) translate(-2px,-2px);transition:transform var(--dur,.28s) var(--ease,ease)}
.hvx-qa[open] summary::after{transform:rotate(-135deg)}
.hvx-qa p{margin:0 0 14px}

/* related pages tiles */
.hvx-leads{margin-top:56px;padding-top:28px;border-top:1px solid var(--border-hairline,#DEDBD2)}
.hvx-tiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:20px}
a.hvx-tile,.prose a.hvx-tile,.hvx-tile *,a.hvx-gcard,.hvx-gcard *{text-decoration:none!important}
.hvx-tile{position:relative;display:grid;gap:6px;padding:18px 48px 18px 18px;text-decoration:none;color:inherit;clip-path:polygon(0 0,calc(100% - 22px) 0,100% 14px,100% 100%,0 100%);transition:border-color var(--dur,.28s) var(--ease,ease),background var(--dur,.28s) var(--ease,ease)}
.hvx-tile:hover{border-color:var(--accent,#6A3F96);background:#fff}
.hvx-tile .t{font-size:17px;font-weight:600;color:var(--heading,#14181B);line-height:1.25}
.hvx-tile .p{font-size:14px;line-height:1.45;color:var(--body,#3C4147)}
.hvx-tile .go{position:absolute;right:16px;bottom:16px;width:18px;height:18px;color:var(--accent,#6A3F96);transition:transform var(--dur,.28s) var(--ease,ease)}
.hvx-tile:hover .go{transform:translateX(3px)}
@media (max-width:560px){.hvx-tiles{grid-template-columns:1fr}}

/* guide navigation band on other pages */
.hvx-gnav{padding-block:40px;background:var(--surface,#F4F3EF)}
.hvx-gnav-h{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:end;gap:8px 24px;margin-bottom:18px}
.hvx-gnav-h h2{margin:8px 0 0;font-size:clamp(22px,2.6vw,30px);line-height:1.15;letter-spacing:-.5px;font-weight:600;color:var(--heading,#14181B);max-width:30ch;text-wrap:balance}
.hvx-gnav-h a{font-size:14px}
.hvx-gnav-g{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:14px}
.hvx-gcard{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,3fr);text-decoration:none;color:inherit;background:var(--surface-raised,#FBFAF8);border:1px solid var(--border-hairline,#DEDBD2);border-radius:var(--r,8px);overflow:hidden;transition:border-color var(--dur,.28s) var(--ease,ease)}
.hvx-gcard:hover{border-color:var(--accent,#6A3F96)}
.hvx-gcard .m{position:relative;background:var(--surface-sunken,#E9E7E0);min-height:180px}
.hvx-gcard .m img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .4s var(--ease,ease)}
.hvx-gcard:hover .m img{transform:scale(1.03)}
.hvx-gcard .b{padding:18px 20px;display:flex;flex-direction:column;gap:8px}
.hvx-gcard .t{font-size:19px;line-height:1.25;font-weight:600;color:var(--heading,#14181B);letter-spacing:-.2px}
.hvx-gcard .p{font-size:14.5px;line-height:1.5;color:var(--body,#3C4147)}
.hvx-gcard .cue{margin-top:auto;display:inline-flex;align-items:center;gap:8px;font-weight:600;font-size:14.5px;color:var(--accent-text,#602F90)}
.hvx-gcard .cue svg{width:16px;height:16px;transition:transform var(--dur,.28s) var(--ease,ease)}
.hvx-gcard:hover .cue svg{transform:translateX(3px)}
@media (max-width:560px){.hvx-gcard{grid-template-columns:1fr}.hvx-gcard .m{min-height:0;aspect-ratio:16/9}}
@media (prefers-reduced-motion:reduce){.hvx-tablist button,.hvx-bar i,.hvx-tile,.hvx-tile .go,.hvx-gcard,.hvx-gcard .m img,.hvx-gcard .cue svg,.hvx-qa summary::after,.hvx-check label{transition:none}.hvx-gcard:hover .m img{transform:none}}
.hvx-read{margin:12px 0 0;font-size:14.5px;font-weight:600}
.hvx-read a{color:var(--accent-text,#602F90)}
