
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;font-family:var(--sans);line-height:1.65;color:var(--ink);background:var(--bg);overflow-x:hidden;hyphens:manual;-webkit-hyphens:manual}
img,svg{max-width:100%;height:auto;display:block}
a{color:inherit;text-underline-offset:.2em;text-decoration-thickness:1px}
a:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.wrap{width:min(100% - 2.5rem, 68rem);margin-inline:auto}
.eyebrow{font-family:var(--sans);font-size:.72rem;letter-spacing:.32em;text-transform:uppercase;font-weight:500}
h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.15;margin:0 0 .6em;text-wrap:balance;overflow-wrap:normal;word-break:normal}
p{margin:0 0 1em;text-wrap:pretty}
.ph{background:#ffe08a;color:#3b2b00;padding:0 .3em;border-radius:3px;font-family:var(--sans);font-size:.9em}
.legal{font-size:.86rem;line-height:1.7}
.legal h2{font-size:1.5rem}
.legal h3{font-family:var(--sans);font-size:.72rem;letter-spacing:.24em;text-transform:uppercase;font-weight:600;margin:1.6em 0 .5em}
.legal dl{display:grid;grid-template-columns:minmax(9rem,max-content) 1fr;gap:.3rem 1.2rem;margin:0}
.legal dt{opacity:.7}
.legal dd{margin:0;overflow-wrap:anywhere}
@media (max-width:540px){.legal dl{grid-template-columns:1fr}.legal dd{margin-bottom:.6rem}}
.skip{position:absolute;left:-999px}.skip:focus{left:1rem;top:1rem;background:#fff;color:#000;padding:.5rem 1rem;z-index:9}
.lang{display:flex;gap:.2rem;font-size:.72rem;letter-spacing:.2em}
.lang a{padding:.35rem .5rem;text-decoration:none;opacity:.65}.lang a[aria-current]{opacity:1;border-bottom:1px solid currentColor}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

:root{--bg:#f6f8f8;--ink:#1d2543;--muted:#5d6068;--grey:#797b74;--accent:#2f57a6;--line:#dee8eb;--serif:"Iowan Old Style","Palatino Linotype",Palatino,"Book Antiqua",Georgia,serif;--sans:"Avenir Next",Avenir,"Segoe UI",system-ui,-apple-system,Roboto,"Helvetica Neue",Arial,sans-serif}
header.top .wrap{display:flex;justify-content:space-between;align-items:center;padding-block:1.3rem}
header.top .eyebrow{color:var(--grey)}
.hero{position:relative;padding:clamp(3rem,9vw,7rem) 0 clamp(4rem,10vw,8rem);overflow:hidden;isolation:isolate}
.hero::before{content:"";position:absolute;right:-12rem;top:-6rem;width:42rem;aspect-ratio:1;border-radius:38% 46% 42% 50%;border:1px solid rgba(47,87,166,.18);transform:rotate(-12deg);z-index:-1}
.hero::after{content:"";position:absolute;right:-9rem;top:-3rem;width:36rem;aspect-ratio:1;border-radius:44% 36% 48% 40%;border:1px solid rgba(29,37,67,.14);transform:rotate(14deg);z-index:-1}
.hero .logo{width:min(84vw,27rem);margin-bottom:clamp(2.5rem,7vw,4.5rem)}
.hero .eyebrow{color:var(--accent);margin-bottom:1.1rem}
.hero h1{font-size:clamp(2rem,6vw,3.9rem);max-width:18ch}
.hero h1 em{font-style:italic;background:linear-gradient(90deg,#1d2543,#4d7dff);-webkit-background-clip:text;background-clip:text;color:transparent}
.hero p.lead{font-size:clamp(1.02rem,2.3vw,1.2rem);color:var(--muted);max-width:38rem}
.btn{display:inline-block;margin-top:1.4rem;padding:.95rem 1.6rem;background:linear-gradient(120deg,#1d2543,#2f57a6);color:#fff;text-decoration:none;font-size:.78rem;letter-spacing:.24em;text-transform:uppercase;border-radius:2px;box-shadow:0 10px 30px -14px rgba(29,37,67,.6);transition:transform .25s ease}
.btn:hover{transform:translateY(-2px)}
.pillars{background:linear-gradient(135deg,#0f1a52 0%,#1d2543 55%,#22346f 100%);color:#e9eef4;padding:clamp(3.5rem,8vw,6rem) 0}
.pillars h2{font-size:clamp(1.6rem,4vw,2.4rem);color:#fff;max-width:24ch}
.pillars .eyebrow{color:#9fb6ff;margin-bottom:1rem}
.cards{display:grid;gap:1px;background:rgba(222,232,235,.16);grid-template-columns:1fr;margin-top:2.6rem}
@media(min-width:760px){.cards{grid-template-columns:repeat(3,1fr)}}
.card{background:#1a2347;padding:1.8rem 1.6rem}
.card .n{font-family:var(--serif);font-size:1.6rem;color:#9fb6ff;display:block;margin-bottom:.6rem}
.card h3{font-family:var(--serif);font-size:1.3rem;color:#fff;margin-bottom:.5rem}
.card p{color:#c3cbd9;font-size:.95rem;margin:0}
.statement{padding:clamp(3.5rem,8vw,6rem) 0;text-align:center}
.statement blockquote{margin:0 auto;max-width:40rem;font-family:var(--serif);font-size:clamp(1.3rem,3.4vw,1.9rem);line-height:1.4;font-style:italic}
.statement .sym{width:3.4rem;margin:0 auto 1.6rem;opacity:.9}
.contact{border-top:1px solid var(--line);padding:clamp(3.5rem,8vw,5.5rem) 0}
.contact .grid{display:grid;gap:2rem;grid-template-columns:1fr}
@media(min-width:820px){.contact .grid{grid-template-columns:1fr 1fr;align-items:end}}
.contact h2{font-size:clamp(1.7rem,4vw,2.5rem)}
.contact p{color:var(--muted)}
.contact .mail{font-family:var(--serif);font-size:clamp(1.15rem,3.4vw,1.55rem);color:var(--ink)}
.contact .mail a{text-decoration:none;border-bottom:1px solid var(--accent)}
section.legal-wrap{background:#eef2f3;padding:3.5rem 0 2.5rem;color:var(--muted)}
.legal h2{color:var(--ink)}
footer{background:#eef2f3;color:var(--grey);font-size:.78rem;letter-spacing:.05em;padding:0 0 2.2rem}
footer .wrap{display:flex;flex-wrap:wrap;gap:.6rem 1.6rem;justify-content:space-between;border-top:1px solid #d5dee1;padding-top:1.4rem}
footer a{text-decoration:none}
