/* Homepage: streamlined heritage editorial treatment */
.home-hero{position:relative;min-height:74vh;display:flex;align-items:flex-start;overflow:hidden;background:var(--forest-deep);color:#fff}
.home-hero-media{position:absolute;inset:0;z-index:0}
.home-hero-media::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,26,21,.34) 0%,rgba(8,26,21,.18) 40%,rgba(8,26,21,.52) 100%)}
.home-hero-media img{width:100%;height:100%;object-fit:cover;object-position:center 54%}
.home-hero-inner{position:relative;z-index:1;width:100%;padding:90px 0 165px;text-align:center}
.home-welcome{display:block;margin-bottom:15px;font-family:'Cormorant Garamond',Georgia,serif;font-size:clamp(1.25rem,2vw,1.75rem);font-style:italic;color:#fffaf0;text-shadow:0 3px 18px rgba(0,0,0,.42)}
.home-title{margin:0 auto;color:#fff;font-family:'Cormorant Garamond',Georgia,serif;font-size:clamp(3rem,6.4vw,6.35rem);line-height:.86;letter-spacing:-.03em;font-weight:700;text-transform:uppercase;text-shadow:0 5px 28px rgba(0,0,0,.58),0 1px 2px rgba(0,0,0,.7)}
.home-title span{display:block}.home-title .woods-line{color:#fffaf0}
.home-hero-actions{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin-top:28px}
.home-hero .btn{border-color:#fff;background:#fff;color:var(--forest-deep)}
.home-hero .btn:hover{background:var(--ivory);color:var(--forest-deep)}
.home-hero .btn.light{background:rgba(10,31,25,.28);border-color:rgba(255,255,255,.82);color:#fff;backdrop-filter:blur(4px)}
.home-hero .btn.light:hover{background:#fff;color:var(--forest-deep)}
.home-about-wrap{position:relative;z-index:3;margin-top:-96px}
.home-about{width:min(720px,calc(100% - 52px));margin-left:max(26px,calc((100vw - var(--max))/2));background:var(--ivory);border-top:3px solid var(--forest);padding:38px 44px 36px;box-shadow:0 18px 44px rgba(18,42,33,.12)}
.home-about h2{font-family:'Cormorant Garamond',Georgia,serif;color:var(--forest);font-size:clamp(2.6rem,4.5vw,4rem);line-height:.94;margin:0 0 16px;font-weight:600}
.home-about p{font-size:1rem;max-width:650px;margin:0 0 15px;color:#4f5951}
.home-about .text-link{display:inline-block;margin-top:4px}
.home-intro{padding-top:86px;padding-bottom:82px}
.home-intro-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:72px;align-items:center}
.home-copy h2{font-family:'Cormorant Garamond',Georgia,serif;color:var(--forest);font-size:clamp(2.8rem,4.7vw,4.8rem);line-height:.92;margin:0;font-weight:600}
.home-intro-detail{padding-top:26px}
.home-intro-detail .lead{margin-top:0;margin-bottom:0}
.home-intro-detail .hero-actions{margin-top:26px}

/* Dynamic Instagram */
.home-instagram{padding:74px 0;background:var(--sage-light);border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}
.home-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:28px;margin-bottom:28px}
.home-section-head .kicker{margin-bottom:9px}
.home-section-head h2{font-family:'Cormorant Garamond',Georgia,serif;color:var(--forest);font-size:clamp(2.7rem,4.8vw,4.6rem);line-height:.92;margin:0;font-weight:600}
.instagram-head-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.instagram-arrow{width:46px;height:46px;border:1px solid var(--forest);background:transparent;color:var(--forest);font-family:Georgia,serif;font-size:2rem;line-height:1;cursor:pointer;display:grid;place-items:center}
.instagram-arrow:hover{background:var(--forest);color:#fff}.instagram-arrow:disabled{opacity:.35;cursor:default}
.instagram-track{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 44px)/3);gap:22px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding-bottom:2px}
.instagram-track::-webkit-scrollbar{display:none}
.instagram-card{display:block;position:relative;aspect-ratio:1/1;overflow:hidden;background:var(--paper);border:1px solid var(--rule);scroll-snap-align:start;text-decoration:none}
.instagram-card img{width:100%;height:100%;object-fit:cover;transition:transform .28s ease,opacity .28s ease}
.instagram-card:hover img{transform:scale(1.02);opacity:.94}
.instagram-card::after{content:'↗';position:absolute;right:12px;bottom:12px;width:32px;height:32px;display:grid;place-items:center;background:rgba(14,43,35,.88);color:#fff;font-size:.95rem}
.instagram-loading,.instagram-error{margin:0;color:#596159;grid-column:1/-1}

/* Homepage gallery teaser */
.home-gallery-preview{padding:62px 0 78px;background:var(--paper)}
.home-gallery-preview-head{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:22px}
.home-gallery-preview-head .kicker{margin:0}
.home-gallery-preview-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;align-items:start}
.home-gallery-preview-grid a{display:block;overflow:hidden;background:var(--ivory);border:1px solid var(--rule)}
.home-gallery-preview-grid img{display:block;width:100%;height:360px;object-fit:cover;transition:transform .28s ease}
.home-gallery-preview-grid a:hover img{transform:scale(1.015)}
.home-footer-cta{padding:60px 0;background:var(--sage)}
.home-footer-cta .wrap{display:flex;align-items:center;justify-content:space-between;gap:32px}
.home-footer-cta h2{font-family:'Cormorant Garamond',Georgia,serif;color:var(--forest);font-size:clamp(2.5rem,4vw,4rem);line-height:.95;margin:0;font-weight:600}

/* Dedicated gallery */
.gallery-page-section{padding-top:62px;padding-bottom:78px;background:var(--paper)}
.gallery-follow{margin-top:38px;padding-top:28px;border-top:1px solid var(--rule);display:flex;align-items:center;justify-content:center;gap:18px;flex-wrap:wrap;text-align:center}
.gallery-follow p{margin:0;color:#596159}

/* Sponsor showcase */
.sponsor-showcase-section{padding-top:62px;padding-bottom:84px}
.sponsor-showcase{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 64px;border-top:1px solid var(--rule)}
.sponsor-mark{min-height:250px;display:flex;align-items:center;justify-content:center;padding:36px 24px;border-bottom:1px solid var(--rule)}
.sponsor-mark img{display:block;max-width:88%;max-height:185px;width:auto;height:auto;object-fit:contain}
.sponsorship-section{padding-top:78px;padding-bottom:78px}
.sponsorship-section .two-col{align-items:start}
.sponsorship-section .editorial-block{padding-top:0}
.sponsor-simple-list{list-style:none;padding:0;margin:25px 0 30px;border-top:1px solid rgba(255,255,255,.18)}
.sponsor-simple-list li{padding:13px 0;border-bottom:1px solid rgba(255,255,255,.18);color:#e2e8e3}
.sponsor-contact-light a{color:#fff}

/* About page */
.about-simple{max-width:800px;text-align:center}
.about-simple .kicker{text-align:center;margin-bottom:24px}
.about-lead{margin:0 auto;font-size:1.12rem;line-height:1.8;color:#4f5951;max-width:760px}
.about-simple .values-list{max-width:700px;margin:0 auto;text-align:left}
.values-list{display:grid;gap:14px;margin-top:24px}.value-item{padding-top:14px;border-top:1px solid var(--rule)}.value-item strong{display:block;color:var(--forest);font-family:'Cormorant Garamond',Georgia,serif;font-size:1.45rem;margin-bottom:3px}.value-item span{color:#5e675f}
.contacts-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:30px}.contacts-grid-seven{align-items:start}.contact-person{border-top:1px solid var(--brass);padding-top:16px;min-width:0}.contact-person .role{font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.contact-person h3{font-family:'Cormorant Garamond',Georgia,serif;color:var(--forest);font-size:1.65rem;line-height:1;margin:7px 0 8px}.contact-person p{margin:4px 0;color:#646c65;font-size:.87rem;overflow-wrap:anywhere}.contact-person a{text-decoration:none}.contact-person a:hover{text-decoration:underline}
.map-frame{width:100%;height:470px;border:1px solid var(--rule);background:#ddd;overflow:hidden}.map-frame iframe{width:100%;height:100%;border:0;display:block}.map-actions{margin-top:18px;text-align:center}

/* Join page */
.join-simple{max-width:1100px;margin:auto}
.join-primary-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:stretch}
.join-primary-card{background:var(--sage-light);border-top:2px solid var(--forest);padding:34px 36px;min-height:100%;display:flex;flex-direction:column}
.join-primary-card .kicker{margin-bottom:18px}
.join-primary-card h2{font-family:'Cormorant Garamond',Georgia,serif;color:var(--forest);font-size:clamp(2.7rem,4.5vw,4.4rem);line-height:.95;margin:0 0 14px;font-weight:600}
.join-primary-card p{margin:0;color:#596159;max-width:520px}
.whatsapp-panel{margin-top:26px;display:grid;grid-template-columns:210px 1fr;gap:28px;align-items:center}
.whatsapp-panel img{width:210px;height:210px;object-fit:contain;background:#fff;padding:10px;display:block;border:1px solid var(--rule)}
.whatsapp-btn{background:#1f7a4d;border-color:#1f7a4d}.whatsapp-btn:hover{background:#17613d}
.instagram-primary{justify-content:center}.instagram-primary .instagram-btn{margin-top:28px;align-self:flex-start}
.join-secondary{margin-top:58px;padding-top:32px;border-top:1px solid var(--rule)}
.join-secondary>.kicker{text-align:center;margin-bottom:22px}
.join-secondary-list{max-width:900px;margin:0 auto;display:grid;grid-template-columns:1.2fr 1fr 1fr;border-top:1px solid var(--rule)}
.contact-line{padding:20px 24px;border-bottom:1px solid var(--rule);display:flex;flex-direction:column;gap:5px;min-width:0}
.contact-line+.contact-line{border-left:1px solid var(--rule)}
.contact-line strong{font-family:'Cormorant Garamond',Georgia,serif;color:var(--forest);font-size:1.28rem;line-height:1.1;margin-bottom:3px}
.contact-line span,.contact-line a{display:block;font-size:.94rem;line-height:1.5;color:#5d665e;text-decoration:none;overflow-wrap:anywhere}
.contact-line a:hover{text-decoration:underline;color:var(--forest)}

@media(max-width:900px){
  .home-hero{min-height:66vh}.home-hero-inner{padding:74px 0 145px}.home-about-wrap{margin-top:-78px}.home-about{width:min(680px,calc(100% - 34px));margin:0 auto;padding:34px 32px}.home-intro-grid{grid-template-columns:1fr;gap:30px;align-items:start}.home-intro-detail{padding-top:0}.home-footer-cta .wrap{align-items:flex-start;flex-direction:column}
  .home-section-head{align-items:flex-end}.instagram-track{grid-auto-columns:calc((100% - 22px)/2)}
  .sponsor-showcase{grid-template-columns:1fr 1fr;gap:0 32px}.sponsor-mark{min-height:220px}.sponsor-mark img{max-height:160px}
  .contacts-grid{grid-template-columns:repeat(2,1fr)}
  .map-frame{height:380px}
  .join-primary-grid{grid-template-columns:1fr}.instagram-primary{min-height:280px}.join-secondary-list{grid-template-columns:1fr 1fr}.contact-line:nth-child(3){grid-column:1/-1;border-left:0}.contact-line:nth-child(2){border-left:1px solid var(--rule)}
}
@media(max-width:560px){
  .home-hero{min-height:68vh}.home-hero-media img{object-position:57% center}.home-hero-inner{padding:64px 0 135px}.home-title{font-size:clamp(2.8rem,12.5vw,4.1rem)}.home-welcome{font-size:1.25rem}.home-about-wrap{margin-top:-70px}.home-about{width:calc(100% - 24px);padding:28px 22px}.home-intro{padding-top:64px;padding-bottom:64px}
  .home-instagram{padding:56px 0}.home-section-head{align-items:flex-start;flex-direction:column}.instagram-head-actions{justify-content:flex-start}.instagram-track{grid-auto-columns:86%}
  .home-gallery-preview{padding:52px 0 58px}.home-gallery-preview-grid{grid-template-columns:1fr;gap:14px}.home-gallery-preview-head{align-items:flex-start}.home-gallery-preview-grid img{height:250px}
  .gallery-follow{align-items:center;flex-direction:column}
  .sponsor-showcase{grid-template-columns:1fr;border-top:0}.sponsor-mark{min-height:190px;padding:28px 10px;border-top:1px solid var(--rule);border-bottom:0}.sponsor-mark:last-child{border-bottom:1px solid var(--rule)}.sponsor-mark img{max-width:94%;max-height:145px}
  .contacts-grid{grid-template-columns:1fr;gap:24px}.map-frame{height:330px}
  .join-primary-card{padding:26px 22px}.whatsapp-panel{grid-template-columns:1fr;text-align:center}.whatsapp-panel img{width:210px;height:210px;margin:auto}.whatsapp-panel .btn,.instagram-primary .instagram-btn{width:100%}.instagram-primary{min-height:0}
  .join-secondary-list{grid-template-columns:1fr}.contact-line,.contact-line:nth-child(2),.contact-line:nth-child(3){grid-column:auto;border-left:0}
}