/* GRT — Blueprint Engineering theme */
:root{
  --ink:#0d2137; --blue:#0a2a52; --deep:#061a36; --cyan:#0ea5c9; --cyan2:#38c6e8;
  --paper:#f7fafc; --line:#c9dcea; --mut:#4a6478; --mono:"SFMono-Regular",Consolas,"Liberation Mono",Menlo,monospace;
}
*{box-sizing:border-box}
body{margin:0;font-family:"Segoe UI",system-ui,-apple-system,Arial,sans-serif;color:var(--ink);background:var(--paper);line-height:1.65}
a{color:var(--cyan);text-decoration:none}
a:hover{text-decoration:underline}
header{background:var(--deep);border-bottom:2px solid var(--cyan);position:sticky;top:0;z-index:50}
.hin{max-width:1220px;margin:0 auto;display:flex;align-items:center;gap:26px;padding:0 20px;min-height:64px}
.brand{display:flex;align-items:center}
.logo{display:inline-flex;align-items:center;gap:10px;color:#fff;font-weight:700;letter-spacing:.04em}
.logo .mark{font-family:var(--mono);background:var(--cyan);color:#04263b;padding:3px 8px;border-radius:2px;font-weight:700}
.logo small{display:block;font-weight:400;font-size:11px;color:#9fc6dd;letter-spacing:.14em;text-transform:uppercase}
nav{margin-left:auto}
ul.nav{list-style:none;margin:0;padding:0;display:flex;gap:4px}
ul.nav>li{position:relative}
ul.nav>li>a{color:#e7f2f9;display:block;padding:22px 12px;font-size:15px}
ul.nav>li>a:hover{color:#fff;text-decoration:none;background:rgba(56,198,232,.12)}
ul.nav .car{font-size:10px;color:var(--cyan2)}
ul.nav ul.menu{display:none;position:absolute;left:0;top:100%;background:#fff;min-width:250px;list-style:none;margin:0;padding:8px 0;box-shadow:0 14px 34px rgba(4,32,58,.28);border-top:3px solid var(--cyan);z-index:60}
ul.nav li.has-menu:hover ul.menu,ul.nav li.has-menu:focus-within ul.menu{display:block}
ul.nav ul.menu a{color:var(--ink);display:block;padding:8px 18px;font-size:14px}
ul.nav ul.menu a:hover{background:#eaf5fb;text-decoration:none}
.hcta{background:var(--cyan);color:#fff!important;padding:9px 18px;border-radius:2px;font-weight:600;white-space:nowrap}
.hcta:hover{background:#0b8cae;text-decoration:none}
.hero{background:linear-gradient(160deg,var(--deep) 0%,var(--blue) 70%);color:#eaf4fb;position:relative;overflow:hidden}
.hero::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(120,200,240,.09) 1px,transparent 1px),linear-gradient(90deg,rgba(120,200,240,.09) 1px,transparent 1px);background-size:44px 44px}
.hero-in{max-width:1220px;margin:0 auto;padding:64px 20px 30px;position:relative}
.kicker{font-family:var(--mono);text-transform:uppercase;letter-spacing:.22em;font-size:12px;color:var(--cyan);margin:0 0 12px}
.hero .kicker{color:var(--cyan2)}
.hero h1{font-size:46px;line-height:1.12;margin:0 0 18px;max-width:820px;color:#fff}
.lede{font-size:18px;max-width:760px;color:#c3dcee}
.hero .lede{color:#c3dcee}
.hero-cta{display:flex;gap:14px;margin:26px 0 8px;flex-wrap:wrap}
.btn{background:var(--cyan);color:#fff;padding:12px 26px;border-radius:2px;font-weight:600;display:inline-block}
.btn:hover{background:#0b8cae;text-decoration:none}
.btn.ghost{background:transparent;border:1px solid var(--cyan2);color:#dff3fd}
.evidence{max-width:1220px;margin:0 auto;padding:6px 20px 54px;position:relative}
.pathline{display:flex;align-items:center;gap:0;flex-wrap:wrap;margin-top:10px}
.node{font-family:var(--mono);font-size:12px;border:1px solid var(--cyan2);color:#eaf7ff;padding:7px 12px;background:rgba(6,26,54,.65);border-radius:2px;text-align:center}
.node b{display:block;font-size:14px;color:#fff}
.seg{flex:0 0 44px;height:2px;background:repeating-linear-gradient(90deg,var(--cyan2) 0 6px,transparent 6px 11px);margin:0 4px}
.evstats{display:flex;gap:34px;flex-wrap:wrap;margin-top:28px}
.evstats div{border-left:3px solid var(--cyan);padding-left:12px}
.evstats b{display:block;font-size:26px;color:#fff;font-family:var(--mono)}
.evstats span{font-size:13px;color:#a9cade;text-transform:uppercase;letter-spacing:.1em}
.hero .hero-fig{max-width:1220px;margin:0 auto;padding:0 20px 50px;position:relative}
.hero-fig img{width:100%;max-height:380px;object-fit:cover;border:1px solid rgba(120,200,240,.4);display:block}
main{max-width:1220px;margin:0 auto;padding:0 20px}
.home-main{padding-top:10px}
.phead{padding:44px 0 8px;border-bottom:2px solid var(--ink);margin-bottom:8px}
.phead h1{font-size:38px;line-height:1.15;margin:0 0 12px}
.crumb{font-family:var(--mono);font-size:12px;color:var(--mut);margin:0 0 16px;text-transform:uppercase;letter-spacing:.12em}
.crumb a{color:var(--mut)}
.phead .hero-fig{margin:20px 0 6px}
.phead .hero-fig img{width:100%;max-height:340px;object-fit:cover;display:block;border:1px solid var(--line)}
.prose{max-width:880px}
.prose h2{font-size:26px;margin:38px 0 12px;padding-top:18px;border-top:1px solid var(--line);position:relative}
.prose h2::before{content:"";position:absolute;top:-1px;left:0;width:64px;height:3px;background:var(--cyan)}
.prose p{margin:0 0 16px;color:#22394e}
ul.ticks{list-style:none;padding:0;margin:0 0 18px}
ul.ticks li{padding:7px 0 7px 28px;position:relative;border-bottom:1px dashed var(--line)}
ul.ticks li::before{content:"▸";position:absolute;left:4px;color:var(--cyan);font-weight:700}
.specwrap{overflow-x:auto;margin:0 0 22px}
table.spec{border-collapse:collapse;width:100%;background:#fff;border:1px solid var(--line)}
table.spec th{font-family:var(--mono);font-size:13px;text-align:left;background:#eaf3f9;color:var(--blue);padding:9px 14px;border-bottom:1px solid var(--line);width:34%;vertical-align:top}
table.spec td{padding:9px 14px;border-bottom:1px solid var(--line);font-size:15px}
.faq details{background:#fff;border:1px solid var(--line);margin:0 0 10px;padding:4px 18px}
.faq summary{cursor:pointer;font-weight:600;padding:10px 0;color:var(--blue)}
.faq details p{margin:0 0 14px}
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(255px,1fr));gap:16px;margin:6px 0 26px}
.card{background:#fff;border:1px solid var(--line);padding:20px;display:flex;flex-direction:column;gap:8px;position:relative;color:var(--ink)}
.card::before,.card::after{content:"";position:absolute;width:14px;height:14px;border-color:var(--cyan);border-style:solid}
.card::before{top:-1px;left:-1px;border-width:2px 0 0 2px}
.card::after{bottom:-1px;right:-1px;border-width:0 2px 2px 0}
.card:hover{text-decoration:none;border-color:var(--cyan)}
.card-t{font-weight:700;font-size:17px;color:var(--blue)}
.card-x{font-size:14px;color:var(--mut);flex:1}
.card-go{font-family:var(--mono);font-size:12px;color:var(--cyan);text-transform:uppercase;letter-spacing:.12em}
.related{max-width:880px;background:#eef6fb;border:1px solid var(--line);padding:18px 24px;margin:26px 0}
.related h3{margin:0 0 8px;font-size:16px;font-family:var(--mono);text-transform:uppercase;letter-spacing:.1em;color:var(--blue)}
.related ul{margin:0;padding-left:18px}
.ctaband{background:var(--blue);color:#eaf4fb;padding:34px 30px;margin:36px 0 54px;position:relative;overflow:hidden}
.ctaband::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(120,200,240,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(120,200,240,.08) 1px,transparent 1px);background-size:44px 44px}
.ctaband h2{margin:0 0 8px;color:#fff;position:relative}
.ctaband p{position:relative;max-width:640px}
.ctaband .btn{position:relative}
section.block{margin:0 0 10px}
section.block>h2{font-size:28px;margin:34px 0 6px}
footer{background:var(--deep);color:#b8d2e4;margin-top:0}
.finner{max-width:1220px;margin:0 auto;padding:46px 20px 26px;display:flex;gap:44px;flex-wrap:wrap}
.fbrand{max-width:300px}
.fbrand p{font-size:14px}
.fcontact{font-family:var(--mono);font-size:13px;color:#dff1fc}
.fcol h4{color:#fff;font-size:14px;text-transform:uppercase;letter-spacing:.12em;margin:4px 0 12px}
.fcol ul{list-style:none;margin:0;padding:0}
.fcol li{margin:0 0 7px}
.fcol a{color:#b8d2e4;font-size:14px}
.fbar{border-top:1px solid rgba(140,190,220,.25);padding:16px 20px;max-width:1220px;margin:0 auto;display:flex;justify-content:space-between;font-family:var(--mono);font-size:12px;color:#7fa5bd}
form.inq{background:#fff;border:1px solid var(--line);padding:26px;max-width:680px}
form.inq label{display:block;font-weight:600;margin:0 0 6px;font-size:14px}
form.inq input,form.inq textarea,form.inq select{width:100%;padding:11px 12px;border:1px solid #a9c4d6;margin:0 0 18px;font:inherit;background:#fbfdff}
form.inq button{background:var(--cyan);color:#fff;border:0;padding:13px 30px;font-weight:700;cursor:pointer}
@media (max-width:820px){
  .hin{flex-wrap:wrap;padding:10px 16px;gap:10px}
  nav{margin-left:0;width:100%;overflow-x:auto}
  ul.nav{flex-wrap:nowrap}
  ul.nav>li>a{padding:10px 8px;font-size:14px;white-space:nowrap}
  .hcta{display:none}
  .hero h1{font-size:32px}
  .phead h1{font-size:29px}
  .seg{flex-basis:22px}
  .fbar{flex-direction:column;gap:6px}
}

/* i18n language switcher (details dropdown; panel is an overlay, no layout shift) */
.lang-switch{position:relative;margin-left:10px;flex:none}
.lang-switch summary{list-style:none;cursor:pointer;color:#e7f2f9;font-size:14px;padding:9px 12px;border:1px solid rgba(56,198,232,.45);border-radius:2px;white-space:nowrap;background:rgba(56,198,232,.08)}
.lang-switch summary::-webkit-details-marker{display:none}
.lang-switch summary:hover{color:#fff;background:rgba(56,198,232,.16)}
.lang-switch .chev{color:var(--cyan2);font-size:10px}
.lang-switch ul{display:none}
.lang-switch[open ] ul{display:block;position:absolute;right:0;top:calc(100% + 8px);background:#fff;min-width:180px;list-style:none;margin:0;padding:8px 0;box-shadow:0 14px 34px rgba(4,32,58,.28);border-top:3px solid var(--cyan);z-index:80}
.lang-switch ul li{margin:0;padding:0}
.lang-switch ul a{color:var(--ink);display:block;padding:8px 18px;font-size:14px}
.lang-switch ul a:hover{background:#eaf5fb;text-decoration:none}
.lang-switch ul .cur{display:block;padding:8px 18px;font-size:14px;color:#0b8cae;font-weight:600}
@media (max-width:760px){.lang-switch{margin-left:4px}.lang-switch summary{padding:7px 9px;font-size:13px}}
