:root {
  --ink: #050608;
  --ink-2: #0b0e12;
  --ink-3: #12161c;
  --paper: #ffffff;
  --paper-2: #f3f5f6;
  --line: rgba(255,255,255,.2);
  --dark-line: #d9dde1;
  --muted: #a9b0b8;
  --dark-muted: #5f6872;
  --green: #6dc35e;
  --green-2: #56a84b;
  --warning: #f6bd60;
  --danger: #ff6b6b;
  --radius: 2px;
  --header-h: 84px;
  --max: 1240px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; background: var(--ink); }
body {
  margin: 0;
  color: var(--paper);
  background: var(--ink);
  font-family: Arial, Helvetica, sans-serif;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
body.no-scroll { overflow: hidden; }
button, input, textarea, select { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
a { color: inherit; text-decoration: none; }
button { cursor: pointer; }
img { max-width: 100%; display: block; }

.sr-only { position:absolute!important; width:1px!important; height:1px!important; padding:0!important; margin:-1px!important; overflow:hidden!important; clip:rect(0,0,0,0)!important; white-space:nowrap!important; border:0!important; }

/* Header */
.site-header {
  position: fixed;
  inset: 0 0 auto 0;
  z-index: 100;
  height: var(--header-h);
  display: flex;
  align-items: center;
  transition: background .25s ease, border-color .25s ease, transform .25s ease;
  border-bottom: 1px solid transparent;
}
.site-header.solid { background: rgba(5,6,8,.96); border-bottom-color: rgba(255,255,255,.08); backdrop-filter: blur(14px); }
.header-inner {
  width: min(calc(100% - 48px), 1440px);
  margin: 0 auto;
  display: flex;
  align-items: center;
  gap: 30px;
}
.wordmark {
  display: flex;
  align-items: center;
  gap: 11px;
  min-width: 220px;
  font-weight: 800;
  letter-spacing: -.04em;
  font-size: 21px;
  line-height: 1;
}
.wordmark-mark { width: 42px; height: 42px; object-fit: cover; border-radius: 9px; background:#000; }
.wordmark small { display:block; font-size: 8px; letter-spacing: .24em; margin-top: 5px; font-weight: 700; opacity: .75; }
.main-nav { display:flex; align-items:center; gap:22px; margin-left:auto; }
.main-nav a, .header-action {
  border: 0;
  background: transparent;
  color: #fff;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .055em;
  text-transform: uppercase;
  padding: 11px 0;
  position: relative;
  white-space: nowrap;
}
.main-nav a::after, .header-action::after {
  content:"";
  position:absolute;
  left:0; right:100%; bottom:6px;
  height:1px; background:#fff;
  transition:right .2s ease;
}
.main-nav a:hover::after, .header-action:hover::after { right:0; }
.header-actions { display:flex; align-items:center; gap:18px; margin-left:10px; }
.menu-button { display:none; width:38px; height:38px; border:0; background:transparent; color:white; padding:8px; }
.menu-button span { display:block; height:1px; background:currentColor; margin:5px 0; }
.mobile-menu {
  position: fixed; z-index: 99; inset:0; padding:110px 28px 40px; background:#050608;
  display:none; overflow-y:auto;
}
.mobile-menu.open { display:block; }
.mobile-menu a { display:block; padding:17px 0; border-bottom:1px solid rgba(255,255,255,.15); text-transform:uppercase; font-size:16px; font-weight:700; letter-spacing:.04em; }
.mobile-menu .mobile-menu-actions { margin-top:28px; display:grid; gap:12px; }

/* Buttons */
.btn {
  min-height: 48px;
  border: 1px solid currentColor;
  border-radius: var(--radius);
  background: transparent;
  color: inherit;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  padding: 0 25px;
  text-transform: uppercase;
  letter-spacing:.07em;
  font-size: 11px;
  font-weight: 800;
  transition: color .18s ease, background .18s ease, border-color .18s ease, transform .18s ease;
}
.btn:hover { background:#fff; color:#050608; border-color:#fff; }
.btn:active { transform: translateY(1px); }
.btn.primary { background:#fff; color:#050608; border-color:#fff; }
.btn.primary:hover { background:var(--green); border-color:var(--green); }
.btn.green { background:var(--green); border-color:var(--green); color:#04120d; }
.btn.green:hover { background:#fff; border-color:#fff; }
.btn.dark { background:#050608; border-color:#050608; color:#fff; }
.btn.dark:hover { background:#1a2028; border-color:#1a2028; }
.btn.ghost-dark { color:#111; border-color:#111; }
.btn.ghost-dark:hover { color:#fff; background:#111; }
.btn.small { min-height:38px; padding:0 16px; font-size:10px; }
.btn.block { width:100%; }
.btn.danger { color:#ff7b7b; border-color:rgba(255,123,123,.65); }
.btn.danger:hover { background:#ff6b6b; color:#fff; border-color:#ff6b6b; }
.link-button { border:0; padding:0; background:transparent; text-decoration:underline; color:inherit; }

/* SpaceX-inspired full-bleed landing composition */
.home { background:#050608; }
.hero-panel {
  position:relative;
  min-height:100vh;
  display:flex;
  align-items:flex-end;
  overflow:hidden;
  isolation:isolate;
  border-bottom:1px solid rgba(255,255,255,.06);
}
.panel-bg { position:absolute; inset:0; z-index:-3; background:#0a0d10; }
.panel-bg::before, .panel-bg::after { content:""; position:absolute; inset:0; }
.panel-bg::after { background:linear-gradient(90deg, rgba(2,4,6,.76) 0%, rgba(2,4,6,.34) 47%, rgba(2,4,6,.14) 72%), linear-gradient(0deg, rgba(2,4,6,.65) 0%, rgba(2,4,6,0) 48%); }
.hero-main .panel-bg {
  background:
    radial-gradient(circle at 77% 28%, rgba(109,195,94,.18), transparent 28%),
    linear-gradient(115deg, #050505 0%, #101611 48%, #142016 70%, #071007 100%);
}
.hero-main .panel-bg::before {
  background:
    linear-gradient(118deg, transparent 0 59%, rgba(255,255,255,.04) 59.2% 59.45%, transparent 59.7%),
     linear-gradient(72deg, transparent 0 64%, rgba(109,195,94,.14) 64.1% 64.3%, transparent 64.5%);
  transform:scale(1.15);
}
.hero-main .city-grid { position:absolute; inset:auto 0 0 48%; height:67%; opacity:.62; z-index:-2; }
.city-grid::before {
  content:""; position:absolute; inset:0;
  background:
    linear-gradient(90deg, transparent 0 7%, rgba(255,255,255,.08) 7.2% 7.7%, transparent 8% 17%, rgba(255,255,255,.05) 17.2% 17.7%, transparent 18% 31%, rgba(255,255,255,.07) 31.2% 31.8%, transparent 32% 45%, rgba(255,255,255,.04) 45.2% 45.7%, transparent 46%),
    linear-gradient(0deg, rgba(4,7,8,.9), transparent 36%),
    repeating-linear-gradient(0deg, transparent 0 40px, rgba(255,255,255,.035) 41px, transparent 42px);
  clip-path: polygon(0 100%, 4% 64%, 9% 64%, 9% 44%, 16% 44%, 16% 69%, 22% 69%, 22% 31%, 29% 31%, 29% 58%, 35% 58%, 35% 16%, 44% 16%, 44% 56%, 51% 56%, 51% 36%, 58% 36%, 58% 69%, 64% 69%, 64% 24%, 71% 24%, 71% 49%, 78% 49%, 78% 10%, 85% 10%, 85% 62%, 91% 62%, 91% 39%, 97% 39%, 97% 74%, 100% 74%, 100% 100%);
  background-color:rgba(16,27,31,.6);
}
.panel-survey .panel-bg { background:radial-gradient(circle at 22% 34%, rgba(35,144,255,.21), transparent 30%), linear-gradient(120deg,#071018 0%,#0b151d 46%,#0d1117 100%); }
.panel-survey .panel-bg::before { background:repeating-radial-gradient(circle at 77% 44%, rgba(255,255,255,.09) 0 1px, transparent 1px 42px); opacity:.42; }
.panel-member .panel-bg { background:radial-gradient(circle at 78% 34%, rgba(109,195,94,.19), transparent 33%), linear-gradient(120deg,#080d08 0%,#111c12 57%,#081008 100%); }
.panel-member .panel-bg::before { background:linear-gradient(90deg, transparent 51%, rgba(255,255,255,.06) 51.2%, transparent 51.4%), linear-gradient(0deg, transparent 61%, rgba(255,255,255,.04) 61.2%, transparent 61.4%); }
.panel-environment .panel-bg { background:radial-gradient(circle at 70% 30%, rgba(88,176,255,.18), transparent 30%), linear-gradient(145deg,#0d1218,#10191d 44%,#091112); }
.panel-environment .panel-bg::before { background:linear-gradient(35deg, transparent 0 55%, rgba(255,255,255,.05) 55.2% 55.5%, transparent 55.7%), linear-gradient(150deg, transparent 0 65%, rgba(109,195,94,.1) 65.2% 65.5%, transparent 65.7%); }
.hero-content {
  width:min(calc(100% - 48px), var(--max));
  margin:0 auto;
  padding: 0 0 10vh;
  position:relative;
  z-index:2;
}
.hero-copy { max-width: 720px; }
.eyebrow { margin:0 0 12px; text-transform:uppercase; font-size:17px; line-height:1.25; letter-spacing:.02em; font-weight:500; }
.display { margin:0; font-size:clamp(44px,6.3vw,88px); line-height:.92; letter-spacing:-.05em; text-transform:uppercase; font-weight:800; }
.display.small { font-size:clamp(38px,5vw,68px); }
.hero-copy p:not(.eyebrow) { max-width:640px; margin:19px 0 0; color:#d9dee1; line-height:1.55; font-size:15px; }
.hero-actions { display:flex; gap:12px; flex-wrap:wrap; margin-top:31px; }
.scroll-cue { position:absolute; left:50%; bottom:24px; width:20px; height:32px; transform:translateX(-50%); opacity:.8; }
.scroll-cue::before, .scroll-cue::after { content:""; position:absolute; width:1px; height:15px; background:#fff; bottom:0; }
.scroll-cue::before { left:5px; transform:rotate(-35deg); transform-origin:bottom; }
.scroll-cue::after { right:5px; transform:rotate(35deg); transform-origin:bottom; }

.metric-strip { background:#fff; color:#060708; display:grid; grid-template-columns:repeat(4,1fr); }
.metric { padding:34px clamp(20px,4vw,62px); border-right:1px solid #e3e6e9; }
.metric:last-child { border-right:0; }
.metric strong { display:block; font-size:clamp(28px,3.2vw,48px); letter-spacing:-.05em; }
.metric span { display:block; margin-top:7px; font-size:11px; text-transform:uppercase; letter-spacing:.1em; color:#59616b; }

/* Partner logo conveyor */
.partner-section { background:#070a08; color:#fff; padding:78px 0 52px; overflow:hidden; border-top:1px solid rgba(255,255,255,.08); border-bottom:1px solid rgba(255,255,255,.08); }
.partner-section .section-inner { padding:0 24px; }
.partner-section .section-kicker { color:var(--green); }
.partner-marquee { margin-top:44px; overflow:hidden; position:relative; }
.partner-marquee::before, .partner-marquee::after { content:""; position:absolute; z-index:2; top:0; bottom:0; width:12vw; pointer-events:none; }
.partner-marquee::before { left:0; background:linear-gradient(90deg,#070a08,transparent); }
.partner-marquee::after { right:0; background:linear-gradient(270deg,#070a08,transparent); }
.partner-track { display:flex; width:max-content; animation:partner-conveyor 42s ease-in-out infinite alternate; }
.partner-marquee:hover .partner-track, .partner-marquee:focus-within .partner-track { animation-play-state:paused; }
.partner-card { width:220px; height:126px; margin-right:0; padding:0 28px; display:grid; place-items:center; background:transparent; border:0; border-right:1px solid rgba(255,255,255,.14); color:#111; transition:transform .18s ease, opacity .18s ease; }
.partner-card:first-child { border-left:1px solid rgba(255,255,255,.14); }
.partner-card:hover { transform:translateY(-4px); opacity:.82; }
.partner-mark { width:100%; height:92px; padding:12px 18px; display:grid; place-items:center; overflow:hidden; background:#fff; border-radius:2px; }
.partner-mark img { display:block; width:auto; height:auto; max-width:154px; max-height:68px; min-width:0; min-height:0; object-fit:contain; image-rendering:auto; }
@keyframes partner-conveyor { to { transform:translateX(min(0px, calc(-100% + 100vw))); } }

/* Unsplash editorial photo row */
.photo-section { background:#fff; color:#090b0d; padding:88px 24px 84px; }
.photo-section-head { display:flex; justify-content:space-between; align-items:flex-end; gap:35px; }
.photo-section-head .section-intro { max-width:410px; margin:0; }
.photo-grid { width:min(100%,var(--max)); margin:42px auto 0; display:grid; grid-template-columns:1.15fr .85fr .85fr; gap:14px; }
.photo-card { margin:0; min-height:370px; position:relative; overflow:hidden; background:#dfe8df; }
.photo-card img { width:100%; height:100%; min-height:370px; object-fit:cover; filter:saturate(.78) contrast(1.04); transition:transform .7s cubic-bezier(.2,.8,.2,1), filter .3s ease; }
.photo-card:first-child { min-height:470px; }
.photo-card:first-child img { min-height:470px; }
.photo-card:hover img { transform:scale(1.045); filter:saturate(1) contrast(1.04); }
.photo-card::after { content:""; position:absolute; inset:35% 0 0; background:linear-gradient(transparent,rgba(0,0,0,.72)); pointer-events:none; }
.photo-card figcaption { position:absolute; z-index:1; left:22px; right:18px; bottom:20px; color:#fff; font-size:15px; font-weight:700; letter-spacing:-.02em; }
.photo-card figcaption span { float:right; color:var(--green); font-size:19px; }

/* Public interior pages */
.page { min-height:100vh; background:#fff; color:#090b0d; }
.page-hero { min-height:54vh; padding:calc(var(--header-h) + 70px) 24px 70px; display:flex; align-items:flex-end; background:radial-gradient(circle at 78% 34%, rgba(109,195,94,.16), transparent 28%), linear-gradient(125deg,#050505,#111b12 62%,#081108); color:#fff; }
.page-hero-inner, .section-inner { width:min(100%, var(--max)); margin:0 auto; }
.page-hero .lede { max-width:720px; color:#cdd3d8; font-size:17px; line-height:1.65; margin:20px 0 0; }
.content-section { padding:74px 24px; }
.content-section.alt { background:#f3f5f6; }
.content-section.dark { background:#090b0d; color:#fff; }
.section-kicker { text-transform:uppercase; letter-spacing:.12em; font-size:10px; font-weight:800; color:#5b6670; margin:0 0 12px; }
.dark .section-kicker { color:#a9b0b8; }
.section-title { font-size:clamp(32px,4vw,54px); line-height:1; letter-spacing:-.045em; margin:0; }
.section-intro { max-width:720px; color:#606a74; line-height:1.7; margin:18px 0 0; }
.dark .section-intro { color:#b7bec5; }
.service-groups { margin-top:42px; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); border-top:1px solid #d8dde0; }
.service-group { padding:32px 30px 32px 0; border-bottom:1px solid #d8dde0; }
.service-group:nth-child(even) { padding-left:30px; border-left:1px solid #d8dde0; }
.service-group h3 { margin:0 0 18px; font-size:20px; }
.service-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 20px; }
.service-item { padding:11px 0; border-top:1px solid #e7eaec; font-size:14px; color:#30363c; }
.location-grid, .resource-grid { margin-top:38px; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.location-card, .resource-card { border:1px solid #d9dde1; min-height:260px; padding:28px; display:flex; flex-direction:column; background:#fff; }
.location-card h3, .resource-card h3 { font-size:22px; margin:0; letter-spacing:-.03em; }
.location-card .area, .resource-card .category { font-size:10px; text-transform:uppercase; letter-spacing:.12em; font-weight:800; color:#6b747c; margin-bottom:13px; }
.location-card p, .resource-card p { color:#626c75; line-height:1.6; font-size:14px; }
.card-meta { margin-top:auto; padding-top:20px; font-size:12px; color:#30363c; }
.card-meta div + div { margin-top:7px; }
.tag-row { display:flex; gap:7px; flex-wrap:wrap; margin-top:18px; }
.tag { padding:6px 8px; border:1px solid #d9dde1; font-size:10px; color:#4f5962; }

/* Pricing */
.pricing-page { min-height:100vh; padding:calc(var(--header-h) + 80px) 24px 90px; background:radial-gradient(circle at 80% 15%, rgba(109,195,94,.16), transparent 22%), #050505; }
.pricing-head { width:min(100%,var(--max)); margin:0 auto 42px; }
.pricing-head p { max-width:690px; color:#aeb6bd; line-height:1.7; }
.checkout-trust { display:flex; align-items:center; gap:9px; margin-top:24px; color:#cbd3ce; text-transform:uppercase; letter-spacing:.11em; font-size:10px; font-weight:800; }
.checkout-page { min-height:100vh; padding:calc(var(--header-h) + 54px) 24px 80px; background:radial-gradient(circle at 70% 12%,rgba(109,195,94,.15),transparent 25%),#050608; }
.checkout-page-inner { width:min(100%,1100px); margin:0 auto; display:grid; grid-template-columns:minmax(260px,.85fr) minmax(420px,1.15fr); gap:54px; align-items:start; }
.checkout-back { display:inline-block; color:#aeb8b1; font-size:11px; margin-bottom:50px; }
.checkout-back:hover { color:#fff; }
.checkout-summary .display { max-width:460px; }
.checkout-lede { max-width:480px; color:#abb5bd; line-height:1.7; }
.checkout-plan-summary { margin-top:38px; padding:25px; border:1px solid rgba(255,255,255,.16); background:#0e1318; }
.checkout-plan-summary h2 { margin:10px 0 10px; font-size:20px; }
.checkout-plan-summary > strong { display:block; color:var(--green); font-size:25px; }
.checkout-plan-summary p { color:#9da7af; font-size:12px; line-height:1.55; }
.checkout-plan-summary ul { margin:20px 0 0; padding:17px 0 0 18px; border-top:1px solid rgba(255,255,255,.1); color:#dce3df; font-size:11px; line-height:1.9; }
.checkout-total { display:flex; justify-content:space-between; align-items:center; gap:14px; margin-top:20px; padding-top:17px; border-top:1px solid rgba(255,255,255,.1); color:#9da7af; font-size:10px; text-transform:uppercase; letter-spacing:.1em; }
.checkout-total strong { color:#fff; font-size:18px; letter-spacing:0; }
.checkout-privacy { color:#73808a; font-size:10px; line-height:1.6; max-width:420px; margin-top:22px; }
.checkout-form-shell { background:#fff; color:#0a0c0e; padding:28px; min-height:620px; border:1px solid #d9dde1; box-shadow:0 24px 70px rgba(0,0,0,.28); }
.checkout-form-head { display:flex; justify-content:space-between; gap:12px; margin-bottom:20px; }
.checkout-form-head .section-kicker { color:#0b855e; }
.checkout-lock { color:#6a737b; font-size:10px; text-transform:uppercase; letter-spacing:.08em; }
.checkout-loading, .checkout-error { padding:30px 0; color:#6a737b; font-size:13px; }
.checkout-test-note { margin-top:16px; padding:11px 12px; border-left:3px solid #6dc35e; background:#f0f8f2; color:#42604e; font-size:11px; line-height:1.5; }
.payment-errors { color:#b42318; font-size:12px; min-height:20px; margin:12px 0; }
.checkout-submit { width:100%; margin-top:8px; }
.checkout-error strong { display:block; color:#0a0c0e; font-size:18px; margin-bottom:8px; }
.checkout-error p { margin-bottom:20px; }
.checkout-dot { width:7px; height:7px; border-radius:50%; background:var(--green); box-shadow:0 0 0 5px rgba(109,195,94,.12); }
.price-grid { width:min(100%,var(--max)); margin:0 auto; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1px; background:rgba(255,255,255,.18); border:1px solid rgba(255,255,255,.18); }
.price-card { background:#0b0e12; padding:34px 30px; display:flex; flex-direction:column; min-height:540px; position:relative; }
.price-card.featured::before { content:"MOST FLEXIBLE"; position:absolute; top:0; left:0; right:0; padding:8px 12px; background:var(--green); color:#06130e; font-size:9px; font-weight:900; letter-spacing:.12em; text-align:center; }
.price-card.featured { padding-top:52px; }
.price-card .plan-name { font-size:12px; text-transform:uppercase; letter-spacing:.12em; color:#b7bec5; font-weight:800; }
.price-card .price { font-size:38px; letter-spacing:-.04em; margin:13px 0 10px; font-weight:800; }
.price-card .plan-description { color:#aeb5bc; line-height:1.6; min-height:74px; font-size:14px; }
.price-features { list-style:none; margin:26px 0 30px; padding:0; }
.price-features li { border-top:1px solid rgba(255,255,255,.12); padding:13px 0 13px 24px; position:relative; font-size:13px; color:#dce1e4; line-height:1.4; }
.price-features li::before { content:"✓"; position:absolute; left:0; color:var(--green); font-weight:800; }
.price-card .btn { margin-top:auto; }
.plan-disclaimer { margin:13px 0 0; color:#8f989f; font-size:10px; line-height:1.55; }
.pricing-note { width:min(100%,var(--max)); margin:24px auto 0; color:#8d969d; font-size:11px; line-height:1.6; }

/* Auth */
.auth-page { min-height:100vh; display:grid; grid-template-columns:1.05fr .95fr; background:#fff; color:#080a0c; }
.auth-visual { min-height:100vh; padding:calc(var(--header-h) + 74px) clamp(34px,6vw,92px) 70px; color:#fff; display:flex; flex-direction:column; justify-content:flex-end; background:radial-gradient(circle at 70% 28%,rgba(109,195,94,.22),transparent 27%),linear-gradient(145deg,#050805,#0c170d 52%,#060906); }
.auth-visual p { max-width:600px; color:#c8d0d4; line-height:1.65; }
.auth-form-wrap { min-height:100vh; display:flex; align-items:center; justify-content:center; padding:120px 28px 60px; }
.auth-card { width:min(100%,480px); }
.auth-card h1 { font-size:40px; margin:0; letter-spacing:-.04em; }
.auth-card > p { color:#67717a; line-height:1.6; }
.auth-tabs { display:flex; border-bottom:1px solid #d9dde1; margin:28px 0; }
.auth-tabs button { flex:1; background:transparent; border:0; border-bottom:2px solid transparent; padding:13px 10px; text-transform:uppercase; font-size:10px; font-weight:800; letter-spacing:.1em; color:#7a838b; }
.auth-tabs button.active { border-bottom-color:#090b0d; color:#090b0d; }
.form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:15px; }
.field { display:flex; flex-direction:column; gap:7px; }
.field.full { grid-column:1/-1; }
.field label { font-size:11px; font-weight:800; text-transform:uppercase; letter-spacing:.08em; color:#4e5760; }
.field input, .field textarea, .field select, .admin-field input, .admin-field textarea, .admin-field select {
  width:100%; border:1px solid #cfd5d9; background:#fff; color:#0a0c0e; border-radius:1px; min-height:48px; padding:12px 13px; outline:none; transition:border-color .16s ease, box-shadow .16s ease;
}
.field textarea, .admin-field textarea { min-height:110px; resize:vertical; line-height:1.5; }
.field input:focus, .field textarea:focus, .field select:focus, .admin-field input:focus, .admin-field textarea:focus, .admin-field select:focus { border-color:#101418; box-shadow:0 0 0 2px rgba(109,195,94,.22); }
.field-hint { font-size:11px; color:#7a838b; line-height:1.45; }
.auth-submit { margin-top:20px; }
.auth-meta { margin-top:18px; font-size:11px; color:#7a838b; line-height:1.6; }

/* Member workspace */
.workspace { min-height:100vh; padding-top:var(--header-h); background:#f1f3f4; color:#111519; display:grid; grid-template-columns:250px minmax(0,1fr); }
.workspace-header { background:#0b0e12 !important; border-bottom:1px solid #273038 !important; color:#fff; box-shadow:0 2px 8px rgba(0,0,0,.12); }
.workspace-header::after { content:""; position:absolute; left:0; right:0; bottom:-1px; height:2px; background:linear-gradient(90deg,var(--green),rgba(109,195,94,.1) 42%,transparent 78%); }
.workspace-header-inner { width:min(calc(100% - 56px), 1440px); height:100%; margin:0 auto; display:flex; align-items:center; justify-content:space-between; gap:24px; }
.workspace-header-brand { display:flex; align-items:center; gap:10px; color:#fff; font-size:17px; font-weight:800; letter-spacing:-.04em; }
.workspace-header-brand img { width:40px; height:40px; object-fit:cover; border-radius:8px; }
.workspace-header-brand small { display:block; margin-top:3px; color:#8d989f; font-size:7px; letter-spacing:.2em; }
.workspace-header-actions { display:flex; align-items:center; gap:17px; color:#aab3b9; font-size:11px; }
.workspace-header-actions button { border:0; background:transparent; color:#d7dde0; font-size:11px; padding:8px 0; }
.workspace-header-actions button:hover { color:var(--green); }
.workspace-header-divider { width:1px; height:20px; background:#4a555d; }
.workspace-header-user { color:#fff; font-weight:600; }
.workspace-header-context { color:#98a3aa; }
.workspace-header-account { font-weight:700; }
.workspace-sidebar { background:#0b0e12; color:#fff; padding:34px 20px; min-height:calc(100vh - var(--header-h)); position:sticky; top:var(--header-h); align-self:start; }
.workspace-brand, .admin-brand { display:flex; align-items:center; gap:11px; margin:0 9px 30px; color:#fff; font-size:16px; font-weight:800; letter-spacing:-.04em; }
.workspace-brand img, .admin-brand img { width:46px; height:46px; object-fit:cover; border-radius:9px; }
.workspace-brand small, .admin-brand small { display:block; margin-top:4px; color:#8d979e; font-size:7px; letter-spacing:.2em; }
.member-block { padding:0 9px 24px; border-bottom:1px solid rgba(255,255,255,.12); margin-bottom:20px; }
.member-block .avatar { width:46px; height:46px; border:1px solid rgba(255,255,255,.35); display:grid; place-items:center; font-weight:800; margin-bottom:13px; }
.member-block strong { display:block; font-size:14px; }
.member-block span { display:block; font-size:11px; color:#9ca5ad; margin-top:4px; overflow:hidden; text-overflow:ellipsis; }
.workspace-nav button { width:100%; border:0; background:transparent; color:#c9d0d5; text-align:left; min-height:43px; padding:0 10px; font-size:12px; display:flex; align-items:center; justify-content:space-between; }
.workspace-nav button.active, .workspace-nav button:hover { background:#171c22; color:#fff; }
.workspace-nav .badge { border-radius:100px; min-width:22px; height:20px; padding:0 6px; display:grid; place-items:center; background:#253039; font-size:9px; }
.workspace-main { padding:38px clamp(22px,4vw,58px) 70px; min-width:0; }
.workspace-utility { display:flex; justify-content:space-between; align-items:center; gap:18px; padding-bottom:18px; margin-bottom:26px; border-bottom:1px solid #dfe3e5; color:#6d767e; font-size:11px; }
.workspace-utility > div { display:flex; align-items:center; gap:9px; }
.utility-label { color:#182027; font-weight:800; }
.utility-divider { color:#b3bac0; }
.utility-status { display:inline-flex; align-items:center; gap:7px; color:#34745f; font-size:10px; font-weight:800; text-transform:uppercase; letter-spacing:.08em; }
.utility-status i { width:7px; height:7px; border-radius:50%; background:#47b985; }
.workspace-head { display:flex; justify-content:space-between; gap:20px; align-items:flex-start; margin-bottom:28px; }
.workspace-head h1 { margin:0; font-size:36px; letter-spacing:-.04em; }
.workspace-head p { margin:7px 0 0; color:#6c757e; font-size:13px; }
.workspace-grid { display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); gap:16px; }
.ws-card { background:#fff; border:1px solid #d9dde1; padding:24px; grid-column:span 6; }
.ws-card.full { grid-column:1/-1; }
.ws-card.third { grid-column:span 4; }
.ws-card h2 { margin:0; font-size:19px; letter-spacing:-.02em; }
.ws-card .card-sub { margin:7px 0 0; color:#707982; font-size:12px; line-height:1.5; }
.plan-status { display:flex; justify-content:space-between; gap:16px; align-items:flex-start; }
.status-pill { display:inline-flex; align-items:center; gap:6px; padding:6px 9px; font-size:9px; font-weight:900; text-transform:uppercase; letter-spacing:.1em; background:#e9f9f1; color:#0d6e4c; }
.status-pill.locked { background:#f0f2f3; color:#65707a; }
.list-rows { margin-top:18px; border-top:1px solid #e2e5e8; }
.list-row { padding:16px 0; display:flex; align-items:center; justify-content:space-between; gap:14px; border-bottom:1px solid #e2e5e8; }
.list-row-main { min-width:0; }
.list-row strong { font-size:13px; }
.list-row p { margin:5px 0 0; color:#717a82; font-size:11px; line-height:1.45; }
.score-badge { font-weight:800; font-size:13px; white-space:nowrap; }
.resource-mini-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin-top:18px; }
.resource-mini { border:1px solid #e0e4e6; padding:16px; }
.resource-mini .category { font-size:9px; text-transform:uppercase; letter-spacing:.1em; color:#78818a; font-weight:800; }
.resource-mini strong { display:block; margin-top:8px; font-size:13px; }
.resource-mini p { font-size:11px; color:#69737b; line-height:1.5; margin-bottom:0; }
.empty-state { padding:28px 0; color:#7b858d; font-size:13px; line-height:1.6; }
.workspace-kpis { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin-bottom:16px; }
.workspace-kpi { min-height:116px; padding:18px 20px; background:#fff; border:1px solid #d9dde1; border-top:3px solid #aeb8bd; }
.workspace-kpi:first-child { border-top-color:var(--green-2); }
.workspace-kpi span { display:block; color:#68737b; font-size:9px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.workspace-kpi strong { display:block; margin-top:12px; color:#10171b; font-size:22px; letter-spacing:-.035em; }
.workspace-kpi small { display:block; margin-top:6px; color:#7a858d; font-size:11px; }
.workspace-task-card { margin-bottom:16px; }
.workspace-panel-heading { display:flex; justify-content:space-between; align-items:flex-start; gap:14px; }
.workspace-count { padding:5px 8px; background:#eef6f1; color:#267458; font-size:9px; font-weight:800; text-transform:uppercase; letter-spacing:.08em; white-space:nowrap; }
.workspace-card-action { margin-top:20px; padding-top:16px; border-top:1px solid #e2e5e8; }

.workspace-sidebar::before { display:none; }
.workspace-nav { border-top:1px solid rgba(255,255,255,.1); padding-top:10px; }
.workspace-nav button { border-radius:3px; }
.workspace-nav button.active { box-shadow:inset 3px 0 var(--green); }
.ws-card { border-radius:3px; box-shadow:0 1px 2px rgba(13,24,29,.03); }

/* Member portal layout: compact, neutral, enterprise-style panels. */
.workspace { display:block; background:#eef0f2; }
.workspace-sidebar { display:none; }
.workspace-main { width:min(100%, 1280px); margin:0 auto; padding:18px 18px 64px; }
.workspace-utility { min-height:30px; margin-bottom:12px; padding:0 2px 10px; border-bottom:0; }
.workspace-head { margin:0 0 14px; padding:0 2px; }
.workspace-head h1 { font-size:22px; letter-spacing:-.025em; font-weight:700; }
.workspace-head p { margin-top:5px; color:#6c757e; font-size:11px; }
.workspace-kpis { display:none; }
.reference-panel { margin:0 0 14px; padding:16px 18px; border:1px solid #dfe2e5; border-radius:4px; box-shadow:0 1px 3px rgba(22,31,36,.04); }
.reference-panel-head { display:flex; justify-content:space-between; align-items:flex-start; gap:18px; }
.reference-panel h2 { font-size:14px; font-weight:700; letter-spacing:0; }
.reference-panel .card-sub { margin-top:6px; font-size:11px; }
.reference-tabs { display:flex; gap:4px; margin-top:15px; border-bottom:1px solid #dfe3e5; }
.reference-tabs button { border:0; border-bottom:2px solid transparent; background:transparent; color:#6e7a82; padding:9px 13px 10px; font-size:10px; font-weight:700; }
.reference-tabs button:hover { color:#182229; background:#f5f7f8; }
.reference-tabs button.active { border-bottom-color:#237eaa; color:#176b9f; background:#f2f7fa; }
.reference-panel .list-rows { margin-top:0; border-top:0; }
.reference-panel .list-row { min-height:58px; padding:12px 2px; }
.reference-panel .list-row strong { font-size:12px; }
.reference-panel .list-row p { font-size:10px; }
.reference-table { margin-top:16px; border-top:1px solid #e2e5e7; }
.reference-table-row { display:grid; grid-template-columns:1.25fr .8fr 2fr .8fr; gap:16px; align-items:center; min-height:54px; padding:10px 8px; border-bottom:1px solid #e5e8ea; color:#5f6b73; font-size:11px; }
.reference-table-row strong { color:#2378a8; font-size:11px; }
.reference-table-header { min-height:34px; color:#77828a; font-size:9px; font-weight:800; text-transform:uppercase; letter-spacing:.08em; }
.reference-table .status-pill { width:max-content; }
.reference-table .btn { justify-self:end; }
.welcome-panel { display:flex; justify-content:space-between; gap:32px; min-height:190px; }
.welcome-panel-copy { max-width:760px; }
.welcome-panel h2 { margin-top:2px; font-size:18px; }
.welcome-panel p:not(.section-kicker) { max-width:760px; margin:12px 0 18px; color:#65717a; font-size:11px; line-height:1.65; }
.welcome-panel img { width:108px; height:108px; object-fit:cover; border-radius:10px; align-self:center; }
.workspace-card-action { border-top:0; padding-top:12px; }
.workspace-header { height:58px !important; }
.workspace-header-inner { width:min(calc(100% - 36px), 1280px); }
.workspace-header-brand img { width:40px; height:40px; }
.workspace-header-context { color:#78838a; font-size:10px; }

/* Survey course-style runner */
.survey-shell { min-height:100vh; padding-top:var(--header-h); background:#f4f5f6; color:#0c0e10; }
.survey-top { background:#0a0d10; color:#fff; padding:30px 24px; }
.survey-top-inner { width:min(100%,1050px); margin:0 auto; display:flex; justify-content:space-between; gap:24px; align-items:flex-end; }
.survey-top h1 { margin:0; font-size:28px; letter-spacing:-.035em; }
.survey-top p { margin:7px 0 0; color:#aeb7bd; font-size:12px; }
.survey-progress { min-width:230px; }
.progress-meta { display:flex; justify-content:space-between; color:#aeb7bd; font-size:10px; margin-bottom:8px; }
.progress-track { height:3px; background:#30363d; }
.progress-track span { display:block; height:100%; background:var(--green); }
.survey-layout { width:min(100%,1050px); margin:0 auto; padding:34px 24px 70px; display:grid; grid-template-columns:minmax(0,1fr) 260px; gap:22px; }
.survey-card { background:#fff; border:1px solid #d9dde1; padding:32px; }
.survey-video { aspect-ratio:16/9; background:#11171b; margin-bottom:24px; overflow:hidden; }
.survey-video iframe { width:100%; height:100%; border:0; }
.survey-question-num { font-size:10px; text-transform:uppercase; font-weight:900; letter-spacing:.11em; color:#66717a; }
.survey-question h2 { font-size:26px; line-height:1.2; letter-spacing:-.03em; margin:11px 0 0; }
.survey-question .help { color:#6c757e; line-height:1.55; font-size:12px; margin:10px 0 0; }
.option-list { display:grid; gap:10px; margin-top:27px; }
.option { border:1px solid #d6dade; min-height:58px; padding:13px 14px; display:flex; gap:13px; align-items:center; cursor:pointer; transition:border-color .15s ease, background .15s ease; }
.option:hover { border-color:#808a92; }
.option.selected { border-color:#101418; background:#f0f8f4; }
.option input { width:17px; height:17px; accent-color:#0f8d63; }
.free-answer { width:100%; min-height:170px; border:1px solid #cfd5d9; padding:14px; margin-top:24px; resize:vertical; outline:none; }
.free-answer:focus { border-color:#101418; box-shadow:0 0 0 2px rgba(109,195,94,.22); }
.survey-actions { display:flex; justify-content:space-between; gap:12px; margin-top:28px; padding-top:22px; border-top:1px solid #e1e4e6; }
.survey-side { align-self:start; position:sticky; top:calc(var(--header-h) + 20px); }
.side-note { background:#fff; border:1px solid #d9dde1; padding:20px; }
.side-note + .side-note { margin-top:12px; }
.side-note strong { font-size:12px; }
.side-note p { font-size:11px; line-height:1.55; color:#6f7880; }
.result-card { background:#fff; border:1px solid #d9dde1; padding:42px; max-width:820px; margin:0 auto; }
.result-label { font-size:11px; text-transform:uppercase; letter-spacing:.12em; font-weight:900; color:#0b855e; }
.result-card h1 { font-size:42px; letter-spacing:-.045em; line-height:1.03; margin:14px 0; }
.result-card .result-message { color:#59636b; line-height:1.7; max-width:680px; }
.certificate-kicker { color:#6d757d; font-size:10px; font-weight:900; letter-spacing:.16em; margin:0 0 8px; }
.certificate-meta { color:#66717a; font-size:12px; letter-spacing:.02em; margin:0 0 4px; }
.certificate-heading { display:flex; justify-content:space-between; gap:25px; align-items:flex-start; padding-bottom:22px; border-bottom:1px solid #dfe5e2; }
.certificate-heading h1 { margin:6px 0 7px; font-size:31px; letter-spacing:-.04em; }
.certificate-assessment { margin:0; color:#4d5a54; font-size:15px; font-weight:600; }
.certificate-seal { display:grid; place-items:center; width:68px; height:68px; flex:0 0 68px; border:2px solid #7fb88e; border-radius:50%; color:#176b4c; font-size:24px; font-weight:900; line-height:.7; text-align:center; }
.certificate-seal small { font-size:6px; letter-spacing:.12em; }
.certificate-recipient { padding:20px 0 4px; }
.certificate-recipient span, .certificate-outcome > span { display:block; color:#727e78; font-size:9px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.certificate-recipient strong { display:block; margin-top:6px; color:#17221c; font-size:19px; }
.certificate-recipient p { margin:6px 0 0; color:#67736c; font-size:11px; }
.certificate-outcome { margin-top:24px; padding:17px 18px; border-left:3px solid #198c61; background:#f4f8f5; }
.certificate-outcome strong { display:block; margin-top:6px; color:#19271f; font-size:16px; }
.certificate-outcome p { margin:8px 0 0; color:#55635b; font-size:12px; line-height:1.65; }
.certificate-record-grid { display:grid; grid-template-columns:1.4fr 1fr 1fr; gap:1px; margin:22px 0 8px; background:#dfe5e2; border:1px solid #dfe5e2; }
.certificate-record-grid > div { display:flex; flex-direction:column; gap:5px; padding:12px 13px; background:#f4f7f5; }
.certificate-record-grid span { color:#738079; font-size:9px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.certificate-record-grid strong { color:#16211b; font-size:11px; font-weight:700; word-break:break-word; }
.certificate-validity { margin-top:22px; padding:14px 16px; border-left:3px solid #198c61; background:#f1f7f3; }
.certificate-validity strong { display:block; color:#176b4c; font-size:10px; letter-spacing:.1em; text-transform:uppercase; }
.certificate-validity p { margin:6px 0 0; color:#4d5d55; font-size:11px; line-height:1.55; }
.certificate-partners { margin-top:22px; padding-top:16px; border-top:1px solid #e1e5e3; }
.certificate-partners p { margin:0 0 10px; color:#6f7b75; font-size:9px; font-weight:800; letter-spacing:.11em; text-transform:uppercase; }
.certificate-partners > div { display:flex; align-items:center; flex-wrap:wrap; gap:17px; }
.certificate-partners img { width:auto; max-width:100px; height:27px; object-fit:contain; filter:grayscale(1); opacity:.72; }
.certificate-partners small { display:block; margin-top:10px; color:#7b8580; font-size:9px; line-height:1.45; }
.public-verification { min-height:100vh; padding:calc(var(--header-h) + 45px) 20px 70px; background:#eef1f0; }
.verification-card { position:relative; width:min(100%, 820px); margin:0 auto; padding:42px 48px; background:#fff; border:1px solid #d9dfdc; box-shadow:0 4px 18px rgba(21,36,29,.07); }
.verification-brand { display:flex; align-items:center; gap:11px; margin-bottom:40px; color:#101817; font-size:15px; font-weight:900; letter-spacing:.05em; }
.verification-brand img { width:38px; height:38px; border-radius:7px; object-fit:cover; }
.verification-brand small { display:block; margin-top:3px; color:#77817d; font-size:9px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }
.verification-card h1 { max-width:650px; margin:8px 0 10px; font-size:31px; letter-spacing:-.035em; }
.verification-stamp { position:absolute; top:42px; right:48px; padding:7px 9px; border:1px solid #5ca875; color:#28764a; font-size:9px; font-weight:900; letter-spacing:.12em; transform:rotate(2deg); }
.verification-result { margin-top:24px; padding:18px; border-left:3px solid #23855e; background:#f1f7f3; }
.verification-result span { display:block; color:#607069; font-size:9px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.verification-result strong { display:block; margin-top:7px; color:#14231b; font-size:18px; }
.verification-result p { margin:6px 0 0; color:#627069; font-size:11px; }
.verification-card .certificate-partners { margin-top:28px; }
.certificate-card h2 { margin:26px 0 0; font-size:16px; text-transform:uppercase; letter-spacing:.1em; }
.counseling-document { max-width:980px; padding:28px 34px 34px; border:0; border-radius:0; box-shadow:0 1px 5px rgba(0,0,0,.12); }
.counseling-header { display:grid; grid-template-columns:220px 1fr; align-items:center; gap:28px; padding-bottom:18px; border-bottom:1px solid #222; }
.counseling-header h1 { margin:0; font-size:24px; letter-spacing:-.02em; }
.counseling-header p { margin:5px 0 0; color:#5c6662; font-size:11px; }
.counseling-intro { margin:18px 0 22px; color:#414a46; font-size:11px; line-height:1.55; }
.counseling-section { margin:20px 0 0; padding:0 0 5px; border-bottom:1px solid #222; color:#141916; font-size:14px; font-weight:800; letter-spacing:-.01em; text-transform:none; }
.counseling-table { display:grid; grid-template-columns:repeat(2,1fr); border:1px solid #676f6b; border-top:0; }
.counseling-table > div { min-height:48px; padding:8px 11px; border-top:1px solid #b5bbb8; }
.counseling-table > div:nth-child(odd) { border-right:1px solid #676f6b; }
.counseling-table span, .counseling-result-grid span, .counseling-signature span { display:block; color:#5c6862; font-size:9px; font-weight:700; }
.counseling-table strong, .counseling-result-grid strong, .counseling-signature strong { display:block; margin-top:5px; color:#141916; font-size:11px; }
.counseling-result-grid { display:grid; grid-template-columns:1.5fr 1fr 1fr; border:1px solid #676f6b; border-top:0; }
.counseling-result-grid > div { min-height:50px; padding:9px 11px; border-right:1px solid #b5bbb8; }
.counseling-result-grid > div:last-child { border-right:0; }
.counseling-box { margin-top:12px; padding:14px 16px; border:1px solid #676f6b; color:#38423d; font-size:11px; line-height:1.55; }
.counseling-box h3 { margin:0 0 8px; color:#166e65; font-size:11px; }
.counseling-box p { margin:0; }
.counseling-box p + p { margin-top:10px; }
.counseling-followup { display:grid; grid-template-columns:1fr 1fr; gap:0 25px; }
.checkline { display:flex; gap:8px; padding:8px 0; border-bottom:1px solid #d8ddda; }
.checkline span { color:#1a726b; font-size:17px; line-height:1; }
.checkline p { margin:0; }
.counseling-signature { display:grid; grid-template-columns:1fr 1fr 1.3fr; gap:0; border:1px solid #676f6b; border-top:0; }
.counseling-signature > div { min-height:55px; padding:10px 11px; border-right:1px solid #b5bbb8; }
.counseling-signature > div:last-child { border-right:0; }
.intake-card { max-width:1040px; }
.intake-card h1 { margin:0 0 10px; font-size:32px; letter-spacing:-.035em; }
.intake-note { max-width:760px; color:#5d6863; font-size:12px; line-height:1.6; }
.intake-section { margin:28px 0 0; padding-bottom:8px; border-bottom:1px solid #1f2923; font-size:17px; }
.intake-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px 18px; margin-top:18px; }
.intake-field { display:block; }
.intake-field span, .intake-checks legend { display:block; margin-bottom:6px; color:#39443e; font-size:11px; font-weight:800; letter-spacing:.03em; }
.intake-field input { width:100%; min-height:43px; box-sizing:border-box; padding:10px 11px; border:1px solid #aab4ae; border-radius:0; background:#fff; color:#18211c; font:inherit; }
.intake-field input:focus { outline:2px solid #9bd6c5; outline-offset:1px; border-color:#247568; }
.intake-checks { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px 22px; margin:20px 0 0; padding:14px 16px 16px; border:1px solid #89958e; }
.intake-checks legend { padding:0 6px; color:#166e65; }
.intake-checks label { color:#29332e; font-size:12px; }
.intake-checks input { accent-color:#176f64; margin-right:6px; }
.report-shell { min-height:100vh; padding:calc(var(--header-h) + 32px) 22px 72px; background:#eef1ef; }
.report-page { max-width:1040px; margin:0 auto; padding:42px 52px 46px; background:#fff; box-shadow:0 2px 14px rgba(18,29,23,.12); color:#18201c; }
.report-header { display:grid; grid-template-columns:260px 1fr; align-items:center; gap:36px; }
.report-brand { display:flex; align-items:center; gap:12px; }
.report-brand img { width:42px; height:42px; object-fit:cover; border-radius:4px; }
.report-brand strong { display:block; font-size:12px; letter-spacing:.12em; }
.report-brand span { display:block; margin-top:4px; color:#69756e; font-size:9px; }
.report-title h1 { margin:0; font-size:28px; letter-spacing:-.035em; }
.report-title p { margin:5px 0 0; color:#69756e; font-size:10px; }
.report-rule { height:1px; margin:22px 0 18px; background:#1d2721; }
.report-purpose { max-width:880px; margin:0 0 28px; color:#4d5952; font-size:11px; line-height:1.6; }
.report-section { margin-top:28px; }
.report-section-heading { display:flex; align-items:baseline; gap:10px; padding-bottom:8px; border-bottom:2px solid #1c2720; }
.report-section-heading span { color:#176f64; font-size:10px; font-weight:900; letter-spacing:.1em; }
.report-section-heading h2 { margin:0; font-size:17px; letter-spacing:.03em; text-transform:uppercase; }
.report-grid { display:grid; grid-template-columns:repeat(3,1fr); border:1px solid #8b9690; border-top:0; }
.report-field { min-height:58px; padding:10px 12px; border-right:1px solid #c2c9c5; border-bottom:1px solid #c2c9c5; }
.report-field:nth-child(3n) { border-right:0; }
.report-field:nth-last-child(-n+3) { border-bottom:0; }
.report-field span, .result-hero span, .report-auth span { display:block; color:#69766f; font-size:9px; font-weight:800; letter-spacing:.07em; text-transform:uppercase; }
.report-field strong { display:block; margin-top:6px; font-size:11px; line-height:1.35; overflow-wrap:anywhere; }
.report-subhead { margin-top:18px; color:#176f64; font-size:11px; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
.report-check-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:0 26px; margin-top:7px; padding:8px 12px; border:1px solid #8b9690; }
.report-check { display:flex; gap:8px; align-items:flex-start; padding:9px 0; border-bottom:1px solid #dce1de; color:#39453e; font-size:11px; line-height:1.35; }
.report-check:nth-last-child(-n+2) { border-bottom:0; }
.report-check span { flex:0 0 15px; color:#83918a; font-size:13px; }
.report-check.active span { color:#176f64; font-weight:900; }
.result-hero { display:grid; grid-template-columns:1.5fr 1fr 1fr; margin-top:12px; border:1px solid #728078; background:#f4f7f5; }
.result-hero > div { min-height:72px; padding:14px 16px; border-right:1px solid #c1c9c4; }
.result-hero > div:last-child { border-right:0; }
.result-hero strong { display:block; margin-top:8px; font-size:17px; }
.result-hero small { color:#66736b; font-size:10px; font-weight:600; }
.report-narrative, .report-limitations { margin-top:12px; padding:14px 16px; border:1px solid #8b9690; }
.report-narrative { border-left:4px solid #176f64; }
.report-narrative h3 { margin:0 0 8px; color:#176f64; font-size:11px; letter-spacing:.05em; text-transform:uppercase; }
.report-narrative p, .report-limitations p { margin:0; color:#3c4841; font-size:11px; line-height:1.55; }
.report-limitations p + p { margin-top:10px; padding-top:10px; border-top:1px solid #dce1de; }
.report-auth { display:grid; grid-template-columns:1fr 1.5fr 1fr; margin-top:12px; border:1px solid #8b9690; }
.report-auth > div { min-height:55px; padding:11px 12px; border-right:1px solid #c2c9c5; }
.report-auth > div:last-child { border-right:0; }
.report-auth strong { display:block; margin-top:6px; font-size:11px; overflow-wrap:anywhere; }
.report-footer { margin-top:26px; padding-top:15px; border-top:1px solid #cbd2cd; }
.report-footer .certificate-partners { margin:0; padding:0; border:0; }
.report-footer .certificate-actions { margin-top:18px; }
.referral-directory { margin-top:24px; padding:22px; border:1px solid #c9d4ce; border-radius:10px; background:linear-gradient(135deg,#f8fbf9 0%,#edf5f0 100%); }
.referral-heading { display:flex; justify-content:space-between; gap:20px; align-items:flex-start; }
.referral-heading > div > span { color:#176f64; font-size:9px; font-weight:900; letter-spacing:.12em; text-transform:uppercase; }
.referral-heading h3 { margin:5px 0 5px; color:#17231d; font-size:19px; letter-spacing:-.02em; }
.referral-heading p { max-width:670px; margin:0; color:#65736b; font-size:11px; line-height:1.5; }
.referral-count { flex:0 0 auto; padding:7px 9px; border:1px solid #b8cec1; border-radius:999px; color:#176f64; font-size:9px; font-weight:900; white-space:nowrap; }
.referral-grid { display:grid; grid-template-columns:repeat(5,1fr); gap:10px; margin-top:18px; }
.referral-card { min-height:142px; display:flex; flex-direction:column; padding:12px; border:1px solid #d3ddd7; border-radius:7px; background:#fff; color:#1a2720; text-decoration:none; transition:transform .15s ease, box-shadow .15s ease, border-color .15s ease; }
.referral-card:hover { transform:translateY(-2px); border-color:#67a995; box-shadow:0 7px 16px rgba(27,87,62,.12); }
.referral-card img { width:100%; height:39px; margin-bottom:13px; object-fit:contain; object-position:left center; filter:none; opacity:1; }
.referral-card strong { font-size:11px; line-height:1.25; }
.referral-card span { margin-top:5px; color:#68766e; font-size:9px; line-height:1.35; }
.referral-card small { margin-top:auto; padding-top:10px; color:#176f64; font-size:9px; font-weight:900; }
.referral-disclaimer { margin:15px 0 0; color:#75827a; font-size:9px; line-height:1.45; }
.result-share-panel { display:grid; grid-template-columns:1fr 1.1fr; gap:22px; align-items:center; margin:24px 0 2px; padding:18px 20px; border:1px solid #b9d3c4; border-left:4px solid #176f64; border-radius:7px; background:#f1f8f3; }
.result-share-panel > div > span { color:#176f64; font-size:9px; font-weight:900; letter-spacing:.1em; text-transform:uppercase; }
.result-share-panel h3 { margin:5px 0 5px; font-size:16px; }
.result-share-panel p { margin:0; color:#5f6e65; font-size:10px; line-height:1.5; }
.share-link-row { display:flex; gap:8px; }
.share-link-row input { min-width:0; flex:1; padding:10px 11px; border:1px solid #b9cbc0; border-radius:4px; background:#fff; color:#435148; font:11px monospace; }
.intake-builder-row { display:grid; grid-template-columns:1.3fr 1fr 150px 90px 34px; gap:8px; align-items:start; margin-top:10px; padding:10px; border:1px solid #343c42; background:#151a1f; }
.intake-builder-row input, .intake-builder-row select, .intake-builder-row textarea { width:100%; box-sizing:border-box; min-height:34px; padding:7px 8px; border:1px solid #3c454c; background:#0e1216; color:#fff; font:inherit; font-size:11px; }
.intake-builder-row textarea { grid-column:1/-1; min-height:55px; }
.builder-required { padding-top:9px; color:#c4ccd0; font-size:10px; white-space:nowrap; }
.builder-required input { width:auto; min-height:auto; }
.certificate-document-head { display:grid; grid-template-columns:minmax(0,2fr) 1fr 1fr; gap:22px; align-items:center; padding-bottom:15px; border-bottom:1px solid #cfd7d2; color:#55615a; }
.certificate-document-brand { display:flex; align-items:center; gap:10px; color:#151d19; font-size:12px; letter-spacing:.08em; }
.certificate-document-brand img { width:34px; height:34px; border-radius:5px; object-fit:cover; }
.certificate-document-brand small { display:block; margin-top:4px; color:#77827b; font-size:8px; font-weight:500; letter-spacing:.05em; }
.certificate-document-head > div:not(.certificate-document-brand) { padding-left:14px; border-left:1px solid #d9dfdb; }
.certificate-document-head span { display:block; color:#768178; font-size:8px; font-weight:800; letter-spacing:.12em; }
.certificate-document-head strong { display:block; margin-top:4px; color:#1c2820; font-size:10px; }
.certificate-section-title { margin-top:27px; padding:8px 0; border-top:1px solid #cfd7d2; border-bottom:1px solid #e0e5e2; color:#456052; font-size:10px; font-weight:900; letter-spacing:.12em; text-transform:uppercase; }
.certificate-actions { display:flex; flex-wrap:wrap; gap:10px; margin-top:26px; }
.certificate-actions .btn { min-height:42px; }
.certificate-privacy { color:#737e86; font-size:11px; line-height:1.55; margin:18px 0 0; }
.result-score { display:inline-flex; gap:8px; align-items:baseline; border-top:1px solid #e0e4e6; border-bottom:1px solid #e0e4e6; padding:18px 0; margin:14px 0 24px; width:100%; }
.result-score strong { font-size:32px; }
.result-score span { color:#7b848c; font-size:12px; }
.medical-disclaimer { padding:15px 16px; border-left:3px solid #0e8f64; background:#f3f7f5; color:#58626a; font-size:11px; line-height:1.55; margin-top:24px; }

/* Admin */
.admin-shell { min-height:100vh; padding-top:var(--header-h); display:grid; grid-template-columns:250px minmax(0,1fr); background:#0c0f13; color:#fff; }
.admin-sidebar { border-right:1px solid rgba(255,255,255,.1); padding:32px 18px; min-height:calc(100vh - var(--header-h)); position:sticky; top:var(--header-h); align-self:start; }
.admin-brand { margin:0 10px 28px; }
.admin-brand img { width:46px; height:46px; }
.admin-label { padding:0 10px 22px; border-bottom:1px solid rgba(255,255,255,.1); margin-bottom:15px; }
.admin-label span { display:block; color:#7f8992; font-size:9px; text-transform:uppercase; letter-spacing:.12em; }
.admin-label strong { display:block; margin-top:7px; font-size:14px; }
.admin-nav button { width:100%; min-height:42px; border:0; background:transparent; color:#adb5bc; text-align:left; padding:0 10px; font-size:12px; }
.admin-nav button:hover, .admin-nav button.active { color:#fff; background:#161c22; }
.admin-main { padding:36px clamp(22px,4vw,54px) 80px; min-width:0; }
.admin-head { display:flex; justify-content:space-between; gap:20px; align-items:flex-start; margin-bottom:26px; }
.admin-head-actions { display:flex; gap:8px; flex-wrap:wrap; }
.admin-head h1 { margin:0; font-size:34px; letter-spacing:-.04em; }
.admin-head p { color:#8f99a2; margin:8px 0 0; font-size:12px; }
.admin-stat-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }
.admin-stat { border:1px solid rgba(255,255,255,.12); background:#10151a; padding:22px; }
.admin-stat span { color:#808b94; text-transform:uppercase; font-size:9px; letter-spacing:.11em; font-weight:800; }
.admin-stat strong { display:block; font-size:34px; margin-top:10px; letter-spacing:-.04em; }
.admin-panel { margin-top:18px; border:1px solid rgba(255,255,255,.12); background:#10151a; }
.admin-panel-head { padding:19px 20px; display:flex; justify-content:space-between; gap:14px; align-items:center; border-bottom:1px solid rgba(255,255,255,.1); }
.admin-panel-head h2 { margin:0; font-size:16px; }
.admin-panel-head .card-sub { color:#8f99a2; margin:6px 0 0; font-size:11px; }
.admin-control-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; padding:18px; }
.admin-control-grid button { min-height:100px; padding:16px; text-align:left; border:1px solid rgba(255,255,255,.12); background:#0b0f13; color:#fff; }
.admin-control-grid button:hover { border-color:var(--green); transform:translateY(-2px); }
.admin-control-grid strong, .admin-control-grid span { display:block; }
.admin-control-grid strong { font-size:12px; }
.admin-control-grid span { color:#87919a; font-size:10px; line-height:1.45; margin-top:9px; }
.admin-table-wrap { overflow:auto; }
.admin-table { width:100%; border-collapse:collapse; min-width:700px; }
.admin-table th, .admin-table td { padding:14px 17px; border-bottom:1px solid rgba(255,255,255,.08); text-align:left; vertical-align:top; font-size:11px; }
.admin-table th { color:#818c95; text-transform:uppercase; letter-spacing:.09em; font-size:9px; }
.admin-table td { color:#d6dce0; }
.admin-table .actions { display:flex; gap:7px; justify-content:flex-end; }
.admin-table .btn { min-height:32px; padding:0 10px; font-size:9px; }
.admin-editor { border:1px solid rgba(255,255,255,.12); background:#10151a; }
.admin-editor-head { padding:20px; display:flex; justify-content:space-between; gap:16px; border-bottom:1px solid rgba(255,255,255,.1); align-items:center; }
.admin-editor-head h2 { margin:0; font-size:18px; }
.admin-form { padding:22px; }
.admin-form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.admin-field { display:flex; flex-direction:column; gap:7px; }
.admin-field.full { grid-column:1/-1; }
.admin-field label { color:#9da6ae; font-size:9px; text-transform:uppercase; font-weight:800; letter-spacing:.1em; }
.admin-field input, .admin-field textarea, .admin-field select { background:#0c1014; color:#fff; border-color:#343b42; }
.admin-field input:focus, .admin-field textarea:focus, .admin-field select:focus { border-color:var(--green); box-shadow:0 0 0 2px rgba(109,195,94,.14); }
.admin-field .hint { color:#737e87; font-size:10px; line-height:1.45; }
.builder-section { margin-top:24px; border-top:1px solid rgba(255,255,255,.12); padding-top:24px; }
.builder-section-head { display:flex; justify-content:space-between; gap:12px; align-items:center; margin-bottom:14px; }
.builder-section-head h3 { margin:0; font-size:15px; }
.question-builder { border:1px solid rgba(255,255,255,.13); background:#0b0f13; padding:18px; margin-top:11px; }
.question-builder-head { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:15px; }
.question-builder-head strong { font-size:11px; text-transform:uppercase; letter-spacing:.08em; }
.option-builder { display:grid; grid-template-columns:minmax(0,1fr) 90px 36px; gap:8px; margin-top:8px; align-items:center; }
.option-builder input { min-height:42px; background:#11161b; border:1px solid #333a41; color:#fff; padding:8px 10px; }
.icon-button { width:36px; height:36px; border:1px solid #3b4249; background:transparent; color:#bec6cc; }
.icon-button:hover { color:#fff; border-color:#fff; }
.band-builder { display:grid; grid-template-columns:90px 90px 1fr 1.4fr 36px; gap:8px; margin-top:8px; align-items:start; }
.band-builder input, .band-builder textarea { width:100%; min-height:42px; background:#11161b; border:1px solid #333a41; color:#fff; padding:8px 10px; }
.band-builder textarea { min-height:72px; resize:vertical; }
.admin-savebar { margin-top:24px; display:flex; justify-content:flex-end; gap:10px; padding-top:20px; border-top:1px solid rgba(255,255,255,.1); }
.admin-login { min-height:100vh; padding:calc(var(--header-h) + 70px) 24px 80px; display:flex; align-items:center; justify-content:center; background:radial-gradient(circle at 50% 30%,rgba(109,195,94,.15),transparent 25%),#050505; }
.admin-login-card { width:min(100%,420px); border:1px solid rgba(255,255,255,.17); background:#0c1014; padding:32px; }
.admin-login-card h1 { margin:0; font-size:31px; letter-spacing:-.04em; }
.admin-login-card p { color:#929ca4; line-height:1.6; font-size:12px; }
.admin-login-card input { width:100%; min-height:50px; background:#07090c; color:#fff; border:1px solid #343b42; padding:12px; font-size:19px; letter-spacing:.22em; margin:14px 0 12px; }

/* Modal + toast */
.modal-backdrop { position:fixed; z-index:220; inset:0; background:rgba(0,0,0,.74); display:flex; align-items:center; justify-content:center; padding:22px; }
.modal { width:min(100%,690px); max-height:min(90vh,850px); overflow:auto; background:#fff; color:#0a0c0e; border:1px solid #d4d9dc; }
.modal.dark { background:#10151a; color:#fff; border-color:#30373e; }
.modal-head { padding:21px 23px; border-bottom:1px solid #e0e4e6; display:flex; justify-content:space-between; align-items:center; gap:15px; }
.modal.dark .modal-head { border-color:#30373e; }
.modal-head h2 { margin:0; font-size:20px; }
.modal-body { padding:23px; }
.modal-close { border:0; background:transparent; color:inherit; font-size:23px; width:34px; height:34px; }
.toast-region { position:fixed; z-index:300; right:18px; bottom:18px; display:grid; gap:9px; width:min(calc(100% - 36px),380px); }
.toast { background:#fff; color:#121518; border-left:3px solid #1e9b6d; box-shadow:0 12px 40px rgba(0,0,0,.25); padding:15px 16px; animation:toast-in .22s ease; }
.toast.error { border-left-color:#e14d4d; }
.toast strong { display:block; font-size:12px; }
.toast p { margin:5px 0 0; color:#69737b; font-size:11px; line-height:1.45; }
@keyframes toast-in { from { transform:translateY(10px); opacity:0; } }

.loading { min-height:70vh; display:grid; place-items:center; background:#080a0c; color:#fff; }
.loading span { width:28px; height:28px; border:2px solid rgba(255,255,255,.2); border-top-color:#fff; border-radius:50%; animation:spin .8s linear infinite; }
@keyframes spin { to { transform:rotate(360deg); } }
.error-page { min-height:100vh; padding:160px 24px 80px; display:grid; place-items:center; background:#080a0c; color:#fff; text-align:center; }
.error-page h1 { font-size:72px; margin:0; }
.error-page p { color:#aeb6bc; }

.site-footer { background:#050608; color:#9099a1; padding:58px 24px 22px; border-top:1px solid rgba(255,255,255,.1); }
.footer-inner { width:min(100%,var(--max)); margin:0 auto; display:grid; grid-template-columns:1.35fr .8fr 1fr 1.35fr; gap:42px; align-items:start; }
.footer-brand, .footer-column { min-width:0; }
.footer-wordmark { display:inline-flex; align-items:center; gap:10px; color:#fff; font-size:17px; font-weight:800; letter-spacing:-.04em; }
.footer-wordmark img { width:46px; height:46px; object-fit:cover; border-radius:9px; }
.footer-wordmark small { display:block; margin-top:3px; color:#8e989f; font-size:7px; letter-spacing:.2em; }
.footer-brand p, .footer-column p { max-width:260px; margin:16px 0 0; color:#7e898f; font-size:12px; line-height:1.6; }
.footer-column { display:grid; align-content:start; gap:10px; }
.footer-column h2 { margin:1px 0 7px; color:#fff; font-size:10px; text-transform:uppercase; letter-spacing:.12em; }
.footer-column a { width:max-content; max-width:100%; color:#c4cbd0; font-size:11px; line-height:1.35; }
.footer-column a:hover { color:var(--green); }
.footer-note p + p { margin-top:8px; }
.footer-inner button { border:0; background:transparent; color:#fff; padding:0; text-transform:uppercase; font-size:9px; font-weight:800; letter-spacing:.08em; }
.footer-bottom { width:min(100%,var(--max)); margin:46px auto 0; padding-top:18px; border-top:1px solid rgba(255,255,255,.1); display:flex; justify-content:space-between; gap:18px; flex-wrap:wrap; color:#69747b; font-size:9px; letter-spacing:.04em; }
.admin-footer-link { opacity:.68; }
.admin-footer-link:hover { opacity:1; }
.hipaa-badge { display:inline-flex; align-items:center; gap:8px; margin-left:8px; padding:7px 10px; border:1px solid rgba(109,195,94,.55); color:#dce9df; text-align:left; letter-spacing:.08em; }
.hipaa-shield { width:22px; height:25px; display:grid; place-items:center; color:#071008; background:var(--green); clip-path:polygon(50% 0, 92% 16%, 85% 70%, 50% 100%, 15% 70%, 8% 16%); font-size:13px; font-weight:900; }
.hipaa-badge strong, .hipaa-badge small { display:block; }
.hipaa-badge strong { font-size:9px; }
.hipaa-badge small { margin-top:3px; color:#8fa797; font-size:8px; letter-spacing:.02em; text-transform:none; }
@media (max-width:560px) {
  .hipaa-badge { margin:4px 0 0; }
  .footer-inner { grid-template-columns:1fr 1fr; gap:30px 18px; }
  .footer-brand, .footer-note { grid-column:1/-1; }
  .footer-bottom { margin-top:32px; display:grid; gap:9px; }
}

@media (max-width: 1100px) {
  .main-nav { display:none; }
  .header-actions { margin-left:auto; }
  .menu-button { display:block; }
  .location-grid, .resource-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .price-grid { grid-template-columns:1fr; max-width:650px; gap:1px; }
  .price-card { min-height:auto; }
  .admin-stat-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .admin-control-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

@media (max-width: 820px) {
  :root { --header-h: 70px; }
  .header-inner { width:calc(100% - 30px); }
  .wordmark { min-width:0; font-size:18px; }
  .wordmark small { display:none; }
  .wordmark-mark { width:34px; height:34px; border-radius:8px; }
  .partner-section { padding-top:62px; }
  .photo-section { padding:64px 18px; }
  .photo-section-head { display:block; }
  .photo-section-head .section-intro { margin-top:18px; }
  .photo-grid { grid-template-columns:1fr 1fr; }
  .photo-card, .photo-card:first-child, .photo-card img, .photo-card:first-child img { min-height:300px; }
  .photo-card:first-child { grid-column:1/-1; }
  .header-action { display:none; }
  .hero-content { width:calc(100% - 36px); padding-bottom:12vh; }
  .eyebrow { font-size:14px; }
  .display { font-size:clamp(42px,12vw,70px); }
  .metric-strip { grid-template-columns:repeat(2,1fr); }
  .metric:nth-child(2) { border-right:0; }
  .metric:nth-child(-n+2) { border-bottom:1px solid #e3e6e9; }
  .service-groups { grid-template-columns:1fr; }
  .service-group, .service-group:nth-child(even) { padding:26px 0; border-left:0; }
  .service-list { grid-template-columns:1fr; }
  .location-grid, .resource-grid { grid-template-columns:1fr; }
  .auth-page { grid-template-columns:1fr; }
  .auth-visual { min-height:50vh; padding-top:130px; }
  .auth-form-wrap { min-height:auto; padding-top:65px; }
  .workspace, .admin-shell { grid-template-columns:1fr; }
  .workspace-sidebar, .admin-sidebar { display:none; }
  .workspace-main, .admin-main { padding:26px 18px 60px; }
  .ws-card, .ws-card.third { grid-column:1/-1; }
  .resource-mini-grid { grid-template-columns:1fr; }
  .survey-layout { grid-template-columns:1fr; padding:22px 14px 60px; }
  .survey-side { position:static; }
  .survey-top-inner { display:block; }
  .survey-progress { margin-top:18px; min-width:0; }
  .admin-form-grid { grid-template-columns:1fr; }
  .admin-field.full { grid-column:auto; }
  .band-builder { grid-template-columns:1fr 1fr; border:1px solid #30373e; padding:10px; }
  .band-builder textarea { grid-column:1/-1; }
  .band-builder .icon-button { grid-column:2; justify-self:end; }
  .checkout-page-inner { grid-template-columns:1fr; gap:24px; }
  .checkout-back { margin-bottom:26px; }
  .checkout-form-shell { min-height:520px; padding:20px; }
}

@media (max-width: 560px) {
  .hero-actions { display:grid; grid-template-columns:1fr; }
  .hero-actions .btn { width:100%; }
  .metric-strip { grid-template-columns:1fr; }
  .metric { border-right:0!important; border-bottom:1px solid #e3e6e9; }
  .partner-section .section-inner { padding:0 18px; }
  .partner-card { width:190px; height:112px; padding:0 18px; }
  .partner-mark { height:82px; padding:10px 12px; }
  .photo-credit { width:calc(100% - 36px); }
  .photo-grid { grid-template-columns:1fr; }
  .photo-card, .photo-card:first-child, .photo-card img, .photo-card:first-child img { min-height:320px; }
  .photo-card:first-child { grid-column:auto; }
  .form-grid { grid-template-columns:1fr; }
  .field.full { grid-column:auto; }
  .page-hero { min-height:62vh; }
  .content-section { padding:58px 18px; }
  .pricing-page { padding-left:14px; padding-right:14px; }
  .workspace-head, .admin-head { display:block; }
  .workspace-head .btn, .admin-head .btn { margin-top:16px; }
  .survey-card { padding:22px 18px; }
  .survey-actions { flex-direction:column-reverse; }
  .survey-actions .btn { width:100%; }
  .result-card { padding:28px 20px; }
  .result-card h1 { font-size:34px; }
  .admin-stat-grid { grid-template-columns:1fr; }
  .admin-control-grid { grid-template-columns:1fr; }
  .certificate-actions .btn { width:100%; }
  .certificate-record-grid { grid-template-columns:1fr; }
  .certificate-document-head { grid-template-columns:1fr 1fr; gap:14px; }
  .certificate-document-brand { grid-column:1/-1; }
  .certificate-document-head > div:not(.certificate-document-brand) { padding-left:0; border-left:0; }
  .counseling-document { padding:22px 18px 26px; }
  .counseling-header { grid-template-columns:1fr; gap:16px; }
  .counseling-header h1 { font-size:21px; }
  .counseling-table, .counseling-result-grid, .counseling-signature { grid-template-columns:1fr; }
  .counseling-table > div:nth-child(odd), .counseling-result-grid > div, .counseling-signature > div { border-right:0; }
  .counseling-followup { grid-template-columns:1fr; }
  .intake-grid, .intake-checks { grid-template-columns:1fr; }
  .report-shell { padding:calc(var(--header-h) + 16px) 8px 40px; }
  .report-page { padding:26px 18px 32px; }
  .report-header { grid-template-columns:1fr; gap:18px; }
  .report-title h1 { font-size:24px; }
  .report-grid, .result-hero, .report-auth { grid-template-columns:1fr; }
  .report-field, .report-auth > div, .result-hero > div { border-right:0; border-bottom:1px solid #c2c9c5; }
  .report-field:nth-child(3n) { border-right:0; }
  .report-field:nth-last-child(-n+3) { border-bottom:1px solid #c2c9c5; }
  .report-field:last-child, .report-auth > div:last-child, .result-hero > div:last-child { border-bottom:0; }
  .report-check-grid { grid-template-columns:1fr; }
  .report-check:nth-last-child(-n+2) { border-bottom:1px solid #dce1de; }
  .report-check:last-child { border-bottom:0; }
  .intake-builder-row { grid-template-columns:1fr 1fr; }
  .intake-builder-row select, .builder-required, .intake-builder-row .icon-button { grid-column:auto; }
  .referral-heading, .result-share-panel { display:grid; grid-template-columns:1fr; }
  .referral-count { justify-self:start; }
  .referral-grid { grid-template-columns:repeat(2,1fr); }
  .share-link-row { flex-direction:column; }
  .verification-card { padding:28px 22px; }
  .verification-stamp { position:static; display:inline-block; margin:0 0 20px; }
  .option-builder { grid-template-columns:1fr 68px 36px; }
}
@media print {
  .site-header, .survey-top, .certificate-actions, .certificate-privacy, .hero-actions, .site-footer { display:none !important; }
  .survey-shell { background:#fff; padding:0 !important; }
  .result-card { border:0; max-width:none; padding:0; }
  .medical-disclaimer { border-color:#111; background:#f5f5f5; color:#222; }
}

/* Visual refinement: restrained type scale and tighter product surfaces */
.site-header { --header-h: 76px; }
.header-inner { width:min(calc(100% - 56px), 1320px); gap:24px; }
.wordmark { min-width:190px; font-size:19px; }
.wordmark-mark { width:48px; height:48px; border-radius:10px; }
.main-nav { gap:18px; }
.main-nav a, .header-action { font-size:10px; letter-spacing:.07em; }
.hero-panel { min-height:88vh; }
.hero-content { width:min(calc(100% - 56px), var(--max)); padding-bottom:9vh; }
.hero-copy { max-width:650px; }
.eyebrow { font-size:13px; letter-spacing:.04em; }
.display { font-size:clamp(40px,5.2vw,72px); line-height:.96; letter-spacing:-.045em; }
.display.small { font-size:clamp(34px,4.1vw,58px); }
.hero-copy p:not(.eyebrow) { max-width:590px; margin-top:16px; font-size:14px; line-height:1.6; }
.hero-actions { margin-top:25px; }
.metric { padding:28px clamp(20px,3.5vw,48px); }
.metric strong { font-size:clamp(25px,2.8vw,40px); }
.partner-section { padding:62px 0 44px; }
.partner-marquee { margin-top:32px; }
.partner-card { width:200px; height:112px; }
.partner-mark { height:82px; }
.photo-section { padding:72px 24px 68px; }
.photo-grid { margin-top:34px; }
.photo-card, .photo-card img { min-height:330px; }
.photo-card:first-child, .photo-card:first-child img { min-height:420px; }
.page-hero { min-height:44vh; padding:calc(var(--header-h) + 56px) 24px 58px; }
.page-hero .lede { max-width:650px; font-size:15px; line-height:1.6; margin-top:16px; }
.content-section { padding:62px 24px; }
.section-title { max-width:850px; font-size:clamp(29px,3.35vw,46px); line-height:1.04; }
.section-intro { margin-top:14px; font-size:14px; line-height:1.65; }
.service-groups { margin-top:32px; }
.service-group { padding:25px 26px 25px 0; }
.service-group:nth-child(even) { padding-left:26px; }
.service-group h3 { margin-bottom:14px; font-size:17px; }
.service-item { padding:9px 0; font-size:13px; }
.location-grid, .resource-grid { margin-top:30px; gap:12px; }
.location-card, .resource-card { min-height:230px; padding:22px; }
.location-card h3, .resource-card h3 { font-size:19px; }
.location-card p, .resource-card p { font-size:13px; line-height:1.55; }
.pricing-page { padding:calc(var(--header-h) + 62px) 24px 72px; }
.pricing-head { margin-bottom:32px; }
.pricing-head p { font-size:14px; line-height:1.6; }
.price-card { padding:28px 26px; min-height:490px; }
.price-card.featured { padding-top:46px; }
.price-card .price { font-size:34px; }
.price-card .plan-description { font-size:13px; min-height:66px; }
.price-features { margin:22px 0 26px; }
.price-features li { padding:11px 0 11px 22px; font-size:12px; }
.auth-visual { padding:calc(var(--header-h) + 58px) clamp(34px,6vw,78px) 58px; }
.auth-card h1 { font-size:34px; }
.workspace-head h1, .admin-head h1 { font-size:30px; }
.workspace-main, .admin-main { padding-top:32px; }
.ws-card { padding:21px; }
.ws-card h2 { font-size:17px; }
.admin-stat { padding:19px; }
.admin-stat strong { font-size:30px; }
.survey-top { padding:24px; }
.survey-top h1 { font-size:25px; }
.survey-layout { padding-top:28px; }
.survey-card { padding:28px; }
.survey-question h2 { font-size:23px; }
.result-card h1 { font-size:38px; }
.checkout-page { padding:calc(var(--header-h) + 42px) 24px 70px; }
.checkout-back { margin-bottom:38px; }
.checkout-form-shell { min-height:580px; padding:25px; }

@media (max-width: 820px) {
  .site-header { --header-h: 70px; }
  .header-inner { width:calc(100% - 30px); }
  .hero-panel { min-height:82vh; }
  .hero-content { width:calc(100% - 36px); padding-bottom:10vh; }
  .display { font-size:clamp(38px,10.5vw,62px); }
  .display.small { font-size:clamp(32px,8.5vw,52px); }
  .page-hero { min-height:48vh; }
  .content-section { padding:54px 18px; }
  .price-card { min-height:auto; }
  .workspace-kpis { grid-template-columns:1fr; }
  .workspace-header-inner { width:calc(100% - 30px); }
  .workspace-header-actions { gap:10px; }
  .workspace-header-user, .workspace-header-divider { display:none; }
  .workspace-main { padding:15px 12px 50px; }
  .reference-table-row { grid-template-columns:1fr 1fr; gap:8px 12px; }
  .reference-table-header { display:none; }
  .reference-table-row > :nth-child(3) { grid-column:1/-1; }
  .reference-table .btn { justify-self:start; }
  .welcome-panel { display:block; }
  .welcome-panel img { width:74px; height:74px; margin-top:20px; }
}

@media (max-width: 560px) {
  .hero-panel { min-height:78vh; }
  .hero-content { padding-bottom:9vh; }
  .eyebrow { font-size:12px; }
  .display { font-size:clamp(36px,11vw,54px); }
  .display.small { font-size:clamp(30px,9.5vw,46px); }
  .page-hero { min-height:52vh; padding-bottom:48px; }
  .page-hero .lede { font-size:14px; }
  .section-title { font-size:32px; }
  .pricing-page { padding-top:calc(var(--header-h) + 48px); }
  .price-card { padding:25px 21px; }
  .auth-visual { min-height:44vh; }
  .survey-card { padding:23px 18px; }
}

/* Real photography replaces the abstract hero treatment on client-facing pages. */
.hero-main .panel-bg {
  background-image:
    linear-gradient(90deg, rgba(2,4,6,.84) 0%, rgba(2,4,6,.55) 43%, rgba(2,4,6,.18) 78%),
    linear-gradient(0deg, rgba(2,4,6,.72), rgba(2,4,6,.08) 65%),
    url('/assets/photos/care.jpg');
  background-size: cover;
  background-position: center 42%;
}
.hero-main .panel-bg::before { display:none; }
.hero-main .city-grid { display:none; }
.panel-survey .panel-bg {
  background-image:
    linear-gradient(90deg, rgba(5,12,17,.84), rgba(5,12,17,.48) 52%, rgba(5,12,17,.2)),
    url('/assets/photos/clinical.jpg');
  background-size: cover;
  background-position: center;
}
.panel-member .panel-bg {
  background-image:
    linear-gradient(90deg, rgba(5,10,7,.86), rgba(5,10,7,.5) 52%, rgba(5,10,7,.18)),
    url('/assets/photos/next-step.jpg');
  background-size: cover;
  background-position: center 38%;
}
.panel-environment .panel-bg {
  background-image:
    linear-gradient(90deg, rgba(7,12,15,.84), rgba(7,12,15,.52) 54%, rgba(7,12,15,.18)),
    url('/assets/photos/clinical.jpg');
  background-size: cover;
  background-position: center 58%;
}
.photo-card { border-radius:4px; box-shadow:0 10px 30px rgba(8,14,12,.08); }
.photo-credit {
  width:min(100%,var(--max));
  margin:14px auto 0;
  color:#879099;
  font-size:10px;
  line-height:1.5;
}
