:root{
  --ink:#0c0e24;
  --navy:#16275a;
  --navy-2:#1d3274;
  --hat:#f2b01a;
  --mist:#e2e2e8;
  --paper:#f5f6fa;
  --text:#14172e;
  --radius:18px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:80px}
body{font-family:"Montserrat",system-ui,sans-serif;color:var(--text);background:var(--paper);line-height:1.65;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit}
:focus-visible{outline:3px solid var(--hat);outline-offset:3px}
.wrap{width:min(1100px,92%);margin-inline:auto}

/* header */
header{position:sticky;top:0;z-index:10;background:var(--ink);border-bottom:3px solid var(--hat)}
.bar{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.6rem 0}
.brand{display:flex;align-items:center;gap:.7rem;text-decoration:none;color:#fff;font-weight:700;line-height:1.15}
.brand img{width:44px;height:44px}
.brand small{display:block;font-weight:500;font-size:.8rem;opacity:.85}
nav{display:flex;gap:1.5rem;align-items:center}
nav a{color:#fff;text-decoration:none;font-weight:500;font-size:.95rem}
nav a:hover{color:var(--hat)}
.btn{display:inline-block;background:var(--hat);color:var(--ink)!important;font-weight:700;padding:.75rem 1.4rem;border-radius:999px;text-decoration:none;border:0;cursor:pointer;font:inherit;font-weight:700}
.btn:hover{background:#ffc43a}
.btn.ghost{background:transparent;color:#fff!important;border:2px solid #fff}
.btn.ghost:hover{border-color:var(--hat);color:var(--hat)!important}

/* hero */
.hero{position:relative;background:var(--ink);color:#fff;padding:clamp(4rem,10vw,8rem) 0;overflow:hidden}
.hero::before{content:"";position:absolute;inset:0;background:url(assets/logo-wide.png) center/cover no-repeat;opacity:.35}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--ink) 25%,rgba(12,14,36,.55))}
.hero .wrap{position:relative;z-index:1}
.hero h1{font-size:clamp(2.2rem,5.5vw,4rem);line-height:1.12;font-weight:300;max-width:16em}
.hero h1 strong{font-weight:800;text-decoration:underline;text-decoration-color:var(--hat);text-decoration-thickness:6px;text-underline-offset:8px}
.hero p{margin:1.5rem 0 2rem;max-width:36em;font-size:1.1rem;opacity:.92}
.hero .actions{display:flex;flex-wrap:wrap;gap:.8rem}

/* sections */
section{padding:clamp(3.5rem,8vw,6rem) 0}
h2{font-size:clamp(1.7rem,3.5vw,2.4rem);line-height:1.2;font-weight:800;margin-bottom:.6rem}
.lead{max-width:40em;margin-bottom:2.5rem;color:#444a66}

.grid{display:grid;gap:1.2rem;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
.card{background:#fff;border-radius:var(--radius);padding:1.8rem;border-left:6px solid var(--hat);box-shadow:0 1px 0 rgba(22,39,90,.12)}
.card h3{font-size:1.25rem;color:var(--navy);margin-bottom:.4rem}
.card p{font-size:.97rem;color:#444a66}

.dark{background:var(--navy);color:#fff}
.dark .lead{color:#d5d9ec}
.split{display:grid;gap:3rem;grid-template-columns:1fr 1fr;align-items:center}
.points{list-style:none;display:grid;gap:1rem}
.points li{background:rgba(255,255,255,.08);border-radius:var(--radius);padding:1.1rem 1.4rem}
.points b{color:var(--hat)}

/* contact */
.contact{display:grid;gap:3rem;grid-template-columns:1fr 1.1fr}
.details{display:grid;gap:1rem;margin-top:1.5rem;font-weight:600;font-size:1.1rem}
.details a{text-decoration:none;color:var(--navy)}
.details a:hover{text-decoration:underline}
form{background:#fff;border-radius:var(--radius);padding:1.8rem;display:grid;gap:1rem}
label{display:grid;gap:.3rem;font-weight:600;font-size:.9rem}
input,textarea{font:inherit;padding:.7rem .9rem;border:2px solid var(--mist);border-radius:12px;background:var(--paper)}
input:focus,textarea:focus{border-color:var(--navy);outline:none}
textarea{min-height:130px;resize:vertical}
.note{font-size:.8rem;color:#666b85}

footer{background:var(--ink);color:#cfd3ea;padding:2rem 0;font-size:.9rem}
footer .wrap{display:flex;flex-wrap:wrap;justify-content:space-between;gap:1rem;align-items:center}
footer a{color:#fff}

@media(max-width:800px){
  nav a:not(.btn){display:none}
  .split,.contact{grid-template-columns:1fr}
  .hero::after{background:rgba(12,14,36,.75)}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
