*,*::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}.td-lf-err{display:none}.td-lf-err.on{display:block}.td-cc{display:none}.td-cc.show{display:block}.td-td-ccm{display:none}.td-td-ccm.show{display:grid}details.td-qa>summary{list-style:none;cursor:pointer}details.td-qa>summary::-webkit-details-marker{display:none}.td-map{position:relative}.td-map iframe{position:absolute;inset:0;width:100%;height:100%;border:0}.td-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}
.td-u-wrap{max-width:var(--maxw);margin:0 auto;padding:0 var(--pad)}
section{padding:76px 0}
.td-u-kick,.td-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}
.td-u-lead{font-size:19px;color:var(--mut);max-width:54ch}
.td-u-sec-h{font-size:clamp(30px,4.2vw,46px);max-width:22ch;margin-bottom:12px}
.td-u-sec-p{color:var(--mut);max-width:56ch;margin-bottom:40px}
/* header */
.td-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)}
.td-u-head .td-in{max-width:var(--maxw);margin:0 auto;padding:12px var(--pad);display:flex;align-items:center;gap:20px}
.td-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}
.td-u-brand .td-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}
.td-u-brand .td-mk:has(svg){background:none;border-radius:0}
.td-u-brand .td-mk svg{width:100%;height:100%;display:block}
.td-u-brand .td-wm{letter-spacing:-.015em;line-height:1}
.td-u-brand small{font-family:var(--sans);font-weight:500;color:var(--mut);font-size:13px}
.td-u-nav{display:flex;gap:22px;font-size:15px;font-family:var(--sans)}
.td-u-nav a{color:var(--ink);text-decoration:none}
.td-u-nav a:hover,.td-u-nav a[aria-current]{color:var(--acc)}
.td-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}
.td-u-btn:hover{opacity:1;filter:brightness(1.06)}
.td-u-btn.td-ghost{background:transparent;color:var(--ink);border-color:var(--line)}
.td-u-btn.td-ghost:hover{border-color:var(--acc);color:var(--acc)}
.td-u-btn.td-lg{padding:15px 28px;font-size:17px}
.td-u-btns{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}
/* hero */
.td-u-hero{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:52px;align-items:center;padding:68px 0 52px}
.td-u-hero h1{font-size:clamp(40px,6vw,70px);margin:16px 0 18px}
.td-u-art{background:var(--card);border:1px solid var(--line);border-radius:var(--rad);padding:26px}
.td-u-trust{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px;font-family:var(--sans)}
.td-u-chip{font-size:13px;padding:5px 12px;border-radius:999px;background:var(--card);border:1px solid var(--line);color:var(--mut)}
/* media */
.td-pic{margin:0;overflow:hidden;border-radius:var(--rad)}.td-pic img{width:100%;height:100%;object-fit:cover;display:block}
.td-u-bleed{aspect-ratio:21/9}
/* features */
.td-u-feats{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px}
.td-u-feat{background:var(--card);border:1px solid var(--line);border-radius:var(--rad);padding:26px}
.td-u-feat i{font-size:30px;color:var(--acc)}
.td-u-feat h3{font-size:21px;margin:12px 0 8px;font-family:var(--sans);font-weight:700}
.td-u-feat p{color:var(--mut);margin:0;font-size:15px}
/* split rows */
.td-u-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:52px;align-items:center}
.td-u-split+.td-u-split{margin-top:72px}
.td-u-split.td-rev>.td-pic{order:2}
.td-u-split .td-pic{aspect-ratio:4/3}
.td-u-split h2{font-size:clamp(26px,3.4vw,40px);margin-bottom:14px}
.td-u-split p{color:var(--mut);font-size:18px;margin:0}
/* steps */
.td-u-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;counter-reset:st}
.td-u-step{padding-top:16px;border-top:2px solid var(--acc)}
.td-u-step b{font-family:var(--sans);color:var(--acc);font-size:14px;display:block}
.td-u-step b::before{counter-increment:st;content:"0" counter(st) "  "}
.td-u-step h3{font-size:22px;margin:6px 0 8px;font-family:var(--sans);font-weight:700}
.td-u-step p{color:var(--mut);margin:0;font-size:15px}
/* free band */
.td-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}
.td-u-free h2{font-size:clamp(26px,3.4vw,40px);max-width:20ch;color:var(--bg)}
.td-u-free ul{list-style:none;margin:0;padding:0;display:grid;gap:8px;font-family:var(--sans)}
.td-u-free li{display:flex;gap:10px;align-items:center;opacity:.92}
.td-u-free li i{opacity:.8}
/* start / form */
.td-u-start{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:52px;align-items:start}
.td-u-start h2{font-size:clamp(28px,4vw,48px);margin-bottom:16px}
.td-u-start p{color:var(--mut);font-size:18px}
.td-lf{background:var(--card);border:1px solid var(--line);border-radius:var(--rad);padding:28px;display:grid;gap:16px}
.td-lf h3{font-size:24px;font-family:var(--sans);font-weight:700}
.td-lf-field label{display:block;font-family:var(--sans);font-weight:600;font-size:13px;margin-bottom:6px}
.td-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)}
.td-lf-input:focus{outline:none;border-color:var(--acc)}
.td-lf-row{display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px}
.td-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}
.td-lf-check{display:flex;gap:10px;font-family:var(--sans);font-size:13px;color:var(--mut);line-height:1.55}
.td-lf-check input{accent-color:var(--acc);width:18px;height:18px;flex:none;margin-top:2px}
.td-lf-err{color:#c0362b;font-family:var(--sans);font-size:13px}
.td-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}
.td-lf-btn:hover{filter:brightness(1.06)}
.td-lf-note{font-family:var(--sans);font-size:13px;color:var(--mut)}
/* faq */
.td-u-faq,.td-faq-page{max-width:820px}
.td-faq-page{margin-bottom:40px}
.td-qa{border-bottom:1px solid var(--line);padding:18px 0}
.td-qa summary{font-family:var(--sans);font-weight:600;font-size:18px;display:flex;justify-content:space-between;gap:16px}
.td-qa summary::after{content:"+";color:var(--acc);font-size:22px;line-height:1}
.td-qa[open] summary::after{content:"\u2212"}
.td-qa-a{color:var(--mut);margin-top:10px}
.td-qa-a p{margin:0}
/* contact */
.td-contact-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:44px;align-items:start;margin-bottom:40px}
.td-map{aspect-ratio:4/3;border:1px solid var(--line);border-radius:var(--rad)}
.td-info{margin:0;display:grid;gap:18px;font-family:var(--sans)}
.td-info dt{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--acc);font-weight:700;margin-bottom:4px}
.td-info dd{margin:0}.td-info a{color:var(--ink)}
/* footer */
.td-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}
.td-u-foot h4{font-size:13px;color:var(--mut);margin:0 0 12px;font-weight:600}
.td-u-foot ul{list-style:none;margin:0;padding:0;display:grid;gap:8px;font-size:15px}
.td-u-foot a,.td-u-foot button,.td-linkish{color:var(--ink);text-decoration:none;background:none;border:0;font:inherit;padding:0;cursor:pointer;text-align:start}
.td-linkish{color:var(--acc);text-decoration:underline}
.td-u-foot a:hover,.td-u-foot button:hover{color:var(--acc)}
.td-u-fine{margin-top:34px;padding-top:20px;border-top:1px solid var(--line);font-size:13px;color:var(--mut);display:grid;gap:6px}
.td-u-fine p{margin:0}
/* legal / pages */
.td-doc{max-width:800px;margin:0 auto;padding:58px 0 36px}
.td-doc h1{font-size:clamp(34px,5vw,54px);margin:10px 0 12px}
.td-doc h2{font-size:22px;margin:36px 0 10px;font-family:var(--sans);font-weight:700}
.td-doc p,.td-doc li{color:#3a3a3a}
.td-doc-date{color:var(--mut);font-size:14px}
.td-doc table{width:100%;border-collapse:collapse;font-size:14px;margin:12px 0}
.td-doc th,.td-doc td{border-bottom:1px solid var(--line);padding:10px 8px;text-align:start;vertical-align:top}
.td-doc .box{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:4px 20px;margin:18px 0}
.td-page-head{padding:60px 0 34px}
.td-page-head h1{font-size:clamp(38px,5.4vw,62px);max-width:18ch}
.td-page-head p{color:var(--mut);font-size:19px;max-width:56ch}
.td-about-pic{aspect-ratio:21/8;margin-bottom:12px}
.td-doc ul{padding-inline-start:20px;display:grid;gap:6px}
.td-success{max-width:640px;margin:0 auto;padding:90px 0;text-align:center}
.td-success h1{font-size:clamp(36px,5vw,56px);margin:14px 0}
.td-success p{color:var(--mut)}
/* cookie */
.td-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)}
.td-cc strong{font-family:var(--sans)}
.td-cc p{font-size:14px;color:var(--mut);margin:6px 0 14px}
.td-cc-btns{display:flex;flex-wrap:wrap;gap:8px}
.td-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}
.td-cc-yes{background:var(--acc);color:var(--acc-ink);border-color:var(--acc)}
.td-td-ccm{position:fixed;inset:0;z-index:60;background:rgba(0,0,0,.45);place-items:center;padding:20px}
.td-cc-box{background:var(--bg);border-radius:var(--rad);padding:28px;max-width:480px;width:100%}
.td-cc-box h3{font-family:var(--sans);font-size:24px;margin-bottom:10px}
.td-cc-pref{display:flex;justify-content:space-between;gap:16px;padding:14px 0;border-bottom:1px solid var(--line)}
.td-cc-pref b{font-family:var(--sans)}
.td-cc-pref small{display:block;color:var(--mut);font-size:13px}
.td-cc-pref input{accent-color:var(--acc);width:20px;height:20px}
.td-cc-box .td-cc-btns{margin-top:18px}
@media(max-width:880px){.td-u-nav{display:none}.td-u-hero,.td-u-split,.td-u-start,.td-contact-grid,.u-foot-grid{grid-template-columns:minmax(0,1fr)}.td-u-split.td-rev>.td-pic{order:0}.td-u-steps{grid-template-columns:minmax(0,1fr)}.td-u-free{padding:30px}section{padding:54px 0}.td-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] .td-u-btn,html[data-v=mag] .td-lf-btn,html[data-v=mag] .td-cc-b{border-radius:0}
html[data-v=mag] .td-u-feat,html[data-v=mag] .td-u-art,html[data-v=mag] .td-pic,html[data-v=mag] .td-map,html[data-v=mag] .td-lf,html[data-v=mag] .td-cc,html[data-v=mag] .td-cc-box{border-radius:0}
html[data-v=mag] .td-u-feat{border:0;border-top:4px solid var(--ink)}
html[data-v=mag] .td-u-head{border-bottom:3px solid var(--ink)}
html[data-v=mag] .td-u-hero h1{font-size:clamp(46px,8vw,96px)}
html[data-v=mag] .td-lf-input{border-radius:0}
html[data-v=mag] .td-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] .td-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] .td-u-btn.td-ghost{color:var(--mut);border-bottom-color:var(--line)}
html[data-v=swiss] .td-u-feat{background:transparent;border:0;border-top:1px solid var(--ink);padding-inline:0}
html[data-v=swiss] .td-u-art,html[data-v=swiss] .td-lf{background:transparent;border:1px solid var(--line)}
html[data-v=swiss] .td-u-step{border-top-color:var(--ink)}
html[data-v=swiss] .td-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] .td-u-feat{box-shadow:0 10px 30px rgba(0,0,0,.05);border-color:transparent}
html[data-v=soft] .td-u-step{border-top:0}
html[data-v=soft] .td-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] .td-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] .td-u-head{background:color-mix(in srgb,var(--bg) 80%,transparent);border-bottom-color:var(--line)}
html[data-v=tech] .td-u-chip{background:var(--card)}
html[data-v=tech] .td-u-feat i{color:var(--acc)}
html[data-v=tech] .td-u-free{background:var(--card);color:var(--ink);border:1px solid var(--line)}
html[data-v=tech] .td-u-free h2{color:var(--ink)}
html[data-v=tech] .td-u-foot a,html[data-v=tech] .td-u-foot button{color:var(--ink)}
html[data-v=tech] .td-map{filter:invert(.92) hue-rotate(180deg) saturate(.7)}
html[data-v=tech] .td-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] .td-u-free{background:var(--acc);color:var(--acc-ink)}
html[data-v=clock] .td-u-free h2{color:var(--acc-ink)}
html[data-v=clock] .td-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 */
.td-u-hero.stack{grid-template-columns:minmax(0,1fr);text-align:center;justify-items:center;gap:36px}
.td-u-hero.stack .td-u-lead{margin-inline:auto}
.td-u-hero.stack .td-u-btns,.td-u-hero.stack .td-u-trust{justify-content:center}
.td-u-hero.stack h1{max-width:16ch;margin-inline:auto}
.td-u-hero.stack .td-u-art{width:min(560px,100%)}
.td-u-hero.td-flip>.td-u-art{order:-1}
.td-u-foot-c{text-align:center}
.td-u-foot-c .td-u-brand{display:inline-flex;margin:0 auto}
.td-u-foot-blurb{color:var(--mut);max-width:46ch;margin:14px auto 0}
.td-u-foot-nav{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 22px;margin:22px 0 10px;font-size:15px}
.td-u-foot-nav a,.td-u-foot-nav button{color:var(--ink);text-decoration:none;background:none;border:0;font:inherit;padding:0;cursor:pointer}
.td-u-foot-nav a:hover,.td-u-foot-nav button:hover{color:var(--acc)}
.td-u-foot-addr{color:var(--mut);font-size:14px}
.td-u-foot-addr a{color:var(--ink)}
.td-u-foot-c .td-u-fine{text-align:center}
.td-u-head.solid{background:var(--ink);border-bottom:0}
.td-u-head.solid .td-u-brand,.td-u-head.solid .td-u-nav a{color:var(--bg)}
.td-u-head.solid .td-u-nav a:hover,.td-u-head.solid .td-u-nav a[aria-current]{color:var(--acc)}
.td-u-head.center .td-in{flex-wrap:wrap;justify-content:center}
.td-u-head.center .td-u-brand{margin-inline-end:0;width:100%;justify-content:center}
@media(max-width:880px){.td-u-hero.td-flip>.td-u-art{order:0}.td-u-head.center .td-u-brand{width:auto;margin-inline-end:auto}.td-u-head.center .td-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}
.td-art-cap{margin:12px 0 0;color:var(--mut);font-size:13px}
/* 1 PALIER — Breton granite & sea green, door plaque */
html[data-v=palier]{--rad:10px}
html[data-v=palier] h1,html[data-v=palier] h2,html[data-v=palier] h3{font-family:var(--serif);font-weight:600;letter-spacing:-.01em}
html[data-v=palier] .td-u-hero h1{font-size:clamp(42px,6.4vw,80px);line-height:1.04}
html[data-v=palier] .td-u-head{border-bottom:1px solid var(--line)}
html[data-v=palier] .td-u-feat{background:var(--card);border:1px solid var(--line);border-radius:var(--rad)}
html[data-v=palier] .td-u-feat i{display:inline-grid;place-items:center;width:50px;height:50px;border-radius:10px;background:color-mix(in srgb,var(--acc) 14%,var(--card));color:var(--acc)}
html[data-v=palier] .td-u-free{background:var(--acc)}
html[data-v=palier] .td-u-step{border-top:2px solid var(--acc)}
html[data-v=palier] .td-u-step b{font-family:var(--serif);font-size:34px;color:var(--acc)}
html[data-v=palier] .td-u-art{background:transparent;border:0;padding:0}
.art-plaque{display:grid;gap:12px;font-family:var(--sans)}
.art-plaque .pl{justify-self:start;background:var(--acc);color:#fff;border-radius:8px;padding:10px 18px;font-family:var(--serif);font-size:22px;box-shadow:inset 0 0 0 3px color-mix(in srgb,#fff 25%,transparent)}
.art-plaque ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.art-plaque li{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center;background:var(--card);border:1px solid var(--line);border-radius:10px;padding:12px 14px}
.art-plaque li i{font-size:22px;color:var(--acc)}
.art-plaque li em{font-style:normal;font-size:12px;font-weight:700;color:var(--acc2)}
/* 2 TOIT & DATES — Angers slate & tuffeau, roof timeline */
html[data-v=tdates]{--rad:0px}
html[data-v=tdates] h1,html[data-v=tdates] h2,html[data-v=tdates] h3{font-family:var(--serif);font-weight:500;letter-spacing:0;line-height:1.05}
html[data-v=tdates] .td-u-hero h1{font-size:clamp(44px,7vw,88px)}
html[data-v=tdates] .td-u-head{border-bottom:4px solid var(--ink)}
html[data-v=tdates] .td-u-btn,html[data-v=tdates] .td-lf-btn,html[data-v=tdates] .td-cc-b{border-radius:0}
html[data-v=tdates] .td-u-feat{background:var(--card);border:0;border-top:1px solid var(--ink)}
html[data-v=tdates] .td-u-feat i{color:var(--acc2)}
html[data-v=tdates] .td-u-free{background:var(--ink);color:var(--bg)}
html[data-v=tdates] .td-u-free h2{color:var(--bg)}
html[data-v=tdates] .td-u-free li i{color:var(--acc)}
html[data-v=tdates] .td-u-step{border-top:1px solid var(--ink)}
html[data-v=tdates] .td-u-step b{font-family:var(--serif);font-size:42px}
html[data-v=tdates] .td-u-art{background:var(--card);border:1px solid var(--line)}
.td-art-slates{font-family:var(--sans);display:grid;gap:14px}
.td-art-slates .td-rf{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:3px}
.td-art-slates .td-rf span{height:22px;background:var(--ink);border-radius:0 0 6px 6px}
.td-art-slates .td-rf span:nth-child(3){background:var(--acc)}
.td-art-slates ol{margin:0;padding:0;list-style:none;display:grid;gap:0}
.td-art-slates li{display:grid;grid-template-columns:64px minmax(0,1fr);gap:12px;padding:10px 0;border-bottom:1px solid var(--line)}
.td-art-slates li b{font-family:var(--serif);font-weight:500;font-size:20px}
.td-art-slates li:last-child{border-bottom:0}
/* 3 AVANT TERME — Dijon mustard & burgundy, countdown blocks */
html[data-v=terme]{--rad:6px}
html[data-v=terme] h1,html[data-v=terme] h2,html[data-v=terme] h3{font-family:var(--serif);font-weight:700;letter-spacing:-.025em;line-height:1}
html[data-v=terme] .td-u-hero h1{font-size:clamp(46px,7.4vw,92px)}
html[data-v=terme] .td-u-feat{background:var(--card);border:2px solid var(--line)}
html[data-v=terme] .td-u-feat i{color:var(--acc2)}
html[data-v=terme] .td-u-free{background:var(--acc2)}
html[data-v=terme] .td-u-step{border-top:3px solid var(--acc)}
html[data-v=terme] .td-u-step b{font-family:var(--serif);font-size:40px;color:var(--acc2)}
html[data-v=terme] .td-u-art{background:var(--acc2);border:0;color:#fff}
.art-count{font-family:var(--sans);display:grid;gap:14px}
.art-count .bl{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}
.art-count .bl span{aspect-ratio:1;border-radius:6px;background:rgba(255,255,255,.14)}
.art-count .bl span.on{background:var(--acc)}
.art-count p{margin:0;font-family:var(--serif);font-weight:700;font-size:clamp(24px,3vw,34px);line-height:1.1}
.art-count small{opacity:.8}
/* 4 SOU PAR SOU — Tours, jar of marks */
html[data-v=sou]{--rad:28px}
html[data-v=sou] h1,html[data-v=sou] h2,html[data-v=sou] h3{font-family:var(--serif);font-weight:700;letter-spacing:-.01em}
html[data-v=sou] .td-u-hero h1{font-size:clamp(44px,6.8vw,84px);line-height:1.04}
html[data-v=sou] .td-u-btn,html[data-v=sou] .td-lf-btn,html[data-v=sou] .td-cc-b{border-radius:999px}
html[data-v=sou] .td-u-feat{border:0;background:var(--card);border-radius:var(--rad)}
html[data-v=sou] .td-u-feat:nth-child(2){background:color-mix(in srgb,var(--acc2) 14%,var(--card))}
html[data-v=sou] .td-u-feat i{color:var(--acc)}
html[data-v=sou] .td-u-free{background:var(--acc)}
html[data-v=sou] .td-u-step{border-top:0;background:var(--card);border-radius:var(--rad);padding:22px}
html[data-v=sou] .td-u-step b{display:inline-grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--acc2);color:var(--ink)}
html[data-v=sou] .td-u-step b::before{content:"" counter(st)}
html[data-v=sou] .td-u-art{background:transparent;border:0;padding:0}
.art-jar{display:grid;grid-template-columns:140px minmax(0,1fr);gap:22px;align-items:center;font-family:var(--sans)}
.art-jar .j{height:180px;border-radius:18px 18px 26px 26px;border:4px solid var(--acc);border-top-width:14px;background:linear-gradient(to top,color-mix(in srgb,var(--acc2) 70%,var(--card)) 0 58%,var(--card) 58%)}
.art-jar ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.art-jar li{display:flex;gap:8px;align-items:center;font-weight:600}
.art-jar li i{color:var(--acc)}
/* 5 TICKET CLAIR — Rouen, perforated receipt */
html[data-v=ticket]{--rad:2px}
html[data-v=ticket] h1,html[data-v=ticket] h2,html[data-v=ticket] h3{font-family:var(--serif);font-weight:500;letter-spacing:-.01em}
html[data-v=ticket] .td-u-hero h1{font-size:clamp(44px,7vw,86px);line-height:1}
html[data-v=ticket] .td-u-head{border-bottom:1px dashed var(--ink)}
html[data-v=ticket] .td-u-feat{background:var(--card);border:1px dashed var(--ink)}
html[data-v=ticket] .td-u-feat i{color:var(--acc)}
html[data-v=ticket] .td-u-free{background:var(--acc)}
html[data-v=ticket] .td-u-step{border-top:1px dashed var(--ink)}
html[data-v=ticket] .td-u-step b{font-family:var(--serif);font-size:36px;color:var(--acc)}
html[data-v=ticket] .td-u-art{background:transparent;border:0;padding:0}
.art-receipt{max-width:340px;margin-inline:auto;background:var(--card);font-family:var(--serif);padding:22px 22px 30px;box-shadow:0 18px 40px rgba(20,20,40,.12);mask:radial-gradient(circle 7px at 50% 100%,#0000 98%,#000) bottom/18px 100% repeat-x,linear-gradient(#000 0 0)}
.art-receipt h4{margin:0 0 12px;text-align:center;font-weight:500;font-size:18px;letter-spacing:.14em;text-transform:uppercase}
.art-receipt div{display:flex;justify-content:space-between;gap:10px;padding:7px 0;border-bottom:1px dotted var(--line);font-size:16px}
.art-receipt div.t{border-bottom:0;border-top:2px solid var(--ink);margin-top:6px;font-weight:600}
.art-receipt small{display:block;text-align:center;margin-top:12px;color:var(--mut);font-family:var(--sans);font-size:12px}

:root{--bg:#f5f1e8;--ink:#1e2128;--mut:#585a60;--card:#fdfbf6;--line:#e2dccd;--acc:#c9a24a;--acc2:#36506b;--acc-ink:#1e2128;--serif:"Spectral",Georgia,serif;--sans:"IBM Plex Sans",system-ui,sans-serif}
a{color:var(--acc)}