:root{--paper:#f5f7f8;--navy:#141f36;--gold:#eba63e;--teal:#207c71}
.utility{background:#141f36;color:#e6ebf4;font-size:.77rem;font-weight:650;letter-spacing:.045em}
.utility .wrap{display:flex;justify-content:space-between;gap:10px;padding-block:8px}
header{border:0}nav{min-height:82px}.navlinks a:hover,.navlinks a[aria-current]{color:var(--teal)}
.btn{border-radius:4px}.btn:hover{filter:brightness(.95)}
.banner{position:relative;isolation:isolate;color:white;background:linear-gradient(109deg,#141f36 15%,#192e48 70%,#184741)}
.banner::before{content:"";position:absolute;z-index:-1;inset:0;background:repeating-radial-gradient(ellipse at 96% 105%,transparent 0 35px,#ffffff0e 36px 37px,transparent 38px 63px);pointer-events:none}
.banner .hero{padding-block:100px 112px;grid-template-columns:minmax(0,1.18fr) minmax(0,.82fr)}
.banner h1{letter-spacing:-.064em;max-width:12ch}.banner .eyebrow{color:#f5bb64}.banner .hero>div:first-child p{color:#e2e8f0}
.banner .showcase{background:white;color:var(--navy);border-radius:7px;border-top:5px solid var(--gold);box-shadow:0 20px 45px #0003}
.banner .tag{color:var(--teal)}.banner .panel{background:#f3f7f6;border-radius:5px}
section.band{padding-block:78px}.grid{gap:24px}.card{background:#fff;border-radius:6px;box-shadow:0 10px 30px #141f360c;padding:28px;border-top:3px solid var(--teal)}
.step{border-top:3px solid var(--gold);background:white;padding:20px}.faq details{background:#f5f7f8;margin-bottom:9px;padding:15px 18px;border:0;border-left:3px solid var(--teal)}
footer{border-top:4px solid var(--gold)}
@media(max-width:850px){.banner .hero{grid-template-columns:1fr;padding-block:55px}.banner h1{max-width:15ch}}
@media(max-width:540px){.utility .wrap span+span{display:none}section.band{padding-block:48px}.card{padding:20px}}
.home .banner .hero{grid-template-columns:minmax(0,1fr)}
.meeting-form{display:grid;gap:14px;margin-top:20px;max-width:510px}.meeting-form label{display:grid;gap:4px;font-weight:650}.meeting-form input,.meeting-form textarea{width:100%;padding:10px;border:1px solid #b9c4cc;border-radius:4px;font:inherit;background:#fff;color:#141f36}.meeting-form button{justify-self:start;border:0;cursor:pointer;font:inherit;font-weight:800}

/* Shared typography and layout */
body {
  font-family: "Segoe UI", system-ui, sans-serif;
  font-size: 1.0625rem;
  line-height: 1.7;
}
h1, h2, h3 {
  font-family: Georgia, "Times New Roman", serif;
  font-weight: 700;
  letter-spacing: -.035em;
}
h2 { font-size: clamp(1.95rem, 4vw, 3.25rem); }
h3 { font-size: 1.4rem; }
nav { gap: 16px; }
.navlinks { gap: 10px 20px; font-size: .94rem; }
.btn { border-radius: 8px; font-size: .94rem; }
.banner .hero {
  align-items: start;
  padding-block: clamp(48px, 8vw, 102px);
}
.banner h1 {
  max-width: 19ch;
  font-size: clamp(2.65rem, 6.2vw, 5.25rem);
  letter-spacing: -.045em;
  line-height: 1.05;
}
.banner .hero > div:first-child p {
  max-width: 52ch;
  font-size: clamp(1rem, 1.8vw, 1.2rem);
  line-height: 1.65;
}
.home .banner {
  background: radial-gradient(ellipse at 92% 70%, #25554f, transparent 58%), #141f36;
}
.home .banner .hero { min-height: clamp(360px, 42vw, 540px); align-items: center; }
.home .banner h1 { max-width: 15ch; }
.card, .step { border-radius: 12px; }
.step {
  border: 1px solid #e2e8eb;
  border-top: 3px solid var(--gold);
  padding: 24px;
}
.faq details { border-radius: 8px; }
.meeting-form {
  padding: clamp(16px, 3vw, 28px);
  border-radius: 12px;
  background: #f5f7f8;
  color: var(--navy);
}
.meeting-form input:focus-visible, .meeting-form textarea:focus-visible {
  outline: 2px solid var(--teal);
  outline-offset: 2px;
}
@media (max-width: 540px) {
  nav .navlinks { order: 3; width: 100%; }
  .navlinks { font-size: .875rem; }
  .home .banner .hero { min-height: auto; }
  .step { padding: 18px; }
}
