/* realestate.css — "Real Estate & Closings" practice-group identity.
   Accent sheet layered on shared.css tokens (navy/cream/gold, Playfair/
   Outfit/DM Mono). Parallels capital.css / injury.css. No @font-face / :root.
   IDENTITY NOTE: a PRACTICE GROUP of Rausa Russo Law, PLLC (same firm, no
   separate entity). Residential, co-op/condo, commercial, and investor
   transactions throughout New York State. */
/* ── Eyebrow (firm · practice group) ── */
.re-eyebrow{font-family:'DM Mono',monospace;font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-d,#8b6914);display:inline-block;margin-bottom:12px}
.re-eyebrow__sep{display:inline-block;margin:0 .5em;color:rgba(139,105,20,.55)}
@media(max-width:600px){.re-eyebrow{font-size:.6rem;letter-spacing:.12em}.re-eyebrow__sep{display:block;height:0;margin:2px 0;visibility:hidden}}

/* ── Attorney Advertising pill ── */
.re-aa-pill{display:inline-block;font-family:'DM Mono',monospace;font-size:.58rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-d,#8b6914);border:1px solid rgba(139,105,20,.35);border-radius:100px;padding:3px 10px;margin-left:10px;vertical-align:middle}

/* ── Hero lede ── */
.re-lede{font-size:1.02rem;font-weight:300;line-height:1.7;color:var(--text2);max-width:660px;margin:14px auto 0}
.re-hero-kw{font-family:'DM Mono',monospace;font-size:.72rem;letter-spacing:.04em;color:var(--gold-d);max-width:640px;margin:14px auto 0}
/* Outline button on light ground (hub hero). Scoped to links so intake.css's quote-form Back buttons keep their own style */
a.btn-outline{border:1.5px solid rgba(29,42,64,.35);color:var(--navy);background:transparent}
a.btn-outline:hover{border-color:var(--gold);color:var(--gold-d)}

/* ── Clarity / disambiguation block (the practice-group clarity block) ── */
.re-clarity{background:var(--cream2,#f3ece0);border:1px solid var(--border);border-left:4px solid var(--gold);border-radius:0 var(--r2) var(--r2) 0;padding:18px 22px;margin:28px auto;max-width:760px;font-size:.9rem;line-height:1.7;color:var(--text2)}
.re-clarity strong{display:block;font-family:'DM Mono',monospace;font-size:.6rem;letter-spacing:.12em;text-transform:uppercase;color:#7a5c10;margin-bottom:8px}
.re-clarity p{margin:0}
.re-clarity__lead{font-size:1em;color:var(--text)}
.re-clarity a{color:#7a5c10;text-decoration:underline}

/* ── Breadcrumb (reuses shared .breadcrumb; local accent only) ── */
.re-crumb a{color:var(--text2)}
.re-crumb a:hover{color:var(--gold-d)}
/* Align the crumb with the centered article column (keep in sync with .re-article-body max-width) */
body:has(.re-article-body) .re-crumb ol{max-width:640px;margin-inline:auto}
/* A breadcrumb nested in an outer .wrap must not double the gutter */
.wrap .breadcrumb .wrap{padding-left:0;padding-right:0}
/* Article pages: keep the crumb on one line; truncate a long current-page title */
body:has(.re-article-body) .re-crumb ol{flex-wrap:nowrap}
body:has(.re-article-body) .re-crumb li[aria-current="page"]{display:block;flex:1 1 0;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media(max-width:600px){.re-crumb li[aria-current="page"]{display:block;min-width:0;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.re-crumb ol{align-items:center}.re-crumb a{display:inline-block;padding:6px 0}}

/* ── Hub tiles (Articles / Newsletter) ── */
.re-tiles{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin:32px 0}
.re-tile{display:flex;flex-direction:column;background:#fff;border:1px solid var(--border);border-radius:var(--r2);padding:24px;text-decoration:none;transition:transform .2s,box-shadow .2s,border-color .2s;box-shadow:var(--sh)}
.re-tile:hover{transform:translateY(-2px);box-shadow:var(--sh2);border-color:rgba(158,123,30,.45)}
.re-tile__label{font-family:'DM Mono',monospace;font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-d);margin-bottom:8px}
.re-tile__title{font-family:'Playfair Display',Georgia,serif;font-size:1.15rem;font-weight:700;color:var(--navy);line-height:1.25;margin-bottom:6px}
.re-tile__desc{font-size:.85rem;font-weight:300;color:var(--text2);line-height:1.55;margin:0}
.re-tile__arrow{font-family:'DM Mono',monospace;color:var(--gold-d);font-size:.9rem;margin-top:auto;padding-top:12px;display:inline-block;white-space:nowrap}
@media(max-width:600px){.re-tiles{grid-template-columns:1fr}}
/* Tie a tile grid to the heading/intro that precedes it */
.pa-content:has(+ .re-tiles){padding-bottom:0}
.pa-content:has(+ .re-tiles)>:last-child{margin-bottom:0}
.pa-content+.re-tiles{margin-top:20px}
.re-tiles+.pa-content{padding-top:clamp(28px,4vw,40px)}
/* Same tie for a quote CTA band that follows body content */
.pa-content:has(+ .re-cta){padding-bottom:0}
.pa-content:has(+ .re-cta)>:last-child{margin-bottom:0}
.re-cta+.pa-content{padding-top:clamp(28px,4vw,40px)}

/* ── Service grid (hub: 4 service lines) — stays 2x2; 1-up on phones ── */
.re-tiles--4{grid-template-columns:repeat(2,1fr)}
@media(max-width:600px){.re-tiles--4{grid-template-columns:1fr}}

/* ── Article/issue cards (collection + archive lists) ── */
.re-card-list{display:flex;flex-direction:column;gap:14px;margin:24px 0}
.re-card{display:block;background:#fff;border:1px solid var(--border);border-radius:var(--r2);padding:20px 24px;text-decoration:none;transition:border-color .2s,box-shadow .2s}
.re-card:hover{border-color:rgba(158,123,30,.45);box-shadow:var(--sh)}
.re-card__bucket{font-family:'DM Mono',monospace;font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;color:var(--gold-d);margin-bottom:6px}
.re-card__title{font-family:'Playfair Display',Georgia,serif;font-size:1.05rem;font-weight:700;color:var(--navy);line-height:1.3;margin-bottom:4px}
.re-card .re-card__desc{font-size:.85rem;font-weight:300;color:var(--text2);line-height:1.55;margin:0;text-wrap:pretty}

/* ── Topic filter (reuses blog-filter.js data-topics) ── */
.re-filter{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0}
.re-chip{font-family:'DM Mono',monospace;font-size:.6rem;letter-spacing:.08em;text-transform:uppercase;color:var(--text2);background:var(--cream2);border:1px solid var(--border);border-radius:100px;padding:6px 14px;min-height:36px;cursor:pointer;transition:all .2s}
.re-chip[aria-pressed="true"],.re-chip:hover{background:var(--navy);color:#fff;border-color:var(--navy)}
@media(max-width:600px){.re-chip{min-height:44px;padding:8px 16px}}

/* ── Article header + body (mirror .pa-header / .pa-body type scale) ── */
.re-article-header{background:transparent;padding:clamp(36px,5vw,56px) 0 22px;text-align:center;border-bottom:1px solid #eaeaea}
.re-article-header .re-eyebrow{display:block;margin-bottom:10px}
.re-article-header h1{font-family:'Playfair Display',Georgia,serif;font-size:clamp(1.5rem,3.5vw,2.1rem);font-weight:700;line-height:1.2;color:var(--navy);max-width:760px;margin:0 auto}
.re-article-body{padding:clamp(28px,4vw,44px) 0;max-width:640px;margin:0 auto}
.re-article-body h2{font-family:'Playfair Display',Georgia,serif;font-size:clamp(1.15rem,2.5vw,1.4rem);font-weight:700;color:var(--navy);margin:32px 0 14px;line-height:1.3;position:relative;padding-top:12px}
.re-article-body h2::before{content:'';position:absolute;top:0;left:0;width:32px;height:2px;background:var(--gold);border-radius:1px}
.re-article-body h3{font-family:'Playfair Display',Georgia,serif;font-size:1.05rem;font-weight:700;color:var(--navy);margin:22px 0 8px}
.re-article-body p{font-size:1rem;font-weight:300;line-height:1.85;color:var(--text2);margin-bottom:14px}
.re-article-body ul,.re-article-body ol{margin:0 0 14px 22px}
.re-article-body li{font-size:1rem;font-weight:300;line-height:1.8;color:var(--text2);margin-bottom:8px}
.re-article-body ul{list-style:disc}.re-article-body ol{list-style:decimal}
.re-article-body strong{color:var(--navy);font-weight:500}
.re-article-body a.inline-link,.pa-content a.inline-link{color:var(--gold-d);font-weight:inherit;border-bottom:0;text-decoration:underline;text-decoration-color:rgba(139,105,20,.5);text-underline-offset:3px}
.pa-content a.inline-link:hover,.re-article-body a.inline-link:hover{color:var(--navy);text-decoration-color:var(--gold)}

/* ── Inline note box ── */
.re-refnote{background:var(--cream2);border:1px solid var(--border);border-left:3px solid var(--gold);border-radius:0 var(--r) var(--r) 0;padding:14px 18px;margin:20px 0;font-size:.86rem;line-height:1.65;color:var(--text2)}
.re-refnote strong{color:var(--navy)}

/* ── Subscribe block (navy) ── */
.re-subscribe{background:var(--navy);border-radius:var(--r2);padding:clamp(28px,4vw,40px);text-align:center;margin:clamp(32px,5vw,48px) auto;max-width:760px}
.re-subscribe h3{font-family:'Playfair Display',Georgia,serif;font-size:1.3rem;font-weight:700;color:#fff;margin-top:0;margin-bottom:8px}
.re-subscribe>p{font-size:.9rem;font-weight:300;color:rgba(255,255,255,.7);margin-bottom:20px;max-width:440px;margin-left:auto;margin-right:auto}
.re-subscribe .ff label{color:rgba(255,255,255,.75)}
.re-subscribe .form-ok h3{color:#fff}
.re-subscribe .form-ok p{color:rgba(255,255,255,.8)}
.re-subscribe+.re-cta,.re-cta+.re-subscribe{margin-top:16px}
.re-subscribe:has(+ .re-cta),.re-cta:has(+ .re-subscribe){margin-bottom:16px}
.re-subscribe .form{max-width:440px;margin-inline:auto}

/* ── Page disclaimer (Attorney Advertising, verbatim) ── */
.re-disclaimer{border-top:1px solid var(--border);margin-top:32px;padding-top:16px;font-size:.72rem;line-height:1.6;color:var(--text3);max-width:760px;margin-left:auto;margin-right:auto}
.re-disclaimer p,.re-article-body .re-disclaimer p{font-size:inherit;line-height:inherit;color:inherit;font-weight:400;margin:0 0 6px}
.re-disclaimer strong,.re-article-body .re-disclaimer strong{font-family:'DM Mono',monospace;font-size:.58rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--text2);display:block;margin-bottom:6px}

/* ── Quick answer (articles + guides) ── */
.re-quick{background:#fff;border:1px solid var(--border);border-left:4px solid var(--gold);border-radius:0 var(--r2) var(--r2) 0;padding:18px 22px;margin:8px auto 28px;max-width:720px;text-align:left}
.re-quick p{font-size:.95rem;line-height:1.75;color:var(--text);margin:0}
.re-quick .re-quick__label,.re-quick__label{font-family:'DM Mono',monospace;font-size:.6rem;font-weight:400;line-height:1.4;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-d);margin:0 0 8px}
.gl-body .re-quick,.pa-content .re-quick{max-width:none;margin-left:0;margin-right:0}

/* ── Process steps (hub + guides) ── */
.re-steps,ol.re-steps,.pa-content ol.re-steps,.gl-body ol.re-steps,.re-article-body ol.re-steps{counter-reset:re-step;list-style:none;margin:24px 0;padding:0;display:grid;gap:12px}
.re-steps li{counter-increment:re-step;position:relative;background:#fff;border:1px solid var(--border);border-radius:var(--r2);padding:16px 18px 16px 58px;font-size:.92rem;line-height:1.65;color:var(--text2)}
.re-steps li::before{content:counter(re-step);position:absolute;left:16px;top:14px;width:28px;height:28px;border-radius:50%;background:var(--navy);color:#fff;font-family:'DM Mono',monospace;font-size:.75rem;display:flex;align-items:center;justify-content:center}
.re-steps li strong{color:var(--navy);font-weight:500}

/* ── Data table (closing costs etc.) — wrap in .re-table-wrap for overflow ── */
/* Scroll shadows: an edge shade shows only while more of the table is off-screen */
.re-table-wrap{overflow-x:auto;margin:18px 0;-webkit-overflow-scrolling:touch;background:linear-gradient(to right,#fafaf8 30%,rgba(250,250,248,0)) left/24px 100% no-repeat local,linear-gradient(to left,#fafaf8 30%,rgba(250,250,248,0)) right/24px 100% no-repeat local,radial-gradient(farthest-side at 0 50%,rgba(0,0,0,.14),transparent) left/10px 100% no-repeat scroll,radial-gradient(farthest-side at 100% 50%,rgba(0,0,0,.14),transparent) right/10px 100% no-repeat scroll}
.re-table{width:100%;border-collapse:collapse;font-size:.86rem;min-width:480px}
.re-table-note,.re-article-body p.re-table-note{font-size:.78rem}
.re-table th{font-family:'DM Mono',monospace;font-size:.58rem;letter-spacing:.1em;text-transform:uppercase;color:var(--gold-d);text-align:left;border-bottom:2px solid var(--gold);padding:8px 10px}
.re-table td{border-bottom:1px solid var(--border);padding:10px;color:var(--text2);vertical-align:top;line-height:1.55}
.re-table td:first-child{min-width:10em;color:var(--navy);font-weight:500}

/* ── Quote CTA band ── */
.re-cta{background:var(--navy);border-radius:var(--r2);padding:clamp(24px,4vw,36px);text-align:center;margin:clamp(28px,5vw,44px) auto;max-width:760px}
.re-cta h2,.re-cta h3{font-family:'Playfair Display',Georgia,serif;color:#fff;font-size:1.3rem;margin:0 0 8px;padding-top:0}
.re-cta h2::before{display:none}
.re-cta p,.re-article-body .re-cta p{color:rgba(255,255,255,.75);font-size:.92rem;line-height:1.65;margin:0 auto 18px;max-width:520px}
.re-cta small{display:block;color:rgba(255,255,255,.55);font-size:.68rem;margin-top:12px}
.re-cta small a{color:rgba(255,255,255,.75)}
.re-cta .btn{margin:4px 6px}

/* ── Article meta line ── */
.re-meta,.re-article-body p.re-meta{font-family:'DM Mono',monospace;font-size:.6rem;font-weight:400;letter-spacing:.08em;text-transform:uppercase;color:var(--text3);margin:12px auto 0;max-width:760px;line-height:1.7;text-wrap:balance}
.re-meta a{color:var(--gold-d);text-decoration:underline}

/* ── Sources list (compact reference style; .post-sources = guides' legacy class) ── */
.re-sources,.re-article-body .post-sources{margin:36px 0 8px;border-top:1px solid var(--border);padding-top:18px}
.re-sources h2,.re-article-body .post-sources h2{font-family:'Playfair Display',Georgia,serif;font-size:1.05rem;color:var(--navy);margin:0 0 10px;padding-top:0}
.re-sources h2::before,.re-article-body .post-sources h2::before{display:none}
.re-sources ul,.re-article-body .post-sources ul{list-style:none;margin:0;padding:0}
.re-sources li,.section .re-sources li,.re-article-body .post-sources li{position:relative;font-size:.84rem;line-height:1.6;margin:0 0 9px;padding-left:1.4em;text-indent:0;list-style:none}
.re-sources li::before,.re-article-body .post-sources li::before{content:'\2014';position:absolute;left:0;top:0;color:var(--gold-d)}
.re-sources a,.re-sources a.inline-link,.re-article-body .post-sources a{color:var(--navy);font-weight:300;border-bottom:0;text-decoration:underline;text-decoration-color:rgba(158,123,30,.45);text-underline-offset:3px}
.re-sources a:hover,.re-article-body .post-sources a:hover{text-decoration-color:var(--gold)}

/* ── Related links: chip row (div form) ── */
.re-related{display:flex;flex-wrap:wrap;gap:10px;margin:20px 0}
.re-related a{padding:12px 16px;min-height:44px;display:inline-flex;align-items:center;border:1px solid var(--border);border-radius:6px;font-size:.8rem;color:var(--navy);text-decoration:none;transition:border-color .2s,transform .2s}
.re-related a:hover{border-color:var(--gold);transform:translateY(-1px)}
/* Section form (guides): heading + plain list, not chips */
section.re-related{display:block;margin:36px 0 8px}
section.re-related ul{margin:0 0 0 22px;list-style:disc}
section.re-related li{margin-bottom:6px}
section.re-related a{display:inline;min-height:0;padding:0;border:0;border-radius:0;font-size:inherit;color:var(--gold-d);text-decoration:underline}
section.re-related a:hover{transform:none}

/* ── Practice page (/practice/real-estate-transactions): keep h2 > h3 on phones ── */
@media(max-width:600px){.gl-body h2{font-size:1.2rem}.gl-body h3{font-size:1rem}}

/* ── Quote page: keep the card above intake.css's decorative .hero-section::before panel ── */
.hero-section>.wrap-wide{position:relative;z-index:1}
/* Quote form: short radio options 2-up on wider screens (44px targets kept) */
@media(min-width:600px){#intake-form .radio-group{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}}

/* ── Typographic refinement (mirrors capital.css) ── */
.pa-header h1,.re-article-header h1,.re-article-body h2,.re-article-body h3,.pa-content h2,.re-tile__title,.re-cta h2,.re-subscribe h3,.re-lede,.re-hero-kw{text-wrap:balance}
.re-article-body p,.re-article-body li,.pa-content p,.re-tile__desc,.re-quick p,.re-steps li,.re-cta p,.re-card__title{text-wrap:pretty}
