
:root{
  --ink:#171615; --cream:#f7f3ed; --paper:#fbfaf7; --muted:#746e66;
  --line:#ded7ce; --gold:#b39a73; --white:#fff;
  --serif:"Cormorant Garamond", Georgia, serif;
  --sans:"Montserrat", Arial, sans-serif;
  --script:"Allura", "Brush Script MT", cursive;
}
*{box-sizing:border-box} html{scroll-behavior:smooth}
body{margin:0;color:var(--ink);background:var(--paper);font-family:var(--sans);line-height:1.6}
a{text-decoration:none;color:inherit}.container{width:min(1180px,92%);margin:auto}
.nav{position:sticky;top:0;z-index:20;background:rgba(251,250,247,.96);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.nav-inner{height:78px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.logo{width:150px;height:auto}.nav-links{display:flex;align-items:center;gap:26px;font-size:11px;letter-spacing:.16em;text-transform:uppercase}
.nav-links a:hover{opacity:.55}.btn{display:inline-flex;align-items:center;justify-content:center;padding:13px 22px;border:1px solid var(--ink);font-size:11px;letter-spacing:.14em;text-transform:uppercase;transition:.2s;cursor:pointer}
.btn-dark{background:var(--ink);color:white}.btn-light{background:white;color:var(--ink)}.btn:hover{transform:translateY(-1px);opacity:.9}
.hero{min-height:600px;background:linear-gradient(90deg,rgba(16,13,11,.84),rgba(16,13,11,.3)),url("assets/event-setup.jpeg") center/cover;display:flex;align-items:center;color:white}
.hero-copy{max-width:620px;padding:90px 0}.eyebrow{font-size:11px;letter-spacing:.3em;text-transform:uppercase;opacity:.8}
h1,h2,h3{font-family:var(--serif);font-weight:400;margin:0 0 18px;line-height:1.05}
h1{font-size:clamp(56px,7vw,92px)} h2{font-size:clamp(38px,5vw,58px)} h3{font-size:30px}
.script{font-family:var(--script);font-size:52px;display:block;margin-top:-12px}
.lead{font-size:16px;max-width:560px;color:#eee;margin:0 0 28px}
.section{padding:82px 0}.section.alt{background:var(--cream)}
.center{text-align:center}.kicker{font-size:10px;letter-spacing:.28em;text-transform:uppercase;color:var(--muted);margin-bottom:12px}
.steps{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.step{padding:38px 26px;text-align:center;border-right:1px solid var(--line)}.step:last-child{border-right:0}
.step-num{width:28px;height:28px;border:1px solid var(--ink);border-radius:50%;display:grid;place-items:center;margin:0 auto 18px;font-size:11px}
.step h3{font-family:var(--sans);font-size:12px;letter-spacing:.14em;text-transform:uppercase}.step p{font-size:12px;color:var(--muted)}
.package{display:grid;grid-template-columns:1fr 1.2fr;gap:0;align-items:stretch;background:var(--cream)}
.package-img{min-height:460px;background:url("assets/event-setup.jpeg") center/cover}.package-copy{padding:54px}
.price{font-family:var(--serif);font-size:68px;line-height:1;margin:6px 0 24px}.checks{list-style:none;padding:0;margin:0 0 26px}.checks li{margin:11px 0;font-size:13px}.checks li:before{content:"✓";margin-right:10px}
.addon{border:1px solid var(--line);padding:22px;margin-top:22px;background:rgba(255,255,255,.55)}.addon strong{font-family:var(--serif);font-size:25px;font-weight:400}
.occasions{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:30px}.pill{border:1px solid var(--line);padding:10px 16px;font-size:10px;letter-spacing:.12em;text-transform:uppercase}
.band{background:var(--ink);color:white;padding:62px 0}.band .container{display:flex;justify-content:space-between;align-items:center;gap:30px}
.footer{padding:48px 0 22px;background:var(--cream);border-top:1px solid var(--line)}.footer-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:40px}.footer img{width:180px}.footer p,.footer a{font-size:12px;color:var(--muted)}.copyright{border-top:1px solid var(--line);margin-top:30px;padding-top:18px;font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);display:flex;justify-content:space-between}
.page-hero{padding:80px 0;background:var(--cream);border-bottom:1px solid var(--line)}.page-hero h1{font-size:clamp(50px,6vw,76px)}
.phone-picker{display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:center}.phone-stage{position:relative;background:var(--cream);min-height:470px;display:grid;place-items:center;padding:35px}.phone-stage img{max-width:92%;max-height:400px;object-fit:contain;transition:.25s}.phone-controls{display:flex;justify-content:center;gap:10px;margin-top:18px}.dot{width:11px;height:11px;border-radius:50%;border:1px solid var(--ink);background:transparent;cursor:pointer}.dot.active{background:var(--ink)}
.form-card{background:white;border:1px solid var(--line);padding:38px;box-shadow:0 12px 40px rgba(0,0,0,.04)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.field{display:flex;flex-direction:column;gap:7px}.field.full{grid-column:1/-1}.field label{font-size:10px;letter-spacing:.14em;text-transform:uppercase}.field input,.field select,.field textarea{border:1px solid var(--line);padding:13px;background:#fff;font:inherit;font-size:13px}.field textarea{min-height:110px;resize:vertical}
.choice-row{display:flex;gap:12px;flex-wrap:wrap}.choice{border:1px solid var(--line);padding:13px 16px;cursor:pointer;font-size:12px}.choice.selected{border-color:var(--ink);background:var(--ink);color:white}
.total{display:flex;justify-content:space-between;align-items:end;border-top:1px solid var(--line);margin-top:28px;padding-top:22px}.total span{font-size:11px;letter-spacing:.14em;text-transform:uppercase}.total strong{font-family:var(--serif);font-size:42px;font-weight:400}
.notice{background:#f3eee6;border-left:3px solid var(--gold);padding:15px 17px;font-size:12px;color:#5f584f;margin:20px 0}
.faq{max-width:820px;margin:auto}.faq details{border-top:1px solid var(--line);padding:20px 0}.faq details:last-child{border-bottom:1px solid var(--line)}.faq summary{cursor:pointer;font-family:var(--serif);font-size:24px}.faq p{color:var(--muted);font-size:13px;max-width:700px}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px}.contact-card{padding:35px;background:var(--cream);border:1px solid var(--line)}
@media(max-width:850px){.nav-links{display:none}.steps{grid-template-columns:1fr 1fr}.step:nth-child(2){border-right:0}.step:nth-child(-n+2){border-bottom:1px solid var(--line)}.package,.phone-picker,.contact-grid{grid-template-columns:1fr}.package-img{min-height:300px}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.band .container{flex-direction:column;align-items:flex-start}.footer-grid{grid-template-columns:1fr}}
@media(max-width:520px){.hero{min-height:650px}.hero-copy{padding:70px 0}.section{padding:60px 0}.steps{grid-template-columns:1fr}.step{border-right:0;border-bottom:1px solid var(--line)}.step:last-child{border-bottom:0}.package-copy{padding:35px 24px}.form-card{padding:24px}.nav-inner{height:68px}.logo{width:130px}}

/* Approved mockup image treatment + refined booking experience */
.logo-transparent{object-fit:contain;mix-blend-mode:multiply}
.nav .logo{width:154px;height:58px;object-fit:contain}
.hero{background-color:#181411;background-image:linear-gradient(90deg,rgba(16,13,11,.92) 0%,rgba(16,13,11,.70) 38%,rgba(16,13,11,.12) 70%),url("assets/hero-right-mock.jpg");background-repeat:no-repeat;background-position:center, right center;background-size:auto, 64% 100%;}
.package-img{background-image:url("assets/package-mock.jpg") !important;background-position:center;background-size:cover}
.band{background-color:#171411;background-image:linear-gradient(90deg,rgba(18,15,12,.92),rgba(18,15,12,.35)),url("assets/band-right-mock.jpg");background-repeat:no-repeat;background-position:center,right center;background-size:auto,54% 100%;}

.booking-hero{background:var(--cream);padding:78px 0 68px}.booking-intro{max-width:980px}.booking-intro h1{max-width:800px}.lead-dark{max-width:680px;color:var(--muted);font-size:15px}.booking-price{margin-top:32px;display:flex;align-items:end;gap:22px}.booking-price span{font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}.booking-price strong{font-family:var(--serif);font-size:48px;font-weight:400;line-height:.9}
.booking-section{padding-top:62px}.booking-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:70px}.booking-block{display:grid;grid-template-columns:52px minmax(0,1fr);gap:22px;padding:42px 0;border-bottom:1px solid var(--line)}.section-number{font-family:var(--serif);font-size:18px;color:var(--gold);padding-top:4px}.booking-block h2{font-size:42px;margin-bottom:10px}.muted{color:var(--muted);font-size:13px;margin-top:0}.phone-showcase{display:grid;grid-template-columns:42px 1fr 42px;align-items:center;gap:10px;margin-top:28px}.phone-stage-large{min-height:430px;background:var(--cream);position:relative;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:28px}.phone-stage-large img{max-width:90%;height:330px;object-fit:contain}.phone-caption{position:absolute;bottom:18px;left:0;right:0;text-align:center}.phone-caption span{display:block;font-family:var(--serif);font-size:25px}.phone-caption small{font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}.slider-arrow{width:38px;height:38px;border:1px solid var(--line);background:var(--paper);font-family:var(--serif);font-size:28px;cursor:pointer}.phone-dots{text-align:center;margin-top:14px}.centered-choice{justify-content:center;margin-top:12px}
.select-wrap{display:flex;flex-direction:column;gap:8px;margin-top:25px}.select-wrap label,.conditional-panel label,.field label{font-size:10px;letter-spacing:.14em;text-transform:uppercase}.select-wrap select{border:1px solid var(--line);padding:15px;background:white;font:inherit;font-size:13px}.conditional-panel{margin-top:16px;padding:22px;background:var(--cream);border-left:2px solid var(--gold);display:flex;flex-direction:column;gap:9px}.conditional-panel[hidden]{display:none}.conditional-panel textarea,.conditional-panel input[type=file],.conditional-panel input[type=text]{border:1px solid var(--line);background:white;padding:14px;font:inherit;font-size:13px}.conditional-panel textarea{min-height:120px}.conditional-panel small{color:var(--muted);font-size:11px}
.addon-select{margin-top:20px}.toggle-option{display:flex;align-items:center;gap:15px;border:1px solid var(--line);padding:18px;background:white;cursor:pointer}.toggle-option input{width:18px;height:18px;accent-color:var(--ink)}.toggle-option span{display:flex;flex-direction:column;flex:1}.toggle-option strong{font-family:var(--serif);font-size:25px;font-weight:400}.toggle-option small{font-size:11px;color:var(--muted)}.toggle-option em{font-family:var(--serif);font-style:normal;font-size:22px}
.clean-form{margin-top:24px}.clean-form .field input,.clean-form .field select,.clean-form .field textarea{background:var(--paper);border-color:var(--line);padding:14px}.clean-form .field input:focus,.clean-form .field select:focus,.clean-form .field textarea:focus,.conditional-panel input:focus,.conditional-panel textarea:focus{outline:1px solid var(--gold);border-color:var(--gold)}
.order-summary{padding-top:42px}.summary-sticky{position:sticky;top:105px;border:1px solid var(--line);background:white;padding:28px}.summary-sticky h3{font-size:32px}.summary-image{height:180px;margin:18px 0;overflow:hidden}.summary-image img{width:100%;height:100%;object-fit:cover}.summary-row{display:flex;justify-content:space-between;font-size:12px;padding:8px 0}.summary-row strong{font-family:var(--serif);font-size:20px;font-weight:400}.summary-divider{border-top:1px solid var(--line);margin:10px 0}.summary-total{display:flex;justify-content:space-between;align-items:end}.summary-total span{font-size:10px;letter-spacing:.15em;text-transform:uppercase}.summary-total strong{font-family:var(--serif);font-size:42px;font-weight:400}.summary-sticky>p{font-size:10px;color:var(--muted);margin:8px 0 20px}.summary-note{font-size:11px;line-height:1.9;color:var(--muted)}.mobile-order-summary{display:none}.booking-submit{margin:42px 0 12px;width:100%;min-height:54px}.form-footnote{font-size:10px;color:var(--muted);text-align:center;line-height:1.6}.honeypot{display:none!important}

@media(max-width:900px){.booking-layout{grid-template-columns:1fr;gap:20px}.order-summary{display:none}.mobile-order-summary{display:grid;grid-template-columns:1fr auto;align-items:end;gap:4px;margin-top:36px;border-top:1px solid var(--line);padding-top:20px}.mobile-order-summary span{font-size:10px;letter-spacing:.14em;text-transform:uppercase}.mobile-order-summary strong{font-family:var(--serif);font-size:38px;font-weight:400}.mobile-order-summary small{grid-column:1/-1;color:var(--muted);font-size:10px}.booking-block{grid-template-columns:40px minmax(0,1fr)}}
@media(max-width:600px){.booking-hero{padding:58px 0}.booking-block{grid-template-columns:1fr;gap:5px}.section-number{font-size:12px}.booking-block h2{font-size:34px}.phone-showcase{grid-template-columns:32px 1fr 32px}.phone-stage-large{min-height:350px}.phone-stage-large img{height:260px}.nav .logo{width:135px}.booking-price strong{font-size:42px}}
.thanks-page{min-height:68vh;display:grid;place-items:center;background:var(--cream);padding:70px 0}.thanks-card{max-width:760px;text-align:center;background:white;border:1px solid var(--line);padding:70px 50px}.thanks-card h1{font-size:clamp(48px,7vw,78px)}.thanks-card p{max-width:620px;margin:18px auto;color:var(--muted);font-size:14px}

.travel-notice{max-width:1100px;margin:28px auto;padding:18px 22px;border:1px solid #d8d0c6;background:#f4f0eb;color:#1c1a18;font-family:Montserrat,Arial,sans-serif;font-size:12px;line-height:1.7;letter-spacing:.03em}.travel-notice strong{font-family:Cormorant Garamond,serif;font-size:18px;letter-spacing:.08em;text-transform:uppercase}.page-hero .travel-notice{margin:24px auto 0}.section>.travel-notice{margin-top:0;margin-bottom:36px}@media(max-width:700px){.travel-notice{margin:20px 16px;padding:16px 18px;font-size:11px}.travel-notice strong{font-size:17px}}

/* Smart Find address field */
.smart-address{position:relative}
.address-suggestions{position:absolute;z-index:50;left:0;right:0;top:calc(100% + 4px);background:#fff;border:1px solid rgba(20,20,20,.16);box-shadow:0 12px 30px rgba(0,0,0,.10);max-height:240px;overflow:auto}
.address-suggestion{display:block;width:100%;padding:12px 14px;border:0;border-bottom:1px solid rgba(20,20,20,.08);background:#fff;text-align:left;font:inherit;cursor:pointer}
.address-suggestion:last-child{border-bottom:0}
.address-suggestion:hover,.address-suggestion:focus{background:#f4f0eb;outline:none}
.address-suggestion small{display:block;margin-top:3px;opacity:.6}
