:root{
  --navy-900:#05142B;
  --navy-800:#081C38;
  --navy-700:#112747;
  --ivory:#E8EBF0;
  --mist:#AAB6C9;
  --paper:#F6F7F9;
  --card:#FFFFFF;
  --steel:#6A7585;
  --slate:#2E4A7D;
  --rule:#DEE2E8;
  --rule-dark:#1B3055;
  --display:"Inter",system-ui,-apple-system,sans-serif;
  --sans:"Inter",system-ui,-apple-system,sans-serif;
  --brand:"Playfair Display",Georgia,serif;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:var(--paper);color:var(--navy-900);font-family:var(--sans);font-size:17px;line-height:1.68;-webkit-font-smoothing:antialiased}
.wrap{max-width:1180px;margin:0 auto;padding:0 30px}
a{color:inherit}
img,svg{max-width:100%}
:focus-visible{outline:2px solid var(--slate);outline-offset:3px}
.skip{position:absolute;left:-9999px;top:0;background:var(--ivory);color:var(--navy-900);padding:12px 20px;z-index:100}
.skip:focus{left:0}

.label{font-family:var(--sans);font-size:11.5px;font-weight:500;letter-spacing:.24em;text-transform:uppercase;color:var(--steel)}
h1,h2,h3,h4{font-weight:600}
body{font-feature-settings:"cv11","ss01"}

.dark{background:var(--navy-800);color:var(--ivory);position:relative;overflow:hidden}
.dark::before{content:"";position:absolute;inset:0;background:radial-gradient(120% 90% at 78% 12%,#16305A 0%,#0A1E3C 42%,#05142B 100%)}
.dark>*{position:relative;z-index:1}

header{position:sticky;top:0;z-index:60;background:var(--navy-800);border-bottom:1px solid var(--rule-dark)}
.hrow{display:flex;align-items:center;gap:34px;height:80px}
.brand{display:flex;align-items:center;gap:13px;text-decoration:none;color:var(--ivory);flex:none}
.mark{width:38px;height:38px;flex:none}
.bname{font-family:var(--brand);font-size:22px;font-weight:500;line-height:1}
.nav{display:flex;gap:30px;margin-left:auto}
.nav a{text-decoration:none;color:var(--mist);font-size:14.5px;font-weight:400;padding:4px 0;border-bottom:1px solid transparent;transition:color .18s,border-color .18s}
.nav a:hover{color:var(--ivory)}
.nav a.on{border-bottom-color:#4A6B9E}
.hact{display:flex;align-items:center;gap:14px;flex:none}
.lang{display:flex;gap:3px}
.lang button{background:none;border:1px solid transparent;color:#8C9BB4;font-family:var(--sans);font-size:11.5px;font-weight:500;letter-spacing:.16em;padding:6px 10px;cursor:pointer;border-radius:2px;transition:color .18s,border-color .18s}
.lang button:hover{color:var(--ivory)}
.lang button[aria-pressed="true"]{color:var(--ivory);border-color:var(--rule-dark);background:rgba(255,255,255,.05)}
.burger{display:none;background:none;border:0;cursor:pointer;padding:8px;flex-direction:column;gap:4px}
.burger span{display:block;width:20px;height:1.5px;background:var(--ivory);transition:transform .2s,opacity .2s}
.burger[aria-expanded="true"] span:nth-child(1){transform:translateY(5.5px) rotate(45deg)}
.burger[aria-expanded="true"] span:nth-child(2){opacity:0}
.burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-5.5px) rotate(-45deg)}

.btn{display:inline-flex;align-items:center;text-decoration:none;font-family:var(--sans);font-size:15px;font-weight:500;padding:14px 24px;border-radius:3px;border:1px solid transparent;cursor:pointer;transition:background .18s,border-color .18s,transform .18s}
.btn.solid{background:var(--ivory);color:var(--navy-900);border-color:var(--ivory)}
.btn.solid:hover{background:#fff;transform:translateY(-1px)}
.btn.ghost{border-color:#2C446E;color:var(--ivory)}
.btn.ghost:hover{border-color:#5A7096;transform:translateY(-1px)}
.btn.dark{background:var(--navy-800);color:var(--ivory);border-color:var(--navy-800)}
.btn.dark:hover{background:var(--slate);border-color:var(--slate);transform:translateY(-1px)}
.btn.line{background:var(--card);color:var(--navy-900);border-color:var(--rule)}
.btn.line:hover{border-color:var(--navy-800);transform:translateY(-1px)}

.rings{position:absolute;right:-120px;top:-130px;width:560px;height:560px;opacity:.5;pointer-events:none}
.hero{padding:116px 0 0}
.heroInner{position:relative}
.hero h1{font-family:var(--display);font-weight:600;font-size:clamp(2.4rem,5.8vw,4.3rem);line-height:1.05;letter-spacing:-.038em;max-width:18ch}
.hero .sub{margin-top:30px;max-width:54ch;color:var(--mist);font-size:19px}
.heroCta{margin-top:40px;display:flex;flex-wrap:wrap;gap:12px}
.strip{margin-top:96px;border-top:1px solid var(--rule-dark);display:flex;flex-wrap:wrap}
.strip div{flex:1 1 220px;padding:20px 0;display:flex;align-items:center;gap:10px;font-size:11.5px;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:#8C9BB4}
.strip div+div{border-left:1px solid var(--rule-dark);padding-left:26px}
.dot{width:6px;height:6px;border-radius:50%;background:#7FA6D9;flex:none}

.pageHero{padding:88px 0 84px;position:relative}
.pageHero h1{font-family:var(--display);font-weight:600;font-size:clamp(2.1rem,4.8vw,3.4rem);line-height:1.08;letter-spacing:-.032em}
.pageHero .lead{margin-top:22px;max-width:58ch;color:var(--mist);font-size:18.5px}

section{padding:92px 0}
.eyebrow{display:flex;align-items:center;gap:16px;margin-bottom:44px}
.eyebrow::after{content:"";flex:1;height:1px;background:var(--rule)}
.h2s{font-family:var(--display);font-weight:600;font-size:clamp(1.55rem,3.2vw,2.2rem);line-height:1.2;letter-spacing:-.028em;max-width:22ch}
.muted{color:var(--steel);margin-top:16px;max-width:58ch}

.pgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1px;background:var(--rule);border:1px solid var(--rule)}
.pcard{background:var(--card);padding:34px 30px 32px;text-decoration:none;display:block;transition:background .2s}
.pcard:hover{background:#FBFCFD}
.pcard h3{font-family:var(--display);font-size:20px;font-weight:600;line-height:1.3;letter-spacing:-.018em}
.pcard p{margin-top:10px;font-size:15.5px;color:var(--steel);line-height:1.62}
.more{display:inline-block;margin-top:18px;font-size:12px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--slate)}

.split{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:start}
.split .btn{margin-top:28px}
.ilist{list-style:none;border-top:1px solid var(--rule)}
.ilist li{border-bottom:1px solid var(--rule);padding:20px 0;font-size:19px;font-weight:500;letter-spacing:-.014em}

.principles{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:44px}
.principles div{border-top:1px solid var(--navy-800);padding-top:22px}
.principles p{font-size:19px;font-weight:500;line-height:1.5;letter-spacing:-.014em}

.practice{padding:76px 0;border-bottom:1px solid var(--rule)}
.practice:last-child{border-bottom:0}
.pintro{margin-bottom:38px}
.prows{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:1px;background:var(--rule);border:1px solid var(--rule)}
.prows article{background:var(--card);padding:30px 28px}
.prows h3{font-size:19px;font-weight:600;letter-spacing:-.016em;margin-bottom:10px}
.prows p{font-size:15.5px;color:var(--steel);line-height:1.62}

.igrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1px;background:var(--rule);border:1px solid var(--rule)}
.igrid article{background:var(--card);padding:32px 28px}
.igrid h3{font-size:19px;font-weight:600;letter-spacing:-.016em;margin-bottom:10px}
.igrid p{font-size:15.5px;color:var(--steel);line-height:1.62}
.note{border-top:1px solid var(--rule)}
.note .btn{margin-top:26px}

.steps{border-top:1px solid var(--rule)}
.step{display:grid;grid-template-columns:88px 1fr;gap:26px;padding:30px 0;border-bottom:1px solid var(--rule)}
.snum{font-size:22px;font-weight:600;color:#B9C1CC;line-height:1.3;letter-spacing:-.01em}
.sbody h3{font-size:19px;font-weight:600;letter-spacing:-.016em;margin-bottom:8px}
.sbody p{color:var(--steel);font-size:16px;max-width:64ch}

.about{display:grid;grid-template-columns:1.05fr 1fr;gap:64px;align-items:start;padding-top:92px}
.leadp{font-size:23px;font-weight:500;line-height:1.45;letter-spacing:-.02em}
.about .body p+p{margin-top:18px}
.about .body p{color:var(--steel);font-size:16.5px}
.facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:34px}
.facts h4{font-size:11.5px;font-weight:500;letter-spacing:.24em;text-transform:uppercase;color:var(--steel);margin-bottom:8px}
.facts p{font-size:17px}

.prose{max-width:70ch}
.prose h2{margin-top:44px;margin-bottom:12px;font-weight:600;letter-spacing:-.022em}
.prose h2:first-child{margin-top:0}
.prose p{color:var(--steel);margin-bottom:6px}

.cgrid{display:grid;grid-template-columns:1.5fr .75fr;gap:64px;align-items:start;padding-top:88px}
.f2{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.field{display:block;margin-bottom:22px}
.flabel{display:inline-block;font-size:12px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--steel);margin-bottom:9px}
.req{color:#A6543F;margin-left:3px}
input[type=text],input[type=email],input[type=tel],select,textarea{
  width:100%;font-family:var(--sans);font-size:16px;color:var(--navy-900);
  background:var(--card);border:1px solid var(--rule);border-radius:3px;
  padding:13px 14px;transition:border-color .18s;
}
input:focus,select:focus,textarea:focus{border-color:var(--slate);outline:none}
textarea{resize:vertical;line-height:1.6}
select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--steel) 50%),linear-gradient(135deg,var(--steel) 50%,transparent 50%);background-position:calc(100% - 20px) 21px,calc(100% - 14px) 21px;background-size:6px 6px,6px 6px;background-repeat:no-repeat}
.err{display:none;font-style:normal;font-size:13.5px;color:#A6543F;margin-top:7px}
.err.block{margin-top:0;margin-bottom:12px}
.field.bad input,.field.bad textarea{border-color:#C08370}
.field.bad .err,.err.show{display:block}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.consents{margin:30px 0 28px;padding:24px;background:var(--card);border:1px solid var(--rule);border-radius:3px}
.check{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:start;font-size:15px;line-height:1.55;cursor:pointer}
.check+.check{margin-top:16px}
.check input{width:17px;height:17px;margin-top:3px;accent-color:var(--navy-800);flex:none}
.fine{margin-top:16px;font-size:13.5px;color:var(--steel);line-height:1.55}
.submit{margin-top:4px}
.submit[disabled]{opacity:.55;cursor:not-allowed}
.formmsg{margin-top:18px;font-size:15.5px;display:none}
.formmsg.ok{display:block;color:#2C6E49}
.formmsg.bad{display:block;color:#A6543F}
.cside{display:flex;flex-direction:column;gap:1px;background:var(--rule);border:1px solid var(--rule)}
.cbox{background:var(--card);padding:24px 24px 26px}
.cbox h3{font-size:11.5px;font-weight:500;letter-spacing:.22em;text-transform:uppercase;color:var(--steel);margin-bottom:10px}
.cbox a{font-size:15.5px;word-break:break-word}
.cbox p{font-size:15.5px}

.ctaBlock{padding:104px 0}
.ctaBlock h2{font-family:var(--display);font-weight:600;font-size:clamp(1.9rem,4.6vw,3rem);line-height:1.1;letter-spacing:-.034em;max-width:20ch}
.ctaBlock .lead{margin-top:22px;color:var(--mist);max-width:50ch;font-size:18px}
.ctaBlock .links{margin-top:38px;display:flex;flex-wrap:wrap;gap:12px}

footer{background:var(--navy-900);color:#7C8AA3;padding:64px 0 34px}
.fgrid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.2fr;gap:44px;padding-bottom:44px}
.fbrand .mark{width:34px;height:34px;margin-bottom:16px}
.fbrand p{font-size:15px;line-height:1.6;max-width:34ch}
.fcol{display:flex;flex-direction:column;gap:10px}
.fcol h4{font-size:11.5px;font-weight:500;letter-spacing:.22em;text-transform:uppercase;color:var(--ivory);margin-bottom:6px}
.fcol a,.fcol span{font-size:14.5px;text-decoration:none;transition:color .18s;word-break:break-word}
.fcol a:hover{color:var(--ivory)}
.fbar{border-top:1px solid var(--rule-dark);padding-top:26px;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;font-size:11.5px;font-weight:500;letter-spacing:.18em;text-transform:uppercase}
.fbar a{text-decoration:none}
.fbar a:hover{color:var(--ivory)}

@media (max-width:980px){
  .cgrid,.split,.about{grid-template-columns:1fr;gap:40px}
  .fgrid{grid-template-columns:1fr 1fr;gap:36px}
}
@media (max-width:820px){
  .burger{display:flex}
  .nav{position:fixed;inset:80px 0 auto 0;background:var(--navy-800);border-bottom:1px solid var(--rule-dark);flex-direction:column;gap:0;padding:8px 30px 22px;display:none}
  .nav.open{display:flex}
  .nav a{padding:14px 0;border-bottom:1px solid var(--rule-dark);font-size:16px}
  .rings{width:380px;height:380px;right:-150px;top:-90px;opacity:.35}
}
@media (max-width:640px){
  .hero{padding:70px 0 0}
  .strip{margin-top:58px}
  .strip div+div{border-left:none;padding-left:0;border-top:1px solid var(--rule-dark)}
  section,.practice{padding:60px 0}
  .pageHero{padding:56px 0 54px}
  .ctaBlock{padding:72px 0}
  .f2{grid-template-columns:1fr;gap:0}
  .step{grid-template-columns:1fr;gap:10px}
  .snum{font-size:22px}
  .fgrid{grid-template-columns:1fr}
  .rings{display:none}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
