
:root{
  --navy:#0D2238;
  --navy-soft:#17344F;
  --gold:#B69557;
  --gold-soft:#D5C29A;
  --ivory:#F7F5EF;
  --paper:#FFFFFF;
  --ink:#1D2630;
  --muted:#66717D;
  --line:#D9E0E6;
  --soft:#F1F4F6;
  --max:1220px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
a{color:inherit;text-decoration:none}
.container{width:min(var(--max),calc(100% - 48px));margin:0 auto}
.topbar{
  background:var(--navy);
  color:#D9E2E9;
  font-size:.78rem;
  letter-spacing:.03em;
}
.topbar .container{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:7px 0}
.header{
  position:sticky;top:0;z-index:50;
  background:rgba(255,255,255,.97);
  backdrop-filter:blur(10px);
  border-bottom:1px solid var(--line);
}
.nav{display:flex;align-items:center;justify-content:space-between;min-height:82px;gap:28px}
.brand{display:flex;align-items:flex-end;gap:10px;white-space:nowrap}
.brand strong{
  font-family:Georgia,"Times New Roman",serif;
  font-size:1.86rem;
  letter-spacing:.08em;
  color:var(--navy);
  font-weight:700
}
.brand span{
  color:var(--gold);
  font-size:.69rem;
  text-transform:uppercase;
  letter-spacing:.17em;
  font-weight:800;
  padding-bottom:5px;
}
.navlinks{display:flex;align-items:center;gap:25px;font-size:.91rem;font-weight:650;color:#2D3B48}
.navlinks a{position:relative;padding:29px 0}
.navlinks a:after{
  content:"";position:absolute;left:0;right:0;bottom:18px;height:1px;background:transparent
}
.navlinks a:hover,.navlinks a.active{color:var(--navy)}
.navlinks a:hover:after,.navlinks a.active:after{background:var(--gold)}
.btn{
  display:inline-flex;align-items:center;justify-content:center;
  padding:12px 18px;
  border-radius:2px;
  font-weight:750;
  border:1px solid transparent;
  transition:.2s ease;
  letter-spacing:.01em;
}
.btn.primary{background:var(--navy);color:#fff}
.btn.primary:hover{background:var(--navy-soft)}
.btn.secondary{background:#fff;border-color:var(--navy);color:var(--navy)}
.btn.secondary:hover{background:var(--ivory)}
.btn.gold{background:var(--gold);color:#fff}
.menu-btn{display:none;background:transparent;border:0;color:var(--navy);font-size:1.6rem}

.eyebrow{
  text-transform:uppercase;
  letter-spacing:.16em;
  color:var(--gold);
  font-weight:800;
  font-size:.72rem;
}
.hero{
  background:
    radial-gradient(circle at 75% 25%, rgba(182,149,87,.10), transparent 26%),
    linear-gradient(135deg,#FAF9F5 0%,#FFFFFF 48%,#F0F3F5 100%);
  border-bottom:1px solid var(--line);
}
.hero .container{
  display:grid;
  grid-template-columns:1.2fr .8fr;
  gap:84px;
  align-items:center;
  padding:108px 0 92px;
}
.hero h1,.page-hero h1,.section h2,.cta h2{
  font-family:Georgia,"Times New Roman",serif;
  letter-spacing:-.032em;
}
.hero h1{
  color:var(--navy);
  font-size:clamp(3rem,5.4vw,5.5rem);
  line-height:.98;
  margin:.5rem 0 1.4rem;
  font-weight:700;
}
.hero p.lead{
  max-width:760px;
  color:#465561;
  font-size:1.18rem;
  line-height:1.72;
}
.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}
.hero-panel{
  position:relative;
  background:var(--navy);
  color:#fff;
  padding:38px 38px 34px;
  min-height:420px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
}
.hero-panel:before{
  content:"";
  position:absolute;
  left:0;top:0;width:78px;height:4px;background:var(--gold)
}
.hero-panel h3{
  font-family:Georgia,"Times New Roman",serif;
  font-size:1.95rem;
  line-height:1.2;
  margin:12px 0 14px;
}
.hero-panel p{color:#D7E0E7}
.hero-points{display:grid;gap:15px;margin-top:24px}
.hero-point{border-top:1px solid rgba(255,255,255,.15);padding-top:14px}
.hero-point strong{display:block;color:var(--gold-soft);font-size:.84rem;text-transform:uppercase;letter-spacing:.08em;margin-bottom:4px}

.section{padding:92px 0}
.section.alt{background:var(--ivory)}
.section.dark{background:var(--navy);color:#fff}
.section h2{
  color:var(--navy);
  font-size:clamp(2.25rem,3.8vw,3.8rem);
  line-height:1.07;
  margin:.45rem 0 1.15rem;
}
.section.dark h2{color:#fff}
.section .intro{
  max-width:860px;
  color:var(--muted);
  font-size:1.08rem;
  margin-bottom:38px
}
.section.dark .intro{color:#CBD6DF}

.rule{width:56px;height:2px;background:var(--gold);margin:20px 0 26px}
.grid{display:grid;gap:22px}
.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}
.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}
.grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}
.card{
  background:#fff;
  border:1px solid var(--line);
  padding:30px 28px;
  min-height:200px;
}
.card h3{color:var(--navy);font-size:1.18rem;margin:.25rem 0 .65rem}
.card p{color:var(--muted);margin:0}
.card .num{
  color:var(--gold);
  font-family:Georgia,"Times New Roman",serif;
  font-size:1.75rem;
  margin-bottom:14px;
}
.choice{
  background:#fff;
  border:1px solid var(--line);
  padding:38px;
  min-height:330px;
  display:flex;
  flex-direction:column;
  justify-content:space-between
}
.choice h3{
  color:var(--navy);
  font-family:Georgia,"Times New Roman",serif;
  font-size:2.05rem;
  line-height:1.12;
  margin:13px 0 16px
}
.choice p{color:var(--muted)}
.badge{
  display:inline-block;
  padding:7px 10px;
  background:#F0E9DC;
  color:#705B2C;
  text-transform:uppercase;
  letter-spacing:.11em;
  font-size:.71rem;
  font-weight:800
}

.path{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
  margin-top:36px
}
.path div{
  padding:28px 22px;
  border-right:1px solid var(--line);
  min-height:165px
}
.path div:last-child{border-right:0}
.path b{
  display:block;
  color:var(--gold);
  letter-spacing:.13em;
  font-size:.72rem;
  text-transform:uppercase;
  margin-bottom:8px
}
.path strong{color:var(--navy)}
.path p{color:var(--muted);font-size:.92rem}

.platform{
  display:grid;
  grid-template-columns:.9fr 1.1fr;
  gap:60px;
  align-items:start
}
.platform-list{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.pill{
  background:#fff;
  border:1px solid var(--line);
  border-left:3px solid var(--gold);
  padding:18px 20px
}
.pill strong{display:block;color:var(--navy);margin-bottom:4px}
.pill span,.pill{color:var(--muted);font-size:.94rem}

.quote{
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(1.8rem,3.2vw,3.15rem);
  line-height:1.2;
  color:var(--navy);
  max-width:980px
}
.dark .quote{color:#fff}
.note{
  border-left:2px solid var(--gold);
  padding-left:14px;
  color:var(--muted);
  font-size:.9rem
}
.cta{
  background:var(--navy);
  color:#fff;
  padding:54px 58px;
  display:grid;
  grid-template-columns:1fr auto;
  gap:35px;
  align-items:center
}
.cta h2{color:#fff;font-size:2.25rem;margin:0 0 8px}
.cta p{color:#D2DCE4;margin:0;max-width:760px}

.page-hero{
  background:linear-gradient(135deg,#FAF8F2,#F1F4F6);
  border-bottom:1px solid var(--line);
  padding:84px 0 66px
}
.page-hero h1{
  color:var(--navy);
  font-size:clamp(2.8rem,5vw,4.8rem);
  line-height:1.02;
  margin:.5rem 0 1rem
}
.page-hero p{
  max-width:880px;
  color:#4E5C68;
  font-size:1.14rem
}

.checks{list-style:none;padding:0;margin:24px 0 0;max-width:900px}
.checks li{position:relative;padding:11px 0 11px 30px;border-bottom:1px solid var(--line)}
.checks li:before{content:"—";position:absolute;left:0;color:var(--gold);font-weight:900}

.contact{display:grid;grid-template-columns:.82fr 1.18fr;gap:54px}
.contact-box{background:var(--ivory);padding:28px}
form{display:grid;gap:14px}
label{font-size:.84rem;font-weight:800;color:var(--navy)}
input,select,textarea{width:100%;border:1px solid #C9D2DA;padding:12px 13px;font:inherit;background:#fff}
textarea{min-height:150px}
.article-list{display:grid;gap:24px}
.article{padding-bottom:24px;border-bottom:1px solid var(--line)}
.article h3{font-family:Georgia,"Times New Roman",serif;color:var(--navy);font-size:1.55rem;margin:.3rem 0 .5rem}
.kicker{color:var(--gold);text-transform:uppercase;letter-spacing:.13em;font-weight:800;font-size:.72rem}

.footer{background:#0A1B2C;color:#C8D3DD;padding:52px 0 24px}
.footer-grid{display:grid;grid-template-columns:1.3fr .7fr .7fr;gap:40px}
.footer h4{color:#fff;margin:0 0 12px}
.footer p,.footer small{color:#AFC0CF}
.footer .brand strong{color:#fff}
.footer-bottom{border-top:1px solid rgba(255,255,255,.12);padding-top:20px;margin-top:34px;font-size:.8rem;color:#9FB1BF}
.legal-links{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:10px}
.legal-links a{color:#D6E0E7}

@media(max-width:960px){
  .navlinks{display:none;position:absolute;left:0;right:0;top:82px;background:#fff;padding:18px 24px;border-bottom:1px solid var(--line);flex-direction:column;align-items:flex-start}
  .navlinks.open{display:flex}
  .navlinks a{padding:8px 0}
  .navlinks a:after{display:none}
  .menu-btn{display:block}
  .hero .container,.platform,.contact{grid-template-columns:1fr}
  .hero .container{padding:74px 0 64px}
  .grid.four,.grid.three{grid-template-columns:repeat(2,1fr)}
  .path{grid-template-columns:1fr}
  .path div{border-right:0;border-bottom:1px solid var(--line)}
  .cta{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:640px){
  .container{width:min(var(--max),calc(100% - 28px))}
  .topbar .container{flex-direction:column;align-items:flex-start;gap:2px}
  .brand strong{font-size:1.45rem}
  .brand span{display:none}
  .section{padding:66px 0}
  .grid.two,.grid.three,.grid.four,.platform-list{grid-template-columns:1fr}
  .hero-panel{min-height:auto}
  .choice{min-height:auto}
  .cta{padding:36px 28px}
  .footer-grid{grid-template-columns:1fr}
}

.tech-hero{background:linear-gradient(135deg,#0D2238 0%,#17344F 65%,#274B67 100%);color:#fff;padding:90px 0 76px;border-bottom:1px solid #28465F}
.tech-hero h1{font-family:Georgia,"Times New Roman",serif;font-size:clamp(2.8rem,5vw,4.8rem);line-height:1.02;letter-spacing:-.032em;margin:.5rem 0 1rem}
.tech-hero p{max-width:880px;color:#D3DDE5;font-size:1.15rem}
.tech-hero .eyebrow{color:#D5C29A}
.capability{display:grid;grid-template-columns:80px 1fr;gap:20px;padding:26px 0;border-bottom:1px solid var(--line)}
.capability .icon{font-family:Georgia,"Times New Roman",serif;color:var(--gold);font-size:2rem}
.capability h3{margin:0 0 6px;color:var(--navy)}
.capability p{margin:0;color:var(--muted)}
.architecture{background:var(--navy);color:#fff;padding:34px}
.architecture .row{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;gap:12px;align-items:center;text-align:center}
.architecture .node{border:1px solid rgba(255,255,255,.2);padding:18px 12px}
.architecture .arrow{color:#D5C29A;font-size:1.4rem}
@media(max-width:760px){.architecture .row{grid-template-columns:1fr}.architecture .arrow{transform:rotate(90deg)}.capability{grid-template-columns:55px 1fr}}

.lang-switch{display:flex;gap:8px;align-items:center;margin-left:4px}.lang-switch a{font-size:.76rem;font-weight:800;letter-spacing:.08em;color:var(--muted);padding:6px 0}.lang-switch a.active{color:var(--gold)}.lang-switch span{color:#B9C2CA}.priority-strip{display:grid;grid-template-columns:1.45fr .55fr;gap:22px}.priority-main{background:#fff;border:1px solid var(--line);padding:36px}.priority-side{background:var(--navy);color:#fff;padding:36px}.priority-side h3{font-family:Georgia,"Times New Roman",serif;font-size:1.7rem;margin:8px 0 14px}.priority-side p{color:#D5DEE6}@media(max-width:900px){.priority-strip{grid-template-columns:1fr}}

.section-anchor{scroll-margin-top:110px}.onepage-nav a{white-space:nowrap}@media(max-width:1050px){.onepage-nav{gap:13px}.onepage-nav a{font-size:.81rem}}

/* V11: responsive navigation, consistent section hierarchy, accessibility */
.section[id],.hero[id]{scroll-margin-top:104px}.section h2{font-size:clamp(2rem,3.3vw,3.1rem);line-height:1.15;max-width:1020px}.hero .container{padding:68px 0;gap:50px}.hero h1{font-size:clamp(2.7rem,4.5vw,4.6rem);line-height:1.08}.hero-panel{min-height:300px}.hero-panel h3{font-family:Georgia,serif;font-size:2.1rem;line-height:1.2}.intro{max-width:970px}.card p{font-size:1rem}.section.dark p{color:#d4dee7}.onepage-nav{gap:17px}.onepage-nav a{font-size:.875rem}.eyebrow{color:#866a35;font-size:.875rem}.dark .eyebrow,.hero-panel .eyebrow{color:#d5c29a}.note a,main p a,main li a{text-decoration:underline;text-underline-offset:3px}label{font-size:.95rem}button{cursor:pointer}input,select,textarea{border-radius:2px}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #b69557;outline-offset:4px}.skip{position:fixed;top:-80px;left:12px;z-index:100;background:#fff;padding:12px}.skip:focus{top:8px}.navlinks a[aria-current="location"]:after{background:var(--gold)}.card{height:100%}.footer a:hover{text-decoration:underline}
@media(max-width:1180px){.menu-btn{display:block}.navlinks{display:none;position:absolute;left:0;right:0;top:82px;background:#fff;padding:16px 24px;border-bottom:1px solid var(--line);flex-direction:column;align-items:flex-start;max-height:calc(100vh - 90px);overflow:auto;gap:2px}.navlinks.open{display:flex}.navlinks a{padding:8px 0}.navlinks a:after{display:none}}
@media(max-width:640px){.hero .container{padding:45px 0;gap:28px}.section{padding:52px 0}.hero-panel{padding:26px}.btn{width:100%;text-align:center}.path div{padding:20px}.contact{gap:28px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
