:root{--paper:#f5fafa;--white:#fff;--ink:#253e50;--muted:#47606a;--deep:#087D83;--accent:#38b8b5;--line:#c5dbdc;--serif:Georgia,'Times New Roman',serif;--sans:system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:100px;scroll-padding-bottom:90px}
body{margin:0;background:var(--paper);color:var(--ink);font:1rem/1.65 var(--sans);}
a{color:var(--deep);text-decoration-thickness:1px;text-underline-offset:.25em}
a:focus-visible,summary:focus-visible{outline:3px solid #a44d15;outline-offset:4px}
img{display:block;width:100%;height:auto}
figure,p,h1,h2,h3{margin:0}
p+p{margin-top:1em}
.wrap{width:min(1200px,calc(100% - 96px));margin-inline:auto}
.skip{position:fixed;left:16px;top:12px;z-index:12;background:white;padding:12px;transform:translateY(-160%)}
.skip:focus{transform:none}
.site-header{background:#f9fcfc;border-bottom:1px solid var(--line)}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:80px}
.brand{display:inline-flex;align-items:center;gap:10px;color:var(--ink);font-weight:650;text-decoration:none;line-height:1.25}
.tree{width:41px;height:auto;mix-blend-mode:multiply}
nav{display:flex;gap:clamp(16px,2.5vw,36px);align-items:center}
nav a{min-height:44px;display:grid;align-items:center;text-decoration:none;color:var(--ink);position:relative;font-size:.93rem}
nav a[aria-current=page]::after{content:"";height:2px;position:absolute;bottom:3px;left:0;right:0;background:var(--deep)}
.hero{background:linear-gradient(105deg,#f5fafa 8%,#edf8f7 60%,#d8eff0 100%);border-bottom:1px solid var(--line);padding:58px 0 48px}
.hero-grid{display:grid;grid-template-columns:1.18fr .82fr;gap:clamp(32px,6vw,105px);align-items:center}
.eyebrow{font-size:.73rem;letter-spacing:.16em;text-transform:uppercase;font-weight:720;color:var(--deep);display:flex;align-items:center;gap:9px}
.eyebrow i{display:block;width:9px;height:9px;border-radius:50%;background:var(--accent);border:1px solid var(--deep);flex:none}
h1,h2,h3{font-family:var(--serif);font-weight:400;text-wrap:balance}
h1{font-size:clamp(3.2rem,6.8vw,6.6rem);line-height:.99;letter-spacing:-.067em;margin:20px 0 24px}
h1 em{color:var(--deep);font-weight:400}
h2{font-size:clamp(2.1rem,4.2vw,4rem);line-height:1.05;letter-spacing:-.05em;margin:14px 0 20px}
h3{font-size:clamp(1.36rem,2.1vw,1.86rem);line-height:1.12;letter-spacing:-.025em;margin-bottom:10px}
.lead,.section-lead{font-size:clamp(1.06rem,1.85vw,1.35rem);max-width:37ch;line-height:1.5}
.section-lead{max-width:53ch}
.actions{display:flex;gap:12px 20px;align-items:center;flex-wrap:wrap;margin-top:24px}
.button{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:46px;padding:8px 16px;border-radius:11px;font-weight:620;text-decoration:none;border:1px solid var(--deep);font-size:.91rem;transition:background .2s,color .2s}
.primary{background:var(--deep);color:white}
.primary:hover{background:#07686d}
.outline{background:var(--white);color:var(--deep)}
.outline:hover{background:#e2f5f3}
.text-link{font-weight:650;display:inline-flex;align-items:center;gap:8px;min-height:44px}
.portrait{position:relative;padding:0 0 0 12px;border-left:2px solid var(--accent)}
.portrait img{aspect-ratio: .93;object-fit:cover;object-position:center top;border-radius:2px 72px 2px 2px;background:#dbcdbb}
figcaption{padding:8px 0 0;font-size:.76rem;color:var(--muted)}
.portrait figcaption{display:flex;justify-content:space-between;gap:8px;border-bottom:1px solid #a3c7c7;padding-bottom:8px}
.section{padding-block:clamp(48px,7vw,104px)}
.split{display:grid;grid-template-columns:1fr 2.4fr;gap:20px 45px}
.split>.eyebrow{align-self:start;margin-top:21px}
.areas{background:#e8f5f5;border-block:1px solid var(--line)}
.area-grid{list-style:none;padding:0;margin:30px 0 0;display:grid;grid-template-columns:1fr 1fr;gap:0 42px}
.area-grid li{display:grid;grid-template-columns:28px 1fr;gap:12px;border-top:1px solid #a9c8ca;padding:22px 0}
.num{font-size:.74rem;font-weight:700;color:var(--deep);padding-top:4px}
.area-grid p,.feature p,.editorial p,.closing p,.split p:not(.eyebrow){max-width:60ch}
.feature{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,7vw,105px);align-items:center}
.office img{aspect-ratio:1.28;object-fit:cover;object-position:center 60%;border-radius:4px 44px 4px 4px}
.building img{aspect-ratio:.95;object-position:center 53%}
.editorial{background:#d6efef;padding:38px 0}
.editorial-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center}
.editorial img{aspect-ratio:2.2;object-fit:cover;object-position:50% 72%;border-radius:4px}
.closing .actions{margin-bottom:20px}
.inner h1{font-size:clamp(3rem,6vw,5.5rem)}
.inner+section{border-top:1px solid var(--line)}
address{font-style:normal;margin-top:22px;font-weight:650}
.small{font-size:.89rem;color:var(--muted)}
.map{padding:30px 0 60px}
summary{cursor:pointer;min-height:44px;padding:10px 0;font-weight:650;color:var(--deep)}
iframe{width:100%;height:350px;border:0}
footer{border-top:1px solid var(--line);background:#ecf7f7}
.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:95px;padding-block:14px}
.footer-inner p{font-size:.85rem}
.dock{position:fixed;z-index:5;right:24px;bottom:20px;display:flex;gap:7px;padding:6px;background:#f8ffff;border:1px solid var(--line);border-radius:11px;box-shadow:0 5px 20px #253e501a}
@media(max-width:850px){.wrap{width:calc(100% - 56px)}.hero-grid{gap:25px}.wide{display:none}}
@media(max-width:700px){
 html{scroll-padding-top:24px}
 .wrap{width:calc(100% - 40px)}
 .header-inner{display:block;padding-top:10px}
 .brand{min-height:40px;font-size:.9rem}.tree{width:34px}
 nav{justify-content:space-between;gap:8px}
 .hero{padding:33px 0 26px}.hero-grid,.split,.feature,.editorial-grid{grid-template-columns:1fr;gap:24px}
 h1{font-size:clamp(3.15rem,10.8vw,5rem);margin:15px 0 18px}
 .hero-copy .actions{margin-top:17px;gap:6px 15px}
 .portrait{padding-left:8px}.portrait img{aspect-ratio:1.18;border-top-right-radius:52px}
 .split>.eyebrow{margin:0}.split{gap:0}.area-grid{grid-template-columns:1fr;margin-top:20px}
 .area-grid li{padding:17px 0}.office{order:1}.office img{aspect-ratio:1.4}.building img{aspect-ratio:1.12}
 .footer-inner{display:block}.footer-inner p{margin-top:5px}
 .dock{right:0;left:0;bottom:0;border-radius:0;box-shadow:0 -3px 15px #253e5014;display:grid;grid-template-columns:1fr 1fr;padding:7px 12px calc(7px + env(safe-area-inset-bottom))}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
@media(prefers-reduced-motion:no-preference){.hero-copy,.portrait{animation:enter .48s ease-out both}@keyframes enter{from{opacity:.78;transform:translateY(8px)}to{opacity:1;transform:none}}}

.whatsapp{background:var(--accent);color:#172e3d;border-color:transparent}
.whatsapp:hover{background:#63cbc8}
.primary{border-color:transparent}
.eyebrow,.num{color:#07686d}
.actions+.small{margin-top:12px}
.office:not(.building) img{aspect-ratio:4/5;object-position:center 52%}
.process-next{border-top:1px solid var(--line)}
.reflections{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:48px clamp(28px,6vw,88px)}
.reflections article{border-top:1px solid var(--line);padding-top:20px}
.reflections h2{font-size:clamp(1.85rem,3vw,2.75rem);text-wrap:pretty}
.reflections article p:not(.eyebrow){max-width:52ch}
.reflection-question{font-family:var(--serif);font-style:italic;font-size:1.2rem;color:#07686d}
@media(max-width:700px){.reflections{grid-template-columns:1fr;gap:32px}.office:not(.building) img{aspect-ratio:4/5}}
.text-link,summary{color:#07686d}

/* Cabecera persistente en las cuatro páginas. */
.site-header{position:sticky;top:0;z-index:10}
@media(max-width:700px){
 html{scroll-padding-top:120px}
 .header-inner{padding-top:6px}
 .site-header .brand{min-height:36px}
 .site-header nav a{min-height:40px}
}

/* Inicio: fondos por franja y fotografía a borde completo. */
.home{background:#fff}
.home .hero{background:#DDF2F4}
.home .areas{background:#EDF3F0}
.home .editorial{background:#F6E8EF;padding:0}
.home .editorial-grid{grid-template-columns:1fr 1fr;gap:0;align-items:stretch}
.home .editorial-grid>div{padding:48px 48px 48px max(48px,calc((100vw - 1200px)/2));align-self:center}
.home .editorial-grid>img{width:100%;height:100%;min-height:330px;aspect-ratio:auto;object-fit:cover;object-position:center;border-radius:0}
@media(max-width:850px) and (min-width:701px){
 .home .editorial-grid>div{padding:38px 28px}
}
@media(max-width:700px){
 .home .editorial-grid{grid-template-columns:1fr}
 .home .editorial-grid>div{padding:36px 20px}
 .home .editorial-grid>img{height:auto;min-height:0;aspect-ratio:1.7;object-position:center}
}

.home .hero{border-bottom:0}
.home .areas{border-block:0}
footer{border-top:0;padding-bottom:48px}
@media(max-width:700px){footer{padding-bottom:calc(62px + env(safe-area-inset-bottom))}}
.contact-details{display:flex;flex-direction:column;align-items:flex-start;gap:4px;margin-top:20px}
.contact-details a{display:inline-flex;align-items:center;gap:10px;min-height:44px;max-width:100%;font-weight:500}
.contact-details a span{overflow-wrap:anywhere}
.contact-icon{color:#087D83;flex-shrink:0}
.contact-actions .primary .contact-icon{color:#fff}
.contact-actions .button{gap:9px}
