@import url('https://fonts.googleapis.com/css2?family=Nunito+Sans:ital,opsz,wght@0,6..12,300;0,6..12,400;0,6..12,600;0,6..12,700;0,6..12,800;0,6..12,900&family=Fraunces:opsz,wght@9..144,400;9..144,600&display=swap');

:root{
  --duerr-purple:#61489C; --duerr-purple-700:#4B356F; --duerr-purple-400:#7B64B4;
  --duerr-purple-200:#C6B9DE; --duerr-purple-100:#E4DDF0; --duerr-purple-050:#F3EFF8;
  --duerr-cyan:#03AFF0; --duerr-cyan-700:#0281B3; --duerr-cyan-100:#DEF3FC;
  --ink-900:#1A1724; --fg:#1A1724; --fg-muted:#4A4558; --fg-subtle:#8E8A9A;
  --border:#E8E6ED; --border-strong:#D4D1DC; --bg:#FFFFFF;
  --font-sans:"Nunito Sans","Helvetica Neue",system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
  --font-serif:"Fraunces",Georgia,serif;
  --fs-xs:12px; --fs-sm:14px; --fs-base:16px; --fs-md:18px; --fs-lg:20px; --fs-xl:24px; --fs-2xl:32px; --fs-3xl:44px; --fs-4xl:60px;
  --lh-loose:1.65; --tracking-allcaps:0.12em;
  --s-2:8px; --s-3:12px; --s-4:16px; --s-5:20px; --s-6:24px; --s-8:32px; --s-10:40px; --s-16:64px; --s-20:80px; --s-24:96px;
  --r-md:8px; --r-lg:14px;
  --shadow-sm:0 2px 6px rgba(26,23,36,.08); --shadow-purple:0 10px 28px rgba(97,72,156,.22);
  --dur-fast:120ms; --ease-out:cubic-bezier(.22,.61,.36,1);
}
*{box-sizing:border-box;}
html,body{margin:0;font-family:var(--font-sans);font-size:var(--fs-base);line-height:1.5;color:var(--fg);background:var(--bg);-webkit-font-smoothing:antialiased;}
h1,h2,h3,h4{margin:0;font-weight:800;letter-spacing:-0.02em;line-height:1.15;}
h1{font-weight:900;font-size:var(--fs-4xl);} h2{font-size:var(--fs-2xl);} h4{font-size:var(--fs-xl);}
p{margin:0;line-height:var(--lh-loose);text-wrap:pretty;}
a{color:var(--duerr-cyan-700);text-underline-offset:3px;transition:color var(--dur-fast) var(--ease-out);}
a:hover{color:var(--duerr-purple);}
.site{min-height:100vh;display:flex;flex-direction:column;}
.wrap{max-width:1200px;margin:0 auto;padding:0 var(--s-6);}
.prose-wrap{max-width:720px;margin:0 auto;padding:var(--s-20) var(--s-6);}
.eyebrow{font-weight:800;font-size:var(--fs-xs);letter-spacing:var(--tracking-allcaps);text-transform:uppercase;color:var(--duerr-cyan-700);}
.cyan-rule{width:34px;height:3px;background:var(--duerr-cyan);margin-bottom:var(--s-4);}
.label{font-weight:700;font-size:var(--fs-sm);}

/* header */
.hdr{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.85);backdrop-filter:blur(10px);border-bottom:1px solid var(--border);}
.hdr-in{display:flex;align-items:center;justify-content:space-between;gap:var(--s-6);padding:14px var(--s-6);}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;}
.brand .tick{width:6px;height:26px;background:var(--duerr-cyan);border-radius:2px;}
.brand .name{font-weight:900;font-size:20px;letter-spacing:-.02em;color:var(--duerr-purple);}
.brand .name span{color:var(--ink-900);}
.nav{display:flex;align-items:center;gap:var(--s-8);}
.nav a{color:var(--fg-muted);text-decoration:none;font-weight:700;font-size:var(--fs-sm);}
.nav a:hover{color:var(--duerr-purple);}

/* buttons */
.btn{display:inline-block;border:none;border-radius:var(--r-md);font-family:var(--font-sans);font-weight:800;cursor:pointer;text-decoration:none;line-height:1.1;transition:background var(--dur-fast) var(--ease-out);}
.btn-primary{background:var(--duerr-purple);color:#fff;padding:12px 22px;font-size:var(--fs-sm);box-shadow:var(--shadow-purple);}
.btn-primary:hover{background:var(--duerr-purple-700);color:#fff;}
.btn-lg{padding:14px 26px;font-size:var(--fs-base);}
.btn-ghost{background:transparent;color:var(--duerr-purple);border:2px solid var(--duerr-purple);padding:10px 18px;font-size:var(--fs-sm);}
.btn-ghost:hover{background:var(--duerr-purple-050);color:var(--duerr-purple);}

/* hero + cards */
.hero{background:var(--duerr-purple-050);border-bottom:1px solid var(--border);}
.hero-in{padding:var(--s-24) var(--s-6);}
.block{display:inline-block;background:var(--duerr-purple);color:#fff;padding:0 12px;border-radius:2px;}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:var(--s-6);}
.card{background:#fff;border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);padding:var(--s-8);}
.card .cyan-rule{width:28px;}

/* forms */
.form{margin-top:var(--s-8);display:flex;flex-direction:column;gap:var(--s-5);}
.input{width:100%;font-family:var(--font-sans);font-size:var(--fs-base);color:var(--fg);background:#fff;border:1px solid var(--border-strong);border-radius:var(--r-md);padding:12px 14px;transition:border-color var(--dur-fast),box-shadow var(--dur-fast);}
.input:focus{outline:none;border-color:var(--duerr-cyan);box-shadow:0 0 0 3px var(--duerr-cyan-100);}
.hint{margin-top:var(--s-3);font-size:var(--fs-sm);line-height:var(--lh-loose);color:var(--fg-subtle);}

/* prose */
.prose p{font-size:var(--fs-md);line-height:var(--lh-loose);color:var(--fg-muted);margin:0 0 var(--s-5);}
.prose h3{margin:var(--s-10) 0 var(--s-3);font-size:var(--fs-xl);}
.prose .meta{margin-top:var(--s-8);padding-top:var(--s-6);border-top:1px solid var(--border);font-size:var(--fs-sm);color:var(--fg-subtle);}

/* footer */
.foot{background:var(--duerr-purple);color:#fff;}
.foot-in{padding:var(--s-16) var(--s-6) var(--s-10);}
.foot-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:var(--s-10);align-items:start;}
.foot a{color:var(--duerr-cyan);font-weight:700;}
.foot a:hover{color:#fff;}
.foot .muted{color:var(--duerr-purple-100);font-size:var(--fs-sm);line-height:var(--lh-loose);}
.foot .links{display:flex;flex-direction:column;gap:var(--s-2);}
.foot .links a{color:var(--duerr-cyan);text-decoration:none;}
.foot-bar{margin-top:var(--s-10);padding-top:var(--s-6);border-top:1px solid var(--duerr-purple-400);}
.foot-bar .consent{color:var(--duerr-purple-100);font-size:var(--fs-sm);line-height:var(--lh-loose);max-width:80ch;}
.foot-bar .copy{margin-top:var(--s-5);color:var(--duerr-purple-200);font-size:var(--fs-xs);}
