
:root{
  --ink:#0B1F2A;
  --ink-2:#183440;
  --paper:#F5F3ED;
  --white:#FFFFFF;
  --mist:#E8ECEA;
  --line:#CAD3D0;
  --north:#082A5E;
  --quiet:#66767B;
  --max:1180px;
  --radius:22px;
  --shadow:0 18px 60px rgba(11,31,42,.08);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  color:var(--ink);
  background:var(--paper);
  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}
img{max-width:100%;display:block}
button,input,textarea,select{font:inherit}
.container{width:min(calc(100% - 40px),var(--max));margin-inline:auto}
.eyebrow{font-size:.74rem;letter-spacing:.18em;text-transform:uppercase;font-weight:700;color:var(--north)}
.display{
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(3.1rem,7vw,7.2rem);
  font-weight:400;
  line-height:.94;
  letter-spacing:-.055em;
  margin:0;
}
.h1{font-family:Georgia,"Times New Roman",serif;font-size:clamp(2.7rem,5.5vw,5.4rem);line-height:.98;letter-spacing:-.045em;font-weight:400;margin:.35em 0}
.h2{font-family:Georgia,"Times New Roman",serif;font-size:clamp(2rem,4vw,3.5rem);line-height:1.05;letter-spacing:-.035em;font-weight:400;margin:.3em 0}
.h3{font-size:1.2rem;line-height:1.25;margin:.2em 0 .6em}
.lede{font-size:clamp(1.15rem,2vw,1.45rem);line-height:1.55;color:var(--ink-2);max-width:760px}
.muted{color:var(--quiet)}
.small{font-size:.9rem}
.rule{height:1px;background:var(--line)}
.header{
  position:sticky;top:0;z-index:50;
  background:color-mix(in srgb,var(--paper) 90%,transparent);
  backdrop-filter:blur(18px);
  border-bottom:1px solid rgba(11,31,42,.08)
}
.nav{height:84px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand img{width:290px;height:auto}
.navlinks{display:flex;gap:25px;align-items:center;font-size:.9rem;font-weight:600}
.navlinks a{position:relative}
.navlinks a:not(.button)::after{content:"";position:absolute;left:0;right:100%;bottom:-8px;height:1px;background:var(--ink);transition:.25s}
.navlinks a:hover::after,.navlinks a.active::after{right:0}
.button{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  border:1px solid var(--ink);padding:13px 19px;border-radius:999px;
  font-size:.9rem;font-weight:700;transition:.2s;background:transparent
}
.button:hover{transform:translateY(-1px);background:var(--ink);color:var(--white)}
.button.dark{background:var(--ink);color:var(--white)}
.button.dark:hover{background:var(--north);border-color:var(--north)}
.mobile-toggle{display:none;background:none;border:0;font-size:1.5rem;color:var(--ink)}
.hero{min-height:calc(100vh - 84px);display:grid;align-items:end;padding:90px 0 60px;overflow:hidden;position:relative}
.hero::before{
  content:"";position:absolute;right:-15vw;top:8vh;width:58vw;height:58vw;border-radius:50%;
  border:1px solid rgba(8,42,94,.16);box-shadow:0 0 0 80px rgba(8,42,94,.035),0 0 0 160px rgba(8,42,94,.025);
  pointer-events:none
}
.hero-grid{display:grid;grid-template-columns:1.55fr .65fr;gap:70px;align-items:end;position:relative}
.hero-side{border-left:1px solid var(--line);padding-left:28px}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:34px}
.section{padding:105px 0}
.section.white{background:var(--white)}
.section.ink{background:var(--ink);color:var(--white)}
.section-head{display:grid;grid-template-columns:.7fr 1.3fr;gap:70px;margin-bottom:55px}
.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.card{border:1px solid var(--line);border-radius:var(--radius);padding:30px;background:rgba(255,255,255,.38)}
.white .card{background:var(--white)}
.card-num{font-family:Georgia,serif;font-size:2.5rem;color:var(--north);line-height:1}
.card p{color:var(--quiet)}
.ink .card{border-color:rgba(255,255,255,.18);background:rgba(255,255,255,.04)}
.ink .card p{color:#C7D1D1}
.client-question{
  font-family:Georgia,serif;font-size:clamp(2rem,4vw,4rem);line-height:1.08;
  max-width:950px;margin:0
}
.path{display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid var(--line);margin-top:50px}
.path-item{padding:24px 18px 0 0;position:relative}
.path-item::before{content:"";width:9px;height:9px;background:var(--north);border-radius:50%;position:absolute;top:-5px;left:0}
.path-item strong{display:block;margin-bottom:8px}
.quote{font-family:Georgia,serif;font-size:clamp(2rem,4.5vw,4.2rem);line-height:1.08;letter-spacing:-.035em;max-width:1000px}
.split{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:start}
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
.stat{background:var(--paper);padding:26px}
.stat strong{display:block;font-family:Georgia,serif;font-size:2.3rem;font-weight:400}
.service-list{border-top:1px solid var(--line)}
.service-row{display:grid;grid-template-columns:80px 1fr 1fr;gap:25px;padding:34px 0;border-bottom:1px solid var(--line);align-items:start}
.service-row .num{font-family:Georgia,serif;font-size:1.6rem;color:var(--north)}
.service-row h3{font-family:Georgia,serif;font-size:1.8rem;font-weight:400;margin:0}
.service-row p{margin:0;color:var(--quiet)}
.pill{display:inline-block;border:1px solid var(--line);border-radius:999px;padding:8px 12px;font-size:.76rem;font-weight:700;margin:4px 4px 4px 0}
.founder{display:grid;grid-template-columns:.7fr 1.3fr;gap:70px;align-items:start}
.founder-card{border:1px solid var(--line);border-radius:var(--radius);padding:28px}
.founder-mark{width:72px;height:72px;margin-bottom:25px}
.list{list-style:none;padding:0;margin:24px 0}
.list li{padding:14px 0;border-bottom:1px solid var(--line)}
.list li::before{content:"→";margin-right:12px;color:var(--north)}
.cta{padding:80px 0}
.cta-box{border-radius:32px;background:var(--ink);color:white;padding:clamp(35px,6vw,75px)}
.cta-box .lede{color:#D4DDDC}
.footer{background:#07171E;color:#C9D2D0;padding:70px 0 25px}
.footer-grid{display:grid;grid-template-columns:1.2fr .8fr .8fr;gap:50px}
.footer a:hover{color:white}
.footer-logo{filter:none;width:250px;margin-bottom:18px}
.footer-bottom{border-top:1px solid rgba(255,255,255,.13);margin-top:45px;padding-top:20px;display:flex;justify-content:space-between;gap:20px;font-size:.82rem}
.page-hero{padding:100px 0 70px;border-bottom:1px solid var(--line)}
.breadcrumb{font-size:.8rem;color:var(--quiet)}
.insight{border-top:1px solid var(--line);padding:28px 0;display:grid;grid-template-columns:150px 1fr 110px;gap:25px;align-items:start}
.insight h3{font-family:Georgia,serif;font-size:1.7rem;font-weight:400;margin:0}
.form{display:grid;gap:16px}
.field{display:grid;gap:7px}
.field label{font-size:.82rem;font-weight:700}
.field input,.field textarea,.field select{
  width:100%;border:1px solid var(--line);border-radius:13px;background:white;padding:14px 15px;color:var(--ink)
}
.field textarea{min-height:150px;resize:vertical}
.notice{padding:15px 18px;border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.45);font-size:.86rem;color:var(--quiet)}
.reveal{opacity:0;transform:translateY(16px);transition:opacity .65s ease,transform .65s ease}
.reveal.on{opacity:1;transform:none}
@media(max-width:900px){
  .nav{height:74px}.brand img{width:245px}
  .mobile-toggle{display:block}
  .navlinks{display:none;position:absolute;left:20px;right:20px;top:78px;background:var(--paper);border:1px solid var(--line);border-radius:18px;padding:20px;flex-direction:column;align-items:stretch;box-shadow:var(--shadow)}
  .navlinks.open{display:flex}
  .hero{min-height:auto;padding:80px 0}
  .hero-grid,.section-head,.split,.founder{grid-template-columns:1fr;gap:35px}
  .hero-side{border-left:0;border-top:1px solid var(--line);padding:24px 0 0}
  .grid-3{grid-template-columns:1fr}
  .grid-2{grid-template-columns:1fr}
  .path{grid-template-columns:1fr}
  .path-item{border-left:1px solid var(--line);padding:0 0 28px 24px}
  .path-item::before{left:-5px;top:7px}
  .service-row{grid-template-columns:55px 1fr}.service-row p{grid-column:2}
  .stats{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr}
  .insight{grid-template-columns:1fr;gap:8px}
  .footer-bottom{flex-direction:column}
}
@media(prefers-reduced-motion:reduce){
  *{scroll-behavior:auto!important;transition:none!important}
  .reveal{opacity:1;transform:none}
}

.botcheck{display:none!important}.splitforms-attribution{font-size:.78rem;color:var(--quiet);text-align:right;margin:.4rem 0 0}.splitforms-attribution a{text-decoration:underline;text-underline-offset:3px}

/* EraNorth Strategic AI */
.en-ai-fab{position:fixed;right:24px;bottom:24px;z-index:90;display:flex;align-items:center;gap:10px;padding:11px 17px;border-radius:999px;border:1px solid rgba(255,255,255,.10);background:#0B1F2A;color:#fff;box-shadow:0 15px 38px rgba(11,31,42,.24);font-weight:750;cursor:pointer}
.en-ai-fab:hover{transform:translateY(-1px)}
.en-ai-fab-icon{display:grid;place-items:center;width:28px;height:28px;border-radius:8px;background:linear-gradient(135deg,#176FFF,#55CBFF);font-size:.67rem;font-weight:900;letter-spacing:.04em}
.en-ai-panel{position:fixed;right:24px;bottom:88px;z-index:95;width:min(430px,calc(100vw - 28px));max-height:min(78vh,760px);display:flex;flex-direction:column;border:1px solid rgba(11,31,42,.12);border-radius:26px;background:rgba(255,255,255,.98);box-shadow:0 26px 70px rgba(11,31,42,.22);overflow:hidden}
.en-ai-panel[hidden]{display:none}
.en-ai-head{display:flex;align-items:center;justify-content:space-between;padding:18px;border-bottom:1px solid var(--line)}
.en-ai-brand{display:flex;align-items:center;gap:12px}
.en-ai-brand img{width:42px;height:42px}
.en-ai-name{font-weight:850;letter-spacing:.025em;font-size:.92rem}
.en-ai-sub{font-size:.76rem;color:var(--quiet);font-weight:650}
.en-ai-close{border:none;background:#EEF1EF;width:38px;height:38px;border-radius:50%;font-size:21px;cursor:pointer}
.en-ai-chips{display:flex;gap:7px;flex-wrap:wrap;padding:13px 18px 7px;border-bottom:1px solid rgba(202,211,208,.5)}
.en-ai-chip{padding:7px 11px;border-radius:999px;border:1px solid var(--line);background:#fff;font-size:.79rem;font-weight:700;cursor:pointer}
.en-ai-body{padding:15px 18px;overflow:auto;display:flex;flex-direction:column;gap:12px;min-height:300px;max-height:52vh;background:#F7F8F7}
.en-ai-msg{padding:14px 16px;border-radius:17px;line-height:1.55;font-size:.93rem}
.en-ai-msg.bot{background:#fff;color:#18272E;align-self:flex-start;max-width:92%;border:1px solid #E5E9E7}
.en-ai-msg.user{background:#0B1F2A;color:#fff;align-self:flex-end;max-width:90%}
.en-ai-form{display:flex;gap:9px;padding:13px 14px;background:#fff;border-top:1px solid var(--line)}
.en-ai-input{flex:1;min-width:0;padding:13px 14px;border-radius:16px;border:1px solid var(--line);font:inherit}
.en-ai-send{width:50px;border:none;border-radius:16px;background:#0B1F2A;color:#fff;font-size:20px;cursor:pointer}
.en-ai-send:disabled{opacity:.55}
.en-ai-note{padding:0 16px 13px;background:#fff;color:var(--quiet);font-size:.72rem}
@media(max-width:760px){
  .en-ai-panel{right:10px;left:10px;bottom:78px;width:auto;max-height:82vh}
  .en-ai-fab{right:12px;bottom:12px}
}



/* EraNorth brand refresh */
:root{
  --navy-900:#071019;
  --navy-850:#0B1620;
  --navy-800:#0E1C29;
  --navy-700:#142232;
  --blue-500:#1F8FFF;
  --blue-400:#55D6FF;
  --silver-100:#E8EEF7;
  --silver-300:#BBC8D9;
}
body{
  background:
    radial-gradient(1200px 520px at 82% -8%, rgba(31,143,255,.10), transparent 45%),
    radial-gradient(900px 400px at 18% 0%, rgba(85,214,255,.06), transparent 40%),
    linear-gradient(180deg, #F8FBFF 0%, #F5F7FA 100%);
}
.site-header,
header.site-header{
  background: rgba(8,16,24,.82) !important;
  border-color: rgba(255,255,255,.08) !important;
  box-shadow: 0 20px 50px rgba(6,14,22,.28);
  backdrop-filter: blur(18px) saturate(135%);
  -webkit-backdrop-filter: blur(18px) saturate(135%);
}
.site-header .navlinks a,
header.site-header .navlinks a,
.site-header nav a{
  color: rgba(255,255,255,.86) !important;
}
.site-header .navlinks a:hover,
header.site-header .navlinks a:hover,
.site-header nav a:hover{
  color: #ffffff !important;
}
.site-header .navlinks .active,
header.site-header .navlinks .active{
  color: #fff !important;
  border-bottom-color: var(--blue-400) !important;
}
.brand-logo,
.brand-wordmark{
  display:block;
  width:auto;
  height:44px !important;
  max-width:min(290px, 55vw);
  object-fit:contain;
  filter: drop-shadow(0 6px 20px rgba(31,143,255,.18));
}
.brand-wordmark-footer{
  height:38px !important;
  width:auto;
  max-width:250px;
}
@media (max-width: 760px){
  .brand-logo,
  .brand-wordmark{
    height:34px !important;
    max-width:220px;
  }
}
.hero,
.hero-section,
.page-hero{
  background:
    radial-gradient(900px 380px at 80% 8%, rgba(31,143,255,.20), transparent 42%),
    linear-gradient(180deg, #081018 0%, #0D1924 100%) !important;
  color:#fff !important;
}
.hero p,
.hero-section p,
.page-hero p,
.hero .eyebrow,
.hero-section .eyebrow{
  color: rgba(255,255,255,.82) !important;
}
.hero h1,
.hero-section h1,
.page-hero h1{
  color:#fff !important;
}
.hero .btn-primary,
.hero-section .btn-primary,
.page-hero .btn-primary{
  background: linear-gradient(135deg, var(--blue-500), var(--blue-400)) !important;
  color:#071019 !important;
  border: none !important;
}
.hero .btn-secondary,
.hero-section .btn-secondary,
.page-hero .btn-secondary{
  background: transparent !important;
  color: #fff !important;
  border: 1px solid rgba(255,255,255,.24) !important;
}
section.dark-band,
.dark-band,
footer.site-footer,
.site-footer{
  background:
    radial-gradient(800px 240px at 90% 0%, rgba(31,143,255,.12), transparent 35%),
    linear-gradient(180deg, #081018 0%, #0A1420 100%) !important;
  color:#fff !important;
}
.site-footer a, footer.site-footer a{color:rgba(255,255,255,.84) !important;}
.site-footer a:hover, footer.site-footer a:hover{color:#fff !important;}
.card,
.panel,
.feature-card{
  border-color: rgba(20,34,50,.08) !important;
  box-shadow: 0 14px 40px rgba(16,28,41,.07);
}
.pill,
.badge{
  background: rgba(31,143,255,.10) !important;
  color: #0C4FB8 !important;
  border: 1px solid rgba(31,143,255,.18) !important;
}
.en-ai-fab{
  background: linear-gradient(135deg, #081018, #0E1C29) !important;
  border-color: rgba(85,214,255,.18) !important;
}
.en-ai-panel{
  border-color: rgba(11,22,32,.14) !important;
  box-shadow: 0 26px 70px rgba(7,16,25,.22) !important;
}
.en-ai-brand img{
  width:48px !important;
  height:48px !important;
}
.en-ai-name{
  letter-spacing:.04em !important;
}
.en-ai-send{
  background: linear-gradient(135deg, var(--blue-500), var(--blue-400)) !important;
  color:#071019 !important;
}


/* Version 7: header wordmark visibility fix */
.header{
  position:sticky;
  top:0;
  z-index:80;
  background:rgba(7,16,25,.92) !important;
  border-bottom:1px solid rgba(255,255,255,.08) !important;
  box-shadow:0 10px 34px rgba(7,16,25,.20);
  backdrop-filter:blur(18px) saturate(135%);
  -webkit-backdrop-filter:blur(18px) saturate(135%);
}
.header .nav{
  height:86px;
  min-height:86px;
}
.header .brand{
  display:flex;
  align-items:center;
  flex:0 0 auto;
  height:100%;
  overflow:visible;
}
.header .brand img{
  display:block;
  width:260px !important;
  max-width:32vw;
  height:auto !important;
  max-height:54px !important;
  object-fit:contain;
  object-position:left center;
  filter:drop-shadow(0 5px 16px rgba(31,143,255,.18));
}
.header .navlinks{
  color:#fff;
}
.header .navlinks a{
  color:rgba(255,255,255,.88) !important;
}
.header .navlinks a:hover,
.header .navlinks a.active{
  color:#fff !important;
}
.header .navlinks a:not(.button)::after{
  background:#55D6FF !important;
}
.header .button.dark{
  background:#fff !important;
  color:#0B1F2A !important;
  border-color:#fff !important;
}
.header .button.dark:hover{
  background:#55D6FF !important;
  border-color:#55D6FF !important;
  color:#071019 !important;
}
.mobile-toggle{
  color:#fff !important;
}
@media(max-width:1050px){
  .header .brand img{
    width:220px !important;
    max-width:30vw;
  }
  .navlinks{gap:18px}
}
@media(max-width:900px){
  .header .nav{
    height:74px;
    min-height:74px;
  }
  .header .brand img{
    width:205px !important;
    max-width:62vw;
    max-height:42px !important;
  }
  .header .navlinks{
    background:#0B1620 !important;
    border-color:rgba(255,255,255,.10) !important;
  }
}


/* Version 8: high-resolution glowing wordmark */
.header .brand img,
.footer-brand img,
.contact-brand img{
  image-rendering:auto;
}
.header .brand img{
  width:320px !important;
  max-width:36vw;
  max-height:60px !important;
  height:auto !important;
  object-fit:contain;
  object-position:left center;
  filter:drop-shadow(0 6px 16px rgba(45,172,255,.18));
}
@media(max-width:1200px){
  .header .brand img{
    width:290px !important;
    max-width:34vw;
    max-height:56px !important;
  }
}
@media(max-width:900px){
  .header .brand img{
    width:240px !important;
    max-width:64vw;
    max-height:46px !important;
  }
}
@media(max-width:640px){
  .header .brand img{
    width:220px !important;
    max-width:66vw;
    max-height:42px !important;
  }
}



/* Version 10: transparent EraNorth wordmark */
.header{
  background:rgba(7,16,25,.94) !important;
  border-bottom:1px solid rgba(255,255,255,.08) !important;
  box-shadow:0 8px 28px rgba(7,16,25,.20);
  backdrop-filter:blur(16px) saturate(125%);
  -webkit-backdrop-filter:blur(16px) saturate(125%);
}

.header .nav{
  height:88px;
  min-height:88px;
}

.header .brand{
  display:flex;
  align-items:center;
  height:100%;
  padding:0 !important;
  margin:0;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  overflow:visible;
}

.header .brand::before,
.header .brand::after{
  display:none !important;
  content:none !important;
}

.header .brand img{
  display:block;
  width:320px !important;
  max-width:34vw;
  height:auto !important;
  max-height:68px !important;
  object-fit:contain;
  object-position:left center;
  background:transparent !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  filter:drop-shadow(0 4px 12px rgba(22,125,255,.14));
}

.header .navlinks a{
  color:rgba(255,255,255,.88) !important;
}

.header .navlinks a:hover,
.header .navlinks a.active{
  color:#fff !important;
}

.header .navlinks a:not(.button)::after{
  background:#55D6FF !important;
}

.header .button.dark{
  background:#fff !important;
  color:#071019 !important;
  border-color:#fff !important;
}

.header .button.dark:hover{
  background:#55D6FF !important;
  color:#071019 !important;
  border-color:#55D6FF !important;
}

.mobile-toggle{
  color:#fff !important;
}

@media(max-width:1100px){
  .header .brand img{
    width:285px !important;
    max-width:32vw;
    max-height:60px !important;
  }
}

@media(max-width:900px){
  .header .nav{
    height:76px;
    min-height:76px;
  }

  .header .brand img{
    width:235px !important;
    max-width:64vw;
    max-height:52px !important;
  }

  .header .navlinks{
    background:#0B1620 !important;
    border:1px solid rgba(255,255,255,.10) !important;
  }
}

@media(max-width:560px){
  .header .brand img{
    width:205px !important;
    max-width:66vw;
    max-height:46px !important;
  }
}


/* Version 11: ultra-HD EraNorth wordmark */
.header .brand img{
  display:block;
  width:330px !important;
  max-width:36vw;
  height:auto !important;
  max-height:66px !important;
  object-fit:contain;
  object-position:left center;
  image-rendering:auto;
  -webkit-transform:translateZ(0);
  transform:translateZ(0);
  backface-visibility:hidden;
  filter:drop-shadow(0 4px 14px rgba(39,145,255,.16));
}

@media(max-width:1100px){
  .header .brand img{
    width:295px !important;
    max-width:34vw;
    max-height:58px !important;
  }
}

@media(max-width:900px){
  .header .brand img{
    width:240px !important;
    max-width:64vw;
    max-height:50px !important;
  }
}

@media(max-width:560px){
  .header .brand img{
    width:210px !important;
    max-width:66vw;
    max-height:44px !important;
  }
}

.en-ai-sources{margin-top:12px;padding-top:10px;border-top:1px solid #e1e7e9;font-size:.78rem}.en-ai-sources strong{display:block;margin:7px 0 4px}.en-ai-sources ul{margin:0;padding-left:18px}.en-ai-sources a{text-decoration:underline}


/* v1.0.1 contact form repair */
.contact-form{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:18px 20px;
  width:100%;
  max-width:720px;
}
.contact-form .field{
  display:grid;
  gap:8px;
  min-width:0;
}
.contact-form .field label{
  display:block;
  margin:0;
  font-size:.84rem;
  line-height:1.35;
  font-weight:700;
  color:var(--ink);
}
.contact-form .field input,
.contact-form .field textarea,
.contact-form .field select{
  display:block;
  width:100%;
  min-width:0;
  box-sizing:border-box;
  border:1px solid var(--line);
  border-radius:13px;
  background:#fff;
  color:var(--ink);
  padding:14px 15px;
  outline:none;
  transition:border-color .18s ease,box-shadow .18s ease,background .18s ease;
}
.contact-form .field input{min-height:50px}
.contact-form .field textarea{
  min-height:190px;
  resize:vertical;
  line-height:1.55;
}
.contact-form .field input:focus,
.contact-form .field textarea:focus,
.contact-form .field select:focus{
  border-color:var(--north);
  box-shadow:0 0 0 3px rgba(8,42,94,.12);
}
.contact-form .contact-message,
.contact-form .contact-submit{
  grid-column:1 / -1;
}
.contact-form .contact-submit{
  display:flex;
  align-items:center;
  gap:16px;
  flex-wrap:wrap;
  margin-top:2px;
}
.contact-form .contact-submit .button{
  min-width:190px;
  justify-content:center;
}
.contact-form .contact-note{
  margin:0;
  color:var(--quiet);
  font-size:.78rem;
}
.contact-hp{
  position:absolute!important;
  left:-9999px!important;
  width:1px!important;
  height:1px!important;
  opacity:0!important;
  pointer-events:none!important;
}
@media(max-width:700px){
  .contact-form{grid-template-columns:1fr;gap:15px}
  .contact-form .contact-message,
  .contact-form .contact-submit{grid-column:auto}
  .contact-form .contact-submit{display:grid;gap:10px}
  .contact-form .contact-submit .button{width:100%;min-width:0}
}

/* === Public search v1 ===================================================== */
.site-search-link{
  display:inline-flex!important;
  align-items:center;
  justify-content:center;
  gap:8px;
  width:40px;
  height:40px;
  min-width:40px;
  padding:0!important;
  border:1px solid rgba(8,42,94,.16);
  border-radius:999px;
  background:#fff;
  color:var(--ink)!important;
  transition:border-color .18s ease,background .18s ease,box-shadow .18s ease,transform .18s ease;
}
.site-search-link svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.site-search-link span{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.navlinks a.site-search-link::after{display:none!important}
.site-search-link:hover,.site-search-link.active{border-color:rgba(8,42,94,.42);background:rgba(8,42,94,.06);box-shadow:0 7px 18px rgba(8,42,94,.08);transform:translateY(-1px)}
.site-search-link:focus-visible{outline:3px solid rgba(21,91,215,.2);outline-offset:2px}

.search-hero{padding-bottom:58px}
.site-search-form{margin-top:32px;max-width:880px}
.site-search-form>label{display:block;margin-bottom:9px;font-size:.78rem;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:var(--quiet)}
.site-search-control{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;padding:7px;border:1px solid rgba(8,42,94,.18);border-radius:16px;background:#fff;box-shadow:0 16px 42px rgba(12,24,34,.09)}
.site-search-control input{width:100%;min-height:52px;padding:12px 14px;border:0;background:transparent;color:var(--ink);font:inherit;font-size:1rem;outline:none}
.site-search-control input::placeholder{color:#77848d}
.site-search-control .button{min-height:52px;min-width:126px;justify-content:center;gap:8px}
.site-search-control .button svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.search-results-shell{max-width:1020px}
.search-summary{display:flex;align-items:center;gap:7px;margin:0 0 28px;color:var(--quiet);font-size:.95rem}
.search-summary strong{color:var(--ink)}
.search-intro,.search-empty{padding:32px;border:1px solid var(--line);border-radius:20px;background:#fff;box-shadow:0 14px 36px rgba(12,24,34,.05)}
.search-intro .h2,.search-empty h2{margin-top:0}
.search-group{margin-top:38px}
.search-group:first-of-type{margin-top:0}
.search-group-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;padding-bottom:14px;border-bottom:1px solid var(--line)}
.search-group-heading h2{margin:2px 0 0;font-size:1.5rem}
.search-group-heading>span{display:inline-flex;align-items:center;justify-content:center;min-width:34px;height:30px;padding:0 10px;border-radius:999px;background:rgba(8,42,94,.07);color:var(--north);font-size:.78rem;font-weight:800}
.search-result-list{display:grid}
.search-result-card{padding:23px 2px;border-bottom:1px solid var(--line)}
.search-result-card h3{margin:5px 0 8px;font-size:1.28rem;line-height:1.3}
.search-result-card h3 a{color:var(--ink)}
.search-result-card h3 a:hover{color:var(--north)}
.search-result-card p{max-width:820px;margin:0;color:var(--quiet);line-height:1.62}
.search-result-type{font-size:.7rem;font-weight:850;letter-spacing:.08em;text-transform:uppercase;color:var(--north)}
.search-result-url{display:inline-block;margin-top:10px;color:var(--north);font-size:.8rem;font-weight:700}
.search-result-meta{display:flex;flex-wrap:wrap;gap:7px 16px;margin-top:11px;color:var(--quiet);font-size:.76rem;font-weight:650}
.search-more{margin:24px 0 0}

@media(max-width:980px){
  .site-search-link{width:auto;height:auto;min-width:0;padding:10px 12px!important;border-radius:10px;justify-content:flex-start}
  .site-search-link span{position:static!important;width:auto!important;height:auto!important;margin:0!important;overflow:visible!important;clip:auto!important;white-space:normal!important}
}
@media(max-width:620px){
  .site-search-control{grid-template-columns:1fr;padding:8px}
  .site-search-control .button{width:100%}
  .search-intro,.search-empty{padding:24px 20px}
  .search-group-heading{align-items:center}
}
html[data-theme="dark"] .site-search-link,
html[data-theme="dark"] .site-search-control,
html[data-theme="dark"] .search-intro,
html[data-theme="dark"] .search-empty{background:#111c27;color:#edf4fb;border-color:rgba(255,255,255,.13)}
html[data-theme="dark"] .site-search-control input{color:#edf4fb}
html[data-theme="dark"] .site-search-link{color:#edf4fb!important}

/* === Public search / navigation repair v1.1 — 2026-08-31 ================= */
/* Compact, professional icon-only Search action on desktop. Inline SVG also
   carries explicit fill/stroke attributes so theme or legacy SVG rules cannot
   turn the magnifier into a filled black circle. */
.header .navlinks .site-search-link{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  flex:0 0 38px!important;
  width:38px!important;
  min-width:38px!important;
  height:38px!important;
  padding:0!important;
  margin:0 1px!important;
  border:1px solid transparent!important;
  border-radius:10px!important;
  background:transparent!important;
  color:var(--en-text-primary,var(--ink))!important;
  box-shadow:none!important;
  transform:none!important;
  line-height:1!important;
}
.header .navlinks .site-search-link svg{
  display:block!important;
  width:21px!important;
  height:21px!important;
  flex:0 0 21px!important;
  fill:none!important;
  stroke:currentColor!important;
  stroke-width:2!important;
  overflow:visible!important;
}
.header .navlinks .site-search-link svg *{fill:none!important;stroke:currentColor!important}
.header .navlinks .site-search-link span{
  position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;
  overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important;
}
.header .navlinks .site-search-link:hover,
.header .navlinks .site-search-link.active{
  border-color:var(--en-border-default,#d9e1e8)!important;
  background:var(--en-bg-subtle,#edf1f5)!important;
  color:var(--en-action-primary,#123c73)!important;
  box-shadow:none!important;
  transform:none!important;
}
.header .navlinks a.site-search-link::after{display:none!important;content:none!important}

/* Global search: form and action use the entire content width on every device. */
.site-search-form{width:100%!important;max-width:none!important}
.site-search-control{
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  width:100%!important;
  gap:10px!important;
}
.site-search-control .button{
  display:flex!important;
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  justify-content:center!important;
}

/* Mobile navigation: guarantee a visible menu control on the light header. */
@media(max-width:900px){
  .header .mobile-toggle{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:44px!important;
    min-width:44px!important;
    height:44px!important;
    padding:0!important;
    border:1px solid #0b1620!important;
    border-radius:11px!important;
    background:#0b1620!important;
    color:#fff!important;
    font-size:25px!important;
    font-weight:700!important;
    line-height:1!important;
    box-shadow:0 5px 14px rgba(11,22,32,.14)!important;
  }
  .header .mobile-toggle:hover,.header .mobile-toggle:focus-visible{background:#16314a!important;color:#fff!important;border-color:#16314a!important}
  .header .navlinks .site-search-link{
    flex:0 0 auto!important;
    width:100%!important;
    min-width:0!important;
    height:auto!important;
    justify-content:flex-start!important;
    gap:10px!important;
    padding:11px 12px!important;
    border-radius:9px!important;
    color:var(--en-text-primary,#14212d)!important;
  }
  .header .navlinks .site-search-link span{
    position:static!important;width:auto!important;height:auto!important;padding:0!important;margin:0!important;
    overflow:visible!important;clip:auto!important;white-space:normal!important;border:0!important;
  }
}
html[data-theme="dark"] .header .navlinks .site-search-link{color:var(--en-text-primary,#edf3f8)!important}
html[data-theme="dark"] .header .mobile-toggle{background:#edf3f8!important;color:#101923!important;border-color:#edf3f8!important}


/* === v23.4 deterministic mobile navigation repair ======================== */
@media(max-width:900px){
  .header .nav .mobile-toggle{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:46px!important;
    min-width:46px!important;
    height:46px!important;
    padding:0!important;
    margin-left:auto!important;
    background:#0b1620!important;
    color:#fff!important;
    border:1px solid #0b1620!important;
    border-radius:11px!important;
    box-shadow:0 6px 16px rgba(11,22,32,.18)!important;
    opacity:1!important;
    visibility:visible!important;
  }
  .header .nav .mobile-toggle .mobile-menu-icon{display:block!important;width:24px!important;height:24px!important;opacity:1!important;visibility:visible!important}
  .header .nav .mobile-toggle .mobile-menu-icon path{stroke:#fff!important;stroke-opacity:1!important}
  .header .nav .mobile-toggle:hover,.header .nav .mobile-toggle:focus-visible{background:#15354f!important;border-color:#15354f!important;color:#fff!important}
}

/* v23.5 mobile menu de-duplication */
.header .mobile-toggle::before,.header .mobile-toggle::after{content:none!important;display:none!important;background:none!important}

/* === EraNorth v24 brand integration: EraNorth parent + KEVOS product ===== */
.brand-bridge{display:grid;grid-template-columns:1fr auto 1fr;gap:30px;align-items:center;padding:34px;border:1px solid var(--line);border-radius:var(--radius);background:#fff;box-shadow:var(--shadow)}
.brand-bridge .bridge-arrow{font-size:1.35rem;color:var(--north);font-weight:800}.brand-bridge-panel{min-width:0}.brand-bridge-panel p{margin-bottom:0}.kevos-lockup{display:flex;align-items:center;justify-content:flex-start;min-height:86px}.kevos-lockup img{width:min(100%,420px);height:auto}.kevos-mini{width:min(100%,230px);height:auto;margin:16px 0 8px}
.status-chip{display:inline-flex;align-items:center;gap:8px;padding:7px 11px;border:1px solid rgba(8,42,94,.22);border-radius:999px;background:rgba(8,42,94,.06);color:var(--north);font-size:.74rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.status-chip::before{content:"";width:8px;height:8px;border-radius:50%;background:currentColor;opacity:.8}
.kevos-product-status{display:block;margin-top:20px}
.development-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.development-card{padding:28px;border:1px solid var(--line);border-radius:var(--radius);background:#fff;box-shadow:0 12px 36px rgba(11,31,42,.05)}.development-card h3{margin:.7rem 0 .5rem}.development-card p:last-child{margin-bottom:0}.development-meta{display:flex;align-items:center;justify-content:space-between;gap:14px;color:var(--quiet);font-size:.82rem}.development-meta strong{color:var(--north)}
.roadmap-band{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.14);border-radius:var(--radius);overflow:hidden;margin-top:36px}.roadmap-band.knowledge-flow{grid-template-columns:repeat(4,1fr)}.roadmap-stage{padding:30px;background:rgba(11,31,42,.92)}.roadmap-stage h3{margin:.2rem 0 .7rem;color:#fff}.roadmap-stage p,.roadmap-stage li{color:rgba(255,255,255,.78)}.roadmap-stage ul{padding-left:18px;margin-bottom:0}.roadmap-stage .eyebrow{color:#78A9FF}
.proof-note{padding:24px 26px;border-left:4px solid var(--north);background:rgba(8,42,94,.055);border-radius:0 14px 14px 0}.proof-note p:last-child{margin-bottom:0}.eoi-list{display:grid;grid-template-columns:repeat(2,1fr);gap:12px 30px;padding:0;list-style:none}.eoi-list li{position:relative;padding-left:22px}.eoi-list li::before{content:"•";position:absolute;left:3px;color:var(--north);font-weight:900}.capability-status{margin-top:14px;font-size:.8rem;color:var(--quiet);font-weight:700}.capability-status strong{color:var(--north)}
.maturity-row{display:grid;grid-template-columns:160px 1fr;gap:28px;padding:22px 0;border-top:1px solid var(--line)}.maturity-row:first-child{border-top:0}.maturity-row .status-chip{justify-self:start}.public-boundary{display:grid;grid-template-columns:1fr 1fr;gap:22px}.public-boundary .card{height:100%}.page-kicker-logo{margin-top:26px;max-width:360px}
@media(max-width:980px){.brand-bridge{grid-template-columns:1fr}.brand-bridge .bridge-arrow{transform:rotate(90deg);justify-self:start}.development-grid{grid-template-columns:1fr 1fr}.roadmap-band,.roadmap-band.knowledge-flow{grid-template-columns:1fr}.eoi-list,.public-boundary{grid-template-columns:1fr}.maturity-row{grid-template-columns:1fr}.navlinks{gap:16px}}
@media(max-width:680px){.development-grid{grid-template-columns:1fr}.brand-bridge{padding:24px}.kevos-lockup img{width:min(100%,320px)}}

/* v25.2 header fit repair: compact desktop navigation and switch to the
   existing mobile drawer before labels can collide on common laptop widths. */
@media(min-width:1161px){
  .header .nav{gap:18px!important}
  .header .brand img{width:clamp(215px,19vw,292px)!important;max-width:292px!important}
  .header .navlinks{gap:clamp(10px,1vw,18px)!important;font-size:.84rem!important;white-space:nowrap!important;min-width:0!important}
  .header .navlinks .button{padding:10px 15px!important}
}
@media(max-width:1160px){
  .header .nav{height:76px!important;min-height:76px!important;position:relative!important}
  .header .brand img{width:235px!important;max-width:64vw!important;max-height:50px!important}
  .header .nav .mobile-toggle{display:inline-flex!important;align-items:center!important;justify-content:center!important;width:46px!important;min-width:46px!important;height:46px!important;padding:0!important;margin-left:auto!important;background:#0b1620!important;color:#fff!important;border:1px solid rgba(255,255,255,.28)!important;border-radius:11px!important;opacity:1!important;visibility:visible!important}
  .header .navlinks{display:none!important;position:absolute!important;left:20px!important;right:20px!important;top:80px!important;background:#0B1620!important;border:1px solid rgba(255,255,255,.12)!important;border-radius:18px!important;padding:20px!important;flex-direction:column!important;align-items:stretch!important;gap:4px!important;box-shadow:0 22px 60px rgba(0,0,0,.28)!important;z-index:100!important}
  .header .navlinks.open{display:flex!important}
  .header .navlinks>a{color:rgba(255,255,255,.9)!important;padding:11px 12px!important;border-radius:9px!important}
  .header .navlinks>a:hover,.header .navlinks>a.active{color:#fff!important;background:rgba(255,255,255,.08)!important}
  .header .navlinks .button.dark{background:#fff!important;color:#071019!important;text-align:center!important;margin-top:5px!important}
  .header .navlinks .site-search-link{display:inline-flex!important;width:100%!important;height:auto!important;min-width:0!important;flex:0 0 auto!important;justify-content:flex-start!important;gap:10px!important;padding:11px 12px!important;color:rgba(255,255,255,.9)!important}
  .header .navlinks .site-search-link span{position:static!important;width:auto!important;height:auto!important;margin:0!important;overflow:visible!important;clip:auto!important;white-space:normal!important}
}

/* === v25.3.1 adaptive public-header overflow =============================
   Keep the four primary destinations visible. When the remaining desktop
   labels no longer fit, collapse secondary links into an accessible More menu
   instead of allowing links to collide or wrap over one another. */
.header .container.nav{
  width:min(calc(100% - 40px),1360px);
  max-width:1360px;
}
.header .navlinks{
  min-width:0;
  flex-shrink:1;
  white-space:nowrap;
}
.header .navlinks .nav-more{
  display:none;
  position:relative;
  flex:0 0 auto;
}
.header .navlinks .nav-more>summary{
  list-style:none;
  cursor:pointer;
  position:relative;
  padding:0 18px 0 0;
  font:inherit;
  color:inherit;
  user-select:none;
}
.header .navlinks .nav-more>summary::-webkit-details-marker{display:none}
.header .navlinks .nav-more>summary::after{
  content:"";
  position:absolute;
  right:1px;
  top:50%;
  width:7px;
  height:7px;
  border-right:1.7px solid currentColor;
  border-bottom:1.7px solid currentColor;
  transform:translateY(-68%) rotate(45deg);
  transition:transform .16s ease;
}
.header .navlinks .nav-more[open]>summary::after{transform:translateY(-22%) rotate(225deg)}
.header .navlinks .nav-more-menu{
  position:absolute;
  top:calc(100% + 18px);
  right:-12px;
  min-width:190px;
  padding:8px;
  border:1px solid rgba(11,31,42,.12);
  border-radius:14px;
  background:#fff;
  box-shadow:0 18px 50px rgba(11,31,42,.16);
  z-index:120;
}
.header .navlinks .nav-more-menu a{
  display:block;
  padding:10px 12px;
  border-radius:9px;
  color:var(--ink);
}
.header .navlinks .nav-more-menu a::after{display:none!important}
.header .navlinks .nav-more-menu a:hover,
.header .navlinks .nav-more-menu a.active{
  background:rgba(8,42,94,.07);
  color:var(--north);
}
.header .nav.is-compact .nav-wide-only{display:none!important}
.header .nav.is-compact .nav-more{display:block!important}
.header .nav.is-compact .navlinks{gap:clamp(9px,.9vw,16px)!important}

/* Default to the compact desktop layout on common laptop widths. JS also
   measures the real rendered labels and enables this mode at any larger width
   when browser zoom/font metrics make the full menu too wide. */
@media(min-width:1161px) and (max-width:1420px){
  .header .nav .nav-wide-only{display:none!important}
  .header .nav .nav-more{display:block!important}
}

/* Inside the existing mobile drawer show every destination directly. A nested
   More disclosure would add needless taps on small screens. */
@media(max-width:1160px){
  .header .nav .nav-more{display:none!important}
  .header .nav .nav-wide-only{display:block!important}
}


/* === v25.3.8 hard navigation cap =========================================
   Never render more than seven textual navigation choices at once on desktop:
   six direct destinations + More. Search and EOI are utility controls.
   On narrower desktops, reduce to four direct destinations + More. */
@media(min-width:1161px){
  .header .navlinks>.nav-more{display:block!important}
  .header .navlinks>.en-start-link,
  .header .navlinks>.en-professional-link{display:none!important}
  .header .nav-more-menu .nav-more-compact-only{display:none!important}
  .header .nav.is-compact .nav-desktop-secondary{display:none!important}
  .header .nav.is-compact .nav-more-menu .nav-more-compact-only{display:block!important}
}
@media(max-width:1160px){
  .header .nav .nav-more{display:none!important}
  .header .nav .nav-desktop-secondary{display:block!important}
  .header .navlinks>.en-start-link,
  .header .navlinks>.en-professional-link{display:none!important}
}

/* v25.3.8: keep the More control legible on light public headers. */
@media(min-width:1161px){
  .header .navlinks>.nav-more>summary{
    color:var(--en-text-primary,var(--ink,#0b1f2a))!important;
    font-weight:700!important;
  }
  .header .navlinks>.nav-more>summary:hover,
  .header .navlinks>.nav-more[open]>summary{
    color:var(--north,#155bd7)!important;
  }
}
