/* ==========================================================================
   Lexara — Unified Clean direction, per-country skins (colour-rail hero)
   Design tokens drive everything; body[data-country] swaps the country skin.
   ========================================================================== */
:root{
  color-scheme: light;
  --inter:"Inter",system-ui,-apple-system,"Segoe UI",sans-serif;
  --jakarta:"Plus Jakarta Sans",var(--inter);
  --fraunces:"Fraunces",Georgia,"Times New Roman",serif;
  --grotesk:"Space Grotesk",var(--inter);
  --success:#10996b;
  --maxw:1180px;
  /* Unified Clean chassis */
  --bg:#EEF2F8; --bg-2:#E7EDF6; --surface:#ffffff; --surface-2:#F7F9FD;
  --ink:#141d2e; --body:#2b3750; --mut:#4d5871; --line:#e2e7f0; --line-strong:#cfd6e4;
  --radius:14px; --radius-lg:18px; --radius-xl:24px;
  --shadow:0 2px 10px rgba(20,29,46,.06); --shadow-lg:0 24px 60px -30px rgba(20,29,46,.34);
  --section-pad:76px;
  --disp-weight:800; --disp-spacing:-.02em; --card-border:1px solid var(--line);
  /* country defaults (Germany) */
  --font-display:var(--grotesk);
  --accent:#E63946; --accent-press:#c62f3b; --accent-tint:#fbe7e9; --accent-ink:#fff; --ornament:#1D3557;
  --flag-grad-v:linear-gradient(180deg,#111 0 33.33%,#DD0000 33.33% 66.66%,#FFCE00 66.66%);
}

/* ============ COUNTRY SKINS ============ */
body[data-country="de"]{
  --font-display:var(--grotesk); --disp-weight:700;
  --accent:#E63946; --accent-press:#c62f3b; --accent-tint:#fbe7e9; --accent-ink:#fff; --ornament:#1D3557;
  --flag-grad-v:linear-gradient(180deg,#111 0 33.33%,#DD0000 33.33% 66.66%,#FFCE00 66.66%);
}
body[data-country="se"]{
  --font-display:var(--jakarta); --disp-weight:800;
  --accent:#3E6B4F; --accent-press:#2f5540; --accent-tint:#e8efe9; --accent-ink:#fff; --ornament:#3E6B4F;
  --section-pad:92px;
  --flag-grad-v:linear-gradient(180deg,#006AA7 0 40%,#FECC00 40% 60%,#006AA7 60%);
}
body[data-country="fr"]{
  --font-display:var(--fraunces); --disp-weight:600; --disp-spacing:-.005em;
  --accent:#7A2E43; --accent-press:#632233; --accent-tint:#f3e8eb; --accent-ink:#fff; --ornament:#24406E;
  --flag-grad-v:linear-gradient(180deg,#0055A4 0 33.33%,#fff 33.33% 66.66%,#EF4135 66.66%);
}
body[data-country="it"]{
  --font-display:var(--fraunces); --disp-weight:600; --disp-spacing:-.005em;
  --accent:#B24A32; --accent-press:#953c28; --accent-tint:#f6e9e3; --accent-ink:#fff; --ornament:#9A6A3C;
  --bg:#F4F0E8; --bg-2:#ECE5D8; --surface:#FFFDF8; --surface-2:#F8F3E9; --line:#e7ddca; --line-strong:#d9ccb2;
  --flag-grad-v:linear-gradient(180deg,#008C45 0 33.33%,#fff 33.33% 66.66%,#CD212A 66.66%);
}

*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--body);font-family:var(--inter);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
img{max-width:100%}
h1,h2,h3,h4{margin:0;font-family:var(--font-display);color:var(--ink);line-height:1.05;font-weight:var(--disp-weight);letter-spacing:var(--disp-spacing)}
h1,h2{text-wrap:balance}
p{margin:0}
.container{max-width:var(--maxw);margin:0 auto;padding:0 26px;width:100%}
.section{padding:var(--section-pad) 0}
.section--mist{background:var(--bg-2)}
::selection{background:var(--accent);color:var(--accent-ink)}
.skip{position:absolute;left:-9999px;top:0;background:var(--accent);color:#fff;padding:10px 16px;border-radius:8px;z-index:300}
.skip:focus{left:12px;top:12px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}

.btn{display:inline-flex;align-items:center;gap:.5em;cursor:pointer;border:0;font-family:var(--font-display);
  font-weight:700;font-size:15px;padding:13px 22px;border-radius:var(--radius);transition:.16s;text-decoration:none}
.btn svg{width:18px;height:18px}
.btn:focus-visible{outline:2.5px solid var(--accent);outline-offset:3px}
.btn-primary{background:var(--accent);color:var(--accent-ink)}
.btn-primary:hover{background:var(--accent-press);transform:translateY(-1px)}
.btn-ghost{background:transparent;color:var(--ink);border:1px solid var(--line-strong)}
.btn-ghost:hover{border-color:var(--accent);color:var(--accent)}
.btn-lg{padding:15px 26px;font-size:16px}
.btn-block{width:100%;justify-content:center}

.eyebrow{display:inline-flex;align-items:center;gap:9px;font-family:var(--font-display);font-weight:700;font-size:12.5px;letter-spacing:.13em;text-transform:uppercase;color:var(--accent)}
.eyebrow .dot{width:7px;height:7px;border-radius:50%;background:var(--accent)}
.section-head{max-width:640px;margin:0 auto 46px}
.section-head.center{text-align:center}
.section-head .title{font-size:clamp(27px,3.4vw,38px);margin:14px 0 12px}
.section-head .lede{font-size:16.5px;color:var(--mut)}
.card{background:var(--surface);border:var(--card-border);border-radius:var(--radius-lg);box-shadow:var(--shadow)}

/* ============ NAV ============ */
.nav{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.9);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
body[data-country="it"] .nav{background:rgba(255,253,248,.9)}
.nav-inner{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:15px 0}
.brand{display:flex;align-items:center;gap:10px;font-family:var(--font-display);font-weight:800;font-size:20px;color:var(--ink);letter-spacing:-.01em}
.brand-mark{width:30px;height:30px;display:grid;place-items:center;color:var(--ornament);flex:none}
.brand-mark svg{width:100%;height:100%;display:block}
.footer .brand-mark{color:#f0efe6}
.nav-links{display:flex;align-items:center;gap:24px;font-size:14.5px;font-weight:600;font-family:var(--font-display)}
.nav-links a{color:var(--body)}
.nav-links a:hover{color:var(--accent)}
@media(max-width:900px){.nav-links{display:none}}
.nav-actions{display:flex;align-items:center;gap:14px}
.nav-signin{font-size:14.5px;font-weight:600;color:var(--body);font-family:var(--font-display)}
@media(max-width:560px){.nav-signin{display:none}}
.cc{display:inline-flex;gap:2px;padding:3px;border-radius:999px;background:var(--surface-2);border:1px solid var(--line)}
.cc a{border:0;background:transparent;cursor:pointer;font-family:var(--inter);font-weight:700;font-size:12px;letter-spacing:.04em;color:var(--mut);padding:6px 10px;border-radius:999px;transition:.15s;text-decoration:none}
.cc a[aria-current="true"]{background:var(--accent);color:var(--accent-ink)}

/* ============ HERO (colour rail) ============ */
.hero{position:relative;overflow:hidden;background:
  radial-gradient(1000px 460px at 84% -10%, var(--accent-tint) 0%, transparent 60%),
  linear-gradient(180deg,var(--surface) 0%, var(--bg) 100%)}
.hero-inner{position:relative;z-index:2;display:grid;grid-template-columns:1.04fr .96fr;gap:clamp(30px,5vw,60px);align-items:center;padding:clamp(44px,6vw,80px) 0 clamp(52px,7vw,88px)}
@media(max-width:880px){.hero-inner{grid-template-columns:1fr;gap:38px}}
.hero-left{display:flex;gap:24px;align-items:stretch}
.flag-rail{width:10px;flex:none;border-radius:8px;background:var(--flag-grad-v);box-shadow:0 0 0 1px rgba(0,0,0,.05)}
.hero h1{font-size:clamp(34px,5.3vw,58px);margin:16px 0 18px}
.hero h1 em{font-style:normal;color:var(--accent);position:relative;white-space:nowrap}
.hero h1 em::after{content:"";position:absolute;left:0;right:0;bottom:3px;height:10px;background:var(--accent);opacity:.2;border-radius:4px;z-index:-1}
body[data-country="fr"] .hero h1 em, body[data-country="it"] .hero h1 em{font-style:italic}
.hero .sub{font-size:clamp(16px,1.7vw,18.5px);color:var(--mut);max-width:47ch;margin-bottom:28px}
.hero-cta{display:flex;flex-wrap:wrap;gap:13px;align-items:center}
.hero-meta{margin-top:24px;display:flex;align-items:center;gap:9px 16px;flex-wrap:wrap;font-size:13px;color:var(--mut)}
.hero-meta .ck{display:inline-flex;align-items:center;gap:7px}
.hero-meta svg{width:16px;height:16px;color:var(--success)}

/* builder preview */
.builder-card{position:relative;z-index:3;background:var(--surface);border:var(--card-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);padding:22px}
.bc-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;font-family:var(--font-display);font-weight:700;font-size:14px;color:var(--ink)}
.bc-badge{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--accent);background:var(--accent-tint);padding:4px 10px;border-radius:999px}
.bc-progress{display:flex;gap:6px;margin:2px 0 16px}
.bc-progress span{height:6px;border-radius:4px;flex:1;background:var(--line)}
.bc-progress span.on{background:var(--ornament)}
.bc-progress span.cur{background:var(--accent)}
.bc-q{font-family:var(--font-display);font-weight:700;font-size:16px;color:var(--ink);margin-bottom:3px}
.bc-sub{font-size:12.5px;color:var(--mut);margin-bottom:14px}
.bc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}
.bc-opt{border:1px solid var(--line-strong);border-radius:var(--radius);padding:13px 6px;text-align:center;background:var(--surface);transition:.15s}
.bc-opt.sel{border-color:var(--accent);background:var(--accent-tint)}
.bc-opt svg{width:22px;height:22px;color:var(--ornament);margin-bottom:6px}
.bc-opt.sel svg{color:var(--accent-press)}
.bc-opt span{display:block;font-size:11.5px;font-weight:600;color:var(--ink)}
.bc-foot{display:flex;align-items:center;justify-content:space-between;margin-top:16px}
.bc-foot .pr{font-size:12.5px;color:var(--mut)}
.bc-foot .pr b{color:var(--ink);font-family:var(--font-display)}
.bc-float{position:absolute;z-index:4;background:var(--surface);border:var(--card-border);border-radius:12px;box-shadow:var(--shadow);padding:9px 12px;display:flex;align-items:center;gap:8px;font-size:12px;font-weight:700;color:var(--ink);font-family:var(--font-display)}
.bc-float svg{width:16px;height:16px}
.bc-float.f1{top:-15px;right:-12px}
.bc-float.f2{bottom:-15px;left:-12px}
@media(max-width:520px){.bc-float{display:none}}

/* trust bar */
.trustbar{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--surface)}
.trustbar-inner{display:flex;align-items:center;justify-content:space-between;gap:22px;padding:20px 0;flex-wrap:wrap}
.ti{display:flex;align-items:center;gap:10px;font-size:13.5px;color:var(--body);font-weight:600;font-family:var(--font-display)}
.ti svg{width:21px;height:21px;color:var(--accent);flex:none}

/* finder */
.ai-box{max-width:680px;margin:0 auto;background:var(--surface);border:var(--card-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);padding:12px 12px 12px 20px;display:flex;gap:12px;align-items:flex-end}
.ai-box textarea{border:0;background:transparent;resize:none;flex:1;font-family:var(--inter);font-size:16px;color:var(--ink);outline:none;padding:12px 0;line-height:1.5}
.ai-send{flex:none;width:46px;height:46px;border-radius:var(--radius);border:0;background:var(--accent);color:var(--accent-ink);cursor:pointer;display:grid;place-items:center}
.ai-send svg{width:20px;height:20px}
.ai-chips{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin-top:18px;align-items:center}
.ai-chips .lab{font-size:12.5px;color:var(--mut);font-weight:600}
.ai-chip{border:1px solid var(--line-strong);background:var(--surface);border-radius:999px;padding:7px 14px;font-size:13px;color:var(--body);cursor:pointer;transition:.15s;font-family:var(--inter)}
.ai-chip:hover{border-color:var(--accent);color:var(--accent)}
/* document-finder results */
.finder-results{max-width:680px;margin:20px auto 0}
.finder-results .fr-head{font-family:var(--font-display);font-weight:700;font-size:13px;letter-spacing:.05em;text-transform:uppercase;color:var(--mut);margin:0 2px 10px}
.fr-card{display:flex;align-items:center;justify-content:space-between;gap:14px;background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--radius-lg,14px);padding:16px 18px;margin-bottom:10px;text-decoration:none;transition:.15s;box-shadow:var(--shadow-sm,0 1px 2px rgba(20,29,46,.04))}
.fr-card:hover{border-color:var(--accent);transform:translateY(-1px);box-shadow:var(--shadow-md,0 8px 24px rgba(20,29,46,.10))}
.fr-card .fr-title{font-weight:700;font-size:15.5px;color:var(--ink)}
.fr-card .fr-cat{font-size:12.5px;color:var(--mut);margin-top:2px}
.fr-card .fr-right{display:flex;align-items:center;gap:14px;flex:none}
.fr-card .fr-price{font-weight:700;color:var(--ink)}
.fr-card .fr-go{font-family:var(--font-display);font-weight:600;font-size:13px;color:var(--accent);white-space:nowrap}
.fr-browse{display:inline-block;margin:4px 2px 0;font-size:13.5px;font-weight:600;color:var(--mut);text-decoration:none}
.fr-browse:hover{color:var(--accent)}
@media(max-width:520px){.fr-card{flex-direction:column;align-items:flex-start;gap:8px}.fr-card .fr-right{gap:10px}}
/* catalogue keyword search */
.cat-search{position:relative;max-width:520px;margin:0 0 14px}
.cat-search .cs-ic{position:absolute;left:14px;top:50%;transform:translateY(-50%);width:18px;height:18px;color:var(--mut);pointer-events:none}
.cat-search .cs-ic svg{width:18px;height:18px;display:block}
.cat-search input{width:100%;border:1px solid var(--line-strong);border-radius:12px;background:var(--surface);padding:12px 14px 12px 42px;font-size:15px;font-family:var(--inter);color:var(--ink);outline:none}
.cat-search input:focus{border-color:var(--accent)}
.cat-empty{padding:30px 4px;color:var(--mut);font-size:15px}

/* steps */
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
@media(max-width:820px){.steps{grid-template-columns:1fr}}
.step{padding:30px 26px;border-radius:var(--radius-lg);background:var(--surface);border:var(--card-border);box-shadow:var(--shadow)}
.step .num{font-family:var(--font-display);font-weight:800;font-size:14px;color:var(--accent-ink);background:var(--ornament);width:32px;height:32px;border-radius:9px;display:grid;place-items:center;margin-bottom:18px}
.step h3{font-size:19px;margin-bottom:9px}
.step p{font-size:14.5px;color:var(--mut)}

/* categories */
.cats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
@media(max-width:900px){.cats{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.cats{grid-template-columns:1fr}}
.cat{display:block;padding:24px 22px;border-radius:var(--radius-lg);background:var(--surface);border:var(--card-border);box-shadow:var(--shadow);transition:.16s}
.cat:hover{transform:translateY(-3px);border-color:var(--accent)}
.ichip{width:42px;height:42px;border-radius:11px;display:grid;place-items:center;background:var(--accent-tint);color:var(--accent-press);margin-bottom:15px}
.ichip svg{width:22px;height:22px}
.cat h3{font-size:17px;margin-bottom:7px}
.cat p{font-size:13.5px;color:var(--mut);margin-bottom:15px}
.cat .go{font-size:13.5px;font-weight:700;color:var(--accent);display:inline-flex;align-items:center;gap:6px;font-family:var(--font-display)}
.cat .go svg{width:15px;height:15px;transition:.15s}
.cat:hover .go svg{transform:translateX(4px)}

/* featured */
.feat-head{display:flex;justify-content:space-between;align-items:flex-end;gap:18px;flex-wrap:wrap;margin-bottom:34px}
.feat-head .lft{max-width:560px}
.tpl-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
@media(max-width:980px){.tpl-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.tpl-grid{grid-template-columns:1fr}}
.tpl{padding:16px;border-radius:var(--radius-lg);background:var(--surface);border:var(--card-border);box-shadow:var(--shadow);display:flex;flex-direction:column;gap:11px;transition:.16s}
.tpl:hover{transform:translateY(-3px);border-color:var(--accent)}
.doc-shot{height:150px;border-radius:10px;background:#fff;border:1px solid var(--line);overflow:hidden;padding:16px 15px}
.doc-shot .dt{font-family:var(--fraunces);font-weight:700;font-size:11px;color:#1b1b1b;text-transform:uppercase;letter-spacing:.02em;line-height:1.25;text-align:center;margin-bottom:9px}
.doc-shot .dl{height:3.5px;border-radius:2px;background:#e2e6ee;margin:5px 0}
.doc-shot .dl.a{background:var(--accent);opacity:.5;width:34%;margin:8px auto}
/* Real mini document preview inside catalogue cards */
.doc-shot--doc{padding:0;background:#fff;position:relative}
.doc-shot--doc .doc-preview.mini{height:100%;margin:0;border:0;border-radius:0;box-shadow:none;background:#fff;color:#1b1b1b;padding:14px 16px;font-size:7.5px;line-height:1.5;overflow:hidden;-webkit-mask-image:linear-gradient(#000 66%,transparent);mask-image:linear-gradient(#000 66%,transparent)}
.doc-shot--doc .doc-preview.mini .dp-h{font-family:"Fraunces",Georgia,serif;font-weight:700;font-size:10px;color:#111;margin:3px 0 6px;line-height:1.15}
.doc-shot--doc .doc-preview.mini p{margin:0 0 4px}
.doc-shot--doc .doc-preview.mini .dp-sp{height:5px}
.doc-shot--doc .doc-preview.mini .dp-sig{margin:9px 0 2px}
.doc-shot--doc .doc-preview.mini .dp-sig .line{display:block;width:55%;border-top:1px solid #999;margin-bottom:3px}
.doc-shot--doc .doc-preview.mini .dp-sig small{font-size:7px;color:#666}
.doc-shot--doc .doc-preview.mini .blank{color:inherit;background:none;border:0;padding:0}
.doc-badge{align-self:flex-start;font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--accent);background:var(--accent-tint);padding:3px 9px;border-radius:6px;font-family:var(--font-display)}
.tpl h3{font-size:15.5px;line-height:1.25}
/* Uniform catalogue cards: clamp titles to 2 lines and reserve that height so
   every card in the grid lines up regardless of title length. */
.tpl h3,.tpl-static h3{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.5em}
.tpl-meta{margin-top:auto;display:flex;align-items:center;justify-content:space-between}
.tpl .price{font-family:var(--font-display);font-weight:800;color:var(--ink);font-size:17px}
.tpl-time{display:inline-flex;align-items:center;gap:5px;font-family:var(--font-display);font-weight:700;font-size:12px;color:var(--mut)}
.tpl-time svg{width:13px;height:13px;color:var(--accent)}

/* pricing */
.plans{display:grid;grid-template-columns:1fr 1fr;gap:20px;max-width:860px;margin:0 auto;align-items:stretch}
@media(max-width:760px){.plans{grid-template-columns:1fr}}
.plan{background:var(--surface);border:var(--card-border);border-radius:var(--radius-xl);padding:30px 28px;display:flex;flex-direction:column}
.plan--dark{background:var(--ornament);border-color:var(--ornament);color:#fff}
.plan--dark h3,.plan--dark .amt{color:#fff}
.plan .kick{font-family:var(--font-display);font-weight:700;font-size:12.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--accent);margin-bottom:14px}
.plan--dark .kick{color:#fff;opacity:.85}
.plan .amt{font-family:var(--font-display);font-weight:800;font-size:38px;color:var(--ink);line-height:1}
.plan .amt small{font-size:15px;font-weight:600;color:var(--mut)}
.plan--dark .amt small{color:rgba(255,255,255,.75)}
.plan .amt-sub{font-size:12.5px;color:var(--mut);margin-top:6px}
.plan--dark .amt-sub{color:rgba(255,255,255,.7)}
.plan ul{list-style:none;margin:22px 0 26px;padding:0;display:flex;flex-direction:column;gap:11px}
.plan li{display:flex;gap:10px;font-size:14px;color:var(--body)}
.plan--dark li{color:rgba(255,255,255,.9)}
.plan li svg{width:18px;height:18px;color:var(--success);flex:none;margin-top:1px}
.plan--dark li svg{color:#7fd8b0}
.plan .btn{margin-top:auto}
.plan--dark .btn-primary{background:#fff;color:var(--ornament)}

/* cta */
.cta-band{background:var(--ornament);border-radius:var(--radius-xl);padding:clamp(38px,6vw,60px);text-align:center;color:#fff;position:relative;overflow:hidden}
.cta-band::after{content:"";position:absolute;width:320px;height:320px;border-radius:50%;background:radial-gradient(circle,var(--accent),transparent 70%);opacity:.4;top:-120px;right:-70px}
.cta-band h2{color:#fff;font-size:clamp(25px,3.5vw,37px);margin-bottom:12px;position:relative}
.cta-band p{color:rgba(255,255,255,.82);font-size:16.5px;max-width:52ch;margin:0 auto 24px;position:relative}
.cta-band .btn-primary{position:relative;background:#fff;color:var(--ornament)}

/* footer */
.footer{background:#12140f;color:#a9a99d;padding:56px 0 28px}
.footer-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:28px}
@media(max-width:820px){.footer-grid{grid-template-columns:1fr 1fr}}
.footer .brand{color:#f0efe6}
.footer-about{margin-top:13px;max-width:34ch;font-size:13.5px;color:#8f8f83}
.footer-social{display:flex;gap:10px;margin-top:16px}
.footer-social a{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:8px;
  background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);color:#c9c9bd;transition:.15s;padding:0}
.footer-social a:hover{transform:scale(1.14);color:#fff;background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.28)}
.footer-social svg{width:17px;height:17px}
.footer h4{font-family:var(--font-display);font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:#e9e7dd;margin:0 0 13px;font-weight:700}
.footer ul{list-style:none;margin:0;padding:0}
.footer a{display:block;padding:5px 0;font-size:14px;color:#a9a99d}
.footer a:hover{color:var(--accent)}
.footer .imp{color:#d8b25e}
.footer-bottom{margin-top:38px;padding-top:20px;border-top:1px solid rgba(255,255,255,.1);font-size:12.5px;color:#6f6f64;display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap}
.pay-logos{display:inline-flex;gap:8px;align-items:center;flex-wrap:wrap}
.pay-logos .pay{display:inline-flex;align-items:center;justify-content:center;gap:3px;height:26px;min-width:44px;padding:0 9px;background:#fff;border-radius:5px;box-shadow:0 0 0 1px rgba(0,0,0,.06)}
.pay-logos .pay-dark{background:#000;color:#fff}
.pay-logos .pay b{font:700 12px Arial,sans-serif;color:#3c4043}
.pay-logos .pay-dark b{color:#fff;font-weight:600}
.pay-logos .visa{font:italic 800 14px Arial,sans-serif;color:#1434CB;letter-spacing:.4px}
.pay-logos .gpay{font:700 12px Arial,sans-serif;color:#5f6368}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto}}

/* ============ ROOT COUNTRY PICKER ============ */
.pick{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 24px;background:
  radial-gradient(900px 500px at 50% -10%, #eaf0fb 0%, transparent 60%),linear-gradient(180deg,#fff,#EEF2F8)}
.pick .brand{font-size:26px;margin-bottom:8px}
.pick h1{font-family:var(--jakarta);font-weight:800;font-size:clamp(26px,4vw,38px);color:#141d2e;text-align:center;margin:14px 0 6px}
.pick p{color:#65708a;text-align:center;max-width:44ch;margin:0 auto 34px}
.pick-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;width:100%;max-width:820px}
@media(max-width:720px){.pick-grid{grid-template-columns:1fr 1fr}}
.pick-card{background:#fff;border:1px solid #e2e7f0;border-radius:16px;padding:22px;text-align:center;transition:.16s;box-shadow:0 2px 10px rgba(20,29,46,.05)}
.pick-card:hover{transform:translateY(-4px);border-color:#c9a24b;box-shadow:0 24px 50px -30px rgba(20,29,46,.34)}
.pick-card .flag{width:64px;height:42px;border-radius:6px;margin:0 auto 14px;overflow:hidden;box-shadow:0 0 0 1px rgba(0,0,0,.08)}
.pick-card .flag svg{display:block;width:100%;height:100%}
.pick-card b{display:block;font-family:var(--jakarta);font-weight:700;font-size:17px;color:#141d2e}
.pick-card span{font-size:12.5px;color:#65708a}

/* ============ SUBPAGES ============ */
.page-head{background:radial-gradient(900px 420px at 80% -20%,var(--accent-tint) 0%,transparent 60%),linear-gradient(180deg,var(--surface),var(--bg));border-bottom:1px solid var(--line)}
.page-head .inner{padding:44px 0 40px}
.crumb{font-size:12.5px;color:var(--mut);margin-bottom:14px}
.crumb a:hover{color:var(--accent)}
.page-head h1{font-size:clamp(30px,4.4vw,46px);margin:10px 0 12px}
.page-head p{font-size:17px;color:var(--body);max-width:60ch}
input::placeholder,textarea::placeholder{color:#7e8aa0;opacity:1}

/* catalogue */
.filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:26px}
.filter{border:1px solid var(--line-strong);background:var(--surface);border-radius:999px;padding:8px 15px;font-size:13px;font-weight:600;color:var(--body);cursor:pointer;font-family:var(--font-display);transition:.15s}
.filter[aria-pressed="true"]{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}
.cat-note{font-size:13px;color:var(--mut);background:var(--surface-2);border:1px dashed var(--line-strong);border-radius:var(--radius);padding:12px 16px;margin-bottom:24px}
.tpl-static{display:flex;flex-direction:column;gap:11px;padding:16px;border-radius:var(--radius-lg);background:var(--surface);border:var(--card-border);box-shadow:var(--shadow);transition:.16s}
.tpl-static:hover{transform:translateY(-3px);border-color:var(--accent)}
.tpl-static .pill{display:inline-flex;align-self:flex-start;font-size:12px;font-weight:700;color:var(--accent);background:var(--accent-tint);border-radius:8px;padding:6px 12px;font-family:var(--font-display);margin-top:2px}
/* grid / list view toggle */
.cat-controls{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:18px}
.cat-controls .filters{margin-bottom:0;flex:1}
.view-toggle{display:inline-flex;gap:4px;background:var(--surface);border:1px solid var(--line-strong);border-radius:10px;padding:3px;flex:none}
.vbtn{width:34px;height:32px;display:grid;place-items:center;border:0;background:transparent;color:var(--mut);border-radius:7px;cursor:pointer}
.vbtn svg{width:18px;height:18px}
.vbtn[aria-pressed="true"]{background:var(--accent);color:#fff}
.tpl-grid.as-list{display:flex;flex-direction:column;gap:10px}
.tpl-grid.as-list .tpl-static{flex-direction:row;align-items:center;gap:16px;padding:14px 20px}
.tpl-grid.as-list .tpl-static:hover{transform:none}
.tpl-grid.as-list .doc-shot,.tpl-grid.as-list .doc-badge,.tpl-grid.as-list .tpl-time{display:none}
.tpl-grid.as-list h3{flex:1;margin:0;font-size:16px;display:block;min-height:0;-webkit-line-clamp:none;overflow:visible}
.tpl-grid.as-list .tpl-meta{margin:0;flex:none;gap:0}
.tpl-grid.as-list .tpl-static .pill{margin-top:0;align-self:auto;flex:none}

/* about */
.about-body{max-width:70ch;display:flex;flex-direction:column;gap:16px;font-size:16.5px;color:var(--body)}
.values{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:14px}
@media(max-width:760px){.values{grid-template-columns:1fr}}
.value{padding:22px;border-radius:var(--radius-lg);background:var(--surface);border:var(--card-border);box-shadow:var(--shadow)}
.value h3{font-size:17px;margin-bottom:7px}
.value p{font-size:14px;color:var(--mut)}

/* contact */
.contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:30px;align-items:start}
@media(max-width:760px){.contact-grid{grid-template-columns:1fr}}
.contact-info{display:flex;flex-direction:column;gap:18px}
.contact-info .row .l{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--mut);font-weight:700;font-family:var(--font-display)}
.contact-info .row .v{font-size:16px;color:var(--ink);margin-top:3px;white-space:pre-line}
.form{background:var(--surface);border:var(--card-border);border-radius:var(--radius-xl);box-shadow:var(--shadow);padding:26px;display:flex;flex-direction:column;gap:14px}
.form label{font-size:13px;font-weight:600;color:var(--ink);font-family:var(--font-display);display:block;margin-bottom:6px}
.form input,.form textarea{width:100%;border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--surface-2);padding:12px 14px;font-family:var(--inter);font-size:15px;color:var(--ink);outline:none}
.form input:focus,.form textarea:focus{border-color:var(--accent)}
.form .note{font-size:12.5px;color:var(--mut)}

/* faq */
.faq{max-width:780px;margin:0 auto}
.faq-item{border-bottom:1px solid var(--line)}
.faq-q{width:100%;background:none;border:0;text-align:left;padding:20px 0;display:flex;align-items:center;justify-content:space-between;gap:16px;font-family:var(--font-display);font-weight:700;font-size:16.5px;color:var(--ink);cursor:pointer}
.faq-q .ic{width:26px;height:26px;flex:none;border-radius:8px;background:var(--accent-tint);color:var(--accent-press);display:grid;place-items:center;transition:transform .2s}
.faq-q .ic svg{width:15px;height:15px}
.faq-q[aria-expanded="true"] .ic{transform:rotate(45deg)}
.faq-a{max-height:0;overflow:hidden;transition:max-height .28s ease}
.faq-a p{padding:0 0 20px;font-size:15px;color:var(--mut);max-width:68ch}

/* disclaimer */
.disclaimer{background:var(--surface-2);border:1px solid var(--line);border-radius:var(--radius-lg);padding:26px 28px;display:flex;gap:16px;align-items:flex-start;max-width:960px;margin:0 auto}
.disclaimer .ic{flex:none;width:42px;height:42px;border-radius:11px;background:var(--accent-tint);color:var(--accent-press);display:grid;place-items:center}
.disclaimer .ic svg{width:22px;height:22px}
.disclaimer h3{font-size:16px;margin-bottom:7px}
.disclaimer p{font-size:14px;color:var(--mut);line-height:1.65}

/* legal prose */
.legal{max-width:760px;margin:0 auto}
.legal .updated{font-size:12.5px;color:var(--mut);margin-bottom:26px}
.legal section{margin-bottom:26px}
.legal h2{font-size:19px;margin-bottom:8px}
.legal p{font-size:15px;color:var(--body);white-space:pre-line;line-height:1.7}
.legal .ph{color:var(--accent-press);font-weight:600}
/* Legal body authored as HTML (h2/h3/p/ul) in the admin */
.legal-body h2{font-size:19px;margin:28px 0 8px;font-family:var(--font-display);color:var(--ink)}
.legal-body h3{font-size:16px;margin:22px 0 6px;font-family:var(--font-display);color:var(--ink)}
.legal-body p{font-size:15px;color:var(--body);line-height:1.7;margin:0 0 12px}
.legal-body ul,.legal-body ol{margin:0 0 14px 22px;color:var(--body);font-size:15px;line-height:1.7}
.legal-body li{margin:5px 0}
.legal-body a{color:var(--accent);text-decoration:underline}
.legal-body h2:first-child,.legal-body h3:first-child{margin-top:0}
.footer-social:empty{display:none}
.backlink{display:inline-block;margin-top:10px;font-size:14px;font-weight:600;color:var(--accent);font-family:var(--font-display)}

/* ============ DOCUMENT BUILDER ============ */
.builder{display:grid;grid-template-columns:1fr 1.05fr;gap:32px;align-items:start}
@media(max-width:960px){.builder{grid-template-columns:1fr}}
.b-form{display:flex;flex-direction:column;gap:26px}
.b-group{background:var(--surface);border:var(--card-border);border-radius:var(--radius-lg);box-shadow:var(--shadow);padding:22px 22px 6px;border:0;margin:0}
.b-group legend{font-family:var(--font-display);font-weight:700;font-size:15px;color:var(--ink);padding:0 0 14px;display:flex;align-items:center;gap:9px}
.b-group legend .gn{width:24px;height:24px;border-radius:7px;background:var(--accent-tint);color:var(--accent-press);display:grid;place-items:center;font-size:12px;font-weight:800}
.b-field{margin-bottom:16px}
.b-field label{display:block;font-size:13.5px;font-weight:600;color:var(--ink);margin-bottom:6px;font-family:var(--font-display)}
.b-field input,.b-field textarea{width:100%;border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--surface-2);padding:11px 13px;font-family:var(--inter);font-size:15px;color:var(--ink);outline:none}
.b-field textarea{min-height:88px;resize:vertical;line-height:1.5}
.b-field input:focus,.b-field textarea:focus{border-color:var(--accent);background:var(--surface)}
.b-affix{position:relative}
.b-affix input{padding-right:38px}
.b-affix .suf{position:absolute;right:13px;top:50%;transform:translateY(-50%);color:var(--mut);font-size:14px;font-weight:600;pointer-events:none}

.b-preview-wrap{position:sticky;top:82px}
.b-pbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}
.b-pbar .lbl{font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--mut);font-weight:700;font-family:var(--font-display)}
/* "Add us as a preferred source on Google" pill (pricing block) */
.gs-wrap{display:flex;justify-content:center;margin:2px 0 30px}
.btn-gsource{display:inline-flex;align-items:center;gap:11px;padding:11px 20px 11px 16px;border-radius:999px;
  background:var(--surface);color:var(--ink);border:1px solid var(--line-strong);box-shadow:var(--shadow);
  font-weight:600;font-size:14.5px;text-decoration:none;cursor:pointer;
  transition:transform .14s ease, box-shadow .14s ease, border-color .14s ease}
.btn-gsource:hover{transform:translateY(-1px);box-shadow:var(--shadow-lg);border-color:var(--line-strong)}
.gs-g{flex:none;display:block}
.gs-txt{display:flex;flex-direction:column;line-height:1.15;text-align:left}
.gs-lead{font-weight:700}
.gs-sub{font-weight:500;font-size:11.5px;color:var(--mut);margin-top:1px}
.gs-star{color:var(--accent)}
.doc-preview{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-lg);
  padding:44px 46px;font-family:"Fraunces",Georgia,serif;color:#1b1b1b;line-height:1.6;font-size:14.5px;max-height:78vh;overflow:auto}
.doc-preview .dp-h{font-family:"Fraunces",Georgia,serif;font-weight:700;font-size:19px;color:#111;margin:14px 0 12px;letter-spacing:0}
.doc-preview p{margin:0 0 10px;white-space:pre-wrap}
.doc-preview .dp-sp{height:12px}
.doc-preview .dp-sig{margin:22px 0 4px}
.doc-preview .dp-sig .line{display:block;width:230px;border-top:1px solid #888;margin-bottom:5px}
.doc-preview .dp-sig small{color:#555;font-size:12px}
.blank{color:var(--ink);background:none;border:0;padding:0;font-style:normal;font-weight:400;letter-spacing:.5px}
body[data-country="de"] .blank{color:var(--ink)}
.builder-note{font-size:12.5px;color:var(--mut);background:var(--surface-2);border:1px dashed var(--line-strong);border-radius:var(--radius);padding:12px 16px;margin-top:16px}

/* print: show only the document */
@media print{
  .toolbar,.nav,.footer,.page-head,.b-form,.b-pbar,.builder-note,.skip{display:none!important}
  body{background:#fff}
  .section{padding:0}
  .builder{display:block}
  .b-preview-wrap{position:static}
  .doc-preview{border:0;box-shadow:none;max-height:none;overflow:visible;padding:0;font-size:12pt}
  .blank{color:#000;background:none;border-bottom:1px solid #000}
}

/* ============ PRODUCT PAGE ============ */
.product{display:grid;grid-template-columns:1.35fr .95fr;gap:40px;align-items:start}
@media(max-width:900px){.product{grid-template-columns:1fr;gap:28px}}
.prod-badges{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}
.pbadge{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:700;font-family:var(--font-display);padding:6px 12px;border-radius:999px}
.pbadge svg{width:14px;height:14px}
.pbadge.cat{background:var(--accent-tint);color:var(--accent-press)}
.pbadge.ok{background:#e7f5ee;color:#0d7a4f}
.pbadge.dark{background:var(--ornament);color:#fff}
.pbadge.flag{background:#eef1f7;color:var(--ink)}
.pbadge.flag .fl{width:20px;height:13px;border-radius:2px;overflow:hidden;box-shadow:0 0 0 1px rgba(0,0,0,.08);flex:none}
.pbadge.flag .fl svg{display:block;width:100%;height:100%}
.prod-title{font-size:clamp(30px,4.2vw,44px);margin:0 0 10px}
.prod-meta{font-size:13px;color:var(--mut);margin-bottom:12px}
.prod-dl{display:inline-flex;align-items:center;gap:7px;font-size:13.5px;color:var(--ink);background:var(--surface-2);border:1px solid var(--line);border-radius:999px;padding:6px 13px;margin-bottom:24px}
.prod-dl svg{width:16px;height:16px;color:var(--accent);flex:none}
.prod-dl b{font-weight:700;font-variant-numeric:tabular-nums}
.prod-h{font-size:20px;margin:26px 0 12px}
.prod-about{font-size:16px;color:var(--body);max-width:62ch;line-height:1.7}
.why-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px;max-width:62ch}
.why-list li{display:flex;gap:11px;font-size:15px;color:var(--body)}
.why-list li svg{width:19px;height:19px;color:var(--success);flex:none;margin-top:2px}
.incl{display:grid;grid-template-columns:1fr 1fr;gap:14px;max-width:620px}
@media(max-width:520px){.incl{grid-template-columns:1fr}}
.incl-card{background:var(--surface);border:var(--card-border);border-radius:var(--radius-lg);box-shadow:var(--shadow);padding:18px 20px}
.incl-card b{display:block;font-family:var(--font-display);font-size:15px;color:var(--ink);margin-bottom:4px}
.incl-card span{font-size:13.5px;color:var(--mut)}

.prod-side{position:sticky;top:82px}
.prod-card{background:var(--surface);border:var(--card-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);padding:20px}
.sample-wrap{position:relative;margin-bottom:20px}
.sample-tag{position:absolute;top:10px;right:10px;z-index:2;background:var(--ornament);color:#fff;font-size:10.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:5px 10px;border-radius:6px;font-family:var(--font-display)}
.doc-preview.sample{max-height:340px;overflow:hidden;padding:26px 28px;font-size:11px;line-height:1.5;-webkit-mask-image:linear-gradient(#000 72%,transparent);mask-image:linear-gradient(#000 72%,transparent)}
.doc-preview.sample .dp-h{font-size:14px;margin:8px 0}
.prod-price{font-family:var(--font-display);font-weight:800;font-size:38px;color:var(--ink);line-height:1;margin-top:4px}
.prod-oneoff{font-size:13px;color:var(--mut);margin:8px 0 18px}
.prod-card .btn-block{margin-bottom:16px}
.chk{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.chk li{display:flex;gap:9px;font-size:13.5px;color:var(--body)}
.chk li svg{width:17px;height:17px;color:var(--success);flex:none;margin-top:1px}

/* Locked-clause redaction. The real text is never sent to the browser; these
   are placeholder bars only, so nothing is recoverable from the DOM. */
.lock-note{font-size:12.5px;color:var(--mut);display:flex;align-items:center;gap:6px;margin-bottom:10px}
.doc-preview .clause-lock{user-select:none;pointer-events:none}
.doc-preview .clause-lock .lockbar{display:block;height:.6em;margin:.4em 0;border-radius:3px;
  background:linear-gradient(90deg,#e4e7ee,#eef0f5);opacity:.9}
.doc-preview.mini .clause-lock .lockbar{height:.55em;margin:.3em 0}

/* ============ ADMIN PANEL ============ */
.adm{--abg:#0f1720;--apanel:#16212e;--aline:#26374a;--aink:#eaf1f8;--amut:#8aa0b6;--aacc:#ff6a4d;
  min-height:100vh;background:var(--abg);color:var(--aink);font-family:"Inter",system-ui,sans-serif}
.adm *{box-sizing:border-box}
.adm-gate{min-height:100vh;display:grid;place-items:center;padding:24px}
.adm-gate .box{background:var(--apanel);border:1px solid var(--aline);border-radius:16px;padding:34px;width:100%;max-width:380px;text-align:center}
.adm-gate h1{font-family:"Plus Jakarta Sans",sans-serif;font-size:22px;margin:0 0 6px;color:#fff}
.adm-gate p{color:var(--amut);font-size:13.5px;margin:0 0 20px}
.adm-gate input{width:100%;padding:12px 14px;border-radius:10px;border:1px solid var(--aline);background:var(--abg);color:#fff;font-size:15px;margin-bottom:12px}
.adm-btn{cursor:pointer;border:0;border-radius:10px;background:var(--aacc);color:#fff;font-weight:700;font-family:"Plus Jakarta Sans",sans-serif;padding:12px 18px;font-size:14px}
.adm-btn.ghost{background:transparent;border:1px solid var(--aline);color:var(--aink)}
.adm-btn.ok{background:#12a06a}
.adm-top{display:flex;align-items:center;gap:16px;padding:14px 22px;border-bottom:1px solid var(--aline);position:sticky;top:0;background:var(--abg);z-index:5;flex-wrap:wrap}
.adm-top .brand{font-family:"Plus Jakarta Sans",sans-serif;font-weight:800;color:#fff;font-size:18px}
.adm-top .sp{flex:1}
.adm-tabs{display:flex;gap:6px;padding:14px 22px 0;flex-wrap:wrap}
.adm-tab{cursor:pointer;border:1px solid var(--aline);background:transparent;color:var(--amut);border-radius:9px 9px 0 0;padding:9px 15px;font-size:13.5px;font-weight:600}
.adm-tab[aria-selected="true"]{background:var(--apanel);color:#fff;border-bottom-color:var(--apanel)}
.adm-wrap{padding:22px;max-width:1100px;margin:0 auto}
.adm-card{background:var(--apanel);border:1px solid var(--aline);border-radius:14px;padding:20px;margin-bottom:16px}
.adm-card h2{font-family:"Plus Jakarta Sans",sans-serif;font-size:16px;margin:0 0 4px;color:#fff}
.adm-card .hint{color:var(--amut);font-size:12.5px;margin:0 0 16px}
.adm-row{display:grid;grid-template-columns:220px 1fr;gap:14px;align-items:start;margin-bottom:12px}
@media(max-width:640px){.adm-row{grid-template-columns:1fr}}
.adm-row label{font-size:13px;color:var(--amut);padding-top:9px}
.adm-in{width:100%;padding:9px 12px;border-radius:9px;border:1px solid var(--aline);background:var(--abg);color:#fff;font-size:14px;font-family:inherit}
textarea.adm-in{min-height:64px;resize:vertical;line-height:1.5}
.adm-sel{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}
.adm-sel button{cursor:pointer;border:1px solid var(--aline);background:transparent;color:var(--amut);border-radius:999px;padding:7px 13px;font-size:13px;font-weight:600}
.adm-sel button[aria-pressed="true"]{background:var(--aacc);color:#fff;border-color:var(--aacc)}
.adm-sub{font-family:"Plus Jakarta Sans",sans-serif;font-weight:700;color:#fff;font-size:13px;margin:20px 0 10px;text-transform:uppercase;letter-spacing:.06em}
.adm-bodyrow{display:grid;grid-template-columns:90px 1fr;gap:10px;margin-bottom:8px}
.adm-note{background:#1c2a1f;border:1px solid #2f6b45;color:#bfe6cf;border-radius:10px;padding:12px 15px;font-size:13px;margin-bottom:16px}
.adm-note code{background:rgba(255,255,255,.08);padding:2px 6px;border-radius:5px;font-size:12px}

/* admin gate must fully cover; app stays truly hidden until unlock */
.adm-gate{position:fixed;inset:0;z-index:1000;overflow:auto}
#app[hidden]{display:none!important}

/* ============ COUNTRY DROPDOWN ============ */
.cc{position:relative;display:inline-block}
.cc-btn{display:inline-flex;align-items:center;gap:8px;cursor:pointer;border:1px solid var(--line-strong);background:var(--surface);
  color:var(--ink);font-family:var(--font-display);font-weight:600;font-size:13.5px;padding:9px 14px;border-radius:999px;transition:.15s}
.cc-btn:hover{border-color:var(--accent);color:var(--accent)}
.cc-btn .fl{width:20px;height:14px;border-radius:3px;overflow:hidden;box-shadow:0 0 0 1px rgba(0,0,0,.1);flex:none}
.cc-btn .fl svg{display:block;width:100%;height:100%}
.cc-btn .chev{width:15px;height:15px;transition:transform .18s}
.cc-btn[aria-expanded="true"] .chev{transform:rotate(180deg)}
.cc-btn--flag{gap:6px;padding-left:11px;padding-right:9px}

/* cookie consent modal */
.ck-overlay{position:fixed;inset:0;z-index:400;background:rgba(20,29,46,.5);display:flex;align-items:center;justify-content:center;padding:24px}
.ck-overlay[hidden]{display:none}
.ck-modal{width:520px;max-width:100%;background:#fff;border-radius:20px;box-shadow:0 30px 80px rgba(0,0,0,.35);padding:30px;text-align:left;font-family:var(--font-sans,system-ui,sans-serif)}
.ck-ic{width:56px;height:56px;border-radius:16px;background:#f6efe4;display:grid;place-items:center;margin:0 0 14px}
.ck-title{font-size:20px;color:var(--ink);margin:0 0 8px;font-weight:800}
.ck-body{font-size:14px;color:var(--body);line-height:1.6;margin:0 0 18px}
.ck-body a{color:var(--accent);font-weight:600}
/* preferences (second level) */
.ck-prefs{border:1px solid var(--line);border-radius:14px;padding:4px 16px;margin:0 0 18px}
.ck-pref{padding:14px 0;border-bottom:1px solid var(--line)}
.ck-pref:last-child{border-bottom:0}
.ck-pref-head{display:flex;align-items:center;justify-content:space-between;gap:12px}
.ck-pref-name{font-weight:700;font-size:14.5px;color:var(--ink)}
.ck-pref-body{font-size:13px;color:var(--mut);line-height:1.55;margin:6px 0 0}
.ck-tag{font-size:11.5px;font-weight:700;letter-spacing:.02em;color:#0d7a4f;background:#e7f5ee;border-radius:999px;padding:3px 10px;white-space:nowrap}
/* toggle switch (analytics — off by default) */
.ck-switch{position:relative;display:inline-block;width:42px;height:24px;flex:none}
.ck-switch input{position:absolute;opacity:0;width:0;height:0}
.ck-slider{position:absolute;inset:0;background:#c7cdd8;border-radius:999px;transition:.2s;cursor:pointer}
.ck-slider::before{content:"";position:absolute;width:18px;height:18px;left:3px;top:3px;background:#fff;border-radius:50%;transition:.2s;box-shadow:0 1px 2px rgba(0,0,0,.25)}
.ck-switch input:checked+.ck-slider{background:var(--accent)}
.ck-switch input:checked+.ck-slider::before{transform:translateX(18px)}
.ck-switch input:focus-visible+.ck-slider{outline:2px solid var(--accent);outline-offset:2px}
/* actions — three equal-weight buttons (GDPR symmetry) */
.ck-actions{display:flex;gap:10px;flex-wrap:wrap}
.ck-btn{flex:1 1 auto;min-width:130px;padding:12px 14px;border-radius:11px;border:1.5px solid var(--line-strong);background:#fff;color:var(--ink);font-family:var(--font-display,inherit);font-weight:700;font-size:14px;cursor:pointer;transition:.15s;text-align:center}
.ck-btn:hover{border-color:var(--accent);color:var(--accent)}
@media(max-width:520px){.ck-actions{flex-direction:column}.ck-btn{width:100%}}
/* footer reopen link + policy table */
.footer-bottom .ck-reopen{color:var(--footer-fg,#c7ccd6);text-decoration:underline;text-underline-offset:2px;font-size:13.5px}
.footer-bottom .ck-reopen:hover{color:#fff}
.ck-table-wrap{overflow-x:auto;margin:6px 0 4px}
.ck-table{width:100%;border-collapse:collapse;font-size:13.5px;min-width:560px}
.ck-table th,.ck-table td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--line);vertical-align:top}
.ck-table th{font-family:var(--font-display,inherit);font-weight:700;color:var(--ink);background:var(--paper,#faf9f6)}
.ck-table td{color:var(--body)}
.cc-menu{position:absolute;right:0;top:calc(100% + 8px);min-width:210px;background:var(--surface);border:1px solid var(--line);
  border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:6px;z-index:120;list-style:none;margin:0}
.cc-menu li{margin:0}
.cc-menu a{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:10px;font-size:14px;font-weight:600;color:var(--body)}
.cc-menu a:hover{background:var(--surface-2);color:var(--accent)}
.cc-menu a[aria-current="true"]{background:var(--accent);color:var(--accent-ink)}
.cc-menu a[aria-current="true"]:hover{background:var(--accent-press);color:var(--accent-ink)}
.cc-menu a .fl{width:22px;height:15px;border-radius:3px;overflow:hidden;box-shadow:0 0 0 1px rgba(0,0,0,.1);flex:none}
.cc-menu a .fl svg{display:block;width:100%;height:100%}
.cc-menu a .tick{margin-left:auto;color:var(--accent);opacity:0}
.cc-menu a[aria-current="true"] .tick{opacity:1;color:var(--accent-ink)}

/* ============ HERO "HOW IT WORKS" ANIMATION ============ */
/* A looping 5-step card. Colours come from the body[data-country] skin, so it
   renders in each country's accent automatically. */
.hero-scene{position:relative;z-index:2;aspect-ratio:5/4}
.how-card{position:absolute;inset:16px;display:flex;flex-direction:column;padding:16px 18px 15px;
  background:linear-gradient(180deg,var(--surface),var(--surface-2));
  border:var(--card-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg)}
.how-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}
.how-pill{font-family:var(--font-display);font-size:12px;font-weight:700;color:var(--ornament);
  background:var(--surface-2);border:1px solid var(--line);padding:5px 12px;border-radius:999px}
.how-dots{display:flex;gap:5px}
.how-dots i{width:16px;height:5px;border-radius:3px;background:var(--line-strong);
  animation:howDot 13s steps(1,end) infinite}
.how-dots i:nth-child(1){animation-delay:0s}
.how-dots i:nth-child(2){animation-delay:2.6s}
.how-dots i:nth-child(3){animation-delay:5.2s}
.how-dots i:nth-child(4){animation-delay:7.8s}
.how-dots i:nth-child(5){animation-delay:10.4s}
@keyframes howDot{0%{background:var(--accent)}20%{background:var(--accent)}20.01%,100%{background:var(--line-strong)}}
.how-stage{position:relative;flex:1;min-height:0}
.how-phase{position:absolute;inset:0;display:flex;flex-direction:column;opacity:0;
  animation:howPhase 13s ease-in-out infinite}
.how-phase.p2{animation-delay:2.6s}
.how-phase.p3{animation-delay:5.2s}
.how-phase.p4{animation-delay:7.8s}
.how-phase.p5{animation-delay:10.4s}
@keyframes howPhase{0%{opacity:0;transform:translateY(10px)}2.5%{opacity:1;transform:none}
  17.5%{opacity:1;transform:none}20%{opacity:0;transform:translateY(-10px)}100%{opacity:0}}
.how-body{flex:1;display:flex;flex-direction:column;justify-content:center;gap:8px;min-height:0}
.how-foot{margin-top:10px;display:flex;align-items:center;gap:10px;border-top:1px solid var(--line);padding-top:11px}
.how-foot .n{width:24px;height:24px;flex:none;border-radius:7px;background:var(--ornament);color:#fff;
  font-family:var(--font-display);font-weight:800;font-size:12px;display:grid;place-items:center}
.how-foot b{font-size:14.5px;color:var(--ink);font-family:var(--font-display)}
/* step 1 — country switcher */
.how-cs{display:flex;flex-direction:column;gap:7px}
.how-row{display:flex;align-items:center;gap:11px;padding:8px 11px;border:1.5px solid var(--line);
  border-radius:11px;background:var(--surface);font-size:13.5px;font-weight:600;color:var(--ink)}
.how-row.sel{border-color:var(--accent);background:var(--accent-tint)}
.how-row .flag{width:22px;height:15px;flex:none;border-radius:3px;overflow:hidden;box-shadow:0 0 0 1px rgba(0,0,0,.1)}
.how-row .flag svg{display:block;width:100%;height:100%}
.how-row .chk{margin-left:auto;color:var(--accent);display:grid;place-items:center}
.how-row .chk svg{width:17px;height:17px}
/* step 2 — templates */
.how-tpl{display:flex;align-items:center;gap:11px;padding:9px 11px;border:1.5px solid var(--line);
  border-radius:11px;background:var(--surface)}
.how-tpl.sel{border-color:var(--accent);background:var(--accent-tint)}
.how-tpl .ic{width:32px;height:32px;flex:none;border-radius:8px;background:var(--surface-2);
  display:grid;place-items:center;color:var(--ornament)}
.how-tpl .ic svg{width:18px;height:18px}
.how-tpl .tx{min-width:0}
.how-tpl .tx b{display:block;font-size:13px;font-weight:700;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.how-tpl .tx span{font-size:11px;color:var(--mut)}
/* step 3 — questions */
.how-fld{display:flex;flex-direction:column;gap:4px}
.how-fld label{font-size:11px;font-weight:600;color:var(--mut)}
.how-inp{border:1.5px solid var(--line);border-radius:9px;padding:9px 11px;font-size:13px;color:var(--ink);
  background:var(--surface);display:flex;align-items:center;min-height:20px}
.how-fld:first-child .how-inp{border-color:var(--accent)}
.how-caret{width:1.5px;height:15px;background:var(--accent);margin-left:1px;animation:howCaret 1s steps(1,end) infinite}
@keyframes howCaret{0%,50%{opacity:1}50.01%,100%{opacity:0}}
/* step 4 — payment */
.how-pay{display:flex;flex-direction:column;gap:10px}
.how-payrow{display:flex;align-items:center;justify-content:space-between;font-size:13px;color:var(--mut)}
.how-payrow b{font-family:var(--font-display);font-size:17px;color:var(--ink)}
.how-cardin{display:flex;align-items:center;gap:10px;border:1.5px solid var(--line);border-radius:9px;padding:10px 11px;background:var(--surface)}
.how-cardin .dt{width:26px;height:17px;flex:none;border-radius:3px;background:linear-gradient(135deg,var(--accent),var(--ornament))}
.how-cardin .cc{font-size:13px;letter-spacing:.06em;color:var(--ink)}
.how-paybtn{display:flex;align-items:center;justify-content:center;gap:8px;background:var(--accent);color:var(--accent-ink);
  border-radius:10px;padding:11px;font-family:var(--font-display);font-weight:700;font-size:13.5px}
.how-paybtn svg{width:16px;height:16px}
/* step 5 — download */
.how-doc{border:1px solid var(--line);border-radius:10px;background:var(--surface-2);padding:13px;display:flex;flex-direction:column;gap:8px;margin-bottom:2px}
.how-doc .ttl{height:9px;width:52%;border-radius:3px;background:var(--ornament);opacity:.85}
.how-doc .ln{height:6px;border-radius:3px;background:var(--line-strong);opacity:.55}
.how-doc .ln.s{width:64%}
.how-dl{display:flex;gap:10px}
.how-dl>span{flex:1;display:flex;align-items:center;justify-content:center;gap:7px;border-radius:10px;padding:11px;
  font-family:var(--font-display);font-weight:700;font-size:13.5px}
.how-dl .word{background:var(--accent);color:var(--accent-ink)}
.how-dl .pdf{background:var(--ornament);color:#fff}
.how-dl svg{width:16px;height:16px}
/* floating chips */
.how-badge,.how-file{position:absolute;display:flex;align-items:center;gap:7px;background:var(--surface);
  border:1px solid var(--line);box-shadow:var(--shadow-md);border-radius:11px;padding:8px 12px;
  font-size:12px;font-weight:600;color:var(--ink);z-index:3;white-space:nowrap}
.how-badge{top:-4px;right:-8px;animation:howFloat 5s ease-in-out infinite}
.how-file{bottom:-6px;left:-8px;animation:howFloat 5s ease-in-out infinite .8s}
.how-badge svg{width:16px;height:16px;color:#16a34a}
.how-file svg{width:16px;height:16px;color:var(--accent)}
@keyframes howFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}
@media(max-width:420px){.how-badge,.how-file{font-size:11px;padding:6px 10px}}
@media (prefers-reduced-motion: reduce){
  .how-phase,.how-dots i,.how-caret,.how-badge,.how-file{animation:none}
  .how-phase{opacity:0}.how-phase.p1{opacity:1}
  .how-dots i:nth-child(1){background:var(--accent)}
}

/* ============ APPLICABLE LEGISLATION (product page) ============ */
.leg{border-left:4px solid var(--accent);display:flex;gap:18px;align-items:flex-start;padding:22px 24px;margin-top:24px}
.leg-ic{flex:none;width:44px;height:44px;border-radius:12px;background:var(--ornament);color:#fff;display:grid;place-items:center}
.leg-ic svg{width:23px;height:23px}
.leg h3{font-family:var(--font-display);font-size:16px;margin-bottom:6px}
.leg-lead{font-size:14px;color:var(--mut);margin-bottom:14px;max-width:64ch}
.leg .chips{display:flex;flex-wrap:wrap;gap:8px}
.leg .chip{display:inline-flex;align-items:center;gap:7px;background:var(--surface-2);border:1px solid var(--line-strong);border-radius:999px;padding:7px 13px;font-size:13px;font-weight:600;color:var(--ink)}
.leg a.chip-link{text-decoration:none;transition:border-color .12s,background .12s;cursor:pointer}
.leg a.chip-link:hover{border-color:var(--accent);background:var(--accent-tint)}
.leg .chip-ext{font-size:11px;color:var(--accent);font-weight:700}
.leg .chip b{font-family:var(--font-display);color:var(--accent-press)}
.leg-foot{font-size:12.5px;color:var(--mut);margin-top:14px}

/* admin gate: opaque cover + actually hide when unlocked (fixes bleed-through) */
.adm-gate{background:var(--abg,#0f1720)}
.adm-gate[hidden]{display:none!important}

/* ============ BLOG + TEAM (public) ============ */
.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
@media(max-width:820px){.blog-grid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.blog-grid{grid-template-columns:1fr}}
.blog-card{display:flex;flex-direction:column;gap:8px;padding:22px;border-radius:var(--radius-lg);background:var(--surface);border:var(--card-border);box-shadow:var(--shadow);transition:.16s}
.blog-card:hover{transform:translateY(-3px);border-color:var(--accent)}
.blog-card .doc-badge{align-self:flex-start;font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--accent);background:var(--accent-tint);padding:3px 9px;border-radius:6px;font-family:var(--font-display)}
.blog-card h3{font-size:18px;line-height:1.25}
.blog-card .bdate{font-size:12px;color:var(--ink-faint,var(--mut))}
.blog-card .bex{font-size:14px;color:var(--mut)}
.blog-card .go{margin-top:auto;font-size:13.5px;font-weight:700;color:var(--accent);display:inline-flex;align-items:center;gap:6px;font-family:var(--font-display)}
.blog-card .go svg{width:15px;height:15px}
.post{max-width:720px;margin:0 auto}
.post p{font-size:16.5px;color:var(--body);margin-bottom:16px;line-height:1.75}
.team-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
@media(max-width:760px){.team-grid{grid-template-columns:1fr}}
.team-card{padding:22px;border-radius:var(--radius-lg);background:var(--surface);border:var(--card-border);box-shadow:var(--shadow)}
.team-card .ava{display:inline-grid;place-items:center;width:52px;height:52px;border-radius:50%;background:var(--accent-tint);color:var(--accent-press);font-family:var(--font-display);font-weight:700;font-size:18px;margin-bottom:14px}
.team-card h3{font-size:17px}
.team-card .role{font-size:13px;color:var(--accent-press);font-weight:600;margin:3px 0 8px}
.team-card .bio{font-size:14px;color:var(--mut)}
/* Team roster (About page) */
.roster{border-top:1px solid var(--line-strong)}
.roster .rmeta{display:flex;align-items:center;gap:9px;padding:14px 2px;font-size:13px;color:var(--mut);border-bottom:1px solid var(--line)}
.roster .rdot{width:6px;height:6px;border-radius:50%;background:var(--accent);flex:none}
.rrow{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:22px;padding:22px 2px;border-bottom:1px solid var(--line)}
.rrow .rmono{width:54px;height:54px;border-radius:12px;display:grid;place-items:center;font-family:var(--font-display);font-weight:700;font-size:17px;color:var(--accent-press);background:var(--accent-tint);border:1px solid var(--line-strong);flex:none}
.rrow .rphoto{border-radius:50%;overflow:hidden;padding:0;background:var(--accent-tint)}
.rrow .rphoto img{width:100%;height:100%;object-fit:cover;display:block;border-radius:50%}
.rrow .rmain h3{font-size:18px}
.rrow .rrole{font-family:var(--font-display);font-weight:600;font-size:11.5px;letter-spacing:.09em;text-transform:uppercase;color:var(--accent-press);margin:5px 0 6px}
.rrow .rbio{color:var(--mut);font-size:14.5px}
.rrow .rlinked{display:inline-flex;align-items:center;gap:6px;margin-top:8px;font-size:13px;font-weight:600;color:var(--accent-press);text-decoration:none}
.rrow .rlinked:hover{text-decoration:underline}
.rrow .rlinked svg{color:#0a66c2;flex:none}
.rrow .rseal{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:500;color:var(--ink);white-space:nowrap}
.rrow .rseal svg{width:16px;height:16px;color:var(--accent);flex:none}
@media(max-width:640px){.rrow{grid-template-columns:auto 1fr;gap:16px}.rrow .rseal{grid-column:2;justify-self:start;margin-top:2px}}

/* ============ CHECKOUT ============ */
.checkout{display:grid;grid-template-columns:1.4fr .9fr;gap:24px;align-items:start;max-width:900px;margin:0 auto}
@media(max-width:760px){.checkout{grid-template-columns:1fr}}
.co-main{padding:24px}
.co-card{border:1px solid var(--line-strong);border-radius:var(--radius);padding:14px;min-height:52px;background:var(--surface-2)}
.co-err{color:#c0392b;font-size:13.5px;min-height:18px;margin-top:10px}
.co-note{font-size:12.5px;color:var(--mut);margin-top:12px}
.co-side{padding:22px;align-self:start}
.co-sumt{font-family:var(--font-display);font-weight:700;color:var(--ink);margin-bottom:14px}
.co-line{display:flex;justify-content:space-between;gap:12px;padding:9px 0;font-size:14.5px;border-bottom:1px solid var(--line-2,var(--line))}
.co-line.total{border-bottom:0;font-family:var(--font-display);color:var(--ink);font-size:16px;padding-top:12px}
/* one-time / membership toggle at checkout (colours follow the country accent) */
.co-toggle{display:grid;grid-template-columns:1fr 1fr;gap:5px;background:var(--surface-2);border:1px solid var(--line-strong);border-radius:13px;padding:5px;margin-bottom:20px}
.co-toggle button{font:inherit;border:0;background:none;cursor:pointer;border-radius:9px;padding:11px 8px;text-align:center;color:var(--mut);transition:.16s;display:flex;flex-direction:column;gap:2px}
.co-toggle button .tt{font-family:var(--font-display);font-weight:700;font-size:14px;color:inherit}
.co-toggle button .tp{font-size:12px;color:inherit;opacity:.85}
.co-toggle button[aria-selected="true"]{background:var(--surface);box-shadow:0 1px 3px rgba(0,0,0,.08);color:var(--ink)}
.co-toggle button[aria-selected="true"] .tp{color:var(--accent)}
.co-toggle button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.co-pane{display:none}.co-pane[data-show="1"]{display:block}
.mplan-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:14px}
.mplan-name{font-family:var(--font-display);font-weight:700;font-size:16px;color:var(--ink)}
.mplan-price{font-family:var(--font-display);font-weight:800;font-size:24px;color:var(--ink)}
.mplan-price small{font-size:12.5px;color:var(--mut);font-weight:600}
.mplan-benefits{list-style:none;margin:0 0 18px;padding:0;display:flex;flex-direction:column;gap:10px}
.mplan-benefits li{display:flex;gap:9px;font-size:14px;color:var(--body)}
.mplan-benefits li svg{width:16px;height:16px;color:var(--accent);flex:none;margin-top:2px}
