/* style.css — premium + FULL page + transparent logo masks (no box) */

:root{
  --bg:#06110c; --bg2:#0a1711;
  --text:#eaf2ee; --muted:#b7c8bf;
  --mint:#8fffd5; --leaf:#3fe07f; --copper:#d29b6b; --sand:#e7d7b1;

  --shadow: 0 22px 80px rgba(0,0,0,.30);
  --shadow2: 0 14px 50px rgba(0,0,0,.22);

  --r: 18px; --r2: 28px;
  --serif: "Fraunces", ui-serif, Georgia, serif;
  --sans: "Space Grotesk", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  --max: 1160px;
}

*{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }
body{
  margin:0;
  font-family: var(--sans);
  color: var(--text);
  background:
    radial-gradient(1100px 650px at 14% 8%, rgba(63,224,127,.16), transparent 60%),
    radial-gradient(900px 520px at 92% 16%, rgba(143,255,213,.12), transparent 55%),
    radial-gradient(900px 520px at 90% 85%, rgba(210,155,107,.10), transparent 55%),
    linear-gradient(180deg, var(--bg), var(--bg2));
  overflow-x:hidden;
}
img{ max-width:100%; display:block; }
a{ color:inherit; }
.container{ width:min(var(--max), calc(100% - 40px)); margin:0 auto; }

.sr-only{ position:absolute!important; width:1px; height:1px; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.skip-link{ position:absolute; left:-999px; top:0; padding:12px 14px; background:var(--sand); color:#0b1712; border-radius:12px; z-index:9999; }
.skip-link:focus{ left:14px; top:14px; }

/* Header */
.site-header{
  position:sticky; top:0; z-index:2000;
  backdrop-filter: blur(14px);
  background: rgba(6,17,12,.62);
  border-bottom:1px solid rgba(234,242,238,.10);
}
.header-inner{ display:flex; align-items:center; justify-content:space-between; gap:18px; padding:14px 0; }
.header-glow{
  height:1px;
  background: linear-gradient(90deg, transparent, rgba(63,224,127,.55), rgba(143,255,213,.55), rgba(210,155,107,.45), transparent);
  opacity:.75;
}

/* ✅ Transparent wordmark crop (NO background/border/box) */
.brand{ display:flex; align-items:center; text-decoration:none; }
.wordmark-mask{
  display:inline-block;
  overflow:hidden;
  line-height:0;
  background: transparent;
  border: 0;
  box-shadow: none;
  border-radius: 16px;
}

/* Sizes */
.wordmark-mask--header{ height: 46px; width: 210px; }
.wordmark-mask--hero{ height: 150px; width: min(600px, 100%); border-radius: 22px; }
.wordmark-mask--footer{ height: 38px; width: 240px; }

/* Zoom into padded PNG */
.wordmark-img{
  height: 100%;
  width: auto;
  object-fit: contain;
  transform: scale(1.62) translateY(2%);
  transform-origin: left center;

  opacity: .92;
  filter: saturate(1.08) contrast(1.08) brightness(1.06)
          drop-shadow(0 18px 26px rgba(0,0,0,.28));
  mix-blend-mode: screen;
}
.brand:hover .wordmark-img{ transform: scale(1.70) translateY(2%); opacity: .98; }
@supports not (mix-blend-mode: screen){ .wordmark-img{ mix-blend-mode: normal; } }

/* Nav */
.nav{ display:flex; align-items:center; gap:12px; }
.nav-menu{ display:flex; align-items:center; gap:16px; }
.nav-link{
  color: var(--muted);
  text-decoration:none;
  font-weight:600;
  font-size:14px;
  padding:10px 10px;
  border-radius:12px;
  transition: transform .2s ease, background .2s ease, color .2s ease, box-shadow .2s ease;
}
.nav-link:hover{ color: var(--text); background: rgba(234,242,238,.06); transform: translateY(-1px); }
.nav-link.is-active{ color: var(--text); background: rgba(63,224,127,.14); box-shadow: 0 0 0 1px rgba(63,224,127,.22) inset; }
.header-cta{ display:flex; gap:10px; }

/* Buttons */
.btn{
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  padding:12px 14px;
  border-radius: 14px;
  border:1px solid rgba(234,242,238,.14);
  text-decoration:none;
  font-weight:800;
  letter-spacing:.2px;
  user-select:none;
  transition: transform .18s ease, box-shadow .18s ease, background .18s ease, border-color .18s ease, color .18s ease;
}
.btn:focus-visible{ outline: 3px solid rgba(143,255,213,.38); outline-offset: 2px; }
.btn:active{ transform: translateY(1px) scale(.99); }
.btn-primary{
  color:#06110c;
  background: linear-gradient(135deg, rgba(143,255,213,.98), rgba(63,224,127,.92), rgba(210,155,107,.86));
  border-color: rgba(255,255,255,.18);
  box-shadow: 0 26px 80px rgba(63,224,127,.12), 0 18px 70px rgba(143,255,213,.10);
}
.btn-primary:hover{ transform: translateY(-1px); box-shadow: 0 34px 110px rgba(63,224,127,.16), 0 30px 110px rgba(143,255,213,.14); }
.btn-ghost{ color: var(--text); background: rgba(234,242,238,.06); }
.btn-ghost:hover{ transform: translateY(-1px); background: rgba(234,242,238,.09); box-shadow: 0 14px 40px rgba(0,0,0,.25); }
.btn-lg{ padding:14px 18px; border-radius:16px; }
.full{ width:100%; }
.btn-shine{
  position:absolute; inset:-1px; border-radius: inherit;
  background: radial-gradient(220px 120px at 20% 20%, rgba(255,255,255,.40), transparent 55%);
  opacity:.28; pointer-events:none;
  transition: opacity .2s ease, transform .3s ease;
}
.btn-primary:hover .btn-shine{ opacity:.52; transform: translateY(-1px); }

/* Hamburger */
.nav-toggle{
  display:none;
  width:44px;height:44px;
  border-radius:14px;
  border:1px solid rgba(234,242,238,.14);
  background: rgba(234,242,238,.06);
  cursor:pointer;
  transition: transform .18s ease, background .18s ease;
}
.nav-toggle:hover{ transform: translateY(-1px); background: rgba(234,242,238,.09); }
.nav-toggle-bars{ width:18px; height:2px; background: var(--text); display:block; margin:0 auto; position:relative; }
.nav-toggle-bars::before, .nav-toggle-bars::after{ content:""; position:absolute; left:0; width:18px; height:2px; background: var(--text); }
.nav-toggle-bars::before{ top:-6px; } .nav-toggle-bars::after{ top:6px; }

/* Hero */
.hero{ position:relative; padding:64px 0 34px; overflow:hidden; }
.hero::before{
  content:"";
  position:absolute; inset:-40px;
  background:
    radial-gradient(900px 520px at 20% 20%, rgba(63,224,127,.14), transparent 60%),
    radial-gradient(900px 520px at 85% 25%, rgba(143,255,213,.10), transparent 60%),
    radial-gradient(1000px 620px at 80% 95%, rgba(210,155,107,.08), transparent 62%);
  pointer-events:none;
}
.hero-watermark{
  position:absolute; right:-220px; top:-40px;
  width: 680px; opacity:.02; transform: rotate(10deg);
  filter: blur(.45px); pointer-events:none; z-index:0;
}
.hero-grid{ display:grid; grid-template-columns: 1.05fr .95fr; gap:34px; align-items:center; position:relative; z-index:1; }

.eyebrow{ display:flex; align-items:center; gap:10px; color:var(--muted); letter-spacing:.14em; text-transform:uppercase; font-size:12px; margin: 10px 0; }
.dot{ width:10px; height:10px; border-radius:999px; background: radial-gradient(circle at 30% 30%, rgba(143,255,213,.95), rgba(63,224,127,.82)); box-shadow: 0 0 0 6px rgba(63,224,127,.08); }

.hero-title{ margin:0 0 10px; font-family:var(--serif); font-size: clamp(30px, 3.2vw, 44px); line-height:1.06; max-width:24ch; }
.hero-title-accent{ display:block; color:var(--sand); text-shadow: 0 22px 90px rgba(210,155,107,.18); }
.hero-subtitle{ margin:0 0 18px; max-width:58ch; color: rgba(234,242,238,.82); line-height:1.65; }
.hero-actions{ display:flex; flex-wrap:wrap; gap:12px; margin: 12px 0 16px; }

.trust-row{ display:flex; flex-wrap:wrap; gap:10px; margin: 10px 0 18px; }
.trust-pill{ display:flex; align-items:center; gap:10px; padding:10px 12px; border-radius:999px; border:1px solid rgba(234,242,238,.12); background: rgba(234,242,238,.05); box-shadow: 0 10px 30px rgba(0,0,0,.18); }

.hero-metrics{ display:grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap:10px; }
.metric{ padding:14px; border-radius:var(--r); border:1px solid rgba(234,242,238,.10); background: rgba(234,242,238,.04); box-shadow: 0 18px 60px rgba(0,0,0,.14); }
.metric-num{ font-family:var(--serif); font-size:28px; }
.metric-label{ margin-top:6px; color: rgba(234,242,238,.72); font-size:13px; }

/* Hero bottom value strip */
.hero-bottom{ margin-top: 22px; }
.value-strip{ display:grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap:14px; }
.value-item{ border-radius: var(--r2); border:1px solid rgba(234,242,238,.10); background: rgba(234,242,238,.03); padding:18px; box-shadow: var(--shadow2); }
.value-item h3{ margin:0 0 8px; font-size:16px; }
.value-item p{ margin:0; color: rgba(234,242,238,.74); line-height:1.55; }

.hero-noise{
  position:absolute; inset:0;
  background-image: radial-gradient(rgba(255,255,255,.06) 1px, transparent 1px);
  background-size: 22px 22px;
  opacity:.06;
  pointer-events:none;
}

/* Media stack */
.media-stack{ position:relative; min-height:520px; }
.media-card{ position:absolute; border-radius:var(--r2); overflow:hidden; border:1px solid rgba(234,242,238,.14); box-shadow: var(--shadow); }
.media-card img{ width:100%; height:100%; object-fit:cover; filter: saturate(1.05) contrast(1.05); }
.media-card figcaption{ position:absolute; left:14px; bottom:12px; padding:10px 12px; border-radius:999px; font-size:12px; background: rgba(6,17,12,.60); border:1px solid rgba(234,242,238,.12); backdrop-filter: blur(10px); }
.media-card--a{ inset: 0 10% 20% 0; }
.media-card--b{ inset: 42% 0 0 28%; transform: rotate(2deg); }
.media-card--c{ inset: 18% 34% 48% 4%; transform: rotate(-2deg); box-shadow: 0 18px 70px rgba(0,0,0,.40); }

/* Sections */
.section{ padding:72px 0; }
.section--alt{ background: linear-gradient(180deg, rgba(234,242,238,.03), rgba(234,242,238,.01)); border-top:1px solid rgba(234,242,238,.06); border-bottom:1px solid rgba(234,242,238,.06); }
.section-head{ display:grid; grid-template-columns: 1.2fr .8fr; gap:18px; align-items:end; margin-bottom:24px; }
.section-title{ font-family: var(--serif); font-size: clamp(30px, 3.2vw, 44px); margin:0; letter-spacing:.2px; }
.section-lede{ margin:0; color: rgba(234,242,238,.76); line-height:1.6; }

/* Tabs */
.services-wrap{ border-radius:var(--r2); border:1px solid rgba(234,242,238,.10); background: rgba(234,242,238,.03); box-shadow: var(--shadow2); overflow:hidden; }
.tabs{ display:flex; flex-wrap:wrap; gap:10px; padding:14px; border-bottom:1px solid rgba(234,242,238,.08); background: rgba(6,17,12,.35); }
.tab-btn{ border:1px solid rgba(234,242,238,.12); background: rgba(234,242,238,.05); color: rgba(234,242,238,.82); padding:10px 12px; border-radius:999px; cursor:pointer; font-weight:900; transition: transform .18s ease, background .18s ease; }
.tab-btn:hover{ transform: translateY(-1px); background: rgba(234,242,238,.08); }
.tab-btn.is-active{ color:var(--text); background: rgba(63,224,127,.14); box-shadow: 0 0 0 1px rgba(63,224,127,.22) inset; }
.tab-panel{ display:grid; grid-template-columns: 1fr .92fr; gap:16px; padding:18px; }
.tab-title{ margin:0 0 8px; font-size:22px; }
.tab-copy{ margin:0 0 12px; color: rgba(234,242,238,.76); line-height:1.6; }

.checklist{ list-style:none; padding:0; margin:0; display:grid; gap:10px; }
.checklist li{ position:relative; padding-left:26px; color: rgba(234,242,238,.78); }
.checklist li::before{ content:"✓"; position:absolute; left:0; top:0; color: rgba(143,255,213,.88); }

.tab-cta{ display:flex; flex-wrap:wrap; gap:12px; align-items:center; margin-top:16px; }
.mini-proof{ display:flex; flex-wrap:wrap; gap:8px; }
.mini-pill{ font-size:12px; padding:8px 10px; border-radius:999px; border:1px solid rgba(234,242,238,.10); background: rgba(234,242,238,.03); color: rgba(234,242,238,.74); }

.tab-media{ display:grid; gap:12px; }
.tab-image-frame{ position:relative; border-radius:var(--r2); overflow:hidden; border:1px solid rgba(234,242,238,.12); min-height:320px; box-shadow: var(--shadow2); }
.tab-image-frame img{ width:100%; height:100%; object-fit:cover; transform: scale(1.01); transition: transform .5s ease; }
.tab-image-frame:hover img{ transform: scale(1.06); }
.tab-image-overlay{ position:absolute; inset:0; background: linear-gradient(180deg, transparent, rgba(6,17,12,.58)); pointer-events:none; }
.tab-stats{ display:grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap:10px; }
.stat{ border-radius:var(--r); border:1px solid rgba(234,242,238,.10); background: rgba(234,242,238,.03); padding:12px; }
.stat-num{ font-family:var(--serif); font-size:22px; }
.stat-label{ margin-top:4px; color: rgba(234,242,238,.72); font-size:12px; }

/* Feature cards */
.services-grid{ margin-top:18px; display:grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap:14px; }
.feature-card{ border-radius:var(--r2); border:1px solid rgba(234,242,238,.10); background: rgba(234,242,238,.03); padding:18px 16px; box-shadow: 0 14px 50px rgba(0,0,0,.20); transition: transform .18s ease, box-shadow .18s ease, background .18s ease; }
.feature-card:hover{ transform: translateY(-4px); background: rgba(234,242,238,.06); box-shadow: 0 28px 90px rgba(0,0,0,.28); }
.feature-icon{ width:36px; height:36px; display:grid; place-items:center; border-radius:14px; margin-bottom:10px; border:1px solid rgba(234,242,238,.12); background: rgba(234,242,238,.04); transition: transform .18s ease, background .18s ease; }
.feature-card:hover .feature-icon{ transform: translateY(-2px) rotate(-2deg); background: rgba(63,224,127,.10); }
.feature-card h3{ margin:0 0 8px; font-size:16px; }
.feature-card p{ margin:0; color: rgba(234,242,238,.74); line-height:1.55; }

/* Masonry */
.masonry{ display:grid; grid-template-columns: 1fr 1fr 1fr; gap:14px; align-items:stretch; }
.masonry-item{ border-radius:var(--r2); overflow:hidden; border:1px solid rgba(234,242,238,.10); background: rgba(234,242,238,.02); box-shadow: var(--shadow2); position:relative; min-height:260px; }
.masonry-item--tall{ grid-row: span 2; min-height:540px; }
.masonry-item img{ width:100%; height:100%; object-fit:cover; transition: transform .5s ease; }
.masonry-item:hover img{ transform: scale(1.06); }
.masonry-item figcaption{ position:absolute; left:14px; bottom:14px; padding:10px 12px; border-radius:999px; background: rgba(6,17,12,.60); border:1px solid rgba(234,242,238,.12); backdrop-filter: blur(10px); font-size:12px; }
.proof-card{ border-radius:var(--r2); border:1px solid rgba(63,224,127,.20); background: linear-gradient(180deg, rgba(63,224,127,.10), rgba(234,242,238,.02)); padding:18px 16px; box-shadow: 0 26px 90px rgba(63,224,127,.07); display:grid; gap:12px; }

/* Pricing */
.pricing-grid{ display:grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap:14px; }
.price-card{ border-radius:var(--r2); border:1px solid rgba(234,242,238,.10); background: rgba(234,242,238,.03); padding:18px 16px; box-shadow: 0 18px 60px rgba(0,0,0,.20); display:grid; gap:12px; position:relative; transition: transform .18s ease, box-shadow .18s ease, background .18s ease; }
.price-card:hover{ transform: translateY(-4px); background: rgba(234,242,238,.06); box-shadow: 0 30px 100px rgba(0,0,0,.30); }
.price-card--featured{ border-color: rgba(143,255,213,.22); background: linear-gradient(180deg, rgba(143,255,213,.08), rgba(234,242,238,.03)); }
.price-badge{ position:absolute; top:14px; right:14px; padding:8px 10px; border-radius:999px; font-size:12px; font-weight:900; color:#06110c; background: linear-gradient(135deg, rgba(143,255,213,.95), rgba(63,224,127,.92), rgba(210,155,107,.90)); }
.price{ font-family:var(--serif); font-size:40px; letter-spacing:.2px; }
.price-sub{ margin-top:-6px; color: rgba(234,242,238,.70); font-size:13px; }

/* Areas */
.areas-grid{ display:grid; grid-template-columns: 1fr 1fr 1fr; gap:14px; }
.areas-card{ border-radius:var(--r2); border:1px solid rgba(234,242,238,.10); background: rgba(234,242,238,.03); padding:18px 16px; box-shadow: 0 18px 60px rgba(0,0,0,.16); display:grid; gap:10px; }
.areas-card--accent{ border-color: rgba(210,155,107,.22); background: linear-gradient(180deg, rgba(210,155,107,.12), rgba(234,242,238,.02)); }
.areas-list{ margin:0; padding-left:18px; color: rgba(234,242,238,.76); line-height:1.7; }

/* Slider */
.slider{ border-radius:var(--r2); border:1px solid rgba(234,242,238,.10); background: rgba(234,242,238,.03); box-shadow: var(--shadow2); padding:18px 16px; }
.slider-track{ position:relative; min-height:190px; }
.testimonial{ position:absolute; inset:0; opacity:0; transform: translateY(10px); transition: opacity .35s ease, transform .35s ease; display:grid; align-content:start; gap:12px; }
.testimonial.is-active{ position:relative; opacity:1; transform: translateY(0); }
.quote{ margin:0; font-size:18px; line-height:1.6; color: rgba(234,242,238,.88); }
.who{ display:flex; gap:10px; align-items:center; }
.avatar{ width:40px; height:40px; border-radius:14px; display:grid; place-items:center; background: rgba(63,224,127,.12); border:1px solid rgba(63,224,127,.22); font-weight:900; }
.name{ font-weight:900; } .meta{ color: rgba(234,242,238,.66); font-size:13px; margin-top:2px; }
.slider-controls{ margin-top:14px; display:flex; align-items:center; justify-content:space-between; gap:12px; }
.icon-btn{ width:44px; height:44px; border-radius:14px; border:1px solid rgba(234,242,238,.14); background: rgba(234,242,238,.06); color:var(--text); cursor:pointer; transition: transform .18s ease, background .18s ease; }
.icon-btn:hover{ transform: translateY(-1px); background: rgba(234,242,238,.09); }
.dots{ display:flex; gap:8px; align-items:center; }
.dot-btn{ width:10px; height:10px; border-radius:999px; border:1px solid rgba(234,242,238,.22); background: rgba(234,242,238,.12); cursor:pointer; transition: transform .18s ease; }
.dot-btn:hover{ transform: scale(1.12); }
.dot-btn.is-active{ background: linear-gradient(135deg, rgba(143,255,213,.92), rgba(63,224,127,.92)); border-color: rgba(255,255,255,.25); }

/* FAQ */
.faq{ display:grid; gap:12px; }
.faq-item{ border-radius:var(--r2); border:1px solid rgba(234,242,238,.10); background: rgba(234,242,238,.03); overflow:hidden; box-shadow: 0 14px 50px rgba(0,0,0,.14); }
.faq-q{ width:100%; text-align:left; padding:16px; display:flex; align-items:center; justify-content:space-between; gap:14px; border:0; background:transparent; color:var(--text); cursor:pointer; font-weight:900; font-size:15px; }
.faq-q:hover{ background: rgba(234,242,238,.04); }
.faq-icon{ width:34px; height:34px; border-radius:12px; display:grid; place-items:center; border:1px solid rgba(234,242,238,.14); background: rgba(234,242,238,.05); }
.faq-a{ padding: 0 16px 16px; color: rgba(234,242,238,.74); line-height:1.7; }

/* CTA + Footer */
.cta{ padding:74px 0; position:relative; overflow:hidden; }
.cta::before{ content:""; position:absolute; inset:-60px -20px; background: radial-gradient(900px 500px at 20% 40%, rgba(63,224,127,.14), transparent 60%), radial-gradient(900px 500px at 90% 30%, rgba(143,255,213,.12), transparent 60%), radial-gradient(900px 500px at 90% 85%, rgba(210,155,107,.10), transparent 60%); pointer-events:none; }
.cta-grid{ position:relative; display:grid; grid-template-columns: 1.15fr .85fr; gap:14px; }
.cta-card{ border-radius:30px; border:1px solid rgba(234,242,238,.10); background: linear-gradient(180deg, rgba(234,242,238,.06), rgba(234,242,238,.02)); box-shadow: var(--shadow); padding:24px 20px; }
.cta-title{ margin:0 0 10px; font-family:var(--serif); font-size: clamp(28px, 3vw, 40px); }
.cta-copy{ margin:0 0 16px; color: rgba(234,242,238,.78); line-height:1.65; }
.cta-actions{ display:flex; flex-wrap:wrap; gap:12px; }
.cta-aside{ display:grid; gap:14px; }
.aside-card{ border-radius:26px; border:1px solid rgba(234,242,238,.10); background: rgba(234,242,238,.03); box-shadow: var(--shadow2); padding:18px 16px; }
.aside-card--dark{ background: rgba(6,17,12,.55); border-color: rgba(234,242,238,.12); }
.steps{ margin: 10px 0 0; padding-left: 18px; color: rgba(234,242,238,.76); line-height:1.7; }

.footer{ padding: 28px 0; border-top: 1px solid rgba(234,242,238,.08); background: rgba(6,17,12,.60); }
.footer-inner{ display:flex; align-items:center; justify-content:space-between; gap:14px; flex-wrap:wrap; }
.footer-bottom{ margin-top:12px; color: rgba(234,242,238,.56); font-size:13px; }

/* Back to top */
.back-to-top{
  position:fixed; right:18px; bottom:18px;
  width:48px; height:48px; border-radius:18px;
  border:1px solid rgba(234,242,238,.14);
  background: rgba(6,17,12,.60);
  backdrop-filter: blur(10px);
  color:var(--text); cursor:pointer;
  box-shadow: 0 20px 70px rgba(0,0,0,.28);
  opacity:0; transform: translateY(10px); pointer-events:none;
  transition: opacity .2s ease, transform .2s ease, background .2s ease;
}
.back-to-top:hover{ background: rgba(234,242,238,.09); transform: translateY(6px); }
.back-to-top.is-visible{ opacity:1; transform: translateY(0); pointer-events:auto; }

/* Reveal */
.reveal{ opacity:0; transform: translateY(14px); transition: opacity .7s ease, transform .7s ease; }
.reveal.is-visible{ opacity:1; transform: translateY(0); }

/* Responsive */
@media (max-width: 980px){
  .header-cta{ display:none; }
  .nav-toggle{ display:inline-flex; align-items:center; justify-content:center; }
  .nav-menu{
    position:absolute; right:20px; top:72px;
    width: min(360px, calc(100vw - 40px));
    display:grid; gap:6px; padding:12px;
    border-radius:22px;
    border:1px solid rgba(234,242,238,.12);
    background: rgba(6,17,12,.86);
    box-shadow: var(--shadow);
    transform: scale(.98); opacity:0; pointer-events:none;
    transition: opacity .18s ease, transform .18s ease;
  }
  .nav-menu.is-open{ opacity:1; transform: scale(1); pointer-events:auto; }
  .nav-link{ padding:12px 12px; }

  .hero-grid{ grid-template-columns: 1fr; }
  .media-stack{ min-height:460px; }
  .section-head{ grid-template-columns: 1fr; }
  .tab-panel{ grid-template-columns: 1fr; }
  .services-grid{ grid-template-columns: 1fr 1fr; }
  .masonry{ grid-template-columns: 1fr; }
  .masonry-item--tall{ grid-row:auto; min-height:340px; }
  .pricing-grid{ grid-template-columns: 1fr; }
  .areas-grid{ grid-template-columns: 1fr; }
  .cta-grid{ grid-template-columns: 1fr; }

  .wordmark-mask--hero{ height: 120px; }
}

@media (max-width: 520px){
  .services-grid{ grid-template-columns: 1fr; }
  .hero-metrics{ grid-template-columns: 1fr; }
  .hero-title{ max-width: 100%; }
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce){
  html{ scroll-behavior:auto; }
  .reveal{ transition:none; transform:none; opacity:1; }
}
