@font-face{font-family:EricaDmSans;src:url('./assets/fonts/dm-sans.woff2') format('woff2');font-style:normal;font-weight:100 900;font-display:swap}
@font-face{font-family:EricaFraunces;src:url('./assets/fonts/fraunces.woff2') format('woff2');font-style:normal;font-weight:100 900;font-display:swap}
:root{--font-dm:EricaDmSans,Arial,sans-serif;--font-fraunces:EricaFraunces,Georgia,serif}
html{-webkit-text-size-adjust:100%;line-height:1.5}*,::before,::after{box-sizing:border-box}html,body{margin:0;padding:0}h1,h2,h3,h4,h5,h6,p{margin:0}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}img,svg{display:block;max-width:100%}summary{display:list-item}[hidden]{display:none!important}body.modal-open{overflow:hidden}.drawer-top button{appearance:none;background:transparent;border:0;color:inherit;font-size:2rem;line-height:1;padding:0}
:root { --paper:#faf8f5; --ink:#2f2823; --wine:#74444a; --beige:#f0ebe5; --rose:#f1e4e6; --muted:#746963; --line:#e2dbd5; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:var(--font-dm),Arial,sans-serif; -webkit-font-smoothing:antialiased; }
a { color:inherit; text-decoration:none; }
.container { width:min(1150px,calc(100% - 48px)); margin-inline:auto; }
.site-header { position:sticky; top:0; z-index:30; border-bottom:1px solid rgba(226,219,213,.75); background:rgba(250,248,245,.88); backdrop-filter:blur(16px); }
.nav-shell { width:min(1220px,calc(100% - 48px)); height:86px; margin:auto; display:flex; align-items:center; justify-content:space-between; }
.brand { display:flex; flex-direction:column; line-height:1; }
.brand>.brand-name { display:flex; align-items:baseline; gap:5px; font:500 27px/1 var(--font-fraunces),Georgia,serif; letter-spacing:-.035em; }
.brand-name b { color:var(--wine); font-weight:650; font-style:normal; }
.brand em { color:var(--wine); font-weight:650; font-style:normal; }
.brand small { display:flex; align-items:center; justify-content:center; width:100%; gap:7px; margin-top:8px; color:var(--muted); font-size:8px; letter-spacing:.3em; }
.brand small i { display:block; width:16px; height:1px; background:var(--line); }
nav { display:flex; align-items:center; gap:34px; font-size:14px; color:var(--muted); }
nav a { position:relative; padding-block:8px; }
nav a::after { content:''; position:absolute; left:0; right:100%; bottom:0; height:1px; background:var(--wine); transition:right .25s ease; }
nav a:hover::after,nav a.active::after { right:0; }
.button { display:inline-flex; align-items:center; justify-content:center; gap:10px; padding:16px 24px; border:1px solid var(--wine); border-radius:99px; background:var(--wine); color:#fff; font-size:12px; font-weight:700; letter-spacing:.055em; transition:transform .2s ease,box-shadow .2s ease,background .2s ease; }
.button:hover { transform:translateY(-2px); box-shadow:0 12px 26px rgba(116,68,74,.18); background:#65393f; }
.button-small { padding:12px 18px; font-size:13px; letter-spacing:0; }
.button-icon { width:18px; height:18px; flex:0 0 auto; }
.hero { position:relative; min-height:680px; overflow:hidden; padding:82px 0 92px; }
.hero-blob { position:absolute; width:470px; height:470px; left:-250px; top:45px; border-radius:45% 55% 60% 40%; background:rgba(241,228,230,.58); filter:blur(3px); transform:rotate(20deg); }
.hero-grid { position:relative; display:grid; grid-template-columns:1.05fr .75fr; gap:110px; align-items:center; }
.hero-copy { animation:rise .7s ease both; }
.hero-copy>.eyebrow { font-size:20px; line-height:1.35; letter-spacing:.13em; }
.hero-copy>.button { min-width:235px; font-size:13px; text-align:center; }
.eyebrow { margin:0 0 22px; color:var(--wine); font-size:11px; font-weight:700; letter-spacing:.18em; }
h1 { max-width:690px; margin:0; font:520 clamp(44px,5.3vw,72px)/1.02 var(--font-fraunces),Georgia,serif; letter-spacing:-.045em; }
.hero-copy h1 { font-size:clamp(44px,4.4vw,60px); }
.lead { max-width:560px; margin:28px 0 34px; color:var(--muted); font-size:18px; line-height:1.65; }
.hero-note { display:flex; align-items:center; gap:9px; margin-top:24px; color:var(--muted); font-size:12px; }
.hero-note span { width:7px; height:7px; border-radius:50%; background:var(--wine); box-shadow:0 0 0 5px var(--rose); }
.portrait-wrap { position:relative; width:100%; max-width:420px; justify-self:end; animation:rise .8s .12s ease both; }
.portrait-offset { position:absolute; inset:25px -24px -20px 28px; border-radius:210px 210px 28px 28px; background:var(--rose); transform:rotate(2deg); }
.portrait-frame { position:relative; height:525px; overflow:hidden; border:1px solid rgba(116,68,74,.12); border-radius:210px 210px 28px 28px; background:var(--beige); box-shadow:0 24px 65px rgba(47,40,35,.12); }
.portrait-frame img { width:100%; height:100%; object-fit:cover; object-position:50% 20%; }
.portrait-card { position:absolute; right:-34px; bottom:34px; min-width:175px; padding:18px 22px; border:1px solid var(--line); border-radius:15px; background:rgba(253,253,251,.94); box-shadow:0 14px 35px rgba(47,40,35,.12); backdrop-filter:blur(12px); }
.portrait-card strong { display:block; font:600 19px/1.2 var(--font-fraunces),Georgia,serif; }
.portrait-card span { display:block; margin-top:7px; color:var(--wine); font-size:9px; font-weight:700; letter-spacing:.2em; }
.portrait-card small { display:block; margin-top:6px; color:var(--muted); font-size:10px; font-weight:650; letter-spacing:.08em; }
.mobile-menu { display:none; }
.section { padding:112px 0; }
.section-heading { max-width:760px; margin-bottom:48px; }
.section-heading.centered { margin-inline:auto; text-align:center; }
.section-heading h2,.standard-cta h2 { margin:0; font:520 clamp(38px,4vw,58px)/1.08 var(--font-fraunces),Georgia,serif; letter-spacing:-.035em; }
.section-heading>p:last-child { max-width:680px; margin:20px 0 0; color:var(--muted); font-size:16px; line-height:1.75; }
.practice-section { background:#fdfdfb; }
.practice-eyebrow { margin-bottom:0; font-size:18px; }
.practice-block { margin-top:32px; padding:40px; border:1px solid var(--line); border-radius:24px; background:var(--paper); }
.practice-rose { margin-top:42px; background:linear-gradient(145deg,#f6eeed,#f0ebe5); }
.practice-title { display:flex; align-items:flex-start; gap:24px; padding-bottom:26px; border-bottom:1px solid var(--line); }
.practice-title>span { display:grid; place-items:center; width:42px; height:42px; flex:0 0 auto; border:1px solid var(--wine); border-radius:50%; color:var(--wine); font-size:11px; }
.practice-title h2 { margin:0; font:530 42px/1.1 var(--font-fraunces),Georgia,serif; }
.practice-title p { margin:10px 0 0; color:var(--muted); }
.service-grid { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid var(--line); border-left:1px solid var(--line); }
.service-grid.compact { grid-template-columns:repeat(3,minmax(0,1fr)); grid-auto-rows:1fr; gap:24px; margin:30px 0 0; border:0; }
.service-card { min-height:260px; padding:30px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); background:rgba(253,253,251,.82); transition:transform .25s ease,background .25s ease,box-shadow .25s ease; }
.service-grid.compact .service-card { height:100%; min-height:180px; padding:24px; border:1px solid var(--line); border-top:3px solid var(--wine); border-radius:12px; background:#fdfdfb; }
.service-card:hover { z-index:1; transform:translateY(-4px); background:#fff; box-shadow:0 18px 40px rgba(47,40,35,.07); }
.line-icon { display:grid; place-items:center; width:34px; height:34px; margin-bottom:27px; border:1px solid var(--wine); border-radius:50%; color:var(--wine); font:500 16px var(--font-fraunces),serif; }
.service-number { display:block; margin-bottom:38px; color:var(--wine); font:500 13px var(--font-fraunces),serif; letter-spacing:.1em; }
.service-card h3 { margin:0 0 12px; font:550 21px/1.2 var(--font-fraunces),Georgia,serif; }
.service-card p { margin:0; color:var(--muted); font-size:13px; line-height:1.65; }
.text-link { display:inline-flex; align-items:center; gap:18px; color:var(--wine); font-size:13px; font-weight:700; }
.text-link span { transition:transform .2s ease; }
.text-link:hover span { transform:translateX(5px); }
.lawyer-section { padding:64px 0; background:var(--beige); scroll-margin-top:86px; }
.lawyer-grid { display:grid; grid-template-columns:.75fr 1fr; align-items:center; gap:70px; }
.lawyer-photo { position:relative; width:100%; max-width:320px; height:400px; justify-self:center; overflow:hidden; border-radius:170px 170px 24px 24px; background:#d8d0ca; }
.lawyer-photo img { width:100%; height:100%; object-fit:cover; }
.lawyer-photo>span { position:absolute; right:24px; bottom:20px; color:rgba(250,248,245,.74); font:500 84px/1 var(--font-fraunces),serif; }
.lawyer-eyebrow { margin-bottom:24px; }
.editorial-copy { margin:0 0 26px; }
.editorial-copy p { margin:0 0 22px; color:var(--muted); font-size:17px; line-height:1.8; }
.lawyer-whatsapp { margin-top:4px; border-radius:12px; }
.heading-row { display:flex; align-items:flex-end; justify-content:space-between; gap:35px; }
.desktop-link { margin-bottom:50px; white-space:nowrap; }
.mobile-link { display:none; }
.article-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.article-card { overflow:hidden; border:1px solid var(--line); border-radius:20px; background:#fdfdfb; transition:transform .25s ease,box-shadow .25s ease; }
.article-card:hover { transform:translateY(-5px); box-shadow:0 20px 44px rgba(47,40,35,.08); }
.article-art { position:relative; display:block; width:100%; height:230px; overflow:hidden; border:0; background:var(--rose); }
.article-art img { width:100%; height:100%; object-fit:cover; transition:transform .35s ease; }
.article-card:hover .article-art img { transform:scale(1.025); }
.article-art::before,.article-art::after { display:none; }
.article-art::before { width:240px; height:240px; right:-55px; top:-75px; }
.article-art::after { width:155px; height:155px; right:-12px; top:-30px; }
.article-art span { position:absolute; left:18px; bottom:16px; padding:7px 9px; border-radius:99px; background:rgba(250,248,245,.9); color:var(--wine); font-size:10px; font-weight:700; letter-spacing:.16em; backdrop-filter:blur(6px); }
.art-2 { background:#e8dfd8; }
.art-2::before { width:280px; height:80px; right:-40px; top:65px; border-radius:50%; transform:rotate(-22deg); }
.art-2::after { width:180px; height:56px; right:10px; top:92px; border-radius:50%; transform:rotate(-22deg); }
.art-3 { background:#ecdadd; }
.art-3::before { width:190px; height:250px; right:15px; top:20px; border-radius:52% 48% 15px 15px; }
.article-copy { padding:26px; }
.article-meta { display:flex; justify-content:space-between; gap:15px; color:var(--wine); font-size:9px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.article-meta span:last-child { color:var(--muted); font-weight:500; letter-spacing:0; text-transform:none; }
.article-copy h3,.article-copy h2 { margin:20px 0 12px; font:550 24px/1.24 var(--font-fraunces),Georgia,serif; }
.article-copy h2 button { padding:0; border:0; background:none; color:inherit; text-align:left; font:inherit; cursor:pointer; }
.article-copy p { margin:0 0 22px; color:var(--muted); font-size:13px; line-height:1.65; }
.article-copy>a,.read-link { padding:0; border:0; background:none; color:var(--wine); font-size:12px; font-weight:700; cursor:pointer; }
.articles-section .section-heading h2 { font-size:clamp(34px,3vw,40px); }
.articles-section .section-heading>.eyebrow { font-size:20px; }
.standard-cta { padding:92px 0; background:var(--wine); color:#fff; }
.cta-grid { display:grid; grid-template-columns:1fr auto; align-items:end; gap:75px; }
.standard-cta h2 { max-width:720px; }
.standard-cta .cta-grid>div>p:last-child { max-width:650px; margin:24px 0 0; color:rgba(255,255,255,.7); line-height:1.7; }
.eyebrow.light,.light-link { color:#f1dfe1; }
.cta-actions { display:flex; flex-direction:column; align-items:center; gap:26px; }
.button-light { border-color:#fff; background:#fff; color:var(--wine); }
.button-light:hover { background:var(--paper); }
footer { padding:76px 0 30px; background:#29221f; color:#f8f3ee; scroll-margin-top:86px; }
.footer-grid .brand { width:max-content; }
.footer-grid .brand>.brand-name { font-size:27px; }
.footer-grid .brand small { font-size:10px; }
.footer-grid { display:grid; grid-template-columns:1.25fr .6fr 1fr; gap:90px; padding-bottom:54px; }
.footer-grid .brand-name b,.footer-grid .brand em { color:#d6aeb3; }
.footer-grid .brand small { color:#8f8580; }
.footer-grid .brand small i { background:rgba(255,255,255,.18); }
.footer-grid>div:first-child>p { max-width:390px; margin:28px 0 0; color:#aaa09a; font-size:12px; line-height:1.75; }
.footer-socials { display:flex; gap:10px; margin-top:22px; }
.footer-socials a { display:grid; place-items:center; width:48px; height:48px; border:1px solid rgba(255,255,255,.14); border-radius:50%; color:#d6aeb3; transition:transform .2s ease,border-color .2s ease,color .2s ease; }
.footer-socials a:hover { transform:translateY(-2px); border-color:#d6aeb3; color:#fff; }
.footer-socials svg { width:23px; height:23px; }
.footer-grid h3 { margin:0 0 22px; color:#d6aeb3; font-size:12px; letter-spacing:.17em; text-transform:uppercase; }
.footer-grid>div:not(:first-child) { display:flex; flex-direction:column; gap:12px; }
.footer-grid a,.footer-grid p { color:#bdb3ad; font-size:15px; line-height:1.65; }
.footer-contact-item { display:flex; align-items:flex-start; gap:10px; margin:0; }
.footer-contact-item svg { width:17px; height:17px; flex:0 0 auto; margin-top:2px; color:#d6aeb3; }
.footer-grid a:hover { color:#fff; }
.footer-legal { display:flex; justify-content:flex-end; gap:50px; padding-top:26px; border-top:1px solid rgba(255,255,255,.1); color:#918681; font-size:12px; line-height:1.65; }
.footer-legal p { max-width:720px; margin:0; }
.footer-legal span { white-space:nowrap; }
.floating-wa { position:fixed; right:24px; bottom:24px; z-index:40; display:grid; place-items:center; width:78px; height:78px; border:5px solid rgba(255,255,255,.9); border-radius:50%; background:#3c9c65; color:#fff; box-shadow:0 8px 25px rgba(25,70,46,.25); animation:pulse 2.6s infinite; }
.floating-wa svg { width:35px; height:35px; }
@keyframes pulse { 0%,75%,100%{box-shadow:0 8px 25px rgba(25,70,46,.25),0 0 0 0 rgba(60,156,101,.25)} 88%{box-shadow:0 8px 25px rgba(25,70,46,.25),0 0 0 10px rgba(60,156,101,0)} }
.inner-hero { position:relative; overflow:hidden; padding:115px 0 120px; border-bottom:1px solid var(--line); background:var(--beige); }
.inner-orbit { position:absolute; width:560px; height:560px; right:-190px; top:-260px; border:1px solid rgba(116,68,74,.14); border-radius:50%; box-shadow:0 0 0 54px rgba(116,68,74,.025),0 0 0 108px rgba(116,68,74,.025); }
.inner-hero-grid { position:relative; display:grid; grid-template-columns:1fr auto; align-items:end; gap:40px; }
.inner-hero h1 { max-width:930px; }
.inner-hero .lead { max-width:770px; margin-bottom:0; }
.hero-index { color:rgba(116,68,74,.2); font:500 110px/1 var(--font-fraunces),serif; }
.guidance-section { background:var(--rose); }
.guidance-grid { display:grid; grid-template-columns:.85fr 1fr; gap:90px; align-items:start; }
.signal-grid { display:grid; grid-template-columns:1fr 1fr; border-top:1px solid rgba(116,68,74,.2); }
.signal-grid article { min-height:140px; padding:25px; border-right:1px solid rgba(116,68,74,.2); border-bottom:1px solid rgba(116,68,74,.2); }
.signal-grid article:nth-child(2n) { border-right:0; }
.signal-grid span { color:var(--wine); font:500 11px var(--font-fraunces),serif; }
.signal-grid p { margin:18px 0 0; font:520 18px/1.35 var(--font-fraunces),serif; }
.process-section { background:#fdfdfb; }
.process-grid { display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid var(--line); }
.process-grid article { padding:34px 28px; border-right:1px solid var(--line); }
.process-grid article:last-child { border-right:0; }
.process-grid span { color:var(--wine); font:500 13px var(--font-fraunces),serif; }
.process-grid h3 { margin:46px 0 14px; font:550 22px/1.2 var(--font-fraunces),serif; }
.process-grid p { margin:0; color:var(--muted); font-size:13px; line-height:1.7; }
.detail-section { background:#ede6e0; }
.detail-wheel { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.detail-wheel article { display:flex; gap:20px; min-height:170px; padding:28px; border:1px solid var(--line); border-radius:18px; background:rgba(253,253,251,.72); }
.detail-wheel>article>span { display:grid; place-items:center; width:42px; height:42px; flex:0 0 auto; border:1px solid var(--wine); border-radius:50%; color:var(--wine); font-size:10px; }
.detail-wheel h3 { margin:3px 0 12px; font:550 22px var(--font-fraunces),serif; }
.detail-wheel p { margin:0; color:var(--muted); font-size:13px; line-height:1.65; }
.story-grid { display:grid; grid-template-columns:1fr 1fr; gap:90px; align-items:center; }
.office-photo { height:560px; overflow:hidden; border-radius:22px 220px 22px 22px; background:var(--beige); }
.office-photo img { width:100%; height:100%; object-fit:cover; filter:saturate(.65) sepia(.08); }
.about-lawyer { background:#f5eeeb; }
.portrait-about { border-radius:220px 220px 24px 24px; }
.signature { margin-top:34px; color:var(--wine); font:500 34px var(--font-fraunces),serif; }
.signature span { display:block; margin-top:7px; color:var(--muted); font:700 9px var(--font-dm),sans-serif; letter-spacing:.25em; }
.values-section { background:#fdfdfb; }
.values-grid { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid var(--line); border-left:1px solid var(--line); }
.values-grid article { min-height:230px; padding:34px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); text-align:center; }
.value-icon { display:grid; place-items:center; width:48px; height:48px; margin:0 auto 24px; border:1px solid var(--wine); border-radius:50%; color:var(--wine); font-size:20px; }
.values-grid h3 { margin:0 0 12px; font:550 23px var(--font-fraunces),serif; }
.values-grid p { margin:0; color:var(--muted); font-size:13px; line-height:1.65; }
.content-hero { padding:56px 0 48px; border-bottom:1px solid var(--line); background:linear-gradient(135deg,var(--paper),var(--rose)); }
.content-hero .section-heading { margin-bottom:0; }
.content-hero .eyebrow { margin-bottom:16px; font-size:20px; line-height:1.3; }
.content-list { background:#fdfdfb; }
.filters { display:flex; gap:10px; margin-bottom:45px; }
.filters button { padding:11px 18px; border:1px solid var(--line); border-radius:99px; background:transparent; color:var(--muted); font:600 12px var(--font-dm),sans-serif; cursor:pointer; }
.filters button.selected { border-color:var(--wine); background:var(--wine); color:#fff; }
.article-grid-full { grid-template-columns:repeat(3,1fr); row-gap:30px; }
.modal-backdrop { position:fixed; inset:0; z-index:80; display:grid; place-items:center; padding:24px; background:rgba(47,40,35,.58); backdrop-filter:blur(8px); }
.article-modal { position:relative; width:min(720px,100%); max-height:88vh; overflow:auto; padding:55px; border-radius:24px; background:var(--paper); box-shadow:0 35px 90px rgba(0,0,0,.22); }
.modal-close { position:absolute; right:22px; top:20px; width:38px; height:38px; border:1px solid var(--line); border-radius:50%; background:transparent; color:var(--ink); font-size:25px; cursor:pointer; }
.article-modal h2 { margin:0 0 22px; font:550 clamp(34px,4vw,50px)/1.08 var(--font-fraunces),serif; }
.article-modal>p { color:var(--muted); line-height:1.8; }
.article-modal .modal-intro { color:var(--ink); font-size:18px; }
.article-modal aside { margin:28px 0; padding:18px; border-left:2px solid var(--wine); background:var(--rose); color:var(--muted); font-size:12px; line-height:1.6; }
.contact-hero { background:linear-gradient(145deg,var(--beige),var(--paper)); }
.contact-section { background:#fdfdfb; }
.contact-grid { display:grid; grid-template-columns:1fr .65fr; gap:65px; align-items:start; }
.contact-form { display:grid; grid-template-columns:1fr 1fr; gap:24px 20px; padding:42px; border:1px solid var(--line); border-radius:22px; background:var(--paper); }
.field { display:flex; flex-direction:column; gap:9px; }
.field.full,.contact-form .button.full { grid-column:1/-1; }
.field label { color:var(--muted); font-size:11px; font-weight:700; letter-spacing:.05em; }
.field label b { color:var(--wine); }
.field input,.field select,.field textarea { width:100%; border:0; border-bottom:1px solid var(--line); border-radius:0; outline:0; background:transparent; color:var(--ink); font:500 15px var(--font-dm),sans-serif; transition:border-color .2s; }
.field input,.field select { height:48px; }
.field textarea { padding:12px 0; resize:vertical; }
.field input:focus,.field select:focus,.field textarea:focus { border-color:var(--wine); }
.contact-form .button { margin-top:8px; cursor:pointer; }
.privacy-note { margin:18px 8px 0; color:var(--muted); font-size:11px; line-height:1.6; }
.contact-cards { display:flex; flex-direction:column; gap:14px; }
.contact-cards article { padding:28px; border:1px solid var(--line); border-radius:18px; background:var(--paper); }
.contact-cards article>span { color:var(--wine); font:500 11px var(--font-fraunces),serif; }
.contact-cards p { margin:18px 0 7px; color:var(--muted); font-size:11px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; }
.contact-cards a,.contact-cards strong { font:550 20px/1.4 var(--font-fraunces),serif; overflow-wrap:anywhere; }
@keyframes rise { from { opacity:0; transform:translateY(18px); } to { opacity:1; transform:none; } }
@media (max-width:820px) { nav{display:none}.nav-shell{height:76px}.hero{padding:56px 0 75px}.hero-grid{grid-template-columns:1fr;gap:58px}.hero-copy{text-align:center}h1,.lead{margin-inline:auto}.hero-note{justify-content:center}.portrait-wrap{justify-self:center;max-width:390px}.portrait-card{right:-12px} }
@media (max-width:540px) { .container,.nav-shell{width:min(100% - 32px,1150px)}.button-small{width:42px;height:42px;padding:0;font-size:0}.hero{padding-top:44px}h1{font-size:43px}.lead{font-size:16px}.hero-copy>.button{width:100%;padding-inline:12px}.portrait-frame{height:450px}.portrait-offset{right:-10px} }
@media (max-width:980px) {
  .service-grid.compact{grid-template-columns:repeat(2,minmax(0,1fr))}
  .service-grid{grid-template-columns:repeat(2,1fr)}
  .lawyer-grid,.story-grid{gap:55px}
  .article-grid{gap:16px}
  .article-copy{padding:21px}
  .cta-grid{grid-template-columns:1fr;align-items:start}
  .cta-actions{align-items:flex-start}
  .process-grid{grid-template-columns:repeat(2,1fr)}
  .process-grid article{border-bottom:1px solid var(--line)}
  .detail-wheel{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:820px) {
  .desktop-contact{display:none}
  .mobile-menu{display:block}
  .mobile-menu summary{display:flex;flex-direction:column;justify-content:center;gap:5px;width:42px;height:42px;padding:0 10px;border:1px solid var(--line);border-radius:50%;list-style:none;cursor:pointer}
  .mobile-menu summary::-webkit-details-marker{display:none}
  .mobile-menu summary i{display:block;width:100%;height:1px;background:var(--wine)}
  .mobile-drawer{position:fixed;inset:0 0 auto 0;z-index:50;display:flex;flex-direction:column;min-height:100vh;padding:24px 28px 42px;background:var(--paper);animation:rise .25s ease both}
  .drawer-top{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:65px}
  .drawer-top>span{font-size:30px}
  .mobile-drawer>a:not(.button){display:flex;justify-content:space-between;padding:20px 0;border-bottom:1px solid var(--line);font:520 31px var(--font-fraunces),serif}
  .mobile-drawer .button{margin-top:auto}
  .section{padding:82px 0}
  .practice-block{padding:32px}
  .service-grid.compact{grid-template-columns:repeat(2,1fr)}
  .lawyer-grid,.story-grid{grid-template-columns:1fr;gap:44px}
  .lawyer-photo{height:420px;max-width:340px;width:100%;margin:auto}.office-photo{height:540px;max-width:500px;width:100%;margin:auto}
  .article-grid,.article-grid-full{grid-template-columns:1fr 1fr}
  .heading-row{align-items:flex-start}
  .desktop-link{display:none}.mobile-link{display:inline-flex;margin-top:30px}
  .footer-grid{grid-template-columns:1fr 1fr;gap:50px}
  .footer-grid>div:first-child{grid-column:1/-1}
  .footer-legal{flex-direction:column;gap:18px}.footer-legal span{white-space:normal}
  .inner-hero{padding:85px 0}
  .inner-hero-grid{grid-template-columns:1fr}.hero-index{display:none}
  .guidance-grid{grid-template-columns:1fr;gap:35px}
  .process-grid{grid-template-columns:1fr 1fr}
  .contact-grid{grid-template-columns:1fr}
}
@media (max-width:580px) {
  .hero-copy>.eyebrow{font-size:15px;letter-spacing:.11em}
  .section{padding:68px 0}.section-heading{margin-bottom:34px}.section-heading h2,.standard-cta h2{font-size:38px}
  .practice-block{padding:25px 18px;border-radius:20px}.practice-title{gap:14px}.practice-title h2{font-size:34px}
  .service-grid.compact,.service-grid{grid-template-columns:1fr}.service-grid.compact{gap:25px}
  .service-card,.service-grid.compact .service-card{min-height:auto;padding:26px}
  .service-number{margin-bottom:25px}.line-icon{margin-bottom:20px}
  .lawyer-section{padding:50px 0}.lawyer-photo{height:380px;max-width:300px}.office-photo{height:470px}
  .article-grid,.article-grid-full{grid-template-columns:1fr}.article-art{height:210px}
  .standard-cta{padding:70px 0}.cta-grid{gap:45px}.cta-actions{width:100%}.cta-actions .button{width:100%}
  .footer-grid{grid-template-columns:1fr;gap:38px}.footer-grid>div:first-child{grid-column:auto}
  .inner-hero{padding:70px 0}.inner-hero h1{font-size:43px}
  .signal-grid{grid-template-columns:1fr}.signal-grid article{border-right:0}
  .process-grid{grid-template-columns:1fr}.process-grid article{border-right:0}
  .detail-wheel{grid-template-columns:1fr}
  .values-grid{grid-template-columns:1fr}
  .filters{overflow-x:auto;padding-bottom:5px}.filters button{white-space:nowrap}
  .article-modal{padding:42px 25px 30px}.modal-backdrop{padding:12px}
  .contact-form{grid-template-columns:1fr;padding:28px 20px}.field{grid-column:1/-1}
  .contact-cards a,.contact-cards strong{font-size:18px}
  .practice-eyebrow,.articles-section .section-heading>.eyebrow{font-size:15px}
  .content-hero .eyebrow{font-size:16px}
  .floating-wa{right:16px;bottom:16px;width:64px;height:64px}
  .floating-wa svg{width:30px;height:30px}
}
@media (prefers-reduced-motion:reduce) { *{scroll-behavior:auto!important;animation:none!important;transition:none!important} }

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.form-trap {
  display: none;
}
