@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600&family=Italiana&display=swap');
*{box-sizing:border-box}
:root{--cream:#f6f1ea;--paper:#fffdf9;--ink:#171717;--muted:#6e6963;--line:#d8d0c6}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',sans-serif}
a{text-decoration:none;color:inherit}
.header{position:sticky;top:0;z-index:20;height:84px;padding:0 7vw;display:flex;align-items:center;gap:24px;background:rgba(255,253,249,.96);backdrop-filter:blur(12px);border-bottom:1px solid #eee7df}
.brand{display:flex;flex-direction:column;margin-right:auto}.brand-main{font-family:'Italiana',serif;font-size:2rem;letter-spacing:.18em}.brand-sub{font-size:.58rem;letter-spacing:.28em;margin-top:3px}
.nav{display:flex;gap:26px;font-size:.9rem}.desktop-cta{min-height:48px;padding:0 20px}.menu-toggle{display:none;border:0;background:none;font-size:1.7rem}
.mobile-menu{position:fixed;inset:0;background:var(--paper);z-index:50;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;transform:translateY(-105%);transition:.35s ease}
.mobile-menu.open{transform:translateY(0)}.mobile-menu>a{font-family:'Italiana',serif;font-size:2.6rem}.close-menu{position:absolute;top:18px;right:24px;border:0;background:none;font-size:3rem}
.hero{min-height:680px;padding:6vw 8vw;display:grid;grid-template-columns:1.1fr .9fr;align-items:center;background:linear-gradient(125deg,#fff 0%,var(--cream) 100%)}
.eyebrow{font-size:.72rem;letter-spacing:.24em;font-weight:600}.hero h1,.section-title h2,.contact-copy h2{font-family:'Italiana',serif;font-weight:400;line-height:1.04;margin:12px 0}
.hero h1{font-size:clamp(4rem,7vw,7rem)}.hero h1 span{color:#7c654f}.lede{max-width:560px;color:var(--muted);font-size:1.07rem;line-height:1.7}
.hero-actions{display:flex;gap:22px;align-items:center;margin-top:30px}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:58px;padding:0 26px;border-radius:999px;border:0;cursor:pointer;font-family:'Italiana',serif;letter-spacing:.07em;background:var(--ink);color:white}.text-link{text-decoration:underline;text-underline-offset:5px}
.hero-visual{height:520px;position:relative;display:flex;align-items:flex-end;justify-content:center}.arch{position:absolute;width:370px;height:470px;border-radius:200px 200px 0 0;background:#eadfce;bottom:0}.booth{position:absolute;bottom:155px;width:205px;height:280px;padding:20px;border-radius:82px 82px 50px 50px;background:#f4f4f1;z-index:2;box-shadow:0 28px 44px rgba(70,50,30,.15)}.screen{height:100%;border-radius:44px;background:#111;color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center}.screen span{font-family:'Italiana',serif;font-size:2.2rem;letter-spacing:.16em}.screen small{font-size:.55rem;letter-spacing:.14em;margin-top:12px}.stand{width:54px;height:175px;background:#ecece8;z-index:1}.base{position:absolute;bottom:0;width:220px;height:34px;border-radius:50%;background:#e5e3dd}
.trustbar{display:grid;grid-template-columns:repeat(3,1fr);padding:36px 8vw;border-top:1px solid var(--line);border-bottom:1px solid var(--line);text-align:center}.trustbar div{border-right:1px solid var(--line)}.trustbar div:last-child{border-right:0}.trustbar strong{display:block;font-family:'Italiana',serif;font-size:1.6rem}.trustbar span{color:var(--muted)}
.section{padding:105px 8vw}.intro{background:var(--cream)}.section-title{max-width:820px}.section-title.centered{text-align:center;margin:0 auto 58px}.section-title h2,.contact-copy h2{font-size:clamp(3rem,5vw,5rem)}.section-title p:not(.eyebrow){color:var(--muted);line-height:1.6}
.intro-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;margin-top:45px}.statement{font-family:'Italiana',serif;font-size:2rem;line-height:1.45;margin:0}.feature-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.feature-grid span{padding-bottom:14px;border-bottom:1px solid #cfc6bc}.travel{margin-top:38px;color:var(--muted)}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.card{border:1px solid #ddd4ca;background:#fff}.card-image{height:250px;display:flex;align-items:flex-end;padding:22px;letter-spacing:.2em;font-size:.75rem}.social{background:linear-gradient(145deg,#d5b996,#efe4d7)}.wedding{background:linear-gradient(145deg,#bdb4aa,#f1ebe4)}.corporate{background:linear-gradient(145deg,#2d2d2d,#967e64);color:white}.card-body{padding:32px}.smallcaps{font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.card-body h3{font-family:'Italiana',serif;font-size:2.2rem;margin:12px 0}.card-body>p:not(.smallcaps){color:var(--muted);line-height:1.6}.card-body ul{list-style:none;padding:0;margin:24px 0}.card-body li{padding:9px 0;border-bottom:1px solid #eee8e1;color:#4b4742}.card-body .btn{width:100%}.disclaimer{text-align:center;color:var(--muted);margin-top:34px}
.backdrops{background:var(--cream)}.backdrop-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.backdrop-grid article{text-align:center}.swatch{height:320px;border-radius:26px;border:1px solid #d6cec4}.silver{background:linear-gradient(135deg,#f5f5f5,#c7c7c7 45%,#efefef 55%,#aaa)}.white{background:linear-gradient(135deg,#fff,#eee)}.redcurtain{background:repeating-linear-gradient(90deg,#5d0000 0 18px,#9d1717 18px 36px,#6f0505 36px 54px)}.redroses{background:radial-gradient(circle at 30% 30%,#d51f35 0 12%,#870515 13% 25%,#4e0009 26% 40%,#9b0719 41% 55%,#5b000a 56%)}.blackroses{background:radial-gradient(circle at 30% 30%,#333 0 12%,#111 13% 25%,#050505 26% 40%,#222 41% 55%,#090909 56%)}.blacksparkle{background:radial-gradient(circle,#ddd 0 1px,transparent 2px),#090909;background-size:18px 18px}.backdrop-grid h3{font-family:'Italiana',serif;font-size:2rem}
.gallery-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:32px;max-width:none}.gallery-heading>div:first-child{max-width:760px}.gallery-socials{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px;align-items:center}.gallery-socials span{width:100%;text-align:right;font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}.gallery-socials a{border:1px solid var(--line);border-radius:999px;padding:10px 14px;font-size:.78rem;transition:.2s ease}.gallery-socials a:hover{background:var(--ink);color:#fff;border-color:var(--ink)}
.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:220px;gap:14px;margin-top:48px}.gallery-photo{position:relative;overflow:hidden;border:0;padding:0;border-radius:22px;background:#eee;cursor:pointer;text-align:left;min-width:0}.gallery-photo img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .35s ease}.gallery-photo:hover img{transform:scale(1.035)}.gallery-photo::after{content:'';position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.56),rgba(0,0,0,0) 52%);pointer-events:none}.gallery-photo span{position:absolute;z-index:2;left:18px;bottom:16px;color:#fff;font-size:.7rem;letter-spacing:.14em;text-transform:uppercase}.gallery-photo.feature{grid-column:span 2;grid-row:span 2}.gallery-photo.wide{grid-column:span 2}.gallery-photo.tall{grid-row:span 2}.gallery-photo.feature img{object-position:center}.gallery-photo.tall img{object-position:center}.gallery-placeholder{border:1px solid var(--line);border-radius:22px;background:linear-gradient(145deg,#f4eee7,#e9dfd4);display:flex;flex-direction:column;justify-content:flex-end;padding:20px}.gallery-placeholder span{font-family:'Italiana',serif;font-size:1.55rem}.gallery-placeholder small{margin-top:5px;color:var(--muted);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase}.gallery-note{text-align:center;color:var(--muted);margin-top:22px}.lightbox{position:fixed;inset:0;z-index:100;background:rgba(15,15,15,.92);display:none;align-items:center;justify-content:center;padding:5vw}.lightbox.open{display:flex}.lightbox img{max-width:min(1100px,94vw);max-height:88vh;border-radius:16px;box-shadow:0 30px 80px rgba(0,0,0,.35)}.lightbox-close{position:absolute;top:22px;right:28px;background:transparent;border:0;color:white;font-size:2.6rem;cursor:pointer}.footer-row{display:flex;justify-content:space-between;align-items:flex-end;gap:30px}.footer-socials{display:flex;gap:18px;flex-wrap:wrap;justify-content:flex-end}.footer-socials a{color:#fff;text-decoration:underline;text-underline-offset:5px}.footer-socials a:hover{color:#d8c8b9}
.faq{background:var(--cream)}.faq-list{max-width:900px;margin:auto}details{border-bottom:1px solid #bfb7ad;padding:20px 0}summary{font-family:'Italiana',serif;font-size:1.7rem;cursor:pointer}details p{color:var(--muted);line-height:1.65}
.contact{display:grid;grid-template-columns:1fr 1fr;gap:70px}.contact-copy>p{color:var(--muted);line-height:1.7}.contact-links{display:flex;flex-direction:column;gap:8px;margin-top:24px}.contact-links a{text-decoration:underline;text-underline-offset:4px}.form{display:grid;gap:15px}.form label{font-size:.78rem;letter-spacing:.08em;text-transform:uppercase}input,select,textarea{width:100%;margin-top:6px;padding:14px;border:1px solid #cbc3b9;background:#fff;font:inherit}.form-note{font-size:.75rem;color:var(--muted)}
footer{background:#151515;color:white;padding:44px 8vw}.footer-brand{font-family:'Italiana',serif;font-size:2rem}footer p{color:#b7b7b7;margin:6px 0}
@media(max-width:980px){.nav,.desktop-cta{display:none}.menu-toggle{display:block}.hero{grid-template-columns:1fr;text-align:center}.lede{margin:auto}.hero-actions{justify-content:center}.intro-grid,.contact{grid-template-columns:1fr}.cards,.backdrop-grid{grid-template-columns:1fr}.gallery-heading{align-items:flex-start;flex-direction:column}.gallery-socials{justify-content:flex-start}.gallery-socials span{text-align:left}.gallery-grid{grid-template-columns:repeat(2,1fr)}.footer-row{align-items:flex-start;flex-direction:column}.footer-socials{justify-content:flex-start}}
@media(max-width:650px){.hero{padding:70px 7vw}.hero h1{font-size:3.6rem}.hero-actions{flex-direction:column}.hero-visual{height:430px}.arch{width:300px;height:390px}.booth{width:165px;height:225px;bottom:128px}.stand{height:145px}.base{width:180px}.trustbar{grid-template-columns:1fr;padding:0 7vw}.trustbar div{padding:22px 0;border-right:0;border-bottom:1px solid var(--line)}.trustbar div:last-child{border-bottom:0}.section{padding:78px 7vw}.feature-grid{grid-template-columns:1fr}.gallery-grid{grid-template-columns:1fr;grid-auto-rows:290px}.gallery-photo.feature,.gallery-photo.wide,.gallery-photo.tall{grid-column:auto;grid-row:auto}.gallery-placeholder{min-height:230px}.section-title h2,.contact-copy h2{font-size:3rem}.footer-socials{flex-direction:column;gap:10px}}


/* Focused experience landing pages */
.experience-page{background:var(--cream)}
.experience-landing{min-height:calc(100vh - 90px);display:flex;align-items:center;padding:110px 8vw;background:linear-gradient(145deg,#fff,var(--cream))}
.experience-landing-inner{max-width:860px;margin:0 auto;text-align:center}
.back-link{display:inline-block;margin-bottom:34px;color:var(--muted);text-decoration:underline;text-underline-offset:5px}
.experience-landing h1{font-family:'Italiana',serif;font-weight:400;font-size:clamp(3.7rem,7vw,7.2rem);line-height:1.02;margin:16px 0 24px}
.experience-pitch{max-width:720px;margin:0 auto;color:var(--muted);font-size:1.15rem;line-height:1.75}
.experience-benefits{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:42px 0}
.experience-benefits span{padding:18px 12px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:.82rem;letter-spacing:.06em}
.experience-cta{min-width:240px}
.wedding-landing{background:linear-gradient(145deg,#fff,#efe7df)}
.social-landing{background:linear-gradient(145deg,#fff,#f1e4d2)}
.corporate-landing{background:linear-gradient(145deg,#f7f4ef,#ddd2c5)}
@media(max-width:650px){.experience-landing{padding:78px 7vw}.experience-landing h1{font-size:3.7rem}.experience-benefits{grid-template-columns:1fr;gap:0}.experience-benefits span{border-bottom:0}.experience-benefits span:last-child{border-bottom:1px solid var(--line)}}

/* === Niche campaign landing pages === */
body.campaign-page{background:#f7f3ed;color:#171717}
.campaign-page .header{background:rgba(248,245,239,.96);backdrop-filter:blur(10px)}
.campaign-hero{position:relative;min-height:78vh;display:grid;grid-template-columns:1.05fr .95fr;overflow:hidden;background:#151310;color:#fff}
.campaign-hero-copy{padding:9rem 5vw 5rem;display:flex;flex-direction:column;justify-content:center;z-index:2}
.campaign-hero-media{min-height:620px;background-size:cover;background-position:center;position:relative}
.campaign-hero-media::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(17,15,12,.4),rgba(17,15,12,.02))}
.campaign-hero .eyebrow{color:#d6ad68;letter-spacing:.17em}
.campaign-hero h1{font-family:Georgia,'Times New Roman',serif;font-weight:400;font-size:clamp(3.4rem,6vw,6.5rem);line-height:.94;margin:.8rem 0 1.4rem;max-width:760px}
.campaign-hero h1 em{font-weight:400;color:#d6ad68}
.campaign-hero p.hero-sub{font-size:1.12rem;line-height:1.75;max-width:580px;color:#eee6dd;margin:0 0 2rem}
.campaign-meta{display:flex;gap:1.2rem;flex-wrap:wrap;margin-top:2rem;font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;color:#ddd2c3}
.campaign-meta span{padding-right:1.2rem;border-right:1px solid rgba(255,255,255,.25)}
.campaign-meta span:last-child{border-right:0}
.campaign-btn{display:inline-flex;align-items:center;justify-content:center;gap:.8rem;background:#d6ad68;color:#111;text-decoration:none;border-radius:4px;padding:1rem 1.5rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;width:max-content}
.campaign-btn.dark{background:#141414;color:#fff}
.campaign-section{padding:5.5rem 5vw}
.campaign-section.light{background:#fbf9f5}
.campaign-section.white{background:#fff}
.campaign-two-col{display:grid;grid-template-columns:1fr 1fr;gap:4.5rem;max-width:1200px;margin:auto}
.campaign-kicker{font-size:.75rem;letter-spacing:.18em;text-transform:uppercase;color:#9a6f35;margin-bottom:1rem}
.campaign-section h2{font-family:Georgia,'Times New Roman',serif;font-weight:400;font-size:clamp(2.4rem,4vw,4.25rem);line-height:1.08;margin:.3rem 0 1rem}
.campaign-section p{font-size:1.03rem;line-height:1.8;color:#5d5851}
.campaign-split-card{border-top:1px solid #d9d0c5;padding-top:1.5rem}
.campaign-feature-wrap{text-align:center;max-width:1200px;margin:auto}
.campaign-features{display:grid;grid-template-columns:repeat(5,1fr);gap:1px;background:#ddd4c9;border:1px solid #ddd4c9;margin-top:2.5rem}
.campaign-feature{background:#fff;padding:2rem 1.2rem;min-height:190px}
.campaign-feature .icon{font-size:1.6rem;margin-bottom:1rem;color:#a8793e}
.campaign-feature strong{display:block;font-size:.85rem;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.5rem}
.campaign-feature span{font-size:.86rem;line-height:1.55;color:#6b655e}
.campaign-gallery{display:grid;grid-template-columns:1.3fr .85fr .85fr;gap:.7rem;max-width:1200px;margin:0 auto}
.campaign-gallery img,.campaign-gallery .concept-tile{width:100%;height:350px;object-fit:cover;display:block;border-radius:3px}
.concept-tile{display:flex!important;align-items:flex-end;padding:1.5rem;color:#fff;background:linear-gradient(145deg,#2d2721,#8a6847);font-family:Georgia,serif;font-size:1.6rem}
.campaign-trust{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;max-width:1100px;margin:0 auto;text-align:center}
.campaign-trust div{padding:1.5rem;border-top:1px solid #d6ccc0;font-size:.83rem;text-transform:uppercase;letter-spacing:.05em}
.campaign-final{padding:5.5rem 5vw;text-align:center;color:#fff;background:#16130f}
.campaign-final h2{font-family:Georgia,serif;font-weight:400;font-size:clamp(2.5rem,5vw,4.8rem);margin:0 auto 1rem;max-width:900px}
.campaign-final p{max-width:650px;margin:0 auto 2rem;color:#ded5c9;line-height:1.7}
.campaign-final .campaign-btn{margin:auto}
.campaign-page.quince .campaign-hero{background:#24121f}
.campaign-page.quince .campaign-hero .eyebrow,.campaign-page.quince .campaign-hero h1 em{color:#e7a1c6}
.campaign-page.quince .campaign-btn{background:#e7a1c6}
.campaign-page.quince .campaign-kicker{color:#a94f82}
.campaign-page.quince .campaign-feature .icon{color:#b85f91}
.campaign-page.quince .concept-tile{background:linear-gradient(145deg,#3d1830,#b75d91)}
.campaign-page.quince .campaign-final{background:#2a1524}
.campaign-page.corporate .campaign-hero{background:#0e151b}
.campaign-page.corporate .campaign-hero .eyebrow,.campaign-page.corporate .campaign-hero h1 em{color:#c8a66a}
.campaign-page.corporate .campaign-kicker{color:#80663c}
.campaign-page.corporate .concept-tile{background:linear-gradient(145deg,#13202a,#8c7148)}
.campaign-page.corporate .campaign-final{background:#0e151b}
.niche-note{max-width:900px;margin:1rem auto 0;text-align:center;color:#777;font-size:.88rem;line-height:1.6}
@media(max-width:900px){
  .campaign-hero{grid-template-columns:1fr;min-height:auto}
  .campaign-hero-copy{padding:7rem 7vw 3.5rem;order:2}
  .campaign-hero-media{min-height:430px;order:1;margin-top:76px}
  .campaign-hero h1{font-size:clamp(3rem,13vw,4.6rem)}
  .campaign-two-col{grid-template-columns:1fr;gap:2.5rem}
  .campaign-features{grid-template-columns:1fr 1fr}
  .campaign-gallery{grid-template-columns:1fr 1fr}
  .campaign-gallery img,.campaign-gallery .concept-tile{height:270px}
  .campaign-gallery>*:first-child{grid-column:1/-1;height:390px}
  .campaign-trust{grid-template-columns:1fr 1fr}
}
@media(max-width:540px){
  .campaign-section{padding:4rem 6vw}
  .campaign-features{grid-template-columns:1fr}
  .campaign-gallery{grid-template-columns:1fr}
  .campaign-gallery>*:first-child{grid-column:auto;height:330px}
  .campaign-gallery img,.campaign-gallery .concept-tile{height:300px}
  .campaign-trust{grid-template-columns:1fr 1fr}
  .campaign-meta{display:grid;grid-template-columns:1fr 1fr}
  .campaign-meta span{border-right:0;padding-right:0}
}
