/* ==========================================================================
   X Funding Group - xfundinggroup.com
   Shared stylesheet. Pure CSS, no build step.
     1. Tokens          6. CTA band + footer
     2. Reset / base    7. Home page
     3. Layout          8. Inner pages
     4. Components      9. Forms
     5. Header         10. Responsive
   ========================================================================== */

/* Fonts are loaded with a <link> in each page head (Sora, Inter, IBM Plex Mono). */

/* --------------------------------------------------------------- 1. Tokens */
:root{
  --navy-950:#020F28;
  --navy-900:#041C41;
  --navy-850:#07254F;
  --teal:#10C9C1;
  --teal-dark:#0CA9A2;
  --teal-ink:#04302E;
  --teal-tint:#E4F7F6;
  --ink:#0F2444;
  --slate:#54677F;
  --mist:#F2F7F9;
  --line:#E1EAF0;
  --white:#FFFFFF;

  --font-head:'Sora',"Segoe UI",system-ui,-apple-system,sans-serif;
  --font-body:'Inter',"Segoe UI",system-ui,-apple-system,sans-serif;
  --font-mono:'IBM Plex Mono',ui-monospace,Consolas,monospace;

  --container:1200px;
  --gutter:28px;
  --radius:16px;
  --radius-sm:10px;
  --section-y:90px;

  --shadow-xs:0 1px 2px rgba(4,28,65,.05);
  --shadow-sm:0 2px 6px rgba(4,28,65,.04), 0 10px 24px rgba(4,28,65,.05);
  --shadow-md:0 8px 20px rgba(4,28,65,.07), 0 20px 44px rgba(4,28,65,.07);
  --shadow-lg:0 24px 64px rgba(2,15,40,.20);
}

/* ---------------------------------------------------------- 2. Reset/base */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{
  margin:0;
  font-family:var(--font-body);
  font-size:17px;
  line-height:1.62;
  color:var(--slate);
  background:var(--white);
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img,svg{max-width:100%;display:block}
img{height:auto}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit}
h1,h2,h3,h4{
  font-family:var(--font-head);
  color:var(--ink);
  margin:0;
  font-weight:700;
  letter-spacing:-.02em;
}
h1{font-size:clamp(2.25rem,1.35rem + 3.1vw,3.85rem);line-height:1.06;letter-spacing:-.032em;font-weight:800}
h2{font-size:clamp(1.7rem,1.1rem + 2vw,2.6rem);line-height:1.14;letter-spacing:-.028em}
h3{font-size:1.2rem;line-height:1.3}
h4{font-size:1.02rem;line-height:1.35}
p{margin:0}
ul{margin:0;padding:0;list-style:none}
::selection{background:rgba(16,201,193,.24)}

:focus-visible{
  outline:3px solid rgba(12,169,162,.85);
  outline-offset:3px;
  border-radius:4px;
}
.skip-link{
  position:absolute;left:-9999px;top:0;z-index:200;
  background:var(--teal);color:var(--teal-ink);
  font-family:var(--font-head);font-weight:700;
  padding:12px 20px;border-radius:0 0 10px 0;
}
.skip-link:focus{left:0}
.sr-only{
  position:absolute;width:1px;height:1px;padding:0;margin:-1px;
  overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0;
}
.sprite{position:absolute;width:0;height:0;overflow:hidden}

/* --------------------------------------------------------------- 3. Layout */
.container{
  width:100%;
  max-width:calc(var(--container) + var(--gutter) * 2);
  margin-inline:auto;
  padding-inline:var(--gutter);
}
.section{padding-block:var(--section-y)}
.section--tight{padding-block:70px}
.section--mist{background:var(--mist)}
.section--navy{
  background:linear-gradient(155deg,var(--navy-900) 0%,var(--navy-850) 60%,var(--navy-900) 100%);
  color:rgba(255,255,255,.74);
}
.section--navy h2,.section--navy h3,.section--navy h4{color:#fff}

.grid{display:grid;gap:24px}
.grid--4{grid-template-columns:repeat(4,minmax(0,1fr))}
.grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}
.split{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:76px;
  align-items:center;
}
.stack-sm > * + *{margin-top:14px}
.stack > * + *{margin-top:22px}
.mt-32{margin-top:32px}
.mt-40{margin-top:40px}

.section-head{max-width:660px}
.section-head--center{margin-inline:auto;text-align:center}
.section-head h2{margin-top:16px}
.section-head p{margin-top:16px;font-size:1.06rem}

/* ----------------------------------------------------------- 4. Components */
.eyebrow{
  display:inline-flex;align-items:center;gap:12px;
  font-family:var(--font-mono);font-weight:500;
  font-size:.75rem;letter-spacing:.15em;text-transform:uppercase;
  color:var(--teal-dark);
}
.eyebrow::before{content:"";width:24px;height:2px;background:var(--teal);flex:none}
.section--navy .eyebrow,.hero .eyebrow,.page-hero .eyebrow{color:var(--teal)}
.section-head--center .eyebrow{justify-content:center}

.mono-label{
  display:block;
  font-family:var(--font-mono);font-weight:500;
  font-size:.7rem;letter-spacing:.15em;text-transform:uppercase;
  color:var(--slate);
}

.lead{font-size:1.1rem;line-height:1.6;color:var(--slate)}
.section--navy .lead,.page-hero .lead{color:rgba(255,255,255,.72)}
.accent{color:var(--teal)}
.text-teal{color:var(--teal-dark)}

/* Buttons ---------------------------------------------------------------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  font-family:var(--font-head);font-weight:700;font-size:.98rem;
  line-height:1;letter-spacing:-.01em;
  padding:16px 28px;border-radius:999px;border:0;
  cursor:pointer;text-align:center;white-space:nowrap;
  transition:transform .18s ease,background-color .18s ease,box-shadow .18s ease,color .18s ease,border-color .18s ease;
}
.btn svg{width:18px;height:18px;flex:none}
.btn:hover{transform:translateY(-2px)}
.btn:active{transform:translateY(0)}
.btn--primary{background:var(--teal);color:var(--teal-ink);box-shadow:0 8px 20px rgba(16,201,193,.28)}
.btn--primary:hover{background:var(--teal-dark);box-shadow:0 12px 26px rgba(16,201,193,.34)}
.btn--navy{background:var(--navy-900);color:#fff;box-shadow:0 8px 20px rgba(4,28,65,.22)}
.btn--navy:hover{background:var(--navy-850)}
.btn--ghost{background:transparent;color:var(--ink);border:1.5px solid var(--line)}
.btn--ghost:hover{border-color:var(--teal);color:var(--teal-dark)}
.btn--ghost-light{background:rgba(255,255,255,.05);color:#fff;border:1.5px solid rgba(255,255,255,.3)}
.btn--ghost-light:hover{border-color:var(--teal);background:rgba(16,201,193,.14)}
.btn--sm{padding:13px 22px;font-size:.92rem}
.btn--block{width:100%}
.btn-row{display:flex;flex-wrap:wrap;gap:16px}

.link-arrow{
  display:inline-flex;align-items:center;gap:8px;
  font-family:var(--font-head);font-weight:700;font-size:.95rem;
  color:var(--teal-dark);
}
.link-arrow svg{width:16px;height:16px;transition:transform .2s ease}
.link-arrow:hover svg{transform:translateX(4px)}

/* Cards ------------------------------------------------------------------ */
.card{
  background:var(--white);
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding:28px;
  box-shadow:var(--shadow-sm);
}
.card h3,.card h4{margin-bottom:10px}
.card p{font-size:.97rem;line-height:1.58}
.card--hover{transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}
.card--stretch{display:flex;flex-direction:column}
.card--stretch .card__foot{margin-top:auto;padding-top:32px}
.card--hover:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);border-color:#CFE2EC}

.icon-chip{
  width:46px;height:46px;border-radius:12px;flex:none;
  display:flex;align-items:center;justify-content:center;
  background:var(--teal-tint);color:var(--teal-dark);
  margin-bottom:22px;
}
.icon-chip svg{width:21px;height:21px}
.icon-chip--navy{background:var(--navy-900);color:var(--teal)}
.icon-chip--onnavy{background:rgba(16,201,193,.14);color:var(--teal)}

.card--navy{
  background:rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.10);
  box-shadow:none;
}
.card--navy p{color:rgba(255,255,255,.68)}
.card--navy.card--hover:hover{
  background:rgba(255,255,255,.075);
  border-color:rgba(16,201,193,.45);
  box-shadow:0 18px 40px rgba(2,15,40,.4);
}

.badge{
  display:inline-flex;align-items:center;
  font-family:var(--font-mono);font-weight:500;
  font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;
  color:var(--teal-ink);background:var(--teal);
  padding:6px 13px;border-radius:999px;white-space:nowrap;
}
.badge--outline{
  background:rgba(16,201,193,.12);color:var(--teal-dark);
  border:1px solid rgba(16,201,193,.42);
}
.card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}

/* Chips + check lists ---------------------------------------------------- */
.chip-row{display:flex;flex-wrap:wrap;gap:12px}
.chip{
  display:inline-flex;align-items:center;gap:9px;
  background:var(--mist);border:1px solid var(--line);
  border-radius:999px;padding:11px 18px;
  font-size:.92rem;font-weight:600;color:var(--ink);
}
.chip svg{width:16px;height:16px;color:var(--teal-dark);flex:none}

.checks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px 30px}
.checks li{
  display:flex;align-items:flex-start;gap:11px;
  font-size:.98rem;font-weight:500;color:var(--ink);line-height:1.45;
}
.checks svg{width:17px;height:17px;color:var(--teal-dark);flex:none;margin-top:3px}
.section--navy .checks li{color:#fff}

/* Photo standing in for an illustration panel: same box the figure occupied */
.photo-frame{position:relative}
/* Funding-option panels keep the illustration's taller box so the spec card
   overlaps at exactly the same point. */
.media-photo--option{aspect-ratio:620 / 520}
/* Contact panel keeps the envelope illustration's wider box */
.media-photo--wide{aspect-ratio:620 / 360}
/* Weight at the foot of the photo so the navy card sits on it cleanly */
.photo-fade{
  position:absolute;left:0;right:0;bottom:0;height:62%;
  border-radius:0 0 var(--radius) var(--radius);
  background:linear-gradient(180deg,
    rgba(2,15,40,0) 0%,rgba(2,15,40,.18) 34%,rgba(2,15,40,.46) 68%,rgba(2,15,40,.68) 100%);
  pointer-events:none;
}
.media-photo{
  display:block;width:100%;
  aspect-ratio:640 / 460;
  object-fit:cover;
  border-radius:var(--radius);
  box-shadow:0 4px 12px rgba(4,28,65,.08), 0 18px 44px rgba(4,28,65,.16);
}

/* Illustration panel ----------------------------------------------------- */
.figure{
  position:relative;
  border-radius:var(--radius);
  background:linear-gradient(150deg,#FBFDFE 0%,#EFF6F9 55%,#E7F3F6 100%);
  border:1px solid var(--line);
  overflow:hidden;
}
.figure > svg{width:100%;height:auto;display:block}
.figure-chip{
  position:absolute;z-index:2;
  display:inline-flex;align-items:center;
  background:#fff;border:1px solid var(--line);
  border-radius:999px;padding:9px 16px;
  font-family:var(--font-mono);font-size:.66rem;font-weight:500;
  letter-spacing:.14em;text-transform:uppercase;color:var(--ink);
  box-shadow:var(--shadow-sm);white-space:nowrap;
}
.chip-tl{top:26px;left:26px}
.chip-tr{top:26px;right:26px}
.chip-mr{top:8%;right:6%}

/* Figure with a card overlapping its lower edge */
.media-stack{position:relative;padding-bottom:104px}
.media-stack__card{position:absolute;left:8%;bottom:0;width:78%;z-index:2}

/* --------------------------------------------------------------- 5. Header */
.topbar{
  background:var(--navy-950);
  color:rgba(255,255,255,.6);
  font-family:var(--font-mono);font-weight:500;
  font-size:.72rem;letter-spacing:.04em;
}
.topbar__inner{
  display:flex;align-items:center;justify-content:space-between;gap:20px;
  min-height:38px;padding-block:8px;
}
.topbar__item{display:inline-flex;align-items:center;gap:9px}
.topbar__item svg{width:14px;height:14px;color:rgba(255,255,255,.4);flex:none}
.topbar__center{color:rgba(255,255,255,.72)}
.topbar a:hover{color:var(--teal)}

.site-header{
  position:sticky;top:0;z-index:60;
  background:#fff;
  border-bottom:1px solid var(--line);
}
.header__inner{display:flex;align-items:center;gap:28px;min-height:80px}
.brand{display:inline-flex;align-items:center;flex:none}
.brand img{height:42px;width:auto}
.nav{margin-left:auto}
.nav__list{display:flex;align-items:center;gap:34px}
.nav__link{
  position:relative;display:inline-block;padding-block:6px;
  font-family:var(--font-head);font-weight:600;font-size:1rem;
  color:var(--ink);transition:color .18s ease;
}
.nav__link:hover{color:var(--teal-dark)}
.nav__link[aria-current="page"]{color:var(--teal-dark)}
.nav__link[aria-current="page"]::after{
  content:"";position:absolute;left:0;right:0;bottom:-4px;
  height:2px;background:var(--teal);border-radius:2px;
}
.header__actions{display:flex;align-items:center;gap:22px;margin-left:auto}
.header__phone{
  display:inline-flex;align-items:center;gap:10px;white-space:nowrap;
  font-family:var(--font-head);font-weight:700;font-size:1rem;color:var(--ink);
}
.header__phone svg{width:18px;height:18px;color:var(--teal-dark)}
.header__phone:hover{color:var(--teal-dark)}

.burger{
  display:none;
  width:46px;height:46px;flex:none;
  align-items:center;justify-content:center;
  background:var(--mist);border:1px solid var(--line);
  border-radius:12px;cursor:pointer;color:var(--ink);
}
.burger svg{width:20px;height:20px}
.burger__close{display:none}
.burger[aria-expanded="true"] .burger__open{display:none}
.burger[aria-expanded="true"] .burger__close{display:block}

.mobile-nav{
  display:none;
  position:absolute;left:0;right:0;top:100%;
  background:#fff;border-bottom:1px solid var(--line);
  box-shadow:var(--shadow-md);
  padding:18px var(--gutter) 26px;
}
.mobile-nav.is-open{display:block}
.mobile-nav__list{display:grid;gap:0;margin-bottom:20px}
.mobile-nav__list a{
  display:block;padding:14px 4px;
  font-family:var(--font-head);font-weight:600;font-size:1.06rem;color:var(--ink);
  border-bottom:1px solid var(--line);
}
.mobile-nav__list a[aria-current="page"]{color:var(--teal-dark)}
.mobile-nav__actions{display:grid;gap:12px}
body.nav-open{overflow:hidden}

/* --------------------------------------------------------- 6. CTA + footer */
.cta-band{
  background:var(--navy-950);
  text-align:center;
  padding-block:84px;
  position:relative;overflow:hidden;
}
.cta-band::before{
  content:"";position:absolute;inset:0;
  background:radial-gradient(58% 120% at 50% 0%,rgba(16,201,193,.13),transparent 68%);
  pointer-events:none;
}
.cta-band__inner{position:relative}
.cta-band h2{color:#fff;max-width:840px;margin-inline:auto;font-size:clamp(1.6rem,1rem + 2.1vw,2.5rem)}
.cta-band .btn{margin-top:34px}

.site-footer{
  background:var(--navy-950);
  color:rgba(255,255,255,.6);
  border-top:1px solid rgba(255,255,255,.07);
  font-size:.95rem;
}
.footer__grid{
  display:grid;
  grid-template-columns:1.6fr 1fr 1.15fr 1.35fr;
  gap:40px;
  padding-block:70px 46px;
}
.footer__logo img{height:40px;width:auto;margin-bottom:20px}
.footer__about{max-width:290px;line-height:1.6}
.footer__grid h2{color:#fff;font-size:1.02rem;line-height:1.35;letter-spacing:-.01em;margin-bottom:20px}
.footer__list{display:grid;gap:14px}
.footer__list li{display:flex;align-items:flex-start;gap:11px;line-height:1.5}
.footer__list svg{width:16px;height:16px;color:var(--teal);flex:none;margin-top:4px}
.footer__list a:hover{color:var(--teal)}
.footer__hours strong{display:block;color:#fff;font-weight:600}

.footer__bottom{
  display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;
  gap:16px 30px;
  padding-block:26px;
  border-top:1px solid rgba(255,255,255,.08);
  font-size:.85rem;
}
.footer__nav{display:flex;flex-wrap:wrap;gap:26px}
.footer__nav a{
  font-family:var(--font-mono);font-weight:500;font-size:.7rem;
  letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.6);
}
.footer__nav a:hover{color:var(--teal)}
.footer__credit a{color:var(--teal)}
.footer__credit a:hover{text-decoration:underline}

/* ------------------------------------------------------------ 7. Home page */
.hero{position:relative;background:var(--navy-950);isolation:isolate}
.hero__bg{
  position:absolute;inset:0;overflow:hidden;z-index:0;
  background-color:var(--navy-950);
  background-image:url("/assets/hero.jpg");
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
}
/* Navy-teal wash so the photograph sits in the brand palette */
.hero__tint{
  position:absolute;inset:0;z-index:1;
  background:
    radial-gradient(76% 96% at 86% 58%,rgba(16,201,193,.34),transparent 64%),
    linear-gradient(118deg,rgba(2,15,40,.50) 0%,rgba(4,28,65,.38) 46%,rgba(7,86,92,.30) 100%);
}
/* Dark scrim on the left, so the headline always has a solid ground */
.hero__scrim{
  position:absolute;inset:0;z-index:2;
  background:linear-gradient(100deg,rgba(2,15,40,.94) 0%,rgba(2,15,40,.88) 32%,rgba(2,15,40,.54) 56%,rgba(2,15,40,.18) 78%,rgba(2,15,40,.06) 100%);
}
.hero__inner{
  position:relative;z-index:3;
  display:grid;
  grid-template-columns:minmax(0,1.08fr) minmax(0,420px);
  gap:60px;align-items:center;
  padding-block:112px 190px;
}
.hero__copy h1{color:#fff;margin-top:22px;max-width:640px}
.hero__copy .lead{color:rgba(255,255,255,.78);margin-top:26px;max-width:46ch}
.hero__copy .btn-row{margin-top:38px}

/* Offer card ------------------------------------------------------------- */
.hero__media{position:relative}
.offer-card{
  position:relative;
  background:#fff;border-radius:var(--radius);
  box-shadow:var(--shadow-lg);
  padding:26px 28px 26px;
}
.offer-card__top{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:24px}
.offer-card__top img{height:22px;width:auto}
.offer-card__amount{
  font-family:var(--font-head);font-weight:800;
  font-size:2.6rem;line-height:1;letter-spacing:-.035em;
  color:var(--ink);margin-top:8px;
}
.offer-rows{margin-top:24px}
.offer-rows li{
  display:flex;align-items:center;justify-content:space-between;gap:16px;
  padding-block:15px;border-top:1px solid var(--line);
  font-size:.95rem;
}
.offer-rows li:last-child{border-bottom:1px solid var(--line)}
.offer-rows li strong{
  display:inline-flex;align-items:center;gap:8px;
  font-family:var(--font-body);font-weight:600;color:var(--ink);
}
.offer-rows svg{width:16px;height:16px;color:var(--teal-dark)}

.toast{
  position:absolute;right:-26px;bottom:-30px;
  display:flex;align-items:center;gap:12px;
  background:#fff;border-radius:12px;
  box-shadow:var(--shadow-lg);
  padding:13px 20px 13px 14px;
}
.toast__icon{
  width:34px;height:34px;border-radius:50%;flex:none;
  background:var(--teal);color:#fff;
  display:flex;align-items:center;justify-content:center;
}
.toast__icon svg{width:17px;height:17px}
.toast__body strong{display:block;font-size:.92rem;font-weight:700;color:var(--ink);font-family:var(--font-head)}
.toast__body span{
  display:block;font-family:var(--font-mono);font-size:.72rem;
  letter-spacing:.05em;color:var(--slate);margin-top:2px;
}

/* Stats bar -------------------------------------------------------------- */
.hero__stats{
  position:absolute;left:0;right:0;bottom:0;z-index:4;
  background:rgba(2,15,40,.55);
  -webkit-backdrop-filter:blur(16px);
  backdrop-filter:blur(16px);
  border-top:1px solid rgba(255,255,255,.1);
}
.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}
.stats li{padding:34px}
.stats li + li{border-left:1px solid rgba(255,255,255,.1)}
.stats li:first-child{padding-left:0}
.stat__value{
  font-family:var(--font-head);font-weight:800;
  font-size:2rem;line-height:1;letter-spacing:-.03em;color:#fff;
}
.stat__label{
  display:block;margin-top:12px;
  font-family:var(--font-mono);font-weight:500;
  font-size:.7rem;letter-spacing:.15em;text-transform:uppercase;
  color:rgba(255,255,255,.56);
}

/* Use of funds ----------------------------------------------------------- */
.funds-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
.fund-tile{
  position:relative;overflow:hidden;
  border-radius:14px;
  background:linear-gradient(145deg,#062B57 0%,#041C41 62%,#07254F 100%);
  aspect-ratio:7/5;
  padding:22px 24px;
  box-shadow:0 14px 30px rgba(4,28,65,.16);
  transition:transform .22s ease,box-shadow .22s ease;
}
.fund-tile__photo{
  position:absolute;inset:0;z-index:0;
  width:100%;height:100%;object-fit:cover;
}
/* Navy scrim anchored to the top-left corner, under the label */
.fund-tile__scrim{
  position:absolute;inset:0;z-index:1;
  background:
    /* corner anchor */
    radial-gradient(120% 120% at 0% 0%,
      rgba(2,15,40,.80) 0%,rgba(2,15,40,.52) 18%,rgba(3,22,48,.30) 34%,rgba(4,28,65,0) 68%),
    /* band across the label row, so a long name stays readable on small tiles */
    linear-gradient(180deg,
      rgba(2,15,40,.74) 0%,rgba(2,15,40,.56) 16%,rgba(2,15,40,.40) 28%,rgba(2,15,40,0) 60%),
    /* a little weight at the foot of the tile */
    linear-gradient(180deg,rgba(2,15,40,0) 58%,rgba(2,15,40,.26) 100%);
}
.fund-tile:hover{transform:translateY(-4px);box-shadow:0 20px 42px rgba(4,28,65,.24)}
.fund-tile h3{
  position:relative;z-index:2;
  color:#fff;font-size:1rem;font-weight:700;letter-spacing:-.01em;
}
.fund-tile h3::after{
  content:"";display:block;width:24px;height:3px;border-radius:2px;
  background:var(--teal);margin-top:9px;
}
.fund-tile svg{position:absolute;inset:0;width:100%;height:100%;z-index:1}

/* FAQ --------------------------------------------------------------------- */
.faq{max-width:840px;margin-inline:auto;display:grid;gap:14px}
.faq__item{
  background:#fff;
  border:1px solid var(--line);
  border-radius:var(--radius);
  box-shadow:var(--shadow-sm);
  overflow:hidden;
}
.faq__q{
  display:flex;align-items:center;justify-content:space-between;gap:22px;
  padding:22px 26px;cursor:pointer;list-style:none;
  font-family:var(--font-head);font-weight:700;font-size:1.05rem;
  line-height:1.35;letter-spacing:-.015em;color:var(--ink);
  transition:color .18s ease;
}
.faq__q::-webkit-details-marker{display:none}
.faq__q:hover{color:var(--teal-dark)}
.faq__mark{position:relative;width:16px;height:16px;flex:none}
.faq__mark::before,.faq__mark::after{
  content:"";position:absolute;background:var(--teal-dark);
  border-radius:2px;transition:transform .2s ease;
}
.faq__mark::before{top:7px;left:0;width:16px;height:2px}
.faq__mark::after{left:7px;top:0;width:2px;height:16px}
.faq__item[open] .faq__q{color:var(--teal-dark)}
.faq__item[open] .faq__mark::after{transform:scaleY(0)}
.faq__a{padding:0 26px 24px;font-size:.99rem;line-height:1.62;max-width:66ch}

/* Callback --------------------------------------------------------------- */
.callback{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,548px);
  gap:76px;align-items:center;
}
.mini-card{
  display:flex;align-items:center;gap:18px;
  background:var(--mist);border:1px solid var(--line);
  border-radius:14px;padding:18px 22px;
}
.mini-card__icon{
  width:44px;height:44px;border-radius:12px;flex:none;
  background:#fff;border:1px solid var(--line);
  display:flex;align-items:center;justify-content:center;color:var(--teal-dark);
}
.mini-card__icon svg{width:19px;height:19px}
.mini-card strong{
  display:block;font-family:var(--font-head);font-weight:700;
  font-size:1.05rem;color:var(--ink);margin-top:4px;
}

/* ---------------------------------------------------------- 8. Inner pages */
.page-hero{
  position:relative;overflow:hidden;
  background:linear-gradient(115deg,var(--navy-900) 0%,var(--navy-900) 42%,var(--navy-850) 100%);
  padding-block:96px 104px;
  color:rgba(255,255,255,.74);
}
.page-hero::after{
  content:"";position:absolute;inset:0;
  background:radial-gradient(70% 120% at 88% 12%,rgba(16,201,193,.16),transparent 62%);
  pointer-events:none;
}
.page-hero__inner{position:relative;z-index:1;max-width:900px}
.page-hero h1{color:#fff;margin-top:22px}
.page-hero .lead{margin-top:24px;max-width:56ch}

/* Funding option rows ---------------------------------------------------- */
.option-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:80px;align-items:center;
  padding-block:76px;
}
.option-row + .option-row{border-top:1px solid var(--line)}
.option-row--reverse .option-row__media{order:-1}
.option-row h2{margin-top:16px}
.option-row .lead{margin-top:20px}
.option-row .checks{margin-top:30px}
.option-row__media{position:relative;padding-bottom:150px}

.spec-card{
  position:absolute;left:15%;bottom:0;width:80%;z-index:2;
  background:linear-gradient(160deg,var(--navy-900) 0%,var(--navy-950) 100%);
  border:1px solid rgba(255,255,255,.08);
  border-radius:var(--radius);
  padding:24px 26px 10px;
  box-shadow:var(--shadow-lg);
}
.spec-card__value{
  font-family:var(--font-head);font-weight:800;
  font-size:2.35rem;line-height:1.05;letter-spacing:-.035em;
  color:#fff;margin-top:18px;
}
.spec-card .mono-label{color:rgba(255,255,255,.5);margin-top:8px}
.spec-rows{margin-top:20px}
.spec-rows li{
  display:flex;align-items:center;justify-content:space-between;gap:16px;
  padding-block:14px;border-top:1px solid rgba(255,255,255,.1);
  font-size:.93rem;color:rgba(255,255,255,.6);
}
.spec-rows li strong{color:#fff;font-weight:600;text-align:right}

/* Our story -------------------------------------------------------------- */
.story{max-width:900px}
.pull-quote{
  margin:36px 0;padding-left:26px;
  border-left:3px solid var(--teal);
  font-family:var(--font-head);font-weight:700;
  font-size:clamp(1.3rem,.9rem + 1.6vw,1.95rem);
  line-height:1.28;letter-spacing:-.026em;color:#fff;
}

/* Contact ---------------------------------------------------------------- */
.info-card{text-align:left}
.info-card .mono-label{margin-bottom:10px}
.info-card strong,.info-card a.info-value{
  display:block;font-family:var(--font-head);font-weight:700;
  font-size:1.12rem;color:var(--ink);letter-spacing:-.015em;word-break:break-word;
}
.info-card a.info-value:hover{color:var(--teal-dark)}
.info-card small{display:block;margin-top:10px;font-size:.87rem;color:var(--slate)}

/* Prose (privacy policy) ------------------------------------------------- */
.prose{max-width:820px}
.prose h2{font-size:1.5rem;margin-top:48px;margin-bottom:14px}
.prose h3{font-size:1.1rem;margin-top:30px;margin-bottom:10px}
.prose p{margin-bottom:16px}
.prose ul{list-style:disc;padding-left:22px;margin-bottom:18px}
.prose li{margin-bottom:9px}
.prose a{color:var(--teal-dark);text-decoration:underline;text-underline-offset:3px}
.prose > p:first-of-type{font-size:1.06rem}
.prose .updated{
  font-family:var(--font-mono);font-size:.72rem;letter-spacing:.14em;
  text-transform:uppercase;color:var(--slate);margin-bottom:34px;
}

/* Centered message pages ------------------------------------------------- */
.center-page{
  min-height:60vh;
  display:flex;align-items:center;justify-content:center;
  text-align:center;padding-block:110px;
}
.center-page__inner{max-width:560px}
.center-page .lead{margin-top:20px}
.center-page .btn{margin-top:36px}
.success-mark{
  width:88px;height:88px;border-radius:50%;margin:0 auto 34px;
  background:var(--teal-tint);color:var(--teal-dark);
  display:flex;align-items:center;justify-content:center;
}
.success-mark svg{width:40px;height:40px}
.error-code{
  font-family:var(--font-head);font-weight:800;
  font-size:clamp(4.5rem,3rem + 8vw,8rem);line-height:1;
  letter-spacing:-.05em;color:var(--ink);margin-bottom:8px;
}
.error-code span{color:var(--teal)}

/* ---------------------------------------------------------------- 9. Forms */
.form-card{
  background:#fff;border:1px solid var(--line);
  border-radius:var(--radius);padding:34px;
  box-shadow:var(--shadow-md);
}
.form-card__title{font-size:1.35rem;margin-bottom:6px}
/* Application page: the form is the entire page body */
.form-card--wide{max-width:820px;margin-inline:auto;padding:44px}
.form-card--wide .form-card__title{font-size:1.6rem}
.form-card--wide .form-card__sub{margin-bottom:32px}
.form-card__sub{font-size:.94rem;margin-bottom:26px}
.form-card__sub .req{color:var(--teal-dark);font-weight:600}

/* Jotform embed target - keeps the iframe flush inside the card */
.form-embed{display:block}
.form-embed iframe{width:100%;border:0;min-height:600px;display:block}
/* The card holding a live embed drops its inner padding to a thin frame */
.form-card--embed{padding:20px}
/* Fallback height if the Jotform resize script is blocked. It is cleared the
   moment the form reports its own height, so it can never fight the handler. */
#embed-application iframe{min-height:1600px}
#embed-application iframe.is-sized{min-height:0}

.field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 20px}
.field{display:block}
.field--full{grid-column:1 / -1}
.field label,.field > .label{
  display:block;margin-bottom:8px;
  font-size:.86rem;font-weight:600;color:var(--ink);
}
.field label .req{color:var(--teal-dark)}
.field input,.field select,.field textarea{
  width:100%;
  font-family:var(--font-body);font-size:.97rem;color:var(--ink);
  background:#fff;
  border:1px solid var(--line);
  border-radius:var(--radius-sm);
  padding:14px 16px;
  transition:border-color .18s ease,box-shadow .18s ease;
  -webkit-appearance:none;appearance:none;
}
.field textarea{min-height:118px;resize:vertical;line-height:1.55}
.field input::placeholder,.field textarea::placeholder{color:#7C8EA3}
.field input:hover,.field select:hover,.field textarea:hover{border-color:#C6D9E5}
.field input:focus,.field select:focus,.field textarea:focus{
  outline:none;
  border-color:var(--teal);
  box-shadow:0 0 0 4px rgba(16,201,193,.16);
}
.field select{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2354677F' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-position:right 15px center;
  background-size:17px;
  padding-right:44px;
  cursor:pointer;
}
.form-card .btn{margin-top:26px}
.form-note{
  display:flex;align-items:flex-start;gap:9px;
  margin-top:18px;font-size:.86rem;line-height:1.5;
}
.form-note svg{width:16px;height:16px;color:var(--teal-dark);flex:none;margin-top:3px}
.form-note a{color:var(--teal-dark);text-decoration:underline;text-underline-offset:2px}

/* Footer subscribe ------------------------------------------------------- */
.subscribe{display:flex;gap:12px}
.subscribe input{
  flex:1;min-width:0;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.14);
  border-radius:999px;
  padding:13px 20px;
  color:#fff;font-family:var(--font-body);font-size:.92rem;
}
.subscribe input::placeholder{color:rgba(255,255,255,.45)}
.subscribe input:focus{
  outline:none;border-color:var(--teal);
  box-shadow:0 0 0 3px rgba(16,201,193,.2);
}
.subscribe .btn{flex:none;padding:13px 24px}

/* ----------------------------------------------------------- 10. Responsive */
@media (max-width:1120px){
  :root{--section-y:78px}
  .split,.callback,.option-row{gap:52px}
  .hero__inner{grid-template-columns:minmax(0,1fr) minmax(0,380px);gap:44px}
  .nav__list{gap:26px}
  .header__actions{gap:16px}
  .footer__grid{grid-template-columns:1fr 1fr;gap:44px}
}

@media (max-width:980px){
  .nav,.header__phone{display:none}
  .burger{display:inline-flex}
  .header__inner{min-height:72px;gap:14px;justify-content:space-between}
  .header__actions{gap:10px}
  .grid--4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .grid--3{grid-template-columns:1fr}
  .split,.callback,.option-row{grid-template-columns:minmax(0,1fr)}
  .option-row--reverse .option-row__media{order:0}
  .option-row{padding-block:60px}
  .split .figure,.split .media-photo,.split .photo-frame,
  .option-row__media{max-width:640px;margin-inline:auto;width:100%}

  .hero__bg{background-position:82% center}
  .hero__scrim{
    background:linear-gradient(180deg,rgba(2,15,40,.86) 0%,rgba(2,15,40,.76) 40%,rgba(2,15,40,.66) 64%,rgba(2,15,40,.80) 100%);
  }
  .hero__inner{
    grid-template-columns:minmax(0,1fr);
    gap:44px;padding-block:70px 44px;
  }
  .hero__copy h1{max-width:none}
  .hero__media{max-width:460px}
  .hero__stats{position:static;background:rgba(2,15,40,.62)}
  .stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .stats li{padding:24px 24px}
  .stats li:first-child{padding-left:24px}
  .stats li + li{border-left:0}
  .stats li:nth-child(even){border-left:1px solid rgba(255,255,255,.1)}
  .stats li:nth-child(n+3){border-top:1px solid rgba(255,255,255,.1)}
  .toast{right:-8px;bottom:-24px}

  .funds-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
  .topbar__center{display:none}
}

@media (max-width:720px){
  :root{--gutter:20px;--section-y:64px}
  body{font-size:16px}
  .card{padding:24px}
  .form-card,.form-card--wide{padding:24px}
  .form-card--embed{padding:12px}
  .faq__q{padding:18px 20px;font-size:1rem;gap:16px}
  .faq__a{padding:0 20px 20px}
  .cta-band{padding-block:64px}
  .checks{grid-template-columns:1fr}
  .grid--4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .footer__grid{grid-template-columns:1fr;gap:36px;padding-block:54px 36px}
  .footer__about{max-width:none}
  .footer__bottom{flex-direction:column;align-items:flex-start;gap:14px}
  .footer__nav{gap:18px}
  /* stays above the photo frame, which is itself positioned */
  .spec-card{position:relative;left:0;bottom:auto;z-index:2;width:100%;margin-top:-40px}
  .option-row__media{padding-bottom:0}
  .media-stack{padding-bottom:0}
  .media-stack__card{position:static;width:92%;margin:-46px auto 0}
  .btn-row .btn{width:100%}
  .topbar__inner{justify-content:center}
  .topbar__item:not(.topbar__left){display:none}
  .brand img{height:36px}
  .header__actions .btn--sm{padding:12px 17px;font-size:.9rem}
  .offer-card__amount{font-size:2.2rem}
}

/* Narrow phones: tighten the header CTA so the larger logo still fits */
@media (max-width:420px){
  .header__inner{gap:10px}
  .header__actions{gap:8px}
  .header__actions .btn--sm{padding:12px 16px;font-size:.88rem}
  .header__actions .btn--sm svg{display:none}
}

@media (max-width:560px){
  .field-grid{grid-template-columns:1fr}
  .grid--4{grid-template-columns:1fr}
  .funds-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
  .fund-tile{padding:16px 18px}
  .fund-tile h3{font-size:.9rem}
  .stats li{padding:20px 16px}
  .stat__value{font-size:1.7rem}
  .toast{position:static;margin-top:18px;box-shadow:var(--shadow-md)}
  .subscribe{flex-direction:column}
  .subscribe .btn{width:100%}
}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{
    animation-duration:.01ms !important;
    animation-iteration-count:1 !important;
    transition-duration:.01ms !important;
  }
}

@media print{
  .topbar,.site-header,.cta-band,.site-footer,.mobile-nav{display:none}
  body{color:#000}
}
