
:root {
  --burgundy:#690C22;
  --cream:#F4F5F4;
  --paper:#FFFFFF;
  --ink:#181315;
  --pink:#D995A7;
  --line:#DCDDDB;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--cream);color:var(--ink);font-family:Arial,Helvetica,sans-serif}
h1,h2,h3{font-family:Georgia,'Times New Roman',serif;font-weight:400;line-height:.98;margin:0}
p{line-height:1.62}
a{color:inherit}
.wrap{width:min(1180px,92%);margin:auto}
.eyebrow{font-size:10px;letter-spacing:.19em;text-transform:uppercase;color:var(--burgundy);font-weight:700}
.btn{display:inline-block;background:var(--burgundy);color:#fff;text-decoration:none;padding:14px 22px;font-size:11px;letter-spacing:.14em;text-transform:uppercase;border:1px solid var(--burgundy)}

header{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.96);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
nav{height:84px;display:flex;align-items:center;justify-content:space-between;gap:18px}
.brand{display:flex;align-items:center;gap:12px}
.brand img{width:50px;height:50px;border-radius:50%;object-fit:cover}
.brandname{font-family:Georgia,serif;font-style:italic;font-size:27px}
.brandsub{font-size:9px;letter-spacing:.17em;text-transform:uppercase}
.links{display:flex;gap:24px;font-size:11px;letter-spacing:.09em;text-transform:uppercase}
.links a{text-decoration:none}

.hero{min-height:760px;position:relative;display:flex;align-items:center;background:
linear-gradient(90deg,rgba(18,13,15,.60) 0%,rgba(18,13,15,.28) 46%,rgba(18,13,15,.03) 78%),
url('../images/058da45599.jpg') center 42%/cover no-repeat}
.hero-inner{padding:100px 0;color:#fff;max-width:660px}
.hero .eyebrow{color:#f2dfe4;margin-bottom:22px}
.hero h1{font-size:clamp(58px,7.8vw,104px);letter-spacing:-.055em}
.hero h1 em{color:var(--burgundy);font-style:italic;text-shadow:0 1px 0 rgba(255,255,255,.25)}
.hero p{max-width:590px;font-size:18px}
.hero-note{font-size:12px!important;letter-spacing:.04em;color:#f5ebee}

.trust{background:var(--paper);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:17px 0}
.trust .wrap{display:flex;justify-content:center;gap:38px;flex-wrap:wrap;font-size:10px;letter-spacing:.13em;text-transform:uppercase}

section{padding:92px 0}
.white{background:var(--paper)}
.title{font-size:clamp(44px,5vw,72px);letter-spacing:-.04em}
.lead{font-size:18px;max-width:720px}

.value{display:grid;grid-template-columns:.7fr 1.3fr;gap:70px;align-items:start}
.value-copy{max-width:720px}
.value-points{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:36px}
.point{background:var(--paper);border:1px solid var(--line);padding:22px}
.point strong{display:block;font-family:Georgia,serif;font-size:22px;margin-bottom:8px}
.point span{font-size:13px;line-height:1.5;color:#4d4548}

.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:44px}
.card{background:#fff;border:1px solid var(--line)}
.card img{width:100%;height:420px;object-fit:cover}
.card-body{padding:25px}
.card h3{font-size:34px}
.best{font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:var(--burgundy);font-weight:700;margin:10px 0}
.spec{font-size:14px;color:#4e4649}
.tag{display:inline-block;background:var(--burgundy);color:#fff;padding:7px 10px;font-size:9px;letter-spacing:.15em;text-transform:uppercase;margin-bottom:12px}

.keepsake{background:var(--burgundy);color:#fff}
.keepsake-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:58px;align-items:center}
.keep-photos{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.keep-photos img{width:100%;height:500px;object-fit:cover}
.keepsake .eyebrow{color:#f3d9e1}
.keepsake p{color:#f2e8eb}
.steps{font-size:14px;border-top:1px solid rgba(255,255,255,.25);padding-top:18px}

.occasion-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:40px}
.big-event,.small-event{position:relative;min-height:600px;background-size:cover;background-position:center;overflow:hidden}
.small-stack{display:grid;grid-template-rows:1fr;gap:16px}
.small-event{min-height:600px}
.big-event:after,.small-event:after{content:"";position:absolute;inset:38% 0 0;background:linear-gradient(transparent,rgba(0,0,0,.82))}
.event-copy{position:absolute;z-index:2;left:26px;right:26px;bottom:24px;color:#fff}
.event-copy h3{font-size:36px}
.event-copy p{font-size:14px;max-width:540px}

.brand-feature{background:#fff}
.brand-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:60px;align-items:center}
.brand-collage{display:grid;grid-template-columns:1.2fr .8fr;grid-template-rows:340px 260px;gap:12px}
.brand-collage img{width:100%;height:100%;object-fit:cover}
.brand-collage .heroimg{grid-row:1/3}
.brand-copy ul{padding-left:18px;line-height:1.8}
.brand-copy li{margin-bottom:5px}

.prints{display:grid;grid-template-columns:.8fr 1.2fr;gap:50px;align-items:center}
.prints img{width:100%;height:620px;object-fit:contain;background:#edf8fc;object-position:center}

.gallery{background:#171113;color:#fff}
.gallery .eyebrow{color:#e6bfc9}
.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:35px}
.gallery-grid img{width:100%;height:330px;object-fit:cover}
.gallery-grid img:nth-child(1){grid-column:span 2;height:430px}
.gallery-grid img:nth-child(2){grid-column:span 2;height:430px}

.motion{display:grid;grid-template-columns:.9fr 1.1fr;gap:50px;align-items:center}
.motion video{width:100%;height:590px;object-fit:cover;background:#000}

.review{text-align:center}
.review-card{max-width:900px;margin:30px auto 0;background:#fff;border:1px solid var(--line);padding:48px}
.review blockquote{font-family:Georgia,serif;font-size:clamp(28px,4vw,46px);margin:12px auto 22px;line-height:1.18}
.stars{color:var(--burgundy);letter-spacing:.12em}

.cta{background:var(--burgundy);color:#fff;text-align:center}
.cta .eyebrow{color:#eed3db}
.cta h2{font-size:clamp(50px,6vw,86px);margin:18px 0 28px}
.cta .btn{background:#fff;color:var(--burgundy);border-color:#fff}

footer{background:#120d0f;color:#fff;padding:55px 0}
.footer-grid{display:grid;grid-template-columns:1.3fr .8fr .8fr;gap:60px}
.footer-logo{width:72px;height:72px;border-radius:50%;object-fit:cover;margin-bottom:15px}
footer h4{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#d9b9c2}
footer a{display:block;text-decoration:none;margin:10px 0;font-size:14px}
.footnote{border-top:1px solid #392a30;margin-top:42px;padding-top:20px;font-size:11px;color:#b9a9ae}

@media(max-width:900px){
  .links{display:none}
  .hero{min-height:690px;background-position:60% center}
  .hero h1{font-size:58px}
  .value,.keepsake-grid,.brand-grid,.prints,.motion,.occasion-grid,.footer-grid{grid-template-columns:1fr}
  .value-points{grid-template-columns:1fr}
  .cards{grid-template-columns:1fr}
  .card img{height:360px}
  .keep-photos img{height:390px}
  .small-stack{grid-template-rows:auto}
  .big-event,.small-event{min-height:470px}
  .brand-collage{grid-template-columns:1fr 1fr;grid-template-rows:420px 220px}
  .brand-collage .heroimg{grid-column:1/3;grid-row:auto}
  .gallery-grid{grid-template-columns:1fr 1fr}
  .gallery-grid img,.gallery-grid img:nth-child(1),.gallery-grid img:nth-child(2){grid-column:auto;height:300px}
  section{padding:70px 0}
}

/* V5 tablet / iPad fixes */
.hero-kicker{display:inline-block;padding:8px 11px;border:1px solid rgba(255,255,255,.55);backdrop-filter:blur(4px)}
@media (min-width:701px) and (max-width:1180px){
  section{padding:76px 0}
  .wrap{width:min(920px,90%)}
  .hero{min-height:720px;background-position:54% center}
  .hero-inner{max-width:600px;padding:84px 0}
  .value{grid-template-columns:1fr;gap:28px}
  .value-points{grid-template-columns:repeat(3,1fr);margin-top:20px}
  .cards{grid-template-columns:repeat(3,1fr)}
  .card img{height:300px;object-position:center top}
  .keepsake-grid{grid-template-columns:1fr;gap:34px}
  .keep-photos img{height:430px;object-position:center top}
  .occasion-grid{grid-template-columns:1fr;gap:14px}
  .small-stack{grid-template-columns:1fr 1fr;grid-template-rows:none}
  .big-event{min-height:560px;background-position:center 24%}
  .small-event{min-height:430px;background-position:center 20%}
  .brand-grid{grid-template-columns:1fr;gap:34px}
  .brand-collage{grid-template-columns:1fr 1fr;grid-template-rows:420px 300px}
  .brand-collage img{object-position:center top}
  .brand-collage .heroimg{grid-column:1/3;grid-row:auto}
  .prints{grid-template-columns:1fr;gap:28px}
  .prints img{height:500px}
  .editorial-grid{grid-template-columns:1fr 1fr;grid-auto-rows:300px}
  .editorial-grid img{object-position:center top}
  .editorial-grid .wide{grid-column:span 2;grid-row:span 1}
  .video-row video{flex:0 0 46%;height:520px}
}
@media (max-width:700px){
  .hero{background-position:58% center}
  .hero-inner{padding-top:120px}
  .hero h1{font-size:54px}
  .occasion-grid,.small-stack{display:grid;grid-template-columns:1fr}
  .big-event,.small-event{background-position:center 20%}
  .brand-collage img,.editorial-grid img{object-position:center top}
}


/* V7 cleaner + iPad-safe */
.why-brand{display:flex;flex-direction:column;align-items:flex-start}
.why-logo-card{width:100%;min-height:270px;border:1px solid var(--line);background:linear-gradient(145deg,#fff,#f5efec);display:flex;flex-direction:column;justify-content:center;align-items:center;margin-top:28px}
.why-logo-card img{width:110px;height:110px;object-fit:contain}
.why-logo-text{font-family:Georgia,serif;font-size:19px;letter-spacing:.14em;color:var(--burgundy);margin-top:10px}
.event-photo-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:40px}
.event-photo-card{background:#fff;border:1px solid var(--line);overflow:hidden}
.event-photo-card img{width:100%;height:auto;display:block;object-fit:contain;background:#f3efed}
.event-label{padding:22px 24px}
.event-label h3{font-size:34px;margin:0}

.brand-rail,.print-rail,.moments-rail{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;padding:8px 2px 16px;scrollbar-width:none}
.brand-rail::-webkit-scrollbar,.print-rail::-webkit-scrollbar,.moments-rail::-webkit-scrollbar{display:none}
.brand-rail img{flex:0 0 62%;height:560px;object-fit:contain;background:#F1F2F1;scroll-snap-align:start}
.print-card{flex:0 0 40%;min-height:520px;background:#edf8fc;display:flex;align-items:center;justify-content:center;scroll-snap-align:start}
.print-card img{width:100%;height:520px;object-fit:contain}
.moment-card{flex:0 0 36%;background:#231b1e;display:flex;align-items:center;justify-content:center;scroll-snap-align:start}
.moment-card img{width:100%;height:520px;object-fit:contain;background:#231b1e}

@media (min-width:701px) and (max-width:1180px){
  .hero{background-position:center center}
  .value{grid-template-columns:.65fr 1.35fr;gap:34px}
  .why-logo-card{min-height:220px}
  .event-photo-grid{grid-template-columns:1fr 1fr}
  .event-photo-card img{height:auto;object-fit:contain}
  .brand-rail img{flex-basis:72%;height:520px}
  .print-card{flex-basis:60%}
  .moment-card{flex-basis:56%}
}
@media (max-width:700px){
  .value{grid-template-columns:1fr}
  .why-logo-card{min-height:180px;margin-top:18px}
  .event-photo-grid{grid-template-columns:1fr}
  .brand-rail img{flex-basis:88%;height:470px}
  .print-card{flex-basis:86%;min-height:460px}
  .print-card img{height:460px}
  .moment-card{flex-basis:86%}
  .moment-card img{height:460px}
}


/* V8 responsive corrections */
.why-monogram{margin-top:28px;min-height:240px;background:var(--burgundy);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:30px 18px}
.mono-main{font-family:Georgia,serif;font-size:74px;line-height:1;font-style:italic}
.mono-small{font-size:9px;letter-spacing:.22em;text-transform:uppercase;margin:9px 0}

.brand-rail,.print-rail,.moments-rail{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;padding:16px 0 22px;scrollbar-width:none}
.brand-rail::-webkit-scrollbar,.print-rail::-webkit-scrollbar,.moments-rail::-webkit-scrollbar{display:none}
.brand-card,.print-card,.moment-card{margin:0;flex:0 0 34%;scroll-snap-align:start;background:#fff;border:1px solid var(--line);overflow:hidden}
.brand-card img,.print-card img,.moment-card img{display:block;width:100%;height:auto!important;max-height:none!important;object-fit:contain!important;object-position:center!important}
.gallery .moment-card{background:#231b1e;border-color:#3c3035}

.faq-list{max-width:900px;margin-top:38px}
.faq-list details{padding:20px 0;border-top:1px solid var(--line)}
.faq-list details:last-child{border-bottom:1px solid var(--line)}
.faq-list summary{cursor:pointer;font-family:Georgia,serif;font-size:22px}
.faq-list p{max-width:760px;color:#4d4548}

@media (min-width:701px) and (max-width:1180px){
  .wrap{width:min(960px,92%)}
  .hero{min-height:680px;background-position:center center}
  .value{grid-template-columns:.62fr 1.38fr;gap:34px}
  .why-monogram{min-height:215px}
  .event-photo-card img{width:100%;height:auto!important;object-fit:contain!important;object-position:center!important}
  .brand-card,.print-card,.moment-card{flex-basis:47%}
}
@media (max-width:700px){
  .hero{min-height:650px;background-position:center center}
  .hero-inner{padding:82px 0}
  .hero h1{font-size:56px}
  .value{grid-template-columns:1fr}
  .why-monogram{min-height:165px;margin-top:18px}
  .mono-main{font-size:56px}
  .event-photo-grid{grid-template-columns:1fr}
  .event-photo-card img{width:100%;height:auto!important;object-fit:contain!important;object-position:center!important}
  .brand-card,.print-card,.moment-card{flex-basis:82%}
}


/* V9 polish */
.hero-kicker{
  border:none !important;
  padding:0 !important;
  background:none !important;
  backdrop-filter:none !important;
  letter-spacing:.18em;
}

.why-original-logo{
  margin-top:26px;
  display:flex;
  align-items:center;
  gap:16px;
  padding:24px 0;
}
.why-original-logo img{
  width:78px;
  height:78px;
  object-fit:contain;
  flex:0 0 auto;
}
.why-logo-copy .brandname{
  font-family:Georgia,serif;
  font-size:34px;
  line-height:1;
  font-style:italic;
}
.why-logo-copy .brandsub{
  margin-top:7px;
  font-size:10px;
  letter-spacing:.19em;
  text-transform:uppercase;
}

@media (min-width:701px) and (max-width:1180px){
  .why-original-logo{padding:20px 0}
  .why-original-logo img{width:72px;height:72px}
  .why-logo-copy .brandname{font-size:30px}
}

@media (max-width:700px){
  .trust{padding:12px 0}
  .trust .wrap{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:12px 16px;
    text-align:center;
    font-size:9px;
  }
  .why-section{padding-top:52px !important;padding-bottom:56px !important}
  .why-brand{display:block}
  .why-original-logo{
    margin-top:16px;
    padding:0;
    gap:12px;
  }
  .why-original-logo img{width:58px;height:58px}
  .why-logo-copy .brandname{font-size:26px}
  .why-logo-copy .brandsub{font-size:8px;letter-spacing:.15em}
  .value-copy{margin-top:30px}
  .value-copy .title{font-size:48px;line-height:.98}
  .value-copy .lead{font-size:18px;line-height:1.55}
}


/* V10 editorial typography + responsive polish */
:root{
  --display-serif: Georgia, "Times New Roman", serif;
  --clean-sans: Arial, Helvetica, sans-serif;
}
.title, .hero h1{
  font-family:var(--display-serif);
  font-weight:400;
  letter-spacing:-.035em;
}
.title em, .hero h1 em{
  color:#690C22;
  font-weight:400;
}
.point strong{
  font-family:var(--clean-sans);
  font-weight:600;
  letter-spacing:-.015em;
}
.point span, .lead, p{
  font-family:var(--clean-sans);
}
.eyebrow{
  font-family:var(--clean-sans);
  font-weight:700;
  letter-spacing:.18em;
}

.why-photo{
  margin-top:28px;
  width:100%;
  aspect-ratio:4/5;
  overflow:hidden;
}
.why-photo img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  object-position:center;
}

/* Brand activation: explanation first, imagery second */
.brand-section, .brand-activation, section.brand{
  display:flex;
  flex-direction:column;
}
.brand-section .brand-copy, .brand-activation .brand-copy,
.brand-section .section-copy, .brand-activation .section-copy{
  order:1;
}
.brand-section .brand-images, .brand-activation .brand-images,
.brand-section .carousel, .brand-activation .carousel{
  order:2;
}

/* Print cards: swipeable on touch screens, multiple visible on larger screens */
.print-card{
  flex:0 0 min(330px,78vw);
  scroll-snap-align:start;
  background:#fff;
  overflow:hidden;
}
.print-card img{
  width:100%;
  height:100%;
  object-fit:contain;
  display:block;
}

/* Fresh event variety */
.v10-more-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
  margin-top:24px;
}
.v10-more-grid img{
  width:100%;
  aspect-ratio:4/3;
  object-fit:cover;
  display:block;
}

@media (max-width:700px){
  .why-photo{
    margin-top:16px;
    aspect-ratio:16/10;
  }
  .why-photo img{object-position:center 35%}
  .value-copy{margin-top:28px}
  .point strong{font-size:23px !important}
  .v10-more-grid{
    display:flex;
    overflow-x:auto;
    scroll-snap-type:x mandatory;
    gap:12px;
    scrollbar-width:none;
  }
  .v10-more-grid::-webkit-scrollbar{display:none}
  .v10-more-grid img{
    flex:0 0 84%;
    aspect-ratio:4/3;
    scroll-snap-align:start;
  }
}


/* V11: integrated Why section + uncropped Memento/Guestbook */
.integrated-why{
  background:linear-gradient(180deg,#f6efe8 0%,#f7f2ec 100%);
  position:relative;
  overflow:hidden;
}
.integrated-why .value{
  align-items:stretch;
}
.integrated-why .why-brand,
.integrated-why .value-copy{
  background:transparent;
}
.integrated-why .why-photo{
  height:100%;
  min-height:520px;
  aspect-ratio:auto;
  overflow:hidden;
  margin-top:28px;
  border-radius:2px;
}
.integrated-why .why-photo img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  display:block;
}
.integrated-why .value-copy{
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.integrated-why .value-points{
  margin-top:30px;
}
.integrated-why .point{
  background:rgba(255,255,255,.72);
  border:1px solid rgba(105,12,34,.10);
}

/* Memento / Guestbook */
.memento-media{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
  margin-bottom:34px;
}
.memento-media figure{
  margin:0;
  background:#fff;
  border:1px solid rgba(255,255,255,.18);
  overflow:hidden;
}
.memento-media img{
  width:100%;
  height:auto;
  display:block;
  object-fit:contain !important;
  object-position:center !important;
}

/* iPad/tablet */
@media (min-width:701px) and (max-width:1180px){
  .integrated-why .value{
    grid-template-columns:.82fr 1.18fr;
    gap:34px;
  }
  .integrated-why .why-photo{
    min-height:430px;
    margin-top:20px;
  }
  .memento-media{
    grid-template-columns:1fr 1fr;
    gap:14px;
  }
  .memento-media figure{
    display:flex;
    align-items:center;
    justify-content:center;
    background:#fff;
  }
  .memento-media img{
    width:100%;
    height:auto !important;
    max-height:460px;
    object-fit:contain !important;
  }
}

/* Phone */
@media (max-width:700px){
  .integrated-why{
    padding-top:52px !important;
  }
  .integrated-why .why-photo{
    min-height:0;
    height:auto;
    aspect-ratio:4/3;
    margin-top:16px;
  }
  .integrated-why .why-photo img{
    object-fit:cover;
    object-position:center 38%;
  }
  .integrated-why .value-copy{
    margin-top:26px;
  }
  .memento-media{
    display:flex;
    overflow-x:auto;
    scroll-snap-type:x mandatory;
    -webkit-overflow-scrolling:touch;
    gap:12px;
    scrollbar-width:none;
  }
  .memento-media::-webkit-scrollbar{display:none}
  .memento-media figure{
    flex:0 0 84%;
    scroll-snap-align:start;
  }
  .memento-media img{
    width:100%;
    height:auto !important;
    object-fit:contain !important;
  }
}



/* V12 clean editorial refinement */
.brand-feature{background:#fff;color:var(--ink);padding:92px 0}
.brand-feature .brand-grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:70px;align-items:center}
.brand-feature .brand-copy{order:1}
.brand-feature .brand-rail{order:2}
.brand-feature .brand-copy .title{max-width:620px}
.brand-feature .brand-copy .lead{max-width:590px}
.brand-feature .brand-rail{padding:0;gap:14px}
.brand-feature .brand-rail figure{flex:0 0 68%;margin:0;background:#F5F5F3;scroll-snap-align:start;display:flex;align-items:center;justify-content:center}
.brand-feature .brand-rail img{width:100%;height:520px!important;object-fit:contain!important;background:#F5F5F3}

.print-showcase{padding:92px 0}
.print-showcase .lead{margin-bottom:30px}
.print-rail{gap:18px;padding:4px 0 14px}
.print-rail figure{flex:0 0 30%;margin:0;background:#F5F5F3;display:flex;align-items:center;justify-content:center;scroll-snap-align:start;min-height:510px}
.print-rail img{width:100%;height:510px!important;object-fit:contain!important;background:#F5F5F3}

#occasions{padding:92px 0;background:#F8F8F6}
#occasions .event-photo-grid{gap:24px}
#occasions .event-photo-card{background:#fff;border:0}
#occasions .event-photo-card img{width:100%;height:460px!important;object-fit:cover!important}
#occasions .event-label{padding:20px 22px 24px}

.keepsake{padding:92px 0}
.keepsake .memento-media{gap:16px}
.keepsake .memento-media figure{background:#fff;overflow:hidden}
.keepsake .memento-media img{width:100%;height:520px!important;object-fit:contain!important;background:#fff}

.gallery{padding:88px 0;background:#171517}
.gallery .v10-more-grid{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;padding:22px max(4vw,28px) 10px}
.gallery .v10-more-grid img{flex:0 0 36%;height:440px!important;object-fit:contain!important;background:#211e20;scroll-snap-align:start}

@media(max-width:900px){
  .brand-feature .brand-grid{grid-template-columns:1fr;gap:34px}
  .brand-feature .brand-copy{order:1}
  .brand-feature .brand-rail{order:2}
  .brand-feature .brand-rail figure{flex-basis:78%}
  .brand-feature .brand-rail img{height:430px!important}
  .print-rail figure{flex-basis:54%;min-height:430px}
  .print-rail img{height:430px!important}
  .keepsake .memento-media img{height:430px!important}
  .gallery .v10-more-grid img{flex-basis:58%;height:390px!important}
}
@media(max-width:620px){
  .brand-feature,.print-showcase,#occasions,.keepsake,.gallery{padding-top:66px;padding-bottom:66px}
  .brand-feature .brand-rail figure{flex-basis:88%}
  .brand-feature .brand-rail img{height:390px!important}
  .print-rail figure{flex-basis:78%;min-height:400px}
  .print-rail img{height:400px!important}
  .keepsake .memento-media img{height:390px!important}
  .gallery .v10-more-grid img{flex-basis:82%;height:360px!important}
}


/* V13 locked revision */
.subtle-link{display:inline-block;margin-top:16px;color:#690C22;font-weight:700;text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:3px}.coming-soon{margin-top:14px;font-size:12px;letter-spacing:.16em;font-weight:800;color:#690C22}
/* Full booth photos on iPad/mobile: never crop the setup */
#booths img,.print-showcase img{width:100%!important;height:auto!important;object-fit:contain!important;object-position:center!important;background:transparent!important}
/* Why: integrated editorial split */
.integrated-why .value{display:grid!important;grid-template-columns:minmax(0,44%) minmax(0,56%);gap:0!important;align-items:stretch!important;overflow:hidden}.integrated-why .why-brand{display:contents}.integrated-why .why-photo{grid-column:1;grid-row:1 / span 8;margin:0!important;min-height:560px}.integrated-why .why-photo img{width:100%;height:100%!important;object-fit:cover;object-position:center}.integrated-why .why-copy,.integrated-why .why-content{grid-column:2;padding:56px!important}.integrated-why .why-brand>h3,.integrated-why .why-brand>p{display:none}
/* Memento: no white letterbox bars */
.keepsake img{display:block;width:100%!important;height:auto!important;object-fit:contain!important;background:transparent!important}.keepsake .media,.keepsake figure,.keepsake .image-card{background:transparent!important}
/* Occasion editorial navigation */
.occasion-editorial{padding:86px 0;background:#F7F7F5}.occasion-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:34px}.occasion-card{position:relative;display:block;min-height:540px;overflow:hidden;text-decoration:none;background:#111}.occasion-card>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.occasion-card:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 35%,rgba(0,0,0,.78) 100%)}.occasion-overlay{position:absolute;z-index:2;left:0;right:0;bottom:0;padding:32px;color:white;display:flex;flex-direction:column;gap:8px}.occasion-overlay small{font-size:12px;letter-spacing:.12em;text-transform:uppercase}.occasion-overlay strong{font-family:Georgia,serif;font-size:34px;font-weight:500}.occasion-overlay em{font-style:normal;line-height:1.55;max-width:520px}.occasion-overlay b{margin-top:8px;font-size:13px;letter-spacing:.08em;text-transform:uppercase}.occasion-cta{text-align:center;margin-top:30px}
/* Brand copy before images */
.brand-feature .brand-copy{order:1}.brand-feature .brand-rail{order:2}
/* Motion */
.motion-clean{background:#151313;color:#fff;padding:88px 0}.light{color:#d8c5c8!important}.light-title{color:#fff!important}.motion-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:34px}.motion-grid figure{margin:0;overflow:hidden;background:#211d1d}.motion-grid img{width:100%;height:390px;object-fit:cover;display:block}.motion-grid figcaption{padding:15px 4px;font-size:12px;letter-spacing:.13em}.motion-story{border-top:1px solid rgba(255,255,255,.18);margin-top:50px;padding-top:38px;display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:end}.motion-story h3{font-family:Georgia,serif;font-size:42px;font-weight:400;margin:8px 0}.motion-story p{font-size:18px;line-height:1.7;color:#e4dddd}
/* Details */
.details-clean{padding:86px 0;background:#fff}.detail-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #ddd;margin-top:32px}.detail-grid div{padding:24px 18px 24px 0;border-bottom:1px solid #ddd;font-weight:650}
@media (max-width:1024px){
 .integrated-why .value{grid-template-columns:42% 58%}.integrated-why .why-photo{min-height:470px}.integrated-why .why-copy,.integrated-why .why-content{padding:38px!important}
 #booths img,.keepsake img,.print-showcase img{height:auto!important;object-fit:contain!important}
 .occasion-card{min-height:460px}.motion-grid img{height:auto;aspect-ratio:4/5;object-fit:cover}
}
@media (max-width:720px){
 .integrated-why .value{display:block!important}.integrated-why .why-photo{min-height:0!important}.integrated-why .why-photo img{height:auto!important;aspect-ratio:4/3;object-fit:cover}.integrated-why .why-copy,.integrated-why .why-content{padding:32px 20px!important}
 .occasion-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:14px;padding-bottom:8px}.occasion-card{flex:0 0 88%;min-height:480px;scroll-snap-align:start}.occasion-overlay strong{font-size:29px}
 .motion-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory}.motion-grid figure{flex:0 0 84%;scroll-snap-align:start}.motion-grid img{height:auto;aspect-ratio:4/5}.motion-story{grid-template-columns:1fr;gap:10px}.motion-story h3{font-size:34px}.detail-grid{grid-template-columns:1fr}
}


/* V14 exact revision overrides */
#booths .booth-grid{align-items:stretch}
#booths .booth-card{display:grid!important;grid-template-rows:420px 1fr!important;height:100%;min-height:690px}
#booths .booth-card .media,#booths .booth-card .booth-image,#booths .booth-card>img{height:420px!important;min-height:420px!important;max-height:420px!important;width:100%!important;object-fit:contain!important;object-position:center bottom!important;background:#F1F2F1}
#booths .booth-card .content,#booths .booth-card .booth-copy{display:flex!important;flex-direction:column!important;height:100%}
#booths .booth-card a{margin-top:auto!important}
#booths .booth-card .tag{align-self:flex-start}
.keepsake .memento-media{display:grid!important;grid-template-columns:1fr 1fr!important;gap:16px!important}
.keepsake .memento-media figure{height:500px!important;margin:0!important;padding:0!important;background:transparent!important;border:0!important;overflow:hidden!important}
.keepsake .memento-media img{width:100%!important;height:100%!important;max-height:none!important;object-fit:cover!important;object-position:center!important;background:transparent!important}
.memento-discover,.brand-discover{max-width:1180px;margin:22px auto 0;padding:0 28px}
.memento-discover a,.brand-discover a{font-weight:700;text-transform:uppercase;letter-spacing:.08em;text-decoration:none;color:inherit}
#occasions .occasion-grid{grid-template-columns:1fr!important;max-width:980px;margin-left:auto;margin-right:auto}
#occasions .occasion-card{min-height:600px}
.motion-clean .video-grid video{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;background:#000}
.motion-clean .motion-story{display:block!important;max-width:760px;margin-top:34px;padding-top:26px}
.motion-clean .motion-story p{margin:0}
.detail-grid div{position:relative;padding-left:28px!important}
.detail-grid div::first-letter{color:#690C22;font-weight:800}
@media (min-width:701px) and (max-width:1180px){
 #booths .booth-card{grid-template-rows:360px 1fr!important;min-height:650px}
 #booths .booth-card .media,#booths .booth-card .booth-image,#booths .booth-card>img{height:360px!important;min-height:360px!important;max-height:360px!important}
 .keepsake .memento-media figure{height:440px!important}
 #occasions .occasion-card{min-height:520px}
}
@media (max-width:700px){
 #booths .booth-card{grid-template-rows:auto 1fr!important;min-height:0}
 #booths .booth-card .media,#booths .booth-card .booth-image,#booths .booth-card>img{height:auto!important;min-height:0!important;max-height:none!important;aspect-ratio:auto!important;object-fit:contain!important}
 .keepsake .memento-media{display:flex!important;overflow-x:auto;scroll-snap-type:x mandatory;gap:12px!important}
 .keepsake .memento-media figure{flex:0 0 88%;height:420px!important;scroll-snap-align:start}
 #occasions .occasion-grid{display:block!important}
 #occasions .occasion-card{min-height:500px}
 .motion-clean .video-grid{display:flex!important;overflow-x:auto;scroll-snap-type:x mandatory;gap:14px}
 .motion-clean .video-grid figure{flex:0 0 84%;scroll-snap-align:start}
}


/* V14.2 targeted responsive fixes only */

/* 1) Give Experience and Booths clear breathing room */
.why-section.integrated-why{padding-bottom:118px!important;}
#booths{padding-top:112px!important;}

/* 2) Booth cards: hard-align every internal row */
#booths .cards{
  align-items:stretch!important;
  grid-auto-rows:1fr;
}
#booths .card{
  display:flex!important;
  flex-direction:column!important;
  height:100%!important;
  min-width:0;
}
#booths .card > img{
  display:block!important;
  width:100%!important;
  height:390px!important;
  min-height:390px!important;
  max-height:390px!important;
  object-fit:contain!important;
  object-position:center bottom!important;
  background:#F1F2F1!important;
}
#booths .card-body{
  display:grid!important;
  grid-template-rows:34px 84px minmax(92px,auto)!important;
  align-content:start!important;
  padding:25px 25px 18px!important;
  flex:1 1 auto!important;
}
#booths .card .tag{
  margin:0!important;
  align-self:start!important;
  justify-self:start!important;
}
#booths .card h3{
  margin:0!important;
  align-self:start!important;
  line-height:1.02!important;
}
#booths .card .spec{
  margin:0!important;
  align-self:start!important;
}
#booths .card .subtle-link{
  margin-top:auto!important;
  padding:0 25px 25px!important;
  min-height:44px!important;
  display:flex!important;
  align-items:flex-end!important;
}

/* 3) Tablet/iPad: never crop the Experience photo; stack for a cleaner composition */
@media (min-width:701px) and (max-width:1180px){
  .why-section.integrated-why{padding-top:76px!important;padding-bottom:118px!important;}
  .integrated-why .value{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:48px!important;
    align-items:start!important;
  }
  .integrated-why .why-brand{width:100%!important;}
  .integrated-why .why-photo{
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    aspect-ratio:auto!important;
    overflow:visible!important;
    margin-top:22px!important;
  }
  .integrated-why .why-photo img{
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    aspect-ratio:auto!important;
    object-fit:contain!important;
    object-position:center!important;
    display:block!important;
  }
  .integrated-why .value-copy{
    width:100%!important;
    max-width:none!important;
    padding:0!important;
    margin:0!important;
  }
  .integrated-why .value-points{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:16px!important;
    margin-top:34px!important;
  }
  #booths .card > img{
    height:330px!important;
    min-height:330px!important;
    max-height:330px!important;
  }
  #booths .card-body{
    grid-template-rows:32px 78px minmax(110px,auto)!important;
    padding:22px 20px 16px!important;
  }
  #booths .card h3{font-size:31px!important;}
  #booths .card .subtle-link{padding:0 20px 22px!important;}
}

/* 4) iPhone: full photo, generous spacing, cards remain uncropped */
@media (max-width:700px){
  .why-section.integrated-why{padding-top:60px!important;padding-bottom:92px!important;}
  .integrated-why .value{
    display:block!important;
  }
  .integrated-why .why-photo{
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    aspect-ratio:auto!important;
    overflow:visible!important;
    margin:18px 0 0!important;
  }
  .integrated-why .why-photo img{
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    aspect-ratio:auto!important;
    object-fit:contain!important;
    object-position:center!important;
  }
  .integrated-why .value-copy{
    margin-top:38px!important;
    padding:0!important;
  }
  .integrated-why .value-points{
    margin-top:28px!important;
    gap:12px!important;
  }
  #booths{padding-top:88px!important;}
  #booths .card > img{
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    object-fit:contain!important;
  }
  #booths .card-body{
    display:block!important;
    min-height:0!important;
    padding:24px 22px 14px!important;
  }
  #booths .card .tag{margin-bottom:12px!important;}
  #booths .card h3{margin-bottom:12px!important;}
  #booths .card .subtle-link{padding:0 22px 24px!important;}
}


/* V14.3 homepage experience section targeted update */
header .brand img{width:72px!important;height:72px!important;border-radius:0!important;object-fit:contain!important;background:transparent!important}
.experience-refresh{padding:88px 0 110px!important;background:#fbf7f1!important}
.experience-refresh .wrap{max-width:1180px}
.experience-head{text-align:center;max-width:860px;margin:0 auto}
.booking-kicker{display:inline-block;margin:14px 0 18px;padding:7px 12px;border:1px solid rgba(105,12,34,.25);color:#690C22;font-size:10px;font-weight:800;letter-spacing:.18em;text-transform:uppercase}
.experience-head .title{margin:0 auto 14px!important}
.experience-head .lead{max-width:760px;margin:0 auto!important}
.experience-cards{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:16px!important;margin-top:42px!important}
.experience-cards .point{min-height:235px!important;padding:30px 22px!important;text-align:center!important;border:1px solid #d8d0ca!important;border-radius:18px!important;background:rgba(255,255,255,.38)!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:flex-start!important}
.experience-cards .point strong{color:#690C22!important;font-size:22px!important;line-height:1.1!important;margin:14px 0 12px!important}
.experience-cards .point span{color:#4d4548!important;font-size:13px!important;line-height:1.55!important;max-width:220px}
.exp-icon{width:58px;height:58px;border-radius:50%;background:#690C22;color:#fff;display:grid;place-items:center;line-height:1}.exp-icon svg{width:28px;height:28px;fill:none;stroke:#fff;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.booking-details-inline{margin-top:52px;padding-top:8px}
.booking-details-inline h3{font-family:Georgia,serif;font-size:34px;font-weight:400;margin:0 0 6px;text-align:center}
.booking-details-inline .detail-grid{margin-top:24px!important}
.experience-photo-bottom{margin-top:48px;border-radius:22px;overflow:hidden;max-height:560px;background:#eee}
.experience-photo-bottom img{display:block;width:100%;height:560px;object-fit:cover;object-position:center 35%}
@media(max-width:980px){.experience-cards{grid-template-columns:repeat(2,1fr)!important}.experience-photo-bottom img{height:480px}}
@media(max-width:700px){header .brand img{width:58px!important;height:58px!important}.experience-refresh{padding:62px 0 78px!important}.experience-cards{grid-template-columns:1fr!important;gap:12px!important}.experience-cards .point{min-height:0!important;padding:26px 20px!important}.booking-details-inline h3{font-size:29px}.experience-photo-bottom{margin-top:34px;border-radius:14px}.experience-photo-bottom img{height:auto;aspect-ratio:4/3;object-fit:cover}.booking-kicker{margin-top:10px}}


/* V14.5 homepage occasion layout — targeted only */
.occasion-services{padding:96px 0;background:#F7F7F5}
.occasion-service-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:34px;align-items:stretch}
.occasion-service-card{background:#fff;border:1px solid rgba(105,12,34,.12);border-radius:18px;overflow:hidden;display:flex;flex-direction:column;min-width:0;box-shadow:0 10px 30px rgba(35,18,22,.05)}
.occasion-service-card>img{display:block;width:100%;height:390px;object-fit:cover;object-position:center}
.occasion-service-body{padding:28px;display:flex;flex-direction:column;align-items:flex-start;flex:1}
.occasion-service-kicker{font-size:12px;font-weight:800;letter-spacing:.11em;color:#690C22;margin-bottom:12px}
.occasion-service-body h3{font-family:Georgia,serif;font-size:32px;line-height:1.08;font-weight:500;margin:0 0 14px;color:#171313}
.occasion-service-body p{margin:0 0 24px;line-height:1.7;color:#4c4446;max-width:52ch}
.occasion-service-btn{margin-top:auto;display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:12px 20px;border-radius:999px;background:#690C22;color:#fff!important;text-decoration:none!important;font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.occasion-service-btn:hover{filter:brightness(.92)}
@media (max-width:900px){.occasion-service-card>img{height:330px}.occasion-service-body h3{font-size:29px}}
@media (max-width:700px){.occasion-services{padding:70px 0}.occasion-service-grid{grid-template-columns:1fr;gap:18px}.occasion-service-card>img{height:auto;aspect-ratio:4/3;object-fit:cover}.occasion-service-body{padding:23px}.occasion-service-body h3{font-size:28px}.occasion-service-btn{width:100%}}


/* V14.7: compact mobile hero — full photograph first, copy directly beneath it */
@media (max-width:700px){
  .hero{
    min-height:0 !important;
    aspect-ratio:auto !important;
    display:block !important;
    padding-top:66.667vw !important;
    background-size:100% 66.667vw, 100% auto !important;
    background-position:center top, center top !important;
    background-repeat:no-repeat, no-repeat !important;
    background-color:#171113 !important;
  }
  .hero .wrap{width:92% !important;}
  .hero-inner{
    max-width:none !important;
    padding:24px 0 34px !important;
  }
  .hero .eyebrow{
    margin-bottom:13px !important;
    font-size:9px !important;
    letter-spacing:.16em !important;
  }
  .hero-kicker{
    padding:0 !important;
    border:0 !important;
    backdrop-filter:none !important;
  }
  .hero h1{
    font-size:46px !important;
    line-height:.94 !important;
    letter-spacing:-.045em !important;
    margin-bottom:14px !important;
  }
  .hero p{
    max-width:none !important;
    font-size:15px !important;
    line-height:1.55 !important;
    margin:0 0 18px !important;
  }
  .hero-inner>p:last-child{
    display:flex !important;
    gap:9px !important;
    margin:2px 0 0 !important;
  }
  .hero-inner>p:last-child .btn{
    flex:1 1 0 !important;
    text-align:center !important;
    padding:14px 10px !important;
    margin-left:0 !important;
    white-space:nowrap !important;
  }
}


/* V14.8: mobile hero keeps the full photograph while placing the main title over it */
.hero-overlay-title,
.hero-copy-below{display:contents}

@media (max-width:700px){
  .hero{
    position:relative !important;
    min-height:0 !important;
    padding-top:66.667vw !important;
    overflow:hidden !important;
    background-size:100% 66.667vw, 100% auto !important;
    background-position:center top, center top !important;
    background-repeat:no-repeat, no-repeat !important;
    background-color:#171113 !important;
  }

  /* stronger lower-image fade so the title reads cleanly without cropping the photo */
  .hero::after{
    content:"";
    position:absolute;
    z-index:1;
    left:0; right:0;
    top:27vw;
    height:40vw;
    pointer-events:none;
    background:linear-gradient(to bottom,rgba(23,17,19,0),rgba(23,17,19,.38) 42%,rgba(23,17,19,.93) 100%);
  }

  .hero .wrap{
    width:92% !important;
    position:relative !important;
    z-index:2 !important;
  }

  .hero-inner{
    max-width:none !important;
    padding:0 0 28px !important;
    margin:0 !important;
  }

  .hero-overlay-title{
    display:block !important;
    position:absolute !important;
    left:0 !important;
    right:0 !important;
    bottom:calc(100% + 12px) !important;
    color:#fff !important;
    z-index:3 !important;
  }

  .hero .hero-overlay-title .eyebrow{
    margin:0 0 8px !important;
    padding:0 !important;
    border:0 !important;
    font-size:8.5px !important;
    line-height:1.35 !important;
    letter-spacing:.15em !important;
    color:#fff !important;
    text-shadow:0 1px 12px rgba(0,0,0,.45) !important;
  }

  .hero .hero-overlay-title h1{
    margin:0 !important;
    font-size:42px !important;
    line-height:.88 !important;
    letter-spacing:-.045em !important;
    text-shadow:0 2px 18px rgba(0,0,0,.35) !important;
  }

  .hero-copy-below{
    display:block !important;
    padding-top:20px !important;
  }

  .hero-copy-below>p:first-child{
    max-width:none !important;
    margin:0 0 17px !important;
    font-size:14px !important;
    line-height:1.52 !important;
  }

  .hero-copy-below>p:last-child{
    display:flex !important;
    gap:9px !important;
    margin:0 !important;
  }

  .hero-copy-below>p:last-child .btn{
    flex:1 1 0 !important;
    min-width:0 !important;
    padding:13px 8px !important;
    margin-left:0 !important;
    font-size:10px !important;
    text-align:center !important;
    white-space:nowrap !important;
  }
}

/* Compact "details taken care of" strip */
.booking-details-inline{
  margin:34px 0 0 !important;
  padding:18px 0 16px !important;
  border-top:1px solid var(--line) !important;
  border-bottom:1px solid var(--line) !important;
  background:var(--paper) !important;
}

.booking-details-inline h3{
  margin:0 0 14px !important;
  font-family:inherit !important;
  font-size:10px !important;
  line-height:1.35 !important;
  font-weight:800 !important;
  letter-spacing:.16em !important;
  text-transform:uppercase !important;
  text-align:center !important;
  color:#241d1f !important;
}

.booking-details-inline .detail-grid{
  display:flex !important;
  justify-content:center !important;
  align-items:center !important;
  flex-wrap:wrap !important;
  gap:9px 24px !important;
  margin:0 auto !important;
  padding:0 18px !important;
  border:0 !important;
  max-width:1100px !important;
}

.booking-details-inline .detail-grid div{
  padding:0 !important;
  border:0 !important;
  font-size:9px !important;
  line-height:1.35 !important;
  font-weight:700 !important;
  letter-spacing:.075em !important;
  text-transform:uppercase !important;
  color:#352e30 !important;
  white-space:nowrap !important;
}

@media (max-width:700px){
  .booking-details-inline{
    margin-top:28px !important;
    padding:15px 0 14px !important;
  }
  .booking-details-inline h3{
    margin-bottom:11px !important;
    font-size:9px !important;
  }
  .booking-details-inline .detail-grid{
    display:grid !important;
    grid-template-columns:1fr 1fr !important;
    gap:9px 14px !important;
    padding:0 14px !important;
  }
  .booking-details-inline .detail-grid div{
    font-size:8px !important;
    white-space:normal !important;
    text-align:center !important;
  }
}


/* V14.9 — make booking details feel like a deliberate site-wide trust bar */
.experience-refresh{
  padding-bottom:0 !important;
}

.booking-details-inline{
  width:100vw !important;
  margin:38px 0 0 calc(50% - 50vw) !important;
  padding:17px 5vw 16px !important;
  border:0 !important;
  background:#690C22 !important;
  color:#fff !important;
}

.booking-details-inline h3{
  margin:0 0 11px !important;
  padding:0 !important;
  font-family:inherit !important;
  font-size:9px !important;
  line-height:1.3 !important;
  font-weight:800 !important;
  letter-spacing:.18em !important;
  text-transform:uppercase !important;
  text-align:center !important;
  color:#fff !important;
}

.booking-details-inline .detail-grid{
  max-width:1180px !important;
  margin:0 auto !important;
  padding:0 !important;
  display:grid !important;
  grid-template-columns:repeat(6,minmax(0,1fr)) !important;
  gap:8px 18px !important;
  align-items:center !important;
  border:0 !important;
}

.booking-details-inline .detail-grid div{
  padding:0 !important;
  border:0 !important;
  font-size:8.5px !important;
  line-height:1.35 !important;
  font-weight:700 !important;
  letter-spacing:.055em !important;
  text-transform:uppercase !important;
  text-align:center !important;
  color:#fff !important;
  white-space:normal !important;
}

.booking-details-inline .detail-grid div::first-letter{
  color:#fff !important;
}

@media (max-width:980px){
  .booking-details-inline .detail-grid{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:10px 16px !important;
  }
}

@media (max-width:700px){
  .experience-refresh{
    padding-bottom:0 !important;
  }

  .booking-details-inline{
    margin-top:28px !important;
    padding:14px 18px 13px !important;
  }

  .booking-details-inline h3{
    margin-bottom:10px !important;
    font-size:8px !important;
  }

  .booking-details-inline .detail-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:8px 14px !important;
  }

  .booking-details-inline .detail-grid div{
    font-size:7.5px !important;
    line-height:1.3 !important;
  }
}


/* V14.10 — mobile hero: keep full image visible and place ALL hero copy over it */
@media (max-width:700px){
  .hero{
    position:relative !important;
    min-height:0 !important;
    height:82vw !important;
    max-height:none !important;
    padding:0 !important;
    overflow:hidden !important;
    background-size:100% auto !important;
    background-position:center top !important;
    background-repeat:no-repeat !important;
    background-color:#171113 !important;
  }

  .hero::after{
    content:"";
    position:absolute;
    inset:0;
    z-index:1;
    pointer-events:none;
    background:
      linear-gradient(
        to bottom,
        rgba(18,12,14,0) 0%,
        rgba(18,12,14,.06) 28%,
        rgba(18,12,14,.34) 48%,
        rgba(18,12,14,.78) 68%,
        rgba(18,12,14,.95) 100%
      );
  }

  .hero .wrap{
    position:relative !important;
    z-index:2 !important;
    width:100% !important;
    height:100% !important;
    max-width:none !important;
    margin:0 !important;
    padding:0 !important;
  }

  .hero-inner{
    position:absolute !important;
    inset:0 !important;
    display:flex !important;
    flex-direction:column !important;
    justify-content:flex-end !important;
    max-width:none !important;
    margin:0 !important;
    padding:0 28px 24px !important;
    color:#fff !important;
  }

  .hero-overlay-title{
    position:static !important;
    display:block !important;
    color:#fff !important;
  }

  .hero .hero-overlay-title .eyebrow{
    margin:0 0 7px !important;
    padding:0 !important;
    border:0 !important;
    color:#fff !important;
    font-size:8px !important;
    line-height:1.25 !important;
    letter-spacing:.16em !important;
    text-shadow:0 2px 12px rgba(0,0,0,.55) !important;
  }

  .hero .hero-overlay-title h1{
    margin:0 0 10px !important;
    color:#fff !important;
    font-size:39px !important;
    line-height:.9 !important;
    letter-spacing:-.045em !important;
    text-shadow:0 2px 16px rgba(0,0,0,.45) !important;
  }

  .hero .hero-overlay-title h1 em{
    color:#8f1531 !important;
  }

  .hero-copy-below{
    display:block !important;
    padding:0 !important;
    color:#fff !important;
  }

  .hero-copy-below>p:first-child{
    margin:0 0 13px !important;
    color:#fff !important;
    font-size:12px !important;
    line-height:1.42 !important;
    max-width:none !important;
    text-shadow:0 1px 10px rgba(0,0,0,.5) !important;
  }

  .hero-copy-below>p:last-child{
    display:flex !important;
    gap:8px !important;
    margin:0 !important;
  }

  .hero-copy-below>p:last-child .btn{
    flex:1 1 0 !important;
    min-width:0 !important;
    margin:0 !important;
    padding:12px 8px !important;
    font-size:9px !important;
    text-align:center !important;
    white-space:nowrap !important;
  }
}


/* V14.11 — corrected mobile hero: full image, no black extension, all content over photo */
@media (max-width:700px){
  .hero{
    position:relative !important;
    width:100% !important;
    height:66.667vw !important;
    min-height:0 !important;
    max-height:none !important;
    padding:0 !important;
    margin:0 !important;
    overflow:hidden !important;
    background-size:100% auto !important;
    background-position:center top !important;
    background-repeat:no-repeat !important;
    background-color:transparent !important;
  }

  .hero::after{
    content:"";
    position:absolute;
    inset:0;
    z-index:1;
    pointer-events:none;
    background:linear-gradient(
      to bottom,
      rgba(15,10,12,0) 0%,
      rgba(15,10,12,.03) 28%,
      rgba(15,10,12,.18) 48%,
      rgba(15,10,12,.64) 72%,
      rgba(15,10,12,.86) 100%
    ) !important;
  }

  .hero .wrap{
    position:relative !important;
    z-index:2 !important;
    width:100% !important;
    max-width:none !important;
    height:100% !important;
    margin:0 !important;
    padding:0 !important;
  }

  .hero-inner{
    position:absolute !important;
    inset:0 !important;
    display:flex !important;
    flex-direction:column !important;
    justify-content:flex-end !important;
    max-width:none !important;
    margin:0 !important;
    padding:0 24px 16px !important;
    background:transparent !important;
    color:#fff !important;
  }

  .hero-overlay-title{
    position:static !important;
    display:block !important;
    margin:0 !important;
    padding:0 !important;
    color:#fff !important;
  }

  .hero .hero-overlay-title .eyebrow{
    margin:0 0 5px !important;
    padding:0 !important;
    border:0 !important;
    color:#fff !important;
    font-size:7.5px !important;
    line-height:1.2 !important;
    letter-spacing:.16em !important;
    text-shadow:0 1px 8px rgba(0,0,0,.45) !important;
  }

  .hero .hero-overlay-title h1{
    margin:0 0 7px !important;
    color:#fff !important;
    font-size:35px !important;
    line-height:.87 !important;
    letter-spacing:-.04em !important;
    text-shadow:0 1px 12px rgba(0,0,0,.42) !important;
  }

  .hero .hero-overlay-title h1 em{
    color:#8f1531 !important;
  }

  .hero-copy-below{
    display:block !important;
    margin:0 !important;
    padding:0 !important;
    color:#fff !important;
  }

  .hero-copy-below>p:first-child{
    margin:0 0 10px !important;
    max-width:100% !important;
    color:#fff !important;
    font-size:10px !important;
    line-height:1.35 !important;
    text-shadow:0 1px 8px rgba(0,0,0,.5) !important;
  }

  .hero-copy-below>p:last-child{
    display:flex !important;
    gap:7px !important;
    margin:0 !important;
  }

  .hero-copy-below>p:last-child .btn{
    flex:1 1 0 !important;
    min-width:0 !important;
    margin:0 !important;
    padding:10px 6px !important;
    font-size:8.5px !important;
    line-height:1 !important;
    text-align:center !important;
    white-space:nowrap !important;
  }
}


@media (max-width:700px){
  .hero::after{
    display:none !important;
    content:none !important;
    background:none !important;
  }
  .hero{
    background-color:transparent !important;
  }
}


/* V14.13 — improve mobile hero text readability without tinting the image */
@media (max-width:700px){
  .hero-copy-below>p:first-child{
    font-weight:500 !important;
    text-shadow:
      0 1px 2px rgba(0,0,0,.95),
      0 2px 7px rgba(0,0,0,.72) !important;
  }

  .hero .hero-overlay-title .eyebrow{
    font-weight:800 !important;
    text-shadow:
      0 1px 2px rgba(0,0,0,.95),
      0 2px 7px rgba(0,0,0,.72) !important;
  }
}


/* V14.14 — subtle mobile parallax hero, preserving the current approved layout */
@media (max-width:700px){
  .hero{
    --hero-shift:0px;
    background-size:104% auto !important;
    background-position:center calc(50% + var(--hero-shift)) !important;
    will-change:background-position !important;
  }
}

@media (prefers-reduced-motion:reduce){
  .hero{
    --hero-shift:0px !important;
    background-position:center center !important;
  }
}


/* V14.15 — refined booking-details treatment */
.booking-details-inline{
  width:auto !important;
  margin:34px auto 0 !important;
  padding:28px 0 4px !important;
  background:transparent !important;
  color:inherit !important;
  border:0 !important;
  border-top:1px solid rgba(105,12,34,.18) !important;
}

.booking-details-inline h3{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:14px !important;
  margin:0 0 22px !important;
  padding:0 !important;
  color:#690C22 !important;
  font-family:Georgia,serif !important;
  font-size:21px !important;
  line-height:1.2 !important;
  font-weight:400 !important;
  letter-spacing:0 !important;
  text-transform:none !important;
  text-align:center !important;
}

.booking-details-inline h3::before,
.booking-details-inline h3::after{
  content:"" !important;
  display:block !important;
  width:44px !important;
  height:1px !important;
  background:rgba(105,12,34,.3) !important;
}

.booking-details-inline .detail-grid{
  max-width:980px !important;
  margin:0 auto !important;
  padding:0 !important;
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:15px 34px !important;
  border:0 !important;
}

.booking-details-inline .detail-grid div{
  position:relative !important;
  padding:0 0 0 20px !important;
  border:0 !important;
  color:#342d30 !important;
  font-size:11px !important;
  line-height:1.45 !important;
  font-weight:650 !important;
  letter-spacing:.035em !important;
  text-transform:uppercase !important;
  text-align:left !important;
  white-space:normal !important;
}

.booking-details-inline .detail-grid div::before{
  content:"✓" !important;
  position:absolute !important;
  left:0 !important;
  top:-1px !important;
  color:#690C22 !important;
  font-size:13px !important;
  font-weight:800 !important;
}

@media (max-width:800px){
  .booking-details-inline .detail-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:14px 24px !important;
  }
}

@media (max-width:700px){
  .booking-details-inline{
    margin:28px 0 0 !important;
    padding:24px 2px 0 !important;
  }

  .booking-details-inline h3{
    margin-bottom:18px !important;
    gap:10px !important;
    font-size:19px !important;
  }

  .booking-details-inline h3::before,
  .booking-details-inline h3::after{
    width:26px !important;
  }

  .booking-details-inline .detail-grid{
    grid-template-columns:1fr 1fr !important;
    gap:13px 18px !important;
  }

  .booking-details-inline .detail-grid div{
    padding-left:17px !important;
    font-size:8.5px !important;
    line-height:1.4 !important;
    letter-spacing:.025em !important;
  }

  .booking-details-inline .detail-grid div::before{
    font-size:11px !important;
  }
}


/* V14.16 — clean details alignment + show full occasion images on iPad/tablet */

/* Keep every booking-detail item on one clean line on phones. */
@media (max-width:700px){
  .booking-details-inline .detail-grid{
    grid-template-columns:1fr 1fr !important;
    gap:13px 12px !important;
  }
  .booking-details-inline .detail-grid div{
    padding-left:14px !important;
    font-size:7.1px !important;
    line-height:1.25 !important;
    letter-spacing:0 !important;
    white-space:nowrap !important;
  }
  .booking-details-inline .detail-grid div::before{
    font-size:10px !important;
    top:0 !important;
  }
}

/* Occasion cards: don't crop the wedding or brand-activation artwork. */
.occasion-service-card{
  background:#fff !important;
}

.occasion-service-card>img{
  width:100% !important;
  height:auto !important;
  max-height:none !important;
  object-fit:contain !important;
  object-position:center center !important;
  background:#fff !important;
}

/* Tablet/iPad: give both image areas a clean white canvas rather than the old grey/cropped box. */
@media (min-width:701px) and (max-width:1100px){
  .occasion-service-grid{
    align-items:stretch !important;
  }

  .occasion-service-card{
    overflow:hidden !important;
    background:#fff !important;
  }

  .occasion-service-card>img{
    display:block !important;
    width:100% !important;
    height:360px !important;
    object-fit:contain !important;
    object-position:center center !important;
    background:#fff !important;
    border:0 !important;
    box-shadow:none !important;
  }
}

/* Desktop keeps the same full-image treatment, without grey framing. */
@media (min-width:1101px){
  .occasion-service-card>img{
    height:420px !important;
    object-fit:contain !important;
    background:#fff !important;
    border:0 !important;
    box-shadow:none !important;
  }
}


/* Mobile header: logo left, ENQUIRE top-right, MENU beside it */
.mobile-nav,
.mobile-enquire-top{
  display:none;
}

@media (max-width:700px){
  header nav.wrap{
    position:relative !important;
    display:grid !important;
    grid-template-columns:minmax(0,1fr) auto auto !important;
    align-items:center !important;
    column-gap:10px !important;
  }

  header nav .brand{
    display:flex !important;
    align-items:center !important;
    min-width:0 !important;
  }

  header nav .brand img{
    display:block !important;
    max-width:100% !important;
  }

  header nav .links,
  header nav > a.btn{
    display:none !important;
  }

  .mobile-enquire-top{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    min-height:38px !important;
    padding:0 14px !important;
    border:1px solid #690C22 !important;
    background:#690C22 !important;
    color:#fff !important;
    font-size:9px !important;
    line-height:1 !important;
    font-weight:700 !important;
    letter-spacing:.14em !important;
    text-transform:uppercase !important;
    text-decoration:none !important;
    white-space:nowrap !important;
  }

  .mobile-nav{
    display:block !important;
    position:static !important;
  }

  .mobile-nav summary{
    list-style:none !important;
    display:flex !important;
    align-items:center !important;
    gap:6px !important;
    min-height:38px !important;
    padding:0 !important;
    border:0 !important;
    background:transparent !important;
    color:#690C22 !important;
    cursor:pointer !important;
    user-select:none !important;
    -webkit-tap-highlight-color:transparent !important;
  }

  .mobile-nav summary::-webkit-details-marker{
    display:none !important;
  }

  .menu-label{
    font-size:8px !important;
    line-height:1 !important;
    font-weight:700 !important;
    letter-spacing:.12em !important;
  }

  .menu-icon{
    display:flex !important;
    width:20px !important;
    height:14px !important;
    flex-direction:column !important;
    justify-content:space-between !important;
  }

  .menu-icon span{
    display:block !important;
    width:100% !important;
    height:1.5px !important;
    border-radius:2px !important;
    background:#690C22 !important;
    transition:transform .2s ease, opacity .2s ease !important;
  }

  .mobile-nav[open] .menu-icon span:nth-child(1){
    transform:translateY(6.2px) rotate(45deg) !important;
  }
  .mobile-nav[open] .menu-icon span:nth-child(2){
    opacity:0 !important;
  }
  .mobile-nav[open] .menu-icon span:nth-child(3){
    transform:translateY(-6.2px) rotate(-45deg) !important;
  }

  .mobile-nav-panel{
    position:absolute !important;
    top:100% !important;
    right:0 !important;
    left:0 !important;
    z-index:9999 !important;
    margin-top:1px !important;
    padding:8px 18px 14px !important;
    background:#f8f2ea !important;
    border-top:1px solid rgba(105,12,34,.14) !important;
    border-bottom:1px solid rgba(105,12,34,.14) !important;
    box-shadow:0 12px 28px rgba(0,0,0,.08) !important;
  }

  .mobile-nav-panel a{
    display:block !important;
    width:100% !important;
    padding:12px 0 !important;
    border-bottom:1px solid rgba(105,12,34,.12) !important;
    color:#2b2024 !important;
    font-size:11px !important;
    line-height:1.3 !important;
    font-weight:600 !important;
    letter-spacing:.08em !important;
    text-transform:uppercase !important;
    text-decoration:none !important;
  }

  .mobile-nav-panel a:last-child{
    border-bottom:0 !important;
  }
}

/* Very narrow phones: keep all three header elements on one line */
@media (max-width:390px){
  header nav.wrap{
    column-gap:7px !important;
  }

  .mobile-enquire-top{
    min-height:36px !important;
    padding:0 10px !important;
    font-size:8px !important;
  }

  .menu-label{
    display:none !important;
  }
}


/* V14.18 — cleaner mobile header: logo | enquire | hamburger */
@media (max-width:700px){
  header nav.wrap{
    grid-template-columns:minmax(0,1fr) auto auto !important;
    column-gap:12px !important;
  }

  /* remove MENU label completely */
  .menu-label{
    display:none !important;
  }

  /* keep enquire before hamburger */
  .mobile-enquire-top{
    order:2 !important;
    min-height:38px !important;
    padding:0 14px !important;
    border-radius:0 !important;
    font-size:8.5px !important;
    letter-spacing:.14em !important;
  }

  .mobile-nav{
    order:3 !important;
  }

  .mobile-nav summary{
    width:28px !important;
    min-width:28px !important;
    height:38px !important;
    min-height:38px !important;
    padding:0 !important;
    margin:0 !important;
    display:flex !important;
    align-items:center !important;
    justify-content:flex-end !important;
    border:0 !important;
    background:transparent !important;
  }

  .menu-icon{
    width:22px !important;
    height:15px !important;
  }

  .menu-icon span{
    height:1.5px !important;
    background:#690C22 !important;
  }

  .mobile-nav-panel{
    top:100% !important;
    margin-top:0 !important;
  }
}

@media (max-width:390px){
  header nav.wrap{
    column-gap:9px !important;
  }

  .mobile-enquire-top{
    min-height:36px !important;
    padding:0 11px !important;
    font-size:8px !important;
  }

  .mobile-nav summary{
    width:25px !important;
    min-width:25px !important;
    height:36px !important;
    min-height:36px !important;
  }

  .menu-icon{
    width:20px !important;
  }
}


/* V14.19 — remove tablet image framing/letterboxing and refresh booking details */

/* Images should sit flush in their cards at every size. */
.card > img,
.occasion-service-card > img{
  display:block !important;
  width:100% !important;
  max-width:100% !important;
  height:auto !important;
  max-height:none !important;
  object-fit:initial !important;
  object-position:initial !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  outline:0 !important;
  box-shadow:none !important;
  background:transparent !important;
}

/* Remove any iPad-only image-frame styling inherited from earlier versions. */
@media (min-width:701px) and (max-width:1100px){
  .card,
  .occasion-service-card{
    background:#fff !important;
  }

  .card > img,
  .occasion-service-card > img{
    height:auto !important;
    min-height:0 !important;
    object-fit:initial !important;
    border:0 !important;
    outline:0 !important;
    box-shadow:none !important;
    background:transparent !important;
  }
}

/* Booking inclusions — more visual, but still native to the cream/burgundy design. */
.booking-details-inline{
  width:100% !important;
  margin:38px auto 0 !important;
  padding:34px 0 8px !important;
  background:transparent !important;
  border:0 !important;
  border-top:1px solid rgba(105,12,34,.16) !important;
  color:#241d1f !important;
}

.booking-details-inline .details-eyebrow{
  margin:0 0 7px !important;
  color:#690C22 !important;
  font-size:10px !important;
  line-height:1.2 !important;
  font-weight:800 !important;
  letter-spacing:.19em !important;
  text-align:center !important;
}

.booking-details-inline h3{
  margin:0 auto 24px !important;
  max-width:680px !important;
  padding:0 !important;
  color:#1d1819 !important;
  font-family:Georgia,serif !important;
  font-size:27px !important;
  line-height:1.15 !important;
  font-weight:400 !important;
  text-align:center !important;
  letter-spacing:-.02em !important;
}

.booking-details-inline h3::before,
.booking-details-inline h3::after,
.booking-details-inline .detail-grid > div::before,
.booking-details-inline .detail-grid > div::after{
  content:none !important;
  display:none !important;
}

.booking-details-inline .detail-grid{
  max-width:980px !important;
  margin:0 auto !important;
  padding:0 !important;
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:12px !important;
  border:0 !important;
}

.booking-details-inline .detail-item{
  display:flex !important;
  align-items:center !important;
  gap:11px !important;
  min-height:64px !important;
  padding:13px 15px !important;
  background:#fff !important;
  border:1px solid rgba(105,12,34,.12) !important;
  border-radius:12px !important;
  box-shadow:0 5px 18px rgba(31,20,23,.035) !important;
  color:#292225 !important;
  text-align:left !important;
}

.booking-details-inline .detail-check{
  flex:0 0 28px !important;
  width:28px !important;
  height:28px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  border-radius:50% !important;
  background:#690C22 !important;
  color:#fff !important;
  font-size:13px !important;
  line-height:1 !important;
  font-weight:800 !important;
}

.booking-details-inline .detail-label{
  color:#292225 !important;
  font-size:10px !important;
  line-height:1.35 !important;
  font-weight:750 !important;
  letter-spacing:.045em !important;
  text-transform:uppercase !important;
}

@media (max-width:800px){
  .booking-details-inline .detail-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}

@media (max-width:700px){
  .booking-details-inline{
    margin-top:30px !important;
    padding-top:28px !important;
  }

  .booking-details-inline .details-eyebrow{
    font-size:8.5px !important;
  }

  .booking-details-inline h3{
    margin-bottom:19px !important;
    padding:0 18px !important;
    font-size:22px !important;
  }

  .booking-details-inline .detail-grid{
    grid-template-columns:1fr 1fr !important;
    gap:9px !important;
  }

  .booking-details-inline .detail-item{
    gap:8px !important;
    min-height:58px !important;
    padding:10px !important;
    border-radius:10px !important;
  }

  .booking-details-inline .detail-check{
    flex-basis:24px !important;
    width:24px !important;
    height:24px !important;
    font-size:11px !important;
  }

  .booking-details-inline .detail-label{
    font-size:7.5px !important;
    line-height:1.3 !important;
    letter-spacing:.025em !important;
  }
}


/* V14.20 — refreshed trust strip */
.trust-strip-grid{
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  align-items:center !important;
  gap:10px 18px !important;
  padding-top:16px !important;
  padding-bottom:16px !important;
}

.trust-strip-item{
  color:#2c2528 !important;
  font-size:10px !important;
  line-height:1.35 !important;
  font-weight:700 !important;
  letter-spacing:.08em !important;
  text-transform:uppercase !important;
  text-align:center !important;
}

@media (max-width:900px){
  .trust-strip-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:14px 20px !important;
  }
}

@media (max-width:700px){
  .trust-strip-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:12px 14px !important;
    padding-top:14px !important;
    padding-bottom:14px !important;
  }
  .trust-strip-item{
    font-size:8px !important;
    line-height:1.35 !important;
    letter-spacing:.05em !important;
  }
}


/* V14.21 — six-card IkonikShots Experience */
.experience-cards{
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
}

@media (max-width:900px){
  .experience-cards{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}

@media (max-width:700px){
  .experience-cards{
    grid-template-columns:1fr !important;
  }
}


/* V14.22 — occasion cards: natural heights + remove black strip on brand image */
.occasion-service-grid{
  align-items:start !important;
}

.occasion-service-card{
  align-self:start !important;
  height:auto !important;
  min-height:0 !important;
}

.occasion-service-card .occasion-service-body,
.occasion-service-card .card-body{
  height:auto !important;
  min-height:0 !important;
}

.occasion-service-card .btn,
.occasion-service-card .subtle-link{
  margin-top:22px !important;
}

/* Remove forced equal-height behavior on tablet/iPad */
@media (min-width:701px) and (max-width:1100px){
  .occasion-service-grid{
    align-items:start !important;
  }

  .occasion-service-card{
    display:block !important;
    height:auto !important;
  }

  .occasion-service-card > img{
    height:auto !important;
    max-height:none !important;
    object-fit:initial !important;
  }

  /* Nudge only the brand image upward to hide the thin black strip */
  .occasion-service-card:nth-child(2){
    overflow:hidden !important;
  }

  .occasion-service-card:nth-child(2) > img{
    display:block !important;
    transform:translateY(-8px) !important;
    margin-bottom:-8px !important;
  }
}

/* Keep the same clean behavior on larger screens too */
@media (min-width:1101px){
  .occasion-service-grid{
    align-items:start !important;
  }

  .occasion-service-card{
    height:auto !important;
  }

  .occasion-service-card:nth-child(2){
    overflow:hidden !important;
  }

  .occasion-service-card:nth-child(2) > img{
    transform:translateY(-8px) !important;
    margin-bottom:-8px !important;
  }
}


/* V14.23 — iPad cleanup */

/* 1) Make trust strip more compact */
.trust-strip-grid{
  padding-top:9px !important;
  padding-bottom:9px !important;
  gap:6px 12px !important;
}
.trust-strip-item{
  font-size:8.5px !important;
  line-height:1.25 !important;
  letter-spacing:.055em !important;
}

/* 2) Remove grey borders/frames from booth cards and their images */
#booths .card,
#booths .card > img,
#booths .card img{
  border:0 !important;
  outline:0 !important;
  box-shadow:none !important;
}

#booths .card{
  background:#fff !important;
  overflow:hidden !important;
}

#booths .card > img{
  display:block !important;
  width:100% !important;
  margin:0 !important;
  padding:0 !important;
  background:transparent !important;
}

/* 3) Weddings + Brand cards: same size and balanced on iPad */
.occasion-service-grid{
  align-items:stretch !important;
}

.occasion-service-card{
  display:flex !important;
  flex-direction:column !important;
  height:100% !important;
  min-height:0 !important;
  overflow:hidden !important;
  background:#fff !important;
}

.occasion-service-card > img{
  display:block !important;
  width:100% !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  outline:0 !important;
  box-shadow:none !important;
  background:transparent !important;
  transform:none !important;
}

.occasion-service-card .occasion-service-body,
.occasion-service-card .card-body{
  display:flex !important;
  flex-direction:column !important;
  flex:1 1 auto !important;
  height:auto !important;
  min-height:0 !important;
}

.occasion-service-card .btn,
.occasion-service-card .subtle-link{
  margin-top:auto !important;
  align-self:flex-start !important;
}

/* iPad/tablet: equal image window + equal card height */
@media (min-width:701px) and (max-width:1100px){
  .occasion-service-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    align-items:stretch !important;
  }

  .occasion-service-card{
    height:100% !important;
  }

  .occasion-service-card > img{
    height:360px !important;
    object-fit:cover !important;
    object-position:center center !important;
  }

  .occasion-service-card:nth-child(1) > img{
    object-position:center 38% !important;
  }

  .occasion-service-card:nth-child(2) > img{
    object-position:center 48% !important;
  }

  .occasion-service-card .occasion-service-body,
  .occasion-service-card .card-body{
    min-height:250px !important;
  }
}

/* Desktop also keeps both cards visually matched */
@media (min-width:1101px){
  .occasion-service-grid{
    align-items:stretch !important;
  }

  .occasion-service-card > img{
    height:420px !important;
    object-fit:cover !important;
    object-position:center center !important;
  }

  .occasion-service-card .occasion-service-body,
  .occasion-service-card .card-body{
    min-height:250px !important;
  }
}


/* V14.24 — responsive cleanup only */

/* PHONE: remove the blank band above the header and tighten the trust strip */
@media (max-width:700px){
  header{
    margin-top:0 !important;
    padding-top:0 !important;
  }

  header nav.wrap{
    margin-top:0 !important;
    padding-top:12px !important;
    padding-bottom:12px !important;
  }

  body{
    padding-top:0 !important;
  }

  .trust{
    padding:0 !important;
    margin:0 !important;
  }

  .trust-strip-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:6px 10px !important;
    padding:9px 16px !important;
  }

  .trust-strip-item{
    font-size:7px !important;
    line-height:1.2 !important;
    letter-spacing:.025em !important;
    white-space:nowrap !important;
  }
}

/* IPAD/TABLET: force the six Experience cards to fit the viewport cleanly */
@media (min-width:701px) and (max-width:1100px){
  .experience-cards{
    width:100% !important;
    max-width:100% !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:16px !important;
    overflow:visible !important;
  }

  .experience-cards .point{
    min-width:0 !important;
    width:auto !important;
    max-width:none !important;
    box-sizing:border-box !important;
    padding:28px 20px !important;
  }

  .experience-cards .point strong,
  .experience-cards .point span{
    min-width:0 !important;
    max-width:100% !important;
    overflow-wrap:anywhere !important;
  }

  .experience-cards .point strong{
    font-size:18px !important;
    line-height:1.15 !important;
  }

  .experience-cards .point span{
    font-size:12px !important;
    line-height:1.45 !important;
  }

  .experience-refresh .wrap{
    max-width:100% !important;
    overflow:hidden !important;
  }
}


/* V14.25 — phone-only trust alignment + brand image sizing */

/* Keep the phone trust strip as four evenly balanced items */
@media (max-width:700px){
  .trust-strip-grid{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    align-items:center !important;
    justify-items:center !important;
    column-gap:18px !important;
    row-gap:8px !important;
    padding:10px 18px !important;
  }

  .trust-strip-item{
    width:100% !important;
    margin:0 !important;
    padding:0 !important;
    text-align:center !important;
    white-space:normal !important;
    font-size:7.2px !important;
    line-height:1.25 !important;
    letter-spacing:.02em !important;
  }

  /* Brand/Wedding cards should use the image's natural proportions on phone */
  .occasion-service-card{
    height:auto !important;
    min-height:0 !important;
  }

  .occasion-service-card > img{
    display:block !important;
    width:100% !important;
    height:auto !important;
    max-height:none !important;
    object-fit:contain !important;
    object-position:center top !important;
    transform:none !important;
    margin:0 !important;
    padding:0 !important;
  }

  .occasion-service-card:nth-child(2) > img{
    height:auto !important;
    object-fit:contain !important;
    object-position:center top !important;
  }
}


/* V14.26 — iPad only: matching Wedding + Brand Activation boxes */
@media (min-width:701px) and (max-width:1100px){

  .occasion-service-grid{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:24px !important;
    align-items:stretch !important;
  }

  .occasion-service-card{
    display:flex !important;
    flex-direction:column !important;
    height:100% !important;
    min-height:0 !important;
    background:#fff !important;
    border-radius:22px !important;
    overflow:hidden !important;
    box-shadow:0 8px 24px rgba(33,22,25,.05) !important;
  }

  /* Same image window on both cards */
  .occasion-service-card > img{
    display:block !important;
    width:100% !important;
    height:340px !important;
    margin:0 !important;
    padding:0 !important;
    object-fit:cover !important;
    object-position:center center !important;
    border:0 !important;
    outline:0 !important;
    box-shadow:none !important;
    background:transparent !important;
    transform:none !important;
  }

  /* Wedding image framing */
  .occasion-service-card:nth-child(1) > img{
    object-position:center 42% !important;
  }

  /* Brand image framing — keeps the hand/prints visible and avoids the black strip */
  .occasion-service-card:nth-child(2) > img{
    object-position:center 55% !important;
  }

  /* Match the white text areas */
  .occasion-service-card .occasion-service-body,
  .occasion-service-card .card-body{
    display:flex !important;
    flex-direction:column !important;
    flex:1 1 auto !important;
    min-height:285px !important;
    height:auto !important;
  }

  /* Buttons align at the bottom of both cards */
  .occasion-service-card .btn,
  .occasion-service-card .subtle-link{
    margin-top:auto !important;
    align-self:flex-start !important;
  }
}


/* V14.27 — Photobooth Options: stronger, consistent card framing */
#booths .cards,
#booths .grid,
#booths .booth-grid{
  align-items:stretch !important;
}

#booths .card{
  display:flex !important;
  flex-direction:column !important;
  height:100% !important;
  min-height:0 !important;
  overflow:hidden !important;
  background:#fff !important;
  border:1px solid rgba(105,12,34,.22) !important;
  border-radius:18px !important;
  box-shadow:0 7px 22px rgba(31,20,23,.045) !important;
}

#booths .card > img{
  display:block !important;
  width:100% !important;
  height:auto !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  outline:0 !important;
  box-shadow:none !important;
  background:transparent !important;
}

#booths .card .card-body{
  display:flex !important;
  flex-direction:column !important;
  flex:1 1 auto !important;
  min-height:0 !important;
  padding-bottom:22px !important;
}

/* Keep regular card links anchored at the bottom */
#booths .card .subtle-link,
#booths .card .card-body > a:last-child{
  margin-top:auto !important;
}

/* Vintage card: proper bottom treatment instead of an empty white ending */
#booths .coming-soon-footer{
  margin-top:auto !important;
  padding-top:18px !important;
  color:#690C22 !important;
  font-size:12px !important;
  line-height:1.2 !important;
  font-weight:800 !important;
  letter-spacing:.12em !important;
  text-transform:uppercase !important;
  border-top:1px solid rgba(105,12,34,.14) !important;
}

/* iPad/tablet: visually equal card boxes */
@media (min-width:701px) and (max-width:1100px){
  #booths .cards,
  #booths .grid,
  #booths .booth-grid{
    align-items:stretch !important;
  }

  #booths .card{
    height:100% !important;
  }

  #booths .card .card-body{
    min-height:300px !important;
  }
}

/* Mobile: keep the stronger box style without excessive shadow */
@media (max-width:700px){
  #booths .card{
    border-radius:14px !important;
    box-shadow:0 5px 16px rgba(31,20,23,.035) !important;
  }
}


/* V14.28 — Photobooth Options images fill their image area */
#booths .card > img{
  display:block !important;
  width:100% !important;
  height:340px !important;
  margin:0 !important;
  padding:0 !important;
  object-fit:cover !important;
  object-position:center center !important;
  border:0 !important;
  outline:0 !important;
  box-shadow:none !important;
  background:transparent !important;
}

/* Fine-tune framing for each booth */
#booths .card:nth-child(1) > img{
  object-position:center 50% !important;
}

#booths .card:nth-child(2) > img{
  object-position:center 50% !important;
}

#booths .card:nth-child(3) > img{
  object-position:center 52% !important;
}

@media (max-width:700px){
  #booths .card > img{
    height:250px !important;
  }
}


/* V14.29 — visual-flow cleanup only */

/* Remove stray divider/border lines between the main homepage sections */
main > section,
main > div,
section{
  outline:0 !important;
}

#booths,
.occasion-services,
.experience-refresh{
  border-top:0 !important;
  border-bottom:0 !important;
}

/* iPad: reduce the large "empty scroll" gaps between sections */
@media (min-width:701px) and (max-width:1100px){
  #booths,
  .occasion-services,
  .experience-refresh{
    margin-top:0 !important;
    margin-bottom:0 !important;
  }

  #booths{
    padding-top:64px !important;
    padding-bottom:64px !important;
  }

  .occasion-services{
    padding-top:64px !important;
    padding-bottom:64px !important;
  }

  .experience-refresh{
    padding-top:64px !important;
    padding-bottom:64px !important;
  }

  /* Prevent empty spacer-like blocks from creating visible bands */
  main > section:empty,
  main > div:empty{
    display:none !important;
  }
}

/* Vintage footer should match the Explore link treatment:
   text first, then the line underneath. */
#booths .coming-soon-footer{
  margin-top:auto !important;
  padding-top:0 !important;
  padding-bottom:16px !important;
  border-top:0 !important;
  border-bottom:1px solid rgba(105,12,34,.55) !important;
  color:#690C22 !important;
  font-size:12px !important;
  line-height:1.2 !important;
  font-weight:800 !important;
  letter-spacing:.06em !important;
  text-transform:none !important;
}


/* V14.30 — Editorial / image-led refinement */
body{font-family:'Montserrat',Arial,Helvetica,sans-serif;letter-spacing:-.005em}
h1,h2,h3,.brandname{font-family:'Cormorant Garamond',Georgia,'Times New Roman',serif}
.brandname{font-style:italic;font-weight:500;letter-spacing:-.02em;font-size:30px}
.eyebrow{font-family:'Montserrat',Arial,sans-serif;font-size:9px;letter-spacing:.25em;font-weight:700}
.hero h1{font-size:clamp(64px,7.5vw,116px);font-weight:500;line-height:.84;letter-spacing:-.045em}
.hero h1 em{font-weight:400}
.hero-copy-below p{font-size:14px;line-height:1.7;max-width:700px}
.title,.experience-head .title,#booths .title,.occasion-services .title,.keepsake .title,.print-showcase .title,.faq-section .title{font-size:clamp(44px,5.2vw,72px);line-height:.94;letter-spacing:-.035em;font-weight:500}
section p{font-size:14px}

/* Image-led opening using IkonikShots' existing event photography */
.editorial-moments{background:#ffffff;padding:104px 0 112px;overflow:hidden}
.editorial-intro{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(260px,.55fr);gap:70px;align-items:end;margin-bottom:42px}
.editorial-intro h2{font-size:clamp(50px,6vw,86px);line-height:.88;letter-spacing:-.045em;font-weight:500;max-width:770px;margin-top:12px}
.editorial-intro p{max-width:420px;margin:0 0 4px;line-height:1.8;color:#4b4144}
.editorial-grid{display:grid;grid-template-columns:minmax(0,1.38fr) minmax(320px,.62fr);grid-template-rows:310px 310px;gap:16px}
.editorial-photo{position:relative;overflow:hidden;margin:0;background:#EFEFED}
.editorial-photo--hero{grid-row:1 / span 2}
.editorial-photo img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .6s ease}
.editorial-photo--hero img{object-position:center 42%}
.editorial-photo--pod img{object-position:center center}
.editorial-photo--detail img{object-position:center 52%}
.editorial-photo:hover img{transform:scale(1.018)}
.editorial-photo figcaption{position:absolute;left:18px;bottom:16px;background:rgba(255,255,255,.94);padding:9px 12px;font-size:8px;letter-spacing:.21em;text-transform:uppercase;font-weight:700;color:#690C22}

/* More editorial service presentation without losing the existing card structure */
#booths .cards{gap:22px !important}
#booths .card{border-radius:4px !important;box-shadow:none !important;border:1px solid rgba(105,12,34,.17) !important}
#booths .card .card-body{padding:26px 24px 24px !important}
#booths .card .card-body::before{display:block;font-family:'Cormorant Garamond',Georgia,serif;font-size:26px;line-height:1;color:#690C22;margin-bottom:12px}
#booths .card:nth-child(1) .card-body::before{content:'01'}
#booths .card:nth-child(2) .card-body::before{content:'02'}
#booths .card:nth-child(3) .card-body::before{content:'03'}
#booths .card h3{font-size:36px;line-height:.96;letter-spacing:-.025em;font-weight:500}
#booths .card p{font-size:13px;line-height:1.72}
#booths .card > img{height:390px !important}
.occasion-service-card{border-radius:4px !important;box-shadow:none !important}
.occasion-service-card h3{font-size:clamp(34px,3.5vw,48px);line-height:.96;letter-spacing:-.025em}
.occasion-service-body{padding-top:28px !important}
.print-showcase img,.keepsake img{border-radius:2px !important}
.subtle-link{letter-spacing:.13em;text-transform:uppercase;font-size:10px;font-weight:700}

@media (max-width:900px){
  .editorial-moments{padding:72px 0 76px}
  .editorial-intro{grid-template-columns:1fr;gap:18px;margin-bottom:30px}
  .editorial-intro p{max-width:600px}
  .editorial-grid{grid-template-columns:1.2fr .8fr;grid-template-rows:250px 250px}
  #booths .card > img{height:320px !important}
}
@media (max-width:700px){
  .brandname{font-size:25px}
  .hero h1{font-size:clamp(54px,16vw,78px);line-height:.86}
  .title,.experience-head .title,#booths .title,.occasion-services .title,.keepsake .title,.print-showcase .title,.faq-section .title{font-size:44px;line-height:.94}
  .editorial-moments{padding:58px 0 62px}
  .editorial-intro h2{font-size:50px}
  .editorial-grid{grid-template-columns:1fr;grid-template-rows:390px 240px 240px;gap:10px}
  .editorial-photo--hero{grid-row:auto}
  .editorial-photo figcaption{left:12px;bottom:12px}
  #booths .card > img{height:270px !important}
  #booths .card h3{font-size:34px}
}


/* V14.31 — cleaner neutral palette + menu typography consistency */
.links,.links a,.eyebrow,.btn,.subtle-link,.brandsub,.trust-strip-item{font-family:'Montserrat',Arial,Helvetica,sans-serif}
header{background:rgba(255,255,255,.96)!important}
body{background:#F4F5F4}
.editorial-moments{background:#fff}


/* V14.32 — cleaner neutral palette + reliable editorial images */
.experience-refresh{background:#F2F2F0 !important;}
.experience-cards .point{background:#FFFFFF !important;border-color:#D9D9D5 !important;}
.editorial-photo{background:#ECECEA !important;}


/* V14.33 — aligned image panels + burgundy/white section rhythm */
body{background:#fff!important;}
.editorial-moments{background:#690C22!important;color:#fff!important;padding:74px 0 78px!important;overflow:hidden!important;}
.editorial-moments .wrap{width:min(1180px,92%)!important;margin:auto!important;}
.editorial-intro--clean{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(280px,.55fr)!important;gap:48px!important;align-items:end!important;margin:0 0 34px!important;}
.editorial-intro--clean .eyebrow{color:#fff!important;opacity:.82!important;}
.editorial-intro--clean h2{color:#fff!important;margin:10px 0 0!important;font-size:clamp(44px,5vw,70px)!important;line-height:.94!important;letter-spacing:-.035em!important;}
.editorial-intro--clean p{color:rgba(255,255,255,.84)!important;margin:0 0 5px!important;max-width:430px!important;line-height:1.7!important;}
.editorial-grid--aligned{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;grid-template-rows:none!important;gap:18px!important;}
.editorial-grid--aligned .editorial-panel{display:flex!important;flex-direction:column!important;min-width:0!important;height:auto!important;margin:0!important;background:#fff!important;overflow:hidden!important;position:relative!important;border:0!important;}
.editorial-grid--aligned .editorial-panel img{display:block!important;width:100%!important;height:330px!important;min-height:330px!important;max-height:330px!important;object-fit:cover!important;object-position:center!important;transform:none!important;}
.editorial-grid--aligned .editorial-panel:nth-child(1) img{object-position:center 40%!important;}
.editorial-grid--aligned .editorial-panel:nth-child(2) img{object-position:center center!important;}
.editorial-grid--aligned .editorial-panel:nth-child(3) img{object-position:center 50%!important;}
.editorial-grid--aligned .editorial-panel figcaption{position:static!important;display:flex!important;align-items:center!important;justify-content:space-between!important;width:100%!important;box-sizing:border-box!important;padding:15px 17px!important;margin:0!important;background:#fff!important;color:#690C22!important;font-family:'Montserrat',Arial,Helvetica,sans-serif!important;font-size:9px!important;line-height:1!important;letter-spacing:.18em!important;font-weight:700!important;text-transform:uppercase!important;}
.editorial-grid--aligned .editorial-panel figcaption span{font-family:'Cormorant Garamond',Georgia,serif!important;font-size:20px!important;letter-spacing:0!important;font-weight:500!important;}
.experience-refresh{background:#fff!important;}
.experience-cards .point{background:#fff!important;border-color:rgba(105,12,34,.20)!important;}
#booths{background:#690C22!important;color:#fff!important;}
#booths .eyebrow,#booths>.wrap>h2,#booths .title{color:#fff!important;}
#booths .card{background:#fff!important;color:#1d1719!important;border-color:rgba(255,255,255,.30)!important;}
#booths .card h3,#booths .card .card-body::before,#booths .subtle-link,#booths .coming-soon-footer{color:#690C22!important;}
#booths .card p{color:#4b4144!important;}
@media (min-width:701px) and (max-width:1100px){
  .editorial-moments{padding:58px 0 64px!important;}
  .editorial-intro--clean{grid-template-columns:1fr!important;gap:12px!important;margin-bottom:26px!important;}
  .editorial-intro--clean p{max-width:680px!important;}
  .editorial-grid--aligned{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:12px!important;}
  .editorial-grid--aligned .editorial-panel img{height:250px!important;min-height:250px!important;max-height:250px!important;}
}
@media (max-width:700px){
  .editorial-moments{padding:52px 0 58px!important;}
  .editorial-intro--clean{grid-template-columns:1fr!important;gap:12px!important;margin-bottom:24px!important;}
  .editorial-intro--clean h2{font-size:44px!important;}
  .editorial-grid--aligned{grid-template-columns:1fr!important;gap:14px!important;}
  .editorial-grid--aligned .editorial-panel img{height:270px!important;min-height:270px!important;max-height:270px!important;}
}


/* V14.34 — lighter burgundy + cleaner memories grid */
:root{--burgundy:#7B1731;}
.editorial-moments{background:var(--burgundy)!important;padding:66px 0 76px!important;}
.editorial-intro--memories{display:block!important;margin-bottom:28px!important;}
.editorial-intro--memories .eyebrow{color:#EED9E1!important;margin-bottom:10px!important;}
.editorial-intro--memories h2{color:#fff!important;font-size:clamp(48px,5.4vw,76px)!important;line-height:.92!important;letter-spacing:-.04em!important;margin:0!important;max-width:none!important;}
.memories-gallery{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:16px;align-items:stretch;}
.memory-card{grid-column:span 2;background:#fff;border:1px solid rgba(255,255,255,.18);padding:12px;display:flex;align-items:center;justify-content:center;min-height:320px;box-sizing:border-box;overflow:hidden;}
.memory-card img{display:block;width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain;background:#fff;}
.memories-gallery .memory-card:nth-child(4), .memories-gallery .memory-card:nth-child(5){grid-column:span 3;}
@media (min-width:701px) and (max-width:1100px){
  .editorial-moments{padding:58px 0 66px!important;}
  .memories-gallery{gap:12px!important;}
  .memory-card{min-height:248px!important;padding:10px!important;}
}
@media (max-width:700px){
  .editorial-moments{padding:48px 0 56px!important;}
  .editorial-intro--memories h2{font-size:42px!important;}
  .memories-gallery{grid-template-columns:1fr!important;gap:12px!important;}
  .memory-card,.memories-gallery .memory-card:nth-child(4),.memories-gallery .memory-card:nth-child(5){grid-column:auto!important;min-height:240px!important;padding:10px!important;}
}


/* V14.37 — clean white trust strip + working slideshow + lighter true burgundy */
:root{--burgundy:#7A1730;}
.trust{
  background:#fff!important;
  border:0!important;
  padding:7px 0!important;
  margin:12px 0 18px!important;
}
.trust-strip-grid{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  align-items:center!important;
  gap:14px!important;
  padding:0!important;
}
.trust-strip-item{
  color:#2a2326!important;
  font-size:8.5px!important;
  line-height:1.2!important;
  letter-spacing:.065em!important;
  font-weight:700!important;
  text-transform:uppercase!important;
  text-align:center!important;
  padding:3px 0!important;
  min-height:auto!important;
  border:0!important;
  background:transparent!important;
}
.trust-strip-item + .trust-strip-item{border-left:0!important;}


.memory-slideshow-section{
  background:#7A1730!important;
  padding:58px 0 66px!important;
  overflow:hidden!important;
}
.editorial-intro--memories{display:block!important;margin:0 0 24px!important;}
.editorial-intro--memories .eyebrow{color:rgba(255,255,255,.80)!important;margin-bottom:9px!important;}
.editorial-intro--memories h2{
  color:#fff!important;
  margin:0!important;
  font-size:clamp(48px,5.2vw,72px)!important;
  line-height:.92!important;
  letter-spacing:-.04em!important;
}
.memory-slideshow{width:100%!important;margin:0!important;}
.memory-stage{
  position:relative!important;
  width:100%!important;
  aspect-ratio:16/10!important;
  max-height:650px!important;
  overflow:hidden!important;
  background:#fff!important;
}
.memory-slide{
  position:absolute!important;
  inset:0!important;
  opacity:0!important;
  visibility:hidden!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  transition:opacity .45s ease!important;
  pointer-events:none!important;
  animation:none!important;
}
.memory-slide.is-active{opacity:1!important;visibility:visible!important;pointer-events:auto!important;}
.memory-slide img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  object-position:center!important;
  background:#fff!important;
}
.memory-arrow{
  position:absolute!important;
  top:50%!important;
  transform:translateY(-50%)!important;
  z-index:5!important;
  width:42px!important;
  height:42px!important;
  border-radius:50%!important;
  border:1px solid rgba(255,255,255,.75)!important;
  background:rgba(105,12,34,.68)!important;
  color:#fff!important;
  font-size:28px!important;
  line-height:1!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  cursor:pointer!important;
}
.memory-prev{left:14px!important;}
.memory-next{right:14px!important;}
.memory-dots{display:flex!important;justify-content:center!important;gap:8px!important;padding-top:14px!important;}
.memory-dot{
  width:7px!important;
  height:7px!important;
  padding:0!important;
  border-radius:50%!important;
  border:1px solid rgba(255,255,255,.85)!important;
  background:transparent!important;
  cursor:pointer!important;
}
.memory-dot.is-active{background:#fff!important;}
@media (min-width:701px) and (max-width:1100px){
  .trust{margin:10px 0 16px!important;}
  .trust-strip-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:10px!important;}
  .trust-strip-item{font-size:8px!important;}
  .memory-slideshow-section{padding:50px 0 58px!important;}
  .memory-stage{max-height:560px!important;}
}
@media (max-width:700px){
  .trust{margin:8px 0 12px!important;}
  .trust-strip-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px 12px!important;}
  .trust-strip-item{font-size:7.5px!important;padding:4px 0!important;}
  .memory-slideshow-section{padding:42px 0 48px!important;}
  .editorial-intro--memories h2{font-size:42px!important;}
  .memory-stage{aspect-ratio:4/3!important;max-height:none!important;}
  .memory-arrow{width:36px!important;height:36px!important;font-size:24px!important;}
  .memory-prev{left:8px!important}.memory-next{right:8px!important}
}


/* V14.45 — burgundy mist, native-menu artefact removed, reliable slideshow */
:root{--burgundy-mist:#F4ECEE;}

/* Plain, thin white trust strip — no boxes or dividers */
.trust{
  background:#fff!important;
  border:0!important;
  padding:7px 0!important;
  margin:12px 0 14px!important;
}
.trust-strip-grid{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:12px!important;
  padding:0!important;
  align-items:center!important;
}
.trust-strip-item{
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  color:#30282b!important;
  font-size:8.5px!important;
  line-height:1.25!important;
  letter-spacing:.055em!important;
  text-align:center!important;
  padding:3px 0!important;
  min-height:0!important;
}

/* Soft burgundy-tinted neutral rather than a heavy burgundy block */
.memory-slideshow-section{
  background:var(--burgundy-mist)!important;
  padding:52px 0 58px!important;
  overflow:hidden!important;
}
.editorial-intro--memories{display:block!important;margin:0 0 24px!important;}
.editorial-intro--memories .eyebrow{color:#690C22!important;margin-bottom:9px!important;}
.editorial-intro--memories h2{
  color:#241d20!important;
  margin:0!important;
  font-size:clamp(48px,5.3vw,74px)!important;
  line-height:.92!important;
  letter-spacing:-.04em!important;
}
.memory-slideshow{width:100%!important;}
.memory-stage{
  position:relative!important;
  width:100%!important;
  height:auto!important;
  aspect-ratio:auto!important;
  max-height:none!important;
  overflow:hidden!important;
  background:transparent!important;
  border:0!important;
}
.memory-slide{
  display:none!important;
  position:relative!important;
  inset:auto!important;
  opacity:1!important;
  visibility:visible!important;
  pointer-events:auto!important;
  animation:none!important;
  transition:none!important;
  margin:0!important;
}
.memory-slide.is-active{display:block!important;}
.memory-slide img{
  display:block!important;
  width:100%!important;
  height:auto!important;
  max-height:none!important;
  object-fit:contain!important;
  object-position:center!important;
  background:transparent!important;
  margin:0!important;
}
.memory-arrow{
  position:absolute!important;
  top:50%!important;
  transform:translateY(-50%)!important;
  z-index:5!important;
  width:42px!important;
  height:42px!important;
  border-radius:50%!important;
  border:1px solid rgba(255,255,255,.75)!important;
  background:rgba(105,12,34,.72)!important;
  color:#fff!important;
  font-size:27px!important;
  line-height:1!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  cursor:pointer!important;
}
.memory-prev{left:12px!important;}
.memory-next{right:12px!important;}
.memory-dots{display:flex!important;justify-content:center!important;gap:8px!important;padding-top:14px!important;}
.memory-dot{
  width:7px!important;height:7px!important;padding:0!important;border-radius:50%!important;
  border:1px solid rgba(105,12,34,.45)!important;background:transparent!important;cursor:pointer!important;
}
.memory-dot.is-active{background:#690C22!important;border-color:#690C22!important;}

/* iPad/mobile menu: use a normal button, not details/summary */
.mobile-menu-toggle{
  display:flex!important;
  width:28px!important;min-width:28px!important;height:38px!important;min-height:38px!important;
  padding:0!important;margin:0!important;border:0!important;background:transparent!important;
  align-items:center!important;justify-content:flex-end!important;cursor:pointer!important;
  -webkit-appearance:none!important;appearance:none!important;color:transparent!important;font-size:0!important;
}
.mobile-menu-toggle::before,.mobile-menu-toggle::after{content:none!important;}
.mobile-nav.is-open .menu-icon span:nth-child(1){transform:translateY(6.2px) rotate(45deg)!important;}
.mobile-nav.is-open .menu-icon span:nth-child(2){opacity:0!important;}
.mobile-nav.is-open .menu-icon span:nth-child(3){transform:translateY(-6.2px) rotate(-45deg)!important;}
.mobile-nav-panel[hidden]{display:none!important;}
.mobile-nav.is-open .mobile-nav-panel{display:block!important;}

@media (min-width:701px){
  .mobile-nav{display:none!important;}
}
@media (min-width:701px) and (max-width:1100px){
  .trust{margin:10px 0 14px!important;}
  .trust-strip-item{font-size:8px!important;}
  .memory-slideshow-section{padding:48px 0 54px!important;}
}
@media (max-width:700px){
  .trust{margin:8px 0 12px!important;padding:6px 0!important;}
  .trust-strip-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:5px 12px!important;}
  .trust-strip-item{font-size:7.5px!important;padding:3px 0!important;}
  .memory-slideshow-section{padding:42px 0 48px!important;}
  .editorial-intro--memories h2{font-size:42px!important;}
  .memory-arrow{width:36px!important;height:36px!important;font-size:24px!important;}
  .memory-prev{left:8px!important}.memory-next{right:8px!important;}
}


/* V14.45 — fallback auto slideshow that moves even if JS fails */
.memory-stage{
  position:relative!important;
  width:100%!important;
  aspect-ratio:3/2!important;
  min-height:320px!important;
  overflow:hidden!important;
  background:transparent!important;
}
.memory-slide{
  position:absolute!important;
  inset:0!important;
  display:block!important;
  opacity:0!important;
  visibility:visible!important;
  pointer-events:none!important;
  animation:memoryAutoCycle 25s infinite!important;
}
.memory-slide:nth-child(1){animation-delay:0s!important;}
.memory-slide:nth-child(2){animation-delay:5s!important;}
.memory-slide:nth-child(3){animation-delay:10s!important;}
.memory-slide:nth-child(4){animation-delay:15s!important;}
.memory-slide:nth-child(5){animation-delay:20s!important;}
.memory-slide.is-active{opacity:1!important;}
.memory-slide img{
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  object-position:center!important;
  display:block!important;
}
.memory-arrow,.memory-dots{display:none!important;}
@keyframes memoryAutoCycle{
  0%,16%{opacity:1!important;}
  20%,100%{opacity:0!important;}
}
@media (max-width:700px){
  .memory-stage{aspect-ratio:4/3!important;min-height:240px!important;}
}


/* V14.45 — definitive slideshow state reset */
.memory-stage{position:relative!important;width:100%!important;aspect-ratio:3/2!important;min-height:320px!important;overflow:hidden!important;}
.memory-slide{position:absolute!important;inset:0!important;display:none!important;opacity:1!important;visibility:visible!important;animation:none!important;transition:none!important;pointer-events:none!important;}
.memory-slide img{display:block!important;width:100%!important;height:100%!important;object-fit:contain!important;object-position:center!important;margin:0!important;}
.memory-slide.is-active{display:block!important;opacity:1!important;visibility:visible!important;pointer-events:auto!important;}
@media(max-width:700px){.memory-stage{aspect-ratio:4/3!important;min-height:240px!important;}}


/* V14.45 — hard-reset slideshow so auto and manual controls definitely work */
.memory-slideshow{position:relative!important;}
.memory-stage{position:relative!important;min-height:520px!important;height:520px!important;max-height:520px!important;overflow:hidden!important;background:transparent!important;border:0!important;}
.memory-slide{position:absolute!important;inset:0!important;display:none!important;align-items:center!important;justify-content:center!important;opacity:1!important;visibility:visible!important;pointer-events:none!important;animation:none!important;transition:none!important;margin:0!important;z-index:1!important;}
.memory-slide.active-manual{display:flex!important;pointer-events:auto!important;z-index:2!important;}
.memory-slide img{display:block!important;max-width:100%!important;max-height:100%!important;width:auto!important;height:auto!important;object-fit:contain!important;object-position:center!important;margin:auto!important;background:transparent!important;}
.memory-arrow{display:flex!important;position:absolute!important;top:50%!important;transform:translateY(-50%)!important;z-index:10!important;width:44px!important;height:44px!important;border-radius:50%!important;border:0!important;background:rgba(105,12,34,.82)!important;color:#fff!important;font-size:28px!important;line-height:1!important;align-items:center!important;justify-content:center!important;cursor:pointer!important;box-shadow:0 6px 16px rgba(0,0,0,.12)!important;}
.memory-prev{left:14px!important;}
.memory-next{right:14px!important;}
.memory-dots{display:flex!important;justify-content:center!important;gap:10px!important;padding-top:16px!important;}
.memory-dot{width:10px!important;height:10px!important;border-radius:50%!important;border:0!important;background:rgba(105,12,34,.28)!important;cursor:pointer!important;padding:0!important;}
.memory-dot.active-manual,.memory-dot.is-active{background:#690C22!important;}
@media (max-width:700px){.memory-stage{min-height:360px!important;height:360px!important;max-height:360px!important}.memory-arrow{width:38px!important;height:38px!important;font-size:24px!important}.memory-prev{left:8px!important}.memory-next{right:8px!important}}


/* V14.45 — no-JS swipe carousel for iPad/preview reliability */
.memory-swipe-shell{position:relative!important;width:100%!important;}
.memory-swipe-track{
  display:flex!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  scroll-snap-type:x mandatory!important;
  -webkit-overflow-scrolling:touch!important;
  scroll-behavior:smooth!important;
  gap:0!important;
  width:100%!important;
  scrollbar-width:none!important;
  background:transparent!important;
}
.memory-swipe-track::-webkit-scrollbar{display:none!important;}
.memory-swipe-slide{
  position:relative!important;
  flex:0 0 100%!important;
  width:100%!important;
  min-width:100%!important;
  height:560px!important;
  scroll-snap-align:start!important;
  scroll-snap-stop:always!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  background:transparent!important;
  overflow:hidden!important;
}
.memory-swipe-slide img{
  display:block!important;
  width:auto!important;
  height:auto!important;
  max-width:100%!important;
  max-height:100%!important;
  object-fit:contain!important;
  object-position:center!important;
  margin:auto!important;
  background:transparent!important;
}
.memory-link{
  position:absolute!important;
  top:50%!important;
  transform:translateY(-50%)!important;
  z-index:5!important;
  width:44px!important;
  height:44px!important;
  border-radius:50%!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  background:rgba(105,12,34,.86)!important;
  color:#fff!important;
  text-decoration:none!important;
  font-size:29px!important;
  line-height:1!important;
  box-shadow:0 5px 16px rgba(0,0,0,.13)!important;
}
.memory-link-prev{left:12px!important;}
.memory-link-next{right:12px!important;}
.memory-swipe-hint{
  text-align:center!important;
  margin-top:12px!important;
  font-family:'Montserrat',Arial,sans-serif!important;
  font-size:9px!important;
  font-weight:600!important;
  letter-spacing:.14em!important;
  text-transform:uppercase!important;
  color:#690C22!important;
}
.memory-swipe-dots{display:flex!important;justify-content:center!important;gap:9px!important;margin-top:10px!important;}
.memory-swipe-dots a{
  width:9px!important;height:9px!important;border-radius:50%!important;
  display:block!important;overflow:hidden!important;text-indent:-9999px!important;
  background:rgba(105,12,34,.30)!important;text-decoration:none!important;
}
.memory-swipe-dots a:focus,.memory-swipe-dots a:hover{background:#690C22!important;}
/* Hide old carousel elements if any legacy markup remains elsewhere */
.memory-stage,.memory-dots,.memory-arrow{display:none!important;}
@media (max-width:700px){
  .memory-swipe-slide{height:360px!important;}
  .memory-link{width:38px!important;height:38px!important;font-size:25px!important;}
  .memory-link-prev{left:7px!important}.memory-link-next{right:7px!important}
}


/* V14.45 — editorial palette + consistent eyebrow treatment */
:root{
  --cream:#F6F3EF;
  --ink:#0D0D0D;
  --body-text:#3A3733;
  --burgundy:#4A0F1E;
  --gold:#B0914C;
  --card-white:#FFFFFF;
  --divider-band:#EDE9E4;
  --muted-dark:#8A857C;
}

html,body{background:var(--cream)!important;color:var(--body-text)!important;}
body{color:var(--body-text)!important;}

/* Header + trust strip stay crisp white */
header{background:rgba(255,255,255,.98)!important;}
.trust{background:#fff!important;border:0!important;margin:0!important;padding:7px 0!important;}
.trust-strip-item{color:#2D2926!important;background:transparent!important;border:0!important;box-shadow:none!important;}

/* Light editorial sections */
.memory-slideshow-section,
.experience-refresh,
.why-section,
.occasion-services,
.brand-feature,
.print-showcase,
.review,
.faq-section,
section.white{background:var(--cream)!important;color:var(--body-text)!important;}

/* Gentle separator where two cream sections meet */
.experience-refresh{box-shadow:inset 0 12px 0 var(--divider-band)!important;}

/* Text on cream */
.memory-slideshow-section h1,.memory-slideshow-section h2,.memory-slideshow-section h3,
.experience-refresh h1,.experience-refresh h2,.experience-refresh h3,
.occasion-services h1,.occasion-services h2,.occasion-services h3,
.brand-feature h1,.brand-feature h2,.brand-feature h3,
.print-showcase h1,.print-showcase h2,.print-showcase h3,
.review h1,.review h2,.review h3,.review blockquote,
.faq-section h1,.faq-section h2,.faq-section h3,
section.white h1,section.white h2,section.white h3{color:var(--ink)!important;}

.memory-slideshow-section p,.experience-refresh p,.experience-refresh span,
.occasion-services p,.brand-feature p,.print-showcase p,.review p,.faq-section p,section.white p{color:var(--body-text)!important;}

/* Four shared editorial eyebrow treatments */
.editorial-eyebrow{
  color:var(--burgundy)!important;
  font-family:'Montserrat',Arial,Helvetica,sans-serif!important;
  font-size:11px!important;
  line-height:1.2!important;
  font-weight:600!important;
  letter-spacing:.08em!important;
  text-transform:uppercase!important;
  margin:0!important;
}
.gold-hairline{
  width:52px!important;
  height:1px!important;
  background:var(--gold)!important;
  margin:10px 0 16px!important;
}
.editorial-intro--memories{margin-bottom:24px!important;}
.editorial-intro--memories .editorial-eyebrow{color:var(--burgundy)!important;}
.editorial-intro--memories h2{color:var(--ink)!important;margin-top:0!important;}

/* Cards on cream */
.experience-cards .point,
.occasion-service-card,
.review-card,
.faq-list details,
.print-rail figure{background:var(--card-white)!important;}
.experience-cards .point,.review-card,.faq-list details{border-color:rgba(74,15,30,.12)!important;}
.experience-cards .point strong,.experience-cards .point span{color:var(--body-text)!important;}

/* Booth selection = black high-impact section */
#booths{background:var(--ink)!important;color:var(--cream)!important;}
#booths .editorial-eyebrow{color:var(--cream)!important;}
#booths .gold-hairline{background:var(--gold)!important;}
#booths>.wrap>h2,#booths .title{color:var(--cream)!important;}
#booths .card{background:var(--card-white)!important;color:var(--body-text)!important;border-color:rgba(255,255,255,.10)!important;}
#booths .card h3{color:var(--ink)!important;}
#booths .card p,#booths .card .spec{color:var(--body-text)!important;}
#booths .card .subtle-link,#booths .coming-soon-footer,#booths .tag{color:var(--burgundy)!important;}

/* Memento is the only full burgundy section */
#memento,.keepsake{background:var(--burgundy)!important;color:var(--cream)!important;}
#memento h1,#memento h2,#memento h3,#memento .title,#memento p,#memento .steps,#memento .eyebrow,#memento a{color:var(--cream)!important;}
#memento .steps{border-color:rgba(246,243,239,.25)!important;}
#memento .memento-discover a{border-color:rgba(246,243,239,.6)!important;}

/* Video / behind-the-booth = black */
.motion-clean,.gallery{background:var(--ink)!important;color:var(--cream)!important;}
.motion-clean h1,.motion-clean h2,.motion-clean h3,.motion-clean p,.motion-clean figcaption,
.gallery h1,.gallery h2,.gallery h3,.gallery p{color:var(--cream)!important;}
.motion-clean .eyebrow,.gallery .eyebrow{color:var(--cream)!important;}
.motion-clean video{background:var(--ink)!important;}

/* CTA + footer = black */
.cta{background:var(--ink)!important;color:var(--cream)!important;}
.cta h1,.cta h2,.cta h3,.cta p,.cta .eyebrow{color:var(--cream)!important;}
.cta .btn{background:var(--cream)!important;color:var(--ink)!important;border-color:var(--cream)!important;}
footer{background:var(--ink)!important;color:var(--cream)!important;}
footer h3,footer h4,footer a{color:var(--cream)!important;}
footer p,.footnote{color:var(--muted-dark)!important;}
.footnote{border-color:#282521!important;}

/* Burgundy accent on cream */
.memory-slideshow-section .eyebrow:not(.editorial-eyebrow),
.experience-refresh .eyebrow,
.occasion-services .eyebrow,
.brand-feature .eyebrow,
.print-showcase .eyebrow,
.review .eyebrow,
.faq-section .eyebrow{color:var(--burgundy)!important;}

/* Existing swipe carousel: retain no-script mechanics, remove old pink/mist background */
.memory-swipe-shell,.memory-swipe-track,.memory-swipe-slide{background:transparent!important;}
.memory-swipe-slide img{background:transparent!important;}
.memory-swipe-arrow{background:rgba(13,13,13,.72)!important;color:var(--cream)!important;border-color:rgba(246,243,239,.8)!important;}
.memory-swipe-dots a{color:var(--burgundy)!important;border-color:rgba(74,15,30,.24)!important;}

@media(max-width:700px){
  .editorial-eyebrow{font-size:10px!important;}
  .gold-hairline{width:44px!important;margin:9px 0 14px!important;}
  .experience-refresh{box-shadow:inset 0 8px 0 var(--divider-band)!important;}
}


/* V14.45 — phone-only polish; tablet/desktop unchanged */
@media (max-width:700px){
  html,body{margin:0!important;padding:0!important;background:#F6F3EF!important;}
  body{overflow-x:hidden!important;}

  /* Remove any stray top breathing band and compact the header */
  header{margin:0!important;padding:0!important;top:0!important;background:#fff!important;}
  header nav.wrap{
    width:92%!important;
    min-height:76px!important;
    height:76px!important;
    padding:0!important;
    margin:0 auto!important;
    gap:10px!important;
  }
  header .brand{min-width:0!important;gap:8px!important;}
  header .brand img{width:54px!important;height:54px!important;flex:0 0 54px!important;}
  header .brandname{font-size:24px!important;line-height:.95!important;}
  header .brandsub{font-size:7px!important;letter-spacing:.13em!important;margin-top:4px!important;}
  .mobile-enquire-top{
    min-height:38px!important;
    height:38px!important;
    padding:0 13px!important;
    font-size:8.5px!important;
  }
  .mobile-menu-toggle{width:28px!important;height:38px!important;}
  .menu-icon{width:22px!important;height:15px!important;}

  /* Hero: keep image impact but give the copy more controlled spacing */
  .hero{margin:0!important;}
  .hero-inner{padding-left:0!important;padding-right:0!important;}
  .hero-overlay-title{margin-bottom:8px!important;}
  .hero .hero-kicker{font-size:8px!important;letter-spacing:.15em!important;margin-bottom:6px!important;}
  .hero h1{font-size:48px!important;line-height:.84!important;letter-spacing:-.045em!important;}
  .hero-copy-below>p:first-child{font-size:9.5px!important;line-height:1.38!important;margin-bottom:10px!important;}
  .hero-copy-below>p:last-child{gap:7px!important;}
  .hero-copy-below>p:last-child .btn{padding:10px 5px!important;font-size:8px!important;}

  /* Trust row: lighter, thinner, less like another content section */
  .trust{padding:0!important;margin:0!important;background:#fff!important;}
  .trust-strip-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    column-gap:14px!important;
    row-gap:5px!important;
    padding:10px 16px 11px!important;
  }
  .trust-strip-item{font-size:6.7px!important;line-height:1.2!important;letter-spacing:.035em!important;}

  /* From our booths: editorial but not oversized */
  .memory-slideshow-section{padding:48px 0 54px!important;}
  .memory-slideshow-section .wrap{width:92%!important;}
  .editorial-intro--memories{margin-bottom:20px!important;}
  .editorial-intro--memories .editorial-eyebrow{font-size:10px!important;letter-spacing:.08em!important;}
  .editorial-intro--memories .gold-hairline{width:42px!important;margin:9px 0 14px!important;}
  .editorial-intro--memories h2{
    font-size:38px!important;
    line-height:.93!important;
    letter-spacing:-.035em!important;
    max-width:330px!important;
  }

  /* Working no-script carousel: cleaner phone proportions */
  .memory-carousel,.memory-slideshow{margin-top:0!important;}
  .memory-stage,.memory-carousel-track{scroll-margin-top:0!important;}
  .memory-arrow{width:36px!important;height:36px!important;font-size:22px!important;}
  .memory-prev{left:8px!important;}
  .memory-next{right:8px!important;}
  .memory-dots{padding-top:10px!important;gap:7px!important;}
  .memory-dot{width:7px!important;height:7px!important;}

  /* Next section needs breathing room rather than a hard jump */
  .experience-refresh{padding-top:58px!important;}
  .experience-head .title{font-size:39px!important;line-height:.95!important;}
}


/* V14.45 — mobile-only stacked hero + tighter carousel spacing */
@media (max-width:700px){
  /* Photo first, cream content block second */
  .hero{
    display:block!important;
    min-height:0!important;
    height:auto!important;
    align-items:initial!important;
    background-color:#F6F3EF!important;
    background-size:0 0, auto 45svh!important;
    background-position:left top,58% top!important;
    background-repeat:no-repeat,no-repeat!important;
  }
  .hero>.wrap{
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    padding:45svh 0 0!important;
  }
  .hero-inner{
    box-sizing:border-box!important;
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    padding:27px 5.5vw 31px!important;
    background:#F6F3EF!important;
    color:#0D0D0D!important;
  }
  .hero-overlay-title{margin:0 0 13px!important;}
  .hero .hero-kicker{
    color:#4A0F1E!important;
    font-size:9px!important;
    letter-spacing:.12em!important;
    margin:0 0 8px!important;
  }
  .hero h1{
    color:#0D0D0D!important;
    font-size:48px!important;
    line-height:.88!important;
    letter-spacing:-.045em!important;
    text-shadow:none!important;
  }
  .hero h1 em{color:#4A0F1E!important;text-shadow:none!important;}
  .hero-copy-below>p:first-child{
    max-width:88%!important;
    margin:0 0 18px!important;
    color:#3A3733!important;
    font-size:13px!important;
    line-height:1.55!important;
  }
  .hero-copy-below>p:last-child{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:10px!important;
    margin:0!important;
  }
  .hero-copy-below>p:last-child .btn{
    box-sizing:border-box!important;
    width:100%!important;
    margin:0!important;
    padding:13px 10px!important;
    text-align:center!important;
    font-size:9px!important;
    line-height:1!important;
  }
  .hero-copy-below .whatsapp{
    color:#4A0F1E!important;
    border-color:#4A0F1E!important;
    background:transparent!important;
  }

  /* Bring the first photo closer to the headline */
  .memory-slideshow-section{padding-top:42px!important;}
  .editorial-intro--memories{margin-bottom:10px!important;}
  .editorial-intro--memories .gold-hairline{margin-bottom:10px!important;}
  .editorial-intro--memories h2{margin-bottom:0!important;}
  .memory-swipe-shell{margin-top:0!important;}
  .memory-swipe-slide{height:340px!important;}
  .memory-swipe-hint{margin-top:8px!important;}

  /* A little more breathing space below the carousel controls */
  .memory-swipe-dots{margin-bottom:8px!important;}
}


/* V14.48 — mobile hero image restored + experience content refinement */
.mobile-hero-photo{display:none;}
.ai-inline-feature{
  margin-top:28px;
  padding:26px 28px;
  background:#FFFFFF;
  border:1px solid rgba(74,15,30,.12);
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:28px;
}
.ai-inline-copy{max-width:690px;}
.ai-inline-feature .eyebrow{color:#4A0F1E!important;margin:0 0 8px!important;}
.ai-inline-feature h3{margin:0 0 9px!important;color:#0D0D0D!important;font-size:32px!important;line-height:1!important;}
.ai-inline-feature p{margin:0!important;color:#3A3733!important;font-size:13px!important;line-height:1.65!important;}
.ai-inline-link{
  flex:0 0 auto;
  color:#4A0F1E!important;
  text-decoration:none!important;
  text-transform:uppercase;
  font-family:'Montserrat',Arial,Helvetica,sans-serif;
  font-size:10px;
  font-weight:700;
  letter-spacing:.11em;
  border-bottom:1px solid #B0914C;
  padding-bottom:5px;
}

@media(max-width:700px){
  /* Use a real image element so the mobile photo cannot disappear in file preview. */
  .hero{
    background:none!important;
    background-image:none!important;
    padding:0!important;
    margin:0!important;
    display:block!important;
    min-height:0!important;
    height:auto!important;
    overflow:visible!important;
  }
  .mobile-hero-photo{
    display:block!important;
    width:100%!important;
    height:45svh!important;
    min-height:300px!important;
    max-height:430px!important;
    object-fit:cover!important;
    object-position:58% center!important;
    margin:0!important;
    padding:0!important;
  }
  .hero>.wrap{
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    padding:0!important;
  }
  .hero-inner{
    position:static!important;
    inset:auto!important;
    display:block!important;
    width:100%!important;
    max-width:none!important;
    height:auto!important;
    margin:0!important;
    padding:26px 5.5vw 30px!important;
    box-sizing:border-box!important;
    background:#F6F3EF!important;
    color:#0D0D0D!important;
  }
  .hero-overlay-title{
    position:static!important;
    inset:auto!important;
    display:block!important;
    margin:0 0 13px!important;
    color:#0D0D0D!important;
  }
  .hero .hero-kicker{color:#4A0F1E!important;text-shadow:none!important;}
  .hero h1{color:#0D0D0D!important;text-shadow:none!important;}
  .hero h1 em{color:#4A0F1E!important;text-shadow:none!important;}
  .hero-copy-below{display:block!important;color:#3A3733!important;}
  .hero-copy-below>p:first-child{color:#3A3733!important;text-shadow:none!important;max-width:88%!important;}
  .hero::before,.hero::after{display:none!important;content:none!important;}

  /* Tighten headline-to-carousel spacing. */
  .editorial-intro--memories{margin-bottom:7px!important;}
  .editorial-intro--memories .gold-hairline{margin-bottom:9px!important;}
  .memory-swipe-shell{margin-top:0!important;}

  .ai-inline-feature{
    margin-top:16px!important;
    padding:22px 20px!important;
    display:block!important;
  }
  .ai-inline-feature h3{font-size:28px!important;}
  .ai-inline-feature p{font-size:12.5px!important;}
  .ai-inline-link{display:inline-block!important;margin-top:16px!important;}
}


/* V14.48 — mobile-only unified hero */
@media (max-width:700px){
  .hero{
    display:block!important;
    margin:0!important;
    padding:0!important;
    background:#F6F3EF!important;
    border:0!important;
    box-shadow:none!important;
    overflow:hidden!important;
  }
  .mobile-hero-photo{
    display:block!important;
    width:100%!important;
    height:40vh!important;
    height:40svh!important;
    min-height:260px!important;
    max-height:360px!important;
    object-fit:cover!important;
    object-position:58% center!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    box-shadow:none!important;
    vertical-align:bottom!important;
  }
  .hero>.wrap{
    display:block!important;
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    padding:0!important;
    background:#F6F3EF!important;
    border:0!important;
    box-shadow:none!important;
  }
  .hero-inner{
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    padding:24px 5.5vw 28px!important;
    background:#F6F3EF!important;
    color:#0D0D0D!important;
    border:0!important;
    box-shadow:none!important;
  }
  .hero-overlay-title{
    margin:0 0 12px!important;
    padding:0!important;
    border:0!important;
    box-shadow:none!important;
  }
  .hero .hero-kicker{
    color:#4A0F1E!important;
    text-shadow:none!important;
    margin:0 0 10px!important;
    padding:0!important;
  }
  .hero h1{
    color:#0D0D0D!important;
    text-shadow:none!important;
    margin:0!important;
  }
  .hero h1 em{
    color:#4A0F1E!important;
    text-shadow:none!important;
  }
  .hero-copy-below{
    margin:0!important;
    padding:0!important;
    background:#F6F3EF!important;
  }
  .hero-copy-below>p:first-child{
    margin-top:0!important;
    text-shadow:none!important;
  }
  .hero::before,.hero::after,.hero-inner::before,.hero-inner::after{
    display:none!important;
    content:none!important;
  }
}


/* V14.48 — final mobile hero text override */
@media (max-width:700px){
  .hero .hero-overlay-title h1{
    color:#0D0D0D!important;
    text-shadow:none!important;
    -webkit-text-stroke:0!important;
    filter:none!important;
  }
  .hero .hero-overlay-title .hero-kicker,
  .hero .hero-overlay-title .eyebrow.hero-kicker{
    color:#4A0F1E!important;
    text-shadow:none!important;
    -webkit-text-stroke:0!important;
    filter:none!important;
  }
  /* Keep moments. styling untouched */
}


/* V14.49 — consolidated mobile rhythm.
   Single source of truth for mobile vertical spacing and edge padding.
   Loaded last so it settles the competing V14.7–V14.48 override blocks.
   Desktop and iPad are untouched. */
@media (max-width:700px){

  :root{
    --m-gutter:5.5vw;   /* one horizontal inset for the whole page */
    --m-band:56px;      /* standard section top/bottom */
    --m-band-tight:40px;/* for bands that sit directly against a photo */
  }

  /* One edge inset everywhere */
  .wrap{
    width:100%!important;
    max-width:none!important;
    padding-left:var(--m-gutter)!important;
    padding-right:var(--m-gutter)!important;
    margin:0!important;
  }

  /* Uniform band height across every section */
  .editorial-moments,
  .memory-slideshow-section,
  .why-section,
  .experience-refresh,
  .occasion-services,
  .keepsake,
  .print-showcase,
  .motion-clean,
  .review,
  .faq-section,
  .cta,
  section.white{
    padding-top:var(--m-band)!important;
    padding-bottom:var(--m-band)!important;
  }

  /* The slideshow follows the hero photo, so it starts tighter */
  .editorial-moments.memory-slideshow-section{
    padding-top:var(--m-band-tight)!important;
  }

  /* Hero stays flush: photo, then cream copy block, no seam */
  .hero{padding:0!important;margin:0!important;}
  .hero>.wrap{padding:0!important;}
  .hero-inner{
    padding:24px var(--m-gutter) 30px!important;
  }

  /* Trust bar is a thin rule between hero and first section, not a band */
  .trustbar,.trust-bar,.trust{
    padding-top:18px!important;
    padding-bottom:18px!important;
  }

  /* Headline scale: one size for every section title */
  .title,
  section h2{
    font-size:34px!important;
    line-height:1.02!important;
    letter-spacing:-.03em!important;
    margin-bottom:14px!important;
  }

  /* Eyebrow + gold hairline treatment, matched across sections */
  .eyebrow{
    font-size:11px!important;
    letter-spacing:.08em!important;
    text-transform:uppercase!important;
    margin-bottom:8px!important;
  }
  .gold-hairline{
    margin:0 0 16px!important;
  }

  /* Kill the body-level horizontal scroll that wide rows can cause */
  html,body{overflow-x:hidden!important;}
}


/* V14.50 — gold stars, orphan card centring, Vintage card footer spacing */

/* 1. Gold stars everywhere they appear */
.stars-gold,
.trust-strip-item .stars-gold,
.review-card .stars,
.review .stars{
  color:#B0914C!important;
  letter-spacing:.12em!important;
}

/* 2. AI Portraits is the 7th card in a 3-up grid, so it lands alone.
      Centre it in the middle column instead of hanging on the left. */
@media (min-width:981px){
  .experience-cards .point:nth-child(7):last-child{
    grid-column:2 / 3!important;
  }
}
/* 2-up tablet: 7th card centres across both columns */
@media (min-width:701px) and (max-width:980px){
  .experience-cards .point:nth-child(7):last-child{
    grid-column:1 / -1!important;
    max-width:60%!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
}

/* 3. Breathing room above "Register interest" on the Vintage Enclosed card */
.coming-soon-footer{
  margin-top:auto!important;
  padding-top:22px!important;
}
.coming-soon-footer a{
  color:#4A0F1E!important;
  text-decoration:none!important;
  font-weight:500!important;
  letter-spacing:.04em!important;
}
.coming-soon-footer a:hover{
  border-bottom:1px solid #B0914C!important;
}


/* V14.51 — JavaScript-free mobile menu.
   The panel now opens via <details open>, so it works in previews
   that don't run scripts. Keeps the existing cream panel styling. */
@media (max-width:700px){
  .mobile-nav{display:block!important;position:static!important;}

  .mobile-nav > summary.mobile-menu-toggle{
    list-style:none!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:28px!important;
    height:38px!important;
    cursor:pointer!important;
    background:transparent!important;
    border:0!important;
    padding:0!important;
  }
  .mobile-nav > summary::-webkit-details-marker{display:none!important;}
  .mobile-nav > summary::marker{content:''!important;}

  /* panel shows only when the details element is open */
  .mobile-nav .mobile-nav-panel{display:none!important;}
  .mobile-nav[open] .mobile-nav-panel{display:block!important;}

  /* hamburger turns into a cross when open */
  .mobile-nav[open] .menu-icon span:nth-child(1){transform:translateY(6.2px) rotate(45deg)!important;}
  .mobile-nav[open] .menu-icon span:nth-child(2){opacity:0!important;}
  .mobile-nav[open] .menu-icon span:nth-child(3){transform:translateY(-6.2px) rotate(-45deg)!important;}
}


/* V14.52 — one bold background colour.
   Memento moves from burgundy to black; burgundy is now accent only. */
.keepsake,
section.keepsake#memento{
  background:#0D0D0D!important;
}
/* keep type legible on the new ground */
.keepsake h2,
.keepsake .title,
.keepsake p,
.keepsake li,
.keepsake .keepsake-flow{
  color:#F6F3EF!important;
}
/* accents: gold hairline, burgundy kept for the link only */
.keepsake .eyebrow{color:#C9A961!important;}
.keepsake .gold-hairline{background:#C9A961!important;}
.keepsake a{
  color:#F6F3EF!important;
  border-bottom:1px solid #C9A961!important;
  text-decoration:none!important;
}
/* soften image edges against black */
.keepsake img{border:0!important;}


/* V14.53 — Memento media stacks on mobile; gold eyebrow accent */
@media (max-width:700px){
  .keepsake .memento-media{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:14px!important;
    overflow:visible!important;
    width:100%!important;
  }
  .keepsake .memento-media figure{
    width:100%!important;
    max-width:100%!important;
    overflow:hidden!important;
  }
  .keepsake .memento-media img{
    width:100%!important;
    height:auto!important;
    max-width:100%!important;
    aspect-ratio:4/3!important;
    object-fit:cover!important;
  }
}
/* gold eyebrow on the black ground (id beats earlier class rules) */
section.keepsake#memento .eyebrow{color:#C9A961!important;}
section.keepsake#memento .gold-hairline{background:#C9A961!important;}


/* V14.54 — remove the fixed figure height leaving black gaps under each image */
@media (max-width:700px){
  .keepsake .memento-media figure{
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    margin:0!important;
    line-height:0!important;
  }
  .keepsake .memento-media img{
    display:block!important;
    aspect-ratio:4/3!important;
    height:auto!important;
  }
  .keepsake .memento-media{align-items:start!important;}
}


/* V14.55 — Memento returns to burgundy as the single bold block.
   Keeps the V14.53/54 image stacking and gold accents. */
.keepsake,
section.keepsake#memento{
  background:#4A0F1E!important;
}
section.keepsake#memento .eyebrow{color:#C9A961!important;}
section.keepsake#memento .gold-hairline{background:#C9A961!important;}
.keepsake h2,.keepsake .title,.keepsake p,.keepsake li,.keepsake .keepsake-flow{
  color:#F6F3EF!important;
}
.keepsake a{
  color:#F6F3EF!important;
  border-bottom:1px solid #C9A961!important;
  text-decoration:none!important;
}


/* V14.56 — slideshow: bigger image, tighter spacing, no hint, visible dots */
@media (max-width:700px){

  /* close the dead gap under "Moments worth keeping." */
  .editorial-intro--memories,
  .memory-slideshow-section .editorial-intro{
    margin-bottom:20px!important;
  }

  /* let the slideshow run edge to edge instead of floating inset */
  .memory-slideshow-section .wrap{
    padding-left:0!important;
    padding-right:0!important;
  }
  .memory-slideshow-section .editorial-intro{
    padding-left:5.5vw!important;
    padding-right:5.5vw!important;
  }
  .memory-swipe-shell{width:100%!important;}
  .memory-swipe-track{width:100%!important;}
  .memory-swipe-slide{width:100%!important;}

  /* bigger image: fill the width, crop rather than letterbox */
  .memory-swipe-slide img{
    width:100%!important;
    height:auto!important;
    aspect-ratio:4/5!important;
    object-fit:cover!important;
    object-position:50% 40%!important;
    display:block!important;
  }

  /* drop the instruction line */
  .memory-swipe-hint{display:none!important;}

  /* dots sit directly under the image and are actually visible */
  .memory-swipe-dots{
    height:auto!important;
    margin:14px 0 0!important;
    padding:0!important;
    justify-content:center!important;
    gap:10px!important;
  }
  .memory-swipe-dots a{
    width:8px!important;
    height:8px!important;
    background:rgba(74,15,30,.6)!important;
    border:0!important;
  }
  .memory-swipe-dots a:first-child{background:#4A0F1E!important;}
}


/* V14.59 — portrait photos were letterboxing or cropping badly in landscape frames */

/* Occasion tiles: fill the frame instead of leaving white bars */
.occasion-service-card img{
  object-fit:cover!important;
  object-position:50% 35%!important;
  width:100%!important;
  background:transparent!important;
}
@media (max-width:700px){
  .occasion-service-card img{
    aspect-ratio:4/3!important;
    height:auto!important;
  }
}

/* Booth cards: give portrait product shots a taller frame so less is cut */
@media (max-width:700px){
  #booths .card img{
    aspect-ratio:4/5!important;
    height:auto!important;
    width:100%!important;
    object-fit:cover!important;
    object-position:50% 38%!important;
  }
}


/* V14.60 — the old nth-child(2) rules were written for Brand Activations.
   Inserting the Corporate tile shifted them onto the wrong card.
   Target cards by id so position no longer matters. */
section#occasions .occasion-service-card > img{
  object-fit:cover!important;
  object-position:50% 35%!important;
  width:100%!important;
  height:auto!important;
  aspect-ratio:4/3!important;
  max-height:none!important;
  background:transparent!important;
  transform:none!important;
  margin-bottom:0!important;
}
section#occasions .occasion-service-card#corporate > img{object-position:50% 30%!important;}
section#occasions .occasion-service-card#brands > img{object-position:50% 32%!important;}



/* V14.61 — booth card tag was burgundy text on a burgundy background */
#booths .card .tag,
#booths .tag{
  color:#F6F3EF!important;
  background:#4A0F1E!important;
  letter-spacing:.09em!important;
  text-transform:uppercase!important;
}


/* V14.62 — brand activation crop + vintage card spacing */

/* Brand activation photo is tall (1243x1781). A 4:3 frame cut the faces
   in half, so give this one card a taller frame. */
section#occasions .occasion-service-card#brands > img{
  aspect-ratio:4/5!important;
  object-position:50% 42%!important;
}

/* More air between the Vintage copy and the Register interest link */
#booths .coming-soon-footer{
  margin-top:auto!important;
  padding-top:34px!important;
}
#booths .card .spec{
  margin-bottom:0!important;
}


/* V14.64 — from-price in the hero + availability CTA */
.hero-price{
  display:flex!important;
  align-items:baseline!important;
  gap:8px!important;
  margin:0 0 18px!important;
  padding:0 0 16px!important;
  border-bottom:1px solid rgba(176,145,76,.55)!important;
}
.hero-price-label{
  font-family:'Montserrat',Arial,Helvetica,sans-serif!important;
  font-size:10px!important;
  font-weight:600!important;
  letter-spacing:.14em!important;
  text-transform:uppercase!important;
  color:#4A0F1E!important;
}
.hero-price-value{
  font-family:'Cormorant Garamond','Playfair Display',Georgia,serif!important;
  font-size:30px!important;
  line-height:1!important;
  color:#0D0D0D!important;
}
.hero-price-note{
  font-family:'Montserrat',Arial,Helvetica,sans-serif!important;
  font-size:11px!important;
  color:#3A3733!important;
}
@media (max-width:700px){
  .hero-price{margin-bottom:16px!important;padding-bottom:14px!important;}
  .hero-price-value{font-size:27px!important;}
  .hero-price-label{font-size:9px!important;}
}


/* V14.65 — per-booth from-prices */
#booths .booth-price{
  display:flex!important;
  align-items:baseline!important;
  gap:7px!important;
  margin:16px 0 0!important;
  padding-top:14px!important;
  border-top:1px solid rgba(176,145,76,.5)!important;
}
#booths .booth-price-label{
  font-family:'Montserrat',Arial,Helvetica,sans-serif!important;
  font-size:9px!important;
  font-weight:600!important;
  letter-spacing:.14em!important;
  text-transform:uppercase!important;
  color:#4A0F1E!important;
}
#booths .booth-price-value{
  font-family:'Cormorant Garamond','Playfair Display',Georgia,serif!important;
  font-size:27px!important;
  line-height:1!important;
  color:#0D0D0D!important;
}
#booths .booth-price-note{
  font-family:'Montserrat',Arial,Helvetica,sans-serif!important;
  font-size:10.5px!important;
  color:#3A3733!important;
}
/* pricing caveat under the booth grid */
#booths .booth-price-footnote{
  margin:26px auto 0!important;
  max-width:640px!important;
  text-align:center!important;
  color:rgba(246,243,239,.72)!important;
  font-family:'Montserrat',Arial,Helvetica,sans-serif!important;
  font-size:11px!important;
  line-height:1.6!important;
}


/* V14.66 — warmer off-white ground (LuxeBooth reference) */
:root{
  --cream:#FAF8F5;
  --divider-band:#EEEBE8;
}
html,body{background:#FAF8F5!important;}
@media (max-width:700px){
.memory-slideshow-section,
.editorial-moments,
.experience-refresh,
.why-section,
.occasion-services,
.brand-feature,
.print-showcase,
.review,
.faq-section,
section.white,
.hero-inner,
.hero>.wrap,
.hero{background:#FAF8F5!important;}
}

/* the secondary tone for bands that need separation */
.experience-refresh{box-shadow:inset 0 12px 0 #EEEBE8!important;}

/* cards stay pure white so they still lift off the ground */
.experience-cards .point,
.occasion-service-card,
.review-card,
.faq-list details,
.print-rail figure,
#booths .card{background:#FFFFFF!important;}

/* cream used on dark grounds follows too */
#booths,
.motion-clean,
.cta,
footer{color:#FAF8F5!important;}
.cta .btn{background:#FAF8F5!important;}
.keepsake h2,.keepsake .title,.keepsake p,.keepsake li,.keepsake a{color:#FAF8F5!important;}
.mobile-nav-panel{background:#FAF8F5!important;}


/* V14.67 — typography: Playfair Display headings, Inter body (site-wide) */
:root{
  --font-display:'Playfair Display',Georgia,'Times New Roman',serif;
  --font-body:'Inter',system-ui,-apple-system,'Segoe UI',Arial,sans-serif;
}

body,
p, span, li, a, div, td, th, label, input, textarea, button,
.eyebrow, .editorial-eyebrow, .btn, .subtle-link, .tag,
.brandsub, .trust-strip-item, .spec, .lead,
.booth-price-label, .booth-price-note,
.occasion-service-kicker, .occasion-service-btn,
.experience-cards .point span,
figcaption, footer, .footnote,
summary, details{
  font-family:var(--font-body)!important;
}

h1, h2, h3, h4,
.title, .brandname,
.experience-cards .point strong,
.occasion-service-body h3,
#booths .card h3,
#booths .card .card-body::before,
.review blockquote,
.booth-price-value,
.editorial-intro--memories h2{
  font-family:var(--font-display)!important;
}

/* Playfair is heavier than Cormorant, so ease the display weight back */
h1, h2, .title, .editorial-intro--memories h2{
  font-weight:500!important;
  letter-spacing:-.025em!important;
}
h3, .occasion-service-body h3, #booths .card h3{
  font-weight:500!important;
  letter-spacing:-.015em!important;
}
.brandname{font-weight:500!important;font-style:italic!important;}

/* Inter runs slightly tighter than Montserrat — restore breathing room */
body, p, .lead, .spec, .experience-cards .point span{
  letter-spacing:0!important;
}
.eyebrow, .editorial-eyebrow, .occasion-service-kicker, .booth-price-label{
  letter-spacing:.11em!important;
  font-weight:600!important;
}
.btn, .subtle-link, .occasion-service-btn{
  letter-spacing:.09em!important;
  font-weight:600!important;
}


/* V14.67b — price value must follow the display font too */
#booths .booth-price-value{font-family:"Playfair Display",Georgia,serif!important;}
#booths .booth-price-label,#booths .booth-price-note{font-family:"Inter",system-ui,Arial,sans-serif!important;}


/* V14.68 — trust bar aligns to the hero grid; card titles move to Inter */
@media (max-width:700px){
  .trust-strip-grid{
    justify-items:start!important;
    align-items:start!important;
    column-gap:14px!important;
    row-gap:7px!important;
    padding-left:5.5vw!important;
    padding-right:5.5vw!important;
  }
  .trust-strip-item{
    text-align:left!important;
    width:auto!important;
    white-space:normal!important;
  }
}

/* Playfair is uncomfortable at card-title size — use Inter there */
.experience-cards .point strong{
  font-family:'Inter',system-ui,Arial,sans-serif!important;
  font-weight:600!important;
  font-size:17px!important;
  letter-spacing:-.005em!important;
  line-height:1.25!important;
}


/* V14.69 — trust bar: cream ground so it flows, 5-star headline + icon points */
.trust{
  background:#FAF8F5!important;
  border:0!important;
  margin:0!important;
  padding:0!important;
}
.trust-strip-grid{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:26px!important;
  padding:22px 5.5vw 24px!important;
  border-top:1px solid rgba(176,145,76,.35)!important;
  border-bottom:1px solid rgba(176,145,76,.35)!important;
  grid-template-columns:none!important;
}

/* 5-star headline (layout B) */
.trust-rating{flex:0 0 auto!important;}
.trust-rating-score{
  display:flex!important;
  align-items:baseline!important;
  gap:7px!important;
  font-family:'Playfair Display',Georgia,serif!important;
  font-size:26px!important;
  line-height:1!important;
  color:#0D0D0D!important;
}
.trust-rating-score .stars-gold{
  font-size:12px!important;
  color:#B0914C!important;
  letter-spacing:.1em!important;
}
.trust-rating-label{
  margin-top:5px!important;
  font-family:'Inter',system-ui,Arial,sans-serif!important;
  font-size:9.5px!important;
  font-weight:500!important;
  letter-spacing:.07em!important;
  text-transform:uppercase!important;
  color:#3A3733!important;
  white-space:nowrap!important;
}

/* icon points (layout C) */
.trust-points{
  display:flex!important;
  flex-direction:column!important;
  gap:7px!important;
  padding-left:22px!important;
  border-left:1px solid rgba(176,145,76,.35)!important;
}
.trust-point{
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  font-family:'Inter',system-ui,Arial,sans-serif!important;
  font-size:9.5px!important;
  font-weight:500!important;
  letter-spacing:.05em!important;
  text-transform:uppercase!important;
  color:#3A3733!important;
  line-height:1.3!important;
}
.trust-ico{
  flex:0 0 15px!important;
  width:15px!important;
  height:15px!important;
  color:#B0914C!important;
  display:inline-flex!important;
}
.trust-ico svg{width:15px!important;height:15px!important;display:block!important;}

@media (max-width:390px){
  .trust-strip-grid{gap:18px!important;}
  .trust-rating-score{font-size:23px!important;}
  .trust-point,.trust-rating-label{font-size:8.5px!important;}
  .trust-points{padding-left:16px!important;}
}


/* V14.70 — trust bar back to a thin strip: one compact horizontal row */
.trust-strip-grid{
  display:flex!important;
  flex-wrap:wrap!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:6px 14px!important;
  padding:13px 5.5vw 14px!important;
  border-top:1px solid rgba(176,145,76,.35)!important;
  border-bottom:1px solid rgba(176,145,76,.35)!important;
}

/* rating sits inline, not stacked */
.trust-rating{
  display:flex!important;
  align-items:center!important;
  gap:7px!important;
  flex:0 0 auto!important;
}
.trust-rating-score{
  display:flex!important;
  align-items:center!important;
  gap:5px!important;
  font-size:16px!important;
  line-height:1!important;
}
.trust-rating-score .stars-gold{font-size:10px!important;}
.trust-rating-label{
  margin:0!important;
  font-size:8.5px!important;
  letter-spacing:.06em!important;
  white-space:nowrap!important;
  color:#3A3733!important;
}

/* points run inline beside it */
.trust-points{
  display:flex!important;
  flex-direction:row!important;
  flex-wrap:wrap!important;
  align-items:center!important;
  gap:5px 13px!important;
  padding-left:13px!important;
  border-left:1px solid rgba(176,145,76,.35)!important;
}
.trust-point{
  gap:5px!important;
  font-size:8.5px!important;
  letter-spacing:.045em!important;
  white-space:nowrap!important;
}
.trust-ico,.trust-ico svg{
  flex-basis:12px!important;
  width:12px!important;
  height:12px!important;
}

@media (max-width:400px){
  .trust-strip-grid{gap:5px 10px!important;padding:11px 5.5vw 12px!important;}
  .trust-rating-score{font-size:15px!important;}
  .trust-rating-label,.trust-point{font-size:7.8px!important;}
  .trust-points{gap:4px 10px!important;padding-left:10px!important;}
}


/* V14.71 — trust bar is a single line */
.trust{background:#FAF8F5!important;margin:0!important;padding:0!important;border:0!important;}
.trust-strip-grid{
  display:flex!important;
  flex-wrap:nowrap!important;
  align-items:center!important;
  justify-content:center!important;
  gap:0!important;
  padding:12px 4vw!important;
  border-top:1px solid rgba(176,145,76,.35)!important;
  border-bottom:1px solid rgba(176,145,76,.35)!important;
  white-space:nowrap!important;
  overflow-x:auto!important;
  scrollbar-width:none!important;
}
.trust-strip-grid::-webkit-scrollbar{display:none!important;}
.trust-item{
  font-family:'Inter',system-ui,Arial,sans-serif!important;
  font-size:8.4px!important;
  font-weight:500!important;
  letter-spacing:.055em!important;
  text-transform:uppercase!important;
  color:#3A3733!important;
  white-space:nowrap!important;
}
.trust-item .stars-gold{
  color:#B0914C!important;
  font-size:8.4px!important;
  letter-spacing:.06em!important;
  margin-right:3px!important;
}
.trust-sep{
  color:#B0914C!important;
  margin:0 9px!important;
  font-size:9px!important;
}
@media (max-width:380px){
  .trust-item,.trust-item .stars-gold{font-size:7.7px!important;}
  .trust-sep{margin:0 7px!important;}
}


/* V14.71b — tighten so the single line fits 390px without scrolling */
.trust-strip-grid{padding:12px 3.5vw!important;}
.trust-item,.trust-item .stars-gold{font-size:8px!important;letter-spacing:.04em!important;}
.trust-sep{margin:0 7px!important;}
@media (max-width:380px){
  .trust-item,.trust-item .stars-gold{font-size:7.4px!important;}
  .trust-sep{margin:0 6px!important;}
}


@media (max-width:700px){
/* V14.72 — hero copy block was still the old cream, drawing a visible box */
.hero-copy-below,
.hero-copy-below>p,
.hero-overlay-title,
.hero-inner,
.hero>.wrap{background:#FAF8F5!important;}
}


/* V14.73 — strip card chrome. Images and type sit on the page, not in boxes. */

/* Experience: no borders, no fills, no radii — just icon, title, line */
.experience-cards .point{
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  padding:26px 4px 28px!important;
  min-height:0!important;
}
.experience-cards{gap:0!important;}
.experience-cards .point + .point{
  border-top:1px solid rgba(74,15,30,.12)!important;
}
.exp-icon{
  background:transparent!important;
  color:#4A0F1E!important;
  width:34px!important;height:34px!important;
  margin-bottom:4px!important;
}
.exp-icon svg{stroke:#4A0F1E!important;width:26px!important;height:26px!important;}

/* Booth cards: photo, then text. No frame. */
#booths .card{
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  overflow:visible!important;
}
#booths .card-body{
  background:transparent!important;
  padding:22px 0 0!important;
}
#booths .card .spec,#booths .card h3,#booths .card .card-body::before{background:transparent!important;}
#booths .card h3{color:#FAF8F5!important;}
#booths .card .spec{color:rgba(250,248,245,.78)!important;}
#booths .card .card-body::before{color:#C9A961!important;}
#booths .card .tag{
  background:transparent!important;
  color:#C9A961!important;
  padding:0!important;
  border:0!important;
}
#booths .booth-price{border-top-color:rgba(201,169,97,.4)!important;}
#booths .booth-price-label{color:#C9A961!important;}
#booths .booth-price-value{color:#FAF8F5!important;}
#booths .booth-price-note{color:rgba(250,248,245,.7)!important;}
#booths .subtle-link,#booths .coming-soon-footer,#booths .coming-soon-footer a{
  color:#FAF8F5!important;border-bottom-color:rgba(201,169,97,.5)!important;
}
#booths .coming-soon-footer{border-top:0!important;}

/* Occasion tiles: image, then text on the page */
.occasion-service-card{
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
}
.occasion-service-body{
  background:transparent!important;
  padding:22px 0 0!important;
}

/* FAQ: hairlines only */
.faq-list details,.faq-section details{
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  border-bottom:1px solid rgba(74,15,30,.14)!important;
}

/* Testimonial: no box */
.review-card{
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  padding:0!important;
}

/* Print + memento images lose their radii */
.print-rail figure,.print-rail img,.keepsake img,.memory-swipe-slide img,
.occasion-service-card img,#booths .card img{
  border-radius:0!important;
  border:0!important;
  box-shadow:none!important;
}


/* V14.74 — scale, bleed and breathing room */
@media (max-width:700px){

  /* 1. More air. Sections nearly double. */
  .memory-slideshow-section,
  .experience-refresh,
  .occasion-services,
  .keepsake,
  .print-showcase,
  .motion-clean,
  .review,
  .faq-section,
  .cta{
    padding-top:92px!important;
    padding-bottom:92px!important;
  }

  /* 2. Scale jump: one very large headline per section, nothing competing */
  .title,section h2{
    font-size:46px!important;
    line-height:.96!important;
    letter-spacing:-.035em!important;
    margin-bottom:26px!important;
  }
  .hero h1{font-size:54px!important;line-height:.88!important;}

  /* 3. Full bleed: the hero photo and the slideshow touch both edges */
  .mobile-hero-photo{
    height:58svh!important;
    min-height:380px!important;
    max-height:none!important;
  }
  .memory-slideshow-section .wrap{padding-left:0!important;padding-right:0!important;}
  .memory-slideshow-section .editorial-intro{padding:0 5.5vw!important;}
  .memory-swipe-slide img{aspect-ratio:3/4!important;}

  /* Memento photos go edge to edge too */
  .keepsake .wrap{padding-left:0!important;padding-right:0!important;}
  .keepsake .wrap > *:not(.memento-media){padding-left:5.5vw!important;padding-right:5.5vw!important;}
  .keepsake .memento-media{gap:0!important;}
  .keepsake .memento-media img{aspect-ratio:1/1!important;}

  /* Print rail bleeds off the right edge so it reads as continuing */
  .print-showcase .wrap{padding-right:0!important;}
  .print-showcase .editorial-intro,
  .print-showcase .lead,
  .print-showcase .title,
  .print-showcase .eyebrow,
  .print-showcase .gold-hairline{padding-right:5.5vw!important;}

  /* Quieter supporting copy so the headline owns the section */
  .lead,section p{
    font-size:14px!important;
    line-height:1.75!important;
    color:#4A4641!important;
  }
  .eyebrow,.editorial-eyebrow{margin-bottom:10px!important;}
  .gold-hairline{margin-bottom:22px!important;}
}


/* V14.75 — force the bleed and the scale past earlier higher-specificity rules */
@media (max-width:700px){
  .memory-slideshow-section > .wrap,
  .keepsake > .wrap{
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    padding-left:0!important;
    padding-right:0!important;
  }
  .memory-slideshow-section .editorial-intro{padding:0 5.5vw!important;}
  .memory-swipe-shell,.memory-swipe-track,.memory-swipe-slide{width:100%!important;}
  .memory-swipe-dots{padding:0 5.5vw!important;}

  .keepsake > .wrap > *:not(.memento-media){padding-left:5.5vw!important;padding-right:5.5vw!important;}

  /* headline scale — match the specificity of the V14.30 block */
  .experience-head .title,
  section .title,
  section h2,
  .editorial-intro--memories h2,
  #booths .title,
  .occasion-services .title,
  .keepsake .title,
  .print-showcase .title,
  .faq-section .title{
    font-size:46px!important;
    line-height:.95!important;
    letter-spacing:-.035em!important;
  }
}


/* V14.76 — booth links were unreadable on the black ground */
section#booths .card .subtle-link,
section#booths .card .subtle-link a,
section#booths .card a.subtle-link,
section#booths .coming-soon-footer,
section#booths .coming-soon-footer a{
  color:#FAF8F5!important;
  opacity:1!important;
}
section#booths .card .subtle-link{
  border-bottom:1px solid rgba(201,169,97,.55)!important;
  padding-bottom:8px!important;
  display:inline-flex!important;
  width:auto!important;
}


/* V14.77 — stop cropping: hero shows the whole frame, Memento returns to 4:3 */
@media (max-width:700px){
  /* The hero source is 3:2 landscape. A tall frame cut half the group out.
     Let it keep its own proportions so all four people stay in shot. */
  .mobile-hero-photo{
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    aspect-ratio:3/2!important;
    object-fit:cover!important;
    object-position:50% 45%!important;
    width:100%!important;
  }

  /* Memento sources are tall portraits — 1:1 sliced them. Back to 4:3. */
  .keepsake .memento-media img{
    aspect-ratio:4/3!important;
    object-fit:cover!important;
    object-position:50% 42%!important;
  }
  .keepsake .memento-media{gap:12px!important;}
}


/* V14.78 — Memento heading above its photos; brand image keeps its top */

/* Text block currently follows the images, leaving an empty burgundy band.
   Flip the order so the section announces itself first. */
.keepsake > .wrap{
  display:flex!important;
  flex-direction:column!important;
}
.keepsake > .wrap > .memento-media{order:2!important;margin-top:30px!important;}
.keepsake > .wrap > *:not(.memento-media){order:1!important;}

@media (max-width:700px){
  .keepsake{padding-top:70px!important;}
  .keepsake > .wrap > .memento-media{margin-top:26px!important;}
}

/* Brand activation poster: taller frame, anchored near the top so
   "Welcome to Behind The Feed" stays whole */
section#occasions .occasion-service-card#brands > img,
#occasions #brands img{
  aspect-ratio:4/5!important;
  object-fit:cover!important;
  object-position:50% 18%!important;
  height:auto!important;
}


/* V14.78b — the parent section is not #occasions, so target the card by id alone */
.occasion-service-card#brands > img,
#brands > img,
#brands img{
  aspect-ratio:4/5!important;
  object-fit:cover!important;
  object-position:50% 16%!important;
  height:auto!important;
  width:100%!important;
}


/* V14.79 — separate the booth cards so Explore isn't touching the next photo */
@media (max-width:700px){
  #booths .cards,#booths .booth-grid,#booths .grid{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:0!important;
  }
  #booths .card{padding-bottom:0!important;}
  #booths .card + .card{
    margin-top:44px!important;
    padding-top:44px!important;
    border-top:1px solid rgba(201,169,97,.28)!important;
  }
  #booths .card .subtle-link,
  #booths .coming-soon-footer{
    margin-bottom:0!important;
    padding-bottom:10px!important;
  }
}


/* V14.80 — booth cards flow naturally; the equal-height rules are obsolete now
   that the cards have no frames to line up */
@media (max-width:700px){
  #booths .card{
    display:block!important;
    height:auto!important;
    min-height:0!important;
  }
  #booths .card .card-body{
    display:block!important;
    grid-template-rows:none!important;
    height:auto!important;
    min-height:0!important;
    flex:none!important;
    padding:20px 0 0!important;
  }
  #booths .card .tag,
  #booths .card h3,
  #booths .card .spec{
    margin:0 0 10px!important;
    min-height:0!important;
  }
  #booths .booth-price{
    margin:16px 0 0!important;
    padding-top:14px!important;
  }
  #booths .card .subtle-link,
  #booths .coming-soon-footer{
    margin:18px 0 0!important;
    padding:0 0 10px!important;
    min-height:0!important;
    display:inline-flex!important;
    align-items:center!important;
  }
  #booths .card + .card{margin-top:40px!important;padding-top:40px!important;}
}


/* V14.81 — reviews section */
.review-grid{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:0!important;
  margin-top:8px!important;
}
.review-card{
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  margin:0!important;
  padding:30px 0!important;
}
.review-card + .review-card{
  border-top:1px solid rgba(74,15,30,.13)!important;
}
.review-card .stars{
  color:#B0914C!important;
  font-size:12px!important;
  letter-spacing:.16em!important;
  margin-bottom:14px!important;
}
.review-card blockquote{
  margin:0 0 14px!important;
  padding:0!important;
  border:0!important;
  font-family:'Playfair Display',Georgia,serif!important;
  font-size:21px!important;
  line-height:1.4!important;
  letter-spacing:-.012em!important;
  color:#0D0D0D!important;
  quotes:none!important;
}
.review-card blockquote::before,.review-card blockquote::after{content:none!important;}
.review-card figcaption{
  display:flex!important;
  align-items:baseline!important;
  gap:9px!important;
  font-family:'Inter',system-ui,Arial,sans-serif!important;
}
.review-name{
  font-size:11px!important;
  font-weight:600!important;
  letter-spacing:.07em!important;
  text-transform:uppercase!important;
  color:#3A3733!important;
}
.review-src{
  font-size:10px!important;
  letter-spacing:.05em!important;
  color:#8A857C!important;
}
.review-link{
  display:inline-block!important;
  margin-top:26px!important;
  padding-bottom:8px!important;
  font-family:'Inter',system-ui,Arial,sans-serif!important;
  font-size:11px!important;
  font-weight:600!important;
  letter-spacing:.1em!important;
  text-transform:uppercase!important;
  color:#4A0F1E!important;
  text-decoration:none!important;
  border-bottom:1px solid #B0914C!important;
}
@media (min-width:981px){
  .review-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:0 42px!important;}
  .review-card + .review-card{border-top:0!important;}
}
@media (max-width:700px){
  .review-card blockquote{font-size:19px!important;}
  .review-card{padding:26px 0!important;}
}

/* Sub-page styles */
.breadcrumb{padding:18px 0 0;font-family:'Inter',system-ui,Arial,sans-serif;font-size:10px;letter-spacing:.09em;text-transform:uppercase;color:#8A857C;background:#FAF8F5;}
.breadcrumb a{color:#4A0F1E;text-decoration:none;}
.breadcrumb span{margin:0 6px;}
.subpage-hero .mobile-hero-photo{aspect-ratio:3/2!important;object-position:50% 40%!important;}
.keepsake-flow{font-family:'Inter',system-ui,Arial,sans-serif;font-size:13px;line-height:1.8;padding-top:16px;border-top:1px solid rgba(74,15,30,.14);}
.subpage-hero .hero-copy-below>p:last-child{display:flex;gap:10px;}
.subpage-hero .hero-copy-below .btn{flex:1 1 0;text-align:center;}
.wed-feature{margin:34px 0 0;padding:0;}
.wed-feature img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;object-position:50% 38%;}
@media(max-width:700px){.wed-feature{margin-top:28px;}}

/* Event gallery */
.gallery-section{padding-bottom:0!important;}
.event-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;margin-top:34px;}
.event-gallery figure{margin:0;overflow:hidden;}
.event-gallery img{display:block;width:100%;height:auto;aspect-ratio:1/1;object-fit:cover;object-position:50% 38%;}
@media(max-width:700px){
  .event-gallery{grid-template-columns:repeat(2,1fr);gap:2px;margin-top:26px;}
}

/* Weddings hero gallery */
.hero-gallery{display:grid;grid-template-columns:repeat(2,1fr);gap:2px;}
.hero-gallery figure{margin:0;overflow:hidden;}
.hero-gallery img{display:block;width:100%;height:auto;aspect-ratio:1/1;object-fit:cover;object-position:50% 36%;}
@media(min-width:981px){.hero-gallery{grid-template-columns:repeat(4,1fr);}
 .hero-gallery img{aspect-ratio:3/4;}}

/* ---- Weddings page layout (split sections, bands, lists) ---- */
.split-hero{background:#FAF8F5;padding:56px 0 64px;}
.split-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center;}
.split-grid--reverse .split-media{order:-1;}
.split-media{margin:0;overflow:hidden;}
.split-media img{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;object-position:50% 36%;}
.split-copy .title{margin-bottom:16px;}
.split-copy .lead{margin-bottom:16px;}

.band-quote{background:#4A0F1E;padding:52px 0;}
.band-quote p{margin:0;text-align:center;color:#FAF8F5;font-family:'Playfair Display',Georgia,serif;font-size:30px;line-height:1.25;letter-spacing:-.02em;}

.duo-media{display:grid;grid-template-columns:1fr 1fr;gap:2px;margin-top:30px;}
.duo-media figure{margin:0;overflow:hidden;}
.duo-media img{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;object-position:50% 34%;}

.include-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:0 26px;}
.include-list li{position:relative;padding:14px 0 14px 24px;border-bottom:1px solid rgba(74,15,30,.12);font-family:'Inter',system-ui,Arial,sans-serif;font-size:13px;line-height:1.4;color:#3A3733;}
.include-list li::before{content:'\2713';position:absolute;left:0;top:14px;color:#B0914C;font-size:12px;}

.occasion-list{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:30px;border-top:1px solid rgba(74,15,30,.12);}
.occasion-list>div{padding:24px 20px 26px;border-right:1px solid rgba(74,15,30,.12);border-bottom:1px solid rgba(74,15,30,.12);}
.occasion-list>div:last-child{border-right:0;}
.occasion-num{font-family:'Inter',system-ui,Arial,sans-serif;font-size:10px;letter-spacing:.12em;color:#B0914C;}
.occasion-list h3{font-family:'Playfair Display',Georgia,serif;font-weight:500;font-size:22px;margin:8px 0 8px;color:#0D0D0D;}
.occasion-list p{font-size:13px;line-height:1.6;color:#4A4641;margin:0;}

.keepsake .split-copy .title,.keepsake .split-copy p{color:#FAF8F5;}
.keepsake .split-copy .btn{background:#FAF8F5;color:#4A0F1E;}

@media(max-width:700px){
  .split-hero{padding:34px 0 40px;}
  .split-grid{grid-template-columns:1fr;gap:26px;}
  .split-grid--reverse .split-media{order:0;}
  .split-media img{aspect-ratio:3/2;}
  .band-quote{padding:40px 0;}
  .band-quote p{font-size:23px;}
  .duo-media img{aspect-ratio:1/1;}
  .include-list{grid-template-columns:1fr;gap:0;margin-top:22px;}
  .occasion-list{grid-template-columns:1fr;}
  .occasion-list>div{border-right:0;padding:20px 0 22px;}
  .cta .btn{display:block;margin-bottom:10px;}
}

.hero-gallery--split{gap:2px;}
.hero-gallery--split img{aspect-ratio:1/1;}
.memento-duo{display:grid;grid-template-columns:1fr 1fr;gap:2px;}
.memento-duo figure{margin:0;overflow:hidden;}
.memento-duo img{display:block;width:100%;height:auto;aspect-ratio:3/4;object-fit:cover;object-position:50% 42%;}
@media(max-width:700px){.memento-duo img{aspect-ratio:1/1;}}

/* Memento block on burgundy — button contrast + images fill their column */
.keepsake .split-copy .btn,
.keepsake a.btn{background:#FAF8F5!important;color:#4A0F1E!important;border:0!important;}
.keepsake .memento-duo{width:100%;}
.keepsake .memento-duo figure{width:100%;}
.keepsake .memento-duo img{width:100%!important;height:auto!important;max-width:none!important;aspect-ratio:3/4!important;object-fit:cover!important;}
@media(max-width:700px){
  .keepsake .memento-duo{grid-template-columns:1fr 1fr;gap:2px;}
  .keepsake .memento-duo img{aspect-ratio:1/1!important;}
}

/* id-level override: the #memento rules from the homepage outrank class selectors */
section.keepsake#memento .split-copy a.btn,
#memento a.btn{background:#FAF8F5!important;color:#4A0F1E!important;border-bottom:0!important;}

/* Band quote: a global mobile rule was forcing dark grey on every section <p> */
.band-quote p,
section.band-quote p,
section.band-quote .wrap p{color:#FAF8F5!important;opacity:1!important;}
@media(max-width:700px){
  section.band-quote p{color:#FAF8F5!important;font-size:24px!important;line-height:1.3!important;}
}

section.band-quote p,section.band-quote .wrap p{
  font-family:'Playfair Display',Georgia,serif!important;
  font-weight:500!important;
  letter-spacing:-.02em!important;
}
@media(max-width:700px){section.band-quote p{font-size:25px!important;line-height:1.22!important;}}

/* Memento trio: two square, one wide underneath */
.keepsake .memento-duo{grid-template-columns:1fr 1fr;}
.keepsake .memento-duo .mem-wide{grid-column:1 / -1;}
.keepsake .memento-duo .mem-wide img{aspect-ratio:16/9!important;object-position:50% 46%!important;}

/* Landscape hero image keeps its ratio across the full gallery width */
.hero-gallery .gal-wide{grid-column:1 / -1;}
.hero-gallery .gal-wide img{aspect-ratio:3/2!important;object-position:50% 40%!important;}

/* Backdrop options row */
.backdrop-row{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:22px 0 14px;}
.backdrop-row figure{margin:0;}
.backdrop-row img{display:block;width:100%;height:auto;aspect-ratio:3/4;object-fit:cover;object-position:50% 40%;}
.backdrop-row figcaption{margin-top:8px;font-family:'Inter',system-ui,Arial,sans-serif;font-size:10px;letter-spacing:.07em;text-transform:uppercase;color:#4A0F1E;}
.backdrop-note{font-size:12px!important;color:#8A857C!important;margin:0 0 18px!important;}
@media(max-width:700px){
  .backdrop-row{gap:6px;margin:18px 0 12px;}
  .backdrop-row img{aspect-ratio:1/1;}
  .backdrop-row figcaption{font-size:8.5px;letter-spacing:.05em;margin-top:6px;}
}

/* Occasions: photo above each named occasion */
.occasion-list>div{padding-top:0;border-top:0;}
.occasion-list figure{margin:0 0 14px;overflow:hidden;}
.occasion-list figure img{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;object-position:50% 34%;}
@media(max-width:700px){
  .occasion-list{grid-template-columns:1fr 1fr!important;gap:22px 12px!important;border-top:0!important;}
  .occasion-list>div{border-right:0!important;border-bottom:0!important;padding:0!important;}
  .occasion-list figure{margin-bottom:10px;}
  .occasion-list figure img{aspect-ratio:1/1;}
  .occasion-list h3{font-size:18px!important;margin:6px 0 5px!important;}
  .occasion-list p{font-size:12px!important;}
}
.split-media--tall img{aspect-ratio:4/5!important;object-position:50% 30%!important;}
@media(max-width:700px){.split-media--tall img{aspect-ratio:4/5!important;}}

/* ---- Memento page ---- */
.step-list{list-style:none;margin:6px 0 0;padding:0;}
.step-list li{display:grid;grid-template-columns:34px 1fr;gap:0 12px;padding:16px 0;border-bottom:1px solid rgba(74,15,30,.12);}
.step-num{grid-row:1 / span 2;font-family:'Inter',system-ui,Arial,sans-serif;font-size:10px;letter-spacing:.1em;color:#B0914C;padding-top:3px;}
.step-list strong{font-family:'Playfair Display',Georgia,serif;font-weight:500;font-size:19px;color:#0D0D0D;}
.step-list span:not(.step-num){font-family:'Inter',system-ui,Arial,sans-serif;font-size:13px;line-height:1.6;color:#4A4641;}

.range-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:28px;}
.range-grid figure{margin:0 0 14px;overflow:hidden;}
.range-grid img{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;object-position:50% 45%;}
.range-grid h3{font-family:'Playfair Display',Georgia,serif;font-weight:500;font-size:21px;margin:0 0 7px;color:#0D0D0D;}
.range-grid p{font-size:13px!important;line-height:1.6;color:#4A4641!important;margin:0;}

.inline-media{margin:20px 0 0;overflow:hidden;}
.inline-media img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;object-position:50% 46%;}

.price-tiers{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:22px;border-top:1px solid rgba(201,169,97,.4);}
.price-tiers>div{padding:20px 0;border-bottom:1px solid rgba(201,169,97,.4);display:flex;flex-direction:column;gap:6px;}
.tier-n{font-family:'Inter',system-ui,Arial,sans-serif;font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:#C9A961;}
.tier-p{font-family:'Playfair Display',Georgia,serif;font-size:30px;line-height:1;color:#FAF8F5;}
.tier-note{font-size:12px!important;color:rgba(250,248,245,.72)!important;margin-top:18px!important;}

@media(max-width:700px){
  .range-grid{grid-template-columns:1fr 1fr;gap:20px 12px;}
  .range-grid img{aspect-ratio:1/1;}
  .range-grid h3{font-size:17px;}
  .range-grid>div:last-child{grid-column:1 / -1;}
  .range-grid>div:last-child img{aspect-ratio:16/9;}
  .price-tiers{grid-template-columns:1fr 1fr;}
  .price-tiers>div{padding:16px 0;}
  .tier-p{font-size:26px;}
  .step-list li{grid-template-columns:28px 1fr;}
}

/* Memento page: let photos keep their own proportions instead of being cropped */
.page-memento .split-media img,
.page-memento .inline-media img{aspect-ratio:auto!important;height:auto!important;object-fit:contain!important;}
.page-memento .split-media--tall img{aspect-ratio:auto!important;}

/* Range as a text list */
.range-grid--text{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:26px;border-top:1px solid rgba(74,15,30,.14);}
.range-grid--text>div{padding:22px 24px 24px 0;border-bottom:1px solid rgba(74,15,30,.14);}
.range-grid--text h3{font-family:'Playfair Display',Georgia,serif;font-weight:500;font-size:22px;margin:0 0 8px;color:#0D0D0D;}
.range-grid--text p{font-size:13px!important;line-height:1.65;color:#4A4641!important;margin:0;}
@media(max-width:700px){
  .range-grid--text{grid-template-columns:1fr;margin-top:20px;}
  .range-grid--text>div{padding:18px 0 20px;}
  .range-grid--text h3{font-size:20px;}
}
/* Brands page: let the activation photo keep its proportions */
.page-brands .split-media img{aspect-ratio:auto!important;height:auto!important;object-fit:contain!important;}
.page-brands .split-media--tall img{aspect-ratio:4/5!important;object-fit:cover!important;}

/* Brands page: show all three branded strips at once instead of a scroll rail */
.page-brands .print-rail{display:grid!important;grid-template-columns:repeat(3,1fr)!important;gap:10px!important;overflow:visible!important;padding:0!important;}
.page-brands .print-rail figure{flex:none!important;width:100%!important;margin:0!important;}
.page-brands .print-rail img{width:100%!important;height:auto!important;aspect-ratio:1/3!important;object-fit:cover!important;}
@media(max-width:700px){
  .page-brands .print-rail{grid-template-columns:repeat(3,1fr)!important;gap:6px!important;}
}

/* Swipe hint removed at all widths */
.memory-swipe-hint{display:none!important;}

/* Booth pages: hero price + uncropped product photo */
.page-booth .split-media img{aspect-ratio:auto!important;height:auto!important;object-fit:contain!important;}
.page-booth .booth-price{display:flex;align-items:baseline;gap:8px;margin:18px 0 22px;padding-top:16px;border-top:1px solid rgba(176,145,76,.5);}
.page-booth .booth-price-label{font-family:'Inter',system-ui,Arial,sans-serif;font-size:10px;font-weight:600;letter-spacing:.14em;color:#4A0F1E;}
.page-booth .booth-price-value{font-family:'Playfair Display',Georgia,serif;font-size:30px;line-height:1;color:#0D0D0D;}
.page-booth .print-rail{display:grid!important;grid-template-columns:repeat(3,1fr)!important;gap:10px!important;overflow:visible!important;padding:0!important;}
.page-booth .print-rail figure{flex:none!important;width:100%!important;margin:0!important;}
.page-booth .print-rail img{width:100%!important;height:auto!important;aspect-ratio:1/3!important;object-fit:cover!important;}

/* Booths hub page */
.booth-trust{list-style:none;display:flex;flex-wrap:wrap;gap:8px 22px;margin:20px 0 0;padding:0;}
.booth-trust li{position:relative;padding-left:16px;font-family:'Inter',system-ui,Arial,sans-serif;font-size:11px;letter-spacing:.05em;text-transform:uppercase;color:#3A3733;}
.booth-trust li::before{content:'\2713';position:absolute;left:0;color:#B0914C;font-size:10px;}
.compare{margin:26px 0 22px;overflow-x:auto;}
.compare table{width:100%;border-collapse:collapse;font-family:'Inter',system-ui,Arial,sans-serif;}
.compare th,.compare td{text-align:left;padding:13px 10px;border-bottom:1px solid rgba(74,15,30,.12);font-size:12.5px;color:#3A3733;}
.compare thead th{font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:#4A0F1E;border-bottom:1px solid rgba(176,145,76,.5);}
.compare th:nth-child(n+2),.compare td:nth-child(n+2){text-align:center;width:24%;}
.compare .tick{color:#B0914C;font-size:14px;}
.compare .dash{color:#C9C4BB;}
.compare .avail{font-size:11px;color:#8A857C;}
@media(max-width:700px){
  .compare th,.compare td{padding:11px 6px;font-size:11.5px;}
  .booth-trust{gap:6px 16px;}
  .booth-trust li{font-size:10px;}
}

/* ---- Enquiry form ---- */
.enq{display:grid;grid-template-columns:1fr 1fr;gap:20px 26px;margin-top:8px;}
.enq .hp{display:none!important;}
.f{display:flex;flex-direction:column;gap:7px;}
.f--wide{grid-column:1 / -1;}
.enq label{font-family:'Inter',system-ui,Arial,sans-serif;font-size:11px;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:#3A3733;}
.req{color:#4A0F1E;}
.opt{font-weight:400;letter-spacing:.04em;text-transform:none;color:#8A857C;font-size:10.5px;}
.enq input[type=text],.enq input[type=tel],.enq input[type=email],.enq input[type=date],.enq input[type=number],.enq select,.enq textarea{
  font-family:'Inter',system-ui,Arial,sans-serif;font-size:14px;color:#0D0D0D;
  background:#FFFFFF;border:1px solid #E4E0D9;border-radius:0;padding:13px 14px;width:100%;
  appearance:none;-webkit-appearance:none;}
.enq select{background-image:linear-gradient(45deg,transparent 50%,#4A0F1E 50%),linear-gradient(135deg,#4A0F1E 50%,transparent 50%);
  background-position:calc(100% - 18px) calc(50% + 2px),calc(100% - 13px) calc(50% + 2px);
  background-size:5px 5px,5px 5px;background-repeat:no-repeat;padding-right:38px;}
.enq input:focus,.enq select:focus,.enq textarea:focus{outline:none;border-color:#B0914C;box-shadow:0 0 0 2px rgba(176,145,76,.18);}
.enq textarea{resize:vertical;line-height:1.55;}
.checks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px 18px;margin-top:2px;}
.chk{display:flex;align-items:center;gap:9px;font-family:'Inter',system-ui,Arial,sans-serif;font-size:13px;font-weight:400;letter-spacing:0;text-transform:none;color:#3A3733;}
.chk input{width:16px;height:16px;accent-color:#4A0F1E;flex:0 0 16px;}
.enq button.btn{border:0;cursor:pointer;font-size:12px;padding:16px 30px;}
.enq-note{margin:14px 0 0;font-family:'Inter',system-ui,Arial,sans-serif;font-size:12px;color:#8A857C;}
.enq-note a{color:#4A0F1E;}
@media(max-width:700px){
  .enq{grid-template-columns:1fr;gap:16px;}
  .checks{grid-template-columns:1fr;}
  .enq button.btn{width:100%;}
}
.thanks{padding-bottom:70px;}
.range-grid--text h3 a{color:#0D0D0D;text-decoration:none;border-bottom:1px solid #B0914C;}
a.brand{display:flex;align-items:center;gap:14px;text-decoration:none;color:inherit;}
a.brand:hover .brandname{opacity:.82;}
