:root {
  --ink:#12141a;
  --body:#5b6570;
  --blue:#1b5a91;
  --blue-dim:#124a7a;
  --navy:#0e3056;
  --line:#e7e9ee;
  --soft:#f6f8fb;
  --white:#fff;
}

* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:#fff; color:var(--ink); font:16px/1.65 'Inter',sans-serif; -webkit-font-smoothing:antialiased; }
h1,h2,h3 { margin:0 0 .55em; color:var(--ink); font-family:'Inter',sans-serif; font-weight:800; line-height:1.15; letter-spacing:-.02em; }
h1 { font-size:clamp(2.2rem,4vw,3.4rem); }
h2 { font-size:clamp(1.8rem,3vw,2.5rem); }
h3 { font-size:1.2rem; }
p { margin:0 0 1em; color:var(--body); }
a { color:inherit; }
.wrap { width:min(1180px,calc(100% - 48px)); margin:0 auto; }
.nav-shell { position:sticky; top:16px; z-index:50; padding:0 16px; }
.nav-pill { max-width:1180px; margin:0 auto; padding:12px 12px 12px 26px; display:flex; align-items:center; justify-content:space-between; background:#fff; border-radius:999px; box-shadow:0 10px 30px rgba(16,27,51,.1); }
.logo { display:flex; align-items:center; text-decoration:none; }
.logo-img { display:block; width:auto; height:42px; }
nav.links { display:flex; align-items:center; gap:6px; }
nav.links > a { padding:10px 12px; color:var(--ink); font-size:.95rem; font-weight:600; text-decoration:none; opacity:.75; }
nav.links > a:hover,nav.links > a.active { opacity:1; }
nav.links > a.btn { color:#fff!important; opacity:1!important; }
.btn { display:inline-flex; align-items:center; justify-content:center; padding:12px 22px; border:0; border-radius:999px; background:var(--navy); color:#fff; font-size:.92rem; font-weight:700; text-decoration:none; white-space:nowrap; }
.btn:hover { background:var(--blue-dim); }
.btn-outline { border:1.5px solid var(--line); background:transparent; color:var(--ink); }
.menu-toggle { display:none; padding:8px; border:0; background:none; cursor:pointer; }
.menu-toggle span { display:block; width:20px; height:2px; margin:5px 0; background:var(--ink); }
.has-dropdown { position:relative; padding-bottom:14px; margin-bottom:-14px; }
.has-dropdown > a { display:flex; min-height:44px; align-items:center; padding:0 12px; font-size:.95rem; font-weight:600; text-decoration:none; }
.dropdown { display:none; position:absolute; top:100%; left:50%; z-index:60; width:310px; padding:10px; transform:translateX(-50%); background:#fff; border-radius:16px; box-shadow:0 16px 40px rgba(16,27,51,.16); }
.has-dropdown:hover .dropdown,.has-dropdown.open .dropdown { display:block; }
.dropdown a { display:block; padding:11px 14px; border-radius:10px; color:var(--ink); font-size:.92rem; font-weight:600; text-decoration:none; }
.dropdown a:hover { background:var(--soft); }
.dropdown a span { display:block; margin-top:2px; color:var(--body); font-size:.8rem; font-weight:400; }
.submenu-wrap { position:relative; }
.submenu-trigger { position:relative; padding-right:36px!important; }
.submenu-trigger::after { position:absolute; top:50%; right:14px; content:'›'; transform:translateY(-50%); color:var(--blue); font-size:1.25rem; }
.submenu { display:none; position:absolute; top:0; left:100%; width:290px; padding:10px; background:#fff; border-radius:16px; box-shadow:0 16px 40px rgba(16,27,51,.16); }
.submenu-wrap:hover > .submenu,.submenu-wrap:focus-within > .submenu { display:block; }
.page-hero { padding:84px 0 58px; background:linear-gradient(180deg,var(--soft),#fff 72%); }
.hero-grid,.content-grid { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(300px,.9fr); gap:64px; align-items:start; }
.lead { max-width:780px; font-size:clamp(1.05rem,1.7vw,1.28rem); }
.hero-note,.card { padding:30px; border:1px solid var(--line); border-radius:20px; background:#fff; box-shadow:0 12px 35px rgba(14,48,86,.06); }
.hero-note { background:var(--navy); }
.hero-note h3,.hero-note p { color:#fff; }
section { padding:62px 0; }
section.soft { background:var(--soft); }
.grid-3 { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
.stack { display:grid; gap:18px; }
.compact-list { margin:0; padding-left:20px; color:var(--body); }
.compact-list li { margin:7px 0; }
.cta-band { padding:38px; border-radius:24px; background:var(--navy); }
.cta-band h2,.cta-band p { color:#fff; }
footer { padding:48px 0 30px; background:#0b1c34; color:#fff; }
footer h3 { color:#fff; }
footer p { max-width:760px; color:#9fb0c8; }
.footer-links { display:flex; flex-wrap:wrap; gap:18px; margin:20px 0; }
.footer-links a { color:#c8d4e5; text-decoration:none; }
.footer-rule { border:0; border-top:1px solid rgba(255,255,255,.12); }
.footer-fine { margin-top:20px; font-size:.85rem; }

@media (max-width:900px) {
  .menu-toggle { display:block!important; position:relative; z-index:1200; }
  nav.links { display:none!important; position:fixed; top:78px; right:16px; left:16px; z-index:1100; max-height:calc(100dvh - 96px); overflow-y:auto; padding:16px; flex-direction:column; align-items:stretch; gap:4px; background:#fff; border-radius:20px; box-shadow:0 16px 40px rgba(16,27,51,.16); }
  nav.links.open { display:flex!important; }
  nav.links > a,.has-dropdown > a { width:100%; min-height:48px; padding:12px 10px; justify-content:space-between; text-align:left; }
  nav.links > a.btn { justify-content:center; }
  .has-dropdown { width:100%; margin:0; padding:0; }
  .dropdown,.submenu { display:none!important; position:static; width:100%; padding:4px 0 6px 10px; transform:none; background:transparent; box-shadow:none; }
  .has-dropdown.open > .dropdown,.submenu-wrap.open > .submenu { display:block!important; }
  .submenu-trigger::after { transform:translateY(-50%) rotate(90deg); }
  .lang-switch { text-align:center!important; }
  .hero-grid,.content-grid { grid-template-columns:1fr; gap:26px; }
}

@media (max-width:700px) {
  .wrap { width:min(100% - 36px,1180px); }
  .nav-shell { top:10px; padding:0 10px; }
  .nav-pill { padding:9px 10px 9px 16px; }
  .logo-img { height:34px; }
  nav.links { top:68px; right:10px; left:10px; max-height:calc(100dvh - 82px); }
  .page-hero { padding:58px 0 38px; }
  section { padding:42px 0; }
  .grid-3 { grid-template-columns:1fr; gap:14px; }
  .hero-note,.card,.cta-band { padding:24px; }
}
