/* Variables y base */
:root{--color-primary:#073b49;--color-secondary:#641a12;--color-text:#203b49;--color-background:#f7f6f3;--color-border:#c7cdd0;--font-title:Georgia,'Times New Roman',serif;--font-ui:Arial,Helvetica,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:20px}body{margin:0;background:var(--color-background);color:var(--color-text);font-family:var(--font-title)}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}img{max-width:100%;display:block}h1,h2,h3,p{margin:0}h2{font-weight:400;font-size:38px;line-height:1.08;color:var(--color-primary)}p{font-size:16px;line-height:1.22}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #9d6f40;outline-offset:4px}.skip{position:absolute;top:-100px;left:10px;z-index:10;background:white;padding:12px}.skip:focus{top:10px}.icon{width:24px;height:26px;object-fit:contain}.button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:42px;padding:12px 26px;border:1px solid var(--color-secondary);border-radius:2px;font:11px var(--font-ui);letter-spacing:1.5px;text-transform:uppercase;cursor:pointer;transition:background .2s,color .2s}.primary{background:var(--color-secondary);color:white}.primary:hover{background:#812b20}.outline:hover{background:#eee8e2}.whatsapp{font-weight:700;background:#034449;color:white;border-color:#034449;letter-spacing:1px}.whatsapp .icon{filter:brightness(0) invert(1)}.section-label,.eyebrow{display:flex;align-items:center;gap:12px;text-transform:uppercase;font:12px var(--font-ui);letter-spacing:3px;color:var(--color-primary)}.section-label:before,.centered:after{content:'';width:40px;height:1px;background:var(--color-secondary);flex-shrink:0}.centered{justify-content:center}
/* Encabezado */
header{background:#faf9f7}.header-inner{max-width:1120px;margin:auto;height:90px;display:flex;align-items:center;justify-content:space-between;gap:28px;padding:4px 48px}.brand img{width:100px;height:82px}nav{display:flex;align-items:center;gap:30px;font:10px/1.45 var(--font-ui);text-transform:uppercase;letter-spacing:.8px}nav a{text-align:center}nav a:hover{color:var(--color-secondary)}header nav a:first-child{border-bottom:2px solid var(--color-secondary);padding:8px 0}.menu-toggle{display:none}
/* Hero */
.hero{height:398px;background-image:linear-gradient(90deg,transparent 35%,#fff4df80 75%,#fff4dfb0),url('../assets/images/costanera-encabezado.webp');background-size:cover;background-position:center;display:flex;justify-content:flex-end;align-items:flex-start;padding:56px 4% 28px}.hero-copy{width:470px;text-align:center}.eyebrow{justify-content:center;color:#445461}.eyebrow:before,.eyebrow:after{content:'';width:44px;height:1px;background:#786459}h1{font-size:30px;font-weight:400;letter-spacing:2px;text-transform:uppercase;margin:10px 0}.hero-subtitle{font-size:21px;line-height:1.2}.short-line{display:block;width:46px;height:1px;background:#273e43;margin:18px auto 14px}.names{font:10px/1.6 var(--font-ui);text-transform:uppercase;letter-spacing:1.3px}.profession{font-size:15px;letter-spacing:2px;margin:3px 0 16px}.hero-actions{display:flex;gap:14px;justify-content:center}.hero .whatsapp{background:transparent;color:var(--color-primary)}.hero .whatsapp .icon{filter:none}
/* Estudio */
.study{display:grid;grid-template-columns:47.5% 52.5%;min-height:405px}.study-copy{padding:27px 32px 28px max(7%,calc((100vw - 1120px)/2 + 65px))}.study-copy h2{font-size:42px;margin:18px 0 10px}.study-copy p:not(.section-label){margin-bottom:12px}.study .outline{margin-top:6px;min-width:185px}.study-picture{display:block;min-width:0;overflow:hidden}.study-image{width:100%;height:100%;object-fit:cover;object-position:58% center;min-height:405px}
/* Áreas y forma de trabajo */
.practice{padding:15px 38px 24px;background:#f0efeb}.practice h2{text-align:center;margin:8px 0 22px;font-size:34px}.practice-grid{display:grid;grid-template-columns:repeat(5,1fr);max-width:1140px;margin:auto}.practice article{text-align:center;padding:0 20px;border-right:1px solid var(--color-border)}.practice article:last-child,.approach article:last-child{border:0}.practice .icon{width:50px;height:50px;margin:0 auto 9px}h3{font:700 11px/1.35 var(--font-ui);letter-spacing:.7px;text-transform:uppercase;color:var(--color-primary);min-height:32px}.practice article p{font-size:14px;margin-top:10px;line-height:1.2}.approach{padding:14px 5% 18px;background:#e4e3df}.approach-grid{display:grid;grid-template-columns:repeat(3,1fr);margin-top:14px}.approach article{text-align:center;border-right:1px solid #b6c0c6;padding:0 16px}.approach .icon{width:43px;height:40px;margin:0 auto 5px}.approach h3{min-height:0;letter-spacing:1.5px}.approach p{font-size:15px;margin-top:5px}
/* Contacto */
.contact{display:grid;grid-template-columns:1.13fr 1fr 1fr;gap:18px;padding:16px 1.4% 10px 5%;max-width:1400px;margin:auto}.contact h2{font-size:31px;margin:12px 0 16px;white-space:nowrap}address{font-style:normal}address p{display:flex;gap:24px;align-items:center;margin:10px 0;font-size:16px}address .icon{width:23px;flex-shrink:0}address a{overflow-wrap:anywhere}form{background:#f3f2ee;padding:10px 12px;display:flex;flex-direction:column;gap:6px}form label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}input,textarea{width:100%;padding:8px 10px;border:1px solid #ccd1d6;background:#fcfdff;border-radius:3px;font:12px var(--font-ui);color:var(--color-text)}textarea{min-height:54px;resize:vertical}form .button{width:100%}#form-status:empty{display:none}#form-status{font:13px/1.4 var(--font-ui)}.map{display:block;width:100%;max-width:100%;height:100%;min-height:224px;border:0;border-radius:3px}
/* Pied de page */
footer{padding:10px 5% 20px;display:flex;align-items:center;justify-content:space-between;gap:25px;background:#faf9f7}.footer-brand{display:flex;align-items:center;gap:8px}.footer-brand img{width:58px;height:65px}.footer-brand span{font:16px var(--font-ui);letter-spacing:3px;text-transform:uppercase;color:#92959b}footer nav{gap:15px;font-size:8px}footer nav a+a{border-left:1px solid #72838c;padding-left:15px}footer nav br{display:none}footer p{text-align:center;font:10px var(--font-ui);color:#63717d;margin-top:10px}footer .whatsapp{background:transparent;color:var(--color-primary);border:0;padding:5px}footer .whatsapp .icon{filter:none}
/* Tablette */
@media(min-width:1400px){.hero{height:480px;padding-right:10%}.hero-copy{width:550px}.study-copy{padding-right:55px}.study-copy p:not(.section-label){font-size:19px}.study{min-height:450px}.practice{padding-top:25px;padding-bottom:30px}.practice article p{font-size:17px}.approach{padding:20px 5% 25px}}
@media(max-width:950px){.header-inner{padding:5px 24px;gap:16px}header nav{gap:15px}header .whatsapp{padding:10px 14px}.study-copy{padding:26px}.study-copy h2{font-size:36px}.practice{padding:20px}.practice article{padding:0 12px}.contact{grid-template-columns:1fr 1fr;padding:25px}.contact h2{white-space:normal}.map{grid-column:1/-1;height:240px;object-fit:contain;background:#eae9e5}footer{flex-wrap:wrap;justify-content:center}}
/* Mobile */
@media(max-width:700px){.header-inner{height:80px;position:relative;padding:5px 18px}.brand img{width:80px;height:68px}.menu-toggle{display:block;background:transparent;border:1px solid var(--color-border);padding:10px;color:var(--color-primary);font:12px var(--font-ui);margin-left:auto}.menu-toggle span{margin-left:8px}header .whatsapp{font-size:10px;padding:8px;gap:5px}header nav{display:none;position:absolute;z-index:5;top:80px;left:0;right:0;background:#faf9f7;padding:20px;box-shadow:0 8px 12px #0002;flex-direction:column;font-size:12px}header nav.open{display:flex}.hero{height:440px;padding:38px 18px;background-position:32% center;background-image:linear-gradient(#fff4dfe0,#fff4df65),url('../assets/images/costanera-encabezado-movil.webp')}.hero-copy{width:100%}.eyebrow{font-size:10px;letter-spacing:2px;gap:8px}.eyebrow:before,.eyebrow:after{width:25px}.hero-subtitle{font-size:20px}.names{max-width:300px;margin:auto;line-height:1.8}.hero-actions{gap:9px}.hero-actions .button{padding:12px 17px}.study{grid-template-columns:1fr}.study-copy{padding:30px 24px}.study-image{height:auto;aspect-ratio:1.46;min-height:0;object-position:center}.study-copy h2{font-size:40px}.practice{padding:25px 24px}.practice h2{font-size:31px;margin-bottom:24px}.practice-grid{grid-template-columns:1fr 1fr;gap:24px 0}.practice article{padding:0 12px}.practice article:nth-child(2n){border:0}.practice article:last-child{grid-column:1/-1;max-width:280px;justify-self:center}.practice p{font-size:15px}.section-label{font-size:10px;letter-spacing:2px}.centered{gap:10px}.centered:before,.centered:after{width:25px}.approach{padding:22px 24px}.approach-grid{grid-template-columns:1fr;gap:22px}.approach article{border-right:0;border-bottom:1px solid var(--color-border);padding-bottom:20px}.approach article:last-child{padding-bottom:0}.contact{grid-template-columns:1fr;gap:20px;padding:28px 24px}.contact h2{font-size:30px}address p{gap:15px;font-size:15px}.map{grid-column:auto;height:250px}form{padding:14px}input,textarea{font-size:16px;padding:10px}textarea{min-height:100px}footer{padding:15px 20px;gap:15px}footer>div{order:3;width:100%}footer nav{flex-wrap:wrap;justify-content:center;row-gap:12px}footer nav a+a{padding-left:10px}footer p{margin-top:16px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none}}

/* Campo antispam: no participa del diseño visible. */
.honeypot{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
button:disabled{opacity:.65;cursor:wait}
