:root{
  --c-black:#0A0A0A;
  --c-ink:#111827;
  --c-accent:#10B981;
  --c-accent-2:#0d9c6f;
  --c-light:#F9FAFB;
  --c-mut:rgba(249,250,251,.72);
  --c-mut-2:rgba(249,250,251,.5);
  --radius:4px;
  --radius-pill:999px;
  --shadow:0 24px 60px rgba(0,0,0,.5);
  --maxw:1180px;
  --sp:clamp(1rem,3vw,2.5rem);
  font-family:var(--mrc-font-fa);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  background:var(--c-black);
  color:var(--c-light);
  font-family:var(--mrc-font-fa);
  line-height:1.7;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
h1,h2,h3{font-family:var(--mrc-font-fa-display);line-height:1.12;font-weight:800}
a{color:inherit;text-decoration:none}
.wrap{width:100%;max-width:var(--maxw);margin-inline:auto;padding-inline:var(--sp)}

/* header */
.site-header{
  position:fixed;inset:0 0 auto 0;z-index:30;
  backdrop-filter:blur(6px);
  background:linear-gradient(180deg,rgba(10,10,10,.7),rgba(10,10,10,0));
}
.header-inner{display:flex;align-items:center;justify-content:space-between;padding-block:1rem}
.brand{font-family:var(--mrc-font-fa-display);font-weight:800;font-size:1.15rem;letter-spacing:.2px}
.cta-mini{
  display:inline-flex;align-items:center;min-height:44px;padding:.55rem 1.25rem;
  border-radius:var(--radius-pill);background:var(--c-accent);color:#04241a;
  font-weight:800;font-size:.95rem;transition:transform .2s,background .2s,box-shadow .2s;
  box-shadow:0 8px 24px rgba(16,185,129,.35);
}
.cta-mini:hover{background:var(--c-accent-2);transform:translateY(-2px)}
.cta-mini:focus-visible{outline:3px solid var(--c-light);outline-offset:3px}
@media (max-width:560px){.cta-mini{display:none}}

/* hero */
.hero{position:relative;min-height:100svh;display:flex;flex-direction:column;justify-content:center;padding-block:7rem 3rem}
.hero-bg{position:absolute;inset:0;z-index:0}
.hero-bg img{width:100%;height:100%;object-fit:cover;object-position:center}
.hero-overlay{
  position:absolute;inset:0;z-index:1;
  background:
    linear-gradient(105deg,rgba(10,10,10,.94) 0%,rgba(17,24,39,.78) 45%,rgba(10,10,10,.28) 100%),
    linear-gradient(0deg,rgba(10,10,10,.92),rgba(10,10,10,.1) 55%);
}
.hero-grid{
  position:relative;z-index:2;
  display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(1.5rem,4vw,3.5rem);align-items:center;
}
.hero-copy{max-width:46ch}
.eyebrow{
  display:inline-block;font-weight:700;color:var(--c-accent);
  letter-spacing:.16em;font-size:.85rem;margin-bottom:1rem;
  border:1px solid rgba(16,185,129,.4);padding:.3rem .9rem;border-radius:var(--radius-pill);
}
.hero h1{font-size:clamp(2.4rem,6.5vw,4.6rem);letter-spacing:-.5px}
.hero .sub{margin-top:1.25rem;font-size:clamp(1.05rem,2.4vw,1.35rem);color:var(--c-mut);max-width:38ch}

/* oversized full-width CTA bar */
.cta-bar{
  display:flex;align-items:center;justify-content:space-between;gap:1rem;
  width:100%;margin-top:2.25rem;min-height:64px;padding:1.1rem 1.75rem;
  background:var(--c-accent);color:#04241a;
  border-radius:var(--radius-pill);font-weight:800;font-size:clamp(1.1rem,2.6vw,1.4rem);
  box-shadow:0 16px 40px rgba(16,185,129,.4);
  transition:transform .22s ease,background .22s ease,box-shadow .22s ease;
  position:relative;overflow:hidden;
}
.cta-bar::after{
  content:"";position:absolute;inset:0;background:rgba(255,255,255,.18);
  transform:translateX(-110%);transition:transform .5s ease;
}
.cta-bar:hover{background:var(--c-accent-2);transform:translateY(-3px);box-shadow:0 22px 52px rgba(16,185,129,.5)}
.cta-bar:hover::after{transform:translateX(110%)}
.cta-bar:active{transform:translateY(-1px)}
.cta-bar:focus-visible{outline:3px solid var(--c-light);outline-offset:4px}
.cta-arrow{font-size:1.6rem;line-height:1}

.cta-secondary{
  display:inline-block;margin-top:1.25rem;font-weight:700;color:var(--c-light);
  border-bottom:2px solid rgba(249,250,251,.35);padding-bottom:.15rem;transition:color .2s,border-color .2s;
}
.cta-secondary:hover{color:var(--c-accent);border-color:var(--c-accent)}
.cta-secondary:focus-visible{outline:2px solid var(--c-accent);outline-offset:4px}

/* collage (bento asymmetry) */
.hero-collage{
  display:grid;grid-template-columns:1fr 1fr;grid-template-rows:repeat(3,1fr);
  gap:.9rem;height:min(440px,60vh);
}
.tile{border-radius:var(--radius);background-size:cover;background-position:center;border:1px solid rgba(249,250,251,.08)}
.tile-a{grid-column:1/3;grid-row:1/3;background-image:linear-gradient(180deg,rgba(10,10,10,.1),rgba(10,10,10,.55)),url('../img/bg-desktop.jpg')}
.tile-b{grid-column:1/2;grid-row:3/4;background-image:linear-gradient(180deg,rgba(17,24,39,.2),rgba(17,24,39,.6)),url('../img/bg-mobile.jpg')}
.tile-c{
  grid-column:2/3;grid-row:3/4;background:var(--c-ink);
  display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;
}
.tile-c span{font-family:var(--mrc-font-fa-display);font-weight:800;font-size:1.9rem;color:var(--c-accent)}
.tile-c small{color:var(--c-mut-2);font-size:.8rem}

.hero-foot{position:relative;z-index:2;margin-top:clamp(2rem,5vh,3.5rem)}
.hero-foot p{color:var(--c-mut-2);font-size:.95rem;max-width:50ch}

@media (max-width:860px){
  .hero-grid{grid-template-columns:1fr}
  .hero-collage{height:300px;order:-1;margin-bottom:.5rem}
}

/* footer */
.site-footer{background:var(--c-ink);border-top:1px solid rgba(249,250,251,.08)}
.footer-inner{display:flex;flex-wrap:wrap;gap:1rem 2rem;align-items:center;justify-content:space-between;padding-block:1.75rem}
.copy{color:var(--c-mut-2);font-size:.9rem}
.footer-links{display:flex;flex-wrap:wrap;gap:1rem 1.5rem}
.footer-links a{color:var(--c-mut);font-size:.9rem;transition:color .2s}
.footer-links a:hover{color:var(--c-accent)}
.footer-links a:focus-visible{outline:2px solid var(--c-accent);outline-offset:3px}

/* legal pages */
.legal{padding:8rem 0 4rem;background:linear-gradient(180deg,var(--c-black),var(--c-ink))}
.legal .lead{color:var(--c-mut);margin-top:.5rem}
.legal h1{font-size:clamp(2rem,5vw,3rem)}
.legal h2{margin-top:2.25rem;font-size:1.4rem;color:var(--c-accent)}
.legal p{margin-top:.75rem;color:var(--c-mut)}
.legal ul{margin:.75rem 1.5rem 0;color:var(--c-mut)}
.legal li{margin-top:.4rem}
.updated{display:inline-block;margin-top:1rem;font-size:.85rem;color:var(--c-mut-2);border:1px solid rgba(249,250,251,.12);padding:.3rem .8rem;border-radius:var(--radius-pill)}
.legal-content{max-width:74ch}
.back-link{display:inline-block;margin-top:2.5rem;color:var(--c-accent);font-weight:700}

/* reveal */
.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease}
.reveal.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
  .reveal{opacity:1;transform:none;transition:none}
  .cta-bar,.cta-mini,.cta-secondary{transition:none}
  html{scroll-behavior:auto}
}