/* Hallmark · pre-emit critique: P5 H5 E4 S5 R5 V4
 * Organization pass: one named section, one headline, one image and one text column.
 * Shared widths and spacing establish clear reading order. Official brand and approved copy retained.
 */
html{scroll-padding-top:128px}
.site-header{position:sticky;top:0;z-index:10;height:104px;max-width:none;background:var(--color-ivory);grid-template-columns:minmax(0,1fr) 240px minmax(0,1fr);border-bottom:1px solid var(--color-line)}
.brand{height:96px}.brand img{width:285px;top:-23px}
.desktop-nav{gap:clamp(22px,2.5vw,40px);font-size:.75rem;letter-spacing:.04em}
.desktop-nav button{text-transform:inherit;letter-spacing:inherit}
.nav-contact{border:0}
.hero-stage{height:clamp(440px,46vw,640px)}
.hero-photo img{object-position:50% 53%;filter:var(--hero-photo-tone)}
.hero-foot{border-bottom:1px solid var(--color-line);padding-block:20px;gap:24px}
.hero-foot>p:nth-child(2){font-size:.6875rem;letter-spacing:.025em}
.button{min-height:50px;padding:16px 22px;font-size:.8125rem;letter-spacing:0}
.text-link{font-size:.8125rem;letter-spacing:0;gap:28px;padding-block:12px;border-color:currentColor}
.photo-label{font-size:.6875rem;letter-spacing:0}
.section-wrap{max-width:1180px}

/* The introduction is one typographic block, separate from the house section. */
.introduction{display:block;padding-block:80px 88px;text-align:center;border:0;max-width:960px}
.introduction h1{font-size:clamp(3rem,4.3vw,4rem);line-height:1.08;letter-spacing:-.025em;max-width:820px;margin-inline:auto}
.hero-name{display:block;font-size:.875rem;font-family:var(--font-body);letter-spacing:.03em;margin-bottom:24px}
.introduction>p{font-size:1rem;line-height:1.85;max-width:65ch;margin:28px auto 20px}
.introduction>.text-link{margin-top:0}

/* All three main sections use the same header and aligned content row. */
.organized-section{padding-block:80px 88px}
.house,.surroundings{background:var(--color-white)}
.section-heading{display:block;margin-bottom:36px}
.section-name{font-size:.875rem;font-weight:500;line-height:1.4;letter-spacing:.04em;margin-bottom:14px;color:var(--color-muted)}
.section-heading h2{font-size:clamp(2.6rem,3.7vw,3.5rem);line-height:1.12;letter-spacing:-.025em;max-width:1000px}
.section-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:7%;align-items:center}
.section-photo{position:relative;min-width:0;aspect-ratio:1.22}
.section-photo img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;filter:var(--photo-tone)}
.house .section-photo img{object-position:50% 53%}
.section-photo .photo-label{left:16px;right:auto;bottom:16px;max-width:calc(100% - 32px)}
.section-copy{min-width:0}
.section-copy>p:first-child{font-size:1rem;line-height:1.85;max-width:49ch}
.section-copy>.text-link{margin-top:24px}
.house-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;border-top:1px solid var(--color-line);border-bottom:0;margin-top:28px;padding:22px 0 0;align-items:start}
.house-facts>p{display:flex;flex-direction:column;gap:7px;align-items:flex-start;line-height:1.3}
.fact-number{font-size:2rem;line-height:1;font-family:var(--font-display);color:var(--color-green)}
.house-facts>p>span:last-child{font-size:.75rem}
.section-copy>.small-note{font-size:.75rem;line-height:1.7;margin-top:18px;max-width:56ch}
.events{background:var(--color-green);color:var(--color-ivory);--color-focus:var(--color-sand)}
.events .section-name{color:var(--color-on-green)}
.events h2{color:var(--color-ivory);font-size:clamp(2.6rem,3.7vw,3.5rem)}
.events .section-copy>p{color:var(--color-on-green)}
.events .section-photo img{object-position:50% 66%}
.event-details{margin-top:24px}
.event-details summary{width:auto;max-width:230px}
.event-details-content{font-size:.875rem;max-width:48ch}
.event-details-content p{line-height:1.8}
.surroundings .section-photo img{object-position:50% 50%}
.section-copy>.club-note{font-size:.8125rem;border-top:1px solid var(--color-line);padding-top:20px;margin-top:24px}

/* Contact has one clear action and a visible boundary before the footer. */
.contact{background:var(--color-ivory);color:var(--color-ink)}
.contact-inner{display:block;max-width:900px;text-align:center;padding-block:80px}
.contact h2{font-size:clamp(2.6rem,3.7vw,3.5rem);color:var(--color-green);line-height:1.12;letter-spacing:-.025em}
.contact-copy{max-width:59ch;font-size:1rem;line-height:1.85;margin:26px auto 28px;color:var(--color-ink)}
.contact-location{font-size:.75rem;color:var(--color-muted);margin-top:24px;letter-spacing:0}
.site-footer{border-top:1px solid var(--color-line)}
.footer-main{min-height:156px;padding-block:20px;gap:48px}
.footer-main>p{font-size:1.5rem;line-height:1.15}
.footer-brand{width:180px;height:104px}.footer-brand img{width:285px;top:-20px}
.footer-legal{padding-top:14px}.footer-legal button{min-height:44px;font-size:.75rem}
.prototype-note{font-size:.6875rem;max-width:105ch;line-height:1.7}

@media(min-width:1600px){.hero-stage{max-width:none}}
@media(max-width:1100px){.site-header{grid-template-columns:minmax(0,1fr) 200px minmax(0,1fr)}.desktop-nav{gap:20px;font-size:.6875rem}.section-row{gap:6%}.section-photo{aspect-ratio:1.08}}
@media(max-width:950px){
 html{scroll-padding-top:112px}
 .site-header{height:96px;grid-template-columns:minmax(0,1fr) auto}
 .brand{height:94px;width:200px;margin-left:-12px}
 .hero-stage{height:480px}
 .hero-foot>p:nth-child(2){display:none}
 .organized-section{padding-block:64px 72px}
 .section-photo{aspect-ratio:.9}
 .section-copy>p:first-child{font-size:.9375rem}
 .section-heading h2,.events h2{font-size:2.75rem}
 .house-facts{gap:12px}
 .house-facts>p>span:last-child{font-size:.6875rem}
}
@media(max-width:700px){
 html{scroll-padding-top:108px}
 .site-header{height:92px}
 .brand{width:180px;height:92px;margin-left:-18px}.brand img{width:270px;top:-20px}
 .hero-stage{height:clamp(300px,88vw,430px)}
 .hero-photo img{object-position:65% 54%}
 .hero-foot{padding-block:18px;gap:16px}.hero-foot .button{font-size:.75rem;min-height:48px;padding:15px 18px}
 .introduction{padding-block:48px 56px;text-align:left}
 .introduction h1{font-size:clamp(2.6rem,8.1vw,3.5rem);line-height:1.08}
 .hero-name{font-size:.8125rem;margin-bottom:20px}
 .introduction>p{font-size:.9375rem;line-height:1.8;margin:24px 0 20px;max-width:60ch}
 .organized-section{padding-block:48px 56px}
 .section-heading{margin-bottom:28px}
 .section-name{font-size:.8125rem;letter-spacing:.025em;margin-bottom:12px}
 .section-heading h2,.events h2{font-size:clamp(2.4rem,7.5vw,3rem);line-height:1.12}
 .section-row{display:flex;flex-direction:column;gap:28px;align-items:stretch}
 .section-photo{width:100%;aspect-ratio:1.15;order:0}
 .section-copy{order:1}
 .section-copy>p:first-child{font-size:.9375rem;line-height:1.8;max-width:60ch}
 .section-photo .photo-label{left:12px;bottom:12px;max-width:calc(100% - 24px);font-size:.625rem}
 .house-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding-top:20px;margin-top:24px;gap:12px}
 .house-facts>p{display:flex;flex-direction:column;gap:7px;align-items:flex-start}
 .fact-number{font-size:1.9rem}
 .house-facts>p>span:last-child{font-size:.6875rem}
 .section-copy>.small-note{font-size:.75rem;max-width:60ch}
 .section-copy>.text-link{margin-top:20px}
 .section-copy>.club-note{font-size:.75rem}
 .event-details{margin-top:20px}
 .contact-inner{padding-block:48px 56px;text-align:left}
 .contact h2{font-size:clamp(2.4rem,7.5vw,3rem)}
 .contact-copy{max-width:60ch;font-size:.9375rem;margin:24px 0 26px;line-height:1.8}
 .contact-location{font-size:.6875rem;margin-top:24px}
 .footer-main{gap:12px 24px;min-height:0;padding-block:24px}
 .footer-brand{width:152px;height:96px;margin-left:-22px}.footer-brand img{width:270px;top:-18px}
 .footer-main>p{font-size:1.35rem}.footer-top{margin-top:8px}
 .footer-legal button{font-size:.6875rem}.prototype-note{font-size:.625rem}
}
@media(max-width:374px){.hero-foot .button{font-size:.6875rem;gap:16px;padding-inline:14px}.footer-main>p{font-size:1.2rem}}

/* Events: the supplied reference's equal photo/panel split, in Villa Isabel's green. */
.events.organized-section{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);padding:0;min-height:640px}
.events-split-photo{position:relative;min-width:0;margin:0}
.events-split-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 62%;filter:var(--photo-tone)}
.events-split-photo .photo-label{left:20px;right:auto;bottom:20px;max-width:calc(100% - 40px)}
.events-split-panel{display:flex;align-items:center;justify-content:center;padding:72px clamp(40px,6vw,130px)}
.events-split-content{width:100%;max-width:430px}
.events-split-content>.section-name{margin-bottom:18px}
.events-split-content h2{font-size:clamp(2.8rem,4vw,3.65rem);line-height:1.08;letter-spacing:-.025em}
.events-description{margin-top:24px;font-size:1rem;line-height:1.85;color:var(--color-on-green)}
.events-split-content .event-details{margin-top:30px}
.events-split-content .events-discover{display:inline-flex;justify-content:center;gap:22px;width:auto;max-width:100%;min-height:50px;padding:16px 24px;background:var(--color-ivory);color:var(--color-green);border:0;border-radius:4px;font-size:.8125rem;white-space:nowrap;list-style:none}
.events-discover::-webkit-details-marker{display:none}
.events-discover:active{transform:translateY(1px)}
.events-split-content .event-details-content{padding-top:24px;color:var(--color-on-green)}
@media(min-width:1600px){.events.organized-section{min-height:720px}}
@media(max-width:950px){.events.organized-section{min-height:600px}.events-split-panel{padding:56px 36px}.events-split-content h2{font-size:2.8rem}.events-description{font-size:.9375rem}}
@media(max-width:700px){
 .events.organized-section{grid-template-columns:minmax(0,1fr);min-height:0}
 .events-split-photo{aspect-ratio:1.18}
 .events-split-photo img{object-position:50% 66%}
 .events-split-photo .photo-label{left:12px;bottom:12px;max-width:calc(100% - 24px);font-size:.625rem}
 .events-split-panel{padding:44px var(--gutter) 52px;justify-content:flex-start}
 .events-split-content{max-width:none}
 .events-split-content>.section-name{margin-bottom:14px}
 .events-split-content h2{font-size:clamp(2.4rem,7.5vw,3rem);line-height:1.12}
 .events-description{font-size:.9375rem;line-height:1.8;max-width:60ch;margin-top:24px}
 .events-split-content .event-details{margin-top:26px}
}
@media(prefers-reduced-motion:reduce){.events-discover:active{transform:none}}

/* Header: transparent over the opening photograph, solid while scrolling or using the mobile menu.
 * The negative logo is a separate white SVG retaining the original logo geometry.
 * Hallmark · component review: P5 H5 E5 S5 R5 V4.
 */
.site-header{position:fixed;inset:0 0 auto;width:100%;height:var(--header-height);background:transparent;border:0;isolation:isolate;color:var(--color-green)}
.site-header::before{content:'';position:absolute;inset:0;z-index:-1;background:var(--color-ivory);border-bottom:var(--rule-width) solid var(--color-line);opacity:1}
.site-header.header-overlay{color:var(--color-white);--color-focus:var(--color-white)}
.site-header.header-overlay::before{opacity:0}
.brand-negative{display:none}
.header-overlay .brand-original{display:none}
.header-overlay .brand-negative{display:block}
.site-header .desktop-nav a:hover,.site-header .desktop-nav button:hover{color:inherit;text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px}
.desktop-nav a:active,.desktop-nav button:active,.menu-toggle:active{opacity:.75}
.menu-lines,.menu-toggle[aria-expanded=true] .menu-lines::after{border-color:currentColor}
.hero-stage{height:calc(clamp(440px,46vw,640px) + var(--header-height))}
.hero-stage::after{content:'';position:absolute;inset:0 0 auto;height:calc(var(--header-height) + 112px);background:linear-gradient(to bottom,var(--color-header-shade) 0,var(--color-header-shade-mid) var(--header-height),var(--color-header-shade-clear) 100%);pointer-events:none}
.hero-photo .photo-label{top:auto;bottom:20px;z-index:1}
#inicio{scroll-margin-top:0}
@media(max-width:950px){
 :root{--header-height:96px}
 .hero-stage{height:calc(480px + var(--header-height))}
 .mobile-menu{color:var(--color-green)}
}
@media(max-width:700px){
 :root{--header-height:92px}
 .hero-stage{height:calc(clamp(300px,88vw,430px) + var(--header-height))}
 .hero-photo .photo-label{bottom:12px;right:12px}
}

/* Introduction: the supplied reference's left-aligned copy, separate action and portrait photograph.
 * Hallmark · pre-emit critique: P5 H5 E5 S5 R5 V4. Brand and supplied copy retained.
 */
.introduction.section-wrap{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(48px,7vw,104px);align-items:stretch;max-width:1180px;padding-block:var(--space-20);text-align:left}
.introduction-copy{display:flex;flex-direction:column;align-items:flex-start;min-width:0;margin:0;padding-block:var(--space-8)}
.introduction-copy .hero-name{font-family:var(--font-display);font-size:1.5rem;line-height:1.2;letter-spacing:0;color:var(--color-green);margin:0 0 var(--space-6)}
.introduction-copy h1{font-size:clamp(3rem,4.2vw,4rem);line-height:1.06;letter-spacing:-.025em;max-width:none;margin:0}
.introduction-copy .introduction-description{font-family:var(--font-display);font-size:clamp(1.5rem,2vw,1.75rem);line-height:1.4;color:var(--color-green);max-width:48ch;margin:var(--space-6) 0 var(--space-12)}
.introduction-copy>.button{justify-content:center;min-width:192px;margin-top:auto;white-space:nowrap}
.introduction-photo{position:relative;min-width:0;aspect-ratio:.78}
.introduction-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:52% 50%;filter:var(--photo-tone)}
.introduction-photo .photo-label{left:var(--space-4);right:auto;bottom:var(--space-4);max-width:calc(100% - var(--space-8))}
@media(max-width:950px) and (min-width:701px){
 .introduction.section-wrap{gap:var(--space-10);padding-block:var(--space-16)}
 .introduction-copy{padding-block:var(--space-4)}
 .introduction-copy h1{font-size:clamp(2.6rem,5vw,3rem)}
 .introduction-copy .introduction-description{font-size:1.375rem;line-height:1.4;margin-bottom:var(--space-8)}
 .introduction-photo{aspect-ratio:auto;min-height:600px}
}
@media(max-width:700px){
 .introduction.section-wrap{grid-template-columns:minmax(0,1fr);gap:var(--space-10);padding-block:var(--space-12) var(--space-16)}
 .introduction-copy{padding:0}
 .introduction-copy .hero-name{font-size:1.25rem;margin-bottom:var(--space-5)}
 .introduction-copy h1{font-size:clamp(2.6rem,8.1vw,3.5rem);line-height:1.08;max-width:18ch}
 .introduction-copy .introduction-description{font-size:1.375rem;line-height:1.4;margin:var(--space-6) 0 var(--space-8);max-width:60ch}
 .introduction-copy>.button{margin-top:0}
 .introduction-photo{width:100%;aspect-ratio:.88}
 .introduction-photo .photo-label{left:var(--space-3);bottom:var(--space-3);font-size:.625rem}
}

/* The same logo moves from the photograph's centre into its navigation slot.
 * Only transform and opacity animate. The official SVG geometry stays intact.
 * Hallmark · component review: P5 H5 E5 S5 R5 V4.
 */
.site-header .brand{transform-origin:center;transform:translate(0,0) scale(1);transition:transform var(--dur-short) var(--ease-out)}
.site-header .brand-original,.site-header .brand-negative{display:block;transition:opacity var(--dur-short) var(--ease-out)}
.site-header .brand-original{opacity:1}
.site-header .brand-negative{opacity:0}
.site-header.header-overlay .brand{transform:translate(var(--brand-hero-x,0px),var(--brand-hero-y,0px)) scale(2.8)}
.site-header.header-overlay .brand-original{opacity:0}
.site-header.header-overlay .brand-negative{opacity:1}
.site-header:not(.header-ready) .brand,.site-header:not(.header-ready) .brand img{transition:none}
.site-header:has(.menu-toggle[aria-expanded=true]) .brand{transition:none}
@media(max-width:950px){.site-header.header-overlay .brand{transform:translate(var(--brand-hero-x,0px),var(--brand-hero-y,0px)) scale(2.5)}}
@media(max-width:700px){.site-header.header-overlay .brand{transform:translate(var(--brand-hero-x,0px),var(--brand-hero-y,0px)) scale(1.85)}}

/* The central shade protects the complete white logo, including the small descriptor.
 * Its 24–80% plateau also covers the first 24px of scroll before the logo docks.
 * Hallmark · contrast refinement: P5 H5 E5 S5 R5 V4.
 */
.hero-stage::after{height:100%;background:linear-gradient(to bottom,var(--color-header-shade) 0,var(--color-header-shade-mid) var(--header-height),var(--color-header-shade-clear) calc(var(--header-height) + 112px)),linear-gradient(to bottom,var(--color-header-shade-clear) 0%,var(--color-logo-scrim) 24%,var(--color-logo-scrim) 80%,var(--color-header-shade-clear) 100%)}

/* Footer: a full-width brand closing, followed by one navigation row and a separate legal band.
 * Hallmark · component review: P5 H5 E5 S5 R5 V4. Existing brand, copy and destinations retained.
 */
.site-footer{background:var(--color-green);color:var(--color-ivory);border:0;padding:0;--color-focus:var(--color-ivory)}
.site-footer .footer-inner{padding-bottom:var(--space-8)}
.site-footer .footer-main{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);align-items:center;gap:var(--space-24);min-height:0;padding-block:var(--space-16) var(--space-12)}
.site-footer .footer-identity{min-width:0}
.site-footer .footer-brand{display:block;position:static;overflow:visible;width:clamp(200px,20vw,264px);height:auto;margin:0;flex-shrink:0}
.site-footer .footer-brand img{position:static;display:block;width:100%;max-width:100%;height:auto;transform:none}
.site-footer .footer-location{font-size:.8125rem;line-height:1.6;letter-spacing:.04em;color:var(--color-on-green);margin-top:var(--space-6)}
.site-footer .footer-statement{font-family:var(--font-display);font-size:clamp(2.4rem,4vw,3.5rem);line-height:1.12;letter-spacing:-.025em;color:var(--color-ivory);margin:0;min-width:0;overflow-wrap:anywhere}
.site-footer .footer-navigation{display:flex;align-items:center;justify-content:space-between;gap:var(--space-8);padding-block:var(--space-6);border-block:var(--rule-width) solid var(--color-footer-rule)}
.site-footer .footer-nav{display:flex;align-items:center;gap:clamp(20px,2.6vw,40px);font-size:.875rem;line-height:1.2}
.site-footer .footer-nav a,.site-footer .footer-nav button{display:inline-flex;align-items:center;min-height:44px;padding:0;font:inherit;color:inherit;text-align:left;white-space:nowrap}
.site-footer .footer-nav a:hover,.site-footer .footer-nav button:hover,.site-footer .footer-legal button:hover,.site-footer .footer-top:hover{text-decoration:underline;text-underline-offset:4px}
.site-footer .footer-nav a:active,.site-footer .footer-nav button:active,.site-footer .footer-top:active,.site-footer .footer-legal button:active{opacity:.75}
.site-footer .footer-top{display:inline-flex;align-items:center;gap:var(--space-4);min-height:44px;margin:0;padding:0;font-size:.8125rem;line-height:1.2;white-space:nowrap;flex-shrink:0}
.site-footer .footer-top span{display:grid;place-items:center;width:44px;height:44px;border:var(--rule-width) solid var(--color-sand);border-radius:50%;font-size:22px;line-height:1}
.site-footer .footer-legal{display:flex;align-items:center;justify-content:space-between;gap:var(--space-6);padding-top:var(--space-5);border:0;color:var(--color-on-green);font-size:.75rem;line-height:1.6}
.site-footer .footer-legal>span{margin:0;white-space:nowrap}
.site-footer .footer-legal-links{display:flex;align-items:center;flex-wrap:wrap;justify-content:flex-end;gap:var(--space-1) var(--space-6)}
.site-footer .footer-legal button{font-size:inherit;line-height:1.6;min-height:44px;padding:0;color:inherit;white-space:nowrap}
.site-footer .prototype-note{font-size:.75rem;line-height:1.75;color:var(--color-on-green);max-width:110ch;margin-top:var(--space-4)}
@media(max-width:950px){
 .site-footer .footer-main{gap:var(--space-12)}
 .site-footer .footer-nav{gap:var(--space-5);font-size:.8125rem}
 .site-footer .footer-navigation{flex-wrap:wrap;gap:var(--space-4)}
 .site-footer .footer-legal{align-items:flex-start}
}
@media(max-width:700px){
 .site-footer .footer-main{display:block;padding-block:var(--space-12) var(--space-8)}
 .site-footer .footer-brand{width:200px;max-width:100%}
 .site-footer .footer-location{font-size:.75rem;margin-top:var(--space-4)}
 .site-footer .footer-statement{font-size:clamp(2.1rem,7.5vw,2.75rem);line-height:1.12;margin-top:var(--space-8)}
 .site-footer .footer-navigation{display:block;padding-block:var(--space-5)}
 .site-footer .footer-nav{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--space-1) var(--space-6);font-size:.875rem}
 .site-footer .footer-top{margin-top:var(--space-5)}
 .site-footer .footer-legal{display:block;padding-top:var(--space-5)}
 .site-footer .footer-legal>span{display:block;margin-bottom:var(--space-2)}
 .site-footer .footer-legal-links{justify-content:flex-start;gap:var(--space-1) var(--space-6)}
 .site-footer .prototype-note{margin-top:var(--space-5);font-size:.6875rem}
}

/* Compact footer: useful navigation and legal information, without another brand presentation.
 * Hallmark · component review: P5 H5 E5 S5 R5 V4.
 */
.site-footer .footer-navigation{border-top:0;padding-block:var(--space-8)}
@media(max-width:700px){.site-footer .footer-navigation{padding-block:var(--space-5)}}
