.demo-city{background:#EEF1FB;border-bottom:1px solid #D5DAF0;font-size:.82rem;font-weight:700;color:#2A3463}
.demo-city .wrap{display:flex;gap:.6rem;align-items:center;flex-wrap:wrap;padding-block:.5rem}
.demo-city button{font:inherit;border:1.5px solid #C5CBE6;background:#fff;border-radius:999px;padding:.25rem .8rem;cursor:pointer;color:inherit}
.demo-city button.on{background:#2A3463;border-color:#2A3463;color:#fff}

.crumbs{font-size:.85rem;color:var(--mut-ink);display:flex;gap:.5rem;flex-wrap:wrap}
.crumbs a{text-decoration:none}.crumbs a:hover{color:#fff}
.sp-hero{background:var(--ink);color:#fff;position:relative;overflow:hidden;padding:0}
.sp-hero .bg{position:absolute;inset:0;background:#1C2547 center/cover no-repeat;opacity:.28}
.sp-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--ink) 30%,rgba(20,26,51,.75) 60%,rgba(20,26,51,.4))}
.sp-hero .wrap{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(2rem,4vw,4rem);align-items:center;padding-block:clamp(2.5rem,5vw,4.5rem) clamp(3rem,6vw,5.5rem)}
.sp-hero h1{font-size:clamp(2.4rem,5vw,4.3rem);margin:1rem 0 1.1rem}
.sp-hero h1 em{font-style:italic;font-weight:500;color:var(--gold)}
.sp-hero .lead{color:#C9CEE0}
.pills{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1.4rem}
.pills span{display:inline-flex;align-items:center;gap:.45rem;border:1px solid rgba(255,255,255,.2);border-radius:999px;padding:.35rem .85rem;font-size:.85rem;font-weight:700;color:#E6E9F3}
.pills span::before{content:"✓";color:var(--gold);font-weight:800}
.hero-ctas{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:1.6rem}

.lawyer{background:#fff;color:var(--ink);border-radius:1.6rem;box-shadow:0 2rem 4rem -1.5rem rgba(0,0,0,.55);overflow:hidden}
.lawyer .top{display:flex;gap:1rem;align-items:center;padding:1.4rem 1.4rem 1rem}
.lawyer .ph{width:5rem;height:5rem;border-radius:50%;flex:none;background:var(--gold-wash);border:3px solid var(--gold);display:flex;align-items:center;justify-content:center;position:relative}
.lawyer .ph svg{width:2.6rem;height:2.6rem;fill:#C9B07A}
.lawyer .ph .v{position:absolute;right:-.2rem;bottom:-.2rem;width:1.7rem;height:1.7rem;border-radius:50%;background:var(--gold);border:3px solid #fff;display:flex;align-items:center;justify-content:center}
.lawyer .ph .v svg{width:.9rem;height:.9rem;fill:none;stroke:var(--ink);stroke-width:3}
.lawyer h3{font-size:1.35rem}
.lawyer .role{font-size:.88rem;color:var(--mut)}
.lawyer .facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-block:1px solid var(--line)}
.lawyer .facts div{padding:.9rem .6rem;text-align:center;border-right:1px solid var(--line)}
.lawyer .facts div:last-child{border:0}
.lawyer .facts b{display:block;font-family:var(--serif);font-size:1.3rem}
.lawyer .facts span{font-size:.72rem;color:var(--mut);font-weight:700;text-transform:uppercase;letter-spacing:.06em}
.lawyer .where{padding:1rem 1.4rem;display:flex;gap:.7rem;align-items:flex-start;font-size:.9rem}
.lawyer .where .icon-tile{width:2.3rem;height:2.3rem;border-radius:.6rem}
.lawyer .where .icon-tile svg{width:1.2rem;height:1.2rem}
.lawyer .where b{display:block}
.lawyer .where span{color:var(--mut)}
.lawyer .act{padding:0 1.4rem 1.4rem;display:grid;gap:.6rem}
.lawyer .act .btn{width:100%}
.lawyer .note{font-size:.75rem;color:var(--mut);text-align:center}
@media (max-width:64rem){.sp-hero .wrap{grid-template-columns:1fr}.sp-hero::after{background:linear-gradient(180deg,var(--ink) 40%,rgba(20,26,51,.85))}}

.cases{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}
@media (max-width:64rem){.cases{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:34rem){.cases{grid-template-columns:1fr}.case.wide{grid-column:auto}}
.case.wide{grid-column:span 2;background:var(--ink);color:#fff;border-color:var(--ink)}.case.wide p{color:var(--mut-ink)}.case.wide .more{color:var(--gold)}.case.wide .badge{background:var(--gold);color:var(--ink)}.case.wide h3{font-size:1.6rem}
.case{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:1.4rem;display:flex;flex-direction:column;gap:.55rem;text-align:left;font:inherit;color:inherit;cursor:pointer;transition:.2s}
.case:hover{border-color:var(--gold);box-shadow:var(--shadow-sm);transform:translateY(-2px)}
.case h3{font-size:1.25rem}
.case p{color:var(--mut);font-size:.92rem;line-height:1.5}
.case .more{margin-top:auto;font-weight:800;font-size:.88rem;color:var(--gold-2)}
.case.top{border-color:var(--gold);background:linear-gradient(180deg,var(--gold-wash),#fff)}
.case .badge{align-self:flex-start;font-size:.68rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;background:var(--ink);color:var(--gold);border-radius:999px;padding:.2rem .6rem}

.diag{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(2rem,5vw,5rem);align-items:center}
.diag-box{background:#fff;border:1px solid var(--line);border-radius:1.75rem;box-shadow:var(--shadow);padding:clamp(1.4rem,3vw,2.2rem)}
.diag-box .q{font-family:var(--serif);font-size:1.5rem;margin-bottom:1rem}
.diag-box .opts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem}
.opt{border:1.5px solid var(--line);border-radius:.9rem;padding:.9rem 1rem;background:var(--paper);font:inherit;font-weight:700;text-align:left;cursor:pointer;color:var(--ink)}
.opt:hover{border-color:var(--gold);background:var(--gold-wash)}
.progress{display:flex;gap:.35rem;margin-bottom:1.2rem}.progress i{flex:1;height:.3rem;border-radius:999px;background:var(--line)}.progress i.on{background:var(--gold)}
.result{display:flex;flex-direction:column;gap:.8rem}
.result .r-k{font-size:.78rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--gold-2)}
.result h3{font-size:1.7rem}
.result .facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem}
.result .facts div{background:var(--paper);border-radius:.8rem;padding:.8rem}
.result .facts b{display:block;font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;color:var(--mut)}
.result ul{margin:0;padding-left:1.1rem;color:var(--mut);font-size:.95rem}
.back{border:0;background:none;color:var(--mut);font:inherit;font-weight:700;cursor:pointer;margin-top:1rem;padding:0}
@media (max-width:56rem){.diag{grid-template-columns:1fr}.diag-box .opts,.result .facts{grid-template-columns:1fr}}

.about{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:clamp(2rem,5vw,5rem);align-items:center}
.about .gal{display:grid;grid-template-columns:1.3fr 1fr;grid-template-rows:1fr 1fr;gap:.8rem;aspect-ratio:5/4;max-width:100%}
.about .gal div{border-radius:1.25rem;background:#E9E4D7 center/cover no-repeat;position:relative}
.about .gal div:first-child{grid-row:1/3}
.about .gal .ph-note{position:absolute;inset:auto .6rem .6rem .6rem;background:rgba(255,255,255,.92);border-radius:.7rem;padding:.45rem .7rem;font-size:.75rem;font-weight:700;color:var(--mut)}
.about blockquote{font-family:var(--serif);font-style:italic;font-size:clamp(1.3rem,2vw,1.6rem);line-height:1.35;margin:1.4rem 0;padding-left:1.2rem;border-left:3px solid var(--gold)}
.about .creds{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;margin-top:1.4rem}
.about .creds div{display:flex;gap:.7rem;align-items:flex-start;font-size:.92rem}
.about .creds b{display:block}
.about .creds span{color:var(--mut)}
@media (max-width:56rem){.about{grid-template-columns:1fr}.about .creds{grid-template-columns:1fr}}

.price{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem}
.price .card.free{background:var(--ink);color:#fff;border-color:var(--ink)}
.price .card.free p{color:var(--mut-ink)}
.price .card.free .icon-tile{background:var(--gold)}.price .card.free .icon-tile svg{stroke:var(--ink)}
.price .big{font-family:var(--serif);font-size:2.2rem;font-weight:900}
@media (max-width:56rem){.price{grid-template-columns:1fr}}

.office{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:1.25rem}
.office .ph{border-radius:1.75rem;background:#2A3463 center/cover no-repeat;min-height:22rem}
.office .info{background:var(--ink-2);border:1px solid var(--line-ink);border-radius:1.75rem;padding:1.8rem;display:flex;flex-direction:column;gap:1rem}
.office .info .row{display:flex;gap:.9rem;align-items:flex-start}
.office .info b{display:block}
.office .info span{color:var(--mut-ink);font-size:.95rem}
.map{border-radius:1rem;background:repeating-linear-gradient(45deg,#232C52 0 10px,#26305A 10px 20px);min-height:8rem;display:flex;align-items:center;justify-content:center;color:var(--mut-ink);font-size:.85rem;font-weight:700}
@media (max-width:56rem){.office{grid-template-columns:1fr}.office .ph{min-height:15rem}}

.guar{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}
.guar .card{background:var(--paper);border-color:transparent;padding:1.3rem}
.guar .card h3{font-size:1.1rem}
@media (max-width:64rem){.guar{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:30rem){.guar{grid-template-columns:1fr}}
.quotes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem}
.quote{border:1px dashed #D9CFB4;border-radius:var(--r-lg);padding:1.5rem;background:#fff}
.quote .stars{color:var(--gold);letter-spacing:.15em}
.quote p{font-family:var(--serif);font-size:1.1rem;margin:.6rem 0}
.quote small{color:var(--mut);font-weight:700}
@media (max-width:56rem){.quotes{grid-template-columns:1fr}}
.rel{display:flex;flex-wrap:wrap;gap:.6rem}
.rel a{border:1px solid var(--line);border-radius:999px;padding:.55rem 1rem;text-decoration:none;font-weight:700;font-size:.92rem;background:#fff}
.rel a:hover{border-color:var(--gold)}
