  :root{
    --navy:#12294D; --navy-2:#0C1B33; --blue:#3E77B0; --blue-soft:#DCE8F4; --olive:#55691F; --olive-soft:#EEF2E3;
    --ink:#1B2430; --muted:#5B6675; --line:#E3E8EF; --paper:#F5F7FA; --white:#fff;
    --head:'Montserrat',system-ui,sans-serif; --body:'Source Sans 3','Source Sans Pro',system-ui,sans-serif;
    --max:1100px; --r:14px;
  }
  *{box-sizing:border-box}
  html{scroll-behavior:smooth}
  body{margin:0;font-family:var(--body);font-size:18px;line-height:1.6;color:var(--ink);background:var(--white);-webkit-font-smoothing:antialiased}
  img{max-width:100%;display:block}
  a{color:var(--blue)}
  h1,h2,h3{font-family:var(--head);line-height:1.15;margin:0 0 .5em;color:var(--navy)}
  h1{font-size:clamp(2.2rem,5vw,3.6rem);font-weight:800;letter-spacing:-.01em}
  h2{font-size:clamp(1.6rem,3vw,2.2rem);font-weight:700}
  h3{font-size:1.15rem;font-weight:700}
  p{margin:0 0 1em}
  .wrap{width:min(var(--max),100% - 40px);margin-inline:auto}
  .eyebrow{font-family:var(--head);font-size:.78rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--olive);margin-bottom:.8rem}
  .btn{display:inline-block;font-family:var(--head);font-weight:700;font-size:.95rem;padding:.8rem 1.4rem;border-radius:999px;text-decoration:none;border:2px solid transparent;transition:transform .12s ease,background .15s ease;cursor:pointer;line-height:1.2}
  .btn:hover{transform:translateY(-1px)}
  .btn-primary{background:var(--blue);color:#fff}
  .btn-primary:hover{background:#346798}
  .btn-ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.55)}
  .btn-ghost:hover{background:rgba(255,255,255,.1)}
  .btn-olive{background:var(--olive);color:#fff}
  .btn-olive:hover{background:#46571A}

  /* Nav */
  .nav{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.94);backdrop-filter:saturate(1.4) blur(8px);border-bottom:1px solid var(--line)}
  .nav .wrap{display:flex;align-items:center;justify-content:space-between;height:72px;gap:1rem}
  .brand{display:flex;align-items:center;gap:.7rem;text-decoration:none;color:var(--navy)}
  .brand img{height:44px;width:auto}
  .brand span{font-family:var(--head);font-weight:800;font-size:1.05rem;letter-spacing:.02em}
  .links{display:flex;gap:1.25rem;align-items:center}
  .links a{font-family:var(--head);font-weight:600;font-size:.9rem;color:var(--navy);text-decoration:none}
  .links a:hover{color:var(--blue)}
  .links .btn{padding:.6rem 1.1rem;font-size:.85rem}
  .links a.active{color:var(--blue)}
  .menu-btn{display:none;background:none;border:1.5px solid var(--line);border-radius:10px;padding:.45rem .6rem;cursor:pointer;color:var(--navy);font-family:var(--head);font-weight:700;font-size:.85rem}
  @media (max-width:1040px){
    .menu-btn{display:inline-block}
    .brand span{display:none}
    .links{display:none;position:absolute;left:0;right:0;top:72px;background:#fff;border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;gap:0;padding:.5rem 20px 1rem}
    .links.open{display:flex}
    .links a{padding:.75rem 0;border-bottom:1px solid var(--line)}
    .links a.btn{margin-top:.8rem;text-align:center;border-bottom:0}
  }
  .page-hero{background:radial-gradient(120% 90% at 50% 0%,#1E3B6B 0%,var(--navy) 45%,var(--navy-2) 100%);color:#fff;padding:3.5rem 0 4.5rem}
  .page-hero h1{color:#fff;font-size:clamp(2rem,4vw,3rem)}
  .page-hero .eyebrow{color:#9FC4E8}
  .page-hero p{max-width:40rem;color:rgba(255,255,255,.85);font-size:1.15rem;margin:0}
  .next{border-top:1px solid var(--line);padding:2.5rem 0}
  .next .wrap{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap}
  .next p{margin:0;color:var(--muted)}

  /* Hero */
  .hero{position:relative;background:radial-gradient(120% 90% at 50% 0%,#1E3B6B 0%,var(--navy) 45%,var(--navy-2) 100%);color:#fff;padding:5.5rem 0 7.5rem;overflow:hidden}
  .hero::before{content:"";position:absolute;inset:0;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='800' height='400' viewBox='0 0 800 400'%3E%3Cpath d='M0 300 C150 240 250 360 400 300 S650 240 800 300' fill='none' stroke='%233E77B0' stroke-opacity='.22' stroke-width='3'/%3E%3Cpath d='M0 340 C150 280 250 400 400 340 S650 280 800 340' fill='none' stroke='%233E77B0' stroke-opacity='.14' stroke-width='3'/%3E%3Cpath d='M0 260 C150 200 250 320 400 260 S650 200 800 260' fill='none' stroke='%23ffffff' stroke-opacity='.06' stroke-width='3'/%3E%3C/svg%3E") center bottom/cover no-repeat;pointer-events:none}
  .hero .wrap{position:relative;display:grid;grid-template-columns:1.2fr .8fr;gap:3rem;align-items:center}
  .hero h1{color:#fff}
  .hero .lead{font-size:1.25rem;max-width:34rem;color:rgba(255,255,255,.88)}
  .hero .cta{display:flex;gap:.8rem;flex-wrap:wrap;margin-top:1.6rem}
  .hero .eyebrow{color:#9FC4E8}
  .logo-card{background:#fff;border-radius:22px;padding:2rem;box-shadow:0 30px 60px rgba(0,0,0,.35);justify-self:center;max-width:340px;width:100%}
  @media (max-width:860px){ .hero{padding:3.5rem 0 6rem} .hero .wrap{grid-template-columns:1fr} .logo-card{max-width:260px;padding:1.4rem;order:-1} }
  .wave{display:block;width:100%;height:70px;margin-top:-70px;position:relative;z-index:2}

  /* Sections */
  section{padding:4.5rem 0}
  section.alt{background:var(--paper)}
  .two{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:start}
  @media (max-width:860px){ .two{grid-template-columns:1fr;gap:2rem} }
  .cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem;margin-top:2rem}
  @media (max-width:860px){ .cards{grid-template-columns:1fr} }
  .card{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:1.6rem;box-shadow:0 4px 16px rgba(18,41,77,.05)}
  .card .num{font-family:var(--head);font-weight:800;font-size:2rem;color:var(--blue);line-height:1;margin-bottom:.6rem}
  .card h3{margin-bottom:.4rem}
  .card p{margin:0;color:var(--muted);font-size:1rem}
  .chips{display:flex;flex-wrap:wrap;gap:.5rem;margin:1rem 0 0}
  .chip{background:var(--blue-soft);color:var(--navy);font-family:var(--head);font-weight:600;font-size:.82rem;padding:.4rem .8rem;border-radius:999px}
  .callout{background:var(--olive-soft);border-left:5px solid var(--olive);border-radius:10px;padding:1.2rem 1.4rem;margin-top:1.6rem}
  .callout p{margin:0}
  .fact{border-top:3px solid var(--olive);padding-top:1rem}
  .fact strong{display:block;font-family:var(--head);font-size:1.05rem;color:var(--navy);margin-bottom:.25rem}
  .fact p{color:var(--muted);font-size:1rem;margin:0}
  .facts{display:grid;grid-template-columns:repeat(3,1fr);gap:1.6rem;margin-top:2rem}
  @media (max-width:860px){ .facts{grid-template-columns:1fr} }
  .quote{font-size:1.35rem;font-style:italic;color:var(--navy);border-left:4px solid var(--blue);padding-left:1.2rem;margin:1.5rem 0}

  /* Bio */
  .bio{display:grid;grid-template-columns:300px 1fr;gap:3rem;align-items:center}
  .bio-photo img{width:100%;height:auto;border-radius:24px;box-shadow:0 20px 50px rgba(18,41,77,.18)}
  .bio .role{font-family:var(--head);font-weight:700;color:var(--olive);font-size:.95rem;letter-spacing:.06em;text-transform:uppercase;margin:-.3rem 0 1.2rem}
  @media (max-width:860px){ .bio{grid-template-columns:1fr;gap:1.6rem} .bio-photo{max-width:240px} }

  /* Form */
  .form-wrap{background:#fff;border:1px solid var(--line);border-radius:18px;padding:2rem;box-shadow:0 12px 40px rgba(18,41,77,.08)}
  label{display:block;font-family:var(--head);font-weight:600;font-size:.85rem;color:var(--navy);margin:0 0 .35rem}
  .field{margin-bottom:1.1rem}
  input[type=text],input[type=email],textarea{width:100%;font:inherit;font-size:1rem;padding:.7rem .85rem;border:1.5px solid #C9D2DE;border-radius:10px;background:#fff;color:var(--ink)}
  input:focus,textarea:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 3px rgba(62,119,176,.18)}
  textarea{min-height:100px;resize:vertical}
  .checks{display:grid;grid-template-columns:1fr 1fr;gap:.45rem .8rem}
  @media (max-width:560px){ .checks{grid-template-columns:1fr} }
  .checks label{display:flex;align-items:center;gap:.5rem;font-family:var(--body);font-weight:400;font-size:1rem;color:var(--ink);margin:0;cursor:pointer}
  .checks input{accent-color:var(--blue);width:18px;height:18px}
  .hp{position:absolute;left:-9999px;opacity:0;height:0;overflow:hidden}
  .note{font-size:.9rem;color:var(--muted);margin-top:.8rem}
  .msg{margin-top:1rem;padding:.9rem 1rem;border-radius:10px;font-size:1rem;display:none}
  .msg.ok{display:block;background:var(--olive-soft);color:#2F3B10;border:1px solid #C9D5A3}
  .msg.err{display:block;background:#FBE9E7;color:#7A271A;border:1px solid #F1B9B0}

  /* Footer */
  footer{background:var(--navy-2);color:rgba(255,255,255,.75);padding:3rem 0 2rem;font-size:.95rem}
  footer .wrap{display:grid;grid-template-columns:1.2fr 1fr;gap:2rem;align-items:start}
  @media (max-width:760px){ footer .wrap{grid-template-columns:1fr} }
  footer .brand{color:#fff}
  footer .brand img{height:52px;background:#fff;border-radius:10px;padding:5px}
  footer .brand span{color:#fff}
  footer a{color:#9FC4E8}
  footer .fine{font-size:.82rem;color:rgba(255,255,255,.5);margin-top:1.4rem;line-height:1.5}
  footer .fine p{margin:0 0 .4rem}
  .flinks{display:flex;flex-direction:column;gap:.45rem}
  .flinks a{font-family:var(--head);font-weight:600;font-size:.9rem;text-decoration:none;color:#fff}
  .flinks a:hover{color:#9FC4E8}

  /* Stats & bars */
  .stats{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem;margin-top:2rem}
  @media (max-width:860px){ .stats{grid-template-columns:1fr} }
  .stat{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:1.4rem 1.6rem;box-shadow:0 4px 16px rgba(18,41,77,.05)}
  .stat .big{font-family:var(--head);font-weight:800;font-size:2.4rem;line-height:1;color:var(--blue);margin-bottom:.4rem}
  .stat p{margin:0;color:var(--muted);font-size:1rem}
  .bars{margin-top:1.2rem}
  .bar{display:grid;grid-template-columns:1fr 3fr auto;gap:.8rem;align-items:center;margin:.55rem 0;font-size:1rem}
  .bar .track{background:var(--blue-soft);border-radius:999px;height:12px;overflow:hidden}
  .bar .fill{background:var(--blue);height:100%;border-radius:999px}
  .bar.olive .fill{background:var(--olive)}
  .bar .pct{font-family:var(--head);font-weight:700;color:var(--navy);min-width:3.2rem;text-align:right}
  @media (max-width:560px){ .bar{grid-template-columns:1fr;gap:.25rem} .bar .pct{text-align:left} }
  .refs{font-size:.92rem;color:var(--muted)}
  .refs ol{padding-left:1.2rem}
  .refs li{margin-bottom:.6rem}
  .refs a{word-break:break-word}
  sup a{text-decoration:none;color:var(--blue);font-weight:700}
  .method{background:var(--olive-soft);border-radius:12px;padding:1.2rem 1.4rem;font-size:1rem}
  .method p{margin:0 0 .5em}

  /* Polish */
  .page-hero{position:relative;overflow:hidden}
  .page-hero::before{content:"";position:absolute;inset:0;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='800' height='400' viewBox='0 0 800 400'%3E%3Cpath d='M0 300 C150 240 250 360 400 300 S650 240 800 300' fill='none' stroke='%233E77B0' stroke-opacity='.22' stroke-width='3'/%3E%3Cpath d='M0 340 C150 280 250 400 400 340 S650 280 800 340' fill='none' stroke='%233E77B0' stroke-opacity='.14' stroke-width='3'/%3E%3Cpath d='M0 260 C150 200 250 320 400 260 S650 200 800 260' fill='none' stroke='%23ffffff' stroke-opacity='.06' stroke-width='3'/%3E%3C/svg%3E") center bottom/cover no-repeat;pointer-events:none}
  .page-hero .wrap{position:relative}
  .eyebrow{display:flex;align-items:center;gap:.6rem}
  .eyebrow::before{content:"";width:1.6rem;height:3px;background:var(--olive);border-radius:2px;flex:none}
  .page-hero .eyebrow::before,.hero .eyebrow::before{background:#9FC4E8}
  .card{position:relative;overflow:hidden;transition:transform .15s ease,box-shadow .15s ease}
  .card::before{content:"";position:absolute;left:0;right:0;top:0;height:4px;background:linear-gradient(90deg,var(--blue),var(--olive))}
  .card:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(18,41,77,.10)}
  .stat{border-top:4px solid var(--blue)}
  .btn-primary{box-shadow:0 6px 16px rgba(62,119,176,.28)}
  .btn-olive{box-shadow:0 6px 16px rgba(85,105,31,.25)}
  .form-wrap{border-top:5px solid var(--olive)}
  .nav{box-shadow:0 1px 0 var(--line),0 6px 20px rgba(18,41,77,.05)}
  footer{border-top:4px solid var(--blue)}
