:root{--green:#073b2e;--green-dark:#03291f;--cream:#f8f5ef;--white:#fff;--gold:#c98a2e;--ink:#0b3027;--muted:#56645f;--line:#ddd7cb;--shadow:0 12px 28px rgba(15,40,31,.12)}
*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;scroll-padding-top:84px}body{font-family:"DM Sans",sans-serif;color:var(--ink);background:var(--cream);line-height:1.55}a{color:inherit}button,input,select,textarea{font:inherit}.site-header{height:86px;background:#fcfaf6;display:grid;grid-template-columns:280px 1fr 190px;align-items:center;padding:0 3.2vw;position:sticky;top:0;z-index:50;border-bottom:1px solid rgba(0,0,0,.04)}.brand{text-decoration:none;display:flex;flex-direction:column;line-height:1}.brand-main{font-family:"Playfair Display",serif;font-size:1.85rem;letter-spacing:.02em}.brand-sub{font-size:.78rem;letter-spacing:.22em;color:#8b5d1d;margin-top:.32rem;margin-left:2.1rem}.primary-nav{display:flex;align-items:center;justify-content:center;gap:clamp(1.3rem,2.2vw,2.9rem)}.primary-nav a{text-decoration:none;text-transform:uppercase;font-size:.77rem;font-weight:600;letter-spacing:.04em;position:relative;padding:32px 0}.primary-nav a:after{content:"";position:absolute;height:2px;left:50%;right:50%;bottom:20px;background:var(--gold);transition:.25s}.primary-nav a:hover:after,.primary-nav a.active:after{left:0;right:0}.book-button{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;text-transform:uppercase;letter-spacing:.08em;background:var(--green);color:white;border:0;border-radius:6px;font-weight:700;padding:1rem 1.8rem;cursor:pointer;transition:.2s}.book-button:hover{background:var(--green-dark);transform:translateY(-1px)}.header-book{justify-self:end;width:165px}.menu-toggle{display:none;border:0;background:none;width:38px}.menu-toggle span{display:block;height:2px;background:var(--green);margin:6px 0}.hero{min-height:424px;display:grid;grid-template-columns:1.04fr 1fr;background:var(--green);color:white}.hero-copy{padding:56px 5.4vw 48px;display:flex;flex-direction:column;justify-content:center;background:radial-gradient(circle at 50% 50%,#164f3f 0,var(--green) 64%)}.eyebrow{text-transform:uppercase;color:var(--gold);letter-spacing:.12em;font-size:.78rem;font-weight:700;margin-bottom:1rem}.hero h1,.section h2,.contact-section h2{font-family:"Playfair Display",serif;font-weight:500;line-height:1.04}.hero h1{font-size:clamp(3.2rem,5vw,5.3rem);letter-spacing:-.035em}.hero h1 em{font-weight:500}.hero h1 span{color:#dca149}.hero-text{font-size:1.05rem;max-width:650px;margin:1.5rem 0;color:rgba(255,255,255,.9)}.hero-actions{display:flex;gap:1rem;flex-wrap:wrap;margin-top:.45rem}.button{display:inline-flex;align-items:center;justify-content:center;gap:.65rem;min-width:215px;padding:.92rem 1.35rem;border-radius:5px;text-transform:uppercase;text-decoration:none;letter-spacing:.08em;font-weight:700;font-size:.85rem}.button-gold{border:1px solid var(--gold)}.button-light{border:1px solid white}.button:hover{background:rgba(255,255,255,.09)}.hero-image{background-image:linear-gradient(90deg,rgba(7,59,46,.32),transparent 22%),url('hero-booth.png');background-size:cover;background-position:center}.event-strip{background:#fcfaf6;display:grid;grid-template-columns:repeat(5,1fr);padding:28px 5vw;border-bottom:1px solid var(--line)}.event-strip article{display:flex;align-items:center;gap:1rem;padding:0 1.6rem;border-right:1px solid var(--line)}.event-strip article:last-child{border:0}.event-icon{font-family:"Playfair Display",serif;font-size:2.65rem;line-height:1}.event-strip h3{text-transform:uppercase;font-size:.84rem;letter-spacing:.06em}.event-strip p{font-size:.82rem;margin-top:.25rem}.section{padding:88px 6vw}.section-heading h2,.experience-copy h2,.about-section h2{font-size:clamp(2.35rem,3.8vw,4rem);letter-spacing:-.025em}.section-heading>p:last-child{margin-top:.55rem;color:var(--muted)}.centered{text-align:center}.packages-section{background:#fbf8f2}.package-grid{max-width:1120px;margin:2.2rem auto 0;display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}.package-card{background:white;border-radius:9px;overflow:hidden;box-shadow:var(--shadow);position:relative;transition:.25s}.package-card:hover{transform:translateY(-6px)}.package-title{background:var(--green);color:white;text-align:center;padding:1rem;text-transform:uppercase;letter-spacing:.08em;font-weight:700;font-size:1.03rem}.package-title:after{content:"";display:block;width:32px;height:2px;background:var(--gold);margin:.55rem auto 0}.package-body{padding:1.1rem 2.3rem 2rem;display:flex;flex-direction:column;min-height:415px}.price{font-family:"Playfair Display",serif;font-size:2.4rem;text-align:center;line-height:1;margin-top:.2rem}.duration{text-align:center;color:#9a641a;text-transform:uppercase;font-size:.78rem;letter-spacing:.12em;margin:.35rem 0 1rem}.package-body ul{border-top:1px solid var(--line);padding-top:1rem;list-style:none;display:grid;gap:.8rem}.package-body li{font-size:.88rem;padding-left:1.25rem;position:relative}.package-body li:before{content:"✓";position:absolute;left:0;font-weight:700}.includes{text-align:center;font-size:.86rem;margin-bottom:.7rem}.package-cta{margin-top:auto;text-align:center;text-decoration:none;border:1px solid var(--green);border-radius:5px;padding:.75rem;font-size:.82rem;text-transform:uppercase;font-weight:700;letter-spacing:.06em}.package-cta:hover,.package-cta.solid{background:var(--green);color:white}.package-cta.disabled{background:var(--green);color:white;opacity:1;cursor:not-allowed;pointer-events:none;user-select:none}.coming-ribbon{position:absolute;top:4px;right:-37px;z-index:3;width:130px;text-align:center;background:linear-gradient(135deg,#e3ad51,#bf7d17);color:#142d25;font-size:.68rem;font-weight:800;text-transform:uppercase;line-height:1.05;padding:.48rem 0;transform:rotate(45deg);box-shadow:0 3px 7px rgba(0,0,0,.2)}.experience-section{display:grid;grid-template-columns:1fr 1fr;gap:7vw;align-items:center;background:var(--green);color:white}.experience-copy>p:not(.eyebrow){color:rgba(255,255,255,.77);max-width:650px;margin:1.4rem 0 2rem}.experience-points{display:grid;grid-template-columns:1fr 1fr;gap:1.3rem}.experience-points div{display:flex;gap:.8rem;align-items:flex-start}.experience-points strong{color:var(--gold);font-size:.75rem}.experience-points span{font-size:.92rem}.experience-visual{height:430px;position:relative}.visual-card{position:absolute;border-radius:9px;box-shadow:0 22px 45px rgba(0,0,0,.25);display:flex;align-items:flex-end;padding:1.5rem;font-family:"Playfair Display",serif;font-size:2rem;background:linear-gradient(145deg,#f6ede0,#c99753);color:var(--green)}.card-one{inset:10px 30% 70px 0;transform:rotate(-5deg)}.card-two{inset:35px 8% 35px 32%;transform:rotate(5deg);background:linear-gradient(145deg,#d7c6aa,#f8f4eb)}.card-three{width:40%;height:42%;right:2%;bottom:0;transform:rotate(-2deg);background:linear-gradient(145deg,#154c3c,#092f25);color:white}.gallery-section{background:#f4efe6}.gallery-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;grid-template-rows:220px 220px;gap:1rem;margin-top:2.4rem}.gallery-tile{border-radius:8px;background:linear-gradient(135deg,#c8a36c,#f2e4cc);display:flex;align-items:flex-end;padding:1.4rem;font-family:"Playfair Display",serif;font-size:1.65rem;box-shadow:var(--shadow)}.gallery-tile:nth-child(2){background:linear-gradient(135deg,#224d40,#699383);color:white}.gallery-tile:nth-child(3){background:linear-gradient(135deg,#edd0b6,#aa7049)}.gallery-tile:nth-child(4){background:linear-gradient(135deg,#f4e8ce,#c99546)}.gallery-tile.tall{grid-row:1/3}.gallery-tile.wide{grid-column:2/4}.about-section{display:grid;grid-template-columns:1fr 1fr;gap:7vw}.about-section>div:last-child{font-size:1.05rem;color:var(--muted)}.about-section>div:last-child p+p{margin-top:1rem}.faq-section{background:#fbf8f2}.faq-list{max-width:900px;margin:2rem auto 0;border-top:1px solid var(--line)}details{border-bottom:1px solid var(--line);padding:1.2rem 0}summary{font-weight:700;cursor:pointer;list-style:none;display:flex;justify-content:space-between}summary:after{content:"+";color:var(--gold);font-size:1.2rem}details[open] summary:after{content:"–"}details p{color:var(--muted);max-width:760px;margin-top:.85rem}.contact-section{background:var(--green);color:white;padding:88px 6vw;display:grid;grid-template-columns:.85fr 1.15fr;gap:7vw}.contact-section h2{font-size:clamp(2.8rem,4.6vw,5rem)}.contact-copy>p:not(.eyebrow){color:rgba(255,255,255,.74);margin-top:1rem}.contact-placeholder{font-size:.8rem;border-left:2px solid var(--gold);padding-left:.8rem}.contact-form{display:grid;gap:1rem}.botcheck{display:none!important}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.contact-form label{display:grid;gap:.35rem;font-size:.8rem;text-transform:uppercase;letter-spacing:.07em}.contact-form input,.contact-form select,.contact-form textarea{width:100%;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.25);border-radius:5px;color:white;padding:.9rem}.contact-form input::placeholder,.contact-form textarea::placeholder{color:rgba(255,255,255,.45)}.contact-form option{color:var(--green)}.form-button{justify-self:start}.form-button:disabled{opacity:.65;cursor:wait;transform:none}.form-message{min-height:1.4rem;color:#e6b964}.form-message.success{color:#bfe8d6}.form-message.error{color:#ffd0ca}footer{background:#06251d;color:rgba(255,255,255,.6);display:flex;align-items:center;justify-content:space-between;gap:2rem;padding:2.2rem 6vw;font-size:.83rem}.footer-brand{display:flex;flex-direction:column;color:white}.footer-brand span{font-family:"Playfair Display",serif;font-size:1.25rem}.footer-brand small{letter-spacing:.15em;color:#d7a557}
.reveal{opacity:0;transform:translateY(24px);transition:.65s ease}.reveal.visible{opacity:1;transform:none}
@media(max-width:1100px){.site-header{grid-template-columns:240px 1fr 150px;padding:0 2vw}.primary-nav{gap:1.2rem}.header-book{width:135px}.hero{grid-template-columns:1fr 1fr}.event-strip{grid-template-columns:repeat(3,1fr);row-gap:1.5rem}.event-strip article:nth-child(3){border-right:0}.event-strip article:nth-child(4),.event-strip article:nth-child(5){grid-column:span 1}.package-grid{gap:1rem}.package-body{padding:1rem 1.4rem 1.6rem}}
@media(max-width:860px){html{scroll-padding-top:72px}.site-header{height:72px;grid-template-columns:1fr auto auto;padding:0 1.25rem}.brand-main{font-size:1.45rem}.brand-sub{font-size:.61rem}.menu-toggle{display:block;grid-column:3}.header-book{display:none}.primary-nav{position:absolute;top:72px;left:0;right:0;background:#fcfaf6;display:none;flex-direction:column;align-items:stretch;padding:1rem 1.4rem 1.5rem;box-shadow:0 12px 20px rgba(0,0,0,.12)}.primary-nav.open{display:flex}.primary-nav a{padding:.75rem 0}.primary-nav a:after{display:none}.hero{grid-template-columns:1fr}.hero-copy{padding:58px 6vw}.hero-image{min-height:360px}.event-strip{grid-template-columns:1fr 1fr}.event-strip article,.event-strip article:nth-child(3){border-right:0;border-bottom:1px solid var(--line);padding:1rem}.event-strip article:last-child{grid-column:1/3}.package-grid{grid-template-columns:1fr;max-width:520px}.experience-section,.about-section,.contact-section{grid-template-columns:1fr}.gallery-grid{grid-template-columns:1fr 1fr;grid-template-rows:220px 220px 220px}.gallery-tile.tall{grid-row:auto}.gallery-tile.wide{grid-column:1/3}.form-row{grid-template-columns:1fr}footer{flex-direction:column;align-items:flex-start}}
@media(max-width:560px){.hero h1{font-size:3.05rem}.hero-image{min-height:270px}.event-strip{grid-template-columns:1fr}.event-strip article:last-child{grid-column:auto}.section,.contact-section{padding:68px 1.25rem}.experience-points{grid-template-columns:1fr}.experience-visual{height:330px}.gallery-grid{display:grid;grid-template-columns:1fr;grid-template-rows:repeat(4,220px)}.gallery-tile.wide{grid-column:auto}.hero-actions{display:grid}.button{width:100%}.package-body{min-height:0}.package-cta{margin-top:1.5rem}}

.booking-cta{align-self:center;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.18);border-radius:10px;padding:clamp(1.7rem,4vw,3rem);box-shadow:0 18px 40px rgba(0,0,0,.12)}.booking-kicker{text-transform:uppercase;letter-spacing:.12em;font-size:.76rem;font-weight:700;color:var(--gold);margin-bottom:.65rem}.booking-cta h3{font-family:"Playfair Display",serif;font-size:clamp(2rem,3vw,3.25rem);font-weight:500;line-height:1.08;margin-bottom:1rem}.booking-cta>p:not(.booking-kicker):not(.booking-note){color:rgba(255,255,255,.78);max-width:620px;margin-bottom:1.5rem}.booking-button{background:var(--gold);color:var(--green-dark)}.booking-button:hover{background:#dda14a}.booking-note{font-size:.78rem;color:rgba(255,255,255,.58);margin-top:.85rem}

/* Real Simply Snap booth imagery */
.hero-image{background-image:linear-gradient(90deg,rgba(7,59,46,.28),transparent 28%),url('hero-event.webp');background-position:center 48%}
.package-showcase{max-width:1120px;margin:2.2rem auto 0;display:grid;grid-template-columns:minmax(280px,.9fr) 1.1fr;align-items:center;gap:2.4rem;background:#fff;border-radius:9px;overflow:hidden;box-shadow:var(--shadow)}
.package-showcase img{display:block;width:100%;height:260px;object-fit:cover;object-position:center}
.package-showcase>div{padding:1.6rem 2.2rem 1.6rem 0}
.package-showcase .eyebrow{margin-bottom:.45rem}
.package-showcase>div>p:last-child{color:var(--muted);max-width:520px}
.experience-photo{height:430px;border-radius:10px;overflow:hidden;box-shadow:0 22px 45px rgba(0,0,0,.25)}
.experience-photo img{width:100%;height:100%;display:block;object-fit:cover;object-position:center 45%}
.gallery-photo{background-size:cover!important;background-position:center!important;position:relative;overflow:hidden}
.gallery-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(6,37,29,.6),transparent 52%)}
.gallery-photo span{position:relative;z-index:1;color:white}
.champagne-photo{background-image:url('gallery-champagne.webp')!important;background-position:center 35%!important}
.parties-photo{background-image:url('gallery-parties.webp')!important;background-position:center 50%!important}
.wedding-fun-photo{background-image:url('gallery-wedding-fun.webp')!important;background-position:center 42%!important}
.wedding-photo{background-image:url('gallery-wedding.webp')!important;background-position:center 31%!important}

@media(max-width:860px){.package-showcase{grid-template-columns:1fr;max-width:520px}.package-showcase img{height:300px}.package-showcase>div{padding:0 1.5rem 1.6rem}.experience-photo{height:430px}}
@media(max-width:560px){.package-showcase img{height:240px}.experience-photo{height:360px}}
