:root{--cream:#f6f0e7;--paper:#fffdf9;--brown:#5d3a27;--dark:#27221e;--olive:#48513b;--tan:#c2a17c;--line:#e5dacb}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--dark);background:var(--paper);font-family:Montserrat,Arial,sans-serif;line-height:1.65}img{max-width:100%}h1,h2,h3{font-family:'Cormorant Garamond',Georgia,serif;margin:0 0 .6rem;line-height:1.05}h2{font-size:clamp(2.4rem,5vw,4.4rem);font-weight:500}.site-header{height:82px;display:flex;align-items:center;justify-content:space-between;padding:0 5vw;background:rgba(255,253,249,.98);position:sticky;top:0;z-index:30;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--brown)}.brand strong{display:block;font:600 28px/22px 'Cormorant Garamond',serif;letter-spacing:5px}.brand small,.footer-brand small{display:block;letter-spacing:4px;font-size:10px}.brand-mark{font-size:26px}.nav{display:flex;align-items:center;gap:23px}.nav a{text-decoration:none;color:#3c332c;font-size:11px;letter-spacing:1.3px;text-transform:uppercase}.nav a.active{border-bottom:1px solid var(--brown);padding-bottom:4px}.nav-cta,.btn-primary{background:var(--olive)!important;color:#fff!important;padding:13px 20px}.menu-toggle{display:none;background:none;border:0;font-size:24px}.hero{min-height:78vh;position:relative;display:flex;align-items:center;background:url('assets/homepage-hero-clean.jpg') center/cover no-repeat;color:white}.hero-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(32,20,12,.12),rgba(32,20,12,.36))}.hero-content{position:relative;z-index:1;max-width:920px;margin:0 auto;padding:10vw 7vw 8vw;text-align:center}.eyebrow{font-size:12px;letter-spacing:4px;font-weight:600}.brown{color:#9a6b46}.hero h1{font-size:clamp(3.8rem,8vw,7rem);line-height:.82;letter-spacing:2px;text-shadow:0 2px 18px rgba(0,0,0,.25)}.hero h1 span{font-size:.62em;letter-spacing:8px}.script{font:400 clamp(2rem,4vw,3.5rem)/1 Allura,cursive;margin:28px 0 14px}.hero-copy{max-width:720px;margin-left:auto;margin-right:auto;font-size:17px}.hero-actions{display:flex;justify-content:center;gap:12px;margin-top:28px}.btn{display:inline-block;text-decoration:none;padding:14px 23px;text-transform:uppercase;letter-spacing:1.5px;font-size:11px;font-weight:600;border:1px solid var(--brown)}.btn-light{border-color:white;color:white}.btn-dark{background:var(--olive);border-color:var(--olive);color:#fff}.section{padding:92px 7vw}.feature-strip{display:grid;grid-template-columns:repeat(4,1fr);background:var(--cream);border-bottom:1px solid var(--line)}.feature{padding:40px 28px;text-align:center;border-right:1px solid #d8c9b7}.feature:last-child{border-right:0}.feature-icon{font-size:28px;color:#7a5a3b}.feature h3{font-size:25px}.feature p{font-size:13px;margin:0;color:#6e6258}.about{display:grid;grid-template-columns:1.05fr .95fr;gap:60px;align-items:center;background:#fff}.about img{width:100%;height:520px;object-fit:cover}.about-copy{max-width:670px}.event-intro{text-align:center;background:var(--cream)}.event-intro.alt{background:#fff}.event-intro>div{max-width:800px;margin:auto}.inline-actions{display:flex;justify-content:center;gap:28px;flex-wrap:wrap;margin-top:22px}.text-link{color:var(--brown);font-weight:600;text-decoration:none}.home-gallery-cta{display:grid;grid-template-columns:.9fr 1.1fr;gap:58px;align-items:center;background:var(--cream)}.home-gallery-cta img{width:100%;height:480px;object-fit:cover}.pricing-teaser{text-align:center;max-width:930px;margin:auto}.contact{display:grid;grid-template-columns:.8fr 1.2fr;gap:60px;background:#2f2924;color:white}.contact a{color:white}.contact-form{display:grid;grid-template-columns:1fr 1fr;gap:15px}.contact-form label{font-size:11px;text-transform:uppercase;letter-spacing:1px}.contact-form input,.contact-form select,.contact-form textarea{display:block;width:100%;margin-top:6px;padding:12px;border:1px solid #b7aa9f;background:#fff;font:inherit}.full{grid-column:1/-1}.form-note{font-size:11px;color:#ccc;margin:0}footer{display:grid;grid-template-columns:repeat(4,1fr);align-items:center;gap:20px;padding:38px 7vw;background:#1e1a17;color:#eee;font-size:12px}footer a{color:#eee}.footer-brand strong{display:block;font:600 24px/20px 'Cormorant Garamond',serif;letter-spacing:4px}.page-hero{min-height:340px;display:flex;align-items:center;justify-content:center;text-align:center;color:white;padding:70px 7vw;background:linear-gradient(rgba(31,22,16,.58),rgba(31,22,16,.58)),url('assets/main-hall.jpg') center/cover}.page-hero h1{font-size:clamp(4rem,10vw,7rem)}.page-hero p:last-child{max-width:640px;margin:10px auto 0}.gallery-hero{background-image:linear-gradient(rgba(31,22,16,.58),rgba(31,22,16,.58)),url('assets/upstairs-dance-floor.jpg')}.pricing-hero{background-image:linear-gradient(rgba(31,22,16,.62),rgba(31,22,16,.62)),url('assets/main-hall.jpg')}.section-heading{text-align:center;max-width:760px;margin:0 auto 46px}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.gallery-grid figure{margin:0;background:#fff;border:1px solid var(--line);overflow:hidden}.gallery-grid img{display:block;width:100%;height:330px;object-fit:cover;transition:transform .3s ease}.gallery-grid figure:hover img{transform:scale(1.02)}.gallery-grid figcaption{padding:13px 15px;font:500 18px/1.2 'Cormorant Garamond',serif;color:#5a4738}.page-cta{text-align:center;padding:72px 7vw;background:var(--brown);color:white}.page-cta h2{font-size:clamp(2.6rem,5vw,4rem)}.pricing-page{background:var(--cream)}.pricing-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;max-width:1100px;margin:auto}.price-card{background:#fff;padding:45px;border:1px solid var(--line)}.price-card.featured{border-top:4px solid var(--olive)}.price-card h2{font-size:58px;color:var(--brown);margin-bottom:0}.price-sub{text-transform:uppercase;letter-spacing:1.5px;font-size:12px}.price-card ul{padding-left:20px}.callout{background:var(--cream);padding:18px;border-left:3px solid var(--olive)}.fee{font-weight:600;color:var(--brown);margin:24px 0}.rental-panel{display:grid;grid-template-columns:.7fr 1.3fr;gap:45px;align-items:center;max-width:1100px;margin:28px auto 0;background:#efe4d6;padding:38px 42px}.good-to-know{max-width:1100px;margin:28px auto 0;background:#fff;padding:44px;border:1px solid var(--line)}.details-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px 35px}.details-grid p{border-bottom:1px solid #eee;padding:15px 0;margin:0}
@media(max-width:900px){.menu-toggle{display:block}.nav{display:none;position:absolute;top:82px;left:0;right:0;background:#fff;padding:25px;flex-direction:column}.nav.open{display:flex}.about,.contact,.home-gallery-cta,.rental-panel{grid-template-columns:1fr}.feature-strip{grid-template-columns:1fr 1fr}.gallery-grid{grid-template-columns:1fr 1fr}.pricing-grid{grid-template-columns:1fr}.about img,.home-gallery-cta img{height:420px}footer{grid-template-columns:1fr 1fr}}
@media(max-width:580px){.hero{min-height:70vh}.section{padding:66px 6vw}.feature-strip,.gallery-grid,.contact-form,.details-grid,footer{grid-template-columns:1fr}.feature{border-right:0;border-bottom:1px solid #d8c9b7}.gallery-grid img{height:280px}.about img,.home-gallery-cta img{height:350px}.hero-actions{flex-direction:column;align-items:flex-start}.page-hero{min-height:280px}.price-card,.good-to-know,.rental-panel{padding:28px}}

/* Homepage hero refinement to match the approved mockup */
.site-header{
  height:88px;
  padding:0 5.5vw;
  background:#fbf8f2;
  border-bottom:1px solid #eadfce;
  position:relative;
}
.brand{min-width:255px;color:#33241d;gap:0;justify-content:flex-start}
.brand-wordmark{display:flex;flex-direction:column;align-items:center;line-height:1}
.brand-wordmark strong{font:500 31px/1 'Cormorant Garamond',Georgia,serif;letter-spacing:4px;white-space:nowrap}
.brand-wordmark small{font:500 11px/1.2 Montserrat,Arial,sans-serif;letter-spacing:6px;margin-top:5px}
.brand-wordmark i{font-style:normal;font-size:12px;margin-top:2px;color:#6f4c34}
.nav{gap:31px;margin-left:auto}
.nav a{font-family:'Cormorant Garamond',Georgia,serif;font-size:15px;letter-spacing:1.5px;text-transform:uppercase;color:#2d241f}
.nav-cta{font-family:'Cormorant Garamond',Georgia,serif!important;font-size:13px!important;letter-spacing:1.4px!important;padding:15px 24px!important;background:#5a2f1d!important;border:1px solid #5a2f1d!important}
.hero{
  min-height:815px;
  background-image:url('assets/homepage-hero-photo.jpg');
  background-position:center center;
  background-size:cover;
  background-repeat:no-repeat;
  align-items:flex-end;
}
.hero-overlay{background:linear-gradient(180deg,rgba(30,18,10,.02) 0%,rgba(30,18,10,.08) 52%,rgba(36,18,9,.28) 100%)}
.hero-content{max-width:1050px;padding:0 6vw 55px;text-align:center;margin:0 auto;color:#fff}
.hero .eyebrow{font-family:'Cormorant Garamond',Georgia,serif;font-size:17px;letter-spacing:6px;font-weight:500;margin:0 0 6px;text-shadow:0 1px 5px rgba(0,0,0,.25)}
.hero h1{font-size:clamp(3.6rem,6vw,5.7rem);font-weight:500;line-height:.98;letter-spacing:3px;margin:0;text-shadow:0 2px 16px rgba(0,0,0,.32)}
.hero .script{font-size:clamp(2.3rem,3.5vw,3.6rem);margin:22px 0 15px;text-shadow:0 2px 10px rgba(0,0,0,.3)}
.hero-copy{font-family:'Cormorant Garamond',Georgia,serif;font-size:18px;letter-spacing:.7px;max-width:820px}
.hero-actions{gap:16px;margin-top:25px}
.hero-actions .btn{padding:15px 28px;font-family:'Cormorant Garamond',Georgia,serif;font-size:13px;letter-spacing:1.4px}
.hero-actions .btn-primary{background:#5a2f1d!important;border-color:#5a2f1d!important}
.hero-actions .btn-light{background:rgba(255,255,255,.08);border-color:#fff;color:#fff}
@media(max-width:1050px){.nav{gap:18px}.nav a{font-size:13px}.brand{min-width:210px}.brand-wordmark strong{font-size:26px}}
@media(max-width:900px){.site-header{position:sticky}.nav{margin-left:0}.hero{min-height:680px;background-position:center top}.hero-content{padding-bottom:42px}.brand{min-width:0}.brand-wordmark strong{font-size:24px}.brand-wordmark small{letter-spacing:4px}}
@media(max-width:580px){.site-header{height:76px}.nav{top:76px}.hero{min-height:620px}.hero-content{padding:0 6vw 34px}.hero h1{font-size:3.15rem}.hero .script{font-size:2.1rem}.hero-copy{font-size:16px}.hero-actions{align-items:stretch}.hero-actions .btn{text-align:center}}

/* Mobile polish pass */
@media(max-width:900px){
  body{overflow-x:hidden}
  .site-header{height:76px;padding:0 20px;position:sticky;top:0;z-index:100}
  .brand{min-width:0;max-width:70%}
  .brand-wordmark strong{font-size:24px;letter-spacing:3px}
  .brand-wordmark small{font-size:9px;letter-spacing:4px}
  .menu-toggle{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border:1px solid #d9ccb9;border-radius:0;color:#3b2b22;background:#fbf8f2;cursor:pointer}
  .nav{display:none;position:absolute;top:76px;left:0;right:0;margin:0;padding:14px 20px 22px;background:#fbf8f2;border-top:1px solid #eadfce;border-bottom:1px solid #d9ccb9;box-shadow:0 12px 24px rgba(47,31,20,.08);gap:0;align-items:stretch}
  .nav.open{display:flex}
  .nav a{display:block;padding:13px 4px;font-size:15px;letter-spacing:1.2px;border-bottom:1px solid #eee4d7}
  .nav a:last-child{border-bottom:0}
  .nav a.active{border-bottom:1px solid #8a674d;padding-bottom:13px}
  .nav-cta{margin-top:12px;text-align:center;padding:15px 18px!important}

  .hero{min-height:680px;background-position:center center}
  .hero-content{padding:0 24px 38px;max-width:640px}
  .hero .eyebrow{font-size:13px;letter-spacing:4px}
  .hero h1{font-size:clamp(3rem,11vw,4.3rem);letter-spacing:1.5px;line-height:.95}
  .hero .script{font-size:clamp(2rem,8vw,2.8rem);margin:18px 0 12px}
  .hero-copy{font-size:17px;line-height:1.45}
  .hero-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;width:100%;max-width:420px;margin:22px auto 0}
  .hero-actions .btn{padding:14px 10px;text-align:center}

  .section{padding:64px 24px}
  h2{font-size:clamp(2.25rem,9vw,3.4rem)}
  .feature-strip{grid-template-columns:1fr 1fr}
  .feature{padding:28px 18px}
  .feature h3{font-size:22px}
  .about,.home-gallery-cta,.contact,.rental-panel{grid-template-columns:1fr;gap:28px}
  .about img,.home-gallery-cta img{height:auto;max-height:520px;aspect-ratio:4/3;object-fit:cover}
  .about-copy,.pricing-teaser{max-width:none}
  .inline-actions{gap:18px}
  .contact-form{grid-template-columns:1fr}
  .full{grid-column:auto}
  footer{grid-template-columns:1fr 1fr;padding:34px 24px;text-align:left}

  .page-hero{min-height:300px;padding:58px 24px;background-position:center}
  .page-hero h1{font-size:clamp(3.2rem,13vw,5rem)}
  .section-heading{margin-bottom:30px}
  .gallery-grid{grid-template-columns:1fr 1fr;gap:12px}
  .gallery-grid img{height:250px}
  .gallery-grid figcaption{font-size:16px;padding:10px 12px}
  .pricing-grid{grid-template-columns:1fr;gap:18px}
  .price-card{padding:34px 28px}
  .price-card h2{font-size:50px}
  .rental-panel,.good-to-know{padding:32px 28px}
  .details-grid{grid-template-columns:1fr}
  .page-cta{padding:58px 24px}
}

@media(max-width:600px){
  .site-header{padding:0 16px}
  .brand-wordmark strong{font-size:21px;letter-spacing:2.4px}
  .brand-wordmark small{font-size:8px;letter-spacing:3.2px}
  .hero{min-height:calc(100svh - 76px);max-height:760px;background-position:center center}
  .hero-content{padding:0 18px 28px}
  .hero h1{font-size:clamp(2.65rem,13vw,3.65rem)}
  .hero .eyebrow{font-size:11px;letter-spacing:3.2px}
  .hero .script{font-size:clamp(1.85rem,8.5vw,2.45rem)}
  .hero-copy{font-size:15px;line-height:1.45;max-width:95%}
  .hero-actions{grid-template-columns:1fr;max-width:320px}
  .hero-actions .btn{min-height:48px;display:flex;align-items:center;justify-content:center}

  .section{padding:52px 18px}
  .feature-strip{grid-template-columns:1fr}
  .feature{border-right:0;border-bottom:1px solid #d8c9b7;padding:26px 20px}
  .feature:last-child{border-bottom:0}
  .about img,.home-gallery-cta img{aspect-ratio:1/1;height:auto}
  .inline-actions{flex-direction:column;align-items:center;gap:12px}
  .inline-actions .text-link{padding:8px 0}
  .contact{padding-top:56px;padding-bottom:56px}
  .contact-form input,.contact-form select,.contact-form textarea{font-size:16px;min-height:46px}
  footer{grid-template-columns:1fr;gap:10px;text-align:center}
  .footer-brand{margin-bottom:8px}

  .page-hero{min-height:255px;padding:48px 18px}
  .page-hero h1{font-size:clamp(3rem,16vw,4.4rem)}
  .page-hero p:last-child{font-size:15px}
  .gallery-grid{grid-template-columns:1fr;gap:16px}
  .gallery-grid img{height:auto;aspect-ratio:4/3;object-fit:cover}
  .gallery-grid figcaption{font-size:18px}
  .price-card,.rental-panel,.good-to-know{padding:26px 20px}
  .price-card h2{font-size:46px}
  .price-card .btn,.page-cta .btn{display:block;width:100%;text-align:center}
  .callout{padding:15px}
  .details-grid p{padding:13px 0}
  .page-cta{padding:52px 18px}
}

@media(max-width:390px){
  .brand-wordmark strong{font-size:19px;letter-spacing:2px}
  .brand-wordmark small{letter-spacing:2.6px}
  .hero h1{font-size:2.6rem}
  .hero-copy{font-size:14px}
  .section{padding-left:16px;padding-right:16px}
}
