
/* ============================================================
   SHARED CHROME v1 — copied verbatim from regrep-shared-chrome-v1.html
   Do not restyle. Page-specific CSS begins after this block.
   ============================================================ */
:root{
  --bg:#FAF9F7;--surface:#FFFFFF;--ink:#1A1D21;--body-c:#4B5563;
  --blue:#2E6BE6;--blue-dark:#1D4FB8;--blue-light:#7AA4F0;
  --orange:#F97316;--orange-deep:#C2410C;
  --line:#E9E5DE;--line-strong:#8F8576;
  --valid:#12925F;--valid-deep:#0B6B45;--valid-b:#2FD08E;
  --head:'Poppins',sans-serif;--body-f:'Inter',sans-serif;--mono:'IBM Plex Mono',monospace;
  --wrap:1240px;
}
*{margin:0;padding:0;box-sizing:border-box}
[hidden]{display:none!important}
svg[aria-hidden][focusable="false"]{width:1.35em;height:1.35em;vertical-align:middle;flex:none}
html{scroll-behavior:smooth}
body{font-family:var(--body-f);color:var(--body-c);background:var(--bg);-webkit-font-smoothing:antialiased;line-height:1.6}
h1,h2,h3,h4{font-family:var(--head);color:var(--ink);letter-spacing:-0.015em;line-height:1.15}
a{color:inherit;text-decoration:none}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 28px}
.eyebrow{font-family:var(--head);font-weight:600;font-size:12.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--blue)}
:focus-visible{outline:2px solid var(--blue);outline-offset:2px;border-radius:3px}
.skip{position:absolute;left:-9999px;top:0;background:var(--ink);color:#fff;padding:10px 16px;z-index:200;border-radius:0 0 8px 0}
.skip:focus{left:0}
.btn{display:inline-flex;align-items:center;gap:9px;font-family:var(--head);font-weight:600;font-size:15px;padding:13px 26px;border-radius:999px;border:1.5px solid transparent;cursor:pointer;transition:transform .15s,background .15s,color .15s;white-space:nowrap}
.btn:hover{transform:translateY(-1px)}
.btn-dark{background:var(--ink);color:#fff}.btn-dark:hover{background:#000}
.btn-dark .arrow{color:#F9A56A}
.btn-outline{border-color:var(--ink);color:var(--ink)}.btn-outline:hover{background:var(--ink);color:#fff}
.btn-sm{padding:9px 18px;font-size:14px}
.txtlink{display:inline-flex;align-items:center;gap:6px;font-family:var(--head);font-weight:600;font-size:14.5px;color:var(--ink)}
.txtlink .arrow{color:var(--orange-deep);transition:transform .15s}
.txtlink:hover .arrow{transform:translateX(3px)}
.hdr{position:sticky;top:0;z-index:100;background:rgba(250,249,247,.85);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.hdr-in{display:flex;align-items:center;justify-content:space-between;height:78px;max-width:1440px;margin:0 auto;padding:0 48px;gap:36px}@media(max-width:1180px){.hdr-in{padding:0 32px;gap:24px}.nav-links{gap:24px}.hdr-r{gap:16px}}
.brand{display:flex;align-items:center;gap:10px}
.brand-logo{height:30px;width:auto;display:block}
.nav-links{display:flex;gap:36px;align-items:center;font-size:14.5px;font-weight:450;white-space:nowrap}
.nav-links a:hover{color:var(--ink)}
.hdr-r{display:flex;gap:22px;align-items:center}
.hdr-r .login{font-size:14.5px;font-weight:450}
.hamb{display:none;background:none;border:1.5px solid var(--line-strong);border-radius:8px;width:42px;height:42px;cursor:pointer;align-items:center;justify-content:center}
.hamb span{display:block;width:18px;height:2px;background:var(--ink);position:relative}
.hamb span::before,.hamb span::after{content:"";position:absolute;left:0;width:18px;height:2px;background:var(--ink)}
.hamb span::before{top:-6px}.hamb span::after{top:6px}
@media(max-width:1024px){.nav-links,.hdr-r .btn,.hdr-r .login{display:none}.hamb{display:flex}}
.mobnav{position:fixed;inset:70px 0 auto 0;background:var(--surface);border-bottom:1px solid var(--line);padding:20px 28px;flex-direction:column;gap:16px;display:none;z-index:99}
.mobnav.open{display:flex}
.mobnav .nav-links{display:flex;flex-direction:column;align-items:flex-start;gap:6px}
.mobnav a{font-size:16px;padding:6px 0}
.mobnav .btn{width:100%;justify-content:center}

/* ===== FOOTER CSS ===== */
.ftr{background:#15181C;color:#9AA1AC;padding:56px 0 30px;margin-top:80px}
.ftr .authority{display:flex;flex-wrap:wrap;gap:10px 14px;justify-content:center;padding-bottom:30px;border-bottom:1px solid #262A30;margin-bottom:34px}
.ftr .authority span{font-family:var(--mono);font-size:11px;letter-spacing:.08em;color:#9AA1AC;border:1px solid #2C3036;border-radius:6px;padding:5px 10px}
.ftr-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:36px;margin-bottom:36px}
.ftr-brand .brand{margin-bottom:14px}
.brand-logo-ftr{height:30px;width:auto;display:block}
.ftr-brand p{font-size:13px;line-height:1.7;max-width:320px;margin-bottom:16px}
.ftr-brand .addr{font-size:12.5px;line-height:1.7;color:#9AA1AC}
.ftr h3,.ftr h4{font-family:var(--head);font-weight:600;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:#fff;margin-bottom:14px}
.ftr ul{list-style:none}
.ftr li{margin-bottom:9px}
.ftr li a{font-size:13.5px;color:#9AA1AC}
.ftr li a:hover{color:#fff}
.ftr-discl{font-size:11.5px;line-height:1.7;color:#98A0AB;border-top:1px solid #262A30;padding-top:24px;margin-bottom:20px}
.ftr-bottom{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px;border-top:1px solid #262A30;padding-top:22px}
.ftr-lang{display:flex;gap:8px}
.ftr-lang a,.ftr-lang span{font-family:var(--mono);font-size:11.5px;letter-spacing:.04em;border:1px solid #2C3036;border-radius:6px;padding:4px 10px}.ftr-lang a{color:#9AA1AC}.ftr-lang span{color:#fff;border-color:#3A4048;background:#22262C}
.ftr-lang a:hover{color:#fff}
.ftr-social{display:flex;gap:12px}
.ftr-social a{width:32px;height:32px;border:1px solid #2C3036;border-radius:8px;display:flex;align-items:center;justify-content:center;color:#9AA1AC}
.ftr-social a:hover{color:#fff;border-color:#3A3F46}
.ftr-copy{font-size:12px;color:#98A0AB}
.ftr-access{font-size:11.5px;color:#98A0AB;margin-top:10px}
.ftr-access a{color:#9AA1AC;text-decoration:underline}
@media(max-width:900px){.ftr-grid{grid-template-columns:1fr 1fr}.ftr-brand{grid-column:1/-1}}
@media(max-width:520px){.ftr-grid{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* breadcrumbs — canonical band (chrome v1.1; all non-home indexable pages) */
.crumbs{border-bottom:1px solid var(--line);background:var(--surface)}
.crumbs ol{list-style:none;margin:0 auto;max-width:var(--wrap);padding:12px 28px;display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-family:var(--mono);font-size:12px;color:#656E7C}
.crumbs li{display:flex;align-items:center;gap:8px}
.crumbs li::after{content:"/";color:var(--line)}
.crumbs li:last-child::after{content:""}
.crumbs a{color:#656E7C}
.crumbs a:hover{color:var(--ink)}
.crumbs [aria-current]{color:var(--ink)}

/* ============================================================
   PAGE-SPECIFIC CSS — Public tool: Fixed Overheads Requirement (IFR Art. 13)
   Built on shared chrome tokens. Do not restyle chrome above.
   ============================================================ */
section{position:relative}
.band{padding:72px 0}
.band-tint{background:linear-gradient(180deg,#fff,#FCFBF9)}
.sec-head{text-align:center;max-width:700px;margin:0 auto 42px}
.sec-head .eyebrow{display:block;margin-bottom:14px}
.sec-head h2{font-size:clamp(27px,3.3vw,38px);font-weight:700;margin-bottom:14px}
.sec-head p{font-size:16.5px}

/* hero */
.thero{padding:58px 0 20px;overflow:hidden;position:relative}
.thero::after{content:"";position:absolute;top:-200px;right:-120px;width:760px;height:560px;background:radial-gradient(closest-side,rgba(46,107,230,.07),transparent 70%);pointer-events:none}
.thero .eyebrow{margin-bottom:16px}
.thero h1{font-size:clamp(34px,4.6vw,52px);font-weight:700;letter-spacing:-0.025em;margin-bottom:18px;max-width:17ch}
.thero .lead{font-size:clamp(16.5px,1.8vw,19px);max-width:58ch;margin-bottom:10px}
.thero .breadth{font-family:var(--mono);font-size:12.5px;color:#656E7C;letter-spacing:.02em}
.thero .breadth b{color:var(--ink);font-weight:600}

/* tool card */
.tool-wrap{padding:14px 0 8px}
.tool{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:30px;box-shadow:0 1px 0 rgba(20,24,28,.02),0 14px 40px -28px rgba(20,24,28,.35)}
.tool-h{display:flex;align-items:baseline;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:6px}
.tool-h h2{font-size:21px;font-weight:600}
.tool-h .priv{font-family:var(--mono);font-size:11.5px;color:var(--valid-deep);background:rgba(18,146,95,.07);border-radius:999px;padding:5px 12px;white-space:nowrap}
.tool-sub{font-size:14.5px;margin-bottom:22px;max-width:70ch}

.fgrid{display:grid;grid-template-columns:1fr 1fr;gap:18px 26px;margin-bottom:8px}
.fld label{display:block;font-family:var(--head);font-weight:600;font-size:13.5px;color:var(--ink);margin-bottom:6px}
.fld .hint{display:block;font-weight:400;font-family:var(--body-f);font-size:12.5px;color:#6B7280;margin-top:3px;line-height:1.45}
.fld input,.fld select{width:100%;font-family:var(--mono);font-size:15px;color:var(--ink);background:#fff;border:1.5px solid var(--line);border-radius:10px;padding:11px 13px;transition:border-color .15s}.fld{display:flex;flex-direction:column;height:100%}.fld label{margin-bottom:6px}.fld select,.fld input{margin-top:auto}
.fld input:focus,.fld select:focus{border-color:var(--blue);outline:none}
.fld input::placeholder{color:#B4B8BF}

.ded-head{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin:30px 0 4px;padding-top:24px;border-top:1px solid var(--line)}
.ded-head h3{font-size:16.5px;font-weight:600}
.ded-head .note{font-size:13px;color:#6B7280}
.ded{display:grid;grid-template-columns:1fr 190px;gap:10px 20px;align-items:start;padding:13px 0;border-bottom:1px solid #F2EFEA}
.ded:last-of-type{border-bottom:none}
.ded .lbl{font-size:14.5px;color:var(--ink);font-weight:500}
.ded .art{display:block;font-family:var(--mono);font-size:11.5px;color:#5A6270;margin-top:2px}
.ded .cond{display:block;font-size:12.5px;color:#6B7280;margin-top:5px;line-height:1.5;max-width:64ch}
.ded input{width:100%;font-family:var(--mono);font-size:14.5px;text-align:right;border:1.5px solid var(--line);border-radius:9px;padding:9px 12px;background:#fff}
.ded input:focus{border-color:var(--blue);outline:none}

.tool-act{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-top:26px;padding-top:22px;border-top:1px solid var(--line)}
.tool-act .reset{font-family:var(--head);font-weight:600;font-size:14px;color:#6B7280;background:none;border:none;cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.tool-act .reset:hover{color:var(--ink)}

/* result */
.res{margin-top:26px;border:1.5px solid var(--line);border-radius:14px;overflow:hidden}
.res[hidden]{display:none}
.res-top{background:linear-gradient(180deg,#F7FBF9,#FFFFFF);border-bottom:1px solid var(--line);padding:24px 26px}
.res-top .rk{font-family:var(--mono);font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--valid-deep);margin-bottom:8px}
.res-top .rv{font-family:var(--head);font-weight:700;font-size:clamp(30px,4.4vw,42px);color:var(--ink);letter-spacing:-0.02em;line-height:1.1}
.res-top .rv small{font-family:var(--body-f);font-weight:400;font-size:15px;color:#6B7280;letter-spacing:0}
.res-top .rnote{font-size:13.5px;color:#6B7280;margin-top:8px}
.wf{padding:6px 26px 20px}
.wf-row{display:flex;align-items:baseline;justify-content:space-between;gap:18px;padding:11px 0;border-bottom:1px solid #F2EFEA;font-size:14.5px}
.wf-row:last-child{border-bottom:none}
.wf-row .wl{color:var(--body-c)}
.wf-row .wl b{color:var(--ink);font-weight:600}
.wf-row .wv{font-family:var(--mono);font-size:14.5px;color:var(--ink);white-space:nowrap}
.wf-row.sub .wl{padding-left:16px;color:#6B7280;font-size:13.5px}
.wf-row.tot{border-top:1.5px solid var(--line);border-bottom:none;margin-top:4px;padding-top:14px}
.wf-row.tot .wl b{font-size:15.5px}
.wf-row.tot .wv{font-weight:600;font-size:16px}

/* flags */
.flags{padding:0 26px 24px}
.flag{display:flex;gap:12px;align-items:flex-start;background:#FFF8F1;border:1px solid #F6D9BC;border-left:3px solid var(--orange);border-radius:10px;padding:13px 16px;margin-top:10px}
.flag .fi{font-family:var(--head);font-weight:700;color:var(--orange-deep);font-size:14px;line-height:1.5;flex:none}
.flag p{font-size:13.5px;color:#5A4632;line-height:1.55}
.flag p b{color:#3D2E20}
.flag.ok{background:#F4FBF8;border-color:#BDE6D4;border-left-color:var(--valid)}
.flag.ok .fi{color:var(--valid-deep)}
.flag.ok p{color:#2F5147}
.flag.ok p b{color:#1D3B33}

.means{background:#F6F8FC;border:1px solid #DDE6F6;border-radius:12px;padding:16px 18px;margin-top:22px;font-size:14px;color:#3F4A5C;line-height:1.6}
.means b{color:var(--ink)}

/* inline upsell */
.upsell{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;background:var(--ink);color:#fff;border-radius:14px;padding:20px 26px;margin-top:24px}
.upsell p{font-size:15px;color:#D8DCE2;max-width:60ch}
.upsell p b{color:#fff;font-weight:600}

/* scope two-column */
.scope-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px;max-width:1000px;margin:0 auto}
.scope-col{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:26px 28px}
.scope-col h3{font-size:17px;font-weight:600;margin-bottom:4px}
.scope-col h3 span{display:block;font-family:var(--mono);font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;margin-bottom:9px}
.scope-col.yes h3 span{color:var(--valid-deep)}
.scope-col.no h3 span{color:var(--orange-deep)}
.scope-col ul{list-style:none;margin-top:14px}
.scope-col li{position:relative;padding-left:26px;font-size:14.5px;margin-bottom:12px;line-height:1.55}
.scope-col li::before{position:absolute;left:0;top:0;font-family:var(--head);font-weight:700;font-size:14px}
.scope-col.yes li::before{content:"\2713";color:var(--valid)}
.scope-col.no li::before{content:"\2715";color:var(--orange-deep)}

/* related */
.rel{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:28px 30px;max-width:1000px;margin:34px auto 0;display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap}
.rel h3{font-size:18px;font-weight:600;margin-bottom:7px}
.rel p{font-size:14.5px;max-width:62ch}

/* chain */
.chain{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;max-width:1000px;margin:0 auto}
.chain-c{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:20px 22px}
.chain-c .cn{font-family:var(--mono);font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--blue);margin-bottom:8px}
.chain-c h3{font-size:16px;font-weight:600;margin-bottom:6px}
.chain-c p{font-size:13.5px;line-height:1.55}

/* privacy */
.priv-band{max-width:820px;margin:0 auto;text-align:center}
.priv-band h2{font-size:clamp(24px,3vw,32px);font-weight:700;margin-bottom:14px}
.priv-band p{font-size:16px;margin-bottom:12px}

/* faq */
.faq{max-width:840px;margin:0 auto}
.faq details{border-bottom:1px solid var(--line);padding:20px 0}
.faq summary{font-family:var(--head);font-weight:600;font-size:16.5px;color:var(--ink);cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:18px;align-items:flex-start}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-size:22px;color:var(--blue);line-height:1;flex:none}
.faq details[open] summary::after{content:"\2212"}
.faq details p{margin-top:12px;font-size:15px;max-width:72ch}

/* closing cta */
.cta-band{background:var(--ink);color:#fff;padding:74px 0;text-align:center}
.cta-band h2{color:#fff;font-size:clamp(26px,3.4vw,38px);font-weight:700;margin-bottom:14px}
.cta-band p{color:#C9CFD7;font-size:16.5px;max-width:60ch;margin:0 auto 28px}
.cta-band .btn-light{background:#fff;color:var(--ink)}
.cta-band .btn-light:hover{background:#F1F1F1}
.cta-band .btn-ghost{border-color:#4A5058;color:#fff}
.cta-band .btn-ghost:hover{background:#fff;color:var(--ink)}
.cta-row{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}
.cta-band .reassure{font-family:var(--mono);font-size:12.5px;color:#8B939D;margin-top:20px}

.asat{font-family:var(--mono);font-size:12px;color:#5A6270;text-align:center;margin-top:34px}
.asat b{color:#6B7280;font-weight:600}

@media(max-width:900px){
  .fgrid{grid-template-columns:1fr}
  .scope-grid{grid-template-columns:1fr}
  .chain{grid-template-columns:1fr}
  .ded{grid-template-columns:1fr}
  .ded input{text-align:left}
  .tool{padding:22px 18px}
  .upsell,.rel{flex-direction:column;align-items:flex-start}
}
/* R88a: translated nav labels are wider than the English ones and the row does not fit until roughly 1445px. Collapse to the burger earlier on localised pages rather than letting the header overflow the viewport. */@media(max-width:1200px){.nav-links,.hdr-r .btn,.hdr-r .login{display:none}.hamb{display:flex}}/* R90a: graduated header — shed the demo button, then login, before collapsing. */@media(max-width:1280px){.hdr-r .btn-outline{display:none}}@media(max-width:1140px){.hdr-r .login{display:none}}@media(max-width:1060px){.nav-links{gap:18px;font-size:14px}}/* R91a: contrast — citation labels, footer links, hub link, free-no cells. */.art{color:#5A6270}.tools-all,.rtools-free a,a.tools-all{color:#4A5260}.free-no{color:#6A5250}.ftr a,.ftr-links a,.ftr-col a{color:#B9C0CA}.lab{color:#D5DAE2}/* R93a: compound-noun overflow. Dutch and German headings routinely exceed the container at every width (e.g. 'cryptoactivadiensten'), so break long words generically rather than shortening headings page by page. */h1,h2,h3,.chero h1{overflow-wrap:break-word}h1:lang(de),h2:lang(de),h3:lang(de),h1:lang(nl),h2:lang(nl),h3:lang(nl){hyphens:auto}/* R89a: grid and flex children default to min-width:auto, so long unbroken strings force the track wider than the viewport. Longer German and Dutch labels expose it first. */.ctas>*,.fc-ctas>*,.finalcta-ctas>*,.rel>*,.modgrid>*,.ra-grid>*,.hero-in>*,.chero-in>*,.pillars>*,.cline>*,.tmpl-body>*{min-width:0}