:root{
  /* PDF palette */
  --white:#FFFFFF;
  --alice:#D8E2ED;
  --graphite:#2B2B2B;

  /* Supporting */
  --navy:#0A144B;
  --bg: var(--white);
  --text: var(--graphite);
  --muted: rgba(43,43,43,0.72);
  --border: rgba(216,226,237,0.9);
  --focus: rgba(10,20,75,0.22);

  --maxw:1120px;
  --gutter:24px;
  --header-h:76px;
  --radius:0px; /* rectangular / square corners */

  /* Spacing scale (more airy sections) */
  --space-1: 8px;
  --space-2: 12px;
  --space-3: 16px;
  --space-4: 22px;
  --space-5: 34px;
  --space-6: 54px;
  --space-7: 74px;
}

*{box-sizing:border-box}
html,body{height:100%}
html{
  scroll-padding-top: var(--header-h);
}
body{
  margin:0;
  font-family:"Open Sans",system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
  background:var(--bg);
  color:var(--text);
  line-height:1.6;
  padding-top: var(--header-h); /* header is fixed, keep content from sliding underneath */
}
img{display:block;max-width:100%;height:auto}

.container{
  width:min(var(--maxw),calc(100% - (var(--gutter)*2)));
  margin:0 auto;
}

main{padding-bottom: 0}

/* Links */
a{color:inherit;text-decoration:none}
.text-link{
  border-bottom:1px solid rgba(43,43,43,0.35);
}
.text-link:hover{
  border-bottom-color: rgba(43,43,43,0.75);
}
.text-link:focus-visible{
  outline:2px solid var(--focus);
  outline-offset:2px;
}

/* Accessibility */
.skip-link{
  position:absolute;left:-999px;top:10px;
  background:var(--white);color:var(--navy);
  border:1px solid var(--border);
  padding:10px 12px;
  border-radius: 0;
}
.skip-link:focus{left:10px;outline:2px solid var(--focus);outline-offset:2px}

/* Header / Menu */
.site-header{
  position:fixed;
  top:0;
  left:0;
  right:0;
  z-index:9999;
  isolation:isolate; /* ensure it stays on top in its own stacking context */
  background: rgba(255,255,255,0.94);
  border-bottom:1px solid var(--border);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  box-shadow: 0 12px 34px rgba(10,20,75,0.10);
  transform: translateY(0);
  transition: transform 220ms ease;
  will-change: transform;
}
.site-header.is-hidden{
  transform: translateY(-110%);
}
.header-row{
  min-height:var(--header-h);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  position:relative;
}

.brand{
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:8px 0;
}
.brand-logo{
  display:block;
  height: auto;
  max-height: 68px;
  width: auto;
  max-width: 480px;
  object-fit: contain;
}
.brand:focus-visible{
  outline:2px solid var(--focus);
  outline-offset:2px;
  border-radius: 0;
}

.nav{
  display:flex;
  align-items:center;
  gap:14px;
  flex-wrap:wrap;
  justify-content:center;
}
.nav-link{
  font-size:14px;
  font-weight:600;
  padding:10px 10px;
  border-radius: 0;
  color: rgba(43,43,43,0.88);
  border:1px solid transparent;
}
.nav-link:hover{
  background: rgba(216,226,237,0.45);
  border-color: rgba(216,226,237,0.85);
  color: var(--graphite);
}
.nav-link:focus-visible{
  outline:2px solid var(--focus);
  outline-offset:2px;
}
.nav-link.is-active{
  background: rgba(216,226,237,0.60);
  border-color: rgba(216,226,237,0.95);
  color: var(--navy);
}

.nav-menu{
  display:flex;
  align-items:center;
  margin-left:auto;
  position:relative;
  gap:0;
}
.nav-desktop{
  display:flex;
  flex:1;
  justify-content:center;
}
.nav-mobile{
  display:none;
}

/* Mobile header menu (auto-collapses when nav no longer fits on one line) */
.nav-toggle{
  display:none; /* shown only in collapsed mode */
  width:44px;
  height:44px;
  padding:10px;
  align-items:center;
  justify-content:center;
  border-radius: 0;
  border:1px solid rgba(216,226,237,0.95);
  background: rgba(255,255,255,0.85);
  color: var(--navy);
  cursor:pointer;
}
.nav-toggle:hover{
  background: rgba(216,226,237,0.35);
  border-color: rgba(216,226,237,1);
}
.nav-toggle:focus-visible{
  outline:2px solid var(--focus);
  outline-offset:2px;
}
.nav-toggle{
  list-style:none;
  margin:0;
}
.nav-toggle::-webkit-details-marker{
  display:none;
}
summary.nav-toggle::marker{
  display:none;
}
.nav-toggle__icon{
  width: 18px;
  height: 14px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
}
.nav-toggle__icon span{
  display:block;
  height:2px;
  width:100%;
  background: rgba(10,20,75,0.92);
  transform-origin: center;
  transition: transform 160ms ease, opacity 160ms ease;
}

.nav-drawer{
  display:none;
}

@media (max-width: 960px){
  .nav-menu{
    margin-left:auto;
    display:flex;
  }

  .nav-desktop{
    display:none;
  }

  .nav{
    display:none;
    position:absolute;
    right:0;
    top:calc(100% + 8px);
    width:min(280px,90vw);
    padding:12px 0 14px;
    flex-direction:column;
    gap:6px;
    align-items:center;
    text-align:center;
    background: rgba(255,255,255,0.92);
    border-bottom:1px solid var(--border);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    box-shadow:0 12px 34px rgba(10,20,75,0.12);
    z-index:2;
  }
  .nav-mobile .nav-link{
    width:100%;
    text-align:center;
  }

  .nav-toggle{
    display:inline-flex;
    margin-left:auto;
  }

  .nav-menu[open] .nav{
    display:flex;
  }

  .nav-menu[open] .nav-toggle__icon span:nth-child(1){
    transform: translateY(6px) rotate(45deg);
  }
  .nav-menu[open] .nav-toggle__icon span:nth-child(2){
    opacity:0;
  }
  .nav-menu[open] .nav-toggle__icon span:nth-child(3){
    transform: translateY(-6px) rotate(-45deg);
  }
}

@media (min-width: 961px){
  .nav{
    display:flex;
  }
  .nav-desktop{
    display:flex;
  }
  .nav-mobile{
    display:none;
  }
  .nav-menu{
    display:none;
  }
  .nav-toggle{
    display:none;
  }
}

/* Buttons (rectangular) */
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  padding:12px 14px;
  border-radius: 0;
  border:1px solid var(--navy);
  font-weight:700;
  font-size:14px;
  letter-spacing:0.2px;
  background:transparent;
  color:var(--navy);
  transition: background-color 160ms ease, color 160ms ease, border-color 160ms ease, transform 160ms ease;
}
.btn:hover{transform: translateY(-1px)}
.btn:focus-visible{outline:2px solid var(--focus);outline-offset:2px}

.btn-primary{
  background:var(--navy);
  border-color:var(--navy);
  color:var(--white);
}
.btn-primary:hover{
  background: #0c1a63;
  border-color: #0c1a63;
}
.btn-secondary{
  background: var(--alice);
  border-color: rgba(216,226,237,0.95);
  color: var(--navy);
}
.btn-secondary:hover{
  background: #cfdceb;
  border-color: #cfdceb;
}
.btn-ghost{
  border-color: rgba(43,43,43,0.22);
  color: rgba(43,43,43,0.92);
}
.btn-ghost:hover{
  background: rgba(216,226,237,0.35);
  border-color: rgba(216,226,237,0.85);
}

/* Button variants */
.btn-lg{
  min-height: 52px;
  padding: 14px 22px;
  font-size: 15px;
}
.btn-white{
  background: rgba(255,255,255,0.92);
  border-color: rgba(255,255,255,0.70);
  color: var(--navy);
}
.btn-white:hover{
  background: rgba(255,255,255,0.98);
  border-color: rgba(255,255,255,0.88);
}
.btn-xl{
  min-height: 74px;
  padding: 18px 28px;
  font-size: 16px;
}

/* Sections */
.section{
  padding: var(--space-7) 0;
  border-top: none;
}
.section--spacious{
  padding: calc(var(--space-7) + 10px) 0;
}
.section#values,
.section#features,
.section#faq{
  /* Increase text size in these three sections while preserving hierarchy */
  --type-scale: 1.15;
}
.section--soft{
  background: rgba(216,226,237,0.22);
}
.section--alt{
  background: rgba(216,226,237,0.22);
}
.section--elevated{
  position: relative;
  z-index: 1;
  background: var(--white);
  box-shadow:
    0 -18px 44px rgba(10,20,75,0.08),
    0  18px 44px rgba(10,20,75,0.08);
}
.section-title{
  margin: 0 0 8px;
  font-size: clamp(22px, 2.2vw, 30px);
  letter-spacing: -0.2px;
  color: var(--navy);
}
.muted{color: var(--muted)}

.kicker{
  margin: 0 0 8px;
  color: var(--navy);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.9px;
  font-size: 12px;
}
.kicker--on-dark{color: rgba(255,255,255,0.85)}
.section-lead{
  margin: 0 0 var(--space-5);
  color: var(--muted);
  max-width: 72ch;
  font-size: 16px;
}

/* ===== Targeted type scaling (Values / Platform / FAQ) ===== */
#values .kicker,
#features .kicker,
#faq .kicker{
  font-size: calc(12px * var(--type-scale));
}
#values .section-title,
#features .section-title,
#faq .section-title{
  font-size: clamp(
    calc(22px * var(--type-scale)),
    calc(2.2vw * var(--type-scale)),
    calc(30px * var(--type-scale))
  );
}
#values .section-lead,
#features .section-lead,
#faq .section-lead{
  font-size: calc(16px * var(--type-scale));
}
#values .value-title{
  font-size: calc(16px * var(--type-scale));
}
#values .value-text{
  font-size: calc(14px * var(--type-scale));
}
#features .card-title{
  font-size: calc(16px * var(--type-scale));
}
#features .card-text{
  font-size: calc(14px * var(--type-scale));
}
#faq .faq-item > summary{
  font-size: calc(16px * var(--type-scale));
}
#faq .faq-body{
  font-size: calc(14px * var(--type-scale));
}

/* Grids / Cards */
.grid{
  display:grid;
  gap: var(--space-4);
}
.grid-3{
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.grid-4{
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
.feature-gallery{
  margin: var(--space-7) 0 var(--space-5);
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
}
.feature-gallery-inner{
  display:grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-3);
  align-items:start;
}
.feature-shot{
  margin: 0;
  border: 0;
  background: transparent;
  padding: 0;
  box-shadow: none;
  border-radius: 0;
}
.feature-shot img{
  width: 100%;
  border: 1px solid rgba(216,226,237,0.95);
  background: rgba(255,255,255,0.92);
  box-shadow: 0 18px 60px rgba(10,20,75,0.10);
}
@media (max-width: 1080px){
  .feature-gallery-inner{
    grid-template-columns: 1fr;
  }
  .feature-shot img{
    max-width: 66.666%;
    margin-left: auto;
    margin-right: auto;
  }
}

@media (max-width: 720px){
  .feature-shot img{
    max-width: 100%;
  }
}
.card{
  border: 1px solid rgba(216,226,237,0.95);
  background: rgba(255,255,255,0.78);
  border-radius: 0;
  padding: 18px;
  box-shadow: 0 18px 60px rgba(10,20,75,0.06);
}
.card-icon{
  width: 40px;
  height: 40px;
  display:grid;
  place-items:center;
  border-radius: 0;
  border: 1px solid rgba(216,226,237,0.95);
  background: rgba(216,226,237,0.55);
  color: var(--navy);
  margin-bottom: 10px;
}
.card-icon svg{width:20px;height:20px}
.card-title{
  margin: 0 0 6px;
  color: var(--navy);
  letter-spacing: -0.2px;
  font-size: 16px;
}
.card-text{
  margin: 0;
  color: var(--muted);
  font-size: 14px;
  line-height: 1.7;
}

/* Values (icon + text, no card background) */
.values-grid{
  /* Increase spacing between the subtitle and the values icons */
  margin-top: calc(var(--space-5) + 12px);
  display:grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--space-5);
}
.value{
  text-align:center;
  display:grid;
  justify-items:center;
  align-content:start;
  gap: 12px;
}
.value-icon{
  display:grid;
  place-items:center;
  color: var(--navy);
  /* Remove the “box” around the icon */
  width: auto;
  height: auto;
  border: 0;
  border-radius: 0;
  background: transparent;
}
.value-icon svg{
  width: 64px;
  height: 64px;
}
.values-grid svg{
  width: 64px;
  height: 64px;
  stroke: currentColor;
  fill: none;
}
.values-grid svg path{
  fill: none;
}
.value-title{
  margin: 0;
  color: var(--navy);
  letter-spacing: -0.2px;
  font-size: 16px;
}
.value-text{
  margin: 0;
  margin-top: 4px; /* add a bit of separation from the title */
  color: var(--muted);
  font-size: 14px;
  line-height: 1.7;
  width: 100%;
  max-width: 38ch;
  text-align: justify;          /* straight edges */
  text-align-last: left;        /* keep the last line visually left */
  hyphens: auto;                /* reduce large gaps in justified text */
  -webkit-hyphens: auto;
}

/* Typography helpers */
.h3{
  margin: 0 0 10px;
  color: var(--navy);
  letter-spacing: -0.2px;
  font-size: 18px;
}
.p{
  margin: 0 0 12px;
  color: var(--muted);
}

/* Legal documents (tables, spacing) */
.legal-doc{
  max-width: 92ch;
}
.legal-doc .table-wrap{
  margin-top: 12px;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  border: 1px solid rgba(216,226,237,0.95);
  background: rgba(255,255,255,0.78);
  box-shadow: 0 18px 60px rgba(10,20,75,0.04);
}
.legal-doc table{
  width: 100%;
  border-collapse: collapse;
  min-width: 680px; /* allow horizontal scroll on small screens */
}
.legal-doc th,
.legal-doc td{
  border: 1px solid rgba(216,226,237,0.85);
  padding: 10px 12px;
  vertical-align: top;
}
.legal-doc th{
  background: rgba(216,226,237,0.22);
  color: var(--navy);
  font-weight: 800;
  text-align: left;
  letter-spacing: 0.8px;
  text-transform: uppercase;
  font-size: 12px;
}
.legal-doc td{
  color: var(--muted);
  font-size: 14px;
  line-height: 1.7;
}
.legal-doc code{
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  font-size: 0.95em;
}

/* Bulleted lists (used in Purpose section) */
.bullets{
  margin: 10px 0 0;
  padding-left: 18px;
  color: var(--muted);
}
.bullets li{margin: 8px 0; line-height: 1.7}
.bullets--compact{
  margin-top: 12px;
}
.bullets--compact li{margin: 6px 0}

/* Two column layouts */
.two-col{
  display:grid;
  grid-template-columns: 1.1fr 0.9fr;
  gap: var(--space-5);
  align-items: start;
}
.two-col--about{margin-top: var(--space-5)}

/* Stack (right column in Purpose section) */
.stack{
  display:grid;
  gap: var(--space-4);
  align-content: start;
}

/* Callouts */
.callout{
  margin-top: var(--space-5);
  border: 1px solid rgba(216,226,237,0.95);
  background: rgba(216,226,237,0.18);
  padding: 18px;
  box-shadow: 0 18px 60px rgba(10,20,75,0.04);
}
.callout--soft{
  background: rgba(216,226,237,0.14);
}
.callout-title{
  margin: 0 0 10px;
  color: var(--navy);
  font-size: 15px;
  letter-spacing: -0.2px;
}
.callout-list{
  margin: 0;
  padding-left: 18px;
  color: var(--muted);
}
.callout-list li{margin: 8px 0; line-height: 1.7}
.callout-foot{
  margin: 12px 0 0;
  color: var(--muted);
  font-size: 14px;
  line-height: 1.7;
}

/* Stats */
.stats{
  margin-top: var(--space-4);
  display:grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-3);
}
.stat{
  border: 1px solid rgba(216,226,237,0.95);
  background: rgba(255,255,255,0.78);
  padding: 14px;
}
.stat-number{
  font-weight: 800;
  font-size: 22px;
  color: var(--navy);
  letter-spacing: -0.3px;
  line-height: 1.0;
}
.stat-label{
  margin-top: 6px;
  color: var(--muted);
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.8px;
}

/* Visual placeholder card */
.visual-card{
  border: 1px solid rgba(216,226,237,0.95);
  background:
    radial-gradient(closest-side at 70% 30%, rgba(216,226,237,0.95), rgba(216,226,237,0) 64%),
    radial-gradient(closest-side at 30% 80%, rgba(10,20,75,0.10), rgba(10,20,75,0) 64%),
    rgba(255,255,255,0.78);
  min-height: 320px;
  box-shadow: 0 18px 60px rgba(10,20,75,0.08);
  overflow:hidden;
}
.visual-card__inner{
  padding: 18px;
}
.visual-card__title{
  margin: 0 0 8px;
  color: rgba(10,20,75,0.92);
  font-weight: 800;
  letter-spacing: -0.2px;
}
.visual-card__text{
  margin: 0;
  color: var(--muted);
}

/* Values emoji icon */
.emoji{
  font-size: 22px;
  line-height: 1;
  margin-bottom: 10px;
}
.card--value .card-title{font-size: 15px}

/* Services cards */
.service{
  border: 1px solid rgba(216,226,237,0.95);
  background: rgba(255,255,255,0.78);
  box-shadow: 0 18px 60px rgba(10,20,75,0.06);
}
.service-head{
  padding: 14px 16px;
  background: rgba(10,20,75,0.92);
  border-bottom: 1px solid rgba(216,226,237,0.55);
}
.service-title{
  margin: 0;
  color: rgba(255,255,255,0.94);
  font-size: 15px;
  letter-spacing: -0.2px;
}
.service-body{padding: 16px}

/* Split section */
.split{
  display:grid;
  grid-template-columns: 1.2fr 0.8fr;
  gap: 18px;
  align-items: start;
}
.icon-list{
  margin: 14px 0 0;
  padding: 0;
  list-style: none;
  display:grid;
  gap: 10px;
  max-width: 78ch;
}
.icon-list li{
  display:flex;
  align-items:flex-start;
  gap: 10px;
  padding: 10px 12px;
  border: 1px solid rgba(216,226,237,0.85);
  border-radius: 0;
  background: rgba(255,255,255,0.65);
}
.mini-icon{
  width: 28px;
  height: 28px;
  border-radius: 0;
  border: 1px solid rgba(216,226,237,0.95);
  background: rgba(216,226,237,0.55);
  color: var(--navy);
  display:grid;
  place-items:center;
  flex: 0 0 auto;
}
.mini-icon svg{width:16px;height:16px}
.icon-list strong{color: rgba(10,20,75,0.95)}

.split-actions{
  margin-top: 14px;
  display:flex;
  gap: 10px;
  flex-wrap: wrap;
}

.split-panel{
  position: relative;
}
.panel-surface{
  border-radius: 0;
  border: 1px solid rgba(216,226,237,0.95);
  background:
    radial-gradient(closest-side at 70% 30%, rgba(216,226,237,0.95), rgba(216,226,237,0) 64%),
    radial-gradient(closest-side at 28% 70%, rgba(10,20,75,0.10), rgba(10,20,75,0) 64%),
    rgba(255,255,255,0.78);
  min-height: 260px;
  box-shadow: 0 18px 60px rgba(10,20,75,0.08);
  overflow:hidden;
}
.panel-top{
  height: 44px;
  border-bottom: 1px solid rgba(216,226,237,0.85);
  background: rgba(255,255,255,0.55);
}
.panel-lines{
  height: 1px;
}
.panel-blocks{
  position:absolute;
  inset: 62px 14px 14px 14px;
  background:
    linear-gradient(rgba(10,20,75,0.08), rgba(10,20,75,0.08)) 0 0/60% 10px no-repeat,
    linear-gradient(rgba(10,20,75,0.06), rgba(10,20,75,0.06)) 0 22px/85% 10px no-repeat,
    linear-gradient(rgba(10,20,75,0.06), rgba(10,20,75,0.06)) 0 44px/75% 10px no-repeat,
    linear-gradient(rgba(216,226,237,0.85), rgba(216,226,237,0.85)) 0 80px/100% 1px no-repeat,
    linear-gradient(rgba(10,20,75,0.08), rgba(10,20,75,0.08)) 0 96px/55% 10px no-repeat,
    linear-gradient(rgba(10,20,75,0.06), rgba(10,20,75,0.06)) 0 118px/82% 10px no-repeat;
  opacity: 0.95;
}

/* Steps */
.steps{
  display:grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin-top: 14px;
}
.step{
  border: 1px solid rgba(216,226,237,0.95);
  border-radius: 0;
  background: rgba(255,255,255,0.78);
  padding: 16px;
  box-shadow: 0 18px 60px rgba(10,20,75,0.06);
}
.step-badge{
  width: 34px;
  height: 34px;
  border-radius: 0;
  display:grid;
  place-items:center;
  background: rgba(10,20,75,0.10);
  border: 1px solid rgba(216,226,237,0.95);
  color: var(--navy);
  font-weight: 800;
  margin-bottom: 10px;
}

/* FAQ */
.faq{
  margin-top: var(--space-4);
  display:grid;
  gap: 12px;
  max-width: 92ch;
}
.faq-item{
  border: 1px solid rgba(216,226,237,0.95);
  border-radius: 0;
  background: rgba(255,255,255,0.84);
  padding: 0;
  box-shadow: 0 18px 60px rgba(10,20,75,0.04);
}
.faq-item > summary{
  cursor:pointer;
  font-weight: 700;
  color: var(--navy);
  list-style: none;
  padding: 16px 16px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: 12px;
}
.faq-item > summary::-webkit-details-marker{display:none}
.faq-item > summary::after{
  content:"+";
  font-weight: 900;
  color: rgba(10,20,75,0.85);
  flex: 0 0 auto;
}
.faq-item[open] > summary::after{content:"–"}
.faq-item > summary:focus-visible{
  outline:2px solid var(--focus);
  outline-offset:2px;
  border-radius: 0;
}
.faq-body{
  padding: 0 16px 16px 16px;
  color: var(--muted);
  font-size: 14px;
  line-height: 1.7;
}

/* Contact band (navy) */
.contact-band{
  background: rgba(10,20,75,0.98);
  color: rgba(255,255,255,0.92);
  padding: calc(var(--space-7) + 14px) 0;
  border-top: 1px solid rgba(216,226,237,0.15);
}
.contact-grid{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--space-5);
  align-items: center;
}
.contact-copy{max-width: 62ch}
.contact-right{
  display:grid;
  gap: var(--space-4);
  justify-items: stretch;
  align-self: center;
}
.contact-email-box{
  border: 1px solid rgba(234,243,255,0.22);
  background: rgba(255,255,255,0.04);
  padding: 14px 16px;
  min-height: 112px;
  display:grid;
  align-content: center;
  gap: 8px;
  box-shadow: 0 18px 60px rgba(0,0,0,0.18);
}
.contact-email-label{
  text-transform: uppercase;
  letter-spacing: 1.1px;
  font-size: 12px;
  color: rgba(234,243,255,0.78);
  font-weight: 700;
}
.contact-email-value{
  color: rgba(255,255,255,0.96);
  font-size: clamp(12px, 1.6vw, 16px);
  letter-spacing: 0.2px;
  font-weight: 500;
}
.contact-cta{
  width: 100%;
  box-shadow:
    0 18px 60px rgba(0,0,0,0.28),
    0 10px 34px rgba(0,0,0,0.18);
}
.contact-cta:hover{
  transform: translateY(-1px);
}
.contact-title{
  margin: 0 0 10px;
  letter-spacing: -0.6px;
  color: rgba(255,255,255,0.96);
  font-size: clamp(22px, 2.2vw, 34px);
}
.contact-lead{
  margin: 0;
  color: rgba(234,243,255,0.78);
  max-width: 68ch;
  line-height: 1.7;
}
.contact-details{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--space-3);
}
.detail{
  border: 1px solid rgba(234,243,255,0.16);
  background: rgba(255,255,255,0.04);
  padding: 14px;
}
.detail-label{
  text-transform: uppercase;
  letter-spacing: 0.9px;
  font-size: 12px;
  color: rgba(234,243,255,0.78);
  margin-bottom: 6px;
  font-weight: 700;
}
.detail-value{
  color: rgba(255,255,255,0.92);
  font-size: 14px;
}
.text-link--on-dark{
  border-bottom-color: rgba(234,243,255,0.35);
}
.text-link--on-dark:hover{
  border-bottom-color: rgba(234,243,255,0.75);
}

/* (Removed old contact box/form styles in favor of right-column layout) */

/* Buttons inside dark band */
.contact-band .btn{border-color: rgba(234,243,255,0.22)}
.contact-band .btn-ghost{color: rgba(255,255,255,0.92)}
.contact-band .btn-secondary{
  background: rgba(216,226,237,0.22);
  border-color: rgba(216,226,237,0.32);
  color: rgba(255,255,255,0.92);
}
.contact-band .btn-secondary:hover{
  background: rgba(216,226,237,0.30);
  border-color: rgba(216,226,237,0.40);
}
.contact-band .btn-white{
  background: rgba(255,255,255,0.95);
  border-color: rgba(255,255,255,0.70);
  color: var(--navy);
}
.contact-band .btn-white:hover{
  background: rgba(255,255,255,1);
  border-color: rgba(255,255,255,0.88);
}

@media (max-width: 980px){
  .grid-3{grid-template-columns: 1fr}
  .grid-4{grid-template-columns: 1fr}
  .values-grid{grid-template-columns: repeat(2, minmax(0, 1fr))}
  /* On smaller screens, center the value text instead of justifying it */
  .value-text{
    text-align: center;
    text-align-last: center;
    hyphens: manual;
    -webkit-hyphens: manual;
  }
  .two-col{grid-template-columns: 1fr}
  .stats{grid-template-columns: 1fr}
  .steps{grid-template-columns: 1fr}
  .split{grid-template-columns: 1fr}
  .brand-logo{max-width: 220px}
  .contact-grid{grid-template-columns: 1fr}
  .contact-details{grid-template-columns: 1fr}
  .btn-xl{min-height: 64px}
}

@media (max-width: 560px){
  .values-grid{grid-template-columns: 1fr}
  .value-text{
    text-align: center;
    text-align-last: center;
    hyphens: manual;
    -webkit-hyphens: manual;
  }
}

@media (prefers-reduced-motion: reduce){
  .btn{transition:none}
  .btn:hover{transform:none}
}

/* Footer (dark gray) */
.site-footer{
  background: #0f0f12;
  color: rgba(255,255,255,0.86);
  border-top: none;
}
.footer-top{
  padding: 26px 0;
}
.footer-links{
  display:flex;
  gap: 18px;
  flex-wrap: wrap;
  justify-content: center;
  text-align: center;
}
.footer-link{
  color: rgba(255,255,255,0.86);
  text-decoration: none;
  font-weight: 700;
  letter-spacing: 0.2px;
}
.footer-link:hover{
  color: rgba(255,255,255,0.98);
  opacity: 0.95;
}
.footer-link:focus-visible{
  outline: 2px solid rgba(216,226,237,0.35);
  outline-offset: 2px;
}
.footer-link--muted{
  color: rgba(255,255,255,0.72);
}
.footer-bottom{
  padding: 16px 0;
}
.footer-bottom-row{
  display:flex;
  align-items:center;
  justify-content:center;
  gap: 12px;
  flex-wrap: wrap;
  text-align: center;
}
.footer-meta{
  font-size: 13px;
  color: rgba(255,255,255,0.74);
}

@media (max-width: 640px){
  .footer-bottom-row{
    flex-direction: column;
    align-items: center;
  }
}