:root {
  --night: #071327;
  --night-art: #131120;
  --night-2: #020a20;
  --gold: #e7aa26;
  --gold-bright: #f4bd38;
  --teal: #3e7c7b;
  --blue: #123f87;
  --blue-deep: #0c2f6f;
  --ink: #15151b;
  --white: #ffffff;
  --shell: min(1210px, calc(100% - 72px));
  --serif: "Cormorant Garamond", Georgia, serif;
  --sans: "Manrope", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--ink);
  background: #fff;
  font-family: var(--sans);
  font-size: 15px;
  line-height: 1.58;
  overflow-x: hidden;
}
img { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
button, input, textarea, select { font: inherit; }
.shell { width: var(--shell); margin-inline: auto; }

.skip-link { position: fixed; left: 14px; top: 12px; z-index: 1000; transform: translateY(-180%); padding: 9px 15px; border-radius: 999px; background: #fff; color: var(--night); }
.skip-link:focus { transform: none; }

.site-header { position: absolute; inset: 0 0 auto; z-index: 20; color: #fff; }
.nav-wrap { min-height: 84px; display: flex; align-items: center; justify-content: space-between; gap: 28px; }
.brand { display: inline-flex; align-items: center; gap: 10px; font: 600 24px/1 var(--serif); }
.brand img { width: 56px; height: 32px; object-fit: contain; }
.main-nav { display: flex; align-items: center; gap: 32px; font-size: 12px; font-weight: 700; }
.nav-cta { padding: 10px 18px; border-radius: 999px; color: #111827 !important; background: linear-gradient(135deg, #f8ca4b, #dea625); box-shadow: 0 13px 30px rgba(230,174,38,.22); }
.nav-toggle { display: none; }

.hero {
  position: relative;
  min-height: 770px;
  padding: 160px 0 155px;
  color: #fff;
  background:
    radial-gradient(circle at 76% 30%, rgba(201,162,39,.07), transparent 28%),
    radial-gradient(circle at 49% 4%, rgba(80,74,116,.12), transparent 34%),
    linear-gradient(90deg, #071327 0%, #071327 43%, #0b1427 58%, #131120 100%);
  overflow: hidden;
}
.hero::before {
  content: "";
  position: absolute;
  inset: 0 0 0 44%;
  z-index: 0;
  background: linear-gradient(90deg, rgba(19,17,32,0), rgba(19,17,32,.92) 26%, #131120 52%);
}
.hero-grid { position: relative; z-index: 4; display: grid; grid-template-columns: 42% 58%; }
.hero-copy { max-width: 455px; }
.hero h1 { margin: 0; font: 600 clamp(82px, 8vw, 118px)/.84 var(--serif); letter-spacing: -.052em; }
.hero h1 span { color: var(--gold); }
.hero p { max-width: 430px; margin: 18px 0 0; color: rgba(255,255,255,.83); }
.accent-rule { display: block; width: 48px; height: 3px; margin: 23px 0 7px; background: var(--gold); }
.hero-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 14px; margin-top: 29px; }
.button { display: inline-flex; min-height: 46px; align-items: center; justify-content: center; gap: 13px; padding: 11px 22px; border-radius: 999px; font-size: 12px; font-weight: 800; }
.button-gold { color: #141722; background: linear-gradient(135deg, #f7c747, #dda524); box-shadow: 0 16px 34px rgba(228,173,39,.25); }
.button-outline { color: #fff; border: 1px solid rgba(71,158,154,.78); background: rgba(255,255,255,.01); }
.button-dark { color: #fff; background: #0c1428; box-shadow: 0 10px 28px rgba(6,10,24,.14); }
.button-light { color: #10234b; background: #fff; }
.hero-mark { position: absolute; z-index: 3; width: min(885px, 64vw); right: -80px; top: 50px; opacity: .99; }
.hero-lines { position: absolute; z-index: 1; border: 1px solid rgba(244,230,188,.22); border-radius: 50%; }
.hero-lines-one { width: 700px; height: 460px; right: -235px; bottom: -220px; transform: rotate(-7deg); }
.hero-lines-two { width: 910px; height: 600px; right: 130px; top: -530px; }

.wave { position: absolute; left: 0; bottom: -1px; width: 100%; height: 78px; display: block; pointer-events: none; }

.offerings-intro { position: relative; padding: 70px 0 115px; background: #fff; overflow: hidden; }
.intro-label { margin: 0 0 40px; text-align: center; color: #286d6c; text-transform: uppercase; letter-spacing: .21em; font-size: 11px; font-weight: 800; }
.intro-label::after { content: ""; display: block; width: 38px; height: 2px; margin: 11px auto 0; background: var(--gold); }
.offering-cards { display: grid; grid-template-columns: repeat(3, 1fr); }
.offering-card { position: relative; min-height: 230px; display: flex; flex-direction: column; align-items: center; padding: 2px 42px 20px; text-align: center; }
.offering-card + .offering-card::before { content: ""; position: absolute; left: 0; top: 11px; bottom: 14px; width: 1px; background: #e8e4de; }
.mini-logo { width: 108px; height: 108px; display: grid; place-items: center; margin-bottom: 12px; }
.mini-logo img { width: 100%; height: 100%; object-fit: contain; }
.mini-logo-alchemy img { width: 96px; }
.mini-logo-voa img { width: 104px; }
.mini-logo-counsel img { width: 90px; height: 90px; }
.offering-card h2 { margin: 0; font: 600 23px/1.08 var(--serif); }
.offering-card p { margin: 7px 0 6px; color: #267170; font-size: 12px; font-weight: 800; }
.offering-card > span { color: var(--gold); font-size: 20px; }

.feature { position: relative; overflow: hidden; }
.feature-grid { min-height: 710px; display: grid; grid-template-columns: .88fr 1.12fr; gap: 72px; align-items: center; padding: 74px 0 125px; }
.feature-copy { position: relative; z-index: 3; }
.eyebrow { margin: 0 0 12px; color: var(--gold); text-transform: uppercase; letter-spacing: .19em; font-size: 10px; font-weight: 800; }
.eyebrow-gold { color: #d99a13; }
.feature h2 { margin: 0 0 18px; font: 600 clamp(52px, 5.3vw, 76px)/.89 var(--serif); letter-spacing: -.042em; }
.feature-subtitle { margin: 0 0 18px !important; color: #4b9a99 !important; text-transform: uppercase; letter-spacing: .18em; font-size: 11px; font-weight: 800; }
.feature-copy p { max-width: 510px; margin: 0 0 15px; }
.feature-copy blockquote { max-width: 530px; margin: 21px 0 23px; padding: 2px 0 2px 16px; border-left: 3px solid #e2aa27; font: 600 25px/1.13 var(--serif); }

.feature-alchemy { color: #fff; background: radial-gradient(circle at 74% 43%, rgba(89,69,173,.14), transparent 35%), linear-gradient(145deg, #02071b, #07162f 64%, #050e25); }
.feature-alchemy .feature-copy p { color: rgba(255,255,255,.8); }
.feature-alchemy blockquote { color: #f1b52c; font: 800 21px/1.25 var(--sans); }
.alchemy-visual { position: relative; min-height: 490px; display: grid; place-items: center; }
.alchemy-visual::before { content: ""; position: absolute; width: 610px; aspect-ratio: 1; border-radius: 50%; background: radial-gradient(circle, rgba(77,62,151,.25), transparent 67%); }
.alchemy-visual img { position: relative; z-index: 2; width: min(625px, 100%); height: auto; object-fit: contain; }

.feature-visible { background: #fff; }
.feature-visible .feature-grid { grid-template-columns: .95fr 1.05fr; min-height: 690px; }
.feature-visible .brand-orbit { order: 1; }
.feature-visible .feature-copy { order: 2; }
.feature-visible .feature-copy p { color: #3a3740; }
.feature-visible blockquote { color: #15151b; }
.brand-orbit { position: relative; min-height: 500px; display: grid; place-items: center; }
.brand-orbit img { position: relative; z-index: 3; object-fit: contain; }
.brand-orbit-visible img { width: min(500px, 86%); }
.orbit-ring { position: absolute; border-radius: 50%; }
.brand-orbit-visible .orbit-ring-1 { width: 465px; height: 465px; background: #fffaf0; box-shadow: 0 22px 64px rgba(82,68,124,.09); }
.brand-orbit-visible .orbit-ring-2 { width: 520px; height: 520px; border: 15px solid rgba(116,84,232,.055); }
.brand-orbit-visible .orbit-ring-3 { width: 570px; height: 570px; border: 1px solid rgba(62,124,123,.12); }

.feature-counsel { color: #fff; background: radial-gradient(circle at 17% 38%, rgba(47,103,190,.38), transparent 31%), linear-gradient(135deg, #164891, #0d326f 76%); }
.feature-counsel .feature-grid { grid-template-columns: 1fr 1fr; min-height: 720px; gap: 70px; padding-top: 78px; }
.feature-counsel .feature-copy { order: 1; }
.feature-counsel .brand-orbit { order: 2; }
.feature-counsel .feature-copy p { color: rgba(255,255,255,.84); }
.feature-counsel .feature-subtitle { color: #65b3b1 !important; }
.feature-counsel blockquote { color: #fff; }
.brand-orbit-counsel { min-height: 520px; }
.counsel-logo-field { position: relative; z-index: 3; display: grid; place-items: center; width: min(455px, 86%); aspect-ratio: 1; border-radius: 50%; background: #fff; box-shadow: 0 24px 58px rgba(2,19,51,.22); }
.counsel-logo { display: block; width: 78%; height: auto; object-fit: contain; filter: none; }
.brand-orbit-counsel .orbit-ring-1 { width: 500px; height: 500px; border: 20px solid rgba(255,255,255,.12); }
.brand-orbit-counsel .orbit-ring-2 { width: 555px; height: 555px; border: 1px solid rgba(255,255,255,.18); }
.counsel-circles { position: absolute; width: 520px; height: 520px; right: -280px; bottom: 70px; border: 1px solid rgba(255,255,255,.11); border-radius: 50%; box-shadow: 0 0 0 62px rgba(255,255,255,.022), 0 0 0 125px rgba(255,255,255,.014); }

.contact { position: relative; padding: 68px 0 55px; background: #fff; overflow: hidden; }
.contact-grid { display: grid; grid-template-columns: .76fr 1.24fr; gap: 58px; align-items: start; }
.contact-copy { position: relative; z-index: 2; padding-top: 18px; }
.contact-copy h2 { margin: 0 0 20px; font: 600 clamp(55px, 5vw, 74px)/.95 var(--serif); }
.contact-copy p { max-width: 360px; margin: 0 0 14px; color: #45424a; }
.signature { margin-top: 22px !important; color: #e1a723 !important; font: 42px/1 "Brush Script MT", "Segoe Script", cursive; }
.contact-mark { position: absolute; width: 390px; left: -62px; bottom: -105px; opacity: .08; }
.ghl-card { position: relative; z-index: 2; min-height: 680px; padding: 14px; border-radius: 17px; background: linear-gradient(145deg, #080e20, #050a17); box-shadow: 0 26px 65px rgba(7,15,32,.2), 0 0 0 1px rgba(201,162,39,.18); overflow: hidden; }
.ghl-card iframe { min-height: 650px; background: transparent; }

.site-footer { color: rgba(255,255,255,.72); background: #060b18; }
.footer-inner { min-height: 78px; display: grid; grid-template-columns: 1.2fr auto 1.2fr .6fr; gap: 20px; align-items: center; font-size: 10px; }
.footer-inner img { width: 64px; height: 32px; object-fit: contain; }
.footer-inner span:nth-of-type(2) { text-align: center; }
.footer-inner span:last-child { text-align: right; }

.reveal { opacity: 1; transform: none; }

@media (max-width: 980px) {
  :root { --shell: min(900px, calc(100% - 40px)); }
  .hero-mark { width: 720px; right: -275px; top: 80px; }
  .feature-grid, .feature-visible .feature-grid, .feature-counsel .feature-grid { gap: 42px; }
  .offering-card { padding-inline: 24px; }
}

@media (max-width: 760px) {
  :root { --shell: min(100% - 28px, 650px); }
  .nav-wrap { min-height: 68px; }
  .brand { font-size: 21px; }
  .brand img { width: 46px; }
  .nav-toggle { display: block; padding: 8px; color: inherit; background: none; border: 0; }
  .nav-toggle span { display: block; width: 25px; height: 2px; margin: 5px 0; background: currentColor; }
  .main-nav { position: fixed; left: 14px; right: 14px; top: 72px; display: none; padding: 10px; border-radius: 16px; background: rgba(7,19,39,.98); }
  .main-nav.open { display: grid; }
  .main-nav a { padding: 12px; }
  .hero { min-height: 710px; padding: 124px 0 135px; }
  .hero::before { inset-left: 18%; }
  .hero-grid { grid-template-columns: 1fr; }
  .hero-copy { max-width: 430px; }
  .hero h1 { font-size: clamp(70px, 20vw, 94px); }
  .hero-mark { width: 620px; right: -390px; top: 74px; opacity: .43; }
  .hero-actions { align-items: flex-start; flex-direction: column; }
  .wave { height: 58px; }

  .offerings-intro { padding: 58px 0 95px; }
  .offering-cards { grid-template-columns: 1fr; }
  .offering-card { min-height: auto; padding: 24px 10px 32px; }
  .offering-card + .offering-card::before { left: 14%; right: 14%; top: 0; bottom: auto; width: auto; height: 1px; }

  .feature-grid, .feature-visible .feature-grid, .feature-counsel .feature-grid { min-height: 0; grid-template-columns: 1fr; gap: 38px; padding: 68px 0 105px; }
  .feature h2 { font-size: clamp(48px, 14vw, 66px); }
  .feature-copy blockquote { font-size: 23px; }
  .alchemy-visual { min-height: 360px; }
  .alchemy-visual::before { width: 400px; }
  .brand-orbit { min-height: 350px; }
  .brand-orbit-visible .orbit-ring-1 { width: 310px; height: 310px; }
  .brand-orbit-visible .orbit-ring-2 { width: 345px; height: 345px; border-width: 10px; }
  .brand-orbit-visible .orbit-ring-3 { width: 380px; height: 380px; }
  .feature-visible .feature-copy { order: 1; }
  .feature-visible .brand-orbit { order: 2; }
  .brand-orbit-counsel { order: 2; min-height: 360px; }
  .feature-counsel .feature-copy { order: 1; }
  .counsel-logo-field { width: min(305px, 82%); }
  .brand-orbit-counsel .orbit-ring-1 { width: 330px; height: 330px; border-width: 13px; }
  .brand-orbit-counsel .orbit-ring-2 { width: 365px; height: 365px; }

  .contact { padding-top: 58px; }
  .contact-grid { grid-template-columns: 1fr; gap: 32px; }
  .ghl-card { min-height: 780px; padding: 9px; }
  .ghl-card iframe { min-height: 753px; }
  .footer-inner { grid-template-columns: 1fr; gap: 7px; padding: 22px 0; text-align: center; }
  .footer-inner img { margin-inline: auto; grid-row: 1; }
  .footer-inner span:nth-of-type(2), .footer-inner span:last-child { text-align: center; }
}

/* Final visual lock: preserve source assets while blending their native canvases into the approved layout. */
.hero::after {
  content: "";
  position: absolute;
  z-index: 3;
  top: 0;
  bottom: 0;
  left: 34%;
  width: 18%;
  pointer-events: none;
  background: linear-gradient(90deg, #071327 0%, rgba(7,19,39,.88) 30%, rgba(19,17,32,0) 100%);
}
.hero-mark {
  -webkit-mask-image: radial-gradient(ellipse 78% 76% at 61% 48%, #000 62%, rgba(0,0,0,.94) 73%, transparent 100%);
  mask-image: radial-gradient(ellipse 78% 76% at 61% 48%, #000 62%, rgba(0,0,0,.94) 73%, transparent 100%);
}
.mini-logo { width: 136px; height: 126px; }
.mini-logo-alchemy img { width: 121px; }
.mini-logo-voa img { width: 130px; }
.mini-logo-counsel img { width: 106px; height: 106px; }
.alchemy-visual img {
  -webkit-mask-image: radial-gradient(ellipse 80% 78% at 51% 47%, #000 63%, rgba(0,0,0,.92) 73%, transparent 100%);
  mask-image: radial-gradient(ellipse 80% 78% at 51% 47%, #000 63%, rgba(0,0,0,.92) 73%, transparent 100%);
}
.counsel-logo-field { width: min(470px, 88%); }
.counsel-logo { width: 82%; }
.ghl-card { min-height: 620px; }
.ghl-card iframe { min-height: 590px; }

@media (max-width:760px) {
  .hero::after { left: 12%; width: 25%; }
  .mini-logo { width: 126px; height: 118px; }
  .mini-logo-counsel img { width: 100px; height: 100px; }
  .ghl-card { min-height: 780px; }
  .ghl-card iframe { min-height: 753px; }
}
.wave { z-index: 8; }
.feature-alchemy {
  background:
    radial-gradient(circle at 74% 43%, rgba(89,69,173,.13), transparent 35%),
    linear-gradient(90deg, #071327 0%, #071327 43%, #030921 64%, #010720 100%);
}
.alchemy-visual img {
  -webkit-mask-image: radial-gradient(ellipse 82% 80% at 51% 48%, #000 65%, rgba(0,0,0,.92) 76%, transparent 100%);
  mask-image: radial-gradient(ellipse 82% 80% at 51% 48%, #000 65%, rgba(0,0,0,.92) 76%, transparent 100%);
}

/* Final intro-logo sizing refinement: original assets only, CSS sizing only. */
.offerings-intro {
  padding-top: 62px;
  padding-bottom: 92px;
}
.intro-label {
  margin-bottom: 28px;
}
.offering-card {
  min-height: 205px;
  padding-top: 0;
  padding-bottom: 10px;
}
.mini-logo {
  width: 154px;
  height: 142px;
  margin-bottom: 7px;
}
.mini-logo-alchemy img {
  width: 140px;
}
.mini-logo-voa img {
  width: 148px;
}
.mini-logo-counsel img {
  width: 126px;
  height: 126px;
}

@media (max-width: 760px) {
  .offerings-intro {
    padding-top: 50px;
    padding-bottom: 78px;
  }
  .intro-label {
    margin-bottom: 20px;
  }
  .offering-card {
    padding-top: 20px;
    padding-bottom: 25px;
  }
  .mini-logo {
    width: 142px;
    height: 132px;
  }
  .mini-logo-alchemy img {
    width: 130px;
  }
  .mini-logo-voa img {
    width: 136px;
  }
  .mini-logo-counsel img {
    width: 116px;
    height: 116px;
  }
}


/* v021 approved hero mark source + responsive sizing lock (built from approved v020 sign-off / v019 repaired mark). */
.hero-mark { width: min(61.5vw, 1180px); right: -80px; }
@media (min-width: 768px) {
  .hero-mark { top: 72px; }
}
@media (min-width: 981px) {
  .hero-mark { width: min(61.5vw, 1180px); }
}
@media (min-width: 2048px) {
  .hero-mark { right: calc((100vw - 2048px)/2 - 80px); }
}
@media (max-width: 980px) {
  .hero-mark { width: 720px; right: -275px; top: 72px; }
}
@media (max-width: 760px) {
  .hero-mark { width: 620px; right: -255px; top: 74px; opacity: .43; }
}
