:root{--cream:#f6f1e7;--ink:#171715;--coral:#ee573b;--blue:#3066e8;--pink:#f0a4bd;--yellow:#f1c84b;--white:#fff;--line:rgba(23,23,21,.18)}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--cream);color:var(--ink);font-family:"DM Sans",sans-serif;font-size:16px;line-height:1.55}
img{width:100%;height:100%;object-fit:cover;display:block}
a{color:inherit}
.site-header{height:88px;padding:0 4vw;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:rgba(246,241,231,.94);backdrop-filter:blur(12px);position:sticky;top:0;z-index:20}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;line-height:1}
.brand-mark{width:48px;height:42px;display:grid;place-items:center;flex:0 0 auto}
.brand-mark img{width:100%;height:100%;object-fit:contain}
.footer-brand .brand-mark img{filter:invert(1)}
.brand strong,.brand small{display:block;letter-spacing:.14em}
.brand strong{font:800 14px/1.1 Figtree}
.brand small{font:600 8px/1.4 Figtree;margin-top:3px}
.site-header nav{display:flex;align-items:center;gap:30px}
.site-header nav a{font:600 13px Figtree;text-decoration:none}
.nav-cta{background:var(--ink);color:#fff;padding:13px 19px;border-radius:999px}
.menu-toggle{display:none;background:none;border:0;width:42px;height:42px}
.menu-toggle span{display:block;width:24px;border-top:2px solid;margin:7px auto}
.hero{min-height:760px;display:grid;grid-template-columns:.92fr 1.08fr;overflow:hidden}
.hero-copy{padding:9vw 5vw 6vw 6vw;position:relative;z-index:2}
.eyebrow,.section-number{font:700 12px Figtree;letter-spacing:.17em}
.hero h1,.intro h2,.occasions h2,.section-heading h2,.byo-copy h2,.possibilities h2,.custom h2,.pricing h2,.book h2{font:800 clamp(3rem,6vw,6.4rem)/.91 Figtree;letter-spacing:-.065em;margin:28px 0}
.hero h1 em,h2 em{font-style:normal;color:var(--coral)}
.hero-lead{font-size:1.16rem;max-width:570px}
.hero-actions{display:flex;align-items:center;gap:28px;margin:36px 0}
.button{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:999px;padding:17px 24px;font:700 14px Figtree;text-decoration:none;cursor:pointer}
.primary{background:var(--coral);color:#fff}
.text-link{font:700 14px Figtree;text-decoration:none;border-bottom:1px solid;padding-bottom:3px}
.hero-note{display:flex;gap:12px;flex-wrap:wrap;font-size:.86rem}
.hero-collage{background:var(--blue);position:relative;min-height:650px}
.photo{position:absolute;margin:0;box-shadow:0 18px 45px rgba(0,0,0,.2);border:9px solid #fff}
.photo-a{width:67%;height:57%;left:8%;top:9%;transform:rotate(-4deg)}
.photo-b{width:48%;height:48%;right:4%;bottom:7%;transform:rotate(5deg)}
.burst{position:absolute;right:6%;top:7%;background:var(--yellow);width:132px;height:132px;clip-path:polygon(50% 0,61% 15%,78% 7%,81% 25%,100% 30%,87% 45%,98% 60%,80% 68%,80% 88%,61% 82%,50% 100%,39% 83%,20% 90%,20% 69%,2% 61%,14% 46%,0 32%,20% 25%,21% 7%,39% 16%);display:grid;place-items:center;text-align:center;font:900 17px/1.05 Figtree;transform:rotate(8deg);z-index:3}
.tape{position:absolute;background:rgba(246,241,231,.72);width:100px;height:30px;z-index:4}
.tape-one{left:4%;top:7%;transform:rotate(-17deg)}
.tape-two{right:13%;bottom:5%;transform:rotate(-11deg)}
.ticker{overflow:hidden;background:var(--ink);color:#fff;padding:16px 0;white-space:nowrap}
.ticker div{font:800 14px Figtree;letter-spacing:.08em;word-spacing:20px;animation:ticker 25s linear infinite;width:max-content}
.ticker span{color:var(--coral)}
@keyframes ticker{to{transform:translateX(-35%)}
}
.intro,.packages,.possibilities,.pricing{padding:110px 6vw}
.section-number{border-top:1px solid currentColor;padding-top:12px;width:100%;margin-bottom:32px}
.intro-heading{display:grid;grid-template-columns:1.1fr .9fr;gap:7vw;align-items:end;margin-bottom:70px}
.intro-heading h2,.section-heading h2,.possibilities h2{font-size:clamp(3rem,5.6vw,5.8rem);margin:0}
.intro-heading p{font-size:1.12rem;max-width:560px}
.experience-grid{display:grid;grid-template-columns:1fr 1fr;gap:7vw;align-items:center}
.experience-photo{height:660px;margin:0;position:relative}
.experience-photo:after{content:"POP-UP READY";position:absolute;left:-28px;bottom:34px;transform:rotate(-7deg);background:var(--yellow);padding:12px 19px;font:800 13px Figtree}
.steps article{display:grid;grid-template-columns:54px 1fr;gap:20px;padding:24px 0;border-bottom:1px solid var(--line)}
.steps article>span{background:var(--pink);width:43px;height:43px;border-radius:50%;display:grid;place-items:center;font:800 12px Figtree}
.steps h3{font:800 1.25rem Figtree;margin:0 0 5px}
.steps p{margin:0;color:#494943}
.occasions{background:var(--pink);display:grid;grid-template-columns:1.1fr .9fr}
.occasions-copy{padding:100px 6vw}
.occasions h2{font-size:clamp(3rem,5vw,5rem)}
.occasions h2 em{color:var(--blue)}
.occasions figure{margin:0;min-height:620px}
.occasion-tags{display:flex;flex-wrap:wrap;gap:10px}
.occasion-tags span{border:1px solid var(--ink);border-radius:999px;padding:10px 16px;font:700 13px Figtree;background:rgba(255,255,255,.18)}
.section-heading{display:grid;grid-template-columns:1fr 1fr;column-gap:7vw}
.section-heading .section-number{grid-column:1/-1}
.section-heading p{align-self:end;max-width:500px}
.package-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:60px}
.package-card{padding:40px;border:2px solid var(--ink);display:flex;flex-direction:column;height:100%}
.package-card.standard{background:#fff}
.package-card.premium{background:var(--yellow)}
.package-top{display:flex;justify-content:space-between;border-bottom:1px solid var(--ink);padding-bottom:14px}
.package-top p{margin:0;font:900 18px Figtree}
.package-top span{font:700 10px Figtree;letter-spacing:.12em;border:1px solid;border-radius:999px;padding:5px 9px}
.price{display:flex;align-items:end;gap:10px;margin-top:32px}
.price strong{font:900 4.5rem/.9 Figtree;letter-spacing:-.06em}
.price span{font:700 12px Figtree}
.minimum{margin:12px 0 26px}
.package-card ul{list-style:none;padding:0;margin:0 0 30px}
.package-card li{padding:12px 0 12px 28px;border-top:1px solid rgba(0,0,0,.14);position:relative}
.package-card li:before{content:"✦";position:absolute;left:2px;color:var(--coral)}
.package-card>a{font:800 14px Figtree;margin-top:auto}
.package-title-line{white-space:nowrap}
.section-heading h2{font-size:clamp(3rem,4.6vw,5rem)}
.fine-print{font-size:.82rem;color:#555;max-width:880px;margin-top:58px}
.bring-your-own{display:grid;grid-template-columns:1.05fr .95fr;background:var(--blue);color:#fff}
.byo-gallery{display:grid;grid-template-columns:1.2fr .8fr;gap:12px;padding:22px}
.byo-gallery figure{margin:0}
.byo-main{height:650px}
.byo-small{height:440px;align-self:end}
.byo-copy{padding:100px 6vw;display:flex;flex-direction:column;justify-content:center}
.byo-copy h2{font-size:clamp(3rem,5vw,5.2rem)}
.byo-copy h2 em{color:var(--yellow)}
.byo-copy p{max-width:580px;font-size:1.08rem}
.callout{border-left:3px solid var(--yellow);padding-left:20px;margin:24px 0!important}
.white{background:#fff;color:var(--ink);align-self:flex-start;margin-top:18px}
.possibilities{text-align:center}
.possibilities .section-number{text-align:left}
.item-cloud{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;max-width:1100px;margin:55px auto 0}
.item-cloud span{border:2px solid;border-radius:999px;padding:12px 20px;font:800 clamp(.8rem,1.8vw,1.2rem) Figtree}
.item-cloud span:nth-child(3n+1){background:var(--coral);color:#fff}
.item-cloud span:nth-child(3n+2){background:var(--yellow)}
.item-cloud span:nth-child(3n){background:var(--pink)}
.custom{background:var(--ink);color:#fff;padding:110px 6vw;display:grid;grid-template-columns:.8fr 1.2fr;gap:7vw}
.custom h2{font-size:clamp(3rem,5vw,5rem);color:var(--yellow)}
.custom-intro>p{font-size:1.08rem}
.perfect-for{border-top:1px solid #777;padding-top:22px;margin-top:30px}
.custom-gallery{display:grid;grid-template-columns:1fr 1fr;gap:15px}
.custom-gallery figure{margin:0;height:300px}
.custom-gallery .gallery-wide{grid-column:1/-1;height:400px;background:#f4eee4}
.custom-gallery .gallery-wide img{object-fit:contain}
.pricing{display:grid;grid-template-columns:.75fr 1.25fr;gap:7vw}
.pricing h2{font-size:clamp(2.8rem,4.8vw,4.7rem)}
.price-list div{display:grid;grid-template-columns:1fr 110px 95px;gap:14px;padding:18px 0;border-bottom:1px solid var(--line);align-items:center}
.price-list span{font:700 1.05rem Figtree}
.price-list small{color:#65655f}
.price-list strong{text-align:right;font:800 1.05rem Figtree}
.pricing>.fine-print{grid-column:2;margin:0}
.book{background:var(--coral);padding:110px 6vw;display:grid;grid-template-columns:.85fr 1.15fr;gap:7vw}
.book h2{font-size:clamp(3rem,5vw,5.2rem)}
.book h2 em{color:#fff}
.book-copy>p{max-width:480px}
.book-copy>a{font-weight:700}
.contact-card{background:var(--cream);padding:38px;border:2px solid var(--ink);box-shadow:12px 12px 0 var(--ink);align-self:center}
.contact-kicker{font:800 12px Figtree;letter-spacing:.13em;margin:0 0 22px}
.contact-option{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 0;border-top:1px solid var(--ink);text-decoration:none;font:800 clamp(1.05rem,2vw,1.45rem) Figtree}
.contact-option span{min-width:0;overflow-wrap:anywhere}
.contact-option small{display:block;font:700 10px Figtree;letter-spacing:.16em;margin-bottom:6px;color:#686860}
.contact-option b{font-size:1.6rem}
.contact-note{margin:20px 0 0;max-width:500px;color:#565650}
footer{background:var(--ink);color:#fff;padding:50px 6vw;display:grid;grid-template-columns:1.2fr 1.2fr .7fr;gap:35px;align-items:center}
footer p{font-size:.88rem}
footer>a{font:800 13px Figtree;justify-self:end}
footer>small{grid-column:1/-1;color:#999;border-top:1px solid #444;padding-top:20px}
@media(max-width:900px){.site-header nav{position:absolute;left:0;right:0;top:88px;background:var(--cream);padding:25px 6vw;display:none;flex-direction:column;align-items:flex-start;border-bottom:1px solid}
.site-header nav.open{display:flex}
.menu-toggle{display:block}
.hero{grid-template-columns:1fr}
.hero-copy{padding:90px 6vw 55px}
.hero-collage{min-height:560px}
.intro-heading,.experience-grid,.section-heading,.bring-your-own,.custom,.pricing,.book{grid-template-columns:1fr}
.intro-heading{gap:20px}
.experience-photo{height:530px}
.occasions{grid-template-columns:1fr}
.occasions figure{min-height:480px}
.section-heading p{margin-top:12px}
.package-grid{grid-template-columns:1fr}
.package-card.premium{transform:none}
.byo-copy{padding:80px 6vw}
.pricing>.fine-print{grid-column:1}
.custom-gallery{margin-top:20px}
.book{gap:45px}
footer{grid-template-columns:1fr 1fr}
footer>a{justify-self:start}
}
@media(max-width:580px){.package-title-line{white-space:normal}
.site-header{height:74px}
.site-header nav{top:74px}
.hero-copy{padding-top:65px}
.hero h1{font-size:3.6rem}
.hero-actions{align-items:flex-start;flex-direction:column}
.hero-collage{min-height:450px}
.photo-a{width:80%;height:55%;left:4%}
.photo-b{width:57%;height:48%}
.burst{width:98px;height:98px;font-size:13px}
.intro,.packages,.possibilities,.pricing{padding:75px 6vw}
.intro-heading{margin-bottom:45px}
.experience-photo{height:410px}
.steps article{grid-template-columns:45px 1fr}
.occasions-copy{padding:75px 6vw}
.occasions figure{min-height:350px}
.package-card{padding:28px 22px}
.price strong{font-size:3.8rem}
.byo-gallery{grid-template-columns:1fr 1fr}
.byo-main{height:410px}
.byo-small{height:280px}
.custom{padding:75px 6vw}
.custom-gallery .gallery-wide{height:270px}
.custom-gallery figure{height:200px}
.price-list div{grid-template-columns:1fr 75px}
.price-list strong{grid-column:2;grid-row:1;text-align:right}
.price-list small{grid-column:1}
.book{padding:75px 6vw}
.inquiry-form{padding:24px 18px;box-shadow:7px 7px 0}
.field-row{grid-template-columns:1fr}
footer{grid-template-columns:1fr}
footer>small{grid-column:1/-1}
}
