/* =========================================================================
 * Michael T. Gibson, P.A. — home.css
 * Front-page (homepage) UNIQUE selectors only. Tokens + shared chrome
 * (nav, footer, global map, popup shell, base buttons, forms) live in
 * global.css and are NOT redefined here (pre-ship-qc B1 — one source of truth).
 *
 * Translated VERBATIM from Daedalus's approved homepage stylesheet
 * (gibson-homepage-final-edit-seo-toggle.html). No redesign.
 * Breakpoints: 1024 / 900 / 768 / 600 / 640 / 1800 / 2200 — as the source uses.
 * ========================================================================= */

/* ═══════════════════════════════════════ HERO ═══════════════════════════════ */
.hero { min-height:100vh; position:relative; overflow:hidden; background:var(--navy); }
.hero-inner { max-width:1800px; margin:0 auto; padding:0 48px; display:grid; grid-template-columns:3fr 2fr; align-items:end; min-height:100vh; position:relative; z-index:2; }
/* Hero backdrop = Orlando skyline, theme-swapped (day = light, night = dark).
   Layered top→bottom: brand glow → left-weighted readability scrim → bottom
   vignette → city photo. Scrims sit over a navy base, so if the image is
   missing the hero still reads dark with legible white text. Austin 2026-06-03.
   Files: WP Media Library /wp-content/uploads/2026/06/ (root-relative so it
   works on staging AND after cutover to autojusticeattorney.com). NB the night
   filename has a literal triple-t typo ("nightttime") — matches the upload. */
.hero-bg { position:absolute; inset:0; z-index:0;
  background-color: var(--navy);
  background-image:
    radial-gradient(ellipse 80% 60% at 75% 40%, rgba(244,100,33,0.10) 0%, transparent 60%),
    linear-gradient(105deg, rgba(11,22,40,0.96) 0%, rgba(11,22,40,0.90) 36%, rgba(11,22,40,0.62) 68%, rgba(11,22,40,0.44) 100%),
    linear-gradient(to top, rgba(11,22,40,0.97) 0%, rgba(11,22,40,0.60) 38%, rgba(11,22,40,0.12) 78%),
    url("/wp-content/uploads/2026/06/orlando-skyline-during-daytime.webp");
  background-size: cover, cover, cover, cover;
  background-position: center, center, center, center bottom;
  background-repeat: no-repeat;
  /* Frosted glass: blur the backdrop only (text + attorney photo are separate
     layers, stay sharp). Moderate blur keeps the skyline recognizable.
     scale() hides the soft blurred edges; .hero overflow:hidden clips it. */
  filter: blur(5px) saturate(1.05);
  transform: scale(1.06) translateZ(0); /* translateZ + will-change isolate the
     blurred backdrop on its own GPU layer so the 5px blur rasterizes ONCE and
     is cached, not repainted on scroll (keeps mobile scrolling smooth). */
  will-change: transform;
}
[data-theme="dark"] .hero-bg {
  background-image:
    radial-gradient(ellipse 80% 60% at 75% 40%, rgba(244,100,33,0.10) 0%, transparent 60%),
    linear-gradient(105deg, rgba(6,16,30,0.93) 0%, rgba(6,16,30,0.76) 40%, rgba(6,16,30,0.46) 76%, rgba(6,16,30,0.26) 100%),
    linear-gradient(to top, rgba(6,16,30,0.94) 0%, rgba(6,16,30,0.56) 38%, rgba(6,16,30,0.14) 76%),
    url("/wp-content/uploads/2026/06/orlando-skyline-during-nightttime.webp");
  background-position: center, center, center, center bottom;
}
.hero-grain { position:absolute; inset:0; z-index:1; opacity:0.035; pointer-events:none;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 512 512' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}
.hero-lines { position:absolute; inset:0; z-index:1; overflow:hidden; pointer-events:none; }
.hero-lines::before,.hero-lines::after { content:''; position:absolute; height:1px; background:rgba(255,255,255,0.03); left:0; right:0; }
.hero-lines::before{top:33%}.hero-lines::after{top:66%}

.hero-content { position:relative; z-index:3; display:flex; flex-direction:column; justify-content:center; padding:140px 24px 120px 0; align-self:center; }
.hero-h1-kw { font-family:var(--body); font-size:21px; font-weight:600; letter-spacing:5px; text-transform:uppercase; color:#fff; margin:0 0 24px; line-height:1; }
.hero-h1-tagline { font-family:var(--display); font-size:clamp(3rem,5vw,4.8rem); font-weight:700; line-height:1.1; color:#fff; letter-spacing:-0.5px; margin:0; }
.hero-h1-tagline em { color:var(--fire); font-style:italic; font-weight:500; }
/* Reserve the Trustindex widget's height so its late JS render fills a pre-sized
   slot instead of shoving the subhead/stats/buttons down (eliminates CLS).
   min-height matches the single-row rating widget (~52px content). If the live
   widget renders taller/shorter, tune this one value to match. Austin 2026-06-03. */
.hero-trust { padding:12px 0 8px; min-height:72px; display:flex; align-items:center; }
/* Trustindex centers its own rating widget (a 25px left pad on .ti-header-grid
   + justify-content:center on .ti-fade-container). Force it flush-left to match
   the hero copy. High specificity + !important beats Trustindex's in-body CSS.
   Verified on staging at 390px — widget aligns to the headline. Austin 2026-06-18. */
.hero-trust .ti-widget .ti-header-grid { padding-left:0 !important; padding-right:0 !important; justify-content:start !important; justify-items:start !important; }
.hero-trust .ti-widget .ti-fade-container { justify-content:flex-start !important; }
.hero-sub { font-family:var(--body); font-size:1.24rem; font-weight:normal; font-style:normal; color:var(--smoke); line-height:1.65; max-width:none; margin:0 0 44px; }
.hero-stats { display:flex; gap:0; margin-bottom:44px; }
.hstat { padding:0 32px; border-right:1px solid rgba(255,255,255,0.08); }
.hstat:first-child{padding-left:0}.hstat:last-child{border-right:none}
.hstat-val { font-family:var(--display); font-size:2.8rem; font-weight:700; color:#fff; line-height:1; }
.hstat-val span { color:var(--fire); }
.hstat-lbl { font-size:10px; font-weight:600; letter-spacing:3px; text-transform:uppercase; color:var(--smoke-light); margin-top:6px; }
.hero-actions { display:flex; align-items:center; gap:24px; }

/* Homepage hero fire button (distinct from global .cta-btn) */
.btn-fire { display:inline-flex; align-items:center; gap:10px; background:linear-gradient(135deg, var(--fire) 0%, #1a3a5c 100%); color:#fff; text-decoration:none; font-size:12px; font-weight:600; letter-spacing:2.5px; text-transform:uppercase; padding:16px 36px; position:relative; overflow:hidden; background-size:200% 200%; background-position:0% 50%; transition:background-position .4s ease,transform .3s,box-shadow .3s; }
.btn-fire::before { content:''; position:absolute; inset:0; background:linear-gradient(135deg,rgba(255,255,255,0.12) 0%,transparent 50%); }
.btn-fire:hover { background-position:100% 50%; transform:translateY(-2px); box-shadow:0 8px 32px rgba(244,100,33,0.35); }
/* Homepage hero ghost link — text-underline variant (scoped so it does not
   collide with global.css's bordered-button .btn-ghost on other templates) */
.hero-actions .btn-ghost { display:inline-flex; align-items:center; color:var(--smoke); text-decoration:none; font-size:12px; font-weight:500; letter-spacing:2px; text-transform:uppercase; border:none; border-bottom:1px solid rgba(255,255,255,0.12); padding:0 0 3px; border-radius:0; transition:color .3s,border-color .3s; }
.hero-actions .btn-ghost:hover { color:#fff; border-color:var(--fire); }

.hero-img { position:relative; z-index:2; display:flex; align-items:flex-end; justify-content:center; overflow:visible; }
.hero-img img { display:block; width:auto; height:92vh; max-height:800px; object-fit:contain; object-position:bottom center; filter:contrast(1.08) brightness(0.95); position:relative; z-index:1; /* transform:translateY(-120px); — lift removed; image sits flush at bottom. Austin 2026-06-03 */ }
.hero-img::after { content:''; position:absolute; bottom:0; left:-40%; right:-20%; height:35%; z-index:0; background:linear-gradient(to top, var(--navy) 0%, transparent 100%); }
.hero-img::before { display:none; }

/* ═══════════════════════════════════════ PROOF BAR ══════════════════════════ */
.proof-bar { background:#fff; border-top:1px solid rgba(0,0,0,0.04); border-bottom:1px solid rgba(0,0,0,0.04); padding:36px 0; position:relative; z-index:4; }
.proof-inner { display:flex; align-items:center; justify-content:center; gap:56px; flex-wrap:wrap; padding:0 32px; }
.proof-badge { display:inline-flex; align-items:center; justify-content:center; }
.proof-badge img { max-height:80px; max-width:150px; width:auto; height:auto; display:block; opacity:0.92; transition:opacity .3s; }
.proof-badge:hover img { opacity:1; }
[data-theme="dark"] .proof-bar { background:#fff; border-color:rgba(0,0,0,0.04); }

/* ═══════════════════════════════════════ BRAND INTRO ════════════════════════ */
.brand-intro { background:var(--chalk-warm); padding:100px 0; position:relative; }
.brand-intro .container { position:relative; z-index:1; display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:start; }
.brand-intro-head { margin-bottom:0; }
.brand-intro-text { font-size:1.15rem; color:var(--body-text); line-height:1.85; max-width:800px; margin-top:24px; }
.brand-intro-text p + p { margin-top:14px; }
.brand-intro-video { position:relative; background:linear-gradient(135deg, var(--navy) 0%, var(--deep-purple) 50%, var(--fire-deep) 100%); border-radius:8px; aspect-ratio:16/9; display:flex; align-items:center; justify-content:center; overflow:hidden; margin-top:60px; cursor:pointer; }
.brand-intro-video:focus-visible { outline: 2px solid var(--fire); outline-offset: 4px; }

/* Stacked single-column variant: overline → h2 → video → text, centered.
   Video breaks wider than the reading column; text stays a comfortable width.
   Per Austin 2026-06-03 (homepage tweak). Overrides the 2-col grid above. */
.brand-intro--stacked .container { display:block; max-width:1080px; }
.brand-intro--stacked .brand-intro-head { text-align:center; max-width:820px; margin-inline:auto; }
.brand-intro--stacked .brand-intro-video { margin:44px auto 0; width:100%; max-width:1080px; }
.brand-intro--stacked .brand-intro-text { margin:36px auto 0; max-width:760px; text-align:left; }
.brand-intro-video .vid-thumb { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:0; }
.brand-intro-video .vid-overlay { position:absolute; inset:0; background:linear-gradient(180deg, rgba(11,22,40,0.20) 0%, rgba(11,22,40,0.10) 45%, rgba(11,22,40,0.78) 100%); z-index:1; pointer-events:none; }
.brand-intro-video .vid-play { width:72px; height:72px; background:var(--fire); border-radius:50%; display:flex; align-items:center; justify-content:center; cursor:pointer; transition:transform .3s, box-shadow .3s; z-index:2; }
.brand-intro-video .vid-play:hover { transform:scale(1.1); box-shadow:0 8px 32px rgba(244,100,33,0.4); }
.brand-intro-video .vid-play svg { margin-left:4px; }
.brand-intro-video .vid-label { position:absolute; bottom:16px; left:0; right:0; text-align:center; font-family:var(--body); font-size:11px; font-weight:600; letter-spacing:2px; text-transform:uppercase; color:rgba(255,255,255,0.7); z-index:2; }

/* ═══════════════════════════════════════ PRACTICE AREAS ═════════════════════ */
.practice-areas { background:var(--chalk-warm); padding:120px 0; }
.pa-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:2px; background:rgba(0,0,0,0.08); margin-top:48px; border:1px solid rgba(0,0,0,0.06); }
.pa-item { background:#fff; padding:40px 32px; text-decoration:none; display:flex; flex-direction:column; transition:background 0.3s, transform 0.25s; position:relative; }
.pa-item:hover { background:var(--chalk-warm); transform:translateY(-2px); }
.pa-item h3 { font-family:var(--display); font-size:1.4rem; font-weight:600; color:var(--ink); margin-bottom:14px; transition:color 0.2s; line-height:1.25; }
.pa-item:hover h3 { color:var(--fire); }
.pa-item p { font-size:0.95rem; color:var(--muted-text); line-height:1.65; max-width:none; flex:1; }
.pa-item-more { background:var(--navy); }
.pa-item-more:hover { background:var(--navy-80); transform:translateY(-2px); }
.pa-item-more h3 { color:var(--fire); }
.pa-item-more p { color:rgba(255,255,255,0.85); }
.pa-item-more:hover h3 { color:#fff; }
.pa-item-arrow { display:inline-block; margin-left:6px; transition:transform 0.25s; }
.pa-item-more:hover .pa-item-arrow { transform:translateX(4px); }
[data-theme="dark"] .pa-item { background:#fff; }
[data-theme="dark"] .pa-item:hover { background:#f3f0ea; }
[data-theme="dark"] .pa-item h3 { color:#1a1a1a; }
[data-theme="dark"] .pa-item p { color:#666; }
[data-theme="dark"] .pa-item:hover h3 { color:var(--fire); }
[data-theme="dark"] .pa-item-more { background:var(--navy); }
[data-theme="dark"] .pa-item-more:hover { background:var(--navy-80); }
[data-theme="dark"] .pa-item-more h3 { color:var(--fire); }
[data-theme="dark"] .pa-item-more p { color:rgba(255,255,255,0.85); }
[data-theme="dark"] .pa-grid { background:rgba(255,255,255,0.06); border-color:rgba(255,255,255,0.06); }

/* ═══════════════════════════════════════ ORIGIN ════════════════════════════ */
.origin { background:var(--chalk); padding:120px 0; position:relative; overflow:hidden; }
.origin::before { content:''; position:absolute; inset:0; background-image:url("data:image/svg+xml,%3Csvg width='80' height='80' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='40' cy='40' r='0.6' fill='%23000' opacity='0.03'/%3E%3C/svg%3E"); pointer-events:none; }
.origin-head { text-align:center; max-width:880px; margin:0 auto 72px; }
.origin-head .origin-year { font-family:var(--display); font-size:clamp(4rem, 7vw, 6rem); font-weight:700; color:var(--fire); line-height:1; letter-spacing:-2px; }
.origin-head .origin-place { margin-top:14px; font-family:var(--body); font-size:12px; letter-spacing:4px; text-transform:uppercase; color:var(--ink); font-weight:600; opacity:0.6; margin-bottom:28px; }
.origin-head .eyebrow { justify-content:center; margin-bottom:18px; }
.origin-body-grid { display:grid; grid-template-columns:1fr 1fr; gap:80px; max-width:1100px; margin:0 auto; align-items:start; }
.origin-body-col { display:flex; flex-direction:column; gap:32px; }
.origin-body-col .prose { font-size:1.15rem; max-width:none; line-height:1.85; }
.origin-body-col .pullquote { font-size:clamp(1.4rem, 2.2vw, 1.85rem); margin:0; }
/* Origin family photo — present-day payoff under the founding story. */
.origin-family { max-width:1100px; margin:72px auto 0; }
.origin-family img { width:100%; height:auto; display:block; border-radius:8px; filter:contrast(1.03) brightness(0.99); box-shadow:0 20px 60px rgba(11,22,40,0.14); }
.origin-family figcaption { margin-top:18px; text-align:center; font-family:var(--body); font-size:13px; font-weight:600; letter-spacing:0.5px; color:var(--ink); opacity:0.72; }
@media (max-width:768px){ .origin-family { margin-top:48px; } }
.origin .prose { color:var(--body-text); }
.pullquote { font-family:var(--display); font-size:clamp(1.5rem,2.5vw,2rem); font-weight:500; font-style:italic; line-height:1.4; color:var(--ink); padding-left:28px; border-left:3px solid var(--fire); margin:36px 0; }
.pullquote strong { color:var(--fire); font-weight:700; font-style:normal; }

/* ═══════════════════════════════════════ THE SYSTEM ════════════════════════ */
.system { background:var(--navy); padding:120px 0; position:relative; overflow:hidden; }
.system::after { content:''; position:absolute; width:500px; height:500px; right:-150px; top:-150px; background:radial-gradient(circle,rgba(244,100,33,0.04) 0%,transparent 70%); }
.system-head { margin-bottom:56px; }
.system-cards { display:grid; grid-template-columns:1fr 1fr; gap:2px; background:rgba(255,255,255,0.04); }
.scard { background:var(--navy-90); padding:44px 36px; position:relative; transition:background .5s; }
.scard:hover { background:var(--navy-80); }
.scard-idx { font-family:var(--display); font-size:2.6rem; font-weight:700; color:var(--fire); opacity:1; line-height:1; margin-bottom:16px; display:inline-block; }
.scard h3 { font-family:var(--display); font-size:1.85rem; font-weight:600; color:#fff; margin-bottom:18px; line-height:1.2; }
.scard p { font-size:1.15rem; color:rgba(255,255,255,0.78); line-height:1.75; }

/* ═══════════════════════════════════════ PIP ══════════════════════════════ */
.pip { background:var(--chalk-warm); padding:120px 0; overflow:hidden; }
.pip-layout { display:grid; grid-template-columns:1fr 1fr; gap:72px; align-items:start; }
.pip-left { position:sticky; top:100px; }
.pip-num { font-family:var(--display); font-size:clamp(7rem,18vw,13rem); font-weight:700; color:var(--fire); line-height:0.8; opacity:1; }
.pip-numsub { font-size:10px; font-weight:600; letter-spacing:4px; text-transform:uppercase; color:var(--fire); opacity:0.5; margin-top:12px; }
.pip-right .prose { color:var(--body-text); }
.pip-box { margin-top:36px; padding:36px; background:var(--navy); position:relative; overflow:hidden; }
.pip-box::before { content:'14'; position:absolute; right:-8px; top:-16px; font-family:var(--display); font-size:9rem; font-weight:700; color:rgba(244,100,33,0.06); line-height:1; }
.pip-box h3 { font-family:var(--display); font-size:1.5rem; font-weight:600; color:var(--fire); margin-bottom:12px; }
.pip-box p { font-size:1.05rem; color:var(--smoke); line-height:1.75; }

/* ═══════════════════════════════════════ TRAP ═════════════════════════════ */
.trap { background:var(--deep-purple); padding:120px 0; position:relative; overflow:hidden; }
.trap-center { text-align:center; max-width:620px; margin:0 auto; }
.trap-big { font-family:var(--display); font-size:clamp(5rem,12vw,10rem); font-weight:700; color:#fff; line-height:0.85; margin:32px 0 12px; position:relative; z-index:1; }
.trap-big em { color:var(--fire); font-style:italic; }
.trap-glow { position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); width:400px; height:200px; background:radial-gradient(ellipse,rgba(244,100,33,0.1) 0%,transparent 70%); z-index:0; pointer-events:none; }
.trap-stage { display:grid; grid-template-columns:1fr 60px 1fr; gap:0; margin:56px auto 0; max-width:960px; }
.trap-col { padding:44px 36px; }
.trap-yours { background:rgba(255,255,255,0.02); border:1px solid rgba(255,255,255,0.05); text-align:right; }
.trap-theirs { background:rgba(244,100,33,0.03); border:1px solid rgba(244,100,33,0.08); }
.trap-mid { display:flex; align-items:center; justify-content:center; position:relative; }
.trap-mid::before { content:''; position:absolute; width:1px; top:0; bottom:0; background:linear-gradient(to bottom,transparent,var(--fire),transparent); }
.trap-mid span { background:var(--deep-purple); color:var(--fire); font-family:var(--display); font-weight:700; font-size:0.85rem; letter-spacing:2px; padding:8px 0; position:relative; z-index:1; }
.trap-col h4 { font-size:15px; font-weight:600; letter-spacing:3px; text-transform:uppercase; color:#fff; margin-bottom:22px; }
.trap-col p { font-size:1.15rem; color:rgba(255,255,255,0.85); line-height:1.7; }
.trap-spoken { font-family:var(--display); font-size:1.9rem; font-style:italic; color:#fff; margin-top:22px; line-height:1.3; font-weight:500; }
.trap-theirs .trap-spoken { color:var(--fire); }
.trap-kicker { text-align:center; margin-top:64px; font-family:var(--display); font-size:clamp(1.8rem, 3vw, 2.4rem); font-style:italic; color:#fff; line-height:1.4; max-width:760px; margin-left:auto; margin-right:auto; }
.trap-kicker strong { color:var(--fire); font-weight:600; }

/* ═══════════════════════════════════════ POKER ════════════════════════════ */
.poker { background:var(--chalk); padding:120px 0; position:relative; overflow:hidden; }
.poker::before { content:''; position:absolute; inset:0; background-image:url("data:image/svg+xml,%3Csvg width='60' height='60' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M30 0L60 30L30 60L0 30Z' fill='none' stroke='%23000' stroke-width='0.4' opacity='0.02'/%3E%3C/svg%3E"); pointer-events:none; }
.poker-grid { display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:center; }
.poker-quote { font-family:var(--display); font-size:clamp(2rem,4vw,3.2rem); font-weight:600; font-style:italic; line-height:1.2; color:var(--ink); margin-top:32px; margin-bottom:40px; }
.poker-quote strong { color:var(--fire); font-style:normal; }
.poker .prose { color:var(--body-text); margin-bottom:0; }
.poker-photo { position:relative; text-align:center; }
.poker-photo img { width:100%; max-width:480px; border-radius:8px; filter:contrast(1.05) brightness(0.97); }
.poker-photo-attr { font-family:var(--body); font-size:13px; font-weight:600; color:var(--ink); margin-top:16px; letter-spacing:0.5px; }
.poker-photo-attr span { display:block; font-weight:400; font-size:12px; color:var(--softer-text); margin-top:2px; }
.poker-bar { display:grid; grid-template-columns:repeat(4,1fr); gap:0; border-top:1px solid var(--border-soft); border-bottom:1px solid var(--border-soft); }
.pbar-cell { text-align:center; padding:28px 16px; border-right:1px solid var(--border-soft); }
.pbar-cell:last-child{border-right:none}
.pbar-val { font-family:var(--display); font-size:2.4rem; font-weight:700; color:var(--fire); line-height:1; }
.pbar-lbl { font-size:10px; font-weight:600; letter-spacing:3px; text-transform:uppercase; color:var(--faint-text); margin-top:8px; }

/* ═══════════════════════════════════════ TEAM ═════════════════════════════ */
.team { background:#fff; padding:120px 0 80px; position:relative; overflow:hidden; }
[data-theme="dark"] .team { background:var(--navy); }
.team-intro { max-width:1800px; margin:0 auto 56px; padding:0 48px; }
.team-intro-sub { font-size:1.05rem; color:rgba(0,0,0,0.6); line-height:1.8; max-width:560px; margin-top:20px; }
[data-theme="dark"] .team-intro-sub { color:rgba(255,255,255,0.6); }
.lead { max-width:1200px; margin:0 auto; padding:0 48px; display:grid; grid-template-columns:5fr 6fr; gap:56px; align-items:center; }
.lead-photo { position:relative; overflow:hidden; }
.lead-photo-frame { aspect-ratio:3 / 4; overflow:hidden; position:relative; border:1px solid rgba(255,255,255,0.08); }
.lead-photo-frame svg { width:100%; height:100%; display:block; }
.lead-photo-frame img { width:100%; height:100%; object-fit:cover; display:block; }
.lead-accent { width:3px; height:80px; background:var(--fire); position:absolute; left:-20px; top:50%; transform:translateY(-50%); }
.lead-name { font-family:var(--display); font-size:clamp(2.2rem, 4vw, 3.2rem); font-weight:700; color:#fff; line-height:1.05; }
.lead-role { font-size:11px; font-weight:600; letter-spacing:4px; text-transform:uppercase; color:var(--fire); margin-top:14px; }
.lead-story { font-size:1rem; color:rgba(255,255,255,0.6); line-height:1.85; margin-top:24px; max-width:480px; }
.lead-story p + p { margin-top:14px; }
.lead-pull { font-family:var(--display); font-size:1.15rem; font-weight:500; font-style:italic; color:rgba(255,255,255,0.85); line-height:1.5; padding-left:20px; border-left:3px solid var(--fire); margin-top:28px; max-width:440px; }
.lead-pull strong { color:var(--fire); font-weight:700; font-style:normal; }
.lead-nums { display:flex; gap:0; margin-top:36px; }
.lead-num { padding-right:28px; margin-right:28px; border-right:1px solid rgba(255,255,255,0.1); }
.lead-num:last-child { border-right:none; margin-right:0; padding-right:0; }
.lead-num-val { font-family:var(--display); font-size:2rem; font-weight:700; color:var(--fire); line-height:1; }
.lead-num-lbl { font-size:9px; font-weight:600; letter-spacing:2.5px; text-transform:uppercase; color:rgba(255,255,255,0.4); margin-top:5px; }
.team-rest { max-width:1200px; margin:80px auto 0; padding:0 48px; }
.team-rule { height:1px; background:rgba(255,255,255,0.08); margin-bottom:56px; }
.team-label { font-family:var(--body); font-size:14px; font-weight:600; letter-spacing:4px; text-transform:uppercase; color:var(--fire); margin-bottom:36px; display:inline-block; }
.team-grid-wrap { position:relative; }
.team-grid { display:flex; gap:28px; overflow-x:auto; overflow-y:hidden; overscroll-behavior-x:contain; overscroll-behavior-y:auto; touch-action:pan-x; scroll-behavior:smooth; scrollbar-width:none; -ms-overflow-style:none; padding-bottom:8px; }
.team-grid::-webkit-scrollbar { display:none; }
.person { text-align:center; min-width:260px; max-width:260px; flex-shrink:0; }
.person-photo { aspect-ratio:4 / 5; overflow:hidden; margin-bottom:20px; border:1px solid rgba(255,255,255,0.08); position:relative; transition:border-color 0.4s; }
.person-photo svg { width:100%; height:100%; display:block; }
.person-photo img { width:100%; height:100%; object-fit:cover; object-position:top center; }
.person:hover .person-photo { border-color:var(--teal); }
.person-photo::before { content:''; position:absolute; top:0; left:0; right:0; height:2px; background:var(--teal); transform:scaleX(0); transition:transform 0.4s cubic-bezier(0.23, 1, 0.32, 1); transform-origin:left; z-index:2; }
.person:hover .person-photo::before { transform:scaleX(1); }
.person-name { font-family:var(--display); font-size:1.15rem; font-weight:600; color:#fff; line-height:1.25; }
.person-role { font-size:9px; font-weight:600; letter-spacing:3px; text-transform:uppercase; color:var(--teal); margin-top:5px; }
.person-line { font-size:0.88rem; color:rgba(255,255,255,0.45); line-height:1.65; margin-top:12px; }
.team-arrows { display:flex; gap:8px; position:absolute; top:-52px; right:0; }
.team-arr { width:40px; height:40px; background:transparent; border:1px solid rgba(255,255,255,0.15); color:rgba(255,255,255,0.5); cursor:pointer; display:flex; align-items:center; justify-content:center; transition:border-color 0.3s, color 0.3s, background 0.3s; }
.team-arr:hover { border-color:var(--fire); color:var(--fire); }
.team-arr svg { width:16px; height:16px; }

/* ═══════════════════════════════════════ BULLSEYE ═════════════════════════ */
.bullseye { background:var(--deep-purple); padding:120px 0 180px; }
.bs-head { margin-bottom:56px; text-align:center; }
.bs-head .eyebrow { justify-content:center; }
.bs-head .h-xl { margin-left:auto; margin-right:auto; }
.bs-head .prose { margin-left:auto; margin-right:auto; }
.bs-cols { display:grid; grid-template-columns:1fr 1.4fr 1fr; gap:24px; align-items:stretch; }
.bs-c { padding:48px 36px; border-radius:12px; transition:all .4s; }
.bs-side { background:var(--navy-90); border:1px solid rgba(255,255,255,0.06); text-align:center; transform:scale(0.95); }
.bs-side:hover { border-color:rgba(255,255,255,0.12); }
.bs-mid { background:var(--chalk-warm); position:relative; overflow:hidden; border:none; transform:scale(1.15); z-index:2; box-shadow:0 20px 60px rgba(0,0,0,0.3); text-align:center; }
.bs-mid::before { display:none; }
.bs-c h3 { font-family:var(--display); font-size:1.5rem; font-weight:600; margin-bottom:16px; line-height:1.25; }
.bs-side h3 { color:rgba(255,255,255,0.4); }
.bs-mid h3 { color:var(--ink); position:relative; font-size:1.75rem; }
.bs-side p { font-size:1.05rem; color:rgba(255,255,255,0.3); line-height:1.75; }
.bs-mid p { font-size:1.15rem; color:var(--body-text); line-height:1.8; position:relative; }

/* ═══════════════════════════════════════ TESTIMONIALS ═════════════════════ */
.testimonials { background:var(--chalk-warm); padding:120px 0; position:relative; overflow:hidden; }
.testimonials::before { content:''; position:absolute; inset:0; background-image:url("data:image/svg+xml,%3Csvg width='100' height='100' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='50' cy='50' r='0.5' fill='%23c8a84c' opacity='0.06'/%3E%3C/svg%3E"); pointer-events:none; }
.test-head { margin-bottom:56px; text-align:center; }
.test-head .eyebrow { justify-content:center; }
.test-slider-wrap { position:relative; overflow:hidden; }
.test-slider { display:flex; transition:transform 0.5s ease; }
.test-slide { min-width:100%; width:100%; display:grid; grid-template-columns:repeat(3, 1fr); gap:24px; flex-shrink:0; box-sizing:border-box; }
.test-nav { display:flex; gap:12px; justify-content:center; margin-top:40px; }
.test-nav-btn { width:48px; height:48px; border-radius:50%; border:1px solid var(--border-soft); background:var(--surface-card); cursor:pointer; display:flex; align-items:center; justify-content:center; transition:all 0.2s; }
.test-nav-btn:hover { border-color:var(--fire); color:var(--fire); }
.test-nav-btn svg { width:18px; height:18px; }
.test-grid { display:grid; grid-template-columns:1fr 1fr 1fr; gap:24px; }
.test-card { background:var(--surface-card); padding:36px; border:1px solid var(--border-softer); position:relative; transition:box-shadow 0.4s, border-color 0.4s; min-width:0; overflow:hidden; }
.test-card:hover { box-shadow:0 6px 24px rgba(0,0,0,0.06); border-color:var(--gold); }
/* Shared reviews grid — homepage + practice-area pages render reviews the same
   way (flat 3-up grid of the latest testimonial CPT cards). Austin 2026-06-18. */
.pa-reviews-grid { display:flex; flex-wrap:wrap; justify-content:center; gap:28px; margin-top:44px; }
.pa-reviews-grid .test-card { flex:0 1 340px; max-width:380px; }
@media (max-width:760px) { .pa-reviews-grid .test-card { flex:1 1 100%; } }
.test-stars { display:flex; gap:3px; margin-bottom:16px; }
.test-star { width:16px; height:16px; color:var(--gold); }
.test-quote-mark { display:none; } /* removed — the oversized " didn't fit. Austin 2026-06-18 */
/* Review text: upright body font, generous line-height, strong color — far
   more readable than the old italic serif for long quotes. Austin 2026-06-18 */
.test-text { font-family:var(--body); font-size:1.02rem; font-weight:400; font-style:normal; color:var(--body-text-strong); line-height:1.8; margin-bottom:20px; }
.test-author { font-size:0.85rem; font-weight:600; color:var(--ink); letter-spacing:1px; }
.test-case { font-size:0.78rem; color:var(--faint-text); margin-top:2px; }
.test-more { margin-top:40px; }
.test-more a { transition:color 0.3s, border-color 0.3s; }
.test-more a:hover { color:var(--fire); border-color:var(--fire); }

/* ═══════════════════════════════════════ STONEWALLING ═════════════════════ */
.stonewall { padding:140px 0; background:var(--chalk); position:relative; overflow:hidden; }
.sw-grid { display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:center; max-width:1200px; margin:0 auto; padding:0 48px; }
.sw-stat { text-align:center; }
.sw-big-num { font-family:var(--display); font-size:clamp(8rem,18vw,14rem); font-weight:700; color:var(--fire); line-height:0.9; letter-spacing:-4px; }
.sw-stat-label { font-family:var(--display); font-size:1.35rem; font-style:italic; color:var(--ink); opacity:0.65; margin-top:24px; line-height:1.45; max-width:360px; margin-left:auto; margin-right:auto; }
.sw-content { text-align:left; }
.sw-content .eyebrow { justify-content:flex-start; margin-bottom:22px; }
.sw-headline { font-family:var(--display); font-size:clamp(2rem,3.8vw,2.8rem); font-weight:700; color:var(--ink); line-height:1.15; margin-bottom:28px; }
.sw-content .prose { color:var(--body-text); text-align:left; max-width:none; }

/* ═══════════════════════════════════════ CASE RESULTS ═════════════════════ */
.results { background:var(--navy); padding:120px 0; position:relative; overflow:hidden; }
.results::before { content:''; position:absolute; inset:0; background:radial-gradient(ellipse at 30% 50%,rgba(244,100,33,0.03) 0%,transparent 50%),radial-gradient(ellipse at 70% 50%,rgba(20,37,64,0.5) 0%,transparent 50%); }
.results-head { margin-bottom:56px; position:relative; z-index:1; text-align:center; }
.results-head .eyebrow { justify-content:center; }
.results-grid { display:grid; grid-template-columns:1fr 1fr 1fr; gap:2px; position:relative; z-index:1; background:rgba(255,255,255,0.04); }
.res-card { background:var(--navy-90); padding:48px 32px; text-align:center; transition:background .4s; }
.res-card:hover{background:var(--navy-80)}
.res-val { font-family:var(--display); font-size:clamp(2.6rem,5vw,3.6rem); font-weight:700; color:var(--fire); line-height:1; margin-bottom:6px; }
.res-type { font-size:10px; font-weight:600; letter-spacing:3px; text-transform:uppercase; color:var(--smoke-light); margin-bottom:16px; }
.res-desc { font-size:0.88rem; color:var(--smoke); line-height:1.7; max-width:280px; margin:0 auto; }
.res-banner { background:var(--fire); padding:40px 48px; display:flex; align-items:center; justify-content:space-between; position:relative; z-index:1; margin-top:2px; }
.res-banner::before { content:''; position:absolute; inset:0; background:linear-gradient(135deg,rgba(255,255,255,0.08) 0%,transparent 50%); }
.res-banner-text { font-family:var(--display); font-size:1.5rem; font-weight:600; color:#fff; position:relative; }
.res-banner-num { font-family:var(--display); font-size:2.2rem; font-weight:700; color:#fff; position:relative; }

/* ═══════════════════════════════════════ STORY GALLERY ════════════════════ */
.story-gallery { background:var(--chalk-warm); padding:120px 0; overflow:hidden; }
.story-gallery-head { max-width:1200px; margin:0 auto 48px; padding:0 48px; text-align:center; }
.story-gallery-sub { font-size:1.15rem; color:var(--body-text-soft); line-height:1.7; max-width:580px; margin:20px auto 0; }
.gallery-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:6px; max-width:1200px; margin:0 auto; padding:0 48px; }
.gallery-item { position:relative; overflow:hidden; aspect-ratio:4/3; background:var(--parchment); cursor:pointer; }
.gallery-item img { width:100%; height:100%; object-fit:cover; object-position:center 25%; transition:transform .6s var(--ease), filter .4s; filter:grayscale(0.15); }
.gallery-item:hover img { transform:scale(1.06); filter:grayscale(0); }
.gallery-item .gallery-caption { position:absolute; bottom:0; left:0; right:0; padding:24px 14px 12px; background:linear-gradient(transparent,rgba(0,0,0,0.65)); font-size:0.72rem; font-weight:500; color:#fff; letter-spacing:0.5px; line-height:1.4; opacity:0; transition:opacity .4s; }
.gallery-item:hover .gallery-caption { opacity:1; }

/* ═══════════════════════════════════════ PROCESS ══════════════════════════ */
.process { background:var(--navy); padding:120px 0; }
.process-head { margin-bottom:64px; }
.steps-grid { display:grid; grid-template-columns:1fr 1fr; gap:32px; }
.step-card { background:rgba(255,255,255,0.03); border:1px solid rgba(255,255,255,0.06); border-radius:8px; padding:40px 36px; position:relative; transition:border-color 0.3s; }
.step-card:hover { border-color:rgba(244,100,33,0.3); }
.step-num { font-family:var(--display); font-size:3rem; font-weight:700; color:var(--fire); opacity:1; line-height:1; margin-bottom:16px; }
.step-card h3 { font-family:var(--display); font-size:1.5rem; font-weight:600; color:#fff; margin-bottom:12px; line-height:1.3; }
.step-card p { font-size:1.1rem; color:var(--smoke); line-height:1.8; }

/* ═══════════════════════════════════════ REAFFIRM + CONTACT (sidebar form) ═ */
.reaffirm { background:var(--chalk-warm); padding:100px 0; }
.reaffirm .container { display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:start; }
.reaffirm-copy { color:var(--body-text); margin-top:24px; font-size:1.15rem; line-height:1.85; max-width:640px; }
.reaffirm-copy p + p { margin-top:14px; }
.sidebar-popup-card { position:sticky; top:120px; background:var(--navy); border:1px solid rgba(244,100,33,0.35); box-shadow:0 30px 80px rgba(0, 0, 0, 0.4), 0 0 0 1px rgba(244,100,33,0.12), 0 0 80px rgba(244,100,33,0.10); padding:48px 36px 32px; border-radius:4px; overflow:hidden; }
.sidebar-popup-card::before { content:''; position:absolute; top:0; left:0; right:0; height:3px; background:linear-gradient(90deg, transparent, var(--fire), transparent); opacity:0.9; }
.sidebar-popup-card .popup-eyebrow { margin-bottom:16px; }
.sidebar-popup-headline { font-family:var(--display); font-size:1.85rem; font-weight:500; line-height:1.15; color:#fff; letter-spacing:-0.5px; margin:0 0 16px; }
.sidebar-popup-headline em { font-style:italic; font-weight:400; color:var(--fire); }
.sidebar-popup-lede { font-size:14px; line-height:1.55; color:rgba(255,255,255,0.7); margin:0 0 26px; }
.sidebar-popup-footnote { margin-top:18px; padding-top:16px; border-top:1px solid rgba(255,255,255,0.08); font-family:var(--body); font-size:11.5px; line-height:1.5; color:rgba(255,255,255,0.45); text-align:center; }
.sidebar-popup-footnote strong { color:rgba(255,255,255,0.7); font-weight:600; }

/* ═══════════════════════════════════════ CONTINGENCY ══════════════════════ */
.contingency { background:var(--navy); padding:120px 0; }
.contingency-inner { max-width:780px; margin:0 auto; }
.contingency-lede { color:rgba(255,255,255,0.6); margin-top:24px; font-size:1.15rem; line-height:1.85; }
.contingency-body { color:rgba(255,255,255,0.6); margin-top:16px; font-size:1.15rem; line-height:1.85; }
.contingency-callout { background:rgba(244,100,33,0.1); border-left:3px solid var(--fire); padding:24px 28px; border-radius:0 8px 8px 0; margin:32px 0; }
.contingency-callout p { font-weight:600; color:#fff; font-size:1.15rem; margin:0; }
.contingency-callout a { color:var(--fire); text-decoration:none; }

/* ═══════════════════════════════════════ FAQ ══════════════════════════════ */
.faq { background:var(--chalk-warm); padding:120px 0; }
.faq-layout { display:grid; grid-template-columns:1fr 1.4fr; gap:80px; align-items:start; }
.faq-head { margin-bottom:0; }
.faq-head-text { font-size:1.15rem; color:var(--body-text); line-height:1.85; margin-top:24px; }
.faq-head-text p + p { margin-top:14px; }
.faq-head-text a { color:var(--fire); text-decoration:none; font-weight:600; }
.faq-list { max-width:none; }
.faq-item { border-bottom:1px solid var(--border-soft); }
.faq-q { width:100%; background:none; border:none; padding:24px 48px 24px 0; font-family:var(--display); font-size:1.2rem; font-weight:600; color:var(--ink); text-align:left; cursor:pointer; position:relative; transition:color 0.3s; line-height:1.3; }
/* Keep the question dark on interaction. GeneratePress styles bare <button>
   elements with an accent (orange) background on :hover/:focus — neutralize it
   here so the FAQ rows never fill orange. No red hover text. Austin 2026-06-18. */
.faq-q:hover, .faq-q:focus { background:none; border:none; color:var(--ink); }
.faq-q::after { content:'+'; position:absolute; right:0; top:50%; transform:translateY(-50%); font-family:var(--body); font-size:1.4rem; font-weight:300; color:var(--teal); transition:transform 0.3s, color 0.3s; }
.faq-item.open .faq-q::after { transform:translateY(-50%) rotate(45deg); color:var(--fire); }
.faq-a { max-height:0; overflow:hidden; transition:max-height 0.5s var(--ease), padding 0.5s; padding:0; }
.faq-item.open .faq-a { max-height:600px; padding:0 0 24px 0; }
.faq-a p { font-size:0.95rem; color:var(--body-text-soft); line-height:1.8; max-width:680px; }

/* ═══════════════════════════════════════ SERVING CENTRAL FLORIDA ══════════ */
.serving { background:var(--navy); padding:100px 0; }
.serving-head { color:#fff; }
.serving-sub { color:rgba(255,255,255,0.55); max-width:680px; margin-top:16px; margin-bottom:48px; }
.serving-cols { display:grid; grid-template-columns:1fr 1fr; gap:48px; }
.serving-col-head { font-family:var(--body); font-size:11px; font-weight:700; letter-spacing:3px; text-transform:uppercase; color:var(--fire); margin-bottom:20px; padding-bottom:12px; border-bottom:1px solid rgba(255,255,255,0.08); }
.serving-list { columns:2; column-gap:32px; list-style:none; }
.serving-list li { padding:6px 0; font-size:14px; color:rgba(255,255,255,0.5); break-inside:avoid; }

/* ═══════════════════════════════════════ FEATURED RESOURCES ═══════════════ */
.resources { background:var(--chalk); padding:120px 0; }
.resources-sub { color:var(--body-text); max-width:680px; margin-top:16px; }
.resources-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; margin-top:48px; }
.resource-card { background:var(--chalk-warm); border:1px solid var(--border-soft); border-radius:8px; padding:32px 28px; text-decoration:none; display:block; transition:border-color 0.2s; }
.resource-card:hover { border-color:var(--fire); }
.resource-cat { font-size:11px; font-weight:600; letter-spacing:3px; text-transform:uppercase; color:var(--fire); margin-bottom:14px; }
.resource-card h3 { font-family:var(--display); font-size:1.5rem; font-weight:600; color:var(--ink); margin-bottom:12px; line-height:1.3; }
.resource-card p { font-size:0.88rem; color:var(--body-text-soft); line-height:1.7; }

/* ═══════════════════════════════════════ CTA (bottom) ═════════════════════ */
/* Shared .cta band (.cta, ::before, .cta-inner, h2, p) lives in global.css
   (pre-ship-qc B1 — single source of truth). Only the homepage-unique button
   override below remains here. */
/* Bottom-CTA button is navy-on-gradient — overrides global .cta-btn fire gradient,
   scoped to .cta so it only applies inside this section. */
.cta .cta-btn { display:inline-block; background:var(--navy); color:#fff; text-decoration:none; font-size:13px; font-weight:600; letter-spacing:3px; text-transform:uppercase; padding:18px 48px; border:none; border-radius:0; box-shadow:none; transition:transform .3s,box-shadow .3s; }
.cta .cta-btn:hover { transform:translateY(-3px); box-shadow:0 12px 40px rgba(0,0,0,0.3); }

/* ═══════════════════════════════════════ VIDEO LIGHTBOX ═══════════════════ */
.video-lightbox { display:none; position:fixed; inset:0; background:rgba(7, 16, 31, 0.92); -webkit-backdrop-filter:blur(12px); backdrop-filter:blur(12px); z-index:10001; align-items:center; justify-content:center; padding:64px 32px; }
.video-lightbox.is-active { display:flex; animation:vid-bd-in 0.3s ease both; }
@keyframes vid-bd-in { from { opacity:0; } to { opacity:1; } }
.video-lightbox-frame { position:relative; width:100%; max-width:1100px; aspect-ratio:16 / 9; background:#000; box-shadow:0 30px 80px rgba(0, 0, 0, 0.6); border:1px solid rgba(244,100,33,0.25); border-radius:4px; overflow:hidden; }
.video-lightbox-frame iframe { position:absolute; inset:0; width:100%; height:100%; border:0; }
.video-lightbox-close { position:absolute; top:24px; right:24px; z-index:2; width:38px; height:38px; background:rgba(0, 0, 0, 0.5); border:1px solid rgba(255,255,255,0.25); border-radius:50%; color:#fff; font-size:20px; line-height:1; cursor:pointer; display:flex; align-items:center; justify-content:center; transition:all 0.2s ease; }
.video-lightbox-close:hover { background:rgba(244,100,33,0.85); border-color:var(--fire); transform:scale(1.05); }

/* ═══════════════════════════════════════ URGENCY (Take Action Now band) ═══ */
.urgency { background:var(--navy); padding:100px 0; text-align:center; position:relative; overflow:hidden; }
.urgency::before { content:''; position:absolute; inset:0; background:radial-gradient(ellipse 60% 50% at 50% 40%, rgba(244,100,33,0.06) 0%, transparent 70%); }
.urgency-inner { position:relative; z-index:1; max-width:700px; margin:0 auto; padding:0 48px; }
.urgency-num { font-family:var(--display); font-size:clamp(6rem,14vw,9rem); font-weight:700; color:var(--fire); line-height:0.85; opacity:1; margin-bottom:8px; }
.urgency-numsub { font-size:10px; font-weight:600; letter-spacing:4px; text-transform:uppercase; color:var(--fire); opacity:0.5; margin-bottom:32px; }
.urgency-badge { display:inline-block; font-size:15px; font-weight:700; letter-spacing:4px; text-transform:uppercase; color:var(--fire); border:1px solid rgba(244,100,33,0.3); padding:8px 22px; margin-bottom:28px; }
.urgency h2 { font-family:var(--display); font-size:clamp(3rem,6vw,4.6rem); font-weight:700; color:#fff; line-height:1.08; margin-bottom:20px; }
.urgency-deadline { font-family:var(--display); font-size:1.6rem; font-weight:500; font-style:italic; color:var(--fire); margin-bottom:32px; line-height:1.4; }
.urgency p { font-size:1.1rem; color:var(--smoke); line-height:1.8; margin-bottom:20px; }
.urgency-rule { width:60px; height:1px; background:rgba(244,100,33,0.3); margin:28px auto; }
.urgency-kicker { font-family:var(--display); font-size:1.55rem; font-weight:500; color:rgba(255,255,255,0.9); line-height:1.5; margin-top:32px; max-width:760px; margin-left:auto; margin-right:auto; }
.urgency-kicker strong { color:var(--fire); font-weight:700; }

/* ═══════════════════════════════════════ DARK-MODE TRANSITIONS ════════════ */
.brand-intro, .practice-areas, .pa-item, .bullseye, .bs-c, .testimonials, .test-card,
.stonewall, .faq, .faq-item, .story-gallery, .team, .person, .cta, .results, .res-card,
.poker, .pip, .trap, .origin, .system, .process, .reaffirm, .contingency, .serving, .resources {
  transition: background-color 0.35s ease, color 0.35s ease, border-color 0.35s ease;
}

/* ═══════════════════════════════════════ RESPONSIVE ═══════════════════════ */
@media(max-width:1024px){
  /* Hero hugs its content (no leftover 100vh empty band below it). */
  .hero{min-height:auto}
  .hero-inner{grid-template-columns:1fr;min-height:auto;padding:0 24px}
  /* Single-column hero: drop the attorney cutout entirely (no faint backdrop)
     so the copy carries the fold cleanly. Austin 2026-06-18. */
  .hero-img{display:none}
  .hero-content{padding:108px 0 48px}
  .pip-layout{grid-template-columns:1fr;gap:32px}
  .pip-left{position:static}.pip-num{font-size:6rem}
  .results-grid{grid-template-columns:1fr 1fr}
  .gallery-grid{grid-template-columns:repeat(3,1fr);padding:0 36px}
  .lead{grid-template-columns:1fr 1fr;gap:40px;padding:0 36px}
  .team-grid{gap:24px}
  .person{min-width:240px;max-width:240px}
  .team-rest{padding:0 36px}
  .team-intro{padding:0 36px}
}
@media (max-width:900px) {
  .brand-intro .container { grid-template-columns:1fr; }
  .brand-intro-video { margin-top:32px; }
  .pa-grid { grid-template-columns:1fr 1fr; }
  .origin-body-grid { grid-template-columns:1fr; gap:40px; }
  .poker-grid { grid-template-columns:1fr; }
  .poker-photo { order:-1; }
  .sw-grid { grid-template-columns:1fr; gap:48px; }
  .sw-content { text-align:center; }
  .sw-content .eyebrow { justify-content:center; }
  .faq-layout { grid-template-columns:1fr; gap:48px; }
  .reaffirm .container { grid-template-columns:1fr; gap:48px; }
  .serving-cols { grid-template-columns:1fr; }
  .resources-grid { grid-template-columns:1fr; }
}
@media (max-width:768px){
  section,.origin,.system,.pip,.trap,.poker,.bullseye,.testimonials,.stonewall,.results,.story-gallery,.process,.faq,.cta{padding:80px 0}
  .gallery-grid{grid-template-columns:repeat(2,1fr);padding:0 24px;gap:4px}
  .team{padding:80px 0 0}
  /* Above-the-fold mobile hero: image hidden, tight padding, compact type so
     the H1 + trust + stats land in the first screen. Buttons hidden (the sticky
     phone bar carries the CTA). Top stays clear of the logo. Mirrors the
     practice-area mobile hero. Austin 2026-06-18. */
  .hero-content{padding:92px 0 28px}
  .hero-h1-kw{font-size:13px;letter-spacing:3px;margin-bottom:16px}
  .hero-h1-tagline{font-size:2.3rem;line-height:1.12}
  /* Trust widget: left-align with the hero copy, no reserved height. */
  .hero-trust{min-height:auto;padding:8px 0 6px;justify-content:flex-start}
  .hero-trust > *{max-width:100%}
  .hero-sub{font-size:1.02rem;margin-bottom:24px}
  /* Stats stay in ONE row of 3 (no wrap) so the dividers line up; values
     scale down to fit and never wrap. Was wrapping to 2+1 and looked broken. */
  .hero-stats{display:flex;flex-wrap:nowrap;gap:0;margin-bottom:0}
  .hstat{flex:1 1 0;padding:0 12px}
  .hstat:first-child{padding-left:0}
  .hstat:last-child{padding-right:0}
  .hstat-val{font-size:clamp(1.4rem,5.6vw,1.9rem);white-space:nowrap}
  .hstat-lbl{font-size:9px;letter-spacing:1.5px;margin-top:4px}
  /* Hero buttons hidden on mobile — the sticky phone bar carries the call CTA,
     so the in-hero phone + ghost buttons are redundant. Austin 2026-06-18. */
  .hero-actions{display:none}
  .proof-inner{gap:32px;padding:0 20px}
  .proof-badge img { max-height:60px; max-width:110px; }
  .system-cards{grid-template-columns:1fr}
  .trap-stage{grid-template-columns:1fr}
  .trap-mid{height:40px}.trap-mid::before{width:100%;height:1px;top:50%;bottom:auto}
  .trap-yours{text-align:left}
  .poker-bar{grid-template-columns:1fr 1fr}
  .pbar-cell{border-bottom:1px solid var(--border-soft)}
  .lead{grid-template-columns:1fr;gap:24px;padding:0 24px}
  .lead-accent{display:none}
  .lead-nums{flex-wrap:wrap;gap:16px}
  .lead-num{margin-right:0;padding-right:0;border-right:none}
  .team-grid{gap:20px}
  .person{min-width:220px;max-width:220px}
  .team-rest{padding:0 24px;margin-top:56px}
  .team-intro{padding:0 24px}
  .bs-cols{grid-template-columns:1fr}
  .test-grid{grid-template-columns:1fr}
  .steps-grid{grid-template-columns:1fr}
  .results-grid{grid-template-columns:1fr}
  .res-banner{flex-direction:column;gap:8px;text-align:center;padding:32px 24px}
}
@media (max-width:600px) {
  .pa-grid { grid-template-columns:1fr; }
}
@media (max-width: 640px) {
  .video-lightbox { padding:32px 16px; }
  .video-lightbox-close { top:12px; right:12px; width:34px; height:34px; font-size:18px; }
}
@media (min-width:1800px) {
  .hero-inner { max-width:1800px; }
  .hero-content { padding:160px 48px 140px 0; }
  .hero-h1-tagline { font-size:5.4rem; }
  .hero-h1-kw { font-size:21px; }
  .hero-sub { font-size:1.4rem; }
  .hstat-val { font-size:3.4rem; }
  .hero-img img { max-height:920px; }
}
@media (min-width:2200px) {
  .hero-inner { max-width:1800px; }
  .hero-content { padding:180px 64px 160px 0; }
  .hero-h1-tagline { font-size:6rem; }
  .hero-sub { font-size:1.5rem; }
  .hero-img img { max-height:1000px; }
}
