/* Visual refresh inspired by the supplied navy and electric-blue consulting reference. */
:root {
  --ink: #09144a;
  --ink-soft: #53658a;
  --blue: #0755f5;
  --blue-deep: #0645d5;
  --cyan: #59c8ed;
  --mist: #e7f1ff;
  --line: #d3e2f5;
  --pale: #e7f1ff;
  --navy: #030b4b;
  --green: #22bd68;
  --shadow: 0 22px 58px rgba(12, 35, 99, .13);
  --radius: 24px;
}

html { scroll-padding-top: 88px; }
body { color: var(--ink); background: #e8f2ff; }
.site-header {
  height: 78px;
  background: rgba(3, 9, 61, .97);
  border-bottom: 1px solid rgba(116, 158, 255, .18);
  box-shadow: 0 8px 26px rgba(1, 8, 49, .14);
}
.brand-mark { background: linear-gradient(145deg, #0d6bff, #063bc8); box-shadow: 0 7px 18px rgba(0, 80, 255, .35); }
.brand-copy strong { color: #fff; }
.brand-copy small { color: #aab9e4; }
.main-nav { gap: 15px; }
.main-nav > a { color: #e0e8ff; font-size: 12px; }
.main-nav > a:hover, .main-nav > a:focus-visible { color: #68a3ff; }
.main-nav > a:first-child { padding: 8px 15px; border: 1px solid rgba(154, 184, 255, .22); border-radius: 999px; background: rgba(255,255,255,.035); }
.language-switch { border-color: rgba(174, 194, 255, .28); color: #8294ca; }
.language-switch a { color: #b6c3e8; }
.language-switch a[aria-current=page] { color: #68a3ff; }
.menu-toggle span { background: #e4ebff; }
.button { border-radius: 999px; }
.button-primary { background: #0755f5; box-shadow: 0 10px 25px rgba(5, 68, 220, .28); }
.button-primary:hover { background: #1767ff; box-shadow: 0 14px 30px rgba(5, 68, 220, .36); }
.nav-whatsapp { background: #0755f5; color: #fff; box-shadow: 0 8px 20px rgba(3, 52, 183, .3); }
.nav-whatsapp:hover { background: #1767ff; }

.hero {
  position: relative;
  min-height: 700px;
  padding: 52px 0 34px;
  color: #fff;
  background:
    radial-gradient(circle at 78% 45%, rgba(10, 63, 176, .26), transparent 29%),
    radial-gradient(ellipse at 50% -25%, #111d6c 0, #050d4b 48%, #020735 100%);
}
.hero::before {
  content: "";
  position: absolute;
  inset: 0;
  opacity: .11;
  pointer-events: none;
  background-image: linear-gradient(rgba(116, 155, 255, .16) 1px, transparent 1px), linear-gradient(90deg, rgba(116, 155, 255, .16) 1px, transparent 1px);
  background-size: 56px 56px;
  mask-image: linear-gradient(90deg, transparent 0, #000 62%, transparent 100%);
}
.hero::after {
  content: "";
  position: absolute;
  z-index: 0;
  left: 0;
  right: 0;
  bottom: 0;
  height: 24px;
  background: linear-gradient(90deg, #0a42db, #0958ff 55%, #0a42db);
  clip-path: polygon(0 0, 100% 0, 97% 100%, 4.5% 100%);
  opacity: .86;
}
.hero-glow { display: none; }
.hero .container { position: relative; z-index: 1; }
.hero-grid { grid-template-columns: minmax(0, .93fr) minmax(0, 1.07fr); gap: 22px; min-height: 520px; }
.hero-copy { padding: 16px 0 10px; }
.hero .eyebrow { color: #f1f5ff; letter-spacing: .12em; }
.hero .eyebrow-line { width: 32px; background: #1165ff; }
.hero h1 {
  max-width: 600px;
  margin: 24px 0 21px;
  color: #fff;
  font-size: clamp(42px, 4.5vw, 65px);
  line-height: 1.12;
  letter-spacing: -.05em;
  font-weight: 760;
}
.hero-title-accent { color: #1761ff; text-shadow: 0 0 30px rgba(20, 86, 255, .24); }
.hero-lead { max-width: 520px; color: #c1cbe5; font-size: 15px; line-height: 1.8; }
.hero-actions { gap: 22px; margin-top: 30px; }
.hero-actions .button { text-transform: uppercase; letter-spacing: .035em; padding: 15px 22px; }
.hero .text-link { color: #d1dcfa; }
.hero .text-link span { color: #54a3ff; }
.hero-trust { margin-top: 25px; }
.hero-trust p { color: #a8b8e4; font-size: 11px; }
.trust-avatars span { border-color: #06104f; background: #0755f5; color: #fff; }
.hero-visual { height: 530px; max-width: 650px; width: 100%; margin-inline: auto; transform: none; }
.hero-orbit-art { position: absolute; inset: 0; display: block; width: 100%; height: 100%; object-fit: contain; filter: drop-shadow(0 20px 35px rgba(0, 49, 186, .26)); }
.visual-orbit, .visual-document { display: none; }
.visual-float { z-index: 3; padding: 12px 15px; border: 1px solid #d9e6ff; border-radius: 4px 16px 8px 8px; background: #fff; color: #0b174e; box-shadow: 0 15px 38px rgba(0, 4, 35, .25); }
.visual-float b { font-size: 11px; color: #08144a; }
.visual-float small { color: #7182a4; }
.float-icon { background: #e7f1ff; color: #0755f5; }
.country-orb { background: #e8f1ff; }
.float-check { left: 0; top: auto; bottom: 54px; }
.float-country { right: 0; top: 50px; }
.visual-sparkle { color: #3d91ff; }
.benefit-row { border-color: rgba(159, 183, 255, .28); margin-top: 0; padding-top: 21px; }
.benefit { color: #dce5ff; font-size: 12px; }
.benefit-icon { border-color: rgba(81, 144, 255, .45); background: rgba(5, 66, 215, .3); color: #58a8ff; }

.section { padding-block: 88px; }
.section-heading h2, .section h2, .tracking-grid h2, .faq-intro h2 { color: #09144a; }
.section-heading.centered { margin-bottom: 38px; }
.section-heading h2 { font-size: clamp(30px, 3.4vw, 43px); }
.section-heading p { color: #64749a; font-size: 13px; }
.eyebrow { color: #315aab; }
.eyebrow-line { background: #0755f5; }
.countries-section { position: relative; overflow: hidden; padding-block: 78px 84px; background: #e5f0ff; }
.countries-section::before, .faq-section::before {
  content: "";
  position: absolute;
  width: 380px;
  height: 380px;
  right: -185px;
  top: 10%;
  border: 1px solid rgba(34, 103, 236, .12);
  border-radius: 50%;
  box-shadow: 0 0 0 35px rgba(34, 103, 236, .035), 0 0 0 72px rgba(34, 103, 236, .025);
  pointer-events: none;
}
.countries-section .container, .faq-section .container { position: relative; z-index: 1; }
.country-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; }
.country-card {
  min-height: 284px;
  padding: 22px 20px 20px;
  border: 0;
  border-radius: 4px 25px 8px 8px;
  background: #fff;
  box-shadow: 0 14px 34px rgba(12, 46, 112, .08);
  clip-path: polygon(0 0, calc(100% - 28px) 0, 100% 28px, 100% 100%, 0 100%);
}
.country-card:hover { transform: translateY(-5px); box-shadow: 0 18px 38px rgba(12, 46, 112, .16); }
.country-card-top { margin-bottom: 16px; }
.flag-wrap { width: 44px; height: 44px; display: grid; place-items: center; border: 1px solid #d8e8ff; border-radius: 50%; background: #f1f7ff; }
.country-flag { font-size: 23px; }
.country-code { color: #5374b5; font-size: 10px; font-weight: 800; letter-spacing: .12em; }
.country-card h3 { color: #0a1649; font-size: 16px; }
.country-card p { color: #6a7999; font-size: 11.5px; line-height: 1.65; }
.country-card-glow { width: 104px; height: 104px; right: -35px; top: -43px; background: #d9eaff; }
.card-link { color: #0755f5; font-size: 11px; font-weight: 800; text-transform: uppercase; letter-spacing: .025em; }
.section-disclaimer { color: #65789b; font-size: 10px; }

.services-section { position: relative; overflow: hidden; background: #030b49; color: #fff; }
.services-section::before {
  content: "";
  position: absolute;
  inset: 0;
  opacity: .12;
  pointer-events: none;
  background: repeating-linear-gradient(135deg, transparent 0 60px, rgba(84, 143, 255, .18) 61px 62px, transparent 63px 112px);
}
.services-section .container { position: relative; z-index: 1; }
.services-section .section-heading h2 { color: #fff; }
.services-section .section-heading p { color: #b5c3e5; }
.services-section .eyebrow { color: #e1e9ff; }
.service-grid { gap: 17px; }
.service-card {
  min-height: 246px;
  padding: 24px 25px 26px;
  border: 0;
  border-radius: 4px 28px 8px 8px;
  background: #fff;
  color: #0b174a;
  box-shadow: 0 14px 30px rgba(0, 0, 0, .13);
  clip-path: polygon(0 0, calc(100% - 30px) 0, 100% 30px, 100% 100%, 0 100%);
}
.service-card:hover { transform: translateY(-5px); box-shadow: 0 20px 38px rgba(0, 0, 0, .24); }
.service-icon { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 50%; background: #eaf2ff; color: #0755f5; }
.service-icon > span { font-size: 20px; }
.service-number { color: #7d9bd5; font-size: 10px; font-weight: 800; }
.service-card h3 { color: #0a1548; font-size: 15px; line-height: 1.45; margin: 17px 0 8px; }
.service-card p { color: #667695; font-size: 11.5px; line-height: 1.7; }
.service-arrow { color: #0755f5; opacity: 1; }

.application-section { background: #e6f1ff; color: #0b174a; padding-block: 88px; }
.application-pattern { opacity: .18; background-image: radial-gradient(circle, #1e63df 1px, transparent 1.5px); background-size: 22px 22px; mask-image: linear-gradient(90deg, #000, transparent 38%); }
.application-copy h2 { color: #09144a; }
.application-copy > p { color: #5e7094; }
.application-copy .eyebrow { color: #3259a8; }
.application-points > div { border-color: #c4d9f5; }
.application-points > div > span { color: #0755f5; }
.application-points p { color: #32466f; }
.secure-note { color: #526990; background: rgba(255,255,255,.64); border: 1px solid #d5e4f8; border-radius: 3px 14px 8px 8px; }
.application-card { border-radius: 4px 28px 8px 8px; box-shadow: 0 22px 55px rgba(12, 36, 91, .16); }
.form-card-heading { border-bottom-color: #e5edf8; }
.form-step-icon { background: #e8f1ff; color: #0755f5; }
.application-form input:not([type=checkbox]):not([type=file]), .application-form select { border-radius: 5px; background: #f7faff; }
.application-form input:focus, .application-form select:focus { border-color: #5e98ff; box-shadow: 0 0 0 3px #dceaff; }
.file-drop { border-radius: 5px 15px 6px 6px; background: #eff6ff; }

.stats-section { background: #e6f1ff; border: 0; }
.stats-inner { padding-block: 31px; }
.stats-title { color: #122155; }
.stats-title .eyebrow { color: #3158a8; }
.stats-title p { color: #66779a; }
.stats-spark { color: #0755f5; }
.stat-item { border-left-color: #c5d9f4; }
.stat-item strong { color: #0755f5; }
.stat-item small { color: #617294; }
.testimonials-section { background: #e6f1ff; padding-block: 62px 88px; }
.testimonials-section .section-heading h2 { font-size: clamp(30px, 3.3vw, 42px); }
.testimonial-card { border: 0; border-radius: 4px 25px 8px 8px; background: #fff; box-shadow: 0 16px 38px rgba(13, 43, 103, .1); }
.testimonial-card blockquote { color: #243966; font-size: 13px; }
.stars { color: #ffbc32; }
.author-avatar { background: #e7f0ff; color: #0755f5; }
.carousel-controls button { border: 1px solid #c9daf2; background: #fff; color: #0b174a; }
.reviews-empty { background: #fff; border-color: #d7e4f7; }

.tracking-section { background: #030b49; color: #fff; }
.tracking-grid h2 { color: #fff; }
.tracking-grid > div:first-child > p { color: #b8c6e8; }
.tracking-section .eyebrow { color: #e4ebff; }
.tracking-card { border: 1px solid rgba(160, 184, 255, .18); border-radius: 4px 26px 8px 8px; background: #fff; box-shadow: 0 20px 45px rgba(0,0,0,.2); }
.tracking-card .button-dark { background: #0755f5; border-radius: 999px; }
.tracking-card input { border-radius: 5px; }

.faq-section { position: relative; overflow: hidden; background: #e5f0ff; padding-block: 86px; }
.faq-grid { position: relative; z-index: 1; }
.faq-intro h2 { color: #09144a; }
.faq-intro > p { color: #63749a; }
.faq-list { padding: 12px 26px; border-radius: 4px 28px 8px 8px; background: rgba(255,255,255,.72); box-shadow: 0 14px 36px rgba(12, 46, 112, .08); }
.faq-item { border-color: #d8e5f7; }
.faq-item summary { color: #102050; font-size: 13px; }
.faq-item summary i { background: #e8f1ff; }
.faq-item summary i:before, .faq-item summary i:after { background: #0755f5; }
.faq-item[open] summary { color: #0755f5; }
.faq-item > p { color: #596e95; font-size: 12px; }

.contact-section { background: linear-gradient(110deg, #063bd0, #0755f5 54%, #123baf); }
.contact-section::before { content: ""; position: absolute; inset: 0; opacity: .14; background: repeating-linear-gradient(135deg, transparent 0 70px, rgba(255,255,255,.24) 71px 72px, transparent 73px 128px); pointer-events: none; }
.contact-inner { position: relative; }
.contact-inner h2 { color: #fff; }
.contact-inner p { color: #d4e2ff; }
.contact-orb { background: rgba(255,255,255,.12); border: 1px solid rgba(255,255,255,.35); }
.button-white { color: #0732a5; border-radius: 999px; }
.button-whatsapp { border-radius: 999px; }
.site-footer { background: #020735; color: #d9e2ff; }
.footer-main { padding-block: 52px 42px; }
.footer-brand .brand-copy strong { color: #fff; }
.footer-brand .brand-copy small, .footer-brand > p, .footer-column > a, .footer-newsletter > p { color: #a8b7df; }
.footer-column h3, .footer-newsletter h3 { color: #fff; }
.footer-column > a:hover { color: #74a6ff; }
.newsletter-input { background: rgba(255,255,255,.1); border-color: rgba(195, 210, 255, .2); }
.newsletter-input input { color: #fff; }
.newsletter-input input::placeholder { color: #abb8db; }
.newsletter-input button { background: #0755f5; }
.footer-bottom { border-color: rgba(197, 211, 255, .15); color: #aab8df; }
.footer-bottom > a { color: #90b6ff; }

.privacy-page { background: radial-gradient(circle at 80% 5%, #152d83, transparent 40%), #030b49; }
.privacy-card, .admin-login-card { border-radius: 4px 28px 8px 8px; box-shadow: 0 26px 70px rgba(0,0,0,.24); }
.privacy-card .privacy-back, .admin-login-card .privacy-back { color: #0755f5; }
.admin-login-page { background: radial-gradient(circle at 82% 12%, #122c7c, transparent 39%), #030b49; }
.admin-login-card { border: 1px solid #dce8fb; }
.admin-login-card .admin-lock { color: #0755f5; background: #e8f1ff; }
.admin-login-card h1 { color: #09144a; }

.admin-page { background: #e6f1ff; }
.admin-header { background: #030b49; border-color: rgba(151, 177, 255, .2); }
.admin-header .brand-copy strong { color: #fff; }
.admin-header .brand-copy small, .admin-header-actions { color: #b8c6e7; }
.admin-header-actions > a { color: #78a6ff; }
.admin-title-row h1 { color: #09144a; }
.admin-section { border: 0; border-radius: 4px 25px 8px 8px; box-shadow: 0 15px 38px rgba(12, 46, 112, .09); }
.admin-section-heading h2 { color: #0a1649; }
.admin-table th { color: #5270ae; }
.admin-table td { color: #334970; }
.admin-table td > strong { color: #0c194a; }
.status-form button { background: #e8f1ff; color: #0755f5; }
.admin-footer { color: #65769a; }
.admin-footer a { color: #0755f5; }

@media (max-width: 1050px) {
  .hero-grid { grid-template-columns: minmax(0, 1fr) minmax(0, .95fr); }
  .hero h1 { font-size: clamp(40px, 5vw, 57px); }
  .hero-visual { height: 460px; }
  .country-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .country-card { min-height: 250px; }
}
@media (max-width: 780px) {
  .site-header { height: 70px; }
  .main-nav { background: #030b49; border-color: rgba(151,177,255,.22); }
  .main-nav > a { color: #e0e8ff; }
  .main-nav > a:first-child { border: 0; border-bottom: 1px solid rgba(255,255,255,.09); border-radius: 0; background: transparent; padding: 11px 0; }
  .main-nav .language-switch { color: #8294ca; }
  .hero { min-height: 0; padding: 48px 0 30px; }
  .hero-grid { grid-template-columns: 1fr; gap: 2px; min-height: 0; }
  .hero-copy { padding: 0; }
  .hero h1 { max-width: 660px; font-size: clamp(40px, 8vw, 60px); }
  .hero-visual { width: min(100%, 590px); height: min(82vw, 450px); margin: 0 auto; }
  .float-check { left: 1%; bottom: 7%; }
  .float-country { right: 1%; top: 8%; }
  .benefit-row { grid-template-columns: 1fr; justify-items: start; gap: 12px; }
  .countries-section, .services-section, .application-section, .tracking-section, .faq-section { padding-block: 68px; }
  .service-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .application-grid { grid-template-columns: 1fr; }
  .testimonial-card { flex-basis: 80%; }
  .main-nav .nav-whatsapp, .main-nav .nav-consult { align-self: flex-start; margin-top: 10px; }
}
@media (max-width: 560px) {
  .container { width: calc(100% - 32px); }
  .hero { padding-top: 41px; }
  .hero h1 { font-size: clamp(37px, 10vw, 48px); line-height: 1.1; }
  .hero-lead { font-size: 13px; }
  .hero-actions { align-items: flex-start; flex-direction: column; gap: 15px; }
  .hero-visual { height: 85vw; max-height: 360px; }
  .visual-float { padding: 9px 11px; }
  .visual-float b { font-size: 9px; }
  .visual-float small { font-size: 8px; }
  .country-grid, .service-grid { grid-template-columns: 1fr; }
  .country-card { min-height: 0; }
  .service-card { min-height: 205px; }
  .application-points { grid-template-columns: 1fr; }
  .application-points > div:last-child { grid-column: auto; }
  .stats-inner { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .stats-title { grid-column: 1 / -1; }
  .stat-item { padding-left: 10px; }
  .stat-item strong { font-size: 23px; }
  .testimonial-card { flex-basis: 94%; }
  .faq-list { padding: 9px 16px; }
  .contact-inner { grid-template-columns: 1fr; }
  .contact-actions { grid-column: auto; padding-left: 0; }
  .admin-header-actions { gap: 9px; }
}
@media (prefers-reduced-motion: reduce) {
  .hero-orbit-art, .visual-float { animation: none !important; }
}
/* Final hero refinements: denser headline and a self-contained orbit graphic. */
.hero h1 { font-size: clamp(40px, 3.15vw, 56px); }
.hero h1 .hero-title-accent { color: #1761ff; }
.hero-visual { isolation: isolate; }
.hero-visual::before {
  content: "";
  position: absolute;
  z-index: -1;
  left: 50%;
  top: 50%;
  width: min(78%, 445px);
  aspect-ratio: 1;
  border-radius: 50%;
  transform: translate(-50%, -50%);
  background: radial-gradient(circle, rgba(22, 65, 173, .36), rgba(4, 14, 62, .1) 62%, transparent 70%);
  box-shadow: 0 0 0 18px rgba(10, 76, 225, .05), 0 0 0 19px rgba(15, 81, 234, .42), 0 0 0 39px rgba(10, 76, 225, .035), 0 0 0 40px rgba(17, 83, 232, .38);
}
.hero-orbit-art { display: none; }
.visual-orbit { display: block; z-index: 0; border-radius: 50%; opacity: .9; }
.orbit-one { width: min(98%, 545px); height: min(98%, 545px); border: 7px dashed #0755f5; transform: rotate(-14deg); }
.orbit-two { width: min(84%, 465px); height: min(84%, 465px); border: 2px solid #54c9ed; transform: rotate(8deg); }
.orbit-three { width: min(69%, 382px); height: min(69%, 382px); border: 2px dashed rgba(34, 115, 255, .82); transform: rotate(25deg); }
.visual-document {
  display: grid;
  place-items: center;
  position: relative;
  z-index: 2;
  width: 166px;
  height: 166px;
  padding: 0;
  border: 2px solid #1761ff;
  border-radius: 50%;
  background: radial-gradient(circle at 50% 42%, #0c286e, #061143 72%);
  box-shadow: 0 0 0 14px rgba(10, 72, 224, .12), 0 18px 50px rgba(0, 4, 35, .38);
  transform: none;
}
.visual-document:before { inset: 13px; top: 13px; right: 13px; width: auto; height: auto; border: 1px solid rgba(69, 142, 255, .45); background: radial-gradient(circle, rgba(14, 79, 208, .22), transparent 70%); z-index: 0; }
.doc-top, .doc-title, .doc-lines-wide { display: none !important; }
.doc-stamp { inset: 0; right: auto; bottom: auto; display: block; width: 100%; height: 100%; padding: 0; border: 0; border-radius: 50%; background: transparent; transform: none; }
.doc-stamp b { display: none; }
.doc-stamp:before { content: ""; position: absolute; z-index: 1; top: 39px; left: 50%; width: 25px; height: 25px; border-radius: 50%; background: #65d8f2; transform: translateX(-50%); }
.doc-stamp:after { content: ""; position: absolute; z-index: 1; top: 72px; left: 50%; width: 76px; height: 49px; border-radius: 45px 45px 16px 16px; background: #1475ff; transform: translateX(-50%); }
.doc-stamp span { position: absolute; z-index: 2; right: 20px; bottom: 20px; display: grid; place-items: center; width: 34px; height: 34px; border: 3px solid #061143; border-radius: 50%; background: #1a75ff; color: #fff; font-size: 17px; }
@media (max-width: 1050px) { .hero h1 { font-size: clamp(40px, 4.3vw, 54px); } }
@media (max-width: 780px) { .hero h1 { font-size: clamp(40px, 7.5vw, 55px); } }
@media (max-width: 560px) { .hero h1 { font-size: clamp(37px, 9.5vw, 48px); } }
.float-country { bottom: auto; }
@media (max-width: 780px) { .float-country { bottom: auto; } }
@media (max-width: 780px) {
  .header-inner { gap: 12px; }
  .menu-toggle { display: flex !important; flex: none; flex-direction: column; align-items: center; justify-content: center; gap: 4px; width: 42px; height: 42px; margin-left: auto; border: 1px solid rgba(194, 210, 255, .28); border-radius: 50%; background: rgba(255,255,255,.06); position: relative; z-index: 41; }
  .menu-toggle span { width: 19px; height: 2px; margin: 0; background: #e4ebff; }
  .main-nav { z-index: 40; }
  .float-country { display: none !important; }
}
/* Small-screen layout guardrails for the reference theme. */
@media (max-width: 780px) {
  .site-header .header-inner { gap: 12px; }
  .site-header .menu-toggle {
    display: inline-flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    flex: none;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 4px;
    width: 42px;
    height: 42px;
    margin-left: auto;
    padding: 0;
    border: 1px solid rgba(194, 210, 255, .35);
    border-radius: 50%;
    background: rgba(255,255,255,.08);
    position: relative;
    z-index: 41;
  }
  .site-header .menu-toggle span { display: block; width: 19px; height: 2px; margin: 0; background: #e4ebff; }
  .site-header .main-nav { z-index: 40; }
  .hero-grid, .hero-copy { min-width: 0; width: 100%; }
  .hero-lead { width: 100%; max-width: 100%; overflow-wrap: anywhere; }
}
/* Preserve the page gutters when stacking the hero on narrow screens. */
@media (max-width: 780px) {
  .site-header .header-inner { position: relative; }
  .site-header .menu-toggle { position: absolute; top: 50%; right: 0; transform: translateY(-50%); }
  .hero-grid.container { width: calc(100% - 32px); margin-inline: auto; }
  .hero-copy { min-width: 0; width: 100%; }
  .hero h1 { width: 100%; max-width: 100%; overflow-wrap: anywhere; }
  .hero-lead { width: 100%; max-width: 100%; overflow-wrap: anywhere; }
}
@media (max-width: 780px) {
  .site-header .menu-toggle {
    display: flex !important;
    position: fixed !important;
    top: 14px !important;
    right: 16px !important;
    z-index: 999 !important;
    transform: none !important;
  }
}
/* Keep the compact menu available as a safe default; desktop navigation hides it. */
.menu-toggle {
  display: flex !important;
  flex: none;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  border: 1px solid rgba(194, 210, 255, .35);
  border-radius: 50%;
  background: rgba(255,255,255,.08);
}
.menu-toggle span { display: block; width: 19px; height: 2px; margin: 0; background: #e4ebff; }
@media (min-width: 781px) { .site-header .menu-toggle { display: none !important; } }