@font-face{font-family:"Fraunces";src:url("/assets/fonts/fraunces.woff2") format("woff2");font-weight:400 700;font-style:normal;font-display:swap}
@font-face{font-family:"Instrument Sans";src:url("/assets/fonts/instrument-sans.woff2") format("woff2");font-weight:400 700;font-style:normal;font-display:swap}

:root{
  --ink:#0C1A31;--muted:#49565C;--subtle:#69787F;
  --bg:#FFFFFF;
  --band:#F1F5F9;--band-border:#E2E9F0;--band-kicker:#3A5A7A;
  --head-line:#DCE6EE;--ghost-border:#C5D4E0;--ghost-hover:#DCE6EE;--field-border:#8796A0;
  --accent:#0F6FDB;--accent-hover:#0B5BB8;--on-accent:#FFFFFF;
  --marker:rgba(19,125,245,.16);
  --card:#F1F5F9;--card-border:#E2E9F0;
  --focus-ring:0 0 0 3px rgba(15,111,219,.3);
  --font-serif:"Fraunces",Georgia,serif;
  --font-sans:"Instrument Sans",system-ui,-apple-system,"Segoe UI",sans-serif;
  --ease:cubic-bezier(.16,1,.3,1);
  --wrap:1080px;--gutter:24px;
}
@media (max-width:600px){:root{--gutter:16px}}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:88px}
body{margin:0;background:var(--bg);color:var(--ink);font:400 1rem/1.6 var(--font-sans);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img,svg{display:block;max-width:100%}
a{color:inherit}
p{margin:0}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:2px}

.wrap{max-width:var(--wrap);margin:0 auto;padding:0 var(--gutter)}
.skip{position:absolute;left:-9999px;top:8px;z-index:20;background:var(--ink);color:#FFFFFF;padding:10px 14px;border-radius:8px;text-decoration:none}
.skip:focus{left:8px}

h1,h2,h3{font-family:var(--font-serif);font-weight:600;color:var(--ink);margin:0;font-optical-sizing:auto}
h1{font-size:clamp(2.4rem,5vw,4.25rem);line-height:1.05;letter-spacing:-.01em;max-width:22ch}
h2{font-size:clamp(1.75rem,3.2vw,2.5rem);line-height:1.12;letter-spacing:-.005em;max-width:24ch}
h3{font-size:1.375rem;line-height:1.2}
.kicker{font-weight:500;font-size:.8125rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:16px}
.lead{font-size:1.125rem;color:var(--muted);max-width:60ch;margin-top:20px}

.site-header{position:sticky;top:0;z-index:10;background:rgba(255,255,255,.94);-webkit-backdrop-filter:saturate(1.2) blur(8px);backdrop-filter:saturate(1.2) blur(8px);border-bottom:1px solid var(--head-line)}
.header-inner{display:flex;align-items:center;gap:24px;min-height:64px}
.logo{display:inline-flex;align-items:center;min-height:44px}
.logo img{height:28px;width:auto}
.nav{display:flex;gap:4px;margin-left:auto}
.nav a{display:inline-flex;align-items:center;min-height:44px;padding:0 12px;border-radius:8px;text-decoration:none;font-weight:500;font-size:.9375rem;color:var(--muted)}
.nav a:hover{color:var(--ink);background:var(--band)}
.lang{display:flex;gap:2px;padding-left:16px;border-left:1px solid var(--head-line)}
.lang a{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;border-radius:8px;text-decoration:none;font-weight:500;font-size:.8125rem;letter-spacing:.08em;color:var(--muted)}
.lang a:hover{color:var(--ink);background:var(--band)}
.lang a[aria-current="page"]{color:var(--accent);text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:6px}
@media (max-width:760px){.nav{display:none}.lang{margin-left:auto;padding-left:0;border-left:0}}

.hero{padding:clamp(64px,12vw,136px) 0 clamp(56px,9vw,104px)}
.hero mark{color:inherit;padding:0 .04em;background:linear-gradient(var(--marker),var(--marker)) no-repeat 0 76%/100% .42em}
.cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:36px}
.highlights{list-style:none;margin:64px 0 0;padding:24px 0 0;border-top:1px solid var(--head-line);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px 40px}
.highlights strong{display:block;font-weight:600;font-size:.9375rem;color:var(--ink)}
.highlights span{display:block;margin-top:4px;font-size:.9375rem;color:var(--muted)}
@media (max-width:760px){.highlights{grid-template-columns:minmax(0,1fr);gap:16px;margin-top:48px}}

.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 22px;border-radius:8px;border:1px solid transparent;font:600 .9375rem/1 var(--font-sans);text-decoration:none;cursor:pointer;transition:transform .18s var(--ease),background-color .18s var(--ease)}
.btn-primary{background:var(--accent);color:var(--on-accent)}
.btn-primary:hover{background:var(--accent-hover);transform:translateY(-1px)}
.btn-ghost{background:transparent;color:var(--ink);border-color:var(--ghost-border)}
.btn-ghost:hover{background:var(--ghost-hover)}
.btn[disabled]{opacity:.75;cursor:progress;transform:none}

.section{padding:clamp(64px,9vw,112px) 0;border-top:1px solid var(--head-line)}
.section-band{background:var(--band);border-top-color:var(--band-border)}
.section-band .kicker{color:var(--band-kicker)}

.refs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 48px;margin-top:48px}
.ref{border-top:1px solid var(--ink);padding-top:20px}
.ref-sector{font-weight:500;font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin-bottom:10px}
.ref h3+p{color:var(--muted);margin-top:10px;max-width:52ch}

.cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:48px}
.card{background:var(--card);border:1px solid var(--card-border);border-radius:3px;padding:28px}
.card p{color:var(--muted);margin-top:10px}
@media (max-width:760px){.refs,.cards{grid-template-columns:minmax(0,1fr)}}

.contact{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:56px;align-items:start}
@media (max-width:860px){.contact{grid-template-columns:minmax(0,1fr);gap:32px}}
.form{display:grid;gap:18px}
.field label{display:block;font-weight:500;font-size:.9375rem;margin-bottom:6px}
.opt{font-weight:400;color:var(--muted)}
.field input,.field textarea{display:block;width:100%;min-height:48px;padding:11px 14px;border:1px solid var(--field-border);border-radius:8px;background:#FFFFFF;color:var(--ink);font:400 1rem/1.5 var(--font-sans)}
.field textarea{min-height:160px;resize:vertical}
.field input:focus-visible,.field textarea:focus-visible{outline:none;border-color:var(--accent);box-shadow:var(--focus-ring)}
.field [aria-invalid="true"]{border:2px solid var(--accent);padding:10px 13px}
.field-err{margin-top:6px;font-size:.875rem;font-weight:500;color:var(--accent)}
.hp{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.form-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px}
.form-status{font-weight:500}
.form-status.is-ok{color:var(--ink)}
.form-status.is-error{color:var(--accent)}
.privacy{margin-top:28px;padding-top:8px;border-top:1px solid var(--head-line);font-size:.875rem;color:var(--muted)}
.privacy summary{display:flex;align-items:center;min-height:44px;cursor:pointer;font-weight:500;color:var(--ink);list-style:none}
.privacy summary::-webkit-details-marker{display:none}
.privacy summary::after{content:"+";margin-left:10px;font-size:1.125rem;font-weight:400;color:var(--accent)}
.privacy[open] summary::after{content:"\2212"}
.privacy-body p{margin-top:10px;max-width:70ch}

.site-footer{padding:48px 0 40px;border-top:1px solid var(--head-line);font-size:.875rem;color:var(--muted)}
.footer-inner{display:grid;gap:10px}
.site-footer address{font-style:normal}
.logo-footer{height:36px;width:auto;margin-bottom:8px}
.ids{display:flex;flex-wrap:wrap;gap:4px 24px;margin:0}
.ids div{display:flex;gap:6px}
.ids dd{margin:0;color:var(--ink)}

.notfound{padding-top:clamp(64px,12vw,136px);padding-bottom:96px}

@media (prefers-reduced-motion:no-preference){
  .hero .kicker,.hero h1,.hero .lead,.hero .cta,.hero .highlights{opacity:0;transform:translateY(12px);animation:enter .42s var(--ease) forwards}
  .hero h1{animation-delay:.06s}
  .hero .lead{animation-delay:.12s}
  .hero .cta{animation-delay:.18s}
  .hero .highlights{animation-delay:.26s}
  .hero mark{background-size:0% .42em;animation:sweep .7s var(--ease) .5s forwards}
  @keyframes enter{to{opacity:1;transform:none}}
  @keyframes sweep{to{background-size:100% .42em}}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
