/* CAP.A landing. Edit values below to refine spacing. */
@font-face{font-family:Signifier;src:url('/signifier-regular.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:Aeroport;src:url('/aeroport-medium.woff2') format('woff2');font-weight:500;font-display:swap}
:root{--cream:#DFE5C6;--green:#368A50;--dark:#122922}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;background:var(--dark)}
body{color:var(--cream);-webkit-font-smoothing:antialiased}
.landing{position:relative;isolation:isolate;min-height:100svh;overflow:hidden;display:flex;flex-direction:column;padding:clamp(18px,2.1vw,34px) clamp(20px,2vw,36px) clamp(34px,6vh,72px)}
.background,.shade{position:absolute;inset:0;pointer-events:none;z-index:-1}
.background{background:url('/casa-centro-blur.webp') center 53% / cover no-repeat;transform:scale(1.025)}
.shade{background:linear-gradient(180deg,rgba(18,41,34,.14) 0%,rgba(18,41,34,.04) 35%,rgba(10,15,11,.35) 100%)}
.masthead{width:100%}
.logo{display:block;width:100%;height:auto;max-height:25vh;object-fit:fill}
.details{width:min(74%,1000px);margin:auto 0 0 16.2%;padding-top:12vh}
.intro{margin:0;max-width:960px;font-family:Signifier,Georgia,'Times New Roman',serif;font-size:clamp(24px,2.25vw,37px);font-weight:400;line-height:1.18;letter-spacing:-.012em;text-wrap:pretty}
.contact{display:flex;flex-direction:column;align-items:flex-start;gap:8px;margin-top:clamp(32px,5vh,70px);font-family:Aeroport,Arial,sans-serif;font-weight:500;font-size:clamp(16px,1.35vw,21px);line-height:1.4}
.contact a{color:var(--cream);text-decoration:none;transition:color .18s ease,text-decoration-color .18s ease;overflow-wrap:anywhere}
.contact a:hover,.contact a:focus-visible{color:var(--green);text-decoration:underline;text-underline-offset:4px}
.contact a:focus-visible{outline:2px solid var(--cream);outline-offset:5px}
@media(max-width:1199px){.landing{padding:22px 24px 46px}.details{width:min(88%,820px);margin-left:5%;padding-top:10vh}.intro{font-size:clamp(22px,2.65vw,30px)}.contact{font-size:18px}}
@media(max-width:809px){.landing{min-height:100svh;padding:18px 20px max(40px,env(safe-area-inset-bottom))}.background{background-position:54% center}.logo{max-height:none}.details{margin:auto 0 0 8%;width:88%;padding-top:24vh}.intro{font-size:clamp(18px,4.6vw,23px);line-height:1.25}.contact{margin-top:clamp(34px,6vh,62px);font-size:clamp(15px,4vw,18px);gap:10px}}
@media(max-height:620px){.landing{min-height:620px}.details{padding-top:60px}}
@media(prefers-reduced-motion:reduce){.contact a{transition:none}}
