/* Hallmark · macrostructure: photographic editorial sequence · theme: Villa Isabel brand
 * Portrait opening · paired house photographs and facts · event split · panoramic surroundings · photographic contact.
 * Pre-emit critique: P4 H4 E4 S4 R4 V5. Existing routes, copy, brand and approved header preserved.
 */
.section-name,.introduction-copy .hero-name{font-family:var(--font-body);font-size:.8125rem;font-weight:500;line-height:1.4;letter-spacing:.06em;color:var(--color-muted)}
.button{min-height:56px;padding:var(--space-4) var(--space-6);font-size:.875rem}
.text-link{font-size:.875rem;min-height:44px}

/* Logo, visit details and primary action form one group over the opening photo. */
.hero-identity{position:absolute;inset-inline:var(--gutter);top:50%;transform:translateY(-50%);display:flex;flex-direction:column;align-items:center;gap:var(--space-2);z-index:2;pointer-events:none}
.hero-logo-target{width:100%;height:calc(96px * 2.8);flex-shrink:0}
.hero .hero-foot{display:flex;flex-direction:column;align-items:center;justify-content:center;flex-wrap:nowrap;gap:var(--space-3);width:100%;padding:0;border:0;color:var(--color-ivory);text-align:center;pointer-events:auto;--color-focus:var(--color-ivory)}
.hero .hero-foot>p:first-child{font-size:.6875rem;letter-spacing:.14em}
.hero .hero-foot>p:nth-child(2){display:block;font-size:.875rem;letter-spacing:.02em;line-height:1.5}
.hero .hero-foot p span{margin-inline:var(--space-2);color:inherit}
.hero .hero-foot .button{background:var(--color-ivory);color:var(--color-green);margin-top:var(--space-3);min-height:56px;padding:var(--space-4) var(--space-6);font-size:.875rem}
.hero .hero-foot .button:hover{background:var(--color-white)}
@media(max-width:950px){
 .hero-stage{height:640px}
 .hero-logo-target{height:calc(94px * 2.5)}
}
@media(max-width:700px){
 .hero-stage{height:clamp(540px,90svh,680px)}
 .hero-logo-target{height:calc(92px * 1.85)}
 .hero .hero-foot>p:nth-child(2){font-size:clamp(.65625rem,2.8vw,.8125rem)}
 .hero .hero-foot p span{margin-inline:var(--space-1)}
 .hero .hero-foot .button{font-size:.8125rem;padding-inline:var(--space-5)}
}

/* One dominant heading; body copy consistently returns to the reading face. */
.introduction.section-wrap{grid-template-columns:minmax(0,1.3fr) minmax(0,.85fr);gap:var(--space-20);padding-block:var(--space-24)}
.introduction-copy{padding-block:var(--space-6);justify-content:center}
.introduction-copy .hero-name{margin-bottom:var(--space-6)}
.introduction-copy h1{font-size:clamp(3.8rem,6.2vw,5.75rem);line-height:.98;letter-spacing:-.035em;max-width:18ch;color:var(--color-ink);text-wrap:balance}
.introduction-copy .introduction-description{font-family:var(--font-body);font-size:1.0625rem;line-height:1.8;color:var(--color-ink);max-width:49ch;margin:var(--space-8) 0 0}
.introduction-copy>.button{margin-top:var(--space-8);min-width:208px;background:transparent;color:var(--color-green);border:var(--rule-width) solid var(--color-green)}
.introduction-photo{width:100%;min-height:0;aspect-ratio:.73;align-self:center}
.introduction-photo img{object-position:52% 45%}

/* The house is a photographic group, with the factual information on its own rail. */
.house.organized-section{padding-block:var(--space-24);background:var(--color-white)}
.house .section-heading{margin-bottom:var(--space-6)}
.house .section-heading h2{font-size:clamp(2.8rem,4.6vw,4rem);line-height:1.05;max-width:none;color:var(--color-ink);text-wrap:balance}
.house-description{font-size:1.0625rem;line-height:1.8;max-width:66ch}
.house-gallery{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);gap:var(--space-6);height:clamp(360px,34vw,480px);margin-top:var(--space-10)}
.house-gallery figure{position:relative;min-width:0;overflow:hidden}
.house-gallery img{width:100%;height:100%;object-fit:cover;filter:var(--photo-tone)}
.house-photo-main img{object-position:50% 55%}
.house-photo-detail img{object-position:62% 50%}
.house-gallery .photo-label{left:var(--space-4);right:auto;bottom:var(--space-4);max-width:calc(100% - var(--space-8))}
.house-footer{display:flex;align-items:center;justify-content:space-between;gap:var(--space-10);border-bottom:var(--rule-width) solid var(--color-line);padding-block:var(--space-8)}
.house-footer .house-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-8);width:68%;max-width:720px;padding:0;margin:0;border:0}
.house-footer .house-facts>p{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-2)}
.house-footer .fact-number{font-size:4rem;line-height:1;color:var(--color-green)}
.house-footer .house-facts>p>span:last-child{font-size:.8125rem;line-height:1.4}
.house-footer>.text-link{flex-shrink:0;margin:0}
.house>.section-wrap>.small-note{font-size:.75rem;margin-top:var(--space-3)}

/* Events retain the requested split; the type has greater presence and a readable measure. */
.events.organized-section{min-height:680px}
.events-split-panel{padding:var(--space-20) clamp(40px,5.5vw,112px)}
.events-split-content{max-width:440px}
.events-split-content>.section-name{font-size:.8125rem;color:var(--color-on-green)}
.events-split-content h2{font-size:clamp(3rem,4.7vw,4rem);line-height:1.02;letter-spacing:-.025em;text-wrap:balance}
.events-description{font-size:1.0625rem;line-height:1.8;margin-top:var(--space-8)}
.events-split-content .event-details{margin-top:var(--space-8)}
.events-split-content .events-discover{min-height:56px;border-radius:0;font-size:.875rem}

/* An open landscape breaks the repeated photo-and-text columns. */
.surroundings.organized-section{padding-block:var(--space-24);background:var(--color-white)}
.surroundings .section-heading{text-align:center;max-width:840px;margin:0 auto var(--space-12)}
.surroundings .section-heading h2{font-size:clamp(2.8rem,4.6vw,4rem);line-height:1.05;max-width:22ch;margin-inline:auto;color:var(--color-ink);text-wrap:balance}
.golf-panorama{position:relative;width:100%;height:clamp(360px,44vw,600px)}
.golf-panorama img{width:100%;height:100%;object-fit:cover;object-position:50% 42%;filter:var(--photo-tone)}
.golf-panorama .photo-label{left:var(--gutter);right:auto;bottom:var(--space-6)}
.golf-details{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:var(--space-24);align-items:start;padding-top:var(--space-10)}
.golf-description{font-size:1.125rem;line-height:1.8;max-width:57ch}
.golf-caution .club-note{font-size:.875rem;line-height:1.7;color:var(--color-muted);max-width:49ch;margin:0}
.golf-caution .text-link{margin-top:var(--space-4)}

/* Photographic close: motion stays behind the content and never affects its geometry. */
.contact{position:relative;isolation:isolate;overflow:clip;background:var(--color-green);color:var(--color-ivory);--color-focus:var(--color-ivory)}
.contact-backdrop{position:absolute;inset:-240px 0;z-index:-2;pointer-events:none;transform:translate3d(0,var(--contact-drift,0px),0)}
.contact-backdrop img{width:100%;height:100%;object-fit:cover;object-position:50% 68%}
.contact::before{content:"";position:absolute;inset:0;background:var(--color-contact-shade);z-index:-1;pointer-events:none}
.contact-inner.section-wrap{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);align-items:center;gap:var(--space-24);max-width:1180px;min-height:560px;padding-block:var(--space-24);text-align:left}
.contact-intro,.contact-action{min-width:0}
.contact .section-name{color:var(--color-ivory)}
.contact h2{font-size:clamp(3rem,5.8vw,5.25rem);line-height:1.02;letter-spacing:-.03em;max-width:16ch;color:var(--color-ivory);text-wrap:balance}
.contact-action .contact-copy{font-size:1.0625rem;line-height:1.8;max-width:45ch;margin:0 0 var(--space-8);color:var(--color-ivory)}
.contact-action .button{max-width:100%;background:var(--color-ivory);color:var(--color-green)}
.contact-action .button:hover{background:var(--color-white)}
.contact-photo-credit{position:absolute;bottom:var(--space-5);left:var(--gutter);right:var(--gutter);font-size:.6875rem;line-height:1.5;color:var(--color-ivory)}
@media(max-width:950px),(prefers-reduced-motion:reduce){.contact-backdrop{inset:0;transform:none}}

/* Footer: brand and one navigation line, then a separate legal row. */
.site-footer .footer-navigation{display:grid;grid-template-columns:180px minmax(0,1fr);align-items:center;gap:var(--space-16);padding-block:var(--space-12);border-top:0;border-bottom:var(--rule-width) solid var(--color-footer-rule)}
.site-footer .footer-brand{width:180px;max-width:100%;margin:0}
.site-footer .footer-nav{display:flex;flex-wrap:nowrap;align-items:center;justify-content:flex-end;gap:var(--space-8);width:100%;min-width:0;max-width:none;font-size:.875rem;overflow-x:auto;overflow-y:hidden;scrollbar-width:thin;scrollbar-color:var(--color-sand) transparent}
.site-footer .footer-nav>a{flex:0 0 auto}
.site-footer .footer-legal{padding-top:var(--space-5)}
.site-footer .prototype-note{font-size:.6875rem;margin-top:var(--space-3)}
@media(max-width:950px){
 .site-footer .footer-navigation{grid-template-columns:minmax(0,1fr);gap:var(--space-6)}
 .site-footer .footer-nav{justify-content:flex-start;font-size:.875rem;gap:var(--space-8);padding-bottom:var(--space-2)}
}
@media(max-width:700px){
 .site-footer .footer-navigation{gap:var(--space-8);padding-block:var(--space-10) var(--space-8)}
 .site-footer .footer-brand{width:164px;grid-column:1;grid-row:1}
 .site-footer .footer-nav{grid-column:1;grid-row:2;gap:var(--space-6);font-size:.875rem}
 .site-footer .footer-legal-links{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--space-1) var(--space-4);width:100%;margin-top:var(--space-3)}
 .site-footer .footer-legal button{font-size:.6875rem;justify-self:start;text-align:left}
 .site-footer .prototype-note{margin-top:var(--space-4)}
}

@media(max-width:1000px){
 .introduction.section-wrap{gap:var(--space-10);padding-block:var(--space-20)}
 .introduction-copy h1{font-size:clamp(3.2rem,6.2vw,4rem)}
 .introduction-copy .introduction-description{font-size:1rem}
 .introduction-photo{aspect-ratio:.62}
 .house.organized-section,.surroundings.organized-section{padding-block:var(--space-20)}
 .house-footer{gap:var(--space-6)}
 .house-footer .house-facts{width:65%;gap:var(--space-4)}
 .house-footer .fact-number{font-size:3.5rem}
 .house-footer>.text-link{font-size:.8125rem;gap:var(--space-4)}
 .golf-details,.contact-inner.section-wrap{gap:var(--space-12)}
 .events-split-panel{padding:var(--space-16) var(--space-10)}
 .events-split-content h2{font-size:clamp(2.8rem,4.8vw,3.5rem)}
 .events-description{font-size:1rem}
 .contact-action .button{font-size:.8125rem;padding-inline:var(--space-4);gap:var(--space-4)}
}
@media(max-width:700px){
 .section-name,.introduction-copy .hero-name{font-size:.75rem}
 .introduction.section-wrap{grid-template-columns:minmax(0,1fr);gap:var(--space-10);padding-block:var(--space-16)}
 .introduction-copy{padding:0}
 .introduction-copy h1{font-size:clamp(3rem,12vw,4.25rem);line-height:1.01;max-width:18ch}
 .introduction-copy .introduction-description{font-size:1rem;line-height:1.8;margin-top:var(--space-6)}
 .introduction-copy>.button{margin-top:var(--space-6)}
 .introduction-photo{width:100%;aspect-ratio:1.05}
 .house.organized-section,.surroundings.organized-section{padding-block:var(--space-16)}
 .house .section-heading h2,.surroundings .section-heading h2{font-size:clamp(2.5rem,9vw,3.5rem);line-height:1.05}
 .house-description{font-size:1rem;line-height:1.8}
 .house-gallery{grid-template-columns:minmax(0,1fr);height:auto;gap:var(--space-4);margin-top:var(--space-8)}
 .house-photo-main{aspect-ratio:1.25}
 .house-photo-detail{aspect-ratio:1.65}
 .house-gallery .photo-label{left:var(--space-3);bottom:var(--space-3);font-size:.625rem}
 .house-footer{display:block;padding-block:var(--space-6)}
 .house-footer .house-facts{width:100%;gap:var(--space-4)}
 .house-footer .fact-number{font-size:3rem}
 .house-footer .house-facts>p>span:last-child{font-size:.75rem}
 .house-footer>.text-link{margin-top:var(--space-6)}
 .events.organized-section{min-height:0}
 .events-split-panel{padding:var(--space-12) var(--gutter) var(--space-16)}
 .events-split-content h2{font-size:clamp(2.6rem,9.5vw,3.5rem);line-height:1.05}
 .events-description{font-size:1rem;margin-top:var(--space-6)}
 .surroundings .section-heading{text-align:left;margin-bottom:var(--space-8)}
 .surroundings .section-heading h2{max-width:18ch;margin:0}
 .golf-panorama{height:320px}
 .golf-panorama img{object-position:54% 50%}
 .golf-panorama .photo-label{bottom:var(--space-4);font-size:.625rem;max-width:calc(100% - var(--gutter)*2)}
 .golf-details{grid-template-columns:minmax(0,1fr);gap:var(--space-6);padding-top:var(--space-8)}
 .golf-description{font-size:1.0625rem;line-height:1.8}
 .golf-caution{border-top:var(--rule-width) solid var(--color-line);padding-top:var(--space-6)}
 .golf-caution .club-note{font-size:.8125rem}
 .contact-inner.section-wrap{grid-template-columns:minmax(0,1fr);gap:var(--space-8);min-height:0;padding-block:var(--space-20) var(--space-24)}
 .contact h2{font-size:clamp(2.8rem,10.5vw,4rem);line-height:1.04;max-width:17ch}
 .contact-action .contact-copy{font-size:1rem;line-height:1.8;margin-bottom:var(--space-6)}
 .contact-action .button{font-size:.8125rem;padding-inline:var(--space-5);gap:var(--space-4)}
 .contact-backdrop img{object-position:38% 70%}
 .contact-photo-credit{font-size:.625rem;bottom:var(--space-5)}
}

/* Home only: section links replace secondary panels. */
#galeria{scroll-margin-top:calc(var(--header-height) + var(--space-6))}
.event-contact-link{margin-top:var(--space-8)}
.site-footer .footer-legal-links>span{display:flex;align-items:center;min-height:44px;white-space:nowrap;line-height:1.6;font-size:inherit}
@media(max-width:700px){.site-footer .footer-legal-links>span{font-size:.6875rem;text-align:left}}
