:root{
  --navy:#0f1e3d; --navy2:#16294f; --gold:#c8a24a; --gold2:#b6912f;
  --ink:#1a2233; --muted:#5b6577; --line:#e4e8ef; --bg:#f7f9fc; --white:#fff;
  --ok:#2f8f5b; --warn:#d19a1e; --bad:#c0492f; --maxw:1080px;
  --radius:12px; --shadow:0 6px 24px rgba(15,30,61,.08);
  --font:'Inter',system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:var(--font);color:var(--ink);background:var(--bg);line-height:1.65;font-size:17px}
a{color:var(--navy2);text-decoration:none}
a:hover{text-decoration:underline}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 20px}
h1,h2,h3{color:var(--navy);line-height:1.25;font-weight:700}
h1{font-size:2.1rem;margin:.2em 0 .5em}
h2{font-size:1.5rem;margin:1.8em 0 .5em}
h3{font-size:1.18rem;margin:1.4em 0 .4em}
p{margin:.7em 0}
ul,ol{margin:.6em 0 .6em 1.1em;padding:0}
li{margin:.3em 0}
table{border-collapse:collapse;width:100%;margin:1.2em 0;font-size:.96rem}
th,td{border:1px solid var(--line);padding:.55em .7em;text-align:left;vertical-align:top}
th{background:#eef2f8;color:var(--navy)}
code{background:#eef2f8;padding:.1em .35em;border-radius:5px;font-size:.9em}

/* header */
header.site{background:var(--navy);color:#fff;position:sticky;top:0;z-index:50;box-shadow:0 2px 12px rgba(0,0,0,.15)}
header.site .wrap{display:flex;align-items:center;gap:22px;height:64px}
.brand{font-weight:800;color:#fff;font-size:1.15rem;letter-spacing:.2px;white-space:nowrap}
.brand b{color:var(--gold)}
nav.main{display:flex;gap:18px;align-items:center;margin-left:auto;flex-wrap:wrap}
nav.main a{color:#dbe3f2;font-size:.95rem;font-weight:500}
nav.main a:hover{color:#fff;text-decoration:none}
nav.main a.cta{background:var(--gold);color:var(--navy);padding:.45em .9em;border-radius:8px;font-weight:700}
nav.main a.cta:hover{background:var(--gold2)}
.lang{color:#8fa0c2;font-size:.85rem}
.lang a{color:#dbe3f2;font-weight:600}
.menu-toggle{display:none;background:none;border:0;color:#fff;font-size:1.5rem;cursor:pointer;margin-left:auto}

/* hero */
.hero{background:linear-gradient(135deg,var(--navy),var(--navy2));color:#fff;padding:60px 0 54px}
.hero h1{color:#fff;font-size:2.5rem;max-width:18em}
.hero p.lead{font-size:1.2rem;color:#cdd8ec;max-width:40em}
.deadline{display:inline-flex;gap:8px;align-items:center;background:rgba(200,162,74,.15);border:1px solid var(--gold);color:var(--gold);padding:.35em .8em;border-radius:20px;font-size:.85rem;font-weight:600;margin-bottom:18px}
.btn{display:inline-block;background:var(--gold);color:var(--navy);padding:.7em 1.4em;border-radius:9px;font-weight:700;margin:14px 10px 0 0;border:0;cursor:pointer;font-size:1rem}
.btn:hover{background:var(--gold2);text-decoration:none}
.btn.ghost{background:transparent;border:1.5px solid #cdd8ec;color:#fff}
.btn.ghost:hover{background:rgba(255,255,255,.1)}

/* content */
main{background:var(--white)}
.content{padding:44px 0 20px}
.content .wrap{max-width:820px}
article header h1{margin-top:0}
.meta-line{color:var(--muted);font-size:.9rem;margin-bottom:1.4em}
.card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px;margin:24px 0}
.card{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:20px;box-shadow:var(--shadow)}
.card h3{margin-top:0}
.callout{background:#eef2f8;border-left:4px solid var(--gold);padding:14px 18px;border-radius:0 8px 8px 0;margin:1.4em 0}
.faq{margin:2em 0}
.faq details{border:1px solid var(--line);border-radius:8px;margin:.5em 0;padding:.2em .8em;background:#fff}
.faq summary{cursor:pointer;font-weight:600;color:var(--navy);padding:.6em 0}
.cta-box{background:linear-gradient(135deg,var(--navy),var(--navy2));color:#fff;border-radius:var(--radius);padding:30px;margin:34px 0;text-align:center}
.cta-box h2{color:#fff;margin-top:0}
.cta-box p{color:#cdd8ec}

/* disclaimer + footer */
.disclaimer{font-size:.82rem;color:var(--muted);background:#f2f4f8;border-top:1px solid var(--line);padding:18px 0}
footer.site{background:var(--navy);color:#aeb9cf;padding:34px 0;font-size:.9rem}
footer.site a{color:#dbe3f2}
footer.site .cols{display:flex;flex-wrap:wrap;gap:30px;justify-content:space-between}
footer.site .brand{font-size:1.05rem;margin-bottom:8px}

/* eligibility check widget */
#cra-check{border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:26px;margin:26px 0;background:#fff}
#cra-check .q{font-weight:700;color:var(--navy);font-size:1.15rem;margin-bottom:14px}
#cra-check .opt{display:block;width:100%;text-align:left;background:#f7f9fc;border:1.5px solid var(--line);border-radius:9px;padding:.7em 1em;margin:.4em 0;cursor:pointer;font-size:1rem;color:var(--ink)}
#cra-check .opt:hover{border-color:var(--gold);background:#fffdf6}
#cra-check .opt.sel{border-color:var(--gold);background:#fff6e0}
#cra-check .prog{height:6px;background:var(--line);border-radius:4px;margin-bottom:20px;overflow:hidden}
#cra-check .prog i{display:block;height:100%;background:var(--gold);width:0;transition:width .3s}
#cra-check .nav{display:flex;justify-content:space-between;margin-top:16px}
#cra-check .result{display:none}
.amp{display:inline-block;width:14px;height:14px;border-radius:50%;margin-right:7px;vertical-align:middle}
.amp.gruen{background:var(--ok)} .amp.gelb{background:var(--warn)} .amp.rot{background:var(--bad)}
.result .box{background:#f7f9fc;border:1px solid var(--line);border-radius:9px;padding:18px;margin:14px 0}

@media(max-width:760px){
  nav.main{display:none;position:absolute;top:64px;left:0;right:0;background:var(--navy);flex-direction:column;padding:14px 20px;gap:12px}
  nav.main.open{display:flex}
  .menu-toggle{display:block}
  .hero h1{font-size:1.9rem}.h1{font-size:1.7rem}
}
