.hero-art.has-portrait,.approach-mark.has-portrait{aspect-ratio:3 / 4;min-height:0!important;height:auto;align-self:start;border-radius:16px;overflow:hidden}.has-portrait .henry-portrait{object-fit:contain;object-position:center}.hero-art.has-portrait .frame-original,.approach-mark.has-portrait .frame-original{position:absolute;inset:0}.hero-art.has-portrait{width:100%}
.portrait-frame{position:relative;isolation:isolate}.henry-portrait{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 35%;z-index:3;display:block}.frame-original{width:100%;height:100%}.has-portrait .frame-original{visibility:hidden}.hero-art.has-portrait:after,.approach-mark.has-portrait:before,.approach-mark.has-portrait:after{display:none}.approach-mark .frame-original{display:flex;flex-wrap:wrap;justify-content:center;align-content:center}.approach-mark .frame-original img{width:82%;height:auto}.approach-mark.has-portrait{min-height:560px}.layout-tools{position:fixed;left:20px;bottom:20px;z-index:30;font:12px 'DM Sans',Arial,sans-serif;max-width:calc(100vw - 40px)}.layout-tools button{border:1px solid #b1c3a9;border-radius:22px;background:#f3f5ef;color:#102b2e;padding:12px 17px;cursor:pointer;font:inherit;box-shadow:0 4px 16px #0001}.layout-tools button:hover,.layout-tools button[aria-pressed=true]{background:#d5edab}.layout-options{margin-top:10px;background:#f3f5ef;border:1px solid #b1c3a9;border-radius:16px;padding:15px;box-shadow:0 8px 30px #0002}.layout-options[hidden]{display:none}.layout-options>span{display:block;margin-bottom:12px;color:#576965}.layout-options button{padding:9px 13px;box-shadow:none}.layout-options p{font-size:11px;margin:12px 0 0;color:#576965}.editing-portrait .portrait-frame{outline:2px dashed #91aa75;outline-offset:6px}.editing-portrait .portrait-frame:before{content:'Déjala aquí · ' attr(data-frame);position:absolute!important;inset:14px auto auto 14px!important;transform:none!important;border:0!important;border-radius:20px!important;background:#f3f5ef;color:#102b2e;padding:9px 13px;z-index:8;opacity:1!important;font:11px 'DM Sans',Arial,sans-serif;pointer-events:none}.editing-portrait .henry-portrait{cursor:grab}.editing-portrait .henry-portrait:active{cursor:grabbing}.portrait-frame.drop-ready{outline:4px solid #d5edab;box-shadow:0 0 0 10px #d5edab44}.dragging-portrait .henry-portrait{opacity:.55}@media(max-width:700px){.hero-art.has-portrait{min-height:540px;border-radius:24px}.approach-mark.has-portrait{min-height:500px}.layout-tools{left:12px;bottom:16px;max-width:calc(100vw - 24px)}.layout-options{max-width:340px}.editing-portrait .portrait-frame{outline-offset:3px}}@media(max-width:400px){.hero-art.has-portrait{min-height:450px}.layout-options button{padding:8px 10px}}

/* Mobile layout: fluid sizes and stable groups across phone widths. */
@media(max-width:700px){
 html,body{width:100%;max-width:100%;overflow-x:clip}
 .header{padding-inline:6%;height:100px!important}
 .brand-logo{width:135px;height:88px}
 nav{top:100px!important}
 .hero{padding:32px 6% 30px;gap:28px;min-height:0}
 .hero-copy{min-width:0}
 .hero h1{font-size:clamp(34px,8.5vw,58px);line-height:1.13;letter-spacing:-1.5px}
 .hero h1 em{white-space:nowrap}
 .hero .intro{font-size:clamp(12px,3.2vw,14px);max-width:100%;line-height:1.8}
 .hero .button{width:100%;justify-content:space-between;margin-top:20px;padding:17px 21px;font-size:12px}
 .hero .text-link{display:flex;justify-content:space-between;align-items:center;width:100%;max-width:none;margin:17px 0 0;padding:0 4px 12px;font-size:11px}
 .hero-note{font-size:9px;line-height:1.6;margin-top:24px}
 .hero-art.has-portrait{width:100%;max-width:460px;justify-self:center;aspect-ratio:3/4;border-radius:16px}
 .principles{display:grid;grid-template-columns:1fr;gap:10px;padding:24px 6%;text-align:center}
 .principles>span{font-size:8px;width:auto}
 .principles p{font-size:11px;margin:0;line-height:1.5}
 .principles i{display:none}
 .section{padding:48px 6%}
 .section-heading{margin-bottom:27px}
 .section-heading>p{max-width:100%;line-height:1.8}
 h2,.approach h2,.faq h2{font-size:clamp(29px,7.6vw,43px);line-height:1.18;letter-spacing:-1px}
 .eyebrow{font-size:8px;letter-spacing:1.6px;line-height:1.5}
 .service-grid{gap:15px;grid-template-columns:minmax(0,1fr)}
 .service-grid article{padding:25px;min-width:0}
 .service-grid h3{font-size:27px}
 .service-grid p{font-size:13px;line-height:1.8}
 .service-grid ul{font-size:11px;line-height:2.4;margin-bottom:12px}
 .service-grid a{font-size:11px;padding-top:18px}
 .approach,.faq,.contact{grid-template-columns:minmax(0,1fr);gap:30px}
 .approach-mark{width:100%;min-height:260px}
 .approach-points p{grid-template-columns:minmax(0,1fr);gap:7px;font-size:12px;padding:17px 0}
 .approach-points span{line-height:1.7}
 .signature{font-size:18px;line-height:1.5}
 summary{font-size:13px;line-height:1.6;gap:16px}
 summary span{flex-shrink:0}
 details p{font-size:12px}
 .contact h2{font-size:clamp(34px,9vw,48px)}
 .contact-location{font-size:12px}
 .contact-location small{line-height:1.6}
 form{min-width:0;gap:9px}
 input,select,textarea{font-size:16px;max-width:100%;min-width:0;padding:14px 0}
 form .button{width:100%;padding:17px 21px}
 .form-note{font-size:10px;line-height:1.7}
 footer{padding:35px 6% 95px;display:grid;grid-template-columns:1fr;gap:20px}
 .footer-logo{width:170px}
 footer>p{font-size:11px;margin:0}
 .footer-bottom{margin-top:0;font-size:9px;line-height:1.7;gap:12px}
 .floating-contact{right:12px;bottom:12px;padding:8px 14px 8px 8px}
 .layout-tools{left:12px;bottom:12px}
 .layout-tools>button{padding:12px;font-size:10px}
 .layout-options{width:min(330px,calc(100vw - 24px))}
}
.specific-services{display:grid;grid-template-columns:1fr 1.1fr;gap:70px;border-top:1px solid var(--line);padding-top:65px}.specific-services h2{font-size:43px}.specific-services>div>p:last-child{font-size:13px;line-height:1.8;color:var(--muted);max-width:340px;margin-top:25px}.specific-list a{display:flex;align-items:center;gap:20px;padding:20px 0;border-bottom:1px solid var(--line);font-size:14px;transition:color .2s}.specific-list a:hover{color:#709378}.specific-list a>span{font-size:9px;color:var(--muted)}.specific-list a>b{margin-left:auto;font-weight:400}.approach-mark:has(.court-photo){aspect-ratio:977/1609;min-height:0;height:auto;align-self:start}.approach-mark .court-photo{position:absolute;inset:0;display:block}.approach-mark .court-photo img{width:100%;height:100%;object-fit:contain;display:block}.approach-mark:has(.court-photo):before,.approach-mark:has(.court-photo):after{display:none}.phone-links{display:grid;gap:13px;margin-top:32px;max-width:360px}.phone-links a{display:flex;align-items:center;gap:18px;border-bottom:1px solid #ffffff35;padding:15px 0;font-size:23px;letter-spacing:-.5px}.phone-links small{font-size:8px;letter-spacing:1px;color:#b3c6ba}.phone-links span{margin-left:auto;color:var(--lime);font-size:20px}.phone-links a:hover{color:var(--lime)}@media(max-width:700px){.specific-services{grid-template-columns:minmax(0,1fr);gap:22px;padding-top:40px}.specific-services h2{font-size:clamp(29px,7.6vw,43px)}.specific-list a{font-size:13px;padding:18px 0;gap:13px}.phone-links a{font-size:22px}.approach-mark:has(.court-photo){min-height:0;width:100%;max-width:460px;justify-self:center}}
@media(min-width:701px){.service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.service-grid article{min-width:0}.service-grid article+article{border-left:1px solid var(--line)}}.hero .eyebrow{flex-wrap:wrap;line-height:1.8}.specific-list a{line-height:1.6}.specific-list a>span,.specific-list a>b{flex-shrink:0}.signature small{line-height:1.7}.brand-name small{line-height:1.6}
.contact-whatsapp{margin-top:22px;background:var(--lime);color:var(--navy);font-size:12px}.contact-whatsapp:hover{background:#bfd998}.whatsapp-button{font-weight:600}@media(max-width:700px){.contact-whatsapp{width:100%;justify-content:space-between}}

footer .developer-credit{grid-column:1 / -1;margin:8px 0 0;font-size:10px;line-height:1.8;letter-spacing:.025em;opacity:.7}footer .developer-credit strong{font-weight:600}footer .developer-credit span{display:block;font-size:9px;letter-spacing:.12em}
