/* ===========================================================
   Helping Hand Family & Divorce Attorneys — brand theme
   Charcoal + warm gold (#feb42f). Playfair Display headings
   for trust/authority, Roboto body. Overrides styles.css :root.
   =========================================================== */
:root{
  --bg:#181715; --bg2:#201e1b; --bg3:#272420; --card:#211f1c; --line:#36322c;
  --ink:#f7f5f2; --muted:#b8b2a8; --muted2:#867f75;
  --green:#feb42f; --green-d:#d9941b; --green-soft:rgba(254,180,47,.12);
  --orange:#c9962f; --orange-d:#a87d22;
  --display:'Playfair Display',Georgia,serif;
  --cond:'Roboto Condensed',Arial,sans-serif;
  --body:'Roboto',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
}
/* law-firm headline treatment: elegant serif, normal case (not the sporty caps) */
h1,h2,h3{font-family:var(--display);text-transform:none;letter-spacing:-0.01em;line-height:1.1;font-weight:700}
h2.title{font-size:clamp(30px,4.6vw,54px)}
.eyebrow{font-family:var(--cond);color:var(--green)}
/* gold primary button */
.btn-green{background:var(--green);color:#211603;box-shadow:0 12px 30px -10px rgba(254,180,47,.5)}
.btn-green:hover{background:#ffc451;box-shadow:0 16px 38px -10px rgba(254,180,47,.66)}
.btn-orange{background:var(--orange);color:#1c1303}
.btn-orange:hover{background:#dba93a}
.nav.scrolled{background:rgba(24,23,21,.9);border-bottom-color:var(--line)}
.kg{color:var(--green)}
/* gold accents on links/ribbons inherit via var(--green) already */

/* =========================================================
   CONVERSION MODULES (shared across generated pages)
   SVG-driven, charcoal + gold. Keeps pages rich, not thin.
   ========================================================= */
.micon{width:30px;height:30px;stroke:var(--green);stroke-width:1.7;fill:none;stroke-linecap:round;stroke-linejoin:round}
.micon.big{width:34px;height:34px}

/* page trust bar (credentials) */
.ptrust{background:var(--bg2);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.ptrust .wrap{display:flex;flex-wrap:wrap;gap:12px 28px;justify-content:center;padding:16px 24px}
.ptrust span{font-family:var(--cond);text-transform:uppercase;letter-spacing:.05em;font-size:13px;color:var(--muted);display:flex;align-items:center;gap:8px}
.ptrust span b{color:var(--ink);font-weight:700}
.ptrust span::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--green);box-shadow:0 0 8px var(--green)}

/* value props grid (icon cards) */
.vprops{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.vprop{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:24px;transition:.2s}
.vprop:hover{transform:translateY(-4px);border-color:#4a443c}
.vprop .vic{width:50px;height:50px;border-radius:12px;display:grid;place-items:center;background:var(--green-soft);border:1px solid rgba(254,180,47,.3);margin-bottom:14px}
.vprop h3{font-size:18px;margin-bottom:7px}.vprop p{color:var(--muted);font-size:14.5px;line-height:1.55}

/* how-it-works process steps */
.psteps{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;counter-reset:st}
.pstep{position:relative;background:var(--bg2);border:1px solid var(--line);border-radius:var(--r);padding:28px 24px}
.pstep .pnum{position:absolute;top:-14px;left:24px;width:34px;height:34px;border-radius:50%;background:var(--green);color:#211603;font-family:var(--display);font-weight:700;display:grid;place-items:center;font-size:17px}
.pstep .pic{width:46px;height:46px;display:grid;place-items:center;margin:6px 0 12px}
.pstep h3{font-size:19px;margin-bottom:7px}.pstep p{color:var(--muted);font-size:14.5px;line-height:1.55}

/* attorney byline strip (real photo, site-wide) */
.astrip{background:linear-gradient(180deg,var(--bg2),var(--bg));border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.astrip .wrap{display:flex;align-items:center;gap:28px;padding:34px 24px;flex-wrap:wrap}
.astrip img{width:104px;height:104px;border-radius:50%;object-fit:cover;object-position:center top;border:2px solid var(--green);flex:0 0 auto}
.astrip .ab-txt{flex:1;min-width:240px}
.astrip .ab-txt .eyebrow{margin-bottom:4px}
.astrip .ab-txt h3{font-size:23px;margin-bottom:6px}
.astrip .ab-txt p{color:var(--muted);font-size:15px;max-width:60ch}
.astrip .ab-cta{display:flex;gap:12px;flex-wrap:wrap}

/* sticky mobile call/text/consult bar (all pages) */
.ccbar{position:fixed;left:0;right:0;bottom:0;z-index:80;display:none;grid-template-columns:1fr 1fr 1.2fr;gap:1px;background:var(--line);box-shadow:0 -8px 24px -10px rgba(0,0,0,.6)}
.ccbar a{display:flex;flex-direction:column;align-items:center;gap:2px;padding:10px 6px;background:var(--bg2);color:var(--ink);font-family:var(--cond);text-transform:uppercase;letter-spacing:.05em;font-weight:700;font-size:12.5px}
.ccbar a.cta{background:var(--green);color:#211603}
.ccbar a svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:2}

@media(max-width:980px){.vprops{grid-template-columns:1fr 1fr}.psteps{grid-template-columns:1fr}}
@media(max-width:920px){.ccbar{display:grid}body{padding-bottom:60px}}
@media(max-width:560px){.vprops{grid-template-columns:1fr}.astrip .wrap{flex-direction:column;text-align:center}.astrip .ab-txt p{margin-inline:auto}.astrip .ab-cta{justify-content:center}}

/* =========================================================
   CRO LAYER (ported from Freedom First + Litigators for Justice)
   urgency block · case quiz · desktop contact FAB · exit-intent
   ========================================================= */
.cro-eyebrow{font-family:var(--cond);text-transform:uppercase;letter-spacing:.22em;font-weight:600;font-size:13px;color:var(--green);margin-bottom:6px}
.cro-fine{color:var(--muted2);font-size:12px;margin-top:12px}

/* urgency block */
.urgency{background:rgba(254,180,47,.07);border:1px solid rgba(254,180,47,.3);border-left:4px solid var(--green);border-radius:12px;padding:22px 24px;display:flex;gap:16px;align-items:flex-start}
.urgency .uic{font-size:24px;line-height:1;flex:0 0 auto}
.urgency h3{font-size:20px;margin-bottom:6px}
.urgency p{color:var(--muted);font-size:15px;line-height:1.6;max-width:70ch}

/* case quiz */
.cro-quiz{background:var(--bg2);border:1px solid var(--green-soft);border:1px solid rgba(254,180,47,.3);border-radius:18px;padding:30px;max-width:620px;margin:0 auto;box-shadow:var(--shadow)}
.cro-quiz h3{font-size:26px;margin:2px 0 6px}
.cro-quiz-sub{color:var(--muted);font-size:15px;margin-bottom:18px}
.cro-quiz-bar{height:6px;background:rgba(255,255,255,.08);border-radius:99px;overflow:hidden;margin-bottom:20px}
.cro-quiz-bar span{display:block;height:100%;background:var(--green);transition:width .3s}
.cro-quiz-q{font-family:var(--display);font-size:19px;font-weight:700;margin-bottom:14px}
.cro-quiz-opts{display:grid;gap:10px}
.cro-quiz-opt{display:flex;align-items:center;justify-content:space-between;gap:12px;text-align:left;background:rgba(255,255,255,.04);border:1px solid var(--line);color:var(--ink);border-radius:11px;padding:14px 16px;font-family:var(--body);font-weight:600;font-size:15.5px;cursor:pointer;transition:.15s}
.cro-quiz-opt:hover{background:var(--green);color:#211603;border-color:var(--green)}
.cro-quiz-opt span{opacity:.5}
.cro-quiz-back{margin-top:14px;background:none;border:0;color:var(--muted);font-family:var(--cond);text-transform:uppercase;letter-spacing:.08em;font-size:13px;cursor:pointer}
.cro-quiz-cta{margin-top:8px}

/* desktop floating contact FAB */
.cro-fab{position:fixed;right:24px;bottom:24px;z-index:70;display:none}
.cro-fab-btn{background:var(--green);color:#211603;border:0;border-radius:30px;padding:14px 22px;font-family:var(--cond);text-transform:uppercase;letter-spacing:.06em;font-weight:700;font-size:15px;cursor:pointer;box-shadow:0 14px 34px -10px rgba(254,180,47,.6)}
.cro-fab .cro-fab-close{display:none}
.cro-fab.open .cro-fab-open{display:none}.cro-fab.open .cro-fab-close{display:inline}
.cro-fab-panel{margin-bottom:12px;width:266px;background:var(--card);border:1px solid var(--line);border-radius:14px;overflow:hidden;box-shadow:var(--shadow)}
.cro-fab-head{background:var(--bg3);color:var(--ink);font-family:var(--cond);text-transform:uppercase;letter-spacing:.05em;font-weight:700;font-size:13px;padding:13px 16px;border-bottom:1px solid var(--line)}
.cro-fab-row{display:flex;align-items:center;gap:10px;padding:13px 16px;color:var(--ink);font-weight:600;font-size:15px;border-bottom:1px solid var(--line)}
.cro-fab-row:last-child{border-bottom:0}.cro-fab-row:hover{background:rgba(255,255,255,.05);color:var(--green)}
@media(min-width:921px){.cro-fab{display:block}}

/* =========================================================
   MULTI-STEP INTAKE MODAL (white card, gold steps)
   ========================================================= */
.im-overlay{position:fixed;inset:0;z-index:120;background:rgba(15,14,12,.72);display:none;align-items:flex-start;justify-content:center;padding:24px 16px;overflow-y:auto}
.im-overlay.open{display:flex}
.im-card{position:relative;background:#fff;color:#2a2723;border:3px solid var(--green);border-radius:16px;max-width:680px;width:100%;padding:30px 30px 26px;margin:auto;box-shadow:0 30px 80px -20px rgba(0,0,0,.6);font-family:var(--body)}
.im-x{position:absolute;top:16px;right:18px;background:none;border:0;font-size:30px;line-height:1;color:#3a3733;cursor:pointer}
.im-logo{display:block;height:54px;width:auto;margin:4px auto 22px}
.im-steps{display:flex;align-items:center;justify-content:center;gap:0;margin-bottom:22px}
.im-step{display:flex;flex-direction:column;align-items:center;gap:7px;flex:0 0 auto}
.im-line{flex:1 1 auto;height:3px;background:#f0e2c6;margin:0 6px;margin-bottom:22px;min-width:30px}
.im-dot{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#f3e7cf;color:#b89a55;font-weight:700;font-size:15px;transition:.2s}
.im-step.active .im-dot{background:var(--green);color:#fff}
.im-step.current .im-dot{background:#e8901a;color:#fff}
.im-slabel{font-size:13px;color:#b0a896;font-weight:600;text-transform:uppercase;letter-spacing:.04em}
.im-step.current .im-slabel{color:#e8901a}
.im-step.active .im-slabel{color:#7a6f55}
.im-head{background:var(--green);color:#fff;font-weight:800;letter-spacing:.04em;text-transform:uppercase;text-align:center;padding:14px;border-radius:8px;margin-bottom:22px;font-size:19px}
.im-form label{display:block;font-weight:600;color:#3a3733;font-size:15px;margin-bottom:16px}
.im-form label i{color:#e05a4e;font-style:normal}
.im-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.im-form input,.im-form select,.im-form textarea{width:100%;margin-top:7px;padding:13px 14px;border:1px solid #d9d2c4;border-radius:8px;background:#f7f5f1;color:#2a2723;font-family:var(--body);font-size:15px}
.im-form input:focus,.im-form select:focus,.im-form textarea:focus{outline:0;border-color:var(--green);background:#fff}
.im-radios{display:flex;gap:10px;margin-top:7px}
.im-radios button{flex:1;padding:12px;border:1px solid #d9d2c4;border-radius:8px;background:#f7f5f1;color:#3a3733;font-weight:600;font-size:14.5px;cursor:pointer;transition:.15s}
.im-radios button.on,.im-radios button:hover{background:var(--green);color:#fff;border-color:var(--green)}
.im-fine{font-size:12px;color:#9b9488;margin-top:4px}
.im-err{background:#fdeceb;color:#c0392b;border:1px solid #f3c5c0;border-radius:8px;padding:10px 12px;font-size:14px;margin-bottom:12px}
.im-nav{display:flex;align-items:center;justify-content:space-between;margin-top:6px}
.im-back{background:none;border:0;color:#8a8170;font-weight:600;cursor:pointer;font-size:15px}
.im-next,.im-submit{margin-left:auto;background:#e8901a;color:#fff;border:0;border-radius:8px;padding:14px 30px;font-weight:700;font-size:16px;cursor:pointer;box-shadow:0 10px 24px -10px rgba(232,144,26,.6)}
.im-next:hover,.im-submit:hover{background:#d9821a}
.im-done{text-align:center;padding:18px 6px 8px}
.im-done .im-check{width:62px;height:62px;border-radius:50%;background:var(--green);color:#fff;font-size:32px;display:grid;place-items:center;margin:0 auto 16px}
.im-done h3{color:#2a2723;font-size:26px;margin-bottom:8px}
.im-done p{color:#6a6356;font-size:15.5px}.im-done a{color:#d9821a;font-weight:700}
@media(max-width:560px){.im-card{padding:24px 18px}.im-row{grid-template-columns:1fr}.im-slabel{display:none}.im-head{font-size:16px}}

/* video embeds (Google Drive /preview) */
.ve-frame{position:relative;width:100%;aspect-ratio:16/9;border-radius:14px;overflow:hidden;border:1px solid var(--line);background:#000;box-shadow:var(--shadow)}
.ve-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
/* click-to-play facade (custom thumbnail + play button, loads Drive iframe on click) */
.ve-facade{cursor:pointer;background-size:cover;background-position:center;display:flex;align-items:center;justify-content:center}
.ve-facade::after{content:"";position:absolute;inset:0;background:rgba(10,9,8,.18);transition:.25s}
.ve-facade:hover::after{background:rgba(10,9,8,.04)}
.ve-play{position:relative;z-index:2;width:84px;height:84px;border-radius:50%;background:var(--green);box-shadow:0 12px 34px -6px rgba(0,0,0,.7);display:grid;place-items:center;transition:.2s}
.ve-facade:hover .ve-play{transform:scale(1.08)}
.ve-play::before{content:"";margin-left:7px;border-style:solid;border-width:17px 0 17px 28px;border-color:transparent transparent transparent #211603}
.ve-facade.ve-playing{cursor:default}
.ve-facade.ve-playing::after,.ve-facade.ve-playing .ve-play{display:none}
.video-embed{max-width:840px;margin:0 auto}
.video-2up{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.video-2up h3{font-size:20px}
@media(max-width:760px){.video-2up{grid-template-columns:1fr}}

/* exit-intent modal */
.cro-exit-overlay{position:fixed;inset:0;z-index:90;background:rgba(0,0,0,.72);display:flex;align-items:center;justify-content:center;padding:18px}
.cro-exit-card{position:relative;background:var(--bg2);border:1px solid rgba(254,180,47,.35);border-radius:18px;max-width:520px;width:100%;padding:34px 30px;box-shadow:var(--shadow)}
.cro-exit-card h3{font-size:27px;margin-bottom:10px}
.cro-exit-card p{color:var(--muted);font-size:15.5px;line-height:1.6}
.cro-exit-cta{display:flex;gap:12px;flex-wrap:wrap;margin-top:20px}
.cro-exit-x{position:absolute;top:12px;right:14px;background:none;border:0;color:var(--muted);font-size:28px;line-height:1;cursor:pointer}
