/* Scoped to the five celebration pages. Preserve portrait photos without cropping. */
.celebration-page .celebration-gallery { display: block; max-width: 820px; margin-inline: auto; padding: 0 1rem 3rem; }
.celebration-page .celebration-gallery figure { min-height: 0; margin: 0; }
.celebration-page .celebration-gallery figure img { display: block; width: 100%; height: auto; min-height: 0; flex: none; }
.celebration-page .inquiry-note { font-size: .9rem; line-height: 1.5; }


/* Flexible cards and readable headings at narrow widths and larger text sizes. */
.celebration-page :is(.story-copy,.offer-lead>div,.inquiry-copy,.website-inquiry,.form-grid>label,.celebration-facts dl>div){min-width:0;max-width:100%}
.celebration-page :is(h1,h2,h3,dt,dd,.eyebrow,.inquiry-benefits li){overflow-wrap:anywhere;hyphens:auto;word-break:normal}
.celebration-page .inquiry-studio{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)}
.celebration-page .inquiry-copy h2{font-size:clamp(1.8rem,3.2vw,3.25rem);line-height:1.12;padding-top:0;max-width:100%;text-wrap:balance}
.celebration-page .offer-lead h2{font-size:clamp(2rem,4.5vw,4.25rem);line-height:1.08}
.celebration-page .celebration-facts :is(dt,dd){max-width:100%;white-space:normal}
.celebration-page .form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.celebration-page .website-inquiry :is(input,select,textarea){min-width:0;max-width:100%;box-sizing:border-box}
.celebration-page .story-copy h1{hyphens:auto;overflow-wrap:anywhere}
.celebration-page .story-copy .actions{flex-wrap:wrap}
.celebration-page .button{white-space:normal;text-align:center}

/* Original portrait photographs beside the title, without duplicating them below. */
.celebration-page .celebration-photo-hero{
  display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);
  height:auto;min-height:0;max-width:1440px;margin-inline:auto;background:#30322f;
}
.celebration-page .celebration-photo-hero>.story-copy{
  position:relative;inset:auto;width:auto;max-width:none;align-self:center;
  padding:clamp(2rem,5vw,5rem);grid-column:1;grid-row:1;
}
.celebration-page .celebration-photo-hero>.story-copy h1{
  font-size:clamp(2rem,4.1vw,4.5rem);line-height:1.08;letter-spacing:-.035em;
}
.celebration-page .celebration-photo-hero>.celebration-hero-photo{
  position:relative;inset:auto;display:block;grid-column:2;grid-row:1;
  width:100%;height:100%;max-height:760px;min-height:0;object-fit:contain;transform:none;background:#393b36;
}
.celebration-page .celebration-photo-hero>.story-copy .eyebrow{color:#e5d7c5}
@media(max-width:900px){
  .celebration-page .celebration-photo-hero>.story-copy{padding:2rem 1.4rem}
}
@media(max-width:760px){
  .celebration-page .inquiry-studio{grid-template-columns:minmax(0,1fr)}
  .celebration-page .celebration-photo-hero{grid-template-columns:minmax(0,1fr)}
  .celebration-page .celebration-photo-hero>.celebration-hero-photo{
    grid-column:1;grid-row:1;height:auto;max-height:480px;width:100%;aspect-ratio:3/4;
  }
  .celebration-page .celebration-photo-hero>.story-copy{grid-row:2;padding:2rem 1.25rem}
  .celebration-page .celebration-photo-hero>.story-copy h1{font-size:clamp(1.85rem,7.4vw,3.1rem)}
  .celebration-page .offer-lead{grid-template-columns:minmax(0,1fr);gap:1rem}
}
@media(max-width:620px){
  .celebration-page .celebration-facts dl{grid-template-columns:minmax(0,1fr)}
  .celebration-page .celebration-facts dl>div{padding:.9rem 1rem}
  .celebration-page .celebration-facts dd{font-size:1rem;line-height:1.45}
  .celebration-page .inquiry-copy h2{font-size:clamp(1.65rem,7vw,2.3rem)}
  .celebration-page .inquiry-studio{padding:1.25rem;gap:1.5rem}
  .celebration-page .form-grid{grid-template-columns:minmax(0,1fr)}
  .celebration-page .form-grid>.wide{grid-column:auto}
  .celebration-page .eyebrow{letter-spacing:.13em;line-height:1.65}
}


/* Keep the direct Hafenbar inquiry readable on small screens. */
.harbor-page .inquiry-studio{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)}
.harbor-page .inquiry-studio :is(label,input,select,textarea,.inquiry-copy,.website-inquiry){min-width:0;max-width:100%;box-sizing:border-box}
.harbor-page .inquiry-copy h2{font-size:clamp(1.8rem,3.2vw,3.25rem);overflow-wrap:anywhere}
@media(max-width:760px){.harbor-page .inquiry-studio{grid-template-columns:minmax(0,1fr);padding:1.25rem}.harbor-page .form-grid{grid-template-columns:minmax(0,1fr)}.harbor-page .form-grid>.wide{grid-column:auto}}

/* Optional wedding choices use compact controls and generous label targets. */
.website-inquiry fieldset{min-width:0;margin:0;padding:1rem;border:1px solid currentColor;border-radius:.6rem}
.website-inquiry fieldset legend{font-weight:700;padding:0 .35rem}
.website-inquiry fieldset label{display:flex;align-items:center;gap:.65rem;min-height:44px;line-height:1.5}
.website-inquiry fieldset input[type="checkbox"]{width:20px;height:20px;min-height:20px;max-width:20px;padding:0;margin:0;flex:0 0 20px;box-sizing:border-box;accent-color:#ad7549}
.website-inquiry fieldset p{font-size:.9rem;line-height:1.5;margin:.5rem 0 0}


/* September 2026: photo-led celebrations, with intact inquiry forms. */
.event-repaired .event-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;max-width:1440px;margin:0 auto;background:#30322f;color:#fff}
.event-repaired .event-hero .story-copy{position:static;inset:auto;width:auto;max-width:none;min-width:0;padding:clamp(1.5rem,4.5vw,4.5rem)}
.event-repaired .event-hero h1{font:600 clamp(2.2rem,4.5vw,4.8rem)/1.04 var(--serif);letter-spacing:-.04em;text-transform:none;text-shadow:none;max-width:12ch;margin:.7rem 0 1.4rem;text-wrap:balance;overflow-wrap:anywhere;hyphens:auto}
.event-repaired .event-hero .eyebrow{color:#dccbb3;font-size:.8rem;line-height:1.7}
.event-repaired .event-hero .story-copy>p:not(.eyebrow){font-size:clamp(1rem,1.35vw,1.2rem);color:#eee8df;max-width:38ch}
.event-repaired .event-hero .actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.75rem}
.event-repaired .event-hero-image{margin:0;min-width:0;line-height:0;background:#30322f}
.event-repaired .event-hero-image img{position:static;display:block;max-width:100%;width:100%;height:auto;max-height:720px;object-fit:contain;transform:none}
.event-repaired .event-editorial{columns:auto;display:block;max-width:1180px;padding:clamp(2.5rem,5vw,4.5rem) 1.5rem;margin:0 auto}
.event-repaired .event-intro{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(1.5rem,4vw,4rem);align-items:center;margin:0 0 2.5rem}
.event-repaired .event-editorial h2{font:600 clamp(1.9rem,3.4vw,3.2rem)/1.1 var(--serif);letter-spacing:-.03em;text-transform:none;margin:.4rem 0 1.2rem;padding:0;overflow-wrap:anywhere;hyphens:auto}
.event-repaired .event-editorial p{font-size:1.05rem;line-height:1.75;color:#50514b}
.event-repaired .event-editorial .eyebrow{font-size:.77rem;line-height:1.7;letter-spacing:.13em;color:#685846}
.event-repaired .event-feature{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.9fr);gap:clamp(1.5rem,4vw,4rem);align-items:center;margin:0 0 3.5rem}
.event-repaired .event-feature figure{margin:0;min-width:0;line-height:0}
.event-repaired .event-feature img{display:block;width:100%;height:auto;max-height:680px;object-fit:contain;object-position:left center;border-radius:4px}
.event-repaired .event-feature>div{min-width:0}
.event-repaired .celebration-facts{max-width:none;margin:0 0 3rem;padding:1.6rem 1.8rem;border:0;border-radius:4px;background:#e9e1d6}
.event-repaired .celebration-facts h2{font-size:clamp(1.5rem,2.2vw,2rem);margin:0 0 1.25rem}
.event-repaired .celebration-facts dl{grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}
.event-repaired .celebration-facts dl>div{padding:0;background:transparent;border-radius:0;border-right:1px solid #cbbdab;padding-right:1rem}
.event-repaired .celebration-facts dl>div:last-child{border:0}
.event-repaired .celebration-facts dd{font-size:1rem;line-height:1.5}
.event-repaired .celebration-facts>p{font-size:.9rem;margin:1rem 0 0;line-height:1.6}
.event-repaired .celebration-facts .actions{margin-top:1rem}
.event-repaired .event-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem 3rem;margin:0 0 3rem}
.event-repaired .event-detail{min-width:0;border-top:1px solid #cfc6b9;padding-top:1.25rem}
.event-repaired .event-detail h3{font:600 clamp(1.4rem,2.2vw,1.8rem)/1.2 var(--serif);margin:0 0 .75rem;color:#30322f;overflow-wrap:anywhere;hyphens:auto}
.event-repaired .event-detail p{margin:0 0 .75rem}
.event-repaired .event-detail .text-link{display:inline-block;margin-top:.5rem}
.event-repaired .inquiry-studio{margin:2rem 0 0;padding:clamp(1.25rem,3.5vw,3rem);gap:2rem;border-radius:4px;background:#30322f}
.event-repaired .inquiry-studio :is(h2,p,.eyebrow){color:#f4eee4}
.event-repaired .inquiry-studio h2{font-size:clamp(1.8rem,3vw,2.8rem)}
.event-repaired .inquiry-studio .eyebrow{color:#dccbb3}
.event-repaired .inquiry-studio .inquiry-note{font-size:.9rem}
.event-repaired .page-cta{padding:clamp(2.5rem,5vw,5rem) 1.5rem}
@media(max-width:900px){
 .event-repaired .event-hero .story-copy{padding:2rem 1.5rem}
 .event-repaired .event-hero h1{font-size:clamp(2rem,4.8vw,3.3rem)}
 .event-repaired .celebration-facts dl{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem}
 .event-repaired .celebration-facts dl>div:nth-child(2){border:0}
}
@media(max-width:760px){
 .event-repaired .event-hero{grid-template-columns:minmax(0,1fr)}
 .event-repaired .event-hero-image{grid-row:1;background:#e9e1d6}
 .event-repaired .event-hero-image img{max-height:520px;object-fit:contain}
 .event-repaired .event-hero .story-copy{padding:2rem 1.25rem 2.5rem}
 .event-repaired .event-hero h1{font-size:clamp(2rem,8vw,3.5rem);max-width:19ch}
 .event-repaired .event-hero .story-copy>p:not(.eyebrow){max-width:unset}
 .event-repaired .event-intro,.event-repaired .event-feature{grid-template-columns:minmax(0,1fr);gap:1.25rem}
 .event-repaired .event-intro{margin-bottom:2rem}
 .event-repaired .event-feature{margin-bottom:2rem}
 .event-repaired .event-feature img{max-height:none}
 .event-repaired .event-editorial{padding:2.5rem 1.25rem}
 .event-repaired .event-details{grid-template-columns:minmax(0,1fr);gap:1.5rem}
 .event-repaired .celebration-facts{padding:1.25rem;margin-bottom:2.5rem}
 .event-repaired .inquiry-studio{grid-template-columns:minmax(0,1fr)}
}
@media(max-width:420px){
 .event-repaired .event-hero .actions{display:grid;grid-template-columns:minmax(0,1fr)}
 .event-repaired .celebration-facts dl{grid-template-columns:minmax(0,1fr);gap:.8rem}
 .event-repaired .celebration-facts dl>div{border:0;border-bottom:1px solid #cbbdab;padding:0 0 .8rem}
 .event-repaired .celebration-facts dl>div:nth-child(2){border-bottom:1px solid #cbbdab}
}

/* Keep editorial headlines in whole words at every viewport size. */
.event-repaired .event-hero h1{max-width:none;hyphens:none}
.event-repaired .event-editorial :is(h2,h3){hyphens:none;text-wrap:balance}

/* Mobile visual QA: readable notes on the light form surface. */
.event-repaired .inquiry-studio .website-inquiry p{color:#4c4d49}
.event-repaired .inquiry-studio .website-inquiry .inquiry-result{color:#30322f}
@media(max-width:620px){
 .event-repaired .inquiry-studio{padding:1rem .75rem}
 .event-repaired .website-inquiry{padding:1rem .875rem}
 .event-repaired .website-inquiry fieldset{padding:.75rem}
 .event-repaired .website-inquiry fieldset p{font-size:.875rem;line-height:1.6}
}
@media(max-width:380px){
 .event-repaired .event-hero h1{font-size:1.85rem;line-height:1.12}
}


/* Celebration typography and open, concise guest information. */
.celebration-page .event-hero h1,.celebration-page .celebration-photo-hero .story-copy h1{font-size:clamp(2rem,3.5vw,3.75rem);line-height:1.12;letter-spacing:-.025em;max-width:100%;overflow-wrap:normal;word-break:normal;hyphens:none;text-wrap:balance}
.celebration-page .celebration-facts{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:1.25rem 3rem;background:transparent;border:0;border-block:1px solid #cdc6bb;border-radius:0;margin:2.5rem 0 3rem;padding:2rem 0;color:#30322f}
.celebration-page .celebration-facts h2{font:600 clamp(1.5rem,2.4vw,2rem)/1.2 var(--serif);margin:0;letter-spacing:-.02em;text-wrap:balance;hyphens:none;overflow-wrap:normal}
.celebration-page .celebration-facts dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem;margin:0}
.celebration-page .celebration-facts dl>div{padding:0;border:0!important;background:transparent;border-radius:0}
.celebration-page .celebration-facts dt{font-size:.875rem;line-height:1.5;color:#66635d;hyphens:none;overflow-wrap:normal}
.celebration-page .celebration-facts dd{font-size:1.1rem;line-height:1.5;font-weight:600;margin:.35rem 0 0;hyphens:none;overflow-wrap:normal}
.celebration-page .celebration-facts>p{grid-column:2;max-width:65ch;margin:0;font-size:.95rem;line-height:1.65;color:#585953}
@media(max-width:1000px){.celebration-page .celebration-facts{grid-template-columns:1fr;gap:1.25rem}.celebration-page .celebration-facts>p{grid-column:1}}
@media(max-width:760px){.celebration-page .event-hero h1,.celebration-page .celebration-photo-hero .story-copy h1{font-size:clamp(1.75rem,7.8vw,3rem)}.celebration-page .celebration-facts{padding:1.5rem 0;margin:2rem 0}.celebration-page .celebration-facts dl{grid-template-columns:1fr;gap:1rem}}
