:root{--ink:#071629;--navy:#071d36;--blue:#0b62f4;--cyan:#2fd5dd;--ice:#eaf4ff;--paper:#f5f7f8;--white:#fff;--muted:#4f5d6e;--line:#d9e1e8;--radius:22px;--max:1240px;--on-dark-muted:#b8c7d8;--on-dark-soft:#a9b8c8}*{box-sizing:border-box}html{scroll-behavior:smooth;overflow-x:hidden}body{margin:0;color:var(--ink);background:var(--paper);font-family:Manrope,Arial,sans-serif;overflow-x:hidden}a{color:inherit;text-decoration:none}.container{width:min(calc(100% - 48px),var(--max));margin:auto}.skip{position:fixed;top:-60px;left:20px;background:#fff;padding:12px;z-index:100}.skip:focus{top:20px}.site-header{position:fixed;inset:0 0 auto;z-index:50;color:#fff;transition:.35s}.site-header.scrolled{background:rgba(255,255,255,.95);color:var(--ink);box-shadow:0 1px 0 rgba(7,22,41,.1);backdrop-filter:blur(18px)}.nav-wrap{width:min(calc(100% - 48px),1320px);height:88px;margin:auto;display:flex;align-items:center;justify-content:space-between}.brand{background:#fff;border-radius:4px;padding:7px 10px;height:50px;display:flex;align-items:center}.brand img{width:169px;height:auto;display:block}.site-nav{display:flex;align-items:center;gap:28px;font-size:13px;font-weight:700}.site-nav>a:not(.button){position:relative}.site-nav>a:not(.button):after{content:"";position:absolute;left:0;right:100%;bottom:-7px;height:2px;background:var(--cyan);transition:.3s}.site-nav>a:hover:after{right:0}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:34px;background:var(--blue);color:#fff;padding:16px 20px;border-radius:4px;font-weight:800;transition:.3s}.button:hover{background:#084eca;transform:translateY(-2px)}.button-small{padding:12px 15px;gap:16px}.nav-secondary{border-left:1px solid rgba(255,255,255,.2);padding-left:24px}.scrolled .nav-secondary{border-color:var(--line)}.menu-button{display:none}.hero{min-height:860px;background:radial-gradient(circle at 70% 25%,#123f76 0,#071d36 36%,#04101f 75%);color:#fff;position:relative;overflow:hidden}#constellation{position:absolute;inset:0;width:100%;height:100%;opacity:.5}.hero-glow{position:absolute;width:50vw;height:50vw;border-radius:50%;right:-12vw;top:-20vw;background:rgba(47,213,221,.12);filter:blur(80px)}.hero-grid{min-height:790px;padding-top:130px;display:grid;grid-template-columns:1.15fr .85fr;align-items:center;position:relative}.eyebrow{text-transform:uppercase;letter-spacing:.18em;font-size:11px;font-weight:800;display:flex;align-items:center;gap:10px}.eyebrow i{width:22px;height:1px;background:var(--cyan)}.eyebrow.dark{color:#084eca}.signal .eyebrow,.signal .eyebrow.dark,.cta .eyebrow{color:#fff}.signal .eyebrow i,.cta .eyebrow i{background:var(--cyan)}.hero h1,.section h2,.signal h2,.career h2,.cta h2{font-family:"Space Grotesk",sans-serif;letter-spacing:-.045em;margin:22px 0}.hero h1{font-size:clamp(56px,6.2vw,92px);line-height:.97;max-width:850px}.hero h1 em{font-style:normal;color:var(--cyan)}.signal h2 em{font-style:normal;color:#f2fffe}.hero-lede{font-size:18px;line-height:1.75;color:var(--on-dark-muted);max-width:650px}.hero-actions{display:flex;align-items:center;gap:35px;margin-top:40px}.text-link{font-weight:800;font-size:14px}.text-link span{margin-left:10px}.hero-orbit{width:430px;height:430px;margin-left:auto;border-radius:50%;position:relative;background:radial-gradient(circle,rgba(47,213,221,.16),transparent 65%)}.orbit{position:absolute;inset:35px;border:1px solid rgba(255,255,255,.2);border-radius:50%;animation:spin 18s linear infinite}.orbit-b{inset:95px;animation-direction:reverse;animation-duration:12s}.core{position:absolute;inset:140px;border-radius:50%;background:rgba(9,38,72,.85);border:1px solid rgba(47,213,221,.65);display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:0 0 60px rgba(47,213,221,.2)}.core b{font-size:40px}.core span{font-size:10px;text-transform:uppercase;letter-spacing:.12em}.sat{position:absolute;padding:10px 14px;border:1px solid rgba(255,255,255,.3);background:rgba(7,29,54,.8);font-size:11px;border-radius:20px}.sat-a{top:55px;left:40px}.sat-b{right:5px;top:170px}.sat-c{bottom:40px;left:95px}@keyframes spin{to{transform:rotate(360deg)}}.hero-foot{height:70px;position:relative;display:flex;align-items:center;gap:24px;text-transform:uppercase;letter-spacing:.12em;font-size:11px;color:var(--on-dark-muted);font-weight:700}.hero-foot .line{height:1px;background:#6a8299;flex:1}.signal{background:var(--blue);color:#fff;padding:100px 0}.signal-grid{display:grid;grid-template-columns:.5fr 1.5fr .7fr;gap:60px;align-items:start}.signal h2{font-size:52px;line-height:1.04;margin:0}.signal p:last-child{line-height:1.8;color:#f3f8ff;margin-top:10px}.section{padding:130px 0}.section-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:70px}.section-head h2,.cap-intro h2{font-size:clamp(42px,5vw,68px);line-height:1.03}.section-head>p{max-width:390px;color:var(--muted);line-height:1.7}.solution{display:grid;grid-template-columns:80px 1fr 260px;gap:45px;align-items:center;padding:45px 0;border-top:1px solid var(--line);transition:.35s}.solution:last-child{border-bottom:1px solid var(--line)}.solution:hover{padding-left:18px}.solution>b{font-size:11px;color:var(--blue)}.solution span{font-size:11px;text-transform:uppercase;letter-spacing:.17em;color:var(--muted);font-weight:800}.solution h3{font:600 34px "Space Grotesk";margin:8px 0}.solution p{color:var(--muted);max-width:650px;line-height:1.7}.solution a{font-size:12px;font-weight:800}.glyph{width:220px;height:120px;margin-left:auto;border-radius:60px;background-color:var(--navy);position:relative;overflow:hidden}.glyph:after,.glyph:before{content:"";position:absolute}.g1:before{inset:25px 45px;border:1px solid var(--cyan);border-radius:50%;box-shadow:0 0 30px var(--cyan)}.g1:after{width:10px;height:10px;background:var(--cyan);border-radius:50%;top:55px;left:105px}.g2{background:linear-gradient(135deg,var(--blue),var(--navy))}.g2:before{width:80px;height:80px;border:1px solid #fff;transform:rotate(45deg);top:20px;left:70px}.g3{background:repeating-linear-gradient(90deg,var(--navy) 0 15px,#102e50 15px 30px)}.g3:before{inset:30px 80px;background:var(--cyan);border-radius:50%}.g4:before{width:180px;height:180px;border:20px solid var(--blue);border-radius:50%;left:20px;top:-30px}.capability{background:var(--navy);color:#fff}.cap-layout{display:grid;grid-template-columns:.9fr .75fr 1.1fr;gap:70px;align-items:start}.cap-intro h2{margin-top:30px}.cap-intro p{color:var(--on-dark-muted);line-height:1.7}.cap-tabs{display:flex;flex-direction:column}.cap-tab{appearance:none;background:none;color:var(--on-dark-muted);border:0;border-bottom:1px solid #26405a;text-align:left;padding:23px 0;font:600 17px Manrope;cursor:pointer;transition:.25s}.cap-tab span{font-size:11px;margin-right:25px;font-weight:800}.cap-tab.active,.cap-tab:hover{color:#fff;padding-left:10px}.cap-tab.active{border-color:var(--cyan)}.cap-visual{min-height:480px;background:linear-gradient(145deg,#0d58d8,#0b294c);padding:45px;display:flex;flex-direction:column;justify-content:end;position:relative;overflow:hidden}.cap-mesh{position:absolute;inset:-20%;background:repeating-radial-gradient(circle at 50% 40%,transparent 0 23px,rgba(255,255,255,.08) 24px 25px);animation:pulse 8s ease-in-out infinite}@keyframes pulse{50%{transform:scale(1.12) rotate(4deg)}}.cap-visual p,.cap-visual a{position:relative}.cap-visual p{font-size:19px;line-height:1.6}.cap-visual a{font-size:12px;font-weight:800;margin-top:18px}.steps{display:grid;grid-template-columns:repeat(4,1fr)}.steps>div{padding:40px 35px;min-height:230px;border-left:1px solid var(--line);transition:.3s}.steps>div:last-child{border-right:1px solid var(--line)}.steps>div:hover{background:#fff;transform:translateY(-8px)}.steps b{font-size:10px;color:var(--blue)}.steps h3{font:600 28px "Space Grotesk";margin:45px 0 12px}.steps p{color:var(--muted);line-height:1.6}.insights{background:#e9eef2}.dark-link{color:var(--ink)}.insight-grid{display:grid;grid-template-columns:1.6fr 1fr;gap:24px}.feature-card,.insight-card{background:#fff;padding:46px;min-height:520px;display:flex;flex-direction:column}.feature-card>span,.insight-card>span{color:var(--blue);font-size:11px;text-transform:uppercase;letter-spacing:.15em;font-weight:800}.insight-card>span{color:#e8f1ff}.feature-card h3,.insight-card h3{font:600 37px "Space Grotesk";margin:25px 0 8px}.feature-card p,.insight-card p{color:var(--muted);line-height:1.7}.feature-card b,.insight-card b{margin-top:auto;font-size:12px}.paper-art{height:180px;margin:35px 0;background:var(--navy);position:relative;overflow:hidden}.paper-art i{position:absolute;width:150px;height:150px;border:1px solid var(--cyan);border-radius:50%;top:15px;left:calc(50% - 75px)}.paper-art i:nth-child(2){left:18%;border-color:#386ce8}.paper-art i:nth-child(3){left:auto;right:18%;border-color:#fff}.insight-card{background:var(--blue);color:#fff}.insight-card p{color:#f3f8ff}.career{background:#071322;color:#fff;overflow:hidden}.career-grid{min-height:650px;display:grid;grid-template-columns:1fr 1fr;align-items:center}.career h2{font-size:67px}.career p{color:var(--on-dark-muted);max-width:560px;line-height:1.8}.light-button{background:var(--cyan);color:var(--ink);margin-top:25px}.career-word{font:800 112px/0.78 "Space Grotesk";color:transparent;-webkit-text-stroke:1px #284058;transform:rotate(-8deg)}.cta{padding:120px 0;background:var(--cyan)}.cta-inner{display:grid;grid-template-columns:.35fr 1.25fr .55fr;align-items:end;gap:40px}.cta h2{font-size:65px}.cta-inner>div{display:flex;flex-direction:column;gap:25px}.footer{background:#030b14;color:#fff;padding:90px 0 30px}.footer-top{display:grid;grid-template-columns:1.5fr repeat(3,1fr);gap:70px;padding-bottom:80px}.footer-top img{background:#fff;padding:7px;border-radius:3px}.footer-top p{color:var(--on-dark-soft);line-height:1.7;max-width:310px}.footer h3{text-transform:uppercase;letter-spacing:.16em;font-size:11px;font-weight:800;color:var(--on-dark-soft)}.footer-top a{display:block;margin:17px 0;font-size:13px}.footer-top a:hover,.footer-bottom a:hover{color:var(--cyan)}.footer-bottom{border-top:1px solid #1c2a38;padding-top:26px;display:flex;justify-content:space-between;color:var(--on-dark-soft);font-size:12px}.footer-bottom div{display:flex;gap:24px}.reveal{opacity:0;transform:translateY(24px);transition:opacity .75s,transform .75s}.reveal.visible{opacity:1;transform:none}
@media(max-width:1000px){.site-nav{position:fixed;inset:88px 0 auto;background:#fff;color:var(--ink);padding:30px;display:none;flex-direction:column;align-items:stretch}.site-nav.open{display:flex}.menu-button{display:flex;background:none;border:0;color:inherit;align-items:center;gap:4px}.menu-button span{display:block;width:20px;height:2px;background:currentColor}.menu-button b{margin-left:8px}.hero-grid{grid-template-columns:1fr}.hero-copy{padding-top:90px}.hero-orbit{display:none}.signal-grid,.cap-layout,.cta-inner{grid-template-columns:1fr}.signal-grid{gap:20px}.solution{grid-template-columns:55px 1fr}.glyph{display:none}.cap-visual{min-height:380px}.footer-top{grid-template-columns:1.5fr 1fr 1fr}.footer-top>div:last-child{grid-column:2/4}}
@media(max-width:680px){.container,.nav-wrap{width:min(calc(100% - 32px),var(--max))}.nav-wrap{height:76px}.site-nav{top:76px}.brand{height:43px}.brand img{width:145px}.hero{min-height:760px}.hero-grid{min-height:700px;padding-top:70px}.hero h1{font-size:51px}.hero-lede{font-size:15px}.hero-actions{align-items:flex-start;flex-direction:column}.hero-foot p{display:none}.signal,.section,.cta{padding:80px 0}.signal h2,.section-head h2,.cap-intro h2,.career h2,.cta h2{font-size:42px}.section-head{align-items:flex-start;flex-direction:column;gap:10px;margin-bottom:45px}.solution{grid-template-columns:35px 1fr;gap:16px;padding:30px 0}.solution h3{font-size:27px}.cap-layout{gap:35px}.steps{grid-template-columns:1fr 1fr}.steps>div:nth-child(3){border-top:1px solid var(--line)}.steps>div:nth-child(4){border-top:1px solid var(--line);border-right:1px solid var(--line)}.insight-grid{grid-template-columns:1fr}.feature-card,.insight-card{min-height:440px;padding:30px}.feature-card h3,.insight-card h3{font-size:30px}.career-grid{grid-template-columns:1fr;min-height:680px}.career-word{font-size:72px;position:absolute;opacity:.4}.career-grid>div:first-child{position:relative;z-index:2}.cta-inner{align-items:start}.footer-top{grid-template-columns:1fr 1fr;gap:35px}.footer-top>div:first-child{grid-column:1/3}.footer-top>div:last-child{grid-column:auto}.footer-bottom{flex-direction:column;gap:15px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}}
/* Dual-shell removal when V8 chrome is active inside legacy Django base.html */
body.hk-v8-active .navbar,
body.hk-v8-active .navbar-default,
body.hk-v8-active header.navbar,
body.hk-v8-active .site-footer:not(.footer),
body.hk-v8-active footer:not(.footer),
body.hk-v8-active .hk-global-header,
body.hk-v8-active .hk-global-footer,
body.hk-v8-active .hk-v7-header,
body.hk-shell-unified > .navbar,
body.hk-shell-unified > header:not(.site-header){display:none!important}
body.hk-v8-active{padding-top:0}
.hk-v8 .page-hero{padding:140px 0 60px;background:var(--navy);color:#fff}
.hk-v8 .page-hero h1{font-family:"Space Grotesk",sans-serif;font-size:clamp(36px,5vw,56px);margin:12px 0}
.hk-v8 .page-hero .lead{color:var(--on-dark-muted);max-width:640px;line-height:1.7}
.hk-v8 .page-body{padding:60px 0 100px}
.hk-v8 .page-body .legal-note{padding:20px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--muted);line-height:1.7;max-width:72ch}

/* LCP: keep above-fold hero text painted immediately */
.hero-copy.reveal,.hero-orbit.reveal{opacity:1;transform:none}
@media(max-width:1000px){#constellation{display:none!important}}

/* Focus rings — visible on light and dark surfaces */
a:focus-visible,button:focus-visible,.cap-tab:focus-visible,.menu-button:focus-visible{
  outline:2px solid var(--cyan);
  outline-offset:3px
}
.scrolled a:focus-visible,.scrolled button:focus-visible,.site-nav.open a:focus-visible{
  outline-color:var(--blue)
}

.hk-shell,.hk-v8,.career{overflow-x:hidden}.career-word{max-width:100%}


/* ============================================================
   V8.1 Global experience unification
   Appended by V8.1 hotfix - hybrid mega navigation + shared shell.
   ============================================================ */

/* --- Global shell layout --- */
:root { --hk-utility-h: 34px; --hk-header-h: 88px; }
body.hk-v8-global { padding-top: calc(var(--hk-utility-h) + var(--hk-header-h)); }
body.hk-v8-global .site-header { top: var(--hk-utility-h); }

/* --- Utility bar --- */
.hk-utility {
  position: fixed; top: 0; left: 0; right: 0;
  height: var(--hk-utility-h); z-index: 60;
  background: var(--ink); color: #fff;
  font: 600 12px/1 Manrope, Arial, sans-serif;
  display: flex; align-items: center;
}
.hk-utility-inner {
  width: min(calc(100% - 48px), var(--max));
  margin: auto; display: flex; align-items: center;
  justify-content: space-between; gap: 24px;
}
.hk-utility-safety { margin: 0; opacity: .95; }
.hk-utility-contact { display: flex; gap: 18px; }
.hk-utility-contact a { color: var(--cyan); text-decoration: none; letter-spacing: .02em; }
.hk-utility-contact a:hover { color: #fff; }

/* --- Fraud warning band (footer companion) --- */
.hk-fraud {
  background: #071322; color: #e6edf5;
  border-top: 1px solid #1c2a38;
  padding: 22px 0;
  font-size: 13px; line-height: 1.6;
}
.hk-fraud .container { display: flex; align-items: center; }
.hk-fraud a { color: var(--cyan); }

/* --- Interior header solidification (force scrolled look) --- */
body.hk-interior .site-header,
.site-header[data-solid="true"],
.site-header.scrolled {
  background: rgba(255,255,255,.98);
  color: var(--ink);
  box-shadow: 0 1px 0 rgba(7,22,41,.1);
  backdrop-filter: blur(18px);
}
body.hk-interior .site-header .site-nav > a:not(.button):after,
.site-header[data-solid="true"] .site-nav > a:not(.button):after { background: var(--blue); }
body.hk-interior .site-header .nav-secondary,
.site-header[data-solid="true"] .nav-secondary { border-color: var(--line); }

/* --- Hybrid mega navigation --- */
.hk-nav-trigger {
  appearance: none; background: none; border: 0; padding: 0;
  color: inherit; font: inherit; cursor: pointer;
  display: inline-flex; align-items: center; gap: 6px;
  position: relative;
}
.hk-nav-trigger:after {
  content: ""; width: 8px; height: 8px;
  border-right: 2px solid currentColor; border-bottom: 2px solid currentColor;
  transform: translateY(-2px) rotate(45deg); transition: .2s;
}
.hk-nav-trigger[aria-expanded="true"]:after { transform: translateY(2px) rotate(-135deg); }

.hk-mega {
  position: absolute; left: 0; right: 0; top: 100%;
  background: #fff; color: var(--ink);
  border-top: 1px solid var(--line);
  box-shadow: 0 14px 28px rgba(7,22,41,.12);
}
.hk-mega[hidden] { display: none; }
.hk-mega-panel { padding: 32px 0; }
.hk-mega-panel[hidden] { display: none; }
.hk-mega-grid {
  display: grid; grid-template-columns: repeat(3, 1fr);
  gap: 18px 32px;
}
.hk-mega-grid a {
  display: block; padding: 14px 16px; border-radius: 10px;
  border: 1px solid transparent; transition: .2s;
  color: inherit; text-decoration: none;
}
.hk-mega-grid a:hover, .hk-mega-grid a:focus-visible {
  background: #f5f7f8; border-color: var(--line);
}
.hk-mega-grid a strong { display: block; font-weight: 700; font-size: 15px; margin-bottom: 4px; }
.hk-mega-grid a span { display: block; font-size: 13px; color: var(--muted); line-height: 1.55; }

/* --- Mobile navigation --- */
.hk-mobile {
  position: fixed; inset: calc(var(--hk-utility-h) + var(--hk-header-h)) 0 0 0;
  background: #fff; color: var(--ink); overflow-y: auto;
  padding: 24px; z-index: 55;
}
.hk-mobile[hidden] { display: none; }
.hk-mobile-acc { display: flex; flex-direction: column; gap: 6px; }
.hk-acc-btn {
  appearance: none; background: none; border: 0; text-align: left;
  padding: 16px 0; font: 700 16px Manrope, sans-serif;
  border-bottom: 1px solid var(--line); cursor: pointer;
  display: flex; justify-content: space-between; align-items: center;
}
.hk-acc-btn:after {
  content: ""; width: 10px; height: 10px;
  border-right: 2px solid currentColor; border-bottom: 2px solid currentColor;
  transform: rotate(45deg); transition: .2s;
}
.hk-acc-btn[aria-expanded="true"]:after { transform: rotate(-135deg); }
.hk-acc-panel { padding: 8px 0 16px 8px; display: flex; flex-direction: column; gap: 10px; }
.hk-acc-panel[hidden] { display: none; }
.hk-acc-panel a { color: var(--ink); text-decoration: none; font-weight: 600; }
.hk-mobile-cta { margin-top: 28px; display: flex; flex-direction: column; gap: 14px; }
.hk-mobile-cta a { color: var(--ink); text-decoration: none; font-weight: 700; }

/* --- Card grids used across interiors --- */
.card-grid-4 { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
.card-grid-3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
@media (max-width:1000px){ .card-grid-4 { grid-template-columns: repeat(2, 1fr); } .card-grid-3 { grid-template-columns: 1fr; } }
@media (max-width:680px){ .card-grid-4 { grid-template-columns: 1fr; } }

.mini-card {
  display: block; text-decoration: none; color: inherit;
  background: #fff; border: 1px solid var(--line); border-radius: 14px;
  padding: 22px; transition: .2s;
}
.mini-card:hover, .mini-card:focus-visible { transform: translateY(-2px); box-shadow: 0 12px 30px rgba(7,22,41,.08); border-color: #b6c4d2; }
.mini-card span { font-size: 11px; text-transform: uppercase; letter-spacing: .16em; color: var(--blue); font-weight: 800; }
.mini-card h3 { font: 600 20px/1.25 "Space Grotesk", sans-serif; margin: 10px 0 8px; }
.mini-card p { color: var(--muted); margin: 0 0 10px; line-height: 1.6; }

/* --- Multi-step process grids --- */
.steps.steps-6 { grid-template-columns: repeat(6, 1fr); }
.steps.steps-7 { grid-template-columns: repeat(7, 1fr); }
@media (max-width:1000px){ .steps.steps-6, .steps.steps-7 { grid-template-columns: repeat(3, 1fr); } }
@media (max-width:680px){ .steps.steps-6, .steps.steps-7 { grid-template-columns: 1fr 1fr; } }

/* --- Capability block used on Technology Solutions --- */
.capability-block { max-width: 1100px; }
.capability-block h2 { font: 600 clamp(32px, 4vw, 48px)/1.05 "Space Grotesk", sans-serif; margin: 8px 0 12px; }
.lead-inline { color: var(--muted); font-size: 17px; line-height: 1.7; max-width: 780px; margin: 0 0 26px; }

/* --- Request Talent / Contact form layouts --- */
.form-layout { display: grid; grid-template-columns: 1.6fr 1fr; gap: 40px; align-items: start; }
.form-panel { background: #fff; border: 1px solid var(--line); border-radius: 16px; padding: 28px; }
.side-panel { background: #fff; border: 1px solid var(--line); border-radius: 16px; padding: 28px; }
.side-panel h2 { font: 600 22px "Space Grotesk", sans-serif; margin: 0 0 12px; }
.side-list { list-style: none; padding: 0; margin: 0 0 18px; display: flex; flex-direction: column; gap: 10px; color: var(--muted); }
.side-list li strong { color: var(--ink); }
@media (max-width:1000px){ .form-layout { grid-template-columns: 1fr; } }

/* --- FAQ accordion --- */
.faq { display: flex; flex-direction: column; gap: 6px; }
.faq button { appearance: none; background: none; border: 0; border-bottom: 1px solid var(--line); text-align: left; padding: 14px 0; font: 700 15px Manrope; cursor: pointer; display: flex; justify-content: space-between; }
.faq button:after { content: "+"; font-weight: 700; font-size: 18px; }
.faq button[aria-expanded="true"]:after { content: "-"; }
.faq div[hidden] { display: none; }
.faq div p { color: var(--muted); margin: 6px 0 14px; }

/* --- Legal shell layout --- */
.legal-layout { display: grid; grid-template-columns: 260px 1fr; gap: 40px; align-items: start; }
.legal-toc { position: sticky; top: calc(var(--hk-utility-h) + var(--hk-header-h) + 16px); }
.legal-toc .eyebrow { margin-bottom: 12px; }
.legal-toc .muted { color: var(--muted); font-size: 13px; line-height: 1.6; }
.legal-body { font-size: 16px; line-height: 1.75; color: var(--ink); }
.legal-body h2 { font: 600 24px "Space Grotesk", sans-serif; margin: 28px 0 10px; }
.legal-body h3 { font: 600 18px "Space Grotesk", sans-serif; margin: 22px 0 8px; }
.legal-body p { margin: 0 0 12px; color: var(--muted); }
.legal-note { background: #fff; border: 1px solid var(--line); border-radius: 12px; padding: 18px 20px; color: var(--muted); }
@media (max-width:900px){ .legal-layout { grid-template-columns: 1fr; } .legal-toc { position: static; } }

/* --- Page hero on interiors --- */
.page-hero {
  background: linear-gradient(180deg, #f5f7f8 0%, #ffffff 100%);
  padding: 90px 0 60px;
  border-bottom: 1px solid var(--line);
}
.page-hero h1 { font: 800 clamp(38px, 5vw, 64px)/1.05 "Space Grotesk", sans-serif; margin: 8px 0 12px; }
.page-hero .lead { font-size: 18px; line-height: 1.7; color: var(--muted); max-width: 780px; }

/* --- Staging badge (preview only) --- */
.hk-staging-badge {
  position: fixed; bottom: 16px; right: 16px; z-index: 90;
  background: #ffe08a; color: #211; padding: 6px 12px;
  border-radius: 999px; font: 700 11px Manrope, sans-serif;
  letter-spacing: .1em; text-transform: uppercase;
  box-shadow: 0 4px 10px rgba(0,0,0,.15);
}

/* --- Belt-and-suspenders: defensively hide any legacy V7 global shell if it appears --- */
body.hk-v8-global .hk-global-header,
body.hk-v8-global .hk-global-footer { display: none !important; }

/* --- Print styles for legal --- */
@media print {
  .hk-utility, .site-header, .hk-mobile, .hk-mega, .hk-fraud, .footer, .hk-staging-badge { display: none !important; }
  body.hk-v8-global { padding-top: 0; }
  .legal-layout { grid-template-columns: 1fr; }
  .legal-body { color: #000; }
  .legal-body p { color: #222; }
}


/* ============================================================
   V8.1 axe remediation (2026-07-17)
   Clears serious link-in-text-block + color-contrast findings and
   the moderate heading-order finding by:
     * Underlining inline links inside dark bands, legal-notes and
       side panels so link identification is not color-alone.
     * Raising the CTA eyebrow contrast on the cyan CTA background.
     * Introducing `p.card-title` / `p.footer-heading` for card and
       footer titles so heading order (h1 -> h2 -> h3) is preserved.
   ============================================================ */

/* CTA eyebrow: force >=4.5:1 contrast on cyan CTA background */
.cta .eyebrow { color: #071628; }
.cta .eyebrow i { background: #071628; }

/* Fraud band inline links */
.hk-fraud a { color: #ffffff; text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 1px; }
.hk-fraud a:hover, .hk-fraud a:focus-visible { text-decoration-thickness: 2px; }

/* Utility bar inline contact links */
.hk-utility-contact a { text-decoration: underline; text-underline-offset: 2px; }

/* Legal-note inline links */
.legal-note a { text-decoration: underline; text-underline-offset: 2px; }
.legal-note a.button, .legal-note a.button-small { text-decoration: none; }

/* Side panel inline body links (leave decorative CTAs untouched) */
.side-panel a:not(.button):not(.button-small):not(.text-link) { text-decoration: underline; text-underline-offset: 2px; }
.side-list a { text-decoration: underline; text-underline-offset: 2px; }

/* Mini-card inline links (contact tel/mailto etc. inside article cards) */
.mini-card p a,
.mini-card a[href^="tel:"],
.mini-card a[href^="mailto:"] { text-decoration: underline; text-underline-offset: 2px; }

/* Mega grid a is a full-block link: preserve clean look, add focus outline */
.hk-mega-grid a:focus-visible { outline: 2px solid var(--blue); outline-offset: 2px; }

/* p.card-title replaces h3 inside mini-cards / legal-notes to
   preserve heading order (h1 -> h2 -> h3). Visually mirrors the old h3. */
.mini-card .card-title { font: 600 20px/1.25 "Space Grotesk", sans-serif; margin: 10px 0 8px; color: var(--ink); }
.legal-note .card-title { font: 600 18px "Space Grotesk", sans-serif; margin: 8px 0; color: var(--ink); }

/* p.footer-heading replaces the footer <h3> for the same reason */
.footer .footer-heading { text-transform: uppercase; letter-spacing: .16em; font-size: 11px; font-weight: 800; color: var(--on-dark-soft); margin: 0 0 12px; }
