*,*::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}.df-lf-err{display:none}.df-lf-err.on{display:block}.df-cc{display:none}.df-cc.show{display:block}.df-df-ccm{display:none}.df-df-ccm.show{display:grid}details.df-qa>summary{list-style:none;cursor:pointer}details.df-qa>summary::-webkit-details-marker{display:none}.df-map{position:relative}.df-map iframe{position:absolute;inset:0;width:100%;height:100%;border:0}.df-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}
.df-u-wrap{max-width:var(--maxw);margin:0 auto;padding:0 var(--pad)}
section{padding:76px 0}
.df-u-kick,.df-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}
.df-u-lead{font-size:19px;color:var(--mut);max-width:54ch}
.df-u-sec-h{font-size:clamp(30px,4.2vw,46px);max-width:22ch;margin-bottom:12px}
.df-u-sec-p{color:var(--mut);max-width:56ch;margin-bottom:40px}
/* header */
.df-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)}
.df-u-head .df-in{max-width:var(--maxw);margin:0 auto;padding:12px var(--pad);display:flex;align-items:center;gap:20px}
.df-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}
.df-u-brand .df-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}
.df-u-brand .df-mk:has(svg){background:none;border-radius:0}
.df-u-brand .df-mk svg{width:100%;height:100%;display:block}
.df-u-brand .df-wm{letter-spacing:-.015em;line-height:1}
.df-u-brand small{font-family:var(--sans);font-weight:500;color:var(--mut);font-size:13px}
.df-u-nav{display:flex;gap:22px;font-size:15px;font-family:var(--sans)}
.df-u-nav a{color:var(--ink);text-decoration:none}
.df-u-nav a:hover,.df-u-nav a[aria-current]{color:var(--acc)}
.df-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}
.df-u-btn:hover{opacity:1;filter:brightness(1.06)}
.df-u-btn.df-ghost{background:transparent;color:var(--ink);border-color:var(--line)}
.df-u-btn.df-ghost:hover{border-color:var(--acc);color:var(--acc)}
.df-u-btn.df-lg{padding:15px 28px;font-size:17px}
.df-u-btns{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}
/* hero */
.df-u-hero{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:52px;align-items:center;padding:68px 0 52px}
.df-u-hero h1{font-size:clamp(40px,6vw,70px);margin:16px 0 18px}
.df-u-art{background:var(--card);border:1px solid var(--line);border-radius:var(--rad);padding:26px}
.df-u-trust{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px;font-family:var(--sans)}
.df-u-chip{font-size:13px;padding:5px 12px;border-radius:999px;background:var(--card);border:1px solid var(--line);color:var(--mut)}
/* media */
.df-pic{margin:0;overflow:hidden;border-radius:var(--rad)}.df-pic img{width:100%;height:100%;object-fit:cover;display:block}
.df-u-bleed{aspect-ratio:21/9}
/* features */
.df-u-feats{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px}
.df-u-feat{background:var(--card);border:1px solid var(--line);border-radius:var(--rad);padding:26px}
.df-u-feat i{font-size:30px;color:var(--acc)}
.df-u-feat h3{font-size:21px;margin:12px 0 8px;font-family:var(--sans);font-weight:700}
.df-u-feat p{color:var(--mut);margin:0;font-size:15px}
/* split rows */
.df-u-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:52px;align-items:center}
.df-u-split+.df-u-split{margin-top:72px}
.df-u-split.df-rev>.df-pic{order:2}
.df-u-split .df-pic{aspect-ratio:4/3}
.df-u-split h2{font-size:clamp(26px,3.4vw,40px);margin-bottom:14px}
.df-u-split p{color:var(--mut);font-size:18px;margin:0}
/* steps */
.df-u-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;counter-reset:st}
.df-u-step{padding-top:16px;border-top:2px solid var(--acc)}
.df-u-step b{font-family:var(--sans);color:var(--acc);font-size:14px;display:block}
.df-u-step b::before{counter-increment:st;content:"0" counter(st) "  "}
.df-u-step h3{font-size:22px;margin:6px 0 8px;font-family:var(--sans);font-weight:700}
.df-u-step p{color:var(--mut);margin:0;font-size:15px}
/* free band */
.df-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}
.df-u-free h2{font-size:clamp(26px,3.4vw,40px);max-width:20ch;color:var(--bg)}
.df-u-free ul{list-style:none;margin:0;padding:0;display:grid;gap:8px;font-family:var(--sans)}
.df-u-free li{display:flex;gap:10px;align-items:center;opacity:.92}
.df-u-free li i{opacity:.8}
/* start / form */
.df-u-start{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:52px;align-items:start}
.df-u-start h2{font-size:clamp(28px,4vw,48px);margin-bottom:16px}
.df-u-start p{color:var(--mut);font-size:18px}
.df-lf{background:var(--card);border:1px solid var(--line);border-radius:var(--rad);padding:28px;display:grid;gap:16px}
.df-lf h3{font-size:24px;font-family:var(--sans);font-weight:700}
.df-lf-field label{display:block;font-family:var(--sans);font-weight:600;font-size:13px;margin-bottom:6px}
.df-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)}
.df-lf-input:focus{outline:none;border-color:var(--acc)}
.df-lf-row{display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px}
.df-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}
.df-lf-check{display:flex;gap:10px;font-family:var(--sans);font-size:13px;color:var(--mut);line-height:1.55}
.df-lf-check input{accent-color:var(--acc);width:18px;height:18px;flex:none;margin-top:2px}
.df-lf-err{color:#c0362b;font-family:var(--sans);font-size:13px}
.df-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}
.df-lf-btn:hover{filter:brightness(1.06)}
.df-lf-note{font-family:var(--sans);font-size:13px;color:var(--mut)}
/* faq */
.df-u-faq,.df-faq-page{max-width:820px}
.df-faq-page{margin-bottom:40px}
.df-qa{border-bottom:1px solid var(--line);padding:18px 0}
.df-qa summary{font-family:var(--sans);font-weight:600;font-size:18px;display:flex;justify-content:space-between;gap:16px}
.df-qa summary::after{content:"+";color:var(--acc);font-size:22px;line-height:1}
.df-qa[open] summary::after{content:"\u2212"}
.df-qa-a{color:var(--mut);margin-top:10px}
.df-qa-a p{margin:0}
/* contact */
.df-contact-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:44px;align-items:start;margin-bottom:40px}
.df-map{aspect-ratio:4/3;border:1px solid var(--line);border-radius:var(--rad)}
.df-info{margin:0;display:grid;gap:18px;font-family:var(--sans)}
.df-info dt{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--acc);font-weight:700;margin-bottom:4px}
.df-info dd{margin:0}.df-info a{color:var(--ink)}
/* footer */
.df-u-foot{border-top:1px solid var(--line);padding:46px 0 34px;margin-top:40px;font-family:var(--sans)}
.u-foot-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1.4fr;gap:30px}
.df-u-foot h4{font-size:13px;color:var(--mut);margin:0 0 12px;font-weight:600}
.df-u-foot ul{list-style:none;margin:0;padding:0;display:grid;gap:8px;font-size:15px}
.df-u-foot a,.df-u-foot button,.df-linkish{color:var(--ink);text-decoration:none;background:none;border:0;font:inherit;padding:0;cursor:pointer;text-align:start}
.df-linkish{color:var(--acc);text-decoration:underline}
.df-u-foot a:hover,.df-u-foot button:hover{color:var(--acc)}
.df-u-fine{margin-top:34px;padding-top:20px;border-top:1px solid var(--line);font-size:13px;color:var(--mut);display:grid;gap:6px}
.df-u-fine p{margin:0}
/* legal / pages */
.df-doc{max-width:800px;margin:0 auto;padding:58px 0 36px}
.df-doc h1{font-size:clamp(34px,5vw,54px);margin:10px 0 12px}
.df-doc h2{font-size:22px;margin:36px 0 10px;font-family:var(--sans);font-weight:700}
.df-doc p,.df-doc li{color:#3a3a3a}
.df-doc-date{color:var(--mut);font-size:14px}
.df-doc table{width:100%;border-collapse:collapse;font-size:14px;margin:12px 0}
.df-doc th,.df-doc td{border-bottom:1px solid var(--line);padding:10px 8px;text-align:start;vertical-align:top}
.df-doc .box{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:4px 20px;margin:18px 0}
.df-page-head{padding:60px 0 34px}
.df-page-head h1{font-size:clamp(38px,5.4vw,62px);max-width:18ch}
.df-page-head p{color:var(--mut);font-size:19px;max-width:56ch}
.df-about-pic{aspect-ratio:21/8;margin-bottom:12px}
.df-doc ul{padding-inline-start:20px;display:grid;gap:6px}
.df-success{max-width:640px;margin:0 auto;padding:90px 0;text-align:center}
.df-success h1{font-size:clamp(36px,5vw,56px);margin:14px 0}
.df-success p{color:var(--mut)}
/* cookie */
.df-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)}
.df-cc strong{font-family:var(--sans)}
.df-cc p{font-size:14px;color:var(--mut);margin:6px 0 14px}
.df-cc-btns{display:flex;flex-wrap:wrap;gap:8px}
.df-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}
.df-cc-yes{background:var(--acc);color:var(--acc-ink);border-color:var(--acc)}
.df-df-ccm{position:fixed;inset:0;z-index:60;background:rgba(0,0,0,.45);place-items:center;padding:20px}
.df-cc-box{background:var(--bg);border-radius:var(--rad);padding:28px;max-width:480px;width:100%}
.df-cc-box h3{font-family:var(--sans);font-size:24px;margin-bottom:10px}
.df-cc-pref{display:flex;justify-content:space-between;gap:16px;padding:14px 0;border-bottom:1px solid var(--line)}
.df-cc-pref b{font-family:var(--sans)}
.df-cc-pref small{display:block;color:var(--mut);font-size:13px}
.df-cc-pref input{accent-color:var(--acc);width:20px;height:20px}
.df-cc-box .df-cc-btns{margin-top:18px}
@media(max-width:880px){.df-u-nav{display:none}.df-u-hero,.df-u-split,.df-u-start,.df-contact-grid,.u-foot-grid{grid-template-columns:minmax(0,1fr)}.df-u-split.df-rev>.df-pic{order:0}.df-u-steps{grid-template-columns:minmax(0,1fr)}.df-u-free{padding:30px}section{padding:54px 0}.df-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] .df-u-btn,html[data-v=mag] .df-lf-btn,html[data-v=mag] .df-cc-b{border-radius:0}
html[data-v=mag] .df-u-feat,html[data-v=mag] .df-u-art,html[data-v=mag] .df-pic,html[data-v=mag] .df-map,html[data-v=mag] .df-lf,html[data-v=mag] .df-cc,html[data-v=mag] .df-cc-box{border-radius:0}
html[data-v=mag] .df-u-feat{border:0;border-top:4px solid var(--ink)}
html[data-v=mag] .df-u-head{border-bottom:3px solid var(--ink)}
html[data-v=mag] .df-u-hero h1{font-size:clamp(46px,8vw,96px)}
html[data-v=mag] .df-lf-input{border-radius:0}
html[data-v=mag] .df-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] .df-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] .df-u-btn.df-ghost{color:var(--mut);border-bottom-color:var(--line)}
html[data-v=swiss] .df-u-feat{background:transparent;border:0;border-top:1px solid var(--ink);padding-inline:0}
html[data-v=swiss] .df-u-art,html[data-v=swiss] .df-lf{background:transparent;border:1px solid var(--line)}
html[data-v=swiss] .df-u-step{border-top-color:var(--ink)}
html[data-v=swiss] .df-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] .df-u-feat{box-shadow:0 10px 30px rgba(0,0,0,.05);border-color:transparent}
html[data-v=soft] .df-u-step{border-top:0}
html[data-v=soft] .df-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] .df-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] .df-u-head{background:color-mix(in srgb,var(--bg) 80%,transparent);border-bottom-color:var(--line)}
html[data-v=tech] .df-u-chip{background:var(--card)}
html[data-v=tech] .df-u-feat i{color:var(--acc)}
html[data-v=tech] .df-u-free{background:var(--card);color:var(--ink);border:1px solid var(--line)}
html[data-v=tech] .df-u-free h2{color:var(--ink)}
html[data-v=tech] .df-u-foot a,html[data-v=tech] .df-u-foot button{color:var(--ink)}
html[data-v=tech] .df-map{filter:invert(.92) hue-rotate(180deg) saturate(.7)}
html[data-v=tech] .df-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] .df-u-free{background:var(--acc);color:var(--acc-ink)}
html[data-v=clock] .df-u-free h2{color:var(--acc-ink)}
html[data-v=clock] .df-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.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 */
.df-u-hero.stack{grid-template-columns:minmax(0,1fr);text-align:center;justify-items:center;gap:36px}
.df-u-hero.stack .df-u-lead{margin-inline:auto}
.df-u-hero.stack .df-u-btns,.df-u-hero.stack .df-u-trust{justify-content:center}
.df-u-hero.stack h1{max-width:16ch;margin-inline:auto}
.df-u-hero.stack .df-u-art{width:min(560px,100%)}
.df-u-hero.df-flip>.df-u-art{order:-1}
.df-u-foot-c{text-align:center}
.df-u-foot-c .df-u-brand{display:inline-flex;margin:0 auto}
.df-u-foot-blurb{color:var(--mut);max-width:46ch;margin:14px auto 0}
.df-u-foot-nav{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 22px;margin:22px 0 10px;font-size:15px}
.df-u-foot-nav a,.df-u-foot-nav button{color:var(--ink);text-decoration:none;background:none;border:0;font:inherit;padding:0;cursor:pointer}
.df-u-foot-nav a:hover,.df-u-foot-nav button:hover{color:var(--acc)}
.df-u-foot-addr{color:var(--mut);font-size:14px}
.df-u-foot-addr a{color:var(--ink)}
.df-u-foot-c .df-u-fine{text-align:center}
.df-u-head.solid{background:var(--ink);border-bottom:0}
.df-u-head.solid .df-u-brand,.df-u-head.solid .df-u-nav a{color:var(--bg)}
.df-u-head.solid .df-u-nav a:hover,.df-u-head.solid .df-u-nav a[aria-current]{color:var(--acc)}
.df-u-head.center .df-in{flex-wrap:wrap;justify-content:center}
.df-u-head.center .df-u-brand{margin-inline-end:0;width:100%;justify-content:center}
@media(max-width:880px){.df-u-hero.df-flip>.df-u-art{order:0}.df-u-head.center .df-u-brand{width:auto;margin-inline-end:auto}.df-u-head.center .df-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}
/* PAPER — Month on Paper */
html[data-v=paper]{--rad:2px}
html[data-v=paper] h1,html[data-v=paper] h2,html[data-v=paper] h3{font-family:var(--serif);font-weight:400;letter-spacing:-.01em}
html[data-v=paper] .df-u-hero h1{font-size:clamp(44px,6.8vw,84px);line-height:1.02}
html[data-v=paper] .df-u-head{border-bottom:3px double var(--ink)}
html[data-v=paper] .df-u-btn,html[data-v=paper] .df-lf-btn,html[data-v=paper] .df-cc-b{border-radius:2px}
html[data-v=paper] .df-u-feat{background:transparent;border:0;border-top:1px solid var(--ink);border-radius:0;padding-inline:0}
html[data-v=paper] .df-u-feat i{color:var(--acc)}
html[data-v=paper] .df-u-free{background:var(--ink);color:var(--bg)}
html[data-v=paper] .df-u-free h2{color:var(--bg)}
html[data-v=paper] .df-u-step{border-top:1px solid var(--ink)}
html[data-v=paper] .df-u-step b{font-family:var(--serif);font-size:34px;color:var(--acc)}
html[data-v=paper] .df-u-art{background:var(--card);border:1px solid var(--line);box-shadow:6px 6px 0 var(--line)}
.art-cal{font-family:var(--sans)}
.art-cal header{display:flex;justify-content:space-between;align-items:baseline;border-bottom:3px double var(--ink);padding-bottom:8px;margin-bottom:6px}
.art-cal header b{font-family:var(--serif);font-weight:400;font-size:28px}
.art-cal header small{color:var(--mut)}
.art-cal div{display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:12px;padding:9px 0;border-bottom:1px solid var(--line);align-items:baseline}
.art-cal div b{font-family:var(--serif);font-size:22px;font-weight:400}
.art-cal div em{font-style:normal;font-size:12px;font-weight:600;color:var(--acc);text-transform:uppercase;letter-spacing:.06em}
/* CUPBOARD — The Bill Cupboard */
html[data-v=cupboard]{--rad:10px}
html[data-v=cupboard] h1,html[data-v=cupboard] h2,html[data-v=cupboard] h3{font-family:var(--serif);font-weight:700;letter-spacing:-.015em}
html[data-v=cupboard] .df-u-head{background:var(--acc);border:0}
html[data-v=cupboard] .df-u-head a,html[data-v=cupboard] .df-u-head .df-wm{color:var(--bg)}
html[data-v=cupboard] .df-u-head .u-hcta{background:var(--acc2);color:var(--ink)}
html[data-v=cupboard] .df-u-feat{background:var(--card);border:1px solid var(--line);position:relative;padding-top:42px}
html[data-v=cupboard] .df-u-feat::before{content:"";position:absolute;top:16px;left:50%;width:34px;height:8px;margin-left:-17px;border-radius:4px;background:var(--acc2)}
html[data-v=cupboard] .df-u-feat i{color:var(--acc)}
html[data-v=cupboard] .df-u-free{background:var(--acc)}
html[data-v=cupboard] .df-u-step{border-top:3px solid var(--acc2)}
html[data-v=cupboard] .df-u-art{background:var(--wood);border:0;padding:14px}
.art-drawers{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;font-family:var(--sans)}
.art-drawers div{position:relative;background:var(--card);border-radius:6px;padding:26px 14px 14px;box-shadow:inset 0 -4px 0 rgba(0,0,0,.08)}
.art-drawers div::before{content:"";position:absolute;top:10px;left:50%;width:30px;height:6px;margin-left:-15px;border-radius:3px;background:var(--acc2)}
.art-drawers b{display:block;font-family:var(--serif);font-size:18px}
.art-drawers small{color:var(--mut);font-size:13px}
.art-drawers em{position:absolute;top:8px;right:8px;font-style:normal;font-size:11px;font-weight:700;padding:3px 7px;border-radius:4px;border:2px solid var(--acc);color:var(--acc);transform:rotate(6deg)}
/* FRIDAY — Due by Friday */
html[data-v=friday]{--rad:0px}
html[data-v=friday] h1,html[data-v=friday] h2,html[data-v=friday] h3{font-family:var(--serif);font-weight:400;letter-spacing:.01em;text-transform:uppercase;line-height:.92}
html[data-v=friday] .df-u-hero h1{font-size:clamp(56px,9vw,120px)}
html[data-v=friday] h2{font-size:clamp(38px,5vw,64px)}
html[data-v=friday] .df-u-head{border-bottom:6px solid var(--acc)}
html[data-v=friday] .df-u-btn,html[data-v=friday] .df-lf-btn,html[data-v=friday] .df-cc-b{border-radius:0;text-transform:uppercase;letter-spacing:.06em;font-weight:800}
html[data-v=friday] .df-u-feat{background:var(--card);border:0;border-inline-start:8px solid var(--acc);border-radius:0}
html[data-v=friday] .df-u-feat i{color:var(--acc)}
html[data-v=friday] .df-u-free{background:var(--acc)}
html[data-v=friday] .df-u-step{border-top:6px solid var(--ink)}
html[data-v=friday] .df-u-step b{font-family:var(--serif);font-size:48px;color:var(--acc)}
html[data-v=friday] .df-u-kick{color:var(--acc);font-weight:800;letter-spacing:.14em}
html[data-v=friday] .df-u-art{background:var(--ink);border:0;color:var(--bg)}
.df-art-fri{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;font-family:var(--sans)}
.df-art-fri div{display:flex;flex-direction:column;gap:6px;min-height:170px;padding:10px 6px;border-top:4px solid color-mix(in srgb,var(--bg) 35%,transparent)}
.df-art-fri b{font-family:var(--serif);font-weight:400;font-size:26px;letter-spacing:.04em}
.df-art-fri span{font-size:12px;line-height:1.25;padding:5px;background:color-mix(in srgb,var(--bg) 14%,transparent);overflow-wrap:anywhere}
.df-art-fri div.df-d{border-top-color:var(--acc);background:color-mix(in srgb,var(--acc) 22%,transparent)}
.df-art-fri div.df-d span{background:var(--acc);color:#fff;font-weight:700}
.df-art-fri p{grid-column:1/-1;margin:8px 0 0;font-size:13px;opacity:.75}
/* TEA — Tea & Tally */
html[data-v=tea]{--rad:18px}
html[data-v=tea] h1,html[data-v=tea] h2,html[data-v=tea] h3{font-family:var(--serif);font-weight:400;letter-spacing:-.01em}
html[data-v=tea] .df-u-hero h1{font-size:clamp(42px,6.4vw,78px);line-height:1.04}
html[data-v=tea] .df-u-feat{border:0;background:var(--card);border-radius:var(--rad)}
html[data-v=tea] .df-u-feat i{display:inline-grid;place-items:center;width:52px;height:52px;border-radius:50%;background:color-mix(in srgb,var(--acc) 16%,var(--card));color:var(--acc)}
html[data-v=tea] .df-u-free{background:var(--acc)}
html[data-v=tea] .df-u-step{border-top:0;background:var(--card);border-radius:var(--rad);padding:22px}
html[data-v=tea] .df-u-step b{display:inline-grid;place-items:center;width:42px;height:42px;border-radius:50%;background:var(--acc2);color:var(--ink)}
html[data-v=tea] .df-u-step b::before{content:"" counter(st)}
html[data-v=tea] .df-u-art{background:transparent;border:0;padding:0}
.art-receipt{background:var(--card);max-width:360px;margin-inline:auto;padding:24px 22px 30px;font-family:var(--mono);font-size:14px;box-shadow:0 18px 40px rgba(60,35,20,.12);-webkit-mask:linear-gradient(#000 0 0) top/100% calc(100% - 10px) no-repeat,radial-gradient(circle 6px at 8px 100%,transparent 6px,#000 6.5px) bottom/16px 10px repeat-x;mask:linear-gradient(#000 0 0) top/100% calc(100% - 10px) no-repeat,radial-gradient(circle 6px at 8px 100%,transparent 6px,#000 6.5px) bottom/16px 10px repeat-x}
.art-receipt h4{margin:0 0 12px;font-family:var(--serif);font-weight:400;font-size:22px;text-align:center}
.art-receipt div{display:flex;justify-content:space-between;gap:10px;padding:6px 0;border-bottom:1px dashed var(--line)}
.art-receipt div.t{border:0;border-top:2px solid var(--ink);margin-top:6px;font-weight:700}
.art-receipt s{text-decoration:none;color:var(--acc);letter-spacing:.12em}
.art-receipt small{display:block;margin-top:10px;color:var(--mut);font-family:var(--sans);text-align:center}
/* DIARY — Small Spend Diary */
html[data-v=diary]{--rad:22px}
html[data-v=diary] h1,html[data-v=diary] h2,html[data-v=diary] h3{font-family:var(--serif);font-weight:700;letter-spacing:-.03em}
html[data-v=diary] .df-u-btn,html[data-v=diary] .df-lf-btn,html[data-v=diary] .df-cc-b{border-radius:999px}
html[data-v=diary] .df-u-feat{border:0;background:var(--card);box-shadow:0 12px 32px color-mix(in srgb,var(--acc) 10%,transparent)}
html[data-v=diary] .df-u-feat:nth-child(2){background:color-mix(in srgb,var(--acc2) 22%,var(--card))}
html[data-v=diary] .df-u-feat i{color:var(--acc)}
html[data-v=diary] .df-u-free{background:var(--acc)}
html[data-v=diary] .df-u-step{border-top:2px dashed var(--acc)}
html[data-v=diary] .df-u-step b{font-family:var(--hand);font-size:40px;color:var(--acc)}
html[data-v=diary] .df-u-step b::before{content:"" counter(st)}
html[data-v=diary] .df-u-kick{font-family:var(--hand);font-size:22px;text-transform:none;letter-spacing:0}
html[data-v=diary] .df-u-art{background:var(--card);border:0;background-image:linear-gradient(90deg,transparent 38px,color-mix(in srgb,var(--acc2) 70%,transparent) 38px 40px,transparent 40px)}
.art-bars{font-family:var(--hand);padding-inline-start:30px}
.art-bars header{display:flex;justify-content:space-between;align-items:baseline;font-size:24px;margin-bottom:12px}
.art-bars header b{color:var(--acc)}
.art-bars .c{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;align-items:end;height:150px}
.art-bars .c i{display:block;border-radius:8px 8px 3px 3px;background:var(--acc)}
.art-bars .c i:nth-child(even){background:color-mix(in srgb,var(--acc) 55%,var(--card))}
.art-bars .df-d{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;text-align:center;font-size:18px;color:var(--mut);margin-top:6px}
.art-bars p{margin:12px 0 0;font-size:20px}

:root{--bg:#f7f3ee;--ink:#141414;--mut:#4a4744;--card:#ffffff;--line:#e2dbd2;--acc:#d6261c;--acc2:#141414;--acc-ink:#ffffff;--serif:"Bebas Neue",Impact,sans-serif;--sans:"Manrope",system-ui,sans-serif}
a{color:var(--acc)}