*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{margin:0;-webkit-font-smoothing:antialiased}img{max-width:100%;display:block}.rh-lf-err{display:none}.rh-lf-err.on{display:block}.rh-cc{display:none}.rh-cc.show{display:block}.rh-rh-ccm{display:none}.rh-rh-ccm.show{display:grid}details.rh-qa>summary{list-style:none;cursor:pointer}details.rh-qa>summary::-webkit-details-marker{display:none}.rh-map{position:relative}.rh-map iframe{position:absolute;inset:0;width:100%;height:100%;border:0}.rh-lf-cc{display:inline-flex;align-items:center;justify-content:center;font:inherit}[hidden]{display:none!important}
/* gen4 base layout — one stylesheet, 6 visual variants via html[data-v] */
:root{--bg:#ffffff;--ink:#141414;--mut:#5c5c5c;--card:#fafafa;--line:#e6e6e6;--acc:#2563eb;--acc-ink:#fff;--rad:16px;--serif:Georgia,serif;--sans:system-ui,sans-serif;--maxw:1160px;--pad:26px}
body{background:var(--bg);color:var(--ink);font:400 17px/1.65 var(--sans)}
h1,h2,h3,h4{margin:0;line-height:1.1;font-family:var(--serif);font-weight:600;text-wrap:balance}
p{margin:0 0 1em}
a{color:var(--acc)}a:hover{opacity:.72}
:focus-visible{outline:2px solid var(--acc);outline-offset:3px}
.rh-u-wrap{max-width:var(--maxw);margin:0 auto;padding:0 var(--pad)}
section{padding:76px 0}
.rh-u-kick,.rh-doc-kicker{display:inline-block;font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--acc);font-family:var(--sans);font-weight:600;margin-bottom:14px}
.rh-u-lead{font-size:19px;color:var(--mut);max-width:54ch}
.rh-u-sec-h{font-size:clamp(30px,4.2vw,46px);max-width:22ch;margin-bottom:12px}
.rh-u-sec-p{color:var(--mut);max-width:56ch;margin-bottom:40px}
/* header */
.rh-u-head{position:sticky;top:0;z-index:40;background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.rh-u-head .rh-in{max-width:var(--maxw);margin:0 auto;padding:12px var(--pad);display:flex;align-items:center;gap:20px}
.rh-u-brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink);font-family:var(--serif);font-weight:700;font-size:21px;margin-inline-end:auto}
.rh-u-brand .rh-mk{width:38px;height:38px;border-radius:12px;background:var(--acc);color:var(--acc-ink);display:grid;place-items:center;font-size:20px;flex:none}
.rh-u-brand .rh-mk:has(svg){background:none;border-radius:0}
.rh-u-brand .rh-mk svg{width:100%;height:100%;display:block}
.rh-u-brand .rh-wm{letter-spacing:-.015em;line-height:1}
.rh-u-brand small{font-family:var(--sans);font-weight:500;color:var(--mut);font-size:13px}
.rh-u-nav{display:flex;gap:22px;font-size:15px;font-family:var(--sans)}
.rh-u-nav a{color:var(--ink);text-decoration:none}
.rh-u-nav a:hover,.rh-u-nav a[aria-current]{color:var(--acc)}
.rh-u-btn{display:inline-flex;align-items:center;gap:8px;font-family:var(--sans);font-weight:600;font-size:15px;text-decoration:none;padding:11px 22px;border-radius:999px;background:var(--acc);color:var(--acc-ink);border:1.5px solid var(--acc);cursor:pointer}
.rh-u-btn:hover{opacity:1;filter:brightness(1.06)}
.rh-u-btn.rh-ghost{background:transparent;color:var(--ink);border-color:var(--line)}
.rh-u-btn.rh-ghost:hover{border-color:var(--acc);color:var(--acc)}
.rh-u-btn.rh-lg{padding:15px 28px;font-size:17px}
.rh-u-btns{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}
/* hero */
.rh-u-hero{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:52px;align-items:center;padding:68px 0 52px}
.rh-u-hero h1{font-size:clamp(40px,6vw,70px);margin:16px 0 18px}
.rh-u-art{background:var(--card);border:1px solid var(--line);border-radius:var(--rad);padding:26px}
.rh-u-trust{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px;font-family:var(--sans)}
.rh-u-chip{font-size:13px;padding:5px 12px;border-radius:999px;background:var(--card);border:1px solid var(--line);color:var(--mut)}
/* media */
.rh-pic{margin:0;overflow:hidden;border-radius:var(--rad)}.rh-pic img{width:100%;height:100%;object-fit:cover;display:block}
.rh-u-bleed{aspect-ratio:21/9}
/* features */
.rh-u-feats{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px}
.rh-u-feat{background:var(--card);border:1px solid var(--line);border-radius:var(--rad);padding:26px}
.rh-u-feat i{font-size:30px;color:var(--acc)}
.rh-u-feat h3{font-size:21px;margin:12px 0 8px;font-family:var(--sans);font-weight:700}
.rh-u-feat p{color:var(--mut);margin:0;font-size:15px}
/* split rows */
.rh-u-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:52px;align-items:center}
.rh-u-split+.rh-u-split{margin-top:72px}
.rh-u-split.rh-rev>.rh-pic{order:2}
.rh-u-split .rh-pic{aspect-ratio:4/3}
.rh-u-split h2{font-size:clamp(26px,3.4vw,40px);margin-bottom:14px}
.rh-u-split p{color:var(--mut);font-size:18px;margin:0}
/* steps */
.rh-u-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;counter-reset:st}
.rh-u-step{padding-top:16px;border-top:2px solid var(--acc)}
.rh-u-step b{font-family:var(--sans);color:var(--acc);font-size:14px;display:block}
.rh-u-step b::before{counter-increment:st;content:"0" counter(st) "  "}
.rh-u-step h3{font-size:22px;margin:6px 0 8px;font-family:var(--sans);font-weight:700}
.rh-u-step p{color:var(--mut);margin:0;font-size:15px}
/* free band */
.rh-u-free{background:var(--ink);color:var(--bg);border-radius:var(--rad);padding:46px;display:flex;flex-wrap:wrap;gap:22px 48px;align-items:center;justify-content:space-between}
.rh-u-free h2{font-size:clamp(26px,3.4vw,40px);max-width:20ch;color:var(--bg)}
.rh-u-free ul{list-style:none;margin:0;padding:0;display:grid;gap:8px;font-family:var(--sans)}
.rh-u-free li{display:flex;gap:10px;align-items:center;opacity:.92}
.rh-u-free li i{opacity:.8}
/* start / form */
.rh-u-start{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:52px;align-items:start}
.rh-u-start h2{font-size:clamp(28px,4vw,48px);margin-bottom:16px}
.rh-u-start p{color:var(--mut);font-size:18px}
.rh-lf{background:var(--card);border:1px solid var(--line);border-radius:var(--rad);padding:28px;display:grid;gap:16px}
.rh-lf h3{font-size:24px;font-family:var(--sans);font-weight:700}
.rh-lf-field label{display:block;font-family:var(--sans);font-weight:600;font-size:13px;margin-bottom:6px}
.rh-lf-input{width:100%;font:inherit;font-size:16px;padding:12px 14px;border-radius:12px;border:1.5px solid var(--line);background:var(--bg);color:var(--ink)}
.rh-lf-input:focus{outline:none;border-color:var(--acc)}
.rh-lf-row{display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px}
.rh-lf-cc{align-self:stretch;display:inline-flex;align-items:center;padding:0 14px;border:1.5px solid var(--line);border-radius:12px;font-weight:600;opacity:.8}
.rh-lf-check{display:flex;gap:10px;font-family:var(--sans);font-size:13px;color:var(--mut);line-height:1.55}
.rh-lf-check input{accent-color:var(--acc);width:18px;height:18px;flex:none;margin-top:2px}
.rh-lf-err{color:#c0362b;font-family:var(--sans);font-size:13px}
.rh-lf-btn{font:inherit;font-family:var(--sans);font-weight:700;font-size:17px;padding:15px;border-radius:999px;border:0;background:var(--acc);color:var(--acc-ink);cursor:pointer}
.rh-lf-btn:hover{filter:brightness(1.06)}
.rh-lf-note{font-family:var(--sans);font-size:13px;color:var(--mut)}
/* faq */
.rh-u-faq,.rh-faq-page{max-width:820px}
.rh-faq-page{margin-bottom:40px}
.rh-qa{border-bottom:1px solid var(--line);padding:18px 0}
.rh-qa summary{font-family:var(--sans);font-weight:600;font-size:18px;display:flex;justify-content:space-between;gap:16px}
.rh-qa summary::after{content:"+";color:var(--acc);font-size:22px;line-height:1}
.rh-qa[open] summary::after{content:"\u2212"}
.rh-qa-a{color:var(--mut);margin-top:10px}
.rh-qa-a p{margin:0}
/* contact */
.rh-contact-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:44px;align-items:start;margin-bottom:40px}
.rh-map{aspect-ratio:4/3;border:1px solid var(--line);border-radius:var(--rad)}
.rh-info{margin:0;display:grid;gap:18px;font-family:var(--sans)}
.rh-info dt{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--acc);font-weight:700;margin-bottom:4px}
.rh-info dd{margin:0}.rh-info a{color:var(--ink)}
/* footer */
.rh-u-foot{border-top:1px solid var(--line);padding:46px 0 34px;margin-top:40px;font-family:var(--sans)}
.rh-u-foot-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1.4fr;gap:30px}
.rh-u-foot h4{font-size:13px;color:var(--mut);margin:0 0 12px;font-weight:600}
.rh-u-foot ul{list-style:none;margin:0;padding:0;display:grid;gap:8px;font-size:15px}
.rh-u-foot a,.rh-u-foot button,.rh-linkish{color:var(--ink);text-decoration:none;background:none;border:0;font:inherit;padding:0;cursor:pointer;text-align:start}
.rh-linkish{color:var(--acc);text-decoration:underline}
.rh-u-foot a:hover,.rh-u-foot button:hover{color:var(--acc)}
.rh-u-fine{margin-top:34px;padding-top:20px;border-top:1px solid var(--line);font-size:13px;color:var(--mut);display:grid;gap:6px}
.rh-u-fine p{margin:0}
/* legal / pages */
.rh-doc{max-width:800px;margin:0 auto;padding:58px 0 36px}
.rh-doc h1{font-size:clamp(34px,5vw,54px);margin:10px 0 12px}
.rh-doc h2{font-size:22px;margin:36px 0 10px;font-family:var(--sans);font-weight:700}
.rh-doc p,.rh-doc li{color:#3a3a3a}
.rh-doc-date{color:var(--mut);font-size:14px}
.rh-doc table{width:100%;border-collapse:collapse;font-size:14px;margin:12px 0}
.rh-doc th,.rh-doc td{border-bottom:1px solid var(--line);padding:10px 8px;text-align:start;vertical-align:top}
.rh-doc .box{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:4px 20px;margin:18px 0}
.rh-page-head{padding:60px 0 34px}
.rh-page-head h1{font-size:clamp(38px,5.4vw,62px);max-width:18ch}
.rh-page-head p{color:var(--mut);font-size:19px;max-width:56ch}
.rh-about-pic{aspect-ratio:21/8;margin-bottom:12px}
.rh-doc ul{padding-inline-start:20px;display:grid;gap:6px}
.rh-success{max-width:640px;margin:0 auto;padding:90px 0;text-align:center}
.rh-success h1{font-size:clamp(36px,5vw,56px);margin:14px 0}
.rh-success p{color:var(--mut)}
/* cookie */
.rh-cc{position:fixed;inset-inline:16px;bottom:16px;max-width:560px;z-index:50;background:var(--card);border:1px solid var(--line);border-radius:var(--rad);padding:20px;box-shadow:0 18px 50px rgba(0,0,0,.14)}
.rh-cc strong{font-family:var(--sans)}
.rh-cc p{font-size:14px;color:var(--mut);margin:6px 0 14px}
.rh-cc-btns{display:flex;flex-wrap:wrap;gap:8px}
.rh-cc-b{font:inherit;font-family:var(--sans);font-weight:600;font-size:14px;padding:10px 16px;border-radius:999px;border:1.5px solid var(--line);background:var(--bg);color:var(--ink);cursor:pointer}
.rh-cc-yes{background:var(--acc);color:var(--acc-ink);border-color:var(--acc)}
.rh-rh-ccm{position:fixed;inset:0;z-index:60;background:rgba(0,0,0,.45);place-items:center;padding:20px}
.rh-cc-box{background:var(--bg);border-radius:var(--rad);padding:28px;max-width:480px;width:100%}
.rh-cc-box h3{font-family:var(--sans);font-size:24px;margin-bottom:10px}
.rh-cc-pref{display:flex;justify-content:space-between;gap:16px;padding:14px 0;border-bottom:1px solid var(--line)}
.rh-cc-pref b{font-family:var(--sans)}
.rh-cc-pref small{display:block;color:var(--mut);font-size:13px}
.rh-cc-pref input{accent-color:var(--acc);width:20px;height:20px}
.rh-cc-box .rh-cc-btns{margin-top:18px}
@media(max-width:880px){.rh-u-nav{display:none}.rh-u-hero,.rh-u-split,.rh-u-start,.rh-contact-grid,.rh-u-foot-grid{grid-template-columns:minmax(0,1fr)}.rh-u-split.rh-rev>.rh-pic{order:0}.rh-u-steps{grid-template-columns:minmax(0,1fr)}.rh-u-free{padding:30px}section{padding:54px 0}.rh-u-brand small{display:none}}

/* ============ VARIANT: mag (bold editorial) ============ */
html[data-v=mag] h1,html[data-v=mag] h2,html[data-v=mag] h3,html[data-v=mag] h4{font-family:var(--serif);font-weight:800;letter-spacing:-.02em;line-height:1.02}
html[data-v=mag] .rh-u-btn,html[data-v=mag] .rh-lf-btn,html[data-v=mag] .rh-cc-b{border-radius:0}
html[data-v=mag] .rh-u-feat,html[data-v=mag] .rh-u-art,html[data-v=mag] .rh-pic,html[data-v=mag] .rh-map,html[data-v=mag] .rh-lf,html[data-v=mag] .rh-cc,html[data-v=mag] .rh-cc-box{border-radius:0}
html[data-v=mag] .rh-u-feat{border:0;border-top:4px solid var(--ink)}
html[data-v=mag] .rh-u-head{border-bottom:3px solid var(--ink)}
html[data-v=mag] .rh-u-hero h1{font-size:clamp(46px,8vw,96px)}
html[data-v=mag] .rh-lf-input{border-radius:0}
html[data-v=mag] .rh-lf-cc{border-radius:0}

/* ============ VARIANT: swiss (minimal hairline) ============ */
html[data-v=swiss]{--rad:0px}
html[data-v=swiss] h1,html[data-v=swiss] h2,html[data-v=swiss] h3,html[data-v=swiss] h4{font-family:var(--sans);font-weight:600;letter-spacing:-.02em}
html[data-v=swiss] .rh-u-btn{background:transparent;color:var(--ink);border:0;border-bottom:2px solid var(--acc);border-radius:0;padding:8px 2px}
html[data-v=swiss] .rh-u-btn.rh-ghost{color:var(--mut);border-bottom-color:var(--line)}
html[data-v=swiss] .rh-u-feat{background:transparent;border:0;border-top:1px solid var(--ink);padding-inline:0}
html[data-v=swiss] .rh-u-art,html[data-v=swiss] .rh-lf{background:transparent;border:1px solid var(--line)}
html[data-v=swiss] .rh-u-step{border-top-color:var(--ink)}
html[data-v=swiss] .rh-lf-btn{border-radius:0}

/* ============ VARIANT: soft (rounded friendly) ============ */
html[data-v=soft]{--rad:26px}
html[data-v=soft] h1,html[data-v=soft] h2,html[data-v=soft] h3,html[data-v=soft] h4{font-family:var(--serif);font-weight:800;letter-spacing:-.02em}
html[data-v=soft] body{background:var(--bg)}
html[data-v=soft] .rh-u-feat{box-shadow:0 10px 30px rgba(0,0,0,.05);border-color:transparent}
html[data-v=soft] .rh-u-step{border-top:0}
html[data-v=soft] .rh-u-step b{display:inline-grid;place-items:center;width:46px;height:46px;border-radius:50%;background:var(--acc);color:var(--acc-ink)}
html[data-v=soft] .rh-u-step b::before{content:"0" counter(st)}

/* ============ VARIANT: tech (dark mono) ============ */
html[data-v=tech] h1,html[data-v=tech] h2,html[data-v=tech] h3,html[data-v=tech] h4{font-family:var(--sans);letter-spacing:-.01em}
html[data-v=tech] .rh-u-head{background:color-mix(in srgb,var(--bg) 80%,transparent);border-bottom-color:var(--line)}
html[data-v=tech] .rh-u-chip{background:var(--card)}
html[data-v=tech] .rh-u-feat i{color:var(--acc)}
html[data-v=tech] .rh-u-free{background:var(--card);color:var(--ink);border:1px solid var(--line)}
html[data-v=tech] .rh-u-free h2{color:var(--ink)}
html[data-v=tech] .rh-u-foot a,html[data-v=tech] .rh-u-foot button{color:var(--ink)}
html[data-v=tech] .rh-map{filter:invert(.92) hue-rotate(180deg) saturate(.7)}
html[data-v=tech] .rh-u-step{border-top-color:var(--acc)}

/* ============ VARIANT: clock (light indigo cards) ============ */
html[data-v=clock] h1,html[data-v=clock] h2,html[data-v=clock] h3,html[data-v=clock] h4{font-family:var(--serif);font-weight:600}
html[data-v=clock] .rh-u-free{background:var(--acc);color:var(--acc-ink)}
html[data-v=clock] .rh-u-free h2{color:var(--acc-ink)}
html[data-v=clock] .rh-u-feat{background:var(--card)}

/* signature art shells */
.art-tally{display:grid;gap:14px}
.art-tally .row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding-bottom:12px;border-bottom:1px solid var(--line);font-family:var(--sans)}
.art-tally .row:last-child{border-bottom:0}
.art-tally .marks{letter-spacing:3px;color:var(--acc);font-weight:700}
.art-tally .amt{color:var(--mut);font-size:14px}
.art-ring{display:grid;place-items:center;gap:10px;text-align:center;font-family:var(--sans)}
.art-ring .dial{width:180px;height:180px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--acc) var(--p,72%),var(--line) 0)}
.art-ring .dial span{width:140px;height:140px;border-radius:50%;background:var(--bg);display:grid;place-content:center;font-family:var(--serif);font-size:52px;color:var(--ink)}
.art-ring small{color:var(--mut)}
.art-bars{display:flex;align-items:flex-end;gap:10px;height:180px}
.art-bars i{flex:1;background:var(--acc);border-radius:8px 8px 0 0;opacity:.35}
.art-bars i:nth-child(1){height:30%}.art-bars i:nth-child(2){height:48%}.art-bars i:nth-child(3){height:66%}.art-bars i:nth-child(4){height:84%}.art-bars i:nth-child(5){height:100%}
.art-bars i.on{opacity:1}
.art-ledger{font-family:var(--sans);font-size:15px}
.art-ledger .r{display:grid;grid-template-columns:1fr auto auto;gap:14px;padding:11px 0;border-bottom:1px solid var(--line)}
.art-ledger .r.rh-h{color:var(--mut);font-size:12px;text-transform:uppercase;letter-spacing:.1em}
.art-ledger .r:last-child{border-bottom:0}
.art-ledger .due{color:var(--acc);font-weight:700}
.art-num{font-family:var(--serif);font-size:clamp(120px,20vw,200px);line-height:.85;color:var(--acc)}
.art-num small{display:block;font-family:var(--sans);font-size:18px;color:var(--mut);margin-top:10px}
.art-sms{display:grid;gap:10px;font-family:var(--sans)}
.art-sms .b{max-width:85%;padding:12px 16px;border-radius:18px;font-size:15px}
.art-sms .b.them{background:var(--acc);color:var(--acc-ink);border-end-end-radius:5px;justify-self:end}
.art-sms .b.us{background:var(--card);border:1px solid var(--line);border-end-start-radius:5px}

/* gen5 extras: hero layouts + centered footer */
.rh-u-hero.stack{grid-template-columns:minmax(0,1fr);text-align:center;justify-items:center;gap:36px}
.rh-u-hero.stack .rh-u-lead{margin-inline:auto}
.rh-u-hero.stack .rh-u-btns,.rh-u-hero.stack .rh-u-trust{justify-content:center}
.rh-u-hero.stack h1{max-width:16ch;margin-inline:auto}
.rh-u-hero.stack .rh-u-art{width:min(560px,100%)}
.rh-u-hero.rh-flip>.rh-u-art{order:-1}
.u-foot-c{text-align:center}
.u-foot-c .rh-u-brand{display:inline-flex;margin:0 auto}
.u-foot-blurb{color:var(--mut);max-width:46ch;margin:14px auto 0}
.u-foot-nav{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 22px;margin:22px 0 10px;font-size:15px}
.u-foot-nav a,.u-foot-nav button{color:var(--ink);text-decoration:none;background:none;border:0;font:inherit;padding:0;cursor:pointer}
.u-foot-nav a:hover,.u-foot-nav button:hover{color:var(--acc)}
.u-foot-addr{color:var(--mut);font-size:14px}
.u-foot-addr a{color:var(--ink)}
.u-foot-c .rh-u-fine{text-align:center}
.rh-u-head.solid{background:var(--ink);border-bottom:0}
.rh-u-head.solid .rh-u-brand,.rh-u-head.solid .rh-u-nav a{color:var(--bg)}
.rh-u-head.solid .rh-u-nav a:hover,.rh-u-head.solid .rh-u-nav a[aria-current]{color:var(--acc)}
.rh-u-head.center .rh-in{flex-wrap:wrap;justify-content:center}
.rh-u-head.center .rh-u-brand{margin-inline-end:0;width:100%;justify-content:center}
@media(max-width:880px){.rh-u-hero.rh-flip>.rh-u-art{order:0}.rh-u-head.center .rh-u-brand{width:auto;margin-inline-end:auto}.rh-u-head.center .rh-in{justify-content:space-between}}

.u-promise{padding:64px 0}
.u-pr-big{font-family:var(--serif);font-size:clamp(28px,4.4vw,52px);line-height:1.15;max-width:24ch;margin:0 0 14px;text-wrap:balance}
.u-pr-sm{color:var(--mut);max-width:58ch;font-size:18px;margin:0}
.art-cap{margin:12px 0 0;color:var(--mut);font-size:13px}
/* MAP — binder tabs, Zwolle */
html[data-v=map]{--rad:4px}
html[data-v=map] h1,html[data-v=map] h2,html[data-v=map] h3{font-family:var(--serif);font-weight:600;letter-spacing:-.015em}
html[data-v=map] .rh-u-head{border-bottom:4px solid var(--acc)}
html[data-v=map] .rh-u-feat{background:var(--card);border:1px solid var(--line);position:relative;padding-top:38px}
html[data-v=map] .rh-u-feat::before{content:"";position:absolute;top:-1px;inset-inline-start:20px;width:64px;height:12px;border-radius:0 0 6px 6px;background:var(--acc)}
html[data-v=map] .rh-u-feat:nth-child(2)::before{background:var(--acc2)}
html[data-v=map] .rh-u-feat i{color:var(--acc)}
html[data-v=map] .rh-u-free{background:var(--acc)}
html[data-v=map] .rh-u-step{border-top:2px solid var(--ink)}
html[data-v=map] .rh-u-art{background:transparent;border:0;padding:0}
.art-binder{display:grid;grid-template-columns:minmax(0,1fr) 46px;font-family:var(--sans)}
.art-binder .pg{background:var(--card);border:1px solid var(--line);padding:18px;display:grid;gap:10px}
.art-binder .pg div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;padding-bottom:10px;border-bottom:1px solid var(--line)}
.art-binder .pg b{display:block}.art-binder .pg small{color:var(--mut)}
.art-binder .pg em{font-style:normal;font-size:12px;font-weight:700;color:var(--acc)}
.art-binder .tabs{display:grid;gap:6px;padding-top:14px}
.art-binder .tabs span{writing-mode:vertical-rl;padding:12px 6px;border-radius:0 6px 6px 0;background:var(--acc);color:#fff;font-size:12px;font-weight:700;text-align:center}
.art-binder .tabs span:nth-child(2){background:var(--acc2)}.art-binder .tabs span:nth-child(3){background:var(--mut)}
/* PLANNING — Breda week board */
html[data-v=planning]{--rad:16px}
html[data-v=planning] h1,html[data-v=planning] h2,html[data-v=planning] h3{font-family:var(--serif);font-weight:800;letter-spacing:-.03em;line-height:1.02}
html[data-v=planning] .rh-u-hero h1{font-size:clamp(44px,7vw,86px)}
html[data-v=planning] .rh-u-btn,html[data-v=planning] .rh-lf-btn,html[data-v=planning] .rh-cc-b{border-radius:999px}
html[data-v=planning] .rh-u-feat{border:0;background:var(--card);box-shadow:0 10px 26px rgba(20,30,40,.07)}
html[data-v=planning] .rh-u-feat i{display:inline-grid;place-items:center;width:50px;height:50px;border-radius:14px;background:var(--acc);color:#fff}
html[data-v=planning] .rh-u-feat:nth-child(2) i{background:var(--acc2)}
html[data-v=planning] .rh-u-free{background:var(--ink);color:var(--bg)}
html[data-v=planning] .rh-u-free h2{color:var(--bg)}
html[data-v=planning] .rh-u-step{border-top:0;background:var(--card);border-radius:var(--rad);padding:22px}
html[data-v=planning] .rh-u-step b{display:inline-grid;place-items:center;width:42px;height:42px;border-radius:50%;background:var(--acc);color:#fff}
html[data-v=planning] .rh-u-step b::before{content:"" counter(st)}
html[data-v=planning] .rh-u-art{background:var(--card);border:0}
.art-board{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;font-family:var(--sans)}
.art-board div{display:grid;gap:6px;align-content:start}
.art-board h5{margin:0;font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--mut)}
.art-board span{padding:10px;border-radius:10px;font-size:13px;font-weight:600;background:color-mix(in srgb,var(--acc) 14%,var(--card))}
.art-board span.g{background:color-mix(in srgb,var(--acc2) 18%,var(--card))}
.art-board span.v{background:color-mix(in srgb,var(--ink) 8%,var(--card))}
/* BEURT — next turn gauge */
html[data-v=beurt]{--rad:10px}
html[data-v=beurt] h1,html[data-v=beurt] h2,html[data-v=beurt] h3{font-family:var(--serif);font-weight:500;letter-spacing:-.01em}
html[data-v=beurt] .rh-u-hero h1{font-size:clamp(44px,6.8vw,82px);line-height:1.03}
html[data-v=beurt] .rh-u-feat{background:var(--card);border:0;border-inline-start:5px solid var(--acc)}
html[data-v=beurt] .rh-u-feat i{color:var(--acc)}
html[data-v=beurt] .rh-u-free{background:var(--acc)}
html[data-v=beurt] .rh-u-step{border-top:2px solid var(--acc)}
html[data-v=beurt] .rh-u-step b{font-family:var(--serif);font-size:36px;color:var(--acc)}
html[data-v=beurt] .rh-u-art{background:var(--card);border:1px solid var(--line)}
.art-gauge{display:grid;gap:14px;font-family:var(--sans)}
.art-gauge div{display:grid;gap:6px}
.art-gauge div span{display:flex;justify-content:space-between;gap:10px;font-weight:600}
.art-gauge div span small{color:var(--mut);font-weight:500}
.art-gauge i{display:block;height:10px;border-radius:5px;background:var(--line);position:relative;overflow:hidden}
.art-gauge i::after{content:"";position:absolute;inset:0 auto 0 0;width:var(--w);background:var(--acc);border-radius:5px}
.art-gauge i.hot::after{background:var(--acc2)}
/* RONDOM — circle around the house */
html[data-v=rondom]{--rad:28px}
html[data-v=rondom] h1,html[data-v=rondom] h2,html[data-v=rondom] h3{font-family:var(--serif);font-weight:400;letter-spacing:0}
html[data-v=rondom] .rh-u-hero h1{font-size:clamp(44px,7vw,86px);line-height:1.02}
html[data-v=rondom] .rh-u-feat{border:0;background:var(--card);border-radius:var(--rad);text-align:center}
html[data-v=rondom] .rh-u-feat i{display:inline-grid;place-items:center;width:60px;height:60px;border-radius:50%;background:var(--acc2);color:var(--ink)}
html[data-v=rondom] .rh-u-free{background:var(--acc)}
html[data-v=rondom] .rh-u-step{border-top:0}
html[data-v=rondom] .rh-u-step b{display:inline-grid;place-items:center;width:52px;height:52px;border-radius:50%;border:2px solid var(--acc);color:var(--acc);font-family:var(--serif);font-size:22px}
html[data-v=rondom] .rh-u-step b::before{content:"" counter(st)}
html[data-v=rondom] .rh-u-art{background:transparent;border:0;padding:0}
.rh-art-ring2{position:relative;aspect-ratio:1;max-width:340px;margin-inline:auto;border-radius:50%;border:2px dashed var(--acc);font-family:var(--sans)}
.rh-art-ring2 .rh-h{position:absolute;inset:32%;border-radius:18px;background:var(--acc);display:grid;place-items:center;color:#fff;font-size:40px}
.rh-art-ring2 span{position:absolute;padding:6px 12px;border-radius:999px;background:var(--card);box-shadow:0 6px 16px rgba(0,0,0,.08);font-size:13px;font-weight:700;white-space:nowrap;transform:translate(-50%,-50%)}
/* PROEFDAG — torn last page */
html[data-v=proefdag]{--rad:6px}
html[data-v=proefdag] h1,html[data-v=proefdag] h2,html[data-v=proefdag] h3{font-family:var(--serif);font-weight:700;letter-spacing:-.02em}
html[data-v=proefdag] .rh-u-hero h1{font-size:clamp(44px,7vw,86px);line-height:1}
html[data-v=proefdag] .rh-u-feat{background:var(--card);border:1px solid var(--line);border-bottom:4px solid var(--acc)}
html[data-v=proefdag] .rh-u-feat i{color:var(--acc)}
html[data-v=proefdag] .rh-u-free{background:var(--acc)}
html[data-v=proefdag] .rh-u-step{border-top:1px dashed var(--acc)}
html[data-v=proefdag] .rh-u-step b{font-family:var(--serif);font-size:38px}
html[data-v=proefdag] .rh-u-art{background:transparent;border:0;padding:0}
.art-tear2{max-width:300px;margin-inline:auto;font-family:var(--sans);text-align:center;filter:drop-shadow(0 18px 30px rgba(0,0,0,.12))}
.art-tear2 .t{background:var(--acc);color:#fff;padding:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;font-size:13px;border-radius:8px 8px 0 0}
.art-tear2 .b{background:var(--card);padding:16px 0 26px;clip-path:polygon(0 0,100% 0,100% 94%,90% 100%,80% 94%,70% 100%,60% 94%,50% 100%,40% 94%,30% 100%,20% 94%,10% 100%,0 94%)}
.art-tear2 .b b{display:block;font-family:var(--serif);font-size:110px;line-height:1}
.art-tear2 .b span{display:block;font-weight:700}
.art-tear2 .b small{display:block;color:var(--mut);margin-top:6px}
/* ZICHT — horizon timeline */
html[data-v=zicht]{--rad:0px}
html[data-v=zicht] h1,html[data-v=zicht] h2,html[data-v=zicht] h3{font-family:var(--serif);font-weight:500;letter-spacing:-.04em;line-height:.98}
html[data-v=zicht] .rh-u-hero h1{font-size:clamp(48px,7.8vw,98px)}
html[data-v=zicht] .rh-u-head{border-bottom:1px solid var(--ink)}
html[data-v=zicht] .rh-u-btn,html[data-v=zicht] .rh-lf-btn,html[data-v=zicht] .rh-cc-b{border-radius:0}
html[data-v=zicht] .rh-u-feat{border:0;border-top:1px solid var(--ink);background:transparent;padding-inline:0}
html[data-v=zicht] .rh-u-feat i{color:var(--acc)}
html[data-v=zicht] .rh-u-free{background:var(--acc);color:var(--acc-ink)}
html[data-v=zicht] .rh-u-free h2,html[data-v=zicht] .rh-u-free li i{color:var(--acc-ink)}
html[data-v=zicht] .rh-u-step{border-top:1px solid var(--ink)}
html[data-v=zicht] .rh-u-step b{color:var(--acc)}
html[data-v=zicht] .rh-u-art{background:transparent;border:0;padding:0}
.art-horizon{font-family:var(--sans);display:grid;gap:16px}
.art-horizon .sky{height:120px;background:linear-gradient(var(--card),color-mix(in srgb,var(--acc) 22%,var(--card)));position:relative;border-bottom:2px solid var(--ink)}
.art-horizon .sky i{position:absolute;bottom:-1px;left:62%;width:70px;height:35px;border-radius:70px 70px 0 0;background:var(--acc)}
.art-horizon ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.art-horizon li{display:grid;grid-template-columns:62px minmax(0,1fr);gap:12px;align-items:baseline}
.art-horizon li b{font-family:var(--serif);font-size:26px;font-weight:500}
.art-horizon li small{color:var(--mut)}
/* EERDER — one day earlier slider */
html[data-v=eerder]{--rad:20px}
html[data-v=eerder] h1,html[data-v=eerder] h2,html[data-v=eerder] h3{font-family:var(--serif);font-weight:700;letter-spacing:-.03em}
html[data-v=eerder] .rh-u-btn,html[data-v=eerder] .rh-lf-btn,html[data-v=eerder] .rh-cc-b{border-radius:999px}
html[data-v=eerder] .rh-u-feat{background:var(--card);border-color:var(--line)}
html[data-v=eerder] .rh-u-feat i{color:var(--acc)}
html[data-v=eerder] .rh-u-free{background:var(--card);color:var(--ink);border:1px solid var(--acc)}
html[data-v=eerder] .rh-u-free h2{color:var(--ink)}
html[data-v=eerder] .rh-u-step{border-top:0;background:var(--card);border-radius:var(--rad);padding:22px}
html[data-v=eerder] .rh-u-step b{display:inline-grid;place-items:center;width:42px;height:42px;border-radius:50%;background:var(--acc);color:var(--acc-ink)}
html[data-v=eerder] .rh-u-step b::before{content:"" counter(st)}
html[data-v=eerder] .rh-map{filter:invert(.92) hue-rotate(180deg) saturate(.5)}
html[data-v=eerder] .rh-doc p,html[data-v=eerder] .rh-doc li{color:var(--ink)}
html[data-v=eerder] .rh-u-btn.rh-ghost{color:var(--ink)}
html[data-v=eerder] .rh-u-art{background:var(--card);border:1px solid var(--line)}
.art-slide{font-family:var(--sans);display:grid;gap:18px}
.art-slide .opts{display:flex;flex-wrap:wrap;gap:8px}
.art-slide .opts span{padding:9px 14px;border-radius:999px;border:1px solid var(--line);font-weight:600;font-size:14px}
.art-slide .opts span.on{background:var(--acc);color:var(--acc-ink);border-color:var(--acc)}
.art-slide .track{position:relative;height:6px;border-radius:3px;background:var(--line)}
.art-slide .track i{position:absolute;top:-7px;width:20px;height:20px;border-radius:50%;background:var(--acc);margin-left:-10px}
.art-slide .track i.e{background:var(--ink)}
.art-slide p{margin:0;font-family:var(--serif);font-size:clamp(22px,2.8vw,30px);line-height:1.2}
.art-slide small{color:var(--mut)}
/* POST — envelope & stamp */
html[data-v=post]{--rad:3px}
html[data-v=post] h1,html[data-v=post] h2,html[data-v=post] h3{font-family:var(--serif);font-weight:400;letter-spacing:0}
html[data-v=post] .rh-u-hero h1{font-size:clamp(44px,6.8vw,84px);line-height:1.04}
html[data-v=post] .rh-u-head{border-bottom:6px solid transparent;border-image:repeating-linear-gradient(135deg,var(--acc) 0 14px,var(--card) 14px 28px,var(--acc2) 28px 42px,var(--card) 42px 56px) 6}
html[data-v=post] .rh-u-feat{background:var(--card);border:1px solid var(--line)}
html[data-v=post] .rh-u-feat i{color:var(--acc)}
html[data-v=post] .rh-u-free{background:var(--acc2)}
html[data-v=post] .rh-u-step{border-top:1px solid var(--ink)}
html[data-v=post] .rh-u-step b{font-family:var(--serif);font-size:34px;color:var(--acc)}
html[data-v=post] .rh-u-art{background:transparent;border:0;padding:0}
.art-env{position:relative;background:var(--card);border:1px solid var(--line);padding:26px 24px;font-family:var(--sans);box-shadow:0 18px 36px rgba(0,0,0,.08)}
.art-env::before{content:"";position:absolute;inset:0;border:6px solid transparent;border-image:repeating-linear-gradient(135deg,var(--acc) 0 10px,transparent 10px 20px,var(--acc2) 20px 30px,transparent 30px 40px) 6;pointer-events:none}
.art-env .st{position:absolute;top:18px;inset-inline-end:18px;width:64px;height:76px;border:2px dashed var(--acc);display:grid;place-items:center;font-family:var(--serif);font-size:13px;text-align:center;color:var(--acc);transform:rotate(4deg)}
.art-env b{display:block;font-family:var(--serif);font-weight:400;font-size:26px;max-width:16ch;line-height:1.15}
.art-env p{margin:12px 0 0;color:var(--mut);font-size:14px;max-width:30ch}

:root{--bg:#f3f6ee;--ink:#1e2a1c;--mut:#566352;--card:#ffffff;--line:#dbe3d2;--acc:#4c7a34;--acc2:#f2c14e;--acc-ink:#ffffff;--serif:"Young Serif",Georgia,serif;--sans:"Nunito Sans",system-ui,sans-serif}
a{color:var(--acc)}