/* Existing STL Party Helpers Site integration — owner-selected portrait-led design.
   All rules are scoped to .stlph-selected-hero; do not reset global Site styles. */
.stlph-selected-hero {
  --stlph-navy: #211b50;
  --stlph-purple: #2c257e;
  --stlph-gold: #c49a58;
  --stlph-cream: #fbfaf8;
  color: var(--stlph-navy);
  font-family: Arial, Helvetica, sans-serif;
}
.stlph-selected-hero, .stlph-selected-hero * { box-sizing: border-box; }
.stlph-selected-hero a:focus-visible { outline: 3px solid #a96820; outline-offset: 4px; }
.stlph-selected-hero .event-hero { position:relative; isolation:isolate; display:flex; min-height:560px; overflow:hidden; background:linear-gradient(90deg,#fff 0%,#fffaf8 65%,#efe5d9 100%); }
.stlph-selected-hero .event-hero__visual { z-index:-1; position:absolute; top:0; bottom:0; right:0; width:59%; -webkit-mask-image:linear-gradient(to right,transparent 0%,rgba(0,0,0,.25) 13%,#000 31%); mask-image:linear-gradient(to right,transparent 0%,rgba(0,0,0,.25) 13%,#000 31%); }
.stlph-selected-hero .event-hero__visual img { display:block; width:100%; height:100%; object-fit:cover; object-position:51% 40%; }
.stlph-selected-hero .event-hero__copy { width:64%; padding:72px 15px 96px max(50px,calc((100vw - 1545px)/2)); z-index:1; }
.stlph-selected-hero .event-hero__eyebrow { font-size:14px; font-weight:800; color:var(--stlph-gold); letter-spacing:.065em; margin:0 0 20px; }
.stlph-selected-hero .event-hero h1 { color:var(--stlph-navy); font:400 clamp(2rem,3.2vw,3.5rem)/1.12 Georgia,'Times New Roman',serif; letter-spacing:-.03em; margin:0; max-width:680px; }
.stlph-selected-hero .event-hero h1 span { display:block; white-space:nowrap; }
.stlph-selected-hero .event-hero__description { font-size:18px; line-height:1.5; max-width:600px; margin:22px 0 28px; }
.stlph-selected-hero .event-hero__actions { display:flex; align-items:center; flex-wrap:wrap; gap:20px; }
.stlph-selected-hero .action { display:inline-flex; justify-content:center; align-items:center; gap:22px; text-decoration:none; font-size:18px; font-weight:700; padding:20px 40px; min-height:64px; border-radius:25px; white-space:nowrap; }
.stlph-selected-hero .action--primary { color:#fff; background:var(--stlph-purple); }
.stlph-selected-hero .action--primary:hover { background:#21185f; }
.stlph-selected-hero .action--primary span { font-size:25px; line-height:1; font-weight:400; }
.stlph-selected-hero .action--outline { background:rgba(255,255,255,.87); border:1px solid #d6ac72; }
.stlph-selected-hero .action--outline:hover { background:#fff; border-color:var(--stlph-gold); }
.stlph-selected-hero .event-hero__wave { position:absolute; bottom:-1px; left:0; width:100%; height:88px; pointer-events:none; }
.stlph-selected-hero .value-strip { background:var(--stlph-cream); padding:12px 0 52px; }
.stlph-selected-hero .value-strip__grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:0; max-width:1560px; width:calc(100% - 96px); margin:0 auto; padding:0; list-style:none; }
.stlph-selected-hero .value-strip__grid li { display:flex; gap:21px; align-items:center; padding:0 24px; min-width:0; position:relative; }
.stlph-selected-hero .value-strip__grid li:first-child { padding-left:0; }
.stlph-selected-hero .value-strip__grid li:last-child { padding-right:0; }
.stlph-selected-hero .value-strip__grid li:not(:last-child)::after { content:''; position:absolute; width:1px; height:42px; right:0; top:calc(50% - 21px); background:#e1cdb0; }
.stlph-selected-hero .value-strip__icon { display:grid; flex-shrink:0; place-items:center; width:78px; height:78px; border:2px solid #f0e8dd; border-radius:50%; color:var(--stlph-gold); }
.stlph-selected-hero .value-strip__icon svg { width:45px; height:45px; }
.stlph-selected-hero .value-strip__grid li > div { display:flex; flex-direction:column; gap:8px; min-width:0; }
.stlph-selected-hero .value-strip strong { font-size:16px; font-weight:800; white-space:nowrap; }
.stlph-selected-hero .value-strip li div span { color:#514a6c; font-size:16px; }
@media(max-width:1440px) {
  .stlph-selected-hero .event-hero { min-height:520px; }
  .stlph-selected-hero .event-hero__copy { padding:64px 5px 86px 6%; width:68%; }
  .stlph-selected-hero .value-strip__grid { width:calc(100% - 64px); }
  .stlph-selected-hero .value-strip__icon { width:62px; height:62px; }
  .stlph-selected-hero .value-strip__icon svg { width:37px; height:37px; }
  .stlph-selected-hero .value-strip__grid li { gap:12px; padding:0 14px; }
  .stlph-selected-hero .value-strip strong { font-size:14px; }
  .stlph-selected-hero .value-strip li div span { font-size:13px; }
}
@media(max-width:1160px) {
  .stlph-selected-hero .event-hero { min-height:480px; }
  .stlph-selected-hero .event-hero__copy { width:70%; padding-top:60px; padding-left:5%; }
  .stlph-selected-hero .event-hero__eyebrow { font-size:13px; }
  .stlph-selected-hero .event-hero__description { font-size:17px; max-width:590px; }
  .stlph-selected-hero .action { font-size:15px; padding:16px 25px; min-height:54px; border-radius:19px; }
  .stlph-selected-hero .event-hero__visual { width:57%; }
  .stlph-selected-hero .value-strip__grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px 0; }
  .stlph-selected-hero .value-strip__grid li:nth-child(2)::after { display:none; }
}
@media(max-width:850px) {
  .stlph-selected-hero .event-hero { display:flex; flex-direction:column; min-height:unset; }
  .stlph-selected-hero .event-hero__copy { order:0; width:100%; padding:48px 6% 25px; }
  .stlph-selected-hero .event-hero__visual { order:1; position:relative; top:auto; bottom:auto; right:auto; width:100%; height:340px; z-index:0; -webkit-mask-image:linear-gradient(to bottom,transparent 0%,#000 14%,#000 90%); mask-image:linear-gradient(to bottom,transparent 0%,#000 14%,#000 90%); }
  .stlph-selected-hero .event-hero__visual img { object-position:53% 37%; }
  .stlph-selected-hero .event-hero__wave { height:40px; }
  .stlph-selected-hero .event-hero h1 { font-size:clamp(1.75rem,4.8vw,2.75rem); }
  .stlph-selected-hero .event-hero__description { max-width:640px; }
  .stlph-selected-hero .value-strip { padding-top:24px; }
}
@media(max-width:560px) {
  .stlph-selected-hero .event-hero__copy { padding:40px 22px 14px; }
  .stlph-selected-hero .event-hero__eyebrow { font-size:11px; margin-bottom:18px; }
  .stlph-selected-hero .event-hero h1 { font-size:clamp(1.5rem,7.7vw,2rem); letter-spacing:-.03em; }
  .stlph-selected-hero .event-hero h1 span { white-space:normal; }
  .stlph-selected-hero .event-hero__description { font-size:16px; line-height:1.52; margin:18px 0 24px; }
  .stlph-selected-hero .event-hero__actions { gap:12px; }
  .stlph-selected-hero .action { width:100%; border-radius:15px; padding:16px 18px; font-size:15px; min-height:52px; }
  .stlph-selected-hero .event-hero__visual { height:280px; }
  .stlph-selected-hero .event-hero__visual img { object-position:52% 36%; }
  .stlph-selected-hero .value-strip { padding:20px 0 35px; }
  .stlph-selected-hero .value-strip__grid { width:calc(100% - 32px); gap:26px 14px; }
  .stlph-selected-hero .value-strip__grid li { flex-direction:column; align-items:flex-start; gap:9px; padding:0; }
  .stlph-selected-hero .value-strip__grid li:not(:last-child)::after { display:none; }
  .stlph-selected-hero .value-strip__icon { width:49px; height:49px; }
  .stlph-selected-hero .value-strip__icon svg { width:29px; height:29px; }
  .stlph-selected-hero .value-strip strong { font-size:11px; white-space:normal; line-height:1.25; }
  .stlph-selected-hero .value-strip li div span { font-size:11px; line-height:1.4; }
}
@media(prefers-reduced-motion:reduce) {
  .stlph-selected-hero *, .stlph-selected-hero *::before, .stlph-selected-hero *::after { transition:none !important; }
}

/* Native Site integration: keep the retained brand and enforce readable colors. */
.stlph-selected-hero { --stlph-purple:#272578; --stlph-cream:#f7f7f8; --stlph-gold:#956d34; color-scheme:light; }
.stlph-selected-hero .event-hero { background:linear-gradient(90deg,#f7f7f8 0%,#faf9f7 65%,#eeeae5 100%); }
.stlph-selected-hero .event-hero__visual img { object-position:58% 50%; }
.stlph-selected-hero .event-hero__wave path { fill:var(--stlph-cream); }
.stlph-selected-hero .action--primary { color:#fff; border:1px solid var(--stlph-purple); text-shadow:none; box-shadow:none; }
.stlph-selected-hero .action--outline { color:var(--stlph-navy); }
.stlph-selected-hero .value-strip strong { white-space:normal; }
.stlph-selected-hero .event-hero h1 span { white-space:normal; }
html[data-palette="purple-nine"] main > .home-portrait-navigation { padding:0 0 32px; }
.home-portrait-navigation > .hero-inner { width:min(68rem,calc(100% - 48px)); max-width:68rem; padding:0; margin-inline:auto; }
/* Keep the helper, hands and appetizer trays together when the photo stacks.
   A fixed shallow image height would crop out the work on tablet screens. */
@media(max-width:850px) {
  .stlph-selected-hero .event-hero__visual { height:auto; aspect-ratio:3 / 2; }
  .stlph-selected-hero .event-hero__visual img { object-position:center; }
}
@media(max-width:759px) { .home-portrait-navigation > .hero-inner { width:calc(100% - 32px); } }

/* Four visitor questions, each with one destination and a visible action.
   Retain the category plates; keep longer copy in normal flow below them. */
.home-portrait-navigation #home-intent-heading {
  margin: 0 0 28px;
  color: var(--gallery-ink);
  font-size: clamp(1.5rem, 2.4vw, 2rem);
  line-height: 1.2;
  text-align: center;
}
.home-portrait-navigation .hero-intent-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 24px;
}
.home-portrait-navigation .hero-intent-path {
  display: grid;
  grid-template-rows: auto 1fr;
  gap: 22px;
  min-width: 0;
  padding: 0 0 8px;
  border-radius: 12px;
  color: var(--gallery-ink);
  text-decoration: none;
}
.home-portrait-navigation .hero-intent-path > .hero-card-band {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  width: 100%;
  min-width: 0;
  margin: 0;
  padding: 0;
}
.home-portrait-navigation .hero-intent-path .hero-intent-copy {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 9px;
  padding: 0 4px;
  text-align: center;
}
.home-portrait-navigation .hero-intent-title {
  color: var(--gallery-ink);
  font: 700 19px/1.3 var(--font-body);
  text-wrap: balance;
}
.home-portrait-navigation .hero-intent-description {
  color: var(--gallery-muted);
  font: 400 15px/1.5 var(--font-body);
  max-width: 30ch;
}
.home-portrait-navigation .hero-intent-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  margin-top: auto;
  padding-top: 10px;
  min-height: 44px;
  color: var(--purple-700);
  font: 700 15px/1.4 var(--font-body);
  text-decoration: underline;
  text-underline-offset: 4px;
  text-decoration-thickness: 1px;
}
.home-portrait-navigation .hero-intent-path:hover .hero-intent-cta {
  color: var(--purple-900);
  text-decoration-thickness: 2px;
}
.home-portrait-navigation .hero-intent-path:focus-visible {
  outline: 3px solid var(--purple-700);
  outline-offset: 6px;
}
@media(max-width:959px) {
  .home-portrait-navigation .hero-intent-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px 22px; }
  .hero-feature.home-portrait-navigation .hero-intent-path .hero-card.hero-card-has-collage { max-width: 280px; }
}
@media(max-width:599px) {
  .home-portrait-navigation .hero-intent-grid { gap: 28px 16px; }
  .home-portrait-navigation .hero-intent-path { gap: 18px; }
  .hero-feature.home-portrait-navigation .hero-intent-path .hero-card.hero-card-has-collage { max-width: 260px; }
  .home-portrait-navigation .hero-intent-title { font-size: 17px; }
  .home-portrait-navigation .hero-intent-description { font-size: 14px; }
  .home-portrait-navigation .hero-intent-cta { font-size: 14px; gap: 5px; }
}
