/* Servia public-only launch. Original company logo is copied verbatim by build.mjs. */
:root{--ink:#11182c;--muted:#5b667e;--line:#e2e6ef;--accent:#1f365e;--logo-bg:#030438;--soft:#f3f5fa}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:#fbfbfd;font-family:Inter,"Segoe UI",Arial,sans-serif;line-height:1.55}a{color:inherit}a:focus-visible,summary:focus-visible{outline:3px solid #96b4ff;outline-offset:3px}img{max-width:100%}
.shell{width:min(1160px,calc(100% - 40px));margin:0 auto}.skip{position:absolute;top:-99px;left:12px;padding:10px;background:#fff;color:#111;z-index:20}.skip:focus{top:12px}
.header{background:var(--logo-bg);color:white;position:relative;z-index:3}.nav{min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;align-items:center;gap:13px;text-decoration:none;color:#fff;font-size:16px;font-weight:800;letter-spacing:.16em}.brand img{width:54px;height:54px;object-fit:contain}.desktop-links{display:flex;align-items:center;gap:27px}.desktop-links a{text-decoration:none;color:#fff;font-size:14px;font-weight:650}.desktop-links a:hover,.footer a:hover{text-decoration:underline}.nav-cta{padding:11px 16px;border:1px solid rgba(255,255,255,.62);border-radius:9px}.mobile-menu{display:none}
.hero{padding:100px 0 90px;background:radial-gradient(circle at 88% 15%,#e6edfb,transparent 42%),#fafbfe}.hero-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(290px,.85fr);align-items:center;gap:65px}.eyebrow{text-transform:uppercase;letter-spacing:.16em;font-weight:800;font-size:12px;color:#536485;margin-bottom:16px}.hero h1,.page-head h1{font-size:clamp(2.75rem,6vw,5.35rem);letter-spacing:-.05em;line-height:1.02;margin:0}.lead{color:var(--muted);font-size:clamp(1.03rem,1.6vw,1.23rem);line-height:1.7;max-width:770px;margin:25px 0 0}.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:10px 18px;border:1px solid #14213e;background:#14213e;color:#fff;text-decoration:none;font-weight:700;border-radius:10px;font-size:14px}.btn.secondary{background:transparent;color:#14213e}.btn.light{border-color:white;background:white;color:#14213e}.btn:hover{filter:brightness(1.15)}
.panel{padding:32px;border:1px solid #dce1ed;background:#fff;border-radius:22px;box-shadow:0 25px 75px #172b5110}.panel .step{display:grid;grid-template-columns:32px 1fr;gap:12px;padding:16px 0;border-bottom:1px solid var(--line)}.panel .step:last-child{border:0}.step span{color:#647592;font-weight:800;font-size:12px}.step p{margin:4px 0 0;color:var(--muted);font-size:14px}.section{padding:80px 0}.section.soft{background:var(--soft)}.section h2{font-size:clamp(1.9rem,3.5vw,3.3rem);line-height:1.1;letter-spacing:-.035em;margin:0 0 25px}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:28px}.section-heading h2{max-width:790px;margin:0}.section-heading a{text-decoration:none;font-weight:750;color:var(--accent)}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.card{padding:26px;border:1px solid var(--line);background:#fff;border-radius:16px;min-height:210px}.card .tag{font-size:11px;letter-spacing:.13em;font-weight:800;color:#61708b;text-transform:uppercase}.card h3{font-size:1.22rem;letter-spacing:-.01em;margin:14px 0 8px}.card p,.muted{color:var(--muted);line-height:1.7}.card p{margin:0 0 18px}.card a{color:#263d65;font-weight:700;text-decoration:none}.split{display:grid;grid-template-columns:.85fr 1.15fr;gap:75px}.rule{border-top:1px solid #d8deea;padding:20px 0}.rule strong{display:block}.rule p{margin:8px 0 0;color:var(--muted);line-height:1.7}
.cta{padding:43px;border-radius:22px;background:#14213e;color:white;display:flex;justify-content:space-between;align-items:center;gap:36px}.cta h2{max-width:710px;margin:0}.cta p{color:#bdc8df}.page-head{padding:82px 0 65px;background:radial-gradient(circle at 90% 4%,#e4ebfa,transparent 38%),#fafbfe}.page-head h1{font-size:clamp(2.65rem,5vw,4.5rem);max-width:940px}.page-head .lead{max-width:820px}.rich{max-width:840px;font-size:16px;line-height:1.8}.rich h2{font-size:1.35rem;letter-spacing:-.01em;margin:32px 0 10px}.rich p{color:var(--muted)}.rich a{color:#263d65}.notice{padding:24px;background:#f2f5fa;border:1px solid #dce3ef;border-radius:14px}.proof{display:grid;grid-template-columns:1fr 1fr;gap:18px}.chip{display:inline-block;padding:6px 11px;background:#e8edf6;border-radius:99px;font-size:12px;font-weight:700;color:#455a7d}.simple-list{display:grid;gap:10px;padding:0;list-style:none}.simple-list li{padding:16px;border:1px solid var(--line);border-radius:10px;background:white}
.footer{background:#0e162d;color:#c3cbe0;padding:54px 0 25px}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:50px}.footer strong{display:block;color:white;margin-bottom:12px}.footer a{display:block;text-decoration:none;color:#b8c3da;font-size:13px;margin:8px 0}.footer p{max-width:420px;color:#9faecc}.fine{border-top:1px solid #33405b;margin-top:36px;padding-top:16px;display:flex;justify-content:space-between;gap:16px;font-size:12px;color:#9faecc}
@media(max-width:900px){.hero-grid,.split,.proof{grid-template-columns:1fr;gap:32px}.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.desktop-links{display:none}.mobile-menu{display:block;position:relative}.mobile-menu summary{cursor:pointer;list-style:none;border:1px solid #56647e;border-radius:7px;padding:9px 12px}.mobile-menu summary::-webkit-details-marker{display:none}.menu-list{position:absolute;right:0;top:46px;min-width:220px;background:#fff;border-radius:11px;box-shadow:0 18px 45px #0003;display:grid;padding:10px}.menu-list a{display:block;padding:9px 10px;color:#182640;text-decoration:none;font-size:14px}}
@media(max-width:620px){.shell{width:calc(100% - 30px)}.nav{min-height:68px}.brand img{height:48px;width:48px}.hero{padding:64px 0}.hero h1{font-size:2.72rem}.section{padding:55px 0}.cards,.footer-grid{grid-template-columns:1fr}.cta,.section-heading{flex-direction:column;align-items:start}.cta{padding:28px}.footer-grid{gap:23px}.fine{flex-direction:column}.page-head{padding:60px 0 45px}}

/* Project enquiry: accessible progressive enhancement, responsive form and feedback. */
[hidden]{display:none!important}
.enquiry-form{display:grid;gap:17px;margin-top:20px}
.enquiry-form label{display:grid;gap:7px;color:var(--ink);font-weight:700;font-size:13px}
.enquiry-form input:not([type="checkbox"]),.enquiry-form select,.enquiry-form textarea{
  width:100%;min-width:0;background:#fff;border:1px solid #cbd4e4;color:#12213c;
  border-radius:9px;padding:12px 13px;font:inherit;font-size:15px;line-height:1.5
}
.enquiry-form textarea{resize:vertical;min-height:116px}
.enquiry-form :is(input,select,textarea):focus-visible{outline:3px solid #a3bfff;outline-offset:2px;border-color:#315c9d}
.enquiry-form :is(input,select,textarea):user-invalid{border-color:#b9525e}
.form-pair{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.consent-label{display:flex!important;align-items:start;gap:12px;font-weight:500!important;line-height:1.5}
.consent-label input{width:19px;height:19px;flex:none;margin:3px 0 0}
.consent-label a{color:#244f87;text-decoration:underline}
.enquiry-form button{width:100%;cursor:pointer}
.enquiry-form button:disabled{cursor:not-allowed;opacity:.55}
.form-status{margin:10px 0;padding:12px 14px;border:1px solid #d5deec;border-radius:10px;background:#f5f7fb;color:#394963;font-size:14px;line-height:1.6}
.form-status[data-kind="success"]{background:#edf9f0;border-color:#abd7b7;color:#1d5632}
.form-status[data-kind="error"]{background:#fff1f1;border-color:#edb6b6;color:#7f2929}
.challenge{min-height:60px}
.hp-field{position:absolute!important;left:-99999px!important;width:1px!important;height:1px!important;overflow:hidden!important}
@media(max-width:620px){.form-pair{grid-template-columns:1fr}.enquiry-form{gap:14px}}

/* First-impression design pass: mobile-first rhythm, stronger hierarchy, preserved original logo. */
:root{
  --ink:#15233f;
  --muted:#5c6880;
  --line:#e3e8f2;
  --accent:#244d96;
  --soft:#f0f4fa;
  --hero-ink:#f6f9ff;
  --hero-muted:#bac9e9;
  --hero-glow:#679cff;
}
html{scroll-padding-top:90px}
body{background:#f9fbff;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
.header{position:sticky;top:0;z-index:50;box-shadow:0 1px 0 rgba(255,255,255,.09)}
.nav{min-height:82px}
.brand{gap:12px;letter-spacing:.14em}
.brand img{object-fit:contain;flex:none}
.desktop-links a{transition:opacity .2s ease}
.desktop-links a:hover{opacity:.76;text-decoration:none}
.nav-cta{border-radius:100px!important;background:rgba(255,255,255,.075);padding:12px 18px!important}
.hero{
  position:relative;isolation:isolate;overflow:hidden;
  padding:116px 0 110px;
  background:radial-gradient(ellipse at 95% 25%,rgba(85,133,244,.22),transparent 44%),
    radial-gradient(ellipse at 16% 110%,rgba(35,97,173,.3),transparent 52%),
    linear-gradient(125deg,#0a1328 0%,#0f2141 58%,#10264b 100%);
  color:var(--hero-ink)
}
.hero:before{
  content:"";position:absolute;pointer-events:none;z-index:-1;
  width:740px;height:740px;right:-390px;top:-210px;border-radius:50%;
  border:1px solid rgba(183,205,255,.14);
  box-shadow:0 0 0 74px rgba(134,174,255,.032),0 0 0 148px rgba(134,174,255,.025)
}
.hero-grid{grid-template-columns:minmax(0,1.12fr) minmax(340px,.88fr);gap:clamp(32px,5.5vw,82px)}
.hero .eyebrow{color:#a8c1fb;display:inline-block;margin-bottom:24px}
.hero h1{
  max-width:780px;font-size:clamp(3.4rem,5.7vw,5.85rem);
  color:var(--hero-ink);letter-spacing:-.065em;line-height:.99;
  text-wrap:balance
}
.hero .lead{max-width:580px;margin-top:30px;color:var(--hero-muted);font-size:clamp(1.04rem,1.4vw,1.18rem);line-height:1.8}
.hero .actions{margin-top:34px}
.btn{
  border-radius:100px;min-height:50px;padding:12px 23px;font-size:14px;
  transition:transform .18s ease,background-color .18s ease,box-shadow .18s ease,filter .18s ease
}
.btn:hover{transform:translateY(-2px);filter:none;box-shadow:0 12px 25px rgba(23,41,77,.13)}
.hero .btn:not(.secondary){background:#dbe7ff;border-color:#dbe7ff;color:#102347}
.hero .btn.secondary{background:rgba(255,255,255,.06);border-color:rgba(219,231,255,.34);color:#f6f9ff}
.hero .btn.secondary:hover{background:rgba(255,255,255,.12)}
.hero .panel{
  border:1px solid rgba(204,223,255,.18);
  background:linear-gradient(150deg,rgba(255,255,255,.12),rgba(255,255,255,.045));
  box-shadow:0 32px 95px rgba(2,8,24,.32);
  backdrop-filter:blur(16px);border-radius:24px;
  padding:clamp(23px,3vw,38px)
}
.hero .panel .eyebrow{color:#aec6f1;margin-bottom:6px}
.hero .panel .step{grid-template-columns:33px 1fr;gap:17px;padding:22px 0;border-bottom:1px solid rgba(225,235,255,.15)}
.hero .panel .step strong{color:#f7faff;font-size:15px}
.hero .panel .step span{color:#9fc2ff}
.hero .panel .step p{color:#b8c9e6;line-height:1.6;margin-top:7px}
.section{padding:clamp(65px,8.2vw,104px) 0}
.section h2{font-size:clamp(2rem,3.6vw,3.55rem);text-wrap:balance;letter-spacing:-.047em}
.section-heading{margin-bottom:34px}
.section-heading a{white-space:nowrap;display:inline-flex;align-items:center;min-height:42px}
.cards{gap:19px}
.card{
  position:relative;min-width:0;min-height:230px;display:flex;flex-direction:column;
  padding:30px;border-radius:19px;
  box-shadow:0 8px 25px rgba(25,49,96,.035);
  transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease
}
.card:before{content:"";position:absolute;top:0;left:29px;width:35px;height:3px;background:#668edf;border-radius:0 0 4px 4px}
.card h3{font-size:clamp(1.15rem,1.55vw,1.35rem);line-height:1.32;letter-spacing:-.025em}
.card p{margin-bottom:22px}
.card a{margin-top:auto;display:inline-flex;align-items:center;min-height:35px;text-underline-offset:5px}
.card:hover{transform:translateY(-4px);border-color:#c6d5f2;box-shadow:0 18px 44px rgba(25,49,96,.1)}
.page-head{padding:clamp(72px,8.5vw,116px) 0 clamp(65px,7vw,95px);background:radial-gradient(circle at 89% 0%,#dae5f8,transparent 44%),linear-gradient(180deg,#f5f8fd,#fff)}
.page-head h1{max-width:970px;text-wrap:balance;letter-spacing:-.055em}
.page-head .lead{line-height:1.75}
.cta{border-radius:25px;padding:clamp(30px,5vw,58px);background:radial-gradient(circle at 90% 5%,#294c8c,transparent 53%),#101e3b;box-shadow:0 18px 48px rgba(17,40,90,.13)}
.cta h2{margin-top:9px;line-height:1.07}
.footer{padding-top:70px;background:#0a1429}
.footer p{line-height:1.7}
.menu-list{z-index:70}
@media (max-width:1100px){
  .hero{padding:89px 0 84px}
  .hero-grid{gap:36px}
  .hero h1{font-size:clamp(3rem,5.6vw,4.6rem)}
}
@media (max-width:900px){
  .hero-grid{grid-template-columns:1fr;gap:44px}
  .hero h1{max-width:760px}
  .hero .lead{max-width:670px}
  .hero .panel{max-width:760px}
  .desktop-links{display:none}
  .mobile-menu{display:block;position:relative}
  .mobile-menu summary{
    display:flex;justify-content:center;align-items:center;
    min-width:74px;min-height:45px;border-radius:12px;
    border:1px solid rgba(223,235,255,.42);background:rgba(255,255,255,.055);
    padding:10px 14px;font-weight:700;font-size:14px;color:#fff;
    user-select:none
  }
  .mobile-menu[open] summary{background:rgba(255,255,255,.14)}
  .menu-list{
    top:calc(100% + 15px);right:0;width:min(330px,calc(100vw - 32px));
    padding:13px;background:#fff;border:1px solid #dce5f3;
    border-radius:17px;box-shadow:0 28px 75px rgba(4,13,35,.28)
  }
  .menu-list a{
    padding:15px 14px;min-height:49px;font-size:16px;font-weight:650;
    border-radius:9px
  }
  .menu-list a:hover{background:#edf3ff}
  .menu-list a.mobile-menu-cta{background:#14284e;color:#fff;text-align:center;margin-top:9px}
  .proof,.split{grid-template-columns:1fr;gap:26px}
}
@media (max-width:620px){
  html{scroll-padding-top:72px}
  .shell{width:calc(100% - 36px)}
  .nav{min-height:70px;gap:12px}
  .brand{gap:9px;letter-spacing:.1em;font-size:14px}
  .brand img{height:45px;width:45px}
  .hero{padding:76px 0 62px}
  .hero:before{width:490px;height:490px;right:-365px;top:-185px}
  .hero-grid{gap:35px}
  .hero .eyebrow{font-size:10px;letter-spacing:.17em;margin-bottom:19px}
  .hero h1{font-size:clamp(2.75rem,11vw,4rem);line-height:1.015;letter-spacing:-.06em;text-wrap:pretty}
  .hero .lead{font-size:16px;line-height:1.7;margin-top:23px}
  .hero .actions{display:grid;grid-template-columns:1fr;gap:11px;margin-top:30px}
  .hero .actions .btn{width:100%;min-height:51px;font-size:15px}
  .hero .panel{padding:23px;border-radius:18px}
  .hero .panel .step{padding:17px 0;gap:13px}
  .section{padding:66px 0}
  .section h2{font-size:clamp(2rem,9vw,2.7rem);line-height:1.15}
  .section-heading{align-items:start;gap:14px;margin-bottom:24px}
  .section-heading a{min-height:36px}
  .cards{grid-template-columns:1fr;gap:13px}
  .card{min-height:0;padding:26px 23px;border-radius:16px}
  .card:before{left:23px}
  .card h3{margin-top:13px}
  .card p{line-height:1.6}
  .page-head{padding:70px 0 58px}
  .page-head h1{font-size:clamp(2.45rem,10.8vw,3.45rem);line-height:1.07;letter-spacing:-.055em}
  .page-head .lead{margin-top:20px;font-size:16px;line-height:1.65}
  .cta{padding:28px 24px;gap:22px;border-radius:18px}
  .cta .btn{width:100%}
  .footer{padding-top:48px}
  .footer-grid{gap:25px}
  .fine{gap:8px}
  .proof{gap:17px}
  .enquiry-form input:not([type="checkbox"]),.enquiry-form select,.enquiry-form textarea{font-size:16px;min-height:48px}
}
@media (max-width:360px){
  .shell{width:calc(100% - 28px)}
  .hero h1{font-size:2.58rem}
  .brand{font-size:12px}
  .brand img{width:40px;height:40px}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .btn,.card,.desktop-links a{transition:none}
  .btn:hover,.card:hover{transform:none}
}

/* Careers, recruitment and precise CTA alignment. */
.desktop-links{gap:clamp(14px,1.65vw,26px)}
.desktop-links .nav-cta{white-space:nowrap}
.cta{
  display:grid;grid-template-columns:minmax(0,1fr) max-content;
  align-items:center;justify-content:initial;gap:clamp(24px,4vw,60px);
}
.cta-copy{min-width:0;max-width:740px}
.cta .eyebrow{color:#bdc8df;margin:0 0 14px}
.cta h2{max-width:670px;margin:0;font-size:clamp(2rem,3.15vw,3.3rem);line-height:1.12}
.cta p{margin:18px 0 0;line-height:1.7;max-width:570px}
.cta .cta-action{
  display:inline-flex;align-items:center;justify-content:center;gap:12px;
  align-self:center;justify-self:end;white-space:nowrap;max-width:100%;min-width:190px
}
.hero-careers{
  display:inline-flex;align-items:center;min-height:44px;margin-top:21px;
  color:#c7d9fb;font-weight:650;font-size:14px;text-decoration:underline;
  text-decoration-color:rgba(199,217,251,.4);text-underline-offset:5px
}
.hero-careers:hover{color:#fff;text-decoration-color:#fff}
.careers-band{padding-top:18px}
.careers-callout{
  display:grid;grid-template-columns:minmax(0,1fr) max-content;
  gap:30px;align-items:center;padding:clamp(28px,4vw,46px);
  background:linear-gradient(120deg,#eef3fc 0%,#f8faff 100%);
  border:1px solid #d6e0f2;border-radius:23px
}
.careers-callout h2,.careers-bottom h2{
  font-size:clamp(1.75rem,3vw,2.6rem);letter-spacing:-.042em;
  margin:0 0 12px;line-height:1.14
}
.careers-callout p,.careers-bottom p{max-width:680px;margin:0;color:var(--muted);line-height:1.75}
.careers-callout .eyebrow{margin-bottom:15px}
.careers-callout .careers-action{white-space:nowrap;gap:11px}
.careers-layout{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(300px,.88fr);gap:clamp(30px,5vw,78px);align-items:start}
.careers-lead h2{font-size:clamp(2rem,3.8vw,3.35rem);line-height:1.12;letter-spacing:-.045em;margin:0 0 24px}
.careers-lead p{font-size:16px;line-height:1.8;color:var(--muted);max-width:680px}
.careers-actions{display:grid;justify-items:start;gap:12px;margin-top:34px}
.careers-actions .btn{gap:10px;max-width:100%}
.careers-actions .muted{font-size:14px;margin:0;line-height:1.65;overflow-wrap:anywhere}
.careers-aside{background:white;border:1px solid #dfe7f3;border-radius:22px;padding:clamp(23px,3vw,35px);box-shadow:0 12px 40px rgba(28,49,86,.05)}
.careers-list{list-style:none;counter-reset:career;display:grid;gap:0;margin:4px 0 25px;padding:0}
.careers-list li{counter-increment:career;display:grid;grid-template-columns:33px minmax(0,1fr);column-gap:12px;padding:19px 0;border-bottom:1px solid #e1e7f1}
.careers-list li:before{content:counter(career,decimal-leading-zero);font-size:12px;letter-spacing:.05em;font-weight:800;color:#55709b;grid-column:1;grid-row:1/span 2}
.careers-list li strong{grid-column:2;line-height:1.4}
.careers-list li span{grid-column:2;margin-top:5px;color:var(--muted);line-height:1.6;font-size:14px}
.careers-safety{font-size:13px;line-height:1.7;color:#53637a}
.careers-bottom{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:32px}
.careers-bottom .btn{white-space:nowrap}
@media(max-width:900px){
  .careers-layout{grid-template-columns:1fr;gap:27px}
  .careers-callout,.careers-bottom{grid-template-columns:1fr;gap:22px}
  .careers-callout .btn,.careers-bottom .btn{justify-self:start}
}
@media(max-width:760px){
  .cta{grid-template-columns:1fr;gap:25px}
  .cta .cta-action{justify-self:start;min-width:0}
}
@media(max-width:620px){
  .cta{gap:24px}
  .cta h2{font-size:clamp(1.95rem,9vw,2.6rem)}
  .cta p{margin-top:14px}
  .cta .cta-action{width:100%;justify-self:stretch;white-space:normal}
  .hero-careers{max-width:100%;font-size:14px;line-height:1.6}
  .careers-callout{padding:26px 23px;border-radius:18px}
  .careers-callout .btn,.careers-bottom .btn{justify-self:stretch;width:100%;white-space:normal}
  .careers-layout{gap:30px}
  .careers-actions{justify-items:stretch}
  .careers-actions .btn{width:100%;white-space:normal}
  .careers-aside{border-radius:18px;padding:24px 22px}
}

/* Public UX correction: explicit navigation, contrast-safe buttons, compact rhythm. */
.section{padding:clamp(48px,5.2vw,76px) 0}
.section-heading{margin-bottom:24px}
.section-heading h2{max-width:820px}
.section h2{margin-bottom:22px}
.hero{padding:clamp(72px,7.8vw,103px) 0}
.hero-grid{gap:clamp(30px,4.5vw,60px)}
.hero .lead{margin-top:24px}
.hero .actions{margin-top:28px}
.page-head{padding:clamp(52px,6.7vw,88px) 0 clamp(40px,5.2vw,65px)}
.page-head+.section{padding-top:clamp(42px,4.5vw,65px)}
.cards{gap:15px}
.card{min-height:205px;padding:25px 26px}
.card h3{margin-top:12px}
.card p{line-height:1.62;margin-bottom:15px}
.section .rule{padding:16px 0}
.careers-band{padding-top:8px;padding-bottom:40px}
.careers-band+.section{padding-top:0}
.cta{gap:clamp(22px,3.5vw,46px)}
.cta h2{font-size:clamp(1.9rem,2.8vw,3.05rem)}
.cta p{margin-top:12px}

/* Actual root cause: .rich a previously overrode .btn text with dark blue on a dark button. */
.btn,.btn:visited,button.btn{background:#14213e;color:#fff;border-color:#14213e}
.rich a.btn,.rich a.btn:visited{background:#14213e;color:#fff;border-color:#14213e}
.btn.light,.btn.light:visited,.rich a.btn.light,.rich a.btn.light:visited{background:#fff;color:#14213e;border-color:#fff}
.btn.secondary,.btn.secondary:visited{background:transparent;color:#14213e;border-color:#14213e}
.hero .btn:not(.secondary),.hero .btn:not(.secondary):visited{background:#dbe7ff;color:#102347;border-color:#dbe7ff}
.hero .btn.secondary,.hero .btn.secondary:visited{background:transparent;color:#f6f9ff;border-color:rgba(219,231,255,.52)}
a.btn:hover,button.btn:hover{filter:brightness(1.06)}
.btn:focus-visible,.nav-cta:focus-visible{outline:3px solid #80baff;outline-offset:4px}

/* Preserve component-specific heading margins while tightening overall section rhythm. */
.section .section-heading h2{margin:0}
.section .cta h2{margin:0}
.section .careers-callout h2,.section .careers-bottom h2{margin:0 0 12px}
.section .careers-lead h2{margin:0 0 24px}
/* Desktop and mobile navigation: Home is an explicit destination, with active-page feedback. */
.desktop-links{gap:clamp(12px,1.25vw,20px)}
.desktop-links a{font-size:13.5px}
.desktop-links a[aria-current="page"]{color:#fff;text-decoration:underline;text-decoration-color:#a9c7ff;text-decoration-thickness:2px;text-underline-offset:7px}
.mobile-menu summary{-webkit-tap-highlight-color:transparent}
.mobile-menu summary:focus-visible{outline:3px solid #a9c7ff;outline-offset:4px}
.hamburger-lines{display:flex;flex-direction:column;gap:5px;width:24px;align-items:center;justify-content:center}
.hamburger-lines span{display:block;background:#f5f8ff;width:24px;height:2px;border-radius:2px;transition:transform .2s ease,opacity .2s ease}
.mobile-menu[open] .hamburger-lines span:first-child{transform:translateY(7px) rotate(45deg)}
.mobile-menu[open] .hamburger-lines span:nth-child(2){opacity:0}
.mobile-menu[open] .hamburger-lines span:last-child{transform:translateY(-7px) rotate(-45deg)}
.menu-list a[aria-current="page"]{background:#e9f1ff;color:#173967;font-weight:800}
@media(max-width:1050px){
  .desktop-links{display:none}
  .mobile-menu{display:block;position:relative}
  .mobile-menu summary{
    display:flex;align-items:center;justify-content:center;
    min-height:46px;min-width:48px;padding:10px;border:1px solid rgba(223,235,255,.42);
    background:rgba(255,255,255,.06);color:#fff;border-radius:12px;
    cursor:pointer;list-style:none
  }
  .mobile-menu summary::-webkit-details-marker{display:none}
  .mobile-menu[open] summary{background:rgba(255,255,255,.15)}
  .menu-list{
    display:grid;position:absolute;right:0;top:calc(100% + 14px);
    width:min(330px,calc(100vw - 32px));min-width:0;padding:12px;
    border:1px solid #dce5f3;background:#fff;
    border-radius:17px;box-shadow:0 28px 75px rgba(4,13,35,.28);z-index:70
  }
  .menu-list a{display:flex;align-items:center;min-height:46px;padding:11px 14px;border-radius:9px;font-size:15px;text-decoration:none;color:#182640;font-weight:650}
  .menu-list a:hover{background:#edf3ff}
  .menu-list a.mobile-menu-cta{display:flex;justify-content:center;background:#14284e;color:#fff;text-align:center;margin-top:8px}
}
@media(max-width:900px){
  .mobile-menu summary{min-width:48px;min-height:46px;padding:10px}
  .section{padding:54px 0}
  .page-head{padding:60px 0 48px}
  .split{gap:24px}
}
@media(max-width:620px){
  .hero{padding:54px 0 51px}
  .hero-grid{gap:25px}
  .hero .lead{margin-top:20px}
  .hero .actions{margin-top:25px}
  .hero .panel{padding:21px}
  .hero .panel .step{padding:14px 0}
  .section{padding:45px 0}
  .page-head{padding:49px 0 37px}
  .page-head+.section{padding-top:36px}
  .section-heading{gap:10px;margin-bottom:17px}
  .section h2{margin-bottom:17px}
  .cards{gap:12px}
  .card{padding:22px 21px;min-height:0}
  .card p{margin-bottom:11px}
  .careers-band{padding-top:0;padding-bottom:35px}
  .careers-band+.section{padding-top:0}
  .cta h2{font-size:clamp(1.95rem,8.5vw,2.5rem)}
  .cta .cta-action{background:#fff;color:#14213e}
  .brand{min-width:0}
  .menu-list{width:min(310px,calc(100vw - 30px))}
}
@media(prefers-reduced-motion:reduce){
 .hamburger-lines span{transition:none}
}
