/* ROVENQA — design system. System fonts only (no external deps).
   One coherent brand language: Navy / Teal / Mint, continuous surfaces, restrained chrome.
   Principle: use structure, typography, whitespace and continuous surfaces before reaching for a card. */
:root{
  /* brand palette (official) */
  --navy:#0B2A3B; --teal:#0E7C7B; --teal-d:#0a5f5e; --mint:#7FD1C1;
  --lightmint:#D9EFE8; --offwhite:#F8FAF9;
  /* neutrals (slight teal/navy bias — chosen, not default grey) */
  --bg:#F6F8F8; --surface:#ffffff; --surface-2:#eef4f2;
  --ink:#0B2A3B; --ink-2:#06202c; --ink-soft:#28414f;
  --muted:#54697a; --muted-2:#7c909e;
  --line:#e1e8e8; --line-2:#edf1f1;
  /* accent + semantic */
  --accent:#0E7C7B; --accent-d:#0a5f5e; --accent-soft:#e2f0eb;
  --ok:#1a7f5a; --ok-bg:#e8f4ee; --warn:#8a5600; --warn-bg:#fbf1dd;
  --danger:#b4232a; --danger-bg:#fbe9ea;
  --radius:12px; --radius-sm:8px;
  --shadow:0 1px 2px rgba(11,42,59,.05),0 12px 30px rgba(11,42,59,.07);
  --shadow-sm:0 1px 2px rgba(11,42,59,.06);
  --maxw:1120px; --gutter:20px;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,"Noto Sans",sans-serif;
  line-height:1.6;font-size:16px;-webkit-font-smoothing:antialiased;overflow-wrap:break-word}
a{color:var(--accent);text-decoration:none}
a:hover{color:var(--accent-d);text-decoration:underline}
img,svg{max-width:100%}
.container{max-width:var(--maxw);margin:0 auto;padding:0 var(--gutter)}
h1,h2,h3{line-height:1.18;color:var(--ink);text-wrap:balance;margin:0}
h1{font-size:clamp(2rem,1.3rem + 3.2vw,3rem);letter-spacing:-.02em;font-weight:800}
h2{font-size:clamp(1.45rem,1.1rem + 1.3vw,2rem);letter-spacing:-.01em;font-weight:700}
h3{font-size:1.1rem;font-weight:700}
p{margin:.6em 0}
small,.muted{color:var(--muted)}
:focus-visible{outline:3px solid #9fd3c9;outline-offset:2px;border-radius:4px}
.eyebrow{display:inline-block;font-size:.76rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--accent)}

/* ---------- header / nav (dark brand zone — accepted reference) ---------- */
.site-header{background:#0B2A3B;position:sticky;top:0;z-index:50;border-bottom:1px solid rgba(255,255,255,.08)}
.home .site-header{border-bottom:none}          /* merge seamlessly into the hero on the homepage */
.hdr{display:flex;align-items:center;justify-content:space-between;gap:10px 16px;min-height:58px;flex-wrap:wrap}
/* brand lockup: R mark + wordmark read as ONE mark */
.brand{color:#fff;font-weight:800;font-size:1.16rem;letter-spacing:.04em;display:inline-flex;align-items:center;gap:10px}
.brand:hover{text-decoration:none;color:#fff}
.nav{display:flex;align-items:center;gap:6px 16px;flex-wrap:wrap}
.nav-links{display:flex;gap:0;align-items:center;flex-wrap:wrap}
.nav-links a{color:#c3d3e2;font-size:.92rem;font-weight:600;padding:6px 14px}
.nav-links a:hover{color:#7FD1C1;text-decoration:none}
.lang{display:inline-flex;align-items:center;gap:1px;padding-left:12px;margin-left:4px}
.lang a{min-width:34px;text-align:center;padding:7px 7px;font-size:.78rem;font-weight:700;letter-spacing:.04em;
  color:#8298ac;border-radius:7px}
.lang a:hover{color:#fff;text-decoration:none}
.lang a.on{color:#06202c;background:#7FD1C1}

/* ---------- main / section rhythm ---------- */
.main{padding:30px var(--gutter) 24px;min-height:55vh}
.section{margin:52px 0}
.section:first-child{margin-top:0}
.sec-head{max-width:64ch;margin:0 0 22px}
.sec-head .eyebrow{margin-bottom:6px}
.sec-head h2{margin-top:2px}
.lead{color:var(--muted);font-size:1.08rem;max-width:62ch;margin:.5em 0 0}
.rule{border:0;border-top:1px solid var(--line);margin:40px 0}       /* fine divider between sections */
/* subtle tinted band — spans the full content width (gutter-matched, no radius, no box) */
.band{background:var(--surface-2);margin:52px calc(-1 * var(--gutter));
  padding:clamp(30px,2rem + 2vw,46px) var(--gutter)}
.band-inner{max-width:var(--maxw);margin:0 auto}
.anchor-ctas{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}

/* ---------- buttons (one consistent system) ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid transparent;
  border-radius:10px;padding:12px 20px;font-size:.98rem;font-weight:700;cursor:pointer;
  background:var(--ink);color:#fff;transition:background .15s,transform .05s,box-shadow .15s;line-height:1.2}
.btn:hover{background:var(--ink-2);color:#fff;text-decoration:none}
.btn:active{transform:translateY(1px)}
.btn-accent{background:var(--accent);border-color:var(--accent)}
.btn-accent:hover{background:var(--accent-d);color:#fff}
/* primary CTA for the dark brand zone (mint on navy — clearly interactive, high contrast) */
.btn-cta{background:#7FD1C1;color:#06202c;border-color:#7FD1C1}
.btn-cta:hover{background:#9fe0d4;color:#06202c}
.btn-lg{padding:14px 26px;font-size:1.03rem}
.btn-outline{background:transparent;color:var(--accent);border-color:#cfe0db}
.btn-outline:hover{background:var(--accent-soft);color:var(--accent-d)}
.btn-ghost{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.45);color:#fff}
.btn-ghost:hover{background:rgba(255,255,255,.16);color:#fff}
.btn-sm{padding:8px 13px;font-size:.86rem;border-radius:8px}
.btn[disabled],.btn:disabled{opacity:.55;cursor:not-allowed}
.btn-block{width:100%}
.textlink{font-weight:700;color:var(--accent)}
.textlink:hover{color:var(--accent-d)}
/* small spacing utilities (CSP-safe replacements for inline margins) */
.mt-1{margin-top:8px}.mt-2{margin-top:18px}
.lead + .checklist{margin-top:18px}

/* ---------- homepage brand zone: header + hero as one continuous navy surface (accepted) ---------- */
.brandzone{position:relative;overflow:hidden;color:#fff;
  background:radial-gradient(130% 150% at 80% 8%,#164c54 0%,#0f3340 32%,#0B2A3B 68%)}
.brandzone-inner{position:relative;z-index:2;
  padding-top:clamp(26px,1.4rem + 4vw,60px);padding-bottom:clamp(30px,2rem + 3vw,60px)}
.brandzone .hero-copy{max-width:600px}
.brandzone .eyebrow{color:#7FD1C1}
.brandzone h1{color:#fff;max-width:17ch;margin-top:12px}
.brandzone .hero-sub{color:#d2dde9;max-width:46ch;font-size:1.1rem;margin-top:14px}
.brandzone .cta-row{margin-top:24px;display:flex;gap:12px;flex-wrap:wrap}
.brandzone .hero-fineprint{margin-top:16px;color:#a7bccd;font-size:.82rem;max-width:46ch}
.brandzone-art{position:absolute;top:50%;right:-3%;width:min(62%,720px);transform:translateY(-50%);
  z-index:1;pointer-events:none;user-select:none}
.brandzone-art,.brandzone-art img{display:block;width:100%;height:auto}

/* ---------- sub-page hero: same brand language, lighter; approved visual emerges from navy ---------- */
.subhero{background:linear-gradient(168deg,#123c46 0%,#0B2A3B 72%)}
.subhero .brandzone-inner{padding-top:clamp(24px,1.3rem + 3vw,46px);padding-bottom:clamp(14px,1rem + 1.4vw,24px)}
.subhero .hero-copy{max-width:640px}
.subhero h1{max-width:20ch}
.subhero .hero-sub{max-width:60ch}
.subhero-visual{max-width:1040px;margin:0 auto;line-height:0;position:relative}
.subhero-visual img{display:block;width:100%;height:auto;
  -webkit-mask:linear-gradient(180deg,transparent 0,#000 22%,#000 100%);
          mask:linear-gradient(180deg,transparent 0,#000 22%,#000 100%)}
/* path/river visual carries a process marker at the very top edge — show it in full
   (no top feather would clip it); keep it flush & full-width (no card), gentle bottom only */
.subhero-visual--path img{-webkit-mask:none;mask:none}

/* ---------- de-carded content components ---------- */
/* status / trust line (replaces the big status card) */
/* single status note component (sitewide): calm, centred, NO bullet and no reserved dot column;
   balanced wrapping keeps it off a lone final word on mobile */
.statusnote{text-align:center;max-width:42ch;margin:6px auto 28px;color:var(--muted);font-weight:600;
  line-height:1.55;text-wrap:balance;font-size:clamp(.86rem,.8rem + .3vw,.95rem)}
/* standalone teal section divider between the status note and the following content —
   truly centred via auto side margins on a fixed-size block (no bullet, flex, halo or line) */
.status-divider{display:flex;justify-content:center;align-items:center;gap:8px;margin:22px 0 30px}
.status-divider i{width:6px;height:6px;border-radius:50%;background:var(--teal);flex:0 0 auto}

/* two audience pathways on one surface (homepage) — not two cards */
.pathways{display:grid;grid-template-columns:1fr 1fr}
.pathway{padding:28px 32px}
.pathways .pathway + .pathway{border-left:1px solid var(--line)}
.pathway .fic,.feature .fic{width:44px;height:44px;border-radius:12px;background:var(--accent-soft);color:var(--accent);
  display:flex;align-items:center;justify-content:center;margin-bottom:12px;flex:0 0 auto}
.pathway h3{font-size:1.14rem;margin-bottom:6px}
.pathway p{color:var(--muted);margin:0 0 14px}

/* editorial info deck (fine top dividers instead of boxes) */
.deck{display:grid;grid-template-columns:1fr 1fr;gap:30px 48px}
.deck .item{min-width:0}
.deck .item h3{font-size:1.08rem;margin-bottom:6px;padding-top:16px;border-top:1px solid var(--line)}
.deck .item p{margin:0;color:var(--muted)}

/* features with inline icons (no card) */
.features{display:grid;gap:26px 44px}
.features.cols-2{grid-template-columns:1fr 1fr}
.feature{display:grid;grid-template-columns:auto 1fr;gap:4px 16px;align-items:start}
.feature .fic{grid-row:span 2;margin-bottom:0}
.feature h3{margin:2px 0 2px;font-size:1.06rem}
.feature p{margin:0;color:var(--muted)}

/* clean checklist (replaces trust / benefit cards) */
.checklist{list-style:none;padding:0;margin:0;display:grid;gap:13px}
.checklist.cols-2{grid-template-columns:1fr 1fr;gap:13px 40px}
.checklist li{display:flex;gap:11px;align-items:flex-start;color:var(--ink)}
.checklist .tk{color:var(--teal);flex:0 0 auto;margin-top:1px;font-weight:800}

/* safeguard / "important" note — distinct, but not a generic white card */
.safeguard{background:var(--lightmint);border-left:3px solid var(--teal);
  border-radius:0 var(--radius) var(--radius) 0;padding:20px 24px;margin:0}
.safeguard h3{color:var(--teal-d);margin-bottom:6px}
.safeguard p{margin:0;color:var(--ink-soft)}
.safeguard .checklist{margin-top:10px}

/* process flow / timeline (homepage compact + how-it-works full) */
.flowline{display:grid;grid-template-columns:repeat(4,1fr);position:relative;gap:0;list-style:none;margin:0;padding:0}
.flowline::before{content:"";position:absolute;top:19px;left:13%;right:13%;height:2px;background:var(--line);z-index:1}
.fstep{position:relative;padding:0 16px;text-align:center}
.fstep .fn{width:38px;height:38px;border-radius:50%;background:var(--navy);color:#fff;
  display:flex;align-items:center;justify-content:center;font-weight:800;margin:0 auto 14px;position:relative;z-index:2}
.fstep h3{font-size:1.02rem;margin:0 0 4px}
.fstep p{font-size:.92rem;color:var(--muted);margin:0}
.flowline.compact{margin-top:6px}
.flowline.compact .fstep{padding:0 10px}
.flowline.compact .fn{width:32px;height:32px;margin-bottom:10px;font-size:.9rem}
.flowline.compact .fstep p{display:none}

/* ---------- cards (kept for admin / legal / claim / confirm surfaces) ---------- */
.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);
  box-shadow:var(--shadow-sm);padding:24px;margin-bottom:18px}
.grid{display:grid;gap:18px}
.grid-2{grid-template-columns:1fr 1fr}
.grid-3{grid-template-columns:repeat(3,1fr)}
.grid-4{grid-template-columns:repeat(4,1fr)}

/* form panel: one defined surface for the long buyer/claim forms (no card-in-card) */
.formpanel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);
  box-shadow:var(--shadow-sm);padding:clamp(20px,1rem + 2vw,32px)}
.split{display:grid;grid-template-columns:2fr 1fr;gap:28px;align-items:start}
.aside-block{margin-bottom:26px}
.aside-block h3{font-size:1rem;margin-bottom:10px}
.aside-block p{color:var(--muted);margin:0}

/* ---------- forms ---------- */
form .field{margin-bottom:16px}
label{display:block;font-weight:600;font-size:.92rem;margin-bottom:6px;color:var(--ink-soft)}
.req{color:var(--danger)}
input[type=text],input[type=email],input[type=tel],input[type=number],input[type=date],
input[type=password],input[type=url],select,textarea{
  width:100%;max-width:100%;padding:12px 13px;border:1px solid var(--line);border-radius:10px;font-size:1rem;
  background:var(--surface);color:var(--ink);font-family:inherit;transition:border-color .15s,box-shadow .15s}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}
textarea{min-height:92px;resize:vertical}
.help{font-size:.82rem;color:var(--muted);margin-top:5px}
.check{display:flex;gap:10px;align-items:flex-start;font-weight:500}
.check input{width:auto;margin-top:4px;flex:0 0 auto;min-width:18px;min-height:18px}
.check label{font-weight:500;color:var(--ink)}
.errors{color:var(--danger);font-size:.85rem;margin-top:4px}
fieldset{border:0;padding:0;margin:0}
.form-section{font-size:.78rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;
  color:var(--teal-d);margin:26px 0 12px;padding-bottom:8px;border-bottom:1px solid var(--line-2)}
.form-section:first-child{margin-top:0}

/* ---------- stepper / wizard (claim form) ---------- */
.stepper{display:flex;gap:8px;flex-wrap:wrap;margin:6px 0 22px}
.stepper .s{flex:1 1 0;min-width:84px;padding:9px 10px;border-radius:9px;background:var(--surface-2);
  color:var(--muted);font-size:.8rem;font-weight:700;text-align:center;border:1px solid var(--line)}
.stepper .s.active{background:var(--ink);color:#fff;border-color:var(--ink)}
.stepper .s.done{background:var(--accent-soft);color:var(--accent-d);border-color:#cfe6df}
.wizard .panel{display:none}
.wizard .panel.show{display:block}
.no-js .wizard .panel{display:block}
.no-js .stepper,.no-js .wizard-nav{display:none}
.wizard-nav{display:flex;justify-content:space-between;margin-top:10px;gap:10px}

/* ---------- seller claim-intake preview (pre-launch) ---------- */
.intake-wrap{max-width:760px;margin:0 auto}
.intake .panel{display:none}
.intake .panel.show{display:block}
.intake .panel h2{font-size:1.2rem;margin-bottom:16px}
.no-js .intake .panel{display:block;margin-bottom:22px}
.no-js .intake .wizard-nav{display:none}
.uploadbox{border:1px dashed #bcd0ca;border-radius:var(--radius);background:var(--surface-2);
  padding:22px;text-align:center;margin-top:18px}
.uploadbox strong{display:block;color:var(--ink-soft)}
.uploadbox p{margin:.4em 0 0}
.summary{display:grid;grid-template-columns:minmax(140px,.9fr) 1.4fr;gap:8px 20px;margin:10px 0 0;font-size:.95rem}
.summary dt{color:var(--muted);font-weight:600}
.summary dd{margin:0;color:var(--ink)}
.processlist{margin:10px 0 0;padding-left:1.25em}
.processlist li{margin-bottom:7px;color:var(--ink-soft)}
.prelaunch{display:none}
.prelaunch.show,.no-js .prelaunch{display:block}
.lock{background:var(--lightmint);border-radius:var(--radius);text-align:center;max-width:620px;margin:6px auto;
  padding:clamp(24px,1.5rem + 2vw,36px)}
.lock h2{color:var(--teal-d);margin-bottom:8px}
.lock p{color:var(--ink-soft);max-width:52ch;margin:0 auto 18px}
/* prominent-but-calm pre-launch hint above the preview steps */
.prelaunch-hint{background:var(--lightmint);color:var(--teal-d);border-radius:var(--radius);
  padding:14px 18px;margin:0 auto 26px;max-width:640px;text-align:center;
  font-size:1rem;font-weight:600;line-height:1.5;text-wrap:balance}
/* pre-launch confirmation modal (final submit click in closed preview) */
body.modal-open{overflow:hidden}
.modal{position:fixed;inset:0;z-index:100;display:none;align-items:center;justify-content:center;padding:20px}
.modal.open{display:flex}
.modal-overlay{position:absolute;inset:0;background:rgba(6,32,44,.55)}
.modal-box{position:relative;z-index:1;width:100%;max-width:440px;background:var(--surface);
  border-radius:var(--radius);padding:clamp(22px,1.4rem + 2vw,32px);text-align:center;
  box-shadow:0 22px 60px rgba(6,32,44,.35)}
.modal-box h2{font-size:1.25rem;color:var(--navy);margin-bottom:10px}
.modal-box p{color:var(--ink-soft);max-width:40ch;margin:0 auto 20px}
.modal-box .btn{min-width:170px}

/* ---------- tables (admin) ---------- */
table{width:100%;border-collapse:collapse;font-size:.92rem}
th,td{text-align:left;padding:11px 12px;border-bottom:1px solid var(--line-2);vertical-align:top}
th{color:var(--muted);font-size:.78rem;text-transform:uppercase;letter-spacing:.03em}
tbody tr:hover{background:var(--surface-2)}
.num{font-variant-numeric:tabular-nums}

/* ---------- badges / flash ---------- */
.badge{display:inline-block;padding:2px 10px;border-radius:999px;font-size:.74rem;font-weight:700;
  background:var(--line-2);color:var(--muted);border:1px solid var(--line)}
.badge-demo{background:#fbf1dd;color:#8a5600;border-color:#f0dca6}
.badge-ok{background:var(--ok-bg);color:var(--ok);border-color:#bfe3d1}
.badge-warn{background:var(--warn-bg);color:var(--warn);border-color:#f0d9a8}
.badge-info{background:var(--accent-soft);color:var(--accent-d);border-color:#cfe6df}
.flash{padding:12px 16px;border-radius:10px;margin-bottom:16px;font-weight:600;border:1px solid}
.flash-error{background:var(--danger-bg);color:var(--danger);border-color:#f0c2c4}
.flash-ok{background:var(--ok-bg);color:var(--ok);border-color:#bfe3d1}

/* ---------- admin detail ---------- */
.dl{display:grid;grid-template-columns:210px 1fr;gap:6px 16px;font-size:.93rem}
.dl dt{color:var(--muted);font-weight:600}
.dl dd{margin:0}
.toolbar{display:flex;gap:10px;flex-wrap:wrap;align-items:end;margin-bottom:16px}
.toolbar .field{margin:0}

/* ---------- footer ---------- */
.site-footer{background:var(--ink-2);color:#9fb0c4;padding:44px 0 30px;margin-top:64px}
.footer-top{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:28px;margin-bottom:24px}
.footer-brand .brand{color:#fff}
.footer-brand p{color:#8ea3bd;font-size:.9rem;max-width:40ch;margin:10px 0}
.footer-col h4{color:#cdd8e6;font-size:.78rem;text-transform:uppercase;letter-spacing:.1em;margin:0 0 10px}
.footer-col a,.footer-col span{display:block;color:#9fb0c4;font-size:.9rem;margin-bottom:7px}
.footer-col a:hover{color:#fff}
.site-footer .disclaimer{font-size:.8rem;color:#7b8ca0;border-top:1px solid #1d3047;padding-top:18px;max-width:100%;line-height:1.55}
.footer-legal{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:14px;font-size:.85rem;color:#7b8ca0}

/* brand mark */
.brand-icon{width:30px;height:30px;border-radius:8px;display:inline-block;vertical-align:middle;flex:0 0 auto}
.footer-brand .brand-icon{width:26px;height:26px}

/* ---------- responsive ---------- */
@media (max-width:900px){
  /* footer: brand on its own top row, then the two link sections aligned side by side
     (company left, platform right) so UNTERNEHMEN and PLATTFORM headings share a baseline */
  .footer-top{grid-template-columns:1fr 1fr}
  .footer-brand{grid-column:1 / -1}
  .footer-top > .footer-col:nth-of-type(2){grid-column:2;grid-row:2}
  .footer-top > .footer-col:nth-of-type(3){grid-column:1;grid-row:2}
  .deck{gap:26px 36px}
}
@media (max-width:760px){
  /* header: one centered composition (accepted) */
  .hdr{flex-direction:column;align-items:center;gap:11px;padding:13px 0;min-height:auto}
  .brand{justify-content:center}
  .nav{flex-direction:column;align-items:center;gap:11px;width:100%}
  .nav-links{justify-content:center}
  .lang{border-left:none;padding-left:0;margin-left:0}
  /* hero copy centered on mobile */
  .brandzone .hero-copy{max-width:100%;text-align:center}
  .brandzone h1{margin-left:auto;margin-right:auto}
  .brandzone .hero-sub{margin-left:auto;margin-right:auto;max-width:40ch}
  .brandzone .hero-fineprint{margin-left:auto;margin-right:auto;max-width:42ch}
  .brandzone .cta-row{justify-content:center}
  /* homepage bleeding art */
  .home .brandzone-art{top:auto;bottom:0;right:-8%;left:-8%;width:116%;transform:none}
  .home .brandzone-inner{padding-bottom:140px}
  /* consistent centered page axis for section intros, status, CTAs, process */
  .grid-2,.grid-3,.grid-4{grid-template-columns:1fr}
  .deck{grid-template-columns:1fr;gap:0}
  .deck .item h3{padding-top:20px;margin-top:20px}
  .deck .item:first-child h3{margin-top:0}
  .features.cols-2{grid-template-columns:1fr}
  .checklist.cols-2{grid-template-columns:1fr}
  .summary{grid-template-columns:1fr;gap:2px 0}
  .summary dt{margin-top:9px}
  .split{grid-template-columns:1fr}
  .dl{grid-template-columns:1fr}
  .dl dt{margin-top:8px}
  .sec-head{text-align:center;margin-left:auto;margin-right:auto}
  .sec-head .lead,.lead{margin-left:auto;margin-right:auto}
  .anchor-ctas,.cta-row{justify-content:center}
  .pathways{grid-template-columns:1fr}
  .pathways .pathway + .pathway{border-left:0;border-top:1px solid var(--line)}
  .pathway{text-align:center;padding:26px 8px}
  .pathway .fic{margin-left:auto;margin-right:auto}
  .feature{text-align:center;grid-template-columns:1fr;justify-items:center;gap:6px}
  .feature .fic{grid-row:auto}
  .feature p{max-width:52ch}
  /* process → vertical timeline, order stays obvious */
  .flowline{grid-template-columns:1fr;gap:0}
  .flowline::before{display:none}
  .fstep{position:relative;text-align:left;display:grid;grid-template-columns:38px 1fr;column-gap:16px;row-gap:2px;
    padding:0 0 26px 0;align-items:start}
  .fstep .fn{margin:0}
  .fstep::before{content:"";position:absolute;left:18px;top:44px;bottom:0;width:2px;background:var(--line)}
  .fstep:last-child{padding-bottom:0}
  .fstep:last-child::before{display:none}
  .fstep h3,.fstep p{grid-column:2;text-align:left}
  .flowline.compact .fstep{padding-bottom:18px}
  .safeguard{text-align:left}
}
@media (max-width:560px){
  :root{--gutter:16px}
  .main{padding:22px var(--gutter) 10px}
  .section{margin:38px 0}
  .nav-links a{padding:6px 11px;font-size:.92rem}
  .home .brandzone-art{width:124%;right:-12%;left:-12%}
  .home .brandzone-inner{padding-bottom:118px}
  .cta-row .btn,.anchor-ctas .btn{width:100%}
  .stepper .s{min-width:0;flex:1 1 40%}
  .band{padding:36px 0;margin:38px 0}
}

@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
