@font-face{font-family:DM Serif;src:url('/assets/serif.woff2') format('woff2');font-display:swap}@font-face{font-family:DM Sans;src:url('/assets/sans.woff2') format('woff2');font-display:swap}
:root{--red:#911a1d;--red-dark:#701317;--ink:#1a1a1a;--muted:#65605d;--cream:#f0efee;--line:#dcd7d2;--serif:'DM Serif',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;font:16px/1.6 var(--sans);color:var(--ink);background:#fff}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.1}h2{font-size:clamp(36px,3.7vw,50px);letter-spacing:-1px}h3{font-size:28px}p+p{margin-top:18px}a{color:inherit;text-underline-offset:4px}button,input,select,textarea{font:inherit}button,a,select,summary{-webkit-tap-highlight-color:transparent}button,summary{cursor:pointer}a,button,summary,select,textarea{outline-offset:5px}a:focus-visible,button:focus-visible,summary:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #c95d42}img{max-width:100%;height:auto;display:block}.wrap{width:min(1200px,calc(100% - 64px));margin:auto}.eyebrow{font-size:11px;font-weight:700;letter-spacing:2px;line-height:1.5;color:var(--red);margin-bottom:18px}.section{padding:96px 0}.section-heading{max-width:700px;margin-bottom:48px}.section-heading>p:last-child{color:var(--muted);max-width:600px;margin-top:24px}.button{display:inline-flex;justify-content:center;align-items:center;gap:24px;background:var(--red);color:white;border:1px solid var(--red);padding:17px 24px;min-height:56px;font-size:14px;font-weight:700;text-decoration:none;border-radius:3px;transition:background .18s}.button:hover{background:var(--red-dark)}.button span{font-size:23px;line-height:1}.text-link{font-weight:700;color:var(--red);font-size:14px}.skip{position:fixed;left:20px;top:-100px;z-index:20;background:white;padding:12px}.skip:focus{top:10px}.header{background:var(--ink);color:#fff;border-bottom:1px solid #ffffff20}.header-inner{display:flex;align-items:center;justify-content:space-between;min-height:100px;gap:24px}.logo{width:260px}.header-right{display:flex;align-items:center;gap:32px}.header-note{font-size:12px;color:#d4cfca;line-height:1.65;text-align:right}.header-note strong{font-weight:400;color:#fff}.header-call{font-size:19px;text-decoration:none;white-space:nowrap;border-left:1px solid #555;padding-left:28px}.header-call>span{color:#dc8b82;padding-right:6px}.hero{position:relative;background:#201d1b;color:#fff;overflow:hidden}.hero-photo{position:absolute;inset:0;background:linear-gradient(90deg,rgba(20,18,17,.86),rgba(20,18,17,.70) 40%,rgba(20,18,17,.25)),url('/assets/consultation.webp') center/cover no-repeat;opacity:1}.hero-grid{position:relative;display:grid;grid-template-columns:1fr 430px;gap:80px;align-items:center;padding-top:64px;padding-bottom:48px}.hero-copy .eyebrow{color:#e2b8a9}.hero h1{font-size:clamp(44px,4.5vw,62px);line-height:1.06;letter-spacing:-1.3px}.hero h1 em{font-style:normal;color:#e9c4b8}.hero-lead{font-size:17px;line-height:1.7;max-width:510px;margin:24px 0;color:#e0dad6}.checks{padding:0;list-style:none;font-size:14px;color:#f1eae6;margin:24px 0 32px}.checks li{padding-left:25px;position:relative;margin:9px 0}.checks li:before{content:'✓';position:absolute;left:0;color:#e5b8a9}.hero-review{display:flex;align-items:center;gap:20px;text-decoration:none}.rating{font-size:28px}.rating .stars{display:block;font-size:15px;line-height:1}.stars{color:#e5bc6c;letter-spacing:2px;font-size:18px}.hero-review>span+span{border-left:1px solid #ffffff40;padding-left:20px;font-size:13px}.hero-review small{display:block;color:#c6bfba;font-size:10px;margin-top:4px}.form-card{background:#fff;color:var(--ink);padding:30px 32px 24px;border-radius:5px;box-shadow:0 20px 60px #0002;scroll-margin-top:24px}.form-progress{display:flex;gap:25px;border-bottom:1px solid var(--line);padding-bottom:16px;margin-bottom:24px;font-size:10px;color:#7d7772}.form-progress>span{display:flex;gap:6px;align-items:center}.form-progress b{font-weight:400}.form-progress .active{color:var(--red);font-weight:700}.form-card .eyebrow{font-size:9px;margin-bottom:10px}.form-card h2{font-size:34px;letter-spacing:-.6px}.form-card>p:not(.eyebrow):not(.fine){font-size:13px;line-height:1.6;color:var(--muted);margin:12px 0 20px}label{display:block;font-size:12px;font-weight:700;margin:17px 0 7px}select,textarea{width:100%;background:#fbfaf9;border:1px solid #d7d1cb;border-radius:3px;color:var(--ink);padding:12px;font-size:14px}select{min-height:48px}textarea{resize:vertical;min-height:92px}textarea::placeholder{color:#79726d}.input-note{font-size:10px;color:var(--muted);margin:6px 0 17px}.form-card .button{width:100%;font-size:13px;padding:14px 12px;gap:15px}.form-reassurance{text-align:center;font-size:10px;color:var(--muted);margin-top:10px}.form-call{font-size:12px;text-align:center;padding:16px 0 12px;border-top:1px solid var(--line);margin-top:20px}.form-call a{font-weight:700;color:var(--red)}.fine{font-size:10px;line-height:1.7;color:#77716b}.hero-bottom{position:relative;display:flex;gap:32px;padding-bottom:27px;font-size:9px;letter-spacing:2px;color:#c4bcb5}.hero-bottom span+span:before{content:'•';margin-right:32px;color:#d89486}.recognition{padding:30px 0 18px;border-bottom:1px solid var(--line);background:#faf9f7}.award-row{display:flex;justify-content:space-between;align-items:center;gap:38px}.award-intro{min-width:230px}.award-intro .eyebrow{font-size:9px;margin-bottom:8px}.award-intro p{font:22px/1.2 var(--serif)}.award-row>img{width:92px;height:100px;object-fit:contain}.source-note{font-size:10px;color:#77716b;line-height:1.7;margin-top:20px}.recognition .source-note{text-align:right;font-size:9px;margin-top:12px}.stakes-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:42px}.stakes-grid article{border-top:1px solid var(--line);padding-top:26px}.line-icon{color:var(--red);font-size:12px;letter-spacing:2px}.stakes-grid h3{margin:20px 0 16px;font-size:31px}.stakes-grid p{font-size:14px;color:var(--muted);max-width:320px}.urgency{display:flex;align-items:center;gap:24px;background:#f6eeeb;border-left:3px solid var(--red);padding:26px 30px;margin-top:48px}.urgency-mark{border:1px solid var(--red);color:var(--red);width:30px;height:30px;flex-shrink:0;border-radius:50%;text-align:center}.urgency h3{font-size:23px;margin-bottom:8px}.urgency p{font-size:12px;color:var(--muted);max-width:590px}.urgency>a{margin-left:auto;min-width:170px}.team{background:var(--cream)}.team-grid{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:center}.portrait{position:relative}.portrait>img{width:100%;max-height:580px;object-fit:cover}.portrait-label{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(transparent,#161210ed);padding:60px 30px 25px;color:white}.portrait-label strong{display:block;font:25px var(--serif)}.portrait-label span{font-size:11px;letter-spacing:1px}.large-copy{font-size:20px;margin:24px 0 16px}.team-copy>p:not(.eyebrow):not(.large-copy):not(.source-note){font-size:14px;color:var(--muted)}.team-facts{display:flex;gap:35px;margin:30px 0}.team-facts>div{border-left:1px solid #c8b8ad;padding-left:20px}.team-facts strong{display:block;font:30px var(--serif);color:var(--red)}.team-facts span{font-size:11px;line-height:1.6;display:block;margin-top:5px}.reviews-heading{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:42px}.review-stat{text-decoration:none;display:grid;gap:6px}.review-stat>strong{font-size:33px;line-height:1.2}.review-stat>span{font-size:13px}.review-stat small{font-size:9px;color:var(--muted)}.review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.review-grid figure{margin:0;background:#faf8f6;border:1px solid #ece7e1;padding:28px;display:flex;flex-direction:column}.quote-mark{font:60px/1 var(--serif);color:var(--red);height:45px}.review-grid blockquote{font:25px/1.35 var(--serif);margin:10px 0 32px;flex:1}.review-grid figcaption{display:flex;gap:12px;align-items:center}.avatar{display:grid;place-items:center;background:#eadfda;width:38px;height:38px;border-radius:50%;color:var(--red);font-size:11px}.review-grid figcaption strong,.review-grid figcaption div>span{display:block;font-size:12px}.review-grid figcaption div>span{font-size:10px;color:var(--muted)}.review-grid figure>a{font-size:10px;color:var(--muted);margin-top:24px}.approach{background:#f8f7f5}.approach-grid{display:grid;grid-template-columns:1fr 1fr;gap:90px}.approach-grid>div>p:not(.eyebrow){color:var(--muted);max-width:400px;margin:22px 0;font-size:15px}.approach-grid img{margin-top:34px;max-height:260px;width:100%;object-fit:cover}.accordions{border-top:1px solid #cfc6bf}.accordions details{border-bottom:1px solid #cfc6bf;padding:22px 0}.accordions summary{font-size:16px;list-style:none;display:flex;justify-content:space-between;gap:20px;font-weight:700}.accordions summary::-webkit-details-marker{display:none}.accordions summary:after{content:'+';color:var(--red);font-size:23px;line-height:1}.accordions details[open] summary:after{content:'−'}.accordions details p{font-size:14px;line-height:1.8;color:var(--muted);margin-top:14px;padding-right:25px}.process{text-align:center}.process .section-heading{margin:0 auto 50px}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:50px;text-align:left;margin-bottom:45px}.steps article{border-top:1px solid var(--line);padding-top:24px}.steps article>span{font:35px var(--serif);color:var(--red)}.steps h3{font-size:25px;margin:18px 0 14px}.steps p{font-size:14px;color:var(--muted);max-width:290px}.faq{border-top:1px solid var(--line)}.final-cta{background:var(--red);color:white;text-align:center;padding:78px 0}.final-cta .eyebrow{color:#edd2ca}.final-cta h2{font-size:clamp(36px,4vw,54px)}.final-cta p:not(.eyebrow){color:#efd9d4;margin-top:24px}.cta-pair{display:flex;justify-content:center;align-items:center;gap:32px;margin-top:32px}.button.light{background:white;color:var(--red);border-color:white}.button.light:hover{background:#f2e4dc}.call-secondary{font-size:14px;font-weight:700}footer{background:#1a1a1a;color:#d0c9c3;padding:48px 0 24px}.footer-top{display:flex;justify-content:space-between;align-items:center;gap:35px;padding-bottom:32px}.footer-top p,.footer-top>a{font-size:12px}.footer-bottom{border-top:1px solid #ffffff26;padding-top:20px;display:flex;justify-content:space-between;font-size:10px;margin-bottom:18px}footer .fine{color:#aaa29c;max-width:1000px}.mobile-cta{display:none}.booking{background:#f5f2ef;min-height:80vh;padding:45px 0 70px}.booking-top{text-align:center;max-width:740px;margin:25px auto 34px}.booking-top h1{font-size:48px}.booking-top>p:last-child{margin-top:20px;color:var(--muted)}.booking-nav{display:flex;justify-content:space-between;font-size:12px;color:var(--muted)}.calendar-shell{background:white;border:1px solid var(--line);border-radius:6px;overflow:hidden;max-width:1060px;margin:auto}.calendar-shell iframe{display:block;border:0;width:100%;height:800px}.booking-help{text-align:center;font-size:13px;margin:24px auto!important}.booking-help a{color:var(--red)}.booking-success{text-align:center;padding:22px;background:#e8efe5;margin:20px auto;max-width:800px}.booking-success h2{font-size:28px}
@media(min-width:1500px){.hero-grid{padding-top:80px;padding-bottom:60px}}
@media(max-width:1050px){.hero-grid{gap:35px;grid-template-columns:1fr 400px}.hero h1{font-size:49px}.header-note{display:none}.team-grid,.approach-grid{gap:45px}.award-row{gap:22px}.award-intro{min-width:180px}.award-row>img{width:75px;height:90px}.urgency{flex-wrap:wrap}.urgency>a{margin-left:54px}.hero-review{gap:12px}}
@media(max-width:780px){html{scroll-padding-top:20px}.wrap{width:calc(100% - 40px)}.header-inner{min-height:78px;gap:12px}.logo{width:210px}.header-call{font-size:14px;border:0;padding:0}.header-call>span{display:none}.hero-grid{grid-template-columns:1fr;gap:30px;padding-top:38px;padding-bottom:30px}.hero-photo{background-image:linear-gradient(rgba(20,18,17,.74),rgba(20,18,17,.74)),url('/assets/consultation.webp');background-position:35% center}.hero h1{font-size:48px;max-width:600px}.hero h1 em br{display:none}.hero-lead{font-size:15px;margin:20px 0;max-width:550px}.hero-copy .eyebrow{font-size:10px}.checks{font-size:12px;margin:20px 0}.hero-review{margin-top:22px}.hero-review .rating{font-size:24px}.hero-review>span+span{font-size:11px}.hero-bottom{font-size:8px;gap:15px;padding-bottom:22px;justify-content:center}.hero-bottom span+span:before{margin-right:15px}.form-card{padding:25px}.form-card h2{font-size:34px}.form-card h2 br{display:none}.form-card>p:not(.eyebrow):not(.fine){max-width:450px}.form-card select,.form-card textarea{font-size:16px}.form-card .button{font-size:14px}.form-progress{justify-content:space-between}.recognition{padding:25px 0 16px}.award-row{justify-content:center;gap:22px;flex-wrap:wrap}.award-intro{width:100%;text-align:center}.award-intro p br{display:none}.award-row>img{width:65px;height:80px}.recognition .source-note{text-align:center}.section{padding:64px 0}.section-heading{margin-bottom:32px}.section-heading>p:last-child{font-size:14px}.stakes-grid{gap:20px}.stakes-grid h3{font-size:25px}.stakes-grid p{font-size:12px}.urgency{padding:22px;gap:16px;align-items:start}.urgency>div:nth-child(2){flex:1}.urgency h3{font-size:23px}.urgency>a{margin-left:46px}.team-grid{grid-template-columns:1fr;gap:35px}.portrait{max-width:550px}.portrait>img{max-height:500px;object-position:center 25%}.team-copy{max-width:580px}.reviews-heading{display:block}.review-stat{margin-top:25px}.review-grid{gap:14px}.review-grid figure{padding:20px}.review-grid blockquote{font-size:21px}.review-grid figcaption{gap:8px}.avatar{width:30px;height:30px;font-size:9px;flex-shrink:0}.review-grid figcaption strong{font-size:10px}.approach-grid{grid-template-columns:1fr;gap:35px}.approach-grid img{max-height:300px}.steps{gap:25px}.steps h3{font-size:23px}.steps p{font-size:13px}.footer-top{flex-wrap:wrap}.footer-top .logo{width:240px}.mobile-cta{position:fixed;bottom:0;left:0;right:0;z-index:10;background:#fff;display:grid;grid-template-columns:1.2fr 1fr;box-shadow:0 -3px 18px #0002;padding:8px 12px calc(8px + env(safe-area-inset-bottom));gap:8px}.mobile-cta a{display:grid;place-items:center;min-height:46px;border:1px solid var(--red);color:var(--red);font-size:12px;font-weight:700;text-decoration:none;border-radius:3px}.mobile-cta .mobile-call{background:var(--red);color:#fff}body{padding-bottom:66px}.booking-top h1{font-size:38px}.booking-nav{font-size:10px}.calendar-shell iframe{height:950px}.booking-top{margin:25px auto}.booking-top>p:last-child{font-size:14px}}
@media(max-width:520px){.logo{width:175px}.header-call{font-size:12px}.hero h1{font-size:43px}.hero-lead{font-size:14px}.hero-copy .checks{display:none}.hero-review{margin-top:22px}.hero-grid{padding-top:30px;gap:25px}.form-card{padding:24px 22px}.hero-bottom{letter-spacing:1px;font-size:7px;gap:12px}.hero-bottom span+span:before{margin-right:12px}.award-row{gap:17px}.award-row>img{width:55px;height:65px}.stakes-grid,.review-grid,.steps{grid-template-columns:1fr}.stakes-grid article{display:grid;grid-template-columns:42px 1fr;column-gap:12px;row-gap:12px;padding-top:20px}.stakes-grid h3{margin:0;font-size:27px}.stakes-grid h3 br{display:none}.stakes-grid p{grid-column:2;font-size:14px;max-width:none}.line-icon{padding-top:8px}.urgency{margin-top:32px}.urgency-mark{display:none}.urgency>a{margin-left:0}.team-facts{gap:22px}.team-facts strong{font-size:27px}.team-facts>div{padding-left:14px}.review-grid figure{padding:26px}.review-grid blockquote{font-size:26px;margin-bottom:25px}.review-grid figcaption strong{font-size:12px}.review-grid figure>a{margin-top:20px}.steps{gap:28px}.steps article{display:grid;grid-template-columns:45px 1fr;column-gap:15px}.steps h3{margin:5px 0 12px}.steps p{grid-column:2;max-width:none;font-size:14px}.cta-pair{flex-direction:column;gap:24px}.final-cta{padding:60px 0}.footer-top{gap:25px}.footer-top p{display:none}.booking{padding-top:26px}.calendar-shell{margin-left:-12px;margin-right:-12px}.calendar-shell iframe{height:1000px}.form-card .button{padding-left:8px;padding-right:8px;font-size:12px}.booking-top h1{font-size:36px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
/* Language navigation and complete practice-area directory. */
.language-switch{color:#fff;font-size:13px;text-decoration:none;border:1px solid #ffffff55;border-radius:3px;padding:8px 12px;white-space:nowrap}.language-switch:hover{background:#ffffff18}.header-right{gap:22px}.header-note{max-width:300px}.practice-areas{background:#f8f7f5}.practice-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.practice-grid article{position:relative;padding:30px;display:flex;flex-direction:column;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:#fff9}.service-number{font-size:11px;color:var(--red);letter-spacing:2px;margin-bottom:22px}.practice-grid h3{font-size:27px;margin-bottom:15px}.practice-grid p{font-size:14px;color:var(--muted);margin-bottom:24px}.practice-grid a{font-size:12px;font-weight:700;text-decoration:none;color:var(--red);margin-top:auto;display:flex;align-items:center;justify-content:space-between;min-height:32px}.practice-grid a span{font-size:22px}.practice-grid article:last-child{grid-column:1/-1;display:grid;grid-template-columns:40px 1fr 2fr auto;align-items:center;gap:25px}.practice-grid article:last-child>*{margin:0}.practice-grid article:last-child a{gap:25px}.practice-bottom{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:30px}.practice-bottom p{font-size:14px;color:var(--muted)}html[lang=es] .form-progress{gap:14px}html[lang=es] .hero-grid{gap:45px}html[lang=es] .hero h1{font-size:clamp(43px,4.3vw,60px)}html[lang=es] .header-note{font-size:11px}html[lang=es] .hero-review>span+span{max-width:260px}html[lang=es] .review-grid blockquote{font-size:24px}
@media(max-width:1050px){.header-note{display:none}.practice-grid{grid-template-columns:repeat(2,1fr)}.practice-grid article:last-child{grid-column:auto;display:flex;align-items:stretch;gap:0}.practice-grid article:last-child .service-number{margin-bottom:22px}.practice-grid article:last-child h3{margin-bottom:15px}.practice-grid article:last-child p{margin-bottom:24px}.practice-grid article:last-child a{margin-top:auto}html[lang=es] .hero-grid{gap:30px}}
@media(max-width:780px){.header-right{gap:12px}.header-inner .logo{width:180px}.language-switch{font-size:12px;padding:8px 10px}.practice-bottom{align-items:start;flex-direction:column}html[lang=es] .hero h1{font-size:47px}}
@media(max-width:520px){.header-inner{flex-wrap:wrap;justify-content:space-between;padding-top:16px;padding-bottom:14px;row-gap:12px}.header-inner .logo{width:185px}.header-right{gap:10px;flex:1;justify-content:flex-end}.header-right .header-call{font-size:12px}.header-right .language-switch{font-size:11px;padding:7px 9px}.practice-grid{grid-template-columns:1fr}.practice-grid article{padding:25px}.practice-grid h3{font-size:27px}.practice-grid a{min-height:44px}html[lang=es] .hero h1{font-size:43px}html[lang=es] .form-card .button{font-size:12px}html[lang=es] .hero-bottom{font-size:7px;letter-spacing:.7px}html[lang=es] .mobile-cta a{font-size:11px}.header-inner>.header-right{flex-wrap:wrap}}
/* Keep the urgency message and action in one readable mobile column. */
@media(max-width:780px){
  .urgency{display:grid;grid-template-columns:minmax(0,1fr);gap:18px;padding:24px 22px;margin-top:32px;align-items:stretch}
  .urgency .urgency-mark{display:none}
  .urgency>div:nth-child(2){min-width:0}
  .urgency h3{font-size:25px;line-height:1.25;margin-bottom:12px;text-wrap:pretty}
  .urgency p{font-size:14px;line-height:1.7;max-width:none}
  .urgency>a{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0;min-width:0;min-height:48px;padding-top:16px;border-top:1px solid #911a1d26;font-size:14px;line-height:1.5;text-decoration:none}
  .urgency>a span{flex-shrink:0;font-size:22px}
}

/* Compact booking introduction keeps the calendar close to the header. */
.booking{padding-top:24px}
.booking-top{max-width:1000px;margin:14px auto 20px}
.booking-top .eyebrow{margin-bottom:8px}
.booking-top h1{font-size:38px;line-height:1.15}
.booking-top>p:last-child{margin-top:10px;font-size:14px;line-height:1.5}
@media(max-width:780px){
  .booking{padding-top:16px}
  .booking-top{margin:12px auto 16px}
  .booking-top .eyebrow{font-size:9px;letter-spacing:1.5px;margin-bottom:6px}
  .booking-top h1{font-size:30px;line-height:1.15}
  .booking-top>p:last-child{margin-top:8px;font-size:13px;line-height:1.45}
}

/* Review branding sits beside the existing, attributed Google review counts. */
.google-logo{display:inline-block;width:24px;height:24px;vertical-align:middle;margin-right:8px;background:#fff;border-radius:50%;padding:3px;box-sizing:content-box}
