/* ===== industry pages (law hub, personal injury) ===== */
.ihero{padding:44px 0 36px;background:radial-gradient(50% 70% at 85% 10%,oklch(0.6 0.23 293 / .26),transparent),radial-gradient(40% 50% at 0% 100%,oklch(0.84 0.15 80 / .08),transparent)}
.ihero-in{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(2rem,4vw,4rem);align-items:center}
.ihero-in>*{min-width:0}
.ihero h1{font-size:clamp(2.2rem,4.8vw,3.9rem);letter-spacing:-.035em;line-height:1.03;margin:.9rem 0 1.1rem}
.ihero h1 .serif{color:oklch(0.84 0.15 80)}
.ihero-card{position:relative;background:var(--surface);border:1px solid var(--line-2);border-radius:var(--r-xl);padding:1.4rem;box-shadow:0 40px 80px -30px #000}
.ihero-card img{display:block;width:100%;height:auto;border-radius:10px;border:1px solid var(--line-2);margin:.4rem 0 .6rem}
.ihero-serp .serp{min-height:0}
.ihero-serp .gl{border-top:1px solid #eee}
/* on this page */
.itoc{display:flex;gap:.45rem;overflow-x:auto;padding:.9rem 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);scrollbar-width:none}
.itoc span{flex:none;font:500 .72rem var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--mute);align-self:center;margin-right:.3rem}
.itoc a{flex:none;padding:.4rem .85rem;border-radius:999px;border:1px solid var(--line-2);color:var(--ink-2);font-size:.86rem;text-decoration:none}
.itoc a:hover{border-color:var(--brand-2);color:var(--ink)}
/* long-form reading */
.iread{max-width:780px}
.iread p{font-size:1.06rem;line-height:1.75;color:var(--ink-2)}
.iread p.big{font-size:1.25rem;color:var(--ink);line-height:1.6}
.iread p b{color:var(--ink)}
.ians{background:var(--surface);border:1px solid var(--line-2);border-left:4px solid var(--brand-2);border-radius:var(--r-lg);padding:1.6rem 1.8rem}
.ians h2{font-size:1.6rem;margin:.4rem 0 .6rem}
.ians p{margin:0}
/* why different */
.idiff,.isearch{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}
.idiff>div,.isearch>div{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:1.4rem}
.idiff b,.isearch b{display:block;color:var(--ink);font-size:1.08rem;margin-bottom:.4rem}
.isearch b{font-family:var(--mono);font-size:.92rem;color:#D9C8FF}
.idiff p,.isearch p{margin:0;font-size:.93rem;color:var(--ink-2)}
/* pillars */
.ipills{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.ip{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:1.6rem;display:flex;flex-direction:column;transition:transform .3s,border-color .3s}
.ip:hover{transform:translateY(-4px);border-color:oklch(0.72 0.17 295 / .45)}
.ip h3{font-size:1.2rem;margin-bottom:.5rem}.ip p{color:var(--ink-2);font-size:.95rem;flex:1}
.ip-t{margin-top:1rem;font:500 .74rem var(--mono);color:var(--gold)}
/* practice areas */
.iareas{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}
.ia{display:flex;flex-direction:column;padding:1.5rem;border-radius:var(--r-lg);background:var(--surface);border:1px solid var(--line);text-decoration:none;color:var(--ink-2);transition:transform .3s,border-color .3s}
.ia h3{font-size:1.2rem;margin-bottom:.4rem}.ia p{font-size:.92rem;flex:1}
.ia span{margin-top:1rem;font-weight:700;color:var(--mute)}
.ia.live{border-color:oklch(0.84 0.15 80 / .45);background:radial-gradient(120% 70% at 0% 0%,oklch(0.84 0.15 80 / .1),var(--surface) 70%)}
.ia.live span{color:oklch(0.86 0.14 80)}
.ia:hover{transform:translateY(-4px)}
/* red flags */
.flags{display:grid;gap:.8rem}
.fl-row{display:grid;grid-template-columns:1fr auto 1fr;gap:.8rem;align-items:stretch}
.fl-bad,.fl-good{padding:1rem 1.2rem;border-radius:14px;font-size:.98rem;color:var(--ink)}
.fl-bad{background:oklch(0.68 0.2 25 / .1);border:1px solid oklch(0.68 0.2 25 / .35);border-left:4px solid oklch(0.68 0.2 25)}
.fl-good{background:oklch(0.78 0.17 155 / .1);border:1px solid oklch(0.78 0.17 155 / .35);border-left:4px solid var(--up)}
.fl-bad b,.fl-good b{display:flex;align-items:center;gap:.35rem;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;margin-bottom:.25rem}
.fl-bad b{color:oklch(0.76 0.17 25)}.fl-good b{color:var(--up)}
.fl-arr{align-self:center;color:var(--up);font-size:1.4rem}
/* plans summary */
.iplans{display:grid;grid-template-columns:1fr 1.1fr 1fr;gap:1rem;max-width:1000px;margin:0 auto;align-items:stretch}
.ipl{position:relative;display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line-2);border-radius:var(--r-xl);padding:1.6rem}
.ipl.hot{border:1.5px solid oklch(0.84 0.15 80 / .7);background:radial-gradient(120% 60% at 50% 0%,oklch(0.3 0.08 293),var(--surface) 70%)}
.ipl h3{font-size:1.2rem;margin:.3rem 0}.ipp{font-family:var(--display);font-size:2.2rem;color:var(--ink);margin:.4rem 0}.ipp small{font-size:.95rem;color:var(--mute)}
.ipl p{font-size:.92rem;color:var(--ink-2);margin:0}.ipl p b{color:var(--up)}
/* who */
.icerts{display:grid;grid-template-columns:repeat(4,1fr);gap:.6rem;margin:1.2rem 0}
.icerts img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:10px;background:#fff;border:1px solid var(--line-2)}
/* PI playbook */
.plays{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.play{display:flex;gap:1.1rem;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:1.4rem}
.play-n{flex:none;font:700 1.6rem var(--display);color:oklch(0.84 0.15 80);line-height:1}
.play h3{font-size:1.15rem;margin-bottom:.35rem}.play p{margin:0;color:var(--ink-2);font-size:.95rem}
/* page map grid */
.pgrid{display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:6px;max-width:820px}
.pgrid b{font-size:.82rem;color:var(--ink);text-align:center;padding:.5rem}
.pgrid span{padding:.6rem .8rem;background:var(--surface);border-radius:10px;font-size:.92rem;color:var(--ink)}
.pgrid i{display:grid;place-items:center;font-style:normal;border-radius:10px;background:var(--tint);border:1px dashed var(--line-2);color:var(--mute);font-weight:700}
.pgrid i.on{background:oklch(0.78 0.17 155 / .14);border:1px solid oklch(0.78 0.17 155 / .4);color:var(--up)}
/* proposal checklist */
.chks{display:grid;grid-template-columns:1fr 1fr;gap:.8rem}
.chk{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:1.1rem 1.2rem}
.chk b{display:flex;gap:.45rem;align-items:flex-start;color:var(--ink);font-size:1rem}.chk b svg{flex:none;color:var(--up);margin-top:.2rem}
.chk span{display:block;margin:.35rem 0 0 1.6rem;font-size:.9rem;color:var(--ink-2)}
.lstamp.go-on{transform:rotate(-12deg) scale(1);opacity:.92}
@media (max-width:1080px){.idiff,.isearch,.iareas{grid-template-columns:1fr 1fr}.ipills{grid-template-columns:1fr 1fr}}
@media (max-width:900px){.ihero-in{grid-template-columns:1fr}.iplans{grid-template-columns:1fr}.plays,.chks{grid-template-columns:1fr}.fl-row{grid-template-columns:1fr}.fl-arr{transform:rotate(90deg);justify-self:center}}
@media (max-width:640px){.idiff,.isearch,.iareas,.ipills{grid-template-columns:1fr}.icerts{grid-template-columns:1fr 1fr}.pgrid{grid-template-columns:1.2fr repeat(3,.8fr);font-size:.8rem}.pgrid span{font-size:.8rem;padding:.5rem}.ians{padding:1.2rem}}
.ihero-serp .sgoal{color:#fff!important}
/* ===== v2: psychology + readability ===== */
.ihero .kicker{font-size:.72rem}
.byline{display:flex;align-items:center;gap:.6rem;margin-top:1.3rem;font-size:.86rem;color:var(--mute)}
.byline img{border-radius:50%;border:2px solid oklch(0.72 0.17 295 / .5)}
.byline a{color:var(--ink-2)}
.tldr{margin-top:2rem;padding:1.3rem 1.5rem;border-radius:var(--r-lg);background:oklch(1 0 0 / .035);border:1px solid var(--line-2)}
.tldr ul{list-style:none;margin:.7rem 0 0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:.6rem 1.6rem}
.tldr li{font-size:.98rem;line-height:1.5;color:var(--ink-2);padding-left:1.1rem;position:relative}
.tldr li::before{content:"";position:absolute;left:0;top:.55rem;width:6px;height:6px;border-radius:50%;background:var(--gold)}
.tldr b{color:var(--ink)}
.itools{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem 1.2rem;margin-top:1.4rem;color:var(--mute);font-size:.82rem}
.itools>span:first-child{font:500 .7rem var(--mono);letter-spacing:.12em;text-transform:uppercase;margin-right:.3rem}
.itools .tlg{display:inline-flex;align-items:center;gap:.4rem;color:var(--ink-2)}
.itools img{width:22px;height:22px;object-fit:contain;border-radius:5px;background:#fff;padding:2px}
.iread p{max-width:68ch}
.ovs{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}
.ov{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:1.4rem}
.ov h3{font-size:1.08rem;margin-bottom:.4rem}.ov p{margin:0;font-size:.93rem;color:var(--ink-2)}
/* quiz */
.quiz{position:relative;max-width:760px;margin:0 auto;padding:clamp(1.4rem,3vw,2.2rem);border-radius:var(--r-xl);background:var(--surface);border:1px solid oklch(0.84 0.15 80 / .45);box-shadow:0 30px 60px -30px oklch(0.84 0.15 80 / .35);overflow:hidden}
.quiz-h h2{font-size:clamp(1.5rem,3vw,2rem);margin:.4rem 0}.quiz-h p{color:var(--mute);margin:0 0 1.2rem}
.qstep{display:none}.qstep.on{display:block;animation:sin .35s ease}
.qstep>b{display:block;color:var(--ink);font-size:1.08rem;margin-bottom:.8rem}
.qopts{display:grid;grid-template-columns:1fr 1fr;gap:.6rem}
.qopts button{padding:.95rem 1rem;border-radius:14px;border:1px solid var(--line-2);background:var(--tint);color:var(--ink);font:inherit;font-weight:600;cursor:pointer;text-align:left;transition:border-color .2s,background .2s,transform .2s}
.qopts button:hover{border-color:var(--brand-2);transform:translateY(-2px)}
.qopts button.sel{border-color:var(--gold);background:oklch(0.84 0.15 80 / .12)}
.qcity{display:flex;gap:.6rem}.qcity input{flex:1;min-width:0;padding:.85rem 1rem;border-radius:12px;border:1px solid var(--line-2);background:var(--tint);color:var(--ink);font:inherit}
.qres{display:flex;gap:1rem;align-items:flex-start;animation:sin .4s ease}
.qok{flex:none;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:oklch(0.78 0.17 155 / .18);color:var(--up)}
.qres h3{font-size:1.3rem;margin:0 0 .4rem}.qres p{color:var(--ink-2);margin:0 0 1rem}
.qbar{position:absolute;left:0;right:0;bottom:0;height:4px;background:var(--line)}.qbar i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--brand),var(--gold));transition:width .4s}
/* risk reversal */
.risk{margin:1.8rem auto 0;max-width:1000px;border-radius:var(--r-xl);border:1.5px solid oklch(0.78 0.17 155 / .4);background:linear-gradient(135deg,oklch(0.78 0.17 155 / .08),var(--surface));padding:1.5rem}
.risk-h h3{font-size:1.3rem;margin:.3rem 0 1rem}
.risk-l{display:grid;grid-template-columns:repeat(5,1fr);gap:.9rem}
.risk-l>div{display:flex;flex-direction:column;gap:.35rem}
.risk-l span{color:var(--up)}.risk-l b{color:var(--ink);font-size:.95rem}.risk-l p{margin:0;font-size:.85rem;color:var(--ink-2)}
/* personal note */
.pnote{display:flex;gap:1.2rem;align-items:flex-start;max-width:820px;margin:0 auto;padding:1.6rem 1.8rem;border-radius:var(--r-xl);background:var(--surface);border:1px solid var(--line-2)}
.pnote img{flex:none;border-radius:50%;border:2px solid oklch(0.84 0.15 80 / .6)}
.pnote p{margin:0 0 .6rem;font-family:var(--serif);font-style:italic;font-size:clamp(1.15rem,2vw,1.4rem);line-height:1.45;color:var(--ink)}
.pnote span{font-size:.85rem;color:var(--mute)}
/* measuring + compare */
.mets{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.met{background:var(--surface);border:1px solid var(--line);border-left:3px solid var(--brand-2);border-radius:14px;padding:1.2rem}
.met b{display:block;color:var(--ink);margin-bottom:.3rem}.met p{margin:0;font-size:.92rem;color:var(--ink-2)}
.ctable{overflow-x:auto;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface)}
.ctable table{width:100%;border-collapse:collapse;font-size:.95rem;min-width:560px}
.ctable th,.ctable td{padding:.85rem 1rem;border-bottom:1px solid var(--line);text-align:left}
.ctable th{color:var(--ink);background:var(--tint)}.ctable td:first-child{color:var(--ink);font-weight:600}.ctable td{color:var(--ink-2)}
.ctable th:nth-child(2),.ctable td:nth-child(2){background:oklch(0.6 0.23 293 / .08)}
.ctable .ok{color:var(--up);font-weight:700}
@media (max-width:1080px){.ovs{grid-template-columns:1fr 1fr}.risk-l{grid-template-columns:1fr 1fr 1fr}.mets{grid-template-columns:1fr 1fr}}
@media (max-width:640px){.tldr ul{grid-template-columns:1fr}.ovs,.mets{grid-template-columns:1fr}.risk-l{grid-template-columns:1fr 1fr}.qopts{grid-template-columns:1fr}.pnote{flex-direction:column}.qres{flex-direction:column}}
.qres[hidden]{display:none}
/* ===== v3: real maps (geo-grid + service rings) and photography ===== */
.gg,.rr{display:grid;grid-template-columns:1.25fr .75fr;gap:clamp(1.2rem,3vw,2.4rem);align-items:center;background:var(--surface);border:1px solid var(--line-2);border-radius:var(--r-xl);padding:clamp(1rem,2.4vw,1.6rem)}
.gg>*,.rr>*{min-width:0}
.gg-map,.rr-map{position:relative;aspect-ratio:1/1;border-radius:18px;background-size:cover;background-position:center;overflow:hidden;box-shadow:inset 0 0 0 1px oklch(1 0 0 / .08),inset 0 0 120px oklch(0.1 0.02 285 / .7)}
.gg-d{position:absolute;transform:translate(-50%,-50%);width:clamp(17px,2.5vw,30px);height:clamp(17px,2.5vw,30px);border-radius:50%;display:grid;place-items:center;font:700 clamp(.5rem,.8vw,.68rem) var(--sans);font-style:normal;color:#fff;border:2px solid oklch(1 0 0 / .85);box-shadow:0 4px 10px oklch(0 0 0 / .45);transition:background-color .5s var(--d,0ms),transform .5s var(--d,0ms)}
.gg-d.r{background:#e5484d}.gg-d.y{background:#e8a317}.gg-d.g{background:#1fa463}
.gg-d.g{transform:translate(-50%,-50%) scale(1.08)}
.gg-office{position:absolute;transform:translate(-50%,-100%);z-index:3;display:flex;flex-direction:column;align-items:center}
.gg-office b{font-size:.7rem;padding:.2rem .5rem;border-radius:6px;background:oklch(0.84 0.15 80);color:#1a1405;white-space:nowrap}
.gg-office::after{content:"";width:14px;height:14px;margin-top:3px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);background:oklch(0.84 0.15 80);box-shadow:0 0 0 6px oklch(0.84 0.15 80 / .25)}
.gg-pl,.rr-pl{position:absolute;transform:translate(-50%,-50%);font-size:.68rem;font-weight:700;color:#e9e3ff;text-shadow:0 1px 3px #000,0 0 8px #000;white-space:nowrap;pointer-events:none;z-index:2}
.gg-side h3,.rr-side h3{font-size:clamp(1.3rem,2.4vw,1.7rem);margin:.4rem 0 .6rem}
.gg-tabs{display:inline-flex;padding:3px;border-radius:999px;border:1px solid var(--line-2);margin:.9rem 0}
.gg-tabs button{border:0;background:none;color:var(--ink-2);font:inherit;font-weight:600;padding:.45rem 1rem;border-radius:999px;cursor:pointer}
.gg-tabs button.on{background:var(--brand);color:#fff}
.gg-stats{display:grid;grid-template-columns:1fr 1fr;gap:.6rem}
.gg-stats div{background:var(--tint);border:1px solid var(--line);border-radius:12px;padding:.7rem .8rem}
.gg-stats span{display:block;font-size:.76rem;color:var(--mute)}.gg-stats b{font:700 1.7rem var(--display);color:var(--ink)}
.gg-leg{display:flex;flex-wrap:wrap;gap:.9rem;margin:.9rem 0 .4rem;font-size:.82rem;color:var(--ink-2)}
.gg-leg i{display:inline-block;width:11px;height:11px;border-radius:50%;margin-right:.35rem;vertical-align:-1px}
.gg-leg i.g{background:#1fa463}.gg-leg i.y{background:#e8a317}.gg-leg i.r{background:#e5484d}
.gg-note{font-size:.75rem;color:var(--mute);margin:.6rem 0 0}
.rr-ring{position:absolute;aspect-ratio:1/1;border-radius:50%;transform:translate(-50%,-50%) scale(.2);opacity:0;transition:transform 1s var(--ease) var(--dl),opacity .8s var(--dl);border:2px dashed oklch(0.84 0.15 80 / .8);background:radial-gradient(closest-side,oklch(0.84 0.15 80 / .14),oklch(0.84 0.15 80 / .04))}
.rr-ring.r1{border-color:oklch(0.72 0.17 295 / .85);background:radial-gradient(closest-side,oklch(0.72 0.17 295 / .1),transparent)}
.rr-ring.r2{border-color:oklch(0.78 0.17 155 / .7);background:none}
.rr-ring em{position:absolute;top:-1px;left:50%;transform:translate(-50%,-50%);font:700 .7rem var(--mono);font-style:normal;padding:.1rem .45rem;border-radius:999px;background:#0e0c16;color:#fff;border:1px solid var(--line-2)}
.rr.go .rr-ring{transform:translate(-50%,-50%) scale(1);opacity:1}
.rr-pl{opacity:0;transition:opacity .5s var(--dl)}.rr.go .rr-pl{opacity:1}
.rr-leg{margin:1rem 0 0;padding-left:1.2rem}.rr-leg li{margin:.55rem 0;color:var(--ink-2);font-size:.95rem}.rr-leg b{display:block;color:var(--ink)}
/* photography */
.iphoto{position:relative;margin:0;border-radius:var(--r-xl);overflow:hidden;border:1px solid var(--line-2)}
.iphoto img{display:block;width:100%;height:100%;object-fit:cover}
.iphoto::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,oklch(0.12 0.02 285 / .85))}
.iphoto figcaption{position:absolute;left:1.2rem;right:1.2rem;bottom:1rem;z-index:2;color:var(--ink);font-weight:600;font-size:clamp(1rem,1.8vw,1.25rem);line-height:1.35}
.iphoto figcaption small{display:block;font-weight:400;font-size:.72rem;color:var(--mute);margin-top:.35rem}
.iphoto.wide{aspect-ratio:2/1}.iphoto.tall{aspect-ratio:4/5}.iphoto.mid{aspect-ratio:16/10}
.isplit{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(1.5rem,4vw,3.5rem);align-items:center}
.isplit>*{min-width:0}
.ihero.photo{position:relative;isolation:isolate}
.ihero.photo::before{content:"";position:absolute;inset:0;z-index:-1;background:var(--hero-img) center/cover no-repeat;opacity:.5;filter:saturate(.75)}
.ihero.photo::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,var(--bg) 18%,oklch(0.135 0.02 285 / .72) 48%,oklch(0.135 0.02 285 / .35) 78%,oklch(0.135 0.02 285 / .6)),linear-gradient(0deg,var(--bg),transparent 30%)}
.vslbox{display:grid;grid-template-columns:1.2fr .8fr;gap:clamp(1.2rem,3vw,2.4rem);align-items:center}
.vslbox>*{min-width:0}
.vslbox video{width:100%;border-radius:18px;border:1px solid var(--line-2);box-shadow:0 30px 60px -30px #000;background:#000;aspect-ratio:16/9}
.credits{font-size:.72rem;color:var(--mute);line-height:1.6}
.credits a{color:var(--mute)}
@media (max-width:900px){.gg,.rr,.isplit,.vslbox{grid-template-columns:1fr}.iphoto.wide{aspect-ratio:16/9}}
.isearch.two{grid-template-columns:1fr 1fr}@media(max-width:640px){.isearch.two{grid-template-columns:1fr}}

.ihero.photo::before{display:none}
.ihero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;opacity:.7;filter:saturate(.8)}

/* v5: fewer, smaller, sharper images */
.isplit.small{grid-template-columns:minmax(0,1fr) minmax(0,340px)}
.iphoto.small{aspect-ratio:auto}
.iphoto.small img{height:auto}
@media (max-width:900px){.isplit.small{grid-template-columns:1fr}.iphoto.small{max-width:340px;margin:0 auto;width:100%}}
.iphoto.small::after{display:none}
.iphoto.small figcaption{position:static;padding:.8rem 1rem;background:var(--surface);font-size:.95rem;font-weight:600}
.ihub-g em{display:block;padding:.5rem 0;border-bottom:1px dashed var(--line);color:var(--mute);font-style:normal;font-size:.93rem}
div.ia:hover{transform:none}
