/* ==========================================================
   The Longmont Law Firm, LLC — longmont.law
   Palette: Whisper blue + white (navy/gold accents from logo)
   ========================================================== */
:root{
  --malibu:#EBF7FE;
  --malibu-strong:#8CCBF1;
  --malibu-deep:#2E86C5;
  --malibu-dark:#1B6FA8;
  --malibu-tint:#FAFDFF;
  --malibu-tint2:#FDFEFF;
  --navy:#1E3A6E;
  --navy-deep:#16294B;
  --ink:#22344F;
  --gold:#8CCBF1;
  --gold-light:#C9E8FB;
  --red:#D0342C;
  --white:#FFFFFF;
  --line:#C7E1F4;
  --shadow:0 10px 30px rgba(30,58,110,.10);
  --shadow-lg:0 22px 60px rgba(30,58,110,.16);
  --serif:'Cinzel',"Times New Roman",serif;
  --sans:'Source Sans 3','Segoe UI',system-ui,-apple-system,sans-serif;
  --maxw:1180px;
  --radius:14px;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition:none!important}
}
body{
  margin:0;font-family:var(--sans);font-size:17.5px;line-height:1.65;
  color:var(--ink);
  background:
    radial-gradient(1200px 600px at 5% -90px, rgba(140,203,241,.38), transparent 60%),
    radial-gradient(1000px 640px at 108% 20px, rgba(247,200,68,.13), transparent 55%),
    radial-gradient(1150px 1000px at 103% 103%, rgba(46,109,180,.14), transparent 60%),
    radial-gradient(900px 720px at -12% 92%, rgba(208,52,44,.06), transparent 55%),
    linear-gradient(172deg,#EAF4FE 0%,#E3F0FC 52%,#ECF6FF 100%);
  background-attachment:fixed;
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
}
img,svg{max-width:100%;height:auto}
a{color:var(--malibu-deep)}
a:hover{color:var(--navy)}
h1,h2,h3,h4{font-family:var(--serif);color:var(--navy);line-height:1.18;margin:0 0 .5em;font-weight:700}
h1{font-size:clamp(2.1rem,4.6vw,3.4rem);letter-spacing:.5px}
h2{font-size:clamp(1.6rem,3vw,2.3rem)}
h3{font-size:1.22rem;letter-spacing:.4px}
p{margin:.4em 0 1em;text-align:justify;-webkit-hyphens:auto;hyphens:auto}
.section-head p,.center p,p.center,.hero-note,.calc-disc,.pcdm-disc,figcaption,.byline p,.cred-item p{text-align:left}
.section-head p,.center p,p.center{text-align:center}
.lead{font-size:1.16rem;color:#33507e}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 22px}
.center{text-align:center}
.eyebrow{
  font-family:var(--sans);font-weight:700;letter-spacing:.24em;text-transform:uppercase;
  font-size:.8rem;color:var(--malibu-deep);margin-bottom:14px;display:flex;align-items:center;gap:12px;
}
.eyebrow::before{content:"";width:34px;height:2px;background:var(--gold);display:inline-block}
.eyebrow.center-line{justify-content:center}
.eyebrow.center-line::after{content:"";width:34px;height:2px;background:var(--gold);display:inline-block}
.skip{position:absolute;left:-999px;top:0;background:var(--navy);color:#fff;padding:10px 16px;z-index:200;border-radius:0 0 8px 0}
.skip:focus{left:0}
cite.stat{font-style:normal;font-family:var(--sans);font-size:.93em;color:var(--malibu-dark);white-space:nowrap;font-weight:600}

/* ---------- top bar ---------- */
.topbar{background:var(--navy);color:#DCE9F7;font-size:.88rem}
.topbar .wrap{display:flex;justify-content:space-between;align-items:center;gap:14px;min-height:40px;flex-wrap:wrap;padding-top:5px;padding-bottom:5px}
.topbar a{color:#fff;text-decoration:none;font-weight:600}
.topbar a:hover{color:var(--gold-light)}
.topbar .tb-left{display:flex;gap:20px;flex-wrap:wrap;align-items:center}
.topbar .ico{display:inline-block;margin-right:6px;color:var(--gold-light)}
.tb-actions{display:flex;gap:10px;align-items:center}
.tb-book{
  background:var(--gold-light);color:var(--navy-deep)!important;border-radius:999px;
  padding:4px 16px;font-weight:700;font-size:.84rem;text-decoration:none;white-space:nowrap;
}
.tb-book:hover{background:#EDD27E;color:var(--navy-deep)!important}
.tb-pay{
  border:1.5px solid rgba(255,255,255,.55);border-radius:999px;padding:3px 14px;
  font-weight:700;font-size:.84rem;white-space:nowrap;
}
.tb-pay:hover{border-color:var(--gold-light)}

/* ---------- header / nav ---------- */
.site-header{
  position:sticky;top:0;z-index:100;background:rgba(255,255,255,.96);
  backdrop-filter:blur(8px);border-bottom:1px solid var(--line);
  transition:box-shadow .25s ease;
}
.site-header.scrolled{box-shadow:var(--shadow)}
.site-header .wrap{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:86px}
.brand{display:flex;align-items:center;text-decoration:none;flex:0 1 auto}
.brand svg{width:min(340px,58vw);height:auto;display:block}
.nav{display:flex;align-items:center;gap:20px}
.nav a{
  color:var(--navy);text-decoration:none;font-weight:600;font-size:.98rem;
  padding:6px 2px;border-bottom:2.5px solid transparent;white-space:nowrap;
}
.nav a:hover{border-color:var(--malibu-strong)}
.nav a.active{border-color:var(--gold);color:var(--navy)}
.nav .has-sub{position:relative}
.nav .sub{
  position:absolute;top:100%;left:50%;transform:translateX(-50%);
  background:#fff;background-clip:padding-box;border:0;border-top:12px solid transparent;
  border-radius:12px;filter:drop-shadow(0 18px 38px rgba(30,58,110,.20));
  min-width:250px;padding:10px;display:none;flex-direction:column;gap:2px;z-index:130;
}
.nav .has-sub:hover .sub,.nav .has-sub:focus-within .sub{display:flex}
.nav .has-sub:hover::after{content:"";position:absolute;top:100%;left:-30px;right:-30px;height:16px}
.nav .sub a{border:0;border-radius:8px;padding:9px 14px;font-size:.96rem;white-space:normal}
.nav .sub a:hover{background:var(--malibu)}
.btn{
  display:inline-block;border-radius:999px;padding:13px 26px;font-weight:700;font-size:1rem;
  text-decoration:none;text-align:center;letter-spacing:.02em;border:2px solid transparent;
  transition:transform .15s ease,box-shadow .15s ease,background .2s ease;cursor:pointer;
}
.btn:hover{transform:translateY(-2px);box-shadow:var(--shadow)}
.btn-primary{background:var(--navy);color:#fff!important}
.btn-primary:hover{background:var(--navy-deep)}
.btn-malibu{background:var(--malibu);color:var(--navy-deep)!important;border-color:var(--malibu-strong)}
.btn-malibu:hover{background:#D8EFFC}
.btn-white{background:#fff;color:var(--navy)!important}
.btn-outline{border-color:#fff;color:#fff!important;background:transparent}
.btn-outline:hover{background:rgba(255,255,255,.14)}
.btn-gold{background:var(--gold);color:#16294B!important}
.btn-gold:hover{background:#6FB9E8}
.nav-cta{white-space:nowrap}
.hamburger{display:none;background:none;border:0;cursor:pointer;padding:10px}
.hamburger span{display:block;width:26px;height:3px;background:var(--navy);margin:5px 0;border-radius:2px;transition:.25s}

/* ---------- hero ---------- */
.hero{
  position:relative;overflow:hidden;
  background:linear-gradient(168deg,var(--malibu) 0%,#F3FAFF 46%,var(--malibu-tint) 100%);
}
.hero .wm{
  position:absolute;right:-140px;bottom:-90px;width:640px;color:var(--navy);opacity:.05;pointer-events:none;
}
.hero .wrap{
  position:relative;display:grid;grid-template-columns:1.15fr .85fr;gap:44px;align-items:center;
  padding-top:74px;padding-bottom:84px;
}
.hero h1{color:var(--navy-deep);margin-bottom:14px}
.hero .tagline{
  font-family:var(--serif);color:var(--navy);font-size:1.15rem;letter-spacing:.16em;
  text-transform:uppercase;display:flex;align-items:center;gap:14px;margin-bottom:18px;font-weight:600;
}
.hero .tagline::before{content:"";width:44px;height:2.5px;background:var(--gold)}
.hero p.lead{color:#1F3A5F;max-width:560px}
.hero-svcs{display:grid;grid-template-columns:1fr 1fr;gap:2px 36px;margin-top:22px;max-width:640px}
.hero-svcs a{display:block;padding:11px 0 12px;text-decoration:none;border-bottom:1px solid #D8E9F7;transition:border-color .15s}
.hero-svcs a:hover{border-bottom-color:var(--malibu-strong)}
.hero-svcs strong{display:block;font-family:var(--serif);color:var(--navy-deep);font-size:1.04rem;letter-spacing:.2px}
.hero-svcs strong::after{content:" →";color:var(--malibu-strong);font-family:var(--sans)}
.hero-svcs a:hover strong{color:var(--malibu-deep)}
.hero-svcs span{display:block;color:#4A6690;font-size:.84rem;line-height:1.45;margin-top:3px}
@media(max-width:760px){.hero-svcs{grid-template-columns:1fr}}
.hero-state{margin-top:16px;font-size:1.02rem;color:var(--navy);font-weight:600}
.hero-state strong{color:var(--navy-deep)}
.hero-ctas{display:flex;gap:14px;flex-wrap:wrap;margin-top:26px}
.hero-note{font-size:.95rem;color:#28466E;margin-top:14px}
.hero-note strong{color:var(--navy-deep)}
.note-badge{display:inline-block;margin-left:7px;padding:2px 12px;border-radius:999px;background:var(--navy-deep);color:#fff!important;font-size:.78rem;font-weight:800;letter-spacing:.02em;text-decoration:none;white-space:nowrap;vertical-align:baseline;transition:background .15s,transform .15s}
.note-badge:hover{background:var(--red);transform:translateY(-1px)}
.hero-card{
  background:linear-gradient(160deg,#24406F,#16294B);border-radius:16px;
  box-shadow:0 16px 40px rgba(22,41,75,.34);border:1.5px solid rgba(177,143,46,.55);
  padding:16px 22px 18px;color:#fff;
  display:flex;flex-direction:column;align-items:center;gap:0;
}
.hero-card svg{width:100%;max-width:170px}
.hero-card .hc-line{
  border-top:1px solid rgba(255,255,255,.16);margin-top:6px;padding-top:12px;width:100%;
  text-align:center;
}
.hc-name{display:block;font-family:var(--serif);font-size:1.24rem;font-weight:700;color:#fff;letter-spacing:.01em}
.hc-since{
  display:inline-block;margin:5px 0 10px;font-size:.63rem;font-weight:800;letter-spacing:.12em;
  text-transform:uppercase;color:#F0D48A;background:rgba(255,255,255,.07);border:1px solid rgba(217,184,74,.5);
  border-radius:999px;padding:3px 11px;
}
.hc-roles{list-style:none;margin:0;padding:0;display:grid;gap:6px;font-size:.9rem;color:#CBDAF0;text-align:left}
.hc-roles li{line-height:1.3;padding-left:16px;position:relative}
.hc-roles li::before{content:"";position:absolute;left:0;top:.52em;width:6px;height:6px;border-radius:50%;background:#D9B84A}
.hc-roles strong{color:#fff;font-weight:700}

/* ---------- V6 practice-first tiles hero ---------- */
.hero.hero6 .wrap{display:block;padding-top:58px;padding-bottom:62px;text-align:center}
.hero6-head{max-width:830px;margin:0 auto}
.hero6 .tagline{justify-content:center}
.hero6 .tagline::after{content:"";width:44px;height:2.5px;background:var(--gold)}
.hero6 h1{color:var(--navy-deep);font-size:clamp(2.05rem,4.3vw,3.15rem);line-height:1.08;margin-bottom:16px}
.hero6 p.lead{color:#1F3A5F;max-width:740px;margin:0 auto;font-size:1.12rem;text-align:center}
.hero6-tiles{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:36px auto 0;max-width:960px;text-align:left}
.h6tile{
  position:relative;overflow:hidden;border-radius:16px;padding:30px 30px 26px;color:#fff;text-decoration:none;
  display:flex;flex-direction:column;box-shadow:0 16px 40px rgba(22,41,75,.30);
  border:1.5px solid rgba(255,255,255,.10);transition:transform .18s ease,box-shadow .18s ease;
}
.h6tile:hover{transform:translateY(-5px);box-shadow:0 24px 54px rgba(22,41,75,.44)}
.h6tile.fam{background:linear-gradient(158deg,#3E86C9 0%,#1E3A6E 100%)}
.h6tile.crim{background:linear-gradient(158deg,#1E3A6E 0%,#0F1E38 100%)}
.h6tile::before{content:"";position:absolute;top:0;left:0;right:0;height:4px}
.h6tile.fam::before{background:#F7C844}
.h6tile.crim::before{background:var(--red)}
.h6tile .wm-mini{position:absolute;right:-30px;bottom:-30px;width:150px;opacity:.10;pointer-events:none}
.h6k{display:inline-block;font-size:.72rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:#F7C844;margin-bottom:12px}
.h6tile.crim .h6k{color:#FF4D42}
.h6tile h2{color:#fff;font-size:1.48rem;line-height:1.16;margin:0 0 10px}
.h6tile p{color:rgba(233,240,250,.93);text-align:left;font-size:.99rem;line-height:1.5;margin:0 0 18px;flex:1;hyphens:none}
.h6cta{font-weight:700;color:#fff;font-size:.96rem;letter-spacing:.02em;border-top:1px solid rgba(255,255,255,.18);padding-top:14px}
.h6tile.fam:hover .h6cta{color:#F7C844}
.h6tile.crim:hover .h6cta{color:#FF4D42}
.hero6-foot{margin-top:32px}
.hero6-foot .hero-ctas{justify-content:center}
.hero.hero6 .hero-state{margin-top:18px}
.hero.hero6 .hero-note{max-width:660px;margin-left:auto;margin-right:auto;text-align:center}
.hero.hero6 .wrap>.hbadges{grid-column:auto;margin:26px auto 0}
@media(max-width:760px){
  .hero6-tiles{grid-template-columns:1fr}
  .hero.hero6 .wrap{padding-top:40px;padding-bottom:46px}
}

/* ---------- credibility strip ---------- */
.cred{background:var(--navy);color:#fff;position:relative;overflow:hidden}
.cred .wm{position:absolute;left:50%;transform:translateX(-50%);top:-6px;width:300px;opacity:.42}
.cred .wrap{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;padding-top:12px;padding-bottom:12px;position:relative}
.cred-item{text-align:center;padding:4px 10px}
.cred-item .big{font-family:var(--serif);font-size:1rem;color:#fff;display:block;margin-bottom:2px;font-weight:700;line-height:1.15}
.cred-item .small{font-size:.72rem;color:#fff;line-height:1.3}

/* ---------- sections ---------- */
.section{padding:84px 0}
.section.tint{background:linear-gradient(180deg,var(--malibu-tint) 0%,var(--malibu-tint2) 100%)}
.section-head{max-width:720px;margin:0 auto 46px;text-align:center}
.section-head.left{text-align:left;margin-left:0}

/* practice cards */
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.cards.four{grid-template-columns:repeat(2,1fr)}
.card ul.cols2{columns:2;column-gap:28px}
@media(max-width:860px){.card ul.cols2{columns:1}}
.card{
  background:linear-gradient(160deg,#FFFFFF 52%,#F1F8FF 100%);border:1px solid var(--line);border-radius:var(--radius);
  padding:22px 24px 22px;box-shadow:var(--shadow);display:flex;flex-direction:column;
  transition:transform .2s ease,box-shadow .2s ease;position:relative;overflow:hidden;
}
.card:hover{transform:translateY(-5px);box-shadow:var(--shadow-lg)}
.card::before{content:"";position:absolute;top:0;left:0;right:0;height:5px;background:linear-gradient(90deg,var(--malibu-strong),var(--navy))}
.card .icon{width:50px;height:50px;margin-bottom:11px}
.card h3{margin-bottom:5px}
.card ul{margin:0 0 12px;padding-left:0;list-style:none}
.card li{padding:3px 0 3px 24px;position:relative;font-size:.93rem}
.card li::before{content:"⚖";position:absolute;left:0;top:3px;font-size:.82rem;color:var(--gold)}
.card .more{margin-top:auto;font-weight:700;text-decoration:none;color:var(--malibu-deep)}
.card .more::after{content:" →"}
/* practice areas — tighter + color-coded per area */
#practice{padding:54px 0}
#practice .section-head{margin-bottom:30px}
#practice .cards{gap:16px}
#practice .card{padding:15px 20px 16px}
#practice .card .icon{width:36px;height:36px;margin-bottom:6px}
#practice .card h3{margin-bottom:7px;font-size:1.15rem}
#practice .card ul{margin:0 0 12px}
#practice .card li{padding:2px 0 2px 22px;font-size:.9rem;line-height:1.32}
#practice .pa-fam ul{columns:2;column-gap:22px}
#practice .pa-fam li{break-inside:avoid}
@media(max-width:600px){#practice .pa-fam ul{columns:1}}
.pa-fam::before{background:linear-gradient(90deg,#F7C844,#E7B12E)}
.pa-crim::before{background:linear-gradient(90deg,#FF4D42,var(--red))}
.pa-est::before{background:linear-gradient(90deg,#2E6DB4,#1E3A6E)}
.pa-civ::before{background:linear-gradient(90deg,#3E86C9,#2E5DA0)}
.pa-biz::before{background:linear-gradient(90deg,#1E3A6E,#0F1E38)}
.pa-fam li::before{color:#D0A62A}
.pa-crim li::before{color:var(--red)}
.pa-est li::before{color:#2E6DB4}
.pa-civ li::before{color:#3E86C9}
.pa-biz li::before{color:#2E5DA0}

/* about preview / split */
.split{display:grid;grid-template-columns:1fr 1fr;gap:54px;align-items:center}
.split .portrait{
  background:linear-gradient(160deg,var(--navy) 0%,#2A4E8F 100%);border-radius:20px;
  padding:46px 36px;box-shadow:var(--shadow-lg);position:relative;overflow:hidden;text-align:center;
}
.split .portrait .wm{position:absolute;inset:auto -120px -80px auto;width:480px;color:#fff;opacity:.10}
.split .portrait svg.rev{width:100%;max-width:380px;position:relative}
.split .portrait .p-name{font-family:var(--serif);color:#fff;font-size:1.35rem;margin-top:22px;position:relative}
.split .portrait .p-title{color:var(--gold-light);letter-spacing:.18em;text-transform:uppercase;font-size:.8rem;font-weight:700;margin-top:6px;position:relative}
.checklist{list-style:none;padding:0;margin:18px 0 26px}
.checklist li{padding:9px 0 9px 38px;position:relative;font-size:1.04rem}
.checklist li::before{
  content:"";position:absolute;left:0;top:11px;width:22px;height:22px;border-radius:50%;
  background:var(--malibu-tint);border:2px solid var(--malibu-strong);
}
.checklist li::after{
  content:"";position:absolute;left:6px;top:16px;width:9px;height:5px;
  border-left:2.5px solid var(--navy);border-bottom:2.5px solid var(--navy);transform:rotate(-45deg);
}

/* process */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.step{
  background:#fff;border-radius:var(--radius);padding:30px 24px;border:1px solid var(--line);
  box-shadow:var(--shadow);position:relative;
}
.step .num{font-family:var(--serif);font-weight:700;font-size:2.6rem;color:var(--malibu-strong);line-height:1;margin-bottom:10px}
.step h3{font-size:1.08rem}
.step p{font-size:.96rem;margin-bottom:0;color:#3A557F}

/* team */
.team{display:grid;grid-template-columns:1fr 1fr;gap:26px;max-width:960px;margin:0 auto}
.member{
  background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);
  padding:34px;display:flex;gap:22px;align-items:flex-start;
}
.member .avatar{
  flex:0 0 84px;width:84px;height:84px;border-radius:50%;
  background:linear-gradient(160deg,var(--malibu-tint),#fff);border:2.5px solid var(--malibu-strong);
  display:flex;align-items:center;justify-content:center;font-family:var(--serif);
  font-size:1.7rem;color:var(--navy);font-weight:700;
}
.member h3{margin-bottom:2px}
.member .role{color:var(--gold);font-weight:700;letter-spacing:.12em;text-transform:uppercase;font-size:.78rem;margin-bottom:10px}
.member p{font-size:.97rem;margin-bottom:8px}
.member a{font-weight:600;text-decoration:none}
.member ul.mini{list-style:none;padding:0;margin:6px 0 12px}
.member ul.mini li{padding:4px 0 4px 22px;position:relative;font-size:.93rem}
.member ul.mini li::before{content:"▸";color:var(--gold);position:absolute;left:2px}

/* consult options */
.consult{background:linear-gradient(168deg,var(--malibu) 0%,#F3FAFF 60%,var(--malibu-tint) 100%);position:relative;overflow:hidden}
.consult .wm{position:absolute;left:-150px;bottom:-110px;width:560px;color:var(--navy);opacity:.05}
.consult .section-head h2,.consult .section-head p{color:var(--navy-deep)}
.consult-cards{display:grid;grid-template-columns:1fr 1fr;gap:26px;max-width:900px;margin:0 auto;position:relative}
.copt{
  background:#fff;border-radius:18px;box-shadow:var(--shadow-lg);padding:36px 32px;text-align:center;
  display:flex;flex-direction:column;
}
.copt .price{font-family:var(--serif);font-size:2.2rem;color:var(--navy);font-weight:700}
.copt .per{color:#54719D;font-size:.95rem;margin-bottom:14px}
.copt .badge{
  align-self:center;background:var(--malibu);color:var(--malibu-dark);font-weight:700;
  border-radius:999px;padding:5px 16px;font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;margin-bottom:16px;
}
.copt .badge.gold{background:#E3F3FD;color:#1B6FA8}
.copt ul{list-style:none;padding:0;margin:0 0 22px;text-align:left}
.copt li{padding:6px 0 6px 26px;position:relative;font-size:.97rem}
.copt li::before{content:"✓";position:absolute;left:2px;color:var(--malibu-deep);font-weight:700}
.copt .btn{margin-top:auto}
/* homepage consult — compact (~60% smaller footprint) */
#consult{padding:32px 0}
#consult .section-head{margin-bottom:18px}
#consult .section-head h2{font-size:1.45rem;margin-bottom:5px}
#consult .section-head .eyebrow{margin-bottom:7px}
#consult .section-head p{font-size:.87rem;max-width:580px;line-height:1.45}
#consult .consult-cards{gap:15px;max-width:600px}
#consult .copt{padding:16px 18px;border-radius:13px}
#consult .copt .badge{font-size:.66rem;padding:3px 11px;margin-bottom:8px;letter-spacing:.12em}
#consult .copt .price{font-size:1.45rem}
#consult .copt .per{font-size:.78rem;margin-bottom:9px;line-height:1.35}
#consult .copt ul{margin:0 0 13px}
#consult .copt li{font-size:.8rem;padding:3px 0 3px 19px}
#consult .copt li::before{font-size:.82rem}
#consult .copt .btn{padding:9px 15px;font-size:.85rem}
.pay-note{max-width:760px;margin:30px auto 0;text-align:center;color:var(--navy-deep);font-size:.98rem;position:relative}
.chip{display:inline-block;background:#fff;border-radius:8px;padding:3px 12px;font-weight:700;color:var(--navy);box-shadow:0 2px 8px rgba(22,41,75,.12);margin:0 4px}

/* contact strip / page */
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:start}
.info-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:34px}
.info-card .row{display:flex;gap:16px;padding:13px 0;border-bottom:1px solid var(--malibu);align-items:flex-start}
.info-card .row:last-child{border-bottom:0}
.info-card .ic{
  flex:0 0 44px;width:44px;height:44px;border-radius:12px;background:var(--malibu);
  display:flex;align-items:center;justify-content:center;color:var(--malibu-deep);font-size:1.15rem;
}
.info-card .lbl{font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;color:#5B769F;font-weight:700}
.info-card .val{font-size:1.05rem;color:var(--navy);font-weight:600}
.info-card .val a{text-decoration:none;color:var(--navy)}
.info-card .val a:hover{color:var(--malibu-deep)}
.embed-shell{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}
.embed-shell iframe{display:block;width:100%;border:0}

/* page hero (subpages) */
.page-hero{
  background:linear-gradient(168deg,var(--malibu) 0%,#F3FAFF 55%,var(--malibu-tint) 100%);
  position:relative;overflow:hidden;
}
.page-hero .wm{position:absolute;right:-120px;top:-60px;width:480px;color:var(--navy);opacity:.05}
.page-hero .wrap{padding-top:28px;padding-bottom:30px;position:relative}
.page-hero + .section{padding-top:36px}
.page-hero h1{color:var(--navy-deep);margin-bottom:8px}
.page-hero .crumbs{font-size:.9rem;color:#24436B;margin-bottom:16px;font-weight:600}
.page-hero .crumbs a{color:var(--navy);text-decoration:none}
.page-hero p.lead{max-width:640px;color:#1F3A5F;margin-bottom:0}
.gtag{
  display:inline-block;background:rgba(255,255,255,.85);border:1px solid var(--malibu-strong);
  color:var(--malibu-dark);font-weight:700;font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;
  border-radius:999px;padding:6px 16px;margin-bottom:16px;
}
.urgent{
  background:#fff;border-left:5px solid var(--red);border-radius:0 12px 12px 0;box-shadow:var(--shadow);
  padding:16px 22px;margin-top:22px;max-width:720px;font-size:1.02rem;color:var(--ink);
}
.urgent strong{color:var(--red)}

/* article/prose pages */
.prose{max-width:820px;margin:0 auto}
.prose h2{margin-top:1.6em}
.prose ul{padding-left:22px}
.prose li{margin:7px 0}
.notice{
  position:relative;z-index:0;overflow:hidden;
  background:linear-gradient(180deg,var(--malibu),#F1F8FF);border-left:4px solid #D9B84A;border-radius:0 10px 10px 0;
  padding:18px 22px;font-size:.98rem;color:#2B4A75;margin:26px 0;
}
.notice::after{content:"";position:absolute;right:-12px;bottom:-16px;width:88px;height:66px;background:url(../assets/logo/longmont-law-logo-mark.svg) no-repeat center/contain;opacity:.08;z-index:-1;pointer-events:none}

/* service detail two-col */
.svc-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:44px;align-items:start}
.svc-list{list-style:none;padding:0;margin:0;display:grid;gap:14px}
.svc-list li{
  background:#fff;border:1px solid var(--line);border-radius:12px;padding:18px 20px 18px 56px;
  position:relative;box-shadow:0 4px 14px rgba(30,58,110,.06);font-size:1rem;
}
.svc-list li::before{content:"⚖";position:absolute;left:20px;top:16px;color:var(--gold);font-size:1.1rem}
.svc-list li strong{color:var(--navy);display:block;margin-bottom:2px}
.svc-tags{display:flex;flex-wrap:wrap;gap:9px;margin-top:14px}
.svc-tag{background:#fff;border:1.5px solid var(--malibu-strong);border-radius:99px;padding:6px 14px;font-size:.9rem;color:var(--navy);font-weight:600}
.sidebar-cta{
  background:linear-gradient(160deg,var(--navy),#2A4E8F);border-radius:16px;padding:32px 27px;
  color:#DCE9F7;box-shadow:var(--shadow-lg);position:static;overflow:hidden;
}
.svc-grid > .sidebar-cta,.svc-grid > aside.sidebar-cta{align-self:end}
.sidebar-cta .wm{position:absolute;right:-110px;bottom:-70px;width:380px;color:#fff;opacity:.09}
.sidebar-cta h3{color:#fff;font-size:.6rem;letter-spacing:.02em;text-transform:uppercase;position:relative}
.sidebar-cta p{position:relative;font-size:.84rem}
.sidebar-cta .btn{width:100%;position:relative;margin-top:8px;font-size:.88rem;padding:11px 22px}
.sidebar-cta .call{display:block;text-align:center;margin-top:12px;color:#fff;font-weight:700;text-decoration:none;font-size:.9rem;position:relative}
.sidebar-cta .call:hover{color:var(--gold-light)}
.more-guides{
  background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);
  padding:26px 28px;margin-top:24px;
}
.more-guides ul{list-style:none;margin:0;padding:0}
.more-guides li{padding:6px 0;border-bottom:1px solid var(--malibu)}
.more-guides li:last-child{border-bottom:0}
.more-guides a{text-decoration:none;font-weight:600;color:var(--navy);font-size:.97rem}
.more-guides a:hover{color:var(--malibu-deep)}
.faq{
  background:#fff;border:1px solid var(--line);border-radius:12px;margin:10px 0;
  box-shadow:0 4px 14px rgba(30,58,110,.05);
}
.faq summary{cursor:pointer;font-weight:700;color:var(--navy);padding:16px 20px;list-style:none;position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:20px;top:12px;font-size:1.5rem;color:var(--malibu-deep);font-weight:400}
.faq[open] summary::after{content:"–"}
.faq p{padding:0 20px 16px;margin:0;font-size:.98rem}

/* CTA band */
.cta-band{background:var(--navy);color:#fff;position:relative;overflow:hidden}
.cta-band .wm{position:absolute;right:-100px;top:-80px;width:430px;color:#fff;opacity:.07}
.cta-band .wrap{display:flex;align-items:center;justify-content:space-between;gap:26px;padding-top:56px;padding-bottom:56px;flex-wrap:wrap;position:relative}
.cta-band h2{color:#fff;margin:0}
.cta-band p{margin:6px 0 0;color:#C9DCF1}
.cta-band .actions{display:flex;gap:14px;flex-wrap:wrap}

/* footer */
.site-footer{background:var(--navy-deep);color:#B9CCE4;font-size:.97rem}
.site-footer a{color:#DCE9F7;text-decoration:none}
.site-footer a:hover{color:var(--gold-light)}
.f-main{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:38px;padding:60px 0 40px}
.f-brand svg{max-width:330px}
.f-brand .f-tag{font-family:var(--serif);font-size:1.14rem;font-weight:700;color:#F0D48A;margin:16px 0 6px;max-width:420px;line-height:1.3;text-align:left}
.f-brand p{margin-top:16px;max-width:380px;color:#9FB5D4}
.f-brand p.f-tag{margin-top:16px}
.f-h{font-family:var(--serif);color:#fff;font-size:1.05rem;letter-spacing:.08em;margin-bottom:16px}
.f-col ul{list-style:none;margin:0;padding:0}
.f-col li{padding:5px 0}
.f-col .adr{line-height:1.55;color:#B9CCE4;font-style:normal}
.f-col .f-h + ul + .f-h{margin-top:22px}
.f-cred{border-top:1px solid rgba(255,255,255,.12);padding:22px 0;color:#8FA6C6;font-size:.88rem}
.f-cred .pay{color:#C9DCF1;margin-bottom:10px}
.f-disc{font-size:.84rem;line-height:1.6;color:#7E96B8}
.f-bottom{border-top:1px solid rgba(255,255,255,.12);padding:18px 0;display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;font-size:.86rem;color:#8FA6C6}

/* reveal animation (only when JS is available) */
html.js .reveal{opacity:0;transform:translateY(16px);transition:opacity .6s ease,transform .6s ease}
html.js .reveal.in{opacity:1;transform:none}

/* ---------- reviews ---------- */
.stars{color:#E7A912;letter-spacing:3px;font-size:1.1rem}
.reviews{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.review{
  margin:0;background:#fff;border:1px solid var(--line);border-radius:var(--radius);
  box-shadow:var(--shadow);padding:30px 28px;display:flex;flex-direction:column;position:relative;
}
.review::before{
  content:"\201C";font-family:var(--serif);font-size:4.2rem;color:var(--malibu-strong);
  position:absolute;top:2px;left:18px;line-height:1;opacity:.55;
}
.review .stars{margin-bottom:12px;position:relative}
.review blockquote{margin:0 0 16px;font-size:1.01rem;color:#2E4568;font-style:italic;line-height:1.6;position:relative}
.review figcaption{margin-top:auto;font-weight:700;color:var(--navy);font-size:.92rem}
.review-chips{display:flex;gap:12px;flex-wrap:wrap;justify-content:center;margin-top:26px}
.rchip{
  background:var(--malibu);border:1px solid var(--line);border-radius:999px;
  padding:8px 18px;font-size:.9rem;color:#2E4568;font-style:italic;
}

/* ---------- forms library ---------- */
.ftoolbar{max-width:900px;margin:0 auto}
#fsearch{
  width:100%;padding:18px 24px;font-size:1.1rem;border-radius:14px;border:2px solid var(--malibu-strong);
  font-family:var(--sans);color:var(--ink);box-shadow:var(--shadow);outline:none;background:#fff;
}
#fsearch:focus{border-color:var(--navy)}
.fmeta{margin:10px 2px 0;font-size:.9rem;color:#5B769F}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.chip-btn{
  background:linear-gradient(180deg,#FFFFFF,#F1F8FF);border:1.5px solid var(--line);border-radius:999px;padding:7px 14px;
  font-size:.83rem;font-weight:600;color:var(--navy);cursor:pointer;font-family:var(--sans);
}
.chip-btn:hover{border-color:var(--malibu-strong);background:var(--malibu)}
.chip-btn.on{background:var(--navy);color:#fff;border-color:var(--navy)}
.fgroup{margin-top:44px}
.fgroup h2{
  font-size:1.35rem;border-bottom:2.5px solid var(--gold);padding-bottom:10px;
  display:flex;align-items:center;gap:12px;
}
.fcount{
  background:var(--malibu);color:var(--malibu-dark);font-family:var(--sans);font-size:.85rem;
  font-weight:700;border-radius:999px;padding:3px 12px;
}
.flist{list-style:none;margin:0;padding:0}
.frow{
  display:flex;align-items:center;gap:16px;padding:13px 14px;border-bottom:1px solid var(--malibu);
  flex-wrap:wrap;border-radius:8px;
}
.frow:hover{background:var(--malibu-tint2)}
.fnum{
  flex:0 0 110px;font-family:var(--serif);font-weight:700;color:var(--navy);
  background:var(--malibu);border-radius:8px;text-align:center;padding:6px 4px;font-size:.9rem;
}
.ftitle{flex:1 1 300px;font-size:1rem;color:var(--ink)}
.flinks{display:flex;gap:8px}
.flink{
  display:inline-block;background:var(--navy);color:#fff!important;border-radius:8px;
  padding:6px 16px;font-size:.83rem;font-weight:700;text-decoration:none;letter-spacing:.03em;
}
.flink:hover{background:var(--malibu-dark)}
.flink.word{background:var(--malibu-dark)}
.flink.find{background:var(--gold)}
.flink.find:hover{background:#9c7d24}

/* ---------- grounds / guide cards ---------- */
.grounds{display:grid;grid-template-columns:repeat(2,1fr);gap:26px;max-width:1020px;margin:0 auto}
.ground{
  background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);
  padding:32px 30px;position:relative;overflow:hidden;
}
.ground .gnum{
  position:absolute;top:-14px;right:6px;font-family:var(--serif);font-size:6.4rem;font-weight:700;
  color:var(--malibu);line-height:1;z-index:0;
}
.ground h3,.ground p{position:relative}
.ghelp{background:linear-gradient(180deg,#EFF7FE,#E1EFFB);border-left:4px solid var(--gold);border-radius:10px;padding:12px 15px;font-size:.95rem;margin-bottom:0}
.ghelp strong{color:var(--malibu-deep)}
/* Glossary auto-links — subtle dotted term, not a loud hyperlink */
.gloss-a{color:inherit;text-decoration:none;border-bottom:1px dotted rgba(46,109,180,.55);cursor:help}
.gloss-a:hover{border-bottom-color:var(--malibu-deep);color:var(--malibu-deep)}
.ghelp-mark{display:inline-flex;vertical-align:-4px;margin-right:6px}
.ghelp-mark svg,.ghelp-mark .icon{width:20px!important;height:20px!important;min-width:20px;display:block}
.grounds .ground:nth-child(odd):last-child{grid-column:1/3;max-width:640px;justify-self:center}

/* ---------- career timeline ---------- */
.tl{list-style:none;margin:22px 0 30px;padding:6px 0 0;border-left:3px solid var(--malibu-strong)}
.tl li{position:relative;padding:0 0 20px 28px;font-size:.99rem}
.tl li::before{
  content:"";position:absolute;left:-8.5px;top:5px;width:12px;height:12px;border-radius:50%;
  background:#fff;border:3px solid var(--gold);
}
.tl li:last-child{padding-bottom:4px}
.tl-y{
  display:inline-block;background:var(--malibu);color:var(--malibu-dark);font-weight:700;
  font-size:.78rem;border-radius:999px;padding:2px 11px;margin-right:9px;letter-spacing:.04em;
}

/* ---------- inline booking strip ---------- */
.bookline{
  display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;
  background:#fff;border:1.5px solid var(--malibu-strong);border-radius:14px;
  padding:14px 22px;box-shadow:var(--shadow);margin:36px auto 0;max-width:920px;
}
.bookline p{margin:0;font-size:1rem;color:var(--ink)}
.bookline .bl-opts{font-size:.88rem;color:#4A6690;margin-top:3px}
.bookline .bl-opts strong{color:var(--navy)}
.bl-left{display:flex;align-items:center;gap:4px}
.bl-ico{color:var(--malibu-deep);font-size:1.25rem;margin-right:12px}
.bl-actions{display:flex;align-items:center;gap:16px}
.bl-actions .btn{padding:10px 22px;font-size:.95rem}
.bl-call{font-weight:700;color:var(--navy);text-decoration:none;white-space:nowrap}
.bl-call:hover{color:var(--malibu-deep)}

/* ---------- responsive ---------- */
@media (max-width:1020px){
  .hero .wrap{grid-template-columns:1fr;padding-top:54px;padding-bottom:60px}
  .hero-card{max-width:380px;margin:0 auto}
  .cards,.steps{grid-template-columns:1fr 1fr}
  .split,.svc-grid,.contact-grid{grid-template-columns:1fr}
  .sidebar-cta{position:static}
  .cred .wrap{grid-template-columns:1fr 1fr}
  .f-main{grid-template-columns:1fr 1fr}
}
@media (max-width:900px){
  .reviews{grid-template-columns:1fr}
  .grounds{grid-template-columns:1fr}
  .grounds .ground:nth-child(odd):last-child{grid-column:auto}
  .fnum{flex-basis:96px}
}
@media (max-width:760px){
  .nav{
    position:fixed;inset:0 0 auto 0;top:0;background:#fff;flex-direction:column;align-items:flex-start;
    padding:100px 30px 30px;gap:8px;box-shadow:var(--shadow-lg);transform:translateY(-105%);
    visibility:hidden;transition:transform .3s ease,visibility 0s linear .3s;
    z-index:90;height:auto;max-height:100vh;overflow:auto;
  }
  .nav.open{transform:none;visibility:visible;transition:transform .3s ease}
  .nav a{font-size:1.15rem;padding:10px 0;width:100%;white-space:normal}
  .nav .sub{position:static;transform:none;display:flex;box-shadow:none;border:0;padding:0 0 0 18px;min-width:0}
  .nav .has-sub .sub a{font-size:1.02rem;padding:8px 0}
  .hamburger{display:block;z-index:95}
  .hamburger.open span:nth-child(1){transform:translateY(8px) rotate(45deg)}
  .hamburger.open span:nth-child(2){opacity:0}
  .hamburger.open span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}
  .nav-cta{display:none}
  .cards,.cards.four,.steps,.consult-cards,.team{grid-template-columns:1fr}
  .cred .wrap{grid-template-columns:1fr 1fr}
  .f-main{grid-template-columns:1fr;gap:30px}
  .section{padding:60px 0}
  .member{flex-direction:column}
}
@media (max-width:600px){
  .bookline{flex-direction:column;text-align:center}
  .bl-left{flex-direction:column}
  .topbar .wrap{justify-content:center}
}
@media print{
  .topbar,.site-header,.cta-band,.site-footer,.ftoolbar,.sidebar-cta,.bookline{display:none!important}
  .frow{page-break-inside:avoid}
}


/* payment security notes */
.paynote{font-size:.86rem;color:#4A6690;font-weight:400;margin-top:6px;line-height:1.55}
.paynote strong{color:var(--navy)}
.f-paynote{font-size:.8rem;color:#8FA6C6;line-height:1.5}


/* payment QR */
.qrwrap{display:flex;align-items:center;gap:14px;margin-top:12px}
.qrwrap img{border:1px solid var(--line);border-radius:10px;padding:6px;background:#fff}
.qrwrap span{font-size:.85rem;color:#4A6690;font-weight:600;line-height:1.4}

/* keep the firm phone visible in the top banner on mobile */
.topbar .tb-left span:first-child a{font-weight:700}
@media(max-width:640px){.topbar .tb-left span:nth-child(2){display:none}.topbar .wrap{justify-content:space-between}}

/* hero utility line */
/* Hero quick-link badges — regular-size LLF-logo badges, centered */
.hbadges{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:22px}
.hero .wrap>.hbadges{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,330px));justify-content:center;gap:12px;margin:16px auto 0}
.hero .wrap>.hbadges .hbadge{width:100%}
.hero .wrap>.hbadges .hb-x{margin-left:auto}
.hbadge{display:inline-flex;align-items:center;gap:11px;text-decoration:none;
  background:#fff;border:1px solid var(--line);border-left:4px solid var(--malibu-strong);border-radius:13px;
  padding:13px 17px;box-shadow:var(--shadow);
  transition:transform .15s,box-shadow .15s,border-color .15s}
.hbadge:hover{transform:translateY(-3px);box-shadow:0 12px 26px rgba(30,58,110,.16);border-left-color:var(--gold)}
.hbadge .hb-ico{height:30px;width:auto;flex:0 0 auto;display:block}
.hb-t{font-size:.95rem;font-weight:700;color:var(--navy-deep);white-space:nowrap;letter-spacing:.01em}
.hb-x{font-size:.95rem;color:var(--malibu-deep);font-weight:800;margin-left:2px}
.hbadge:hover .hb-x{color:var(--gold)}
@media(max-width:560px){.hb-t{font-size:.86rem}.hbadge{padding:11px 14px}}

/* ---------- PC/DM community resource ---------- */
.pcdm-card{display:grid;grid-template-columns:172px 1fr;gap:28px;align-items:center;background:#fff;border:1px solid var(--line);border-left:4px solid var(--gold);border-radius:16px;padding:22px 26px;box-shadow:0 10px 30px rgba(30,58,110,.08);margin-bottom:20px}
.pcdm-badge{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;background:linear-gradient(160deg,#24406F,#16294B);border:1.5px solid rgba(177,143,46,.55);border-radius:15px;padding:20px 14px}
.pcdm-badge .pcdm-mark svg{width:94px;height:auto;display:block}
.pcdm-tag{font-family:var(--serif);font-weight:800;letter-spacing:.16em;color:#F0D48A;font-size:1.12rem}
.pcdm-two{display:grid;grid-template-columns:1fr 1fr;gap:26px}
.pcdm-role h3{margin:0 0 3px;font-size:1.1rem;color:var(--navy-deep)}
.pcdm-cite{margin:0 0 7px;font-size:.76rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--malibu-deep)}
.pcdm-cite a{color:inherit;text-decoration:none;border-bottom:1px dotted currentColor}
.pcdm-role p{margin:0;color:#3A557F;font-size:.94rem;line-height:1.6}
.pcdm-role p strong{color:var(--navy-deep)}
.pcdm-facts{display:grid;grid-template-columns:1fr 1fr 1fr;gap:14px;margin-bottom:16px}
.pcdm-fact{background:#fff;border:1px solid var(--line);border-radius:11px;padding:13px 15px;font-size:.9rem;line-height:1.5;color:#43618C}
.pcdm-fact strong{display:block;color:var(--navy-deep);margin-bottom:2px}
.pcdm-disc{font-size:.85rem;color:#5A7196;text-align:center;max-width:760px;margin:2px auto 18px}
@media(max-width:820px){
  .pcdm-card{grid-template-columns:1fr;gap:18px}
  .pcdm-badge{max-width:210px;margin:0 auto}
  .pcdm-two{grid-template-columns:1fr;gap:18px}
  .pcdm-facts{grid-template-columns:1fr}
}

/* author byline (E-E-A-T) */
.byline{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid var(--line);border-left:4px solid var(--gold);border-radius:10px;padding:11px 15px;margin:0 0 22px}
.byline .by-av{width:40px;height:40px;border-radius:50%;background:var(--navy);color:#fff;font-family:var(--serif);font-weight:700;display:flex;align-items:center;justify-content:center;flex:0 0 auto}
.by-name{display:block;font-weight:700;color:var(--navy)}
.by-name a{color:var(--navy)}
.by-cred{display:block;font-size:.82rem;color:#5b76a3;margin-top:1px}

/* calculators & tools */
.calc{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:26px 28px;box-shadow:var(--shadow);margin:8px 0 6px}
.calc .field{margin:0 0 16px}
.calc label{display:block;font-weight:700;color:var(--navy);margin-bottom:5px;font-size:.97rem}
.calc label .hint{display:block;font-weight:400;color:#5b76a3;font-size:.85rem;margin-top:1px}
.calc input[type=number],.calc select{width:100%;border:1.5px solid #c3d6ea;border-radius:9px;padding:11px 13px;font-family:var(--sans);font-size:1.02rem;background:#fbfdff;color:var(--ink);box-sizing:border-box}
.calc input[type=number]:focus,.calc select:focus{outline:2px solid var(--malibu-strong);border-color:var(--malibu-deep)}
.calc .row2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.calc .prefix{position:relative}
.calc .prefix span{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:#5b76a3;font-weight:700}
.calc .prefix input{padding-left:26px}
.calc-out{margin-top:20px;background:linear-gradient(160deg,#fff,var(--malibu));border:1.5px solid var(--malibu-strong);border-radius:12px;padding:22px 24px}
.calc-out .big{font-family:var(--serif);font-size:2.3rem;font-weight:700;color:var(--navy);line-height:1.1}
.calc-out .big small{font-size:1rem;color:#5b76a3;font-weight:400}
.calc-out .who{color:var(--malibu-deep);font-weight:700;margin-top:2px}
.calc-out ul{margin:14px 0 0;padding-left:0;list-style:none}
.calc-out li{padding:6px 0 6px 24px;position:relative;border-top:1px dashed #cfe3f5;font-size:.98rem}
.calc-out li:first-child{border-top:none}
.calc-out li b{color:var(--navy)}
.calc-out li::before{content:"\203A";position:absolute;left:6px;color:var(--gold);font-weight:700}
.calc-btn{background:var(--navy);color:#fff;border:none;border-radius:10px;padding:13px 22px;font-family:var(--sans);font-weight:700;font-size:1.02rem;cursor:pointer;width:100%}
.calc-btn:hover{background:var(--navy-deep)}
.calc-disc{font-size:.86rem;color:#5b76a3;margin-top:14px;line-height:1.5}
.chipset{display:flex;flex-wrap:wrap;gap:8px}
.chipset button{border:1.5px solid #c3d6ea;background:#f4f9fe;border-radius:99px;padding:8px 15px;cursor:pointer;font-family:var(--sans);font-size:.94rem;color:var(--ink)}
.chipset button.on{background:var(--navy);color:#fff;border-color:var(--navy);font-weight:700}
@media(max-width:600px){.calc .row2{grid-template-columns:1fr}}

/* glossary */
.gl-h{font-family:var(--serif);color:var(--navy);font-size:1.3rem;border-bottom:2px solid var(--malibu-strong);padding-bottom:6px;margin:34px 0 10px}
.gl-term{background:linear-gradient(160deg,#FFFFFF 60%,#F1F8FF);border:1px solid var(--line);border-radius:10px;padding:14px 18px;margin:10px 0}
.gl-term h3{margin:0 0 4px;color:var(--navy);font-size:1.08rem}
.gl-term>p{margin:0;font-size:.98rem}
.gl-plain{margin-top:11px;background:linear-gradient(180deg,#FFFCF3,#FEF7E4);border-left:4px solid #D9B84A;border-radius:0 10px 10px 0;padding:10px 15px}
.gl-plain-lab{display:block;font-size:.66rem;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:#997614;margin-bottom:3px}
.gl-plain p{margin:0;font-size:.95rem;line-height:1.55;color:#3C4B60;text-align:left}
.gl-term cite,.cite.stat,cite.stat{font-style:normal}

/* locations */
.loc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.loc-card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:18px 20px;text-decoration:none;transition:transform .15s,box-shadow .15s;display:block}
.loc-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg)}
.loc-card strong{display:block;color:var(--navy);font-size:1.12rem;font-family:var(--serif)}
.loc-card span{color:#5b76a3;font-size:.9rem}
@media(max-width:760px){.loc-grid{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.loc-grid{grid-template-columns:1fr}}

/* news / insights */
.posts{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.post-card{background:linear-gradient(160deg,#FFFFFF 55%,#F1F8FF 100%);border:1px solid var(--line);border-radius:12px;padding:22px 22px;display:flex;flex-direction:column}
.post-card .pc-meta{font-size:.82rem;color:#5b76a3;text-transform:uppercase;letter-spacing:.04em;margin-bottom:8px}
.post-card .pc-cat{color:var(--malibu-deep);font-weight:700}
.post-card h3{margin:0 0 8px;font-size:1.14rem;line-height:1.3}
.post-card h3 a{color:var(--navy);text-decoration:none}
.post-card p{color:#3A557F;font-size:.96rem;margin:0 0 14px}
.post-card .more{margin-top:auto;font-weight:700;text-decoration:none;color:var(--malibu-deep)}
.post-card .more::after{content:" \2192"}
@media(max-width:820px){.posts{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.posts{grid-template-columns:1fr}}

/* ---- safety & victim resources ---- */
.quick-exit{position:fixed;top:10px;right:12px;z-index:200;background:var(--red,#B3261E);color:#fff;font-weight:700;border-radius:8px;padding:9px 15px;text-decoration:none;box-shadow:0 4px 14px rgba(0,0,0,.25);font-size:.92rem}
.quick-exit:hover{background:#8f1d17;color:#fff}
.safety-note{background:#FFF6E0;border:1px solid #eedc9d;border-left:5px solid var(--gold);border-radius:10px;padding:14px 18px;font-size:.96rem;color:#5b4a1a}
.safety-note a{color:var(--navy);font-weight:700}
.hot-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.hot-card{background:#fff;border:1px solid var(--line);border-top:4px solid var(--red,#B3261E);border-radius:12px;padding:18px 20px}
.hot-card .hot-name{font-weight:700;color:var(--navy)}
.hot-card .hot-num{display:block;font-family:var(--serif);font-size:1.5rem;color:var(--red,#B3261E);font-weight:700;margin:4px 0;text-decoration:none}
.hot-card p{font-size:.88rem;color:#5b76a3;margin:0}
.res-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.res-card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:18px 20px;text-decoration:none;display:block;transition:transform .15s,box-shadow .15s}
.res-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg)}
.res-card strong{display:block;color:var(--navy);font-size:1.05rem}
.res-card span{color:#5b76a3;font-size:.9rem;display:block;margin-top:3px}
.res-card.big{border-left:4px solid var(--malibu-deep)}
.shelter-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin:8px 0 20px}
.shelter{background:#fff;border:1px solid var(--line);border-radius:12px;padding:20px 22px}
.shelter h3{margin:0 0 2px;color:var(--navy);font-size:1.12rem}
.shelter .sh-area{color:#5b76a3;font-size:.9rem;margin-bottom:8px}
.shelter .sh-phone{display:inline-block;font-weight:700;color:var(--malibu-deep);text-decoration:none;font-size:1.1rem;margin-bottom:8px}
.shelter p{margin:0;font-size:.95rem}
.da-list{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:18px}
.da-row{display:flex;gap:14px;background:#fff;border:1px solid var(--line);border-radius:10px;padding:14px 16px}
.da-jd{font-family:var(--serif);font-weight:700;color:var(--malibu-deep);font-size:1.35rem;line-height:1;text-align:center;flex:0 0 auto}
.da-jd span{display:block;font-family:var(--sans);font-size:.62rem;color:#5b76a3;text-transform:uppercase;letter-spacing:.05em;font-weight:600}
.da-counties{font-weight:700;color:var(--navy);font-size:.97rem}
.da-adv{font-size:.95rem;margin-top:2px}
.da-adv a{color:var(--malibu-deep);font-weight:700}
.da-meta{font-size:.82rem;color:#5b76a3;margin-top:4px}
@media(max-width:760px){.hot-grid,.res-grid,.shelter-grid,.da-list{grid-template-columns:1fr}}
.vra-themes{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:8px 0 10px}
.vra-theme{background:#fff;border:1px solid var(--line);border-radius:10px;padding:14px 16px}
.vra-theme h3{margin:0 0 4px;color:var(--navy);font-size:1.02rem}
.vra-theme p{margin:0;font-size:.92rem;color:#3A557F}
@media(max-width:640px){.vra-themes{grid-template-columns:1fr}}
.vra-verbatim{background:#f7fbff;border:1px solid #d5e9f8;border-radius:10px;padding:18px 22px;font-size:.92rem;max-height:560px;overflow-y:auto}
.vra-verbatim .vra-list>li{margin:0 0 10px;list-style:none}
.vra-verbatim .vra-sub{margin:6px 0 6px 18px}
.vra-verbatim .vra-sub li{list-style:none;margin:0 0 5px;color:#3A557F}
.vra-lead{margin:0 0 10px}
.po-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:10px 0 8px}
.po-step{background:#fff;border:1px solid var(--line);border-radius:12px;padding:16px 18px}
.po-step .num{width:34px;height:34px;border-radius:50%;background:var(--navy);color:#fff;font-family:var(--serif);font-weight:700;display:flex;align-items:center;justify-content:center;margin-bottom:8px}
.po-step h3{margin:0 0 5px;font-size:1rem;color:var(--navy)}
.po-step p{margin:0;font-size:.9rem;color:#3A557F}
@media(max-width:820px){.po-steps{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.po-steps{grid-template-columns:1fr}}
.jdf-list{display:flex;flex-direction:column;gap:8px;margin:10px 0}
.jdf-row{display:flex;align-items:center;gap:14px;background:#fff;border:1px solid var(--line);border-radius:9px;padding:11px 15px}
.jdf-num{font-family:var(--serif);font-weight:700;color:var(--navy);min-width:66px}
.jdf-t{flex:1}
.jdf-t strong{color:var(--navy)}
.jdf-t span{display:block;font-size:.85rem;color:#5b76a3}
.map-controls{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-bottom:14px}
.map-legend{display:flex;gap:16px;font-size:.88rem}
.lg{display:inline-flex;align-items:center;gap:6px;color:#3A557F}
.lg::before{content:"";width:14px;height:14px;border-radius:50%;display:inline-block}
.lg-shelter::before{background:#B3261E}
.lg-da::before{background:#2E86C5}
.rmap{height:520px;border-radius:12px;border:1px solid var(--line);overflow:hidden;z-index:1}
.pin{width:16px;height:16px;border-radius:50%;border:2px solid #fff;box-shadow:0 1px 4px rgba(0,0,0,.4)}
.pin-shelter{background:#B3261E}
.pin-da{background:#2E86C5}
.near-list{margin-top:18px}
.near-list h3{color:var(--navy);font-family:var(--serif)}
.near-row{display:flex;gap:14px;align-items:flex-start;background:#fff;border:1px solid var(--line);border-radius:10px;padding:12px 15px;margin-bottom:8px}
.nr-dist{font-family:var(--serif);font-weight:700;color:var(--gold);min-width:56px}
.nr-t{font-size:.85rem;color:#5b76a3}

/* pro se shield badge — only in pro se sections, always with a consult button */
.prose-cta{display:flex;align-items:center;gap:20px;background:linear-gradient(160deg,#fff,var(--malibu));border:1.5px solid var(--malibu-strong);border-left:5px solid var(--navy);border-radius:14px;padding:18px 22px;margin:26px 0;box-shadow:var(--shadow)}
.ps-shield{width:76px;flex:0 0 auto;filter:drop-shadow(0 3px 6px rgba(22,41,75,.25))}
.ps-shield svg{width:100%;height:auto;display:block}
.ps-txt{flex:1;min-width:220px}
.ps-h{margin:0;font-weight:700;color:var(--navy);font-size:1.08rem}
.ps-sub{margin:3px 0 0;font-size:.9rem;color:#3A557F}
.ps-actions{display:flex;flex-direction:column;gap:7px;align-items:stretch;flex:0 0 auto}
.ps-actions .btn{white-space:nowrap;text-align:center}
.ps-call{text-align:center;font-weight:700;color:var(--navy);text-decoration:none;font-size:.95rem}
@media(max-width:700px){.prose-cta{flex-direction:column;text-align:center}.ps-actions{width:100%}}

/* pro se case-launch package */
.pkg{position:relative;background:#fff;border:2px solid var(--gold);border-radius:16px;padding:30px 32px 20px;margin:34px 0;box-shadow:var(--shadow-lg)}
.pkg-flag{position:absolute;top:-14px;left:26px;background:var(--gold);color:#fff;font-weight:700;font-size:.8rem;letter-spacing:.06em;text-transform:uppercase;border-radius:99px;padding:5px 15px}
.pkg-grid{display:grid;grid-template-columns:1.25fr .85fr;gap:30px}
.pkg h2{color:var(--navy);margin:0 0 8px}
.pkg-price{color:var(--gold);font-family:var(--serif)}
.pkg-lead{font-size:1.02rem;color:#3A557F}
.pkg-side{background:linear-gradient(160deg,#fff,var(--malibu));border:1px solid var(--malibu-strong);border-radius:12px;padding:20px 22px;align-self:start}
.pkg-side h3{margin:0 0 12px;color:var(--navy)}
.cmp{display:flex;align-items:center;gap:9px;margin-bottom:9px}
.cmp-l{flex:0 0 148px;font-size:.82rem;color:#3A557F;font-weight:600;text-align:right}
.cmp-bar{flex:1;background:#e4eff9;border-radius:99px;height:14px;overflow:hidden}
.cmp-fill{height:100%;background:var(--malibu-deep);border-radius:99px}
.cmp-fill.gold{background:var(--gold)}
.cmp-v{flex:0 0 58px;font-size:.84rem;font-weight:700;color:var(--navy)}
.pkg-src{font-size:.74rem;color:#8FA6C6;line-height:1.45;margin:10px 0 14px}
.pkg-why{background:#fff;border-left:4px solid var(--gold);border-radius:8px;padding:10px 14px;font-size:.88rem;color:#3A557F;margin-bottom:14px}
.pkg-fine{font-size:.76rem;color:#8FA6C6;line-height:1.5;margin:18px 0 0;border-top:1px dashed #cfe3f5;padding-top:12px}
@media(max-width:860px){.pkg-grid{grid-template-columns:1fr}.cmp-l{flex-basis:118px}}

/* pro se center */
.callout-def{background:linear-gradient(160deg,#fff,var(--malibu));border:1.5px solid var(--malibu-strong);border-radius:14px;padding:22px 26px}
.po-steps.six{grid-template-columns:repeat(3,1fr)}
@media(max-width:820px){.po-steps.six{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.po-steps.six{grid-template-columns:1fr}}
.tiers{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.tier{background:#fff;border:1px solid var(--line);border-top:4px solid var(--malibu-deep);border-radius:12px;padding:18px 20px}
.tier .tier-tag{display:inline-block;background:var(--malibu);color:var(--navy);font-size:.74rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;border-radius:99px;padding:3px 10px;margin-bottom:8px}
.tier h3{margin:0 0 6px;color:var(--navy);font-size:1.05rem}
.tier p{margin:0;font-size:.92rem;color:#3A557F}
@media(max-width:900px){.tiers{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.tiers{grid-template-columns:1fr}}

/* SMS opt-in */
.sms-optin{background:#fff;border:1px solid var(--line);border-left:4px solid var(--gold);border-radius:12px;padding:22px 24px}
.sms-head{display:flex;gap:14px;align-items:flex-start;margin-bottom:14px}
.sms-ico{font-size:1.6rem}
.sms-head h3{margin:0 0 3px;color:var(--navy)}
.sms-head p{margin:0;font-size:.92rem;color:#3A557F}
.sms-row{display:grid;grid-template-columns:1fr 1.3fr;gap:10px;margin-bottom:10px}
.sms-optin input[type=text],.sms-optin input[type=tel]{width:100%;border:1.5px solid #c3d6ea;border-radius:9px;padding:11px 13px;font-family:var(--sans);font-size:1rem;box-sizing:border-box}
.sms-consent{display:flex;gap:9px;align-items:flex-start;font-size:.82rem;color:#5b76a3;line-height:1.5}
.sms-consent input{margin-top:3px;flex:0 0 auto}
.sms-note{color:#2e7d32;font-weight:700;margin:10px 0 0}
.sms-fine{font-size:.76rem;color:#8FA6C6;margin:10px 0 0;line-height:1.5}
@media(max-width:520px){.sms-row{grid-template-columns:1fr}}

/* video library */
.vid-h{font-family:var(--serif);color:var(--navy);font-size:1.3rem;border-bottom:2px solid var(--malibu-strong);padding-bottom:6px;margin:34px 0 14px}
.vid-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}
.vid{margin:0;background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden}
.vid-frame{position:relative;padding-top:56.25%;background:#0b1c33}
.vid-frame iframe{position:absolute;top:0;left:0;width:100%;height:100%;border:0}
.feat-video{max-width:780px;margin:0 auto}
.feat-video .vid-frame{border-radius:16px;overflow:hidden;box-shadow:0 22px 60px rgba(22,41,75,.30);border:3px solid #fff}
.vid figcaption{padding:12px 16px}
.vid figcaption strong{display:block;color:var(--navy)}
.vid figcaption span{font-size:.85rem;color:#5b76a3}
.vid-sources{font-size:.98rem}
/* homepage 9-video library */
.vid-group{margin:34px 0 6px}
.vg-head{display:flex;align-items:center;gap:12px;margin:0 0 16px;padding-bottom:10px;border-bottom:2.5px solid var(--line)}
.vg-ico{width:30px;height:30px;flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center}
.vg-ico svg{width:100%;height:100%}
.vg-head h3{margin:0;font-family:var(--serif);color:var(--navy-deep);font-size:1.3rem;line-height:1.1}
.vg-src{margin-left:auto;font-size:.7rem;font-weight:800;letter-spacing:.11em;text-transform:uppercase;color:#4A6690;background:rgba(255,255,255,.72);border:1px solid var(--line);border-radius:999px;padding:4px 12px;white-space:nowrap}
.hv-row{display:grid;grid-template-columns:repeat(3,minmax(0,200px));justify-content:center;gap:16px}
#featured-video .vid figcaption{padding:8px 11px}
#featured-video .vid figcaption strong{font-size:.86rem;line-height:1.25}
#featured-video .vid figcaption span{font-size:.74rem}
.vid{transition:transform .18s ease,box-shadow .18s ease}
.vid:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}
/* whisper of gold (family) & red (criminal), blue (business) */
.vg-fam .vg-head{border-bottom-color:#F7C844}
.vg-crim .vg-head{border-bottom-color:var(--red)}
.vg-biz .vg-head{border-bottom-color:var(--malibu-strong)}
.vg-fam .vid{border-top:3px solid #F7C844}
.vg-crim .vid{border-top:3px solid var(--red)}
.vg-biz .vid{border-top:3px solid var(--malibu-strong)}
@media(max-width:700px){.hv-row{grid-template-columns:repeat(2,minmax(0,168px))}}
@media(max-width:400px){.hv-row{grid-template-columns:repeat(2,minmax(0,140px));gap:10px}}
@media(max-width:760px){.vid-grid{grid-template-columns:1fr}}

/* functional keepers */
.seo-only{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;clip-path:inset(50%)!important;white-space:nowrap!important;margin:0!important;padding:0!important}
.loc-note{text-align:center;font-size:1.05rem;color:#3A557F;max-width:660px;margin:0 auto 8px}
a.svc-tag{text-decoration:none}
a.svc-tag:hover{border-color:var(--malibu-deep);background:var(--malibu)}

/* ---------- video callouts ---------- */
.vid-callout{display:flex;align-items:center;gap:15px;margin:26px 0;padding:16px 20px;background:#EFF7FD;border:1px solid #CBE6F8;border-radius:14px;text-decoration:none;transition:border-color .18s,background .18s,transform .18s}
.vid-callout:hover{border-color:var(--malibu-deep);background:#E3F3FD;transform:translateY(-2px)}
.vc-ico{flex:0 0 auto;width:46px;height:46px;border-radius:50%;background:var(--navy);color:#fff;display:flex;align-items:center;justify-content:center;font-size:1rem;padding-left:4px;box-shadow:0 4px 12px rgba(30,58,110,.25)}
.vid-callout .vc-txt{display:flex;flex-direction:column;gap:2px;text-align:left}
.vid-callout .vc-txt strong{color:var(--navy-deep);font-size:1.02rem;line-height:1.35}
.vid-callout .vc-txt span{font-size:.89rem;color:#33517E;line-height:1.45}
.vc-go{margin-left:auto;color:var(--malibu-strong);font-size:1.35rem;flex:0 0 auto}
.vid-h{scroll-margin-top:110px}

/* ---------- hero aid badges (pets / ACP / lease) ---------- */
.aid-badges{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px;max-width:660px}
.aid-badges .paw-badge{margin-top:0}
.paw-badge{display:inline-flex;align-items:center;flex-wrap:wrap;gap:4px;margin-top:14px;padding:7px 14px;background:#fff;border:1px solid #CBE6F8;border-radius:999px;font-size:.86rem;color:#33517E;text-decoration:none;box-shadow:0 2px 8px rgba(30,58,110,.08);transition:border-color .18s,box-shadow .18s,transform .18s}
.paw-badge:hover{border-color:var(--malibu-deep);box-shadow:0 6px 16px rgba(30,58,110,.14);transform:translateY(-1px)}
.paw-badge strong{color:var(--navy-deep)}
.pkg-plus{display:inline-block;margin-left:10px;font-size:.55em;font-weight:600;color:#33517E;background:#EFF7FD;border:1px solid #CBE6F8;border-radius:999px;padding:4px 12px;vertical-align:middle;letter-spacing:.02em;white-space:nowrap}
@media(max-width:700px){.pkg-plus{white-space:normal;margin-left:0;margin-top:8px;display:inline-block}}

/* ---------- business portal ---------- */
a.chip-btn{text-decoration:none;display:inline-block}
.chip-gold{background:var(--gold);border-color:var(--gold);color:#16294B!important;font-weight:700}
.biz-h{margin:44px 0 18px;color:var(--navy-deep);scroll-margin-top:110px}
details.biz{background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);margin:0 0 14px;overflow:hidden}
details.biz summary{display:flex;align-items:center;gap:14px;padding:17px 20px;cursor:pointer;font-weight:700;color:var(--navy);font-size:1.04rem;list-style:none;transition:background .15s}
details.biz summary::-webkit-details-marker{display:none}
details.biz summary::after{content:"+";margin-left:auto;font-size:1.5rem;color:var(--malibu-strong);font-weight:400;line-height:1;flex:0 0 auto}
details.biz[open] summary::after{content:"–"}
details.biz summary:hover{background:#F4FAFE}
details.biz[open] summary{background:#EFF7FD;border-bottom:1px solid #CBE6F8}
.biz-n{flex:0 0 auto;font-family:var(--serif);font-size:1.05rem;font-weight:700;color:var(--malibu-deep);background:#E3F3FD;border-radius:10px;padding:5px 10px;line-height:1}
.biz-body{padding:18px 22px 20px}
.biz-body p{margin:0 0 14px;color:#26426B;font-size:.99rem;line-height:1.65}
.biz-docs{background:#F6FAFE;border:1px solid #DCEDFA;border-radius:12px;padding:13px 18px;margin:14px 0}
.biz-docs strong{color:var(--navy);font-size:.82rem;letter-spacing:.08em;text-transform:uppercase}
.biz-docs ul{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px 18px}
.biz-docs a{font-size:.92rem;font-weight:600}
.biz-help{margin:12px 0 0!important;background:linear-gradient(180deg,#EFF7FE,#E1EFFB);border-left:4px solid var(--gold);border-radius:10px;padding:12px 15px!important;font-size:.95rem!important}
.biz-help strong{color:var(--malibu-deep)}
.lien-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}
.lien-table{width:100%;border-collapse:separate;border-spacing:0;background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden;box-shadow:var(--shadow);min-width:640px}
.lien-table th{background:var(--navy);color:#fff;text-align:left;padding:14px 18px;font-size:.8rem;letter-spacing:.09em;text-transform:uppercase}
.lien-table td{padding:15px 18px;border-top:1px solid var(--line);color:#26426B;font-size:.97rem;vertical-align:top;line-height:1.55}
.lien-table tr:nth-child(even) td{background:#F8FBFE}
.lien-table td:first-child{font-weight:700;color:var(--navy)}
.lt-cite{white-space:nowrap;color:var(--malibu-deep)!important}
.acp-btns{display:flex;flex-wrap:wrap;gap:10px;margin:20px 0 4px}
.acp-btns .sh-web{margin-top:0}
.prose .sh-web,.shelter .sh-web{display:inline-block;margin-top:10px;font-weight:700;font-size:.92rem;color:var(--malibu-deep);text-decoration:none;border:1.5px solid var(--malibu-strong);border-radius:999px;padding:6px 14px;transition:background .15s,color .15s}
.prose .sh-web:hover,.shelter .sh-web:hover{background:var(--malibu-deep);color:#fff;border-color:var(--malibu-deep)}
a.crs-a{color:var(--malibu-dark);text-decoration:none;border-bottom:1.5px dotted var(--malibu-strong);white-space:nowrap}
a.crs-a:hover{color:var(--navy);border-bottom-style:solid;border-bottom-color:var(--malibu-deep)}
.cta-band a.crs-a,.cred a.crs-a{color:inherit;border-bottom-color:rgba(255,255,255,.5)}

/* ---------- DUI top alert ---------- */
.dui-alert{display:flex;align-items:center;gap:18px;flex-wrap:wrap;background:linear-gradient(100deg,#7C1113,#A31518 55%,#7C1113);color:#fff;text-decoration:none;padding:15px clamp(18px,4vw,54px);border-bottom:3px solid var(--gold);box-shadow:0 4px 18px rgba(124,17,19,.35)}
.dui-alert .da-chip{flex:0 0 auto;background:#fff;color:#A31518;font-weight:800;letter-spacing:.06em;font-size:.8rem;border-radius:999px;padding:7px 14px;white-space:nowrap}
.dui-alert .da-txt{flex:1 1 320px;font-size:1.02rem;line-height:1.45}
.dui-alert .da-txt strong{font-size:1.12rem;letter-spacing:.01em}
.dui-alert .da-sub{opacity:.92}
.dui-alert .da-go{flex:0 0 auto;background:var(--gold);color:#16294B;font-weight:800;border-radius:999px;padding:10px 20px;white-space:nowrap;transition:transform .15s,box-shadow .15s}
.dui-alert:hover .da-go{transform:translateX(3px);box-shadow:0 6px 16px rgba(0,0,0,.25)}
@media(max-width:700px){.dui-alert{gap:10px}.dui-alert .da-go{width:100%;text-align:center}}

/* ---------- community portals band ---------- */
.portals{background:linear-gradient(180deg,#F2F9FE,#fff);padding:58px 0 64px;border-bottom:1px solid var(--line)}
.portal-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
@media(max-width:920px){.portal-grid{grid-template-columns:1fr}}
.portal{position:relative;display:flex;flex-direction:column;gap:10px;background:#fff;border:1px solid var(--line);border-radius:18px;padding:26px 24px 22px;text-decoration:none;box-shadow:var(--shadow);transition:transform .18s,box-shadow .18s,border-color .18s}
.portal:hover{transform:translateY(-4px);box-shadow:0 14px 34px rgba(30,58,110,.16);border-color:var(--malibu-strong)}
.portal .p-tag{position:absolute;top:-11px;left:22px;background:var(--gold);color:#16294B;font-size:.68rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase;border-radius:999px;padding:4px 12px}
.portal .p-ic{width:72px;height:72px}
.portal .p-ic svg{width:72px;height:72px}
.portal .p-emoji{font-size:2.9rem;line-height:1;display:flex;align-items:center}
.portal strong{font-family:var(--serif);font-size:1.22rem;color:var(--navy-deep);line-height:1.3}
.portal span{color:#33517E;font-size:.95rem;line-height:1.6;flex:1}
.portal em{font-style:normal;font-weight:700;color:var(--malibu-deep)}
.p-prose{border-top:4px solid var(--gold)}
.p-safe{border-top:4px solid #A31518}
.p-biz{border-top:4px solid var(--navy)}

/* ---------- package scope ---------- */
.pkg-scope{background:#FFF9E8;border:1.5px solid var(--gold);border-radius:12px;padding:14px 18px;margin:16px 0 0;color:#4A3B10;font-size:.97rem;line-height:1.6}

/* ---------- landlord letters ---------- */
details.letter{background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);margin:0 0 14px;overflow:hidden}
details.letter summary{display:flex;align-items:center;gap:14px;padding:18px 20px;cursor:pointer;font-weight:700;color:var(--navy);font-size:1.06rem;list-style:none}
details.letter summary::-webkit-details-marker{display:none}
details.letter summary::after{content:"+";margin-left:auto;font-size:1.5rem;color:var(--malibu-strong);font-weight:400;line-height:1}
details.letter[open] summary::after{content:"–"}
details.letter[open] summary{background:#EFF7FD;border-bottom:1px solid #CBE6F8}
.ltr-ic{flex:0 0 auto;font-size:1.3rem}
.ltr-cite{font-size:.8rem;font-weight:600;color:var(--malibu-deep);background:#E3F3FD;border-radius:999px;padding:4px 10px;white-space:nowrap}
.ltr-wrap{padding:18px 22px 22px}
.ltr-when{font-size:.95rem;color:#26426B;margin:0 0 12px}
.ltr-when strong{color:var(--navy)}
.ltr{white-space:pre-wrap;background:#FBFDFF;border:1px solid #DCEDFA;border-left:4px solid var(--gold);border-radius:10px;padding:20px 22px;font-size:.94rem;line-height:1.7;color:#1F3A63}
.ltr b{color:var(--navy-deep)}
.copy-btn{display:inline-flex;align-items:center;gap:8px;margin-top:12px;background:var(--navy);color:#fff;border:0;border-radius:999px;padding:10px 20px;font-weight:700;font-size:.92rem;cursor:pointer;transition:background .15s}
.copy-btn:hover{background:var(--malibu-deep)}
.copy-btn.ok{background:#1D7A3E}

/* ---------- forms mega tiles ---------- */
.fbig-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(215px,1fr));gap:10px;margin-top:16px}
.fbig{display:flex;flex-direction:column;gap:4px;text-align:left;background:#fff;border:1px solid var(--line);border-left:4px solid var(--malibu-strong);border-radius:12px;padding:14px 16px;cursor:pointer;font-family:inherit;transition:transform .15s,box-shadow .15s,border-color .15s}
.fbig:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(30,58,110,.13);border-color:var(--malibu-deep)}
.fbig strong{color:var(--navy-deep);font-size:.99rem;line-height:1.3}
.fbig span{color:#54719E;font-size:.8rem;line-height:1.4}
.fbig.cat{border-left-color:var(--gold)}
.fbig.on{background:var(--navy);border-color:var(--navy)}
.fbig.on strong,.fbig.on span{color:#fff}
.fbig-h{margin:26px 0 0;font-size:.8rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:#54719E}

/* ---------- CFI section ---------- */
.cfi-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;margin:20px 0}
.cfi-fact{background:#F2F9FE;border:1px solid #CBE6F8;border-radius:12px;padding:14px 16px}
.cfi-fact .n{font-family:var(--serif);font-size:1.35rem;font-weight:700;color:var(--malibu-deep);display:block}
.cfi-fact .l{font-size:.82rem;color:#33517E;line-height:1.4}

/* ---------- DV shelters directory ---------- */
.dvs-search input{width:100%;box-sizing:border-box;font-size:1.05rem;padding:15px 18px;border:2px solid var(--malibu-strong);border-radius:12px;font-family:inherit}
.dvs-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px;margin-top:22px}
.dvs{background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px 20px;box-shadow:var(--shadow)}
.dvs h3{margin:0 0 4px;font-size:1.05rem;color:var(--navy-deep)}
.dvs .dvs-area{font-size:.83rem;font-weight:700;letter-spacing:.03em;color:#8a6f1f;margin-bottom:8px}
.dvs .dvs-co{font-size:.85rem;color:#54719E;line-height:1.5;margin:6px 0}
.dvs a.dvs-tel{display:inline-block;font-weight:800;color:var(--malibu-deep);text-decoration:none;font-size:1.02rem;margin:4px 10px 4px 0}
.dvs a.dvs-tel:hover{text-decoration:underline}
.dvs .sh-web{margin-top:8px}

/* ---------- hero credential line + JDF links ---------- */
.hero-cred{margin-top:14px;font-size:.82rem;line-height:1.7;color:#33517E;letter-spacing:.015em;max-width:960px}
.hero-cred strong{color:var(--navy-deep)}
a.jdf-a{color:var(--malibu-dark);text-decoration:none;border-bottom:1.5px dotted var(--gold);white-space:nowrap;font-weight:600}
a.jdf-a:hover{color:var(--navy);border-bottom-style:solid;border-bottom-color:var(--malibu-deep)}
.cta-band a.jdf-a,.cred a.jdf-a,.pkg a.jdf-a{color:inherit;border-bottom-color:rgba(255,255,255,.5)}
.ltr a.jdf-a,.ltr a.crs-a{white-space:normal}

/* ---------- divorce-papers top alert (navy twin of the DUI band) ---------- */
.dui-alert.divorce{background:linear-gradient(100deg,#16294B,#1E3A6E 55%,#16294B);box-shadow:0 4px 18px rgba(22,41,75,.35);border-bottom:3px solid var(--gold)}
.dui-alert.divorce .da-chip{color:#16294B}

/* ---------- DUI gold third band ---------- */
.dui-alert.duigold{background:linear-gradient(100deg,#6E5312,#8a6f1f 55%,#6E5312);box-shadow:0 4px 18px rgba(110,83,18,.35);border-bottom:3px solid #16294B}
.dui-alert.duigold .da-chip{color:#6E5312}
.dui-alert.duigold .da-go{background:#16294B;color:#fff}

/* ---------- brand card (navy logo card, all sizes) ---------- */
.bcard{background:linear-gradient(160deg,#24406F,#16294B);border-radius:22px;color:#fff;text-align:center;box-shadow:0 14px 34px rgba(22,41,75,.28);padding:26px 22px 22px;position:relative;overflow:hidden}
.bcard>svg{width:100%;height:auto;max-width:250px;margin:0 auto;display:block}
.bc-name{font-family:var(--serif);font-size:1.18rem;font-weight:700;letter-spacing:.02em;margin-top:14px}
.bc-role{font-size:.72rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);margin-top:6px}
.bcard.lg{padding:38px 30px 30px}.bcard.lg>svg{max-width:330px}.bcard.lg .bc-name{font-size:1.5rem}
.bcard.sm{padding:18px 16px 16px;border-radius:16px}.bcard.sm>svg{max-width:170px}.bcard.sm .bc-name{font-size:.98rem;margin-top:10px}.bcard.sm .bc-role{font-size:.6rem}
.sidebar-cta .bcard{margin-bottom:16px}
.cta-band .wrap .bcard{flex:0 0 240px;max-width:240px}
@media(max-width:900px){.cta-band .wrap .bcard{display:none}}
.cta-band .wrap .bcard{border:1.5px solid rgba(177,143,46,.7);box-shadow:0 10px 26px rgba(0,0,0,.35)}

/* ---------- footer: divorce guides under the brand ---------- */
.f-brand .f-guides{list-style:none;margin:10px 0 0;padding:0;columns:2;column-gap:26px}
.f-brand .f-guides li{margin:0 0 7px;break-inside:avoid;font-size:.92rem;line-height:1.45}
@media(max-width:640px){.f-brand .f-guides{columns:1}}

/* ---------- uniform top banners — no gold, ever ---------- */
.dui-alert,.dui-alert.divorce,.dui-alert.duigold{background:linear-gradient(100deg,#152845,#1E3A6E 55%,#152845);border-bottom:1px solid rgba(255,255,255,.16);box-shadow:none}
.dui-alert .da-chip,.dui-alert.divorce .da-chip,.dui-alert.duigold .da-chip{background:#FFFFFF;color:#1E3A6E}
.dui-alert .da-go,.dui-alert.divorce .da-go,.dui-alert.duigold .da-go{background:#FFFFFF;color:#1E3A6E}
.dui-alert:hover .da-go,.dui-alert.divorce:hover .da-go,.dui-alert.duigold:hover .da-go{box-shadow:0 6px 16px rgba(0,0,0,.28);transform:translateX(3px)}

/* ---------- CFI directory ---------- */
.cfi-exec{background:linear-gradient(180deg,#F2F9FE,#fff);border:1px solid var(--line);border-radius:18px;padding:28px 26px;margin:20px 0 8px;box-shadow:var(--shadow)}
.cfi-exec h2{margin:.2em 0 .5em}
.cfi-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:6px 0 20px}
@media(max-width:720px){.cfi-stats{grid-template-columns:repeat(2,1fr)}}
.cfi-stat{background:#fff;border:1px solid #CBE6F8;border-radius:12px;padding:16px 14px;text-align:center}
.cfi-stat .n{display:block;font-family:var(--serif);font-size:2rem;font-weight:700;color:var(--malibu-deep);line-height:1}
.cfi-stat .l{display:block;font-size:.82rem;color:#33517E;line-height:1.35;margin-top:6px}
.cfi-chiprow{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0 6px}
.cfi-chip{background:#fff;border:1.5px solid var(--line);border-radius:999px;padding:7px 14px;font-size:.9rem;font-weight:600;color:var(--navy);cursor:pointer;font-family:inherit;transition:all .15s}
.cfi-chip span{color:#8296b5;font-weight:700}
.cfi-chip:hover{border-color:var(--malibu-strong)}
.cfi-chip.on{background:var(--navy);border-color:var(--navy);color:#fff}
.cfi-chip.on span{color:#9db8dc}
.cfi-group{margin-top:38px}
.cfi-county-head{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap;border-bottom:2px solid var(--gold);padding-bottom:8px;margin-bottom:18px}
.cfi-county-head h2{margin:0;color:var(--navy-deep)}
.cfi-county-head span{font-size:.85rem;font-weight:700;letter-spacing:.03em;color:#8a6f1f;text-transform:uppercase}
.cfi-city{margin:0 0 22px}
.cfi-city h3{margin:0 0 12px;font-size:1.05rem;color:var(--malibu-deep);font-family:var(--sans);letter-spacing:.02em}
.cfi-city h3::before{content:"\\1F4CD";margin-right:7px}
.cfi-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:14px}
.cfi-card{background:linear-gradient(160deg,#FFFFFF 55%,#F1F8FF 100%);border:1px solid var(--line);border-left:4px solid var(--malibu-strong);border-radius:12px;padding:16px 18px;box-shadow:var(--shadow)}
.cfi-card .cfi-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.cfi-card h4{margin:0;font-size:1.06rem;color:var(--navy-deep);font-family:var(--serif)}
.cfi-badge{flex:0 0 auto;font-size:.64rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;border-radius:999px;padding:4px 9px;white-space:nowrap}
.cfi-badge.clin{background:#EAF6EC;color:#1D7A3E}
.cfi-badge.law{background:#EEF4FB;color:#1E3A6E}
.cfi-tags{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0 10px}
.cfi-pay{font-size:.7rem;font-weight:700;border-radius:6px;padding:3px 8px}
.cfi-pay.sp{background:#E3F3FD;color:#164973}
.cfi-pay.pp{background:#F3EEE2;color:#6E5312}
.cfi-pay.ss{background:#FBF0F0;color:#A31518}
.cfi-l{margin:0 0 7px;font-size:.9rem;line-height:1.55;color:#2A3F5F}
.cfi-contact{margin:8px 0 0;font-size:.86rem;color:#54719E;border-top:1px dashed var(--line);padding-top:9px}
.cfi-contact a{color:var(--malibu-deep);font-weight:600;text-decoration:none}
.cfi-contact a:hover{text-decoration:underline}

/* ---------- CFI start-package additions ---------- */
.cfi-badge.psy{background:#efe7fb;color:#5b2a9e}
.cfi-badge.trained{background:#eef1f5;color:#44546A}
.cfi-pay.lg{background:#E7F5EF;color:#1D7A3E}
.cfi-charles{display:flex;gap:22px;align-items:center;background:linear-gradient(160deg,#24406F,#16294B);color:#fff;border-radius:20px;padding:26px 28px;margin:22px 0 8px;box-shadow:0 14px 34px rgba(22,41,75,.28);border:1.5px solid rgba(177,143,46,.6)}
.cfi-charles .cfi-shield{flex:0 0 92px;width:92px}
.cfi-charles .cfi-shield svg{width:92px;height:92px}
.cfi-charles .eyebrow{color:var(--gold)}
.cfi-charles h3{color:#fff;margin:.2em 0 .4em;font-size:1.35rem}
.cfi-charles p{color:#D6E4F5;margin:0 0 14px;font-size:.97rem;line-height:1.6}
.cfi-charles-cta{display:flex;gap:12px;flex-wrap:wrap;align-items:center}
.cfi-charles .ps-call{color:#fff;font-weight:700;text-decoration:none;white-space:nowrap}
.cfi-charles p.cfi-charles-dist{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:2px 0 14px}
.cfi-charles-dist .cd-lab{font-size:.72rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--gold)}
.cfi-charles-dist .cd-d{font-size:.82rem;font-weight:600;color:#EAF2FB;background:rgba(255,255,255,.10);border:1px solid rgba(177,143,46,.45);border-radius:999px;padding:4px 11px;white-space:nowrap}
.cfi-charles p.cfi-charles-verify{font-size:.8rem;color:#AFC4E0;margin:0 0 12px}
.cfi-charles-verify a{color:#EAD48C;font-weight:700;text-decoration:underline}
@media(max-width:640px){.cfi-charles{flex-direction:column;text-align:center}.cfi-charles-cta{justify-content:center}.cfi-charles p.cfi-charles-dist{justify-content:center}}
.cando-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:16px 0}
@media(max-width:760px){.cando-grid{grid-template-columns:1fr}}
.cando{border-radius:16px;padding:20px 22px;border:1px solid var(--line)}
.cando.can{background:#F0F9F2;border-color:#Bfe3C8}
.cando.cant{background:#FBF1F0;border-color:#F2C9C4}
.cando h3{margin:0 0 10px;font-size:1.1rem}
.cando.can h3{color:#1D7A3E}.cando.cant h3{color:#A31518}
.cando ul{margin:0;padding-left:20px}
.cando li{margin:0 0 8px;font-size:.93rem;line-height:1.5;color:#2A3F5F}
.cfi-vs,.cfi-statepay,.cfi-rules{margin-top:30px}
.cfi-vs h3,.cfi-statepay h3,.cfi-rules h3{font-size:1.25rem;color:var(--navy-deep)}
.cfi-table{width:100%;border-collapse:collapse;margin:14px 0;font-size:.92rem;box-shadow:var(--shadow);border-radius:12px;overflow:hidden}
.cfi-table th,.cfi-table td{padding:11px 14px;text-align:left;border-bottom:1px solid var(--line);vertical-align:top}
.cfi-table thead th{background:var(--navy);color:#fff;font-size:.86rem}
.cfi-table tbody tr:nth-child(even){background:#F6FAFE}
.cfi-table td:first-child{font-weight:700;color:var(--navy);white-space:nowrap}
.cfi-table.forms td:first-child{white-space:nowrap}
.cfi-note{font-size:.9rem;color:#3A557F;background:#F2F9FE;border-left:3px solid var(--malibu-strong);padding:12px 16px;border-radius:8px;line-height:1.6}
.cfi-steps{counter-reset:s;list-style:none;padding:0;margin:14px 0}
.cfi-steps li{position:relative;padding:12px 16px 12px 52px;margin:0 0 10px;background:#fff;border:1px solid var(--line);border-radius:12px;font-size:.95rem;line-height:1.55;box-shadow:var(--shadow)}
.cfi-steps li::before{counter-increment:s;content:counter(s);position:absolute;left:14px;top:12px;width:26px;height:26px;background:var(--gold);color:#16294B;font-weight:800;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.9rem}
.cfi-statepay{background:linear-gradient(180deg,#FFF9E8,#fff);border:1.5px solid var(--gold);border-radius:16px;padding:22px 24px}
.cfi-rules{background:var(--navy-deep,#16294B);color:#fff;border-radius:18px;padding:26px 26px 22px;position:relative}
.cfi-rules h3{color:#fff}
.cfi-rules-badge{display:inline-block;background:var(--gold);color:#16294B;font-size:.68rem;font-weight:800;letter-spacing:.1em;border-radius:999px;padding:5px 14px;margin-bottom:8px}
.cfi-rules-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin:14px 0}
@media(max-width:720px){.cfi-rules-grid{grid-template-columns:1fr}}
.cfi-rules-grid>div{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);border-radius:12px;padding:13px 15px}
.cfi-rules-grid strong{color:var(--gold);display:block;margin-bottom:3px;font-size:.98rem}
.cfi-rules-grid span{color:#D6E4F5;font-size:.86rem;line-height:1.5}
.cfi-rules .cfi-table thead th{background:#0f1d33}
.cfi-rules .notice{background:rgba(255,255,255,.08);color:#fff;border-color:rgba(255,255,255,.2)}
.cfi-rules .cfi-table{color:#16294B}
.cfi-rules .cfi-note{background:rgba(255,255,255,.08);color:#D6E4F5;border-left-color:var(--gold)}
.cfi-card.feat{border-left-color:var(--gold);background:#FFFDF6}

/* ---------- homepage badge wall ---------- */
.badgewall{background:linear-gradient(180deg,#EAF4FC,#F7FBFE);padding:56px 0 62px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.bw-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px;margin-top:26px}
.bw-badge{position:relative;display:flex;align-items:center;gap:12px;background:#fff;border:1px solid var(--line);border-left:4px solid var(--malibu-strong);border-radius:13px;padding:14px 15px;text-decoration:none;box-shadow:var(--shadow);transition:transform .15s,box-shadow .15s,border-color .15s;overflow:hidden}
.bw-badge:hover{transform:translateY(-3px);box-shadow:0 12px 26px rgba(30,58,110,.16);border-left-color:var(--gold)}
.bw-ic{flex:0 0 auto;font-size:1.7rem;line-height:1}
.bw-txt{display:flex;flex-direction:column;min-width:0}
.bw-txt strong{color:var(--navy-deep);font-size:.98rem;line-height:1.25}
.bw-txt span{color:#54719E;font-size:.82rem;line-height:1.35;margin-top:2px}
.bw-flag{position:absolute;top:0;right:0;font-size:.6rem;font-weight:800;letter-spacing:.06em;color:#fff;padding:3px 9px;border-bottom-left-radius:9px;text-transform:uppercase}
.bw-flag.new{background:#A31518}
.bw-flag.expanded{background:#1D7A3E}

/* ---------- mega practice-areas dropdown ---------- */
.sub.mega{grid-template-columns:repeat(2,minmax(210px,1fr));gap:2px 18px;min-width:460px;padding:16px 18px}
.nav .has-sub:hover .sub.mega,.nav .has-sub:focus-within .sub.mega{display:grid}
@media(max-width:900px){.sub.mega{grid-template-columns:1fr;min-width:0}}
.sub.mega .sub-col{display:flex;flex-direction:column}
.sub.mega .sub-h{font-size:.68rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--gold-deep,#8a6f1f);padding:8px 6px 4px;border-bottom:1px solid var(--line);margin-bottom:2px}
.sub.mega a{padding:6px 8px;font-size:.9rem;border-radius:6px}
.sub.mega a:hover{background:#EFF7FD;color:var(--navy)}
.sub.mega .sub-all{grid-column:1/-1;margin-top:8px;text-align:center;font-weight:800;color:#fff;background:var(--navy);border-radius:8px;padding:9px}
.sub.mega .sub-all:hover{background:var(--malibu-deep)}

/* ---------- practice-areas index ---------- */
.pa-group{margin-top:34px}
.pa-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px;margin-top:8px}
.pa-card{display:flex;flex-direction:column;gap:4px;background:#fff;border:1px solid var(--line);border-left:4px solid var(--malibu-strong);border-radius:12px;padding:15px 17px;text-decoration:none;box-shadow:var(--shadow);transition:transform .15s,box-shadow .15s,border-color .15s}
.pa-card:hover{transform:translateY(-3px);box-shadow:0 12px 26px rgba(30,58,110,.15);border-left-color:var(--gold)}
.pa-card strong{color:var(--navy-deep);font-size:1.02rem}
.pa-card span{color:#54719E;font-size:.86rem;line-height:1.45}

/* ---------- LLF-logo badge icons ---------- */
.bw-logo{width:38px;height:38px;flex:0 0 38px;display:flex;align-items:center;justify-content:center}
.bw-logo svg{width:38px;height:38px}
.paw-ic{display:inline-flex;width:26px;height:26px;vertical-align:middle;margin-right:2px}
.paw-ic svg{width:26px;height:26px}

/* Homepage top banners — all 6 boxes (3 topic pills + 3 red action buttons)
   rendered the SAME size, in two even columns; description text aligned after. */
@media(min-width:1080px){
  .dui-alert{display:grid;grid-template-columns:184px 116px 1fr;column-gap:18px;align-items:center}
  .dui-alert .da-chip,.dui-alert .da-go{justify-self:start;display:inline-flex;align-items:center;justify-content:center;min-height:30px;text-align:center}
  .dui-alert .da-chip{font-size:.78rem;letter-spacing:.02em;padding:6px 14px}
  .dui-alert .da-go{font-size:.9rem;padding:7px 16px}
  .dui-alert .da-txt{min-width:0}
}

/* Common-law marriage self-check + guide */
.clm-quiz{display:grid;gap:9px;margin:18px 0 4px}
.clm-q{display:flex;gap:12px;align-items:flex-start;background:#fff;border:1px solid var(--line);border-radius:12px;padding:11px 14px;cursor:pointer;font-size:.99rem;line-height:1.45;color:#33517E;transition:border-color .15s,box-shadow .15s}
.clm-q:hover{border-color:var(--malibu-deep);box-shadow:0 2px 10px rgba(30,58,110,.07)}
.clm-q input{margin-top:3px;width:18px;height:18px;flex:0 0 auto;accent-color:var(--malibu-deep);cursor:pointer}
.clm-q b{color:var(--navy-deep)}
.clm-result{margin:16px 0 4px;padding:18px 20px;border-radius:14px;border:1px solid var(--line);border-left:5px solid #9fb6d6;background:#fff;font-size:1rem;line-height:1.55;color:#33517E}
.clm-result .clm-tally{font-family:var(--serif);font-size:1.16rem;font-weight:700;color:var(--navy-deep);margin-bottom:6px}
.clm-result .clm-fine{font-size:.82rem;color:#6b7f9e;margin-top:10px}
.clm-result.lo{border-left-color:#3E8E5A}
.clm-result.mid{border-left-color:#B18F2E}
.clm-result.hi{border-left-color:#A31518}
.clm-result.gate{border-left-color:#6b7f9e}
.clm-toc{list-style:none;margin:14px 0 22px;padding:0;columns:2;column-gap:30px}
@media(max-width:760px){.clm-toc{columns:1}}
.clm-toc li{break-inside:avoid;margin:0 0 9px}
.clm-toc a{color:var(--malibu-deep);text-decoration:none;font-weight:600;font-size:.95rem;line-height:1.35}
.clm-toc a:hover{text-decoration:underline}
.faq-y{color:#3E8E5A;font-weight:800}

/* Forms — instructions-first section */
.finstr-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin:14px 0 10px}
@media(max-width:820px){.finstr-grid{grid-template-columns:1fr}}
.finstr-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:15px 18px}
.finstr-card h3{display:flex;align-items:center;gap:10px;font-size:1.04rem;color:var(--navy-deep);margin:0 0 10px}
.finstr-card h3 .fcount{margin-left:auto}
.finstr-card ul{list-style:none;margin:0;padding:0;display:grid;gap:2px}
.finstr-card li a{display:flex;gap:10px;align-items:baseline;text-decoration:none;color:#33517E;font-size:.92rem;line-height:1.35;padding:6px 0;border-bottom:1px solid #eef3f9}
.finstr-card li:last-child a{border-bottom:none}
.finstr-card li a:hover{color:var(--malibu-deep)}
.finstr-card .inum{flex:0 0 auto;font-weight:800;color:var(--malibu-deep);font-size:.78rem;font-variant-numeric:tabular-nums;min-width:62px}
.fintro{color:#4A6690;max-width:780px;margin:2px 0 10px;line-height:1.5}

/* Service-page practice items — compact 2-column cards (was a long single list) */
.svc-cards{display:grid;grid-template-columns:1fr 1fr;gap:12px 20px;margin:16px 0 26px}
@media(max-width:820px){.svc-cards{grid-template-columns:1fr}}
.svc-item{background:#fff;border:1px solid var(--line);border-left:3px solid var(--gold);border-radius:10px;padding:11px 14px;font-size:.92rem;line-height:1.45;color:#33517E}
.svc-item strong{color:var(--navy-deep)}
.svc-item a{color:var(--malibu-deep)}
