/* Premiere final composition v4. Food, place and live evenings. */
:root{--night-display:clamp(5.5rem,10vw,9rem);--ease-out:cubic-bezier(.16,1,.3,1)}
.hero{position:relative}
.hero::before{content:"";position:absolute;inset:20px;border:1px solid #e0c18538;pointer-events:none}
.hero-inner{padding-top:var(--space-20);padding-bottom:var(--space-16)}
.hero-copy,.hero-visual,.hero-bottom{position:relative}
.hero-copy::before{content:"";position:absolute;width:260px;height:135px;left:-180px;top:0;background:url("./assets/ornament.webp") center/contain no-repeat;opacity:.11;transform:rotate(90deg);pointer-events:none}
.hero-bottom{margin-inline:var(--gutter);padding-inline:0;padding-bottom:var(--space-8)}
.hero-description{max-width:430px}
.hero-live{display:flex;align-items:flex-start;gap:var(--space-3);color:var(--gold);font-size:var(--text-sm);max-width:420px;margin-top:var(--space-5);line-height:1.6}
.live-line{height:1px;width:24px;flex:none;background:var(--gold);margin-top:11px}
html[lang="sv"] h1{font-size:clamp(3.3rem,6.2vw,6.25rem)}
.photo-arch{border-radius:48% 48% 2px 2px;outline-offset:10px}
.date-medallion{transform:none;box-shadow:0 0 0 1px #321a2c inset;outline-offset:5px;right:-8px}
.date-medallion strong{font-style:italic}
.button{transition:background 220ms ease,box-shadow 220ms ease,transform 220ms var(--ease-out)}
.gold{box-shadow:inset 0 0 0 4px var(--gold),inset 0 0 0 5px #321a2c35}
.button>span:last-child{transition:transform 220ms var(--ease-out)}
.button:hover>span:last-child{transform:translate(2px,-2px)}
.opening-note{padding-top:var(--space-20);padding-bottom:var(--space-20);display:grid;grid-template-columns:1.6fr 1fr;gap:var(--space-20);align-items:center}
.host-letter{text-align:left}
.host-letter .invitation-ornament{margin-left:0;width:145px;margin-bottom:var(--space-6)}
.host-letter .intro-text{margin-left:0}
.host-letter .host-signature{justify-content:flex-start}
.host-letter .host-signature::before,.host-letter .host-signature::after{display:none}
.opening-places{position:relative;padding:var(--space-10) var(--space-8);border:1px solid var(--color-border);text-align:center}
.opening-places::before{content:"";position:absolute;inset:8px;border:1px solid var(--color-border);pointer-events:none}
.opening-places .eyebrow{letter-spacing:.12em}
.places-number{font:400 clamp(6rem,9vw,9rem)/1.12 var(--font-display);display:block;color:var(--gold-dark);margin-top:var(--space-3)}
.opening-places h3{font-family:var(--font-display);font-size:var(--text-xl);line-height:1.15}
.places-rule{width:36px;height:1px;background:var(--gold-dark);margin:var(--space-6) auto}
.opening-places p{font-size:var(--text-base);line-height:1.65;color:var(--color-muted)}
.places-note{display:block;margin-top:var(--space-5);font-size:var(--text-xs);color:var(--color-muted)}
.invitation-ornament{width:176px;height:auto;margin:0 auto var(--space-8);transform:rotate(180deg);opacity:.8}
.opening-note .event-mark{display:none}
.opening-note h2{max-width:780px;margin-inline:auto}
.host-signature{display:flex;align-items:center;justify-content:center;gap:var(--space-4);font-size:var(--text-lg);font-family:var(--font-body)}
.host-signature::before,.host-signature::after{content:"";width:40px;height:1px;background:var(--color-border)}
.host-signature span{margin:0}
.editorial-photo{height:560px}
.evening{padding-bottom:var(--space-20)}
.after-dinner-link{display:flex;justify-content:space-between;align-items:center;gap:var(--space-4);padding-block:var(--space-5);border-block:1px solid var(--color-border);margin-bottom:var(--space-5);font-family:var(--font-display);font-size:var(--text-xl);line-height:1.2}
.after-dinner-link:hover{color:var(--gold-dark)}
.after-dark{position:relative;background:var(--plum);color:var(--ivory);border-bottom:1px solid #e0c18540}
.night-inner{max-width:1300px;padding:var(--space-20) var(--gutter);margin:auto;display:grid;grid-template-columns:.8fr 1fr;gap:var(--space-20);align-items:center}
.night-time{position:relative;text-align:center;padding-block:var(--space-10);color:var(--gold)}
.night-time::before{content:"";position:absolute;width:290px;height:290px;border:1px solid #e0c18540;border-radius:50%;left:50%;top:50%;transform:translate(-50%,-50%);pointer-events:none}
.night-time strong{display:block;font:400 var(--night-display)/1.2 var(--font-display);letter-spacing:-.055em}
.night-time .eyebrow{position:relative;letter-spacing:.13em}
.night-copy>.eyebrow{color:var(--gold)}
.night-copy h2{margin-top:var(--space-4)}
.night-copy>p:not(.eyebrow){color:#e0d1d8;max-width:480px;margin-top:var(--space-6)}
.night-copy .night-detail{font-size:var(--text-sm);padding-top:var(--space-5);border-top:1px solid #e0c18530}
.invitation-section{background:var(--plum-deep);border:0;padding-block:var(--space-20)}
.invitation-inner{position:relative;background:var(--color-surface);max-width:1100px;padding:var(--space-16);border:1px solid #d8bd83}
.invitation-inner::before{content:"";position:absolute;inset:12px;border:1px solid var(--color-border);pointer-events:none}
.stationery-top{display:flex;justify-content:center;align-items:center;gap:var(--space-5);font-size:var(--text-xs);letter-spacing:.15em;color:var(--gold-dark);margin-bottom:var(--space-10);text-align:center}
.stationery-cross{font-family:var(--font-display);font-size:var(--text-xl)}
.invitation-heading{display:block;text-align:center;margin-bottom:var(--space-10)}
.invitation-heading>p{max-width:540px;margin:var(--space-5) auto 0}
.date-card{min-height:180px;align-items:center;text-align:center;padding:var(--space-5);border-color:var(--color-border)}
.date-card.selected{outline:1px solid var(--gold);outline-offset:-6px}
.date-arrow{right:var(--space-3);bottom:var(--space-3)}
.date-card strong{font-size:var(--text-section)}
.selected-invitation{margin-top:var(--space-3)}
.invitation-notes{gap:var(--space-8)}
.venue figure{position:relative;padding:var(--space-3);border:1px solid var(--color-border)}
.venue figcaption{margin-bottom:var(--space-1)}
.venue figure img{filter:saturate(.88)}
footer{border-top:3px double #e0c18570}
.dialog-content{border-top:3px double var(--color-border)}
dialog[open]{animation:invitation-open 260ms var(--ease-out)}
@keyframes invitation-open{from{opacity:0;transform:scale(.985)}to{opacity:1;transform:scale(1)}}
@keyframes premiere-arrival{from{opacity:0}to{opacity:1}}
.hero-copy{animation:premiere-arrival 700ms ease-out}
.hero-visual{animation:premiere-arrival 1000ms ease-out}
.mobile-invite{display:none}
@media(max-width:1100px){
 .invitation-inner{padding:var(--space-10)}
 .opening-note{gap:var(--space-8)}
 .opening-places{padding:var(--space-8) var(--space-5)}
 .night-inner{gap:var(--space-10)}
 .night-time::before{width:230px;height:230px}
}
@media(max-width:760px){
 .hero::before{inset:10px}
 .hero-inner{padding-top:var(--space-10);padding-bottom:var(--space-6)}
 .hero-copy::before{display:none}
 html[lang="sv"] h1{font-size:clamp(3.05rem,8.8vw,5.2rem)}
 .hero-live{font-size:var(--text-sm);margin-top:var(--space-4)}
 .hero-bottom{margin-inline:var(--gutter);padding-bottom:var(--space-6)}
 .hero-location{font-size:var(--text-xs);letter-spacing:.04em}
 .date-medallion{right:var(--space-1)}
 .invitation-ornament{width:140px;margin-bottom:var(--space-6)}
 .opening-note{padding-block:var(--space-16);grid-template-columns:1fr;gap:var(--space-10)}
 .host-letter{text-align:center}
 .host-letter .invitation-ornament{margin-inline:auto}
 .host-letter .intro-text{margin-inline:auto}
 .host-letter .host-signature{justify-content:center}
 .opening-places{padding:var(--space-8) var(--space-6)}
 .places-number{font-size:6rem}
 .host-signature{gap:var(--space-2);font-size:var(--text-base);flex-wrap:wrap}
 .host-signature::before,.host-signature::after{display:none}
 .editorial-photo{height:390px}
 .evening{padding-bottom:var(--space-12)}
 .night-inner{grid-template-columns:1fr;gap:var(--space-10);padding-block:var(--space-16)}
 .night-time{padding-block:var(--space-6)}
 .night-time::before{width:220px;height:220px}
 .night-copy{text-align:center}
 .night-copy>p:not(.eyebrow){margin-inline:auto}
 .night-copy h2{font-size:var(--text-section)}
 .night-copy>.eyebrow{letter-spacing:.08em}
 .invitation-section{padding:var(--space-8) var(--space-3) var(--space-12)}
 .invitation-inner{padding:var(--space-10) var(--space-5) var(--space-8)}
 .invitation-inner::before{inset:7px}
 .stationery-top{gap:var(--space-2);letter-spacing:.045em;font-size:var(--text-xs);margin-bottom:var(--space-6)}
 .stationery-cross{font-size:var(--text-lg)}
 .invitation-heading h2{font-size:var(--text-section)}
 .dates{gap:var(--space-3)}
 .date-card{min-height:150px;padding:var(--space-4)}
 .selected-invitation .eyebrow{letter-spacing:.12em}
 .mobile-invite:not([hidden]){display:flex;position:fixed;z-index:5;bottom:0;left:0;right:0;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-3) var(--space-4) max(var(--space-3),env(safe-area-inset-bottom));background:var(--plum-deep);color:var(--ivory);border-top:1px solid #e0c18570;box-shadow:0 -4px 24px #24132018}
 .mobile-invite>div>span{display:block;font-size:var(--text-xs);letter-spacing:.05em}
 .mobile-invite small{font-size:var(--text-xs);color:#dac6cf}
 .mobile-invite .button{padding:var(--space-3) var(--space-4);gap:var(--space-4);min-height:48px}
 body:has(dialog[open]) .mobile-invite{display:none}
 footer{padding-bottom:112px}
}
@media(prefers-reduced-motion:reduce){
 .hero-copy,.hero-visual,dialog[open]{animation:none}
 .button:hover>span:last-child{transform:none}
}
.story-nav{display:grid;grid-template-columns:repeat(3,1fr);gap:0;padding-block:0;margin-bottom:var(--space-5)}
.hero-bottom.story-nav>a{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-5) var(--space-6);font-size:var(--text-lg);font-family:var(--font-display);letter-spacing:0;color:var(--ivory);border-right:1px solid #e0c18530}
.hero-bottom.story-nav>a:first-child{padding-left:0}
.hero-bottom.story-nav>a:last-child{border-right:0}
.story-nav>a>span:first-child{font-family:var(--font-body);font-size:var(--text-xs);color:var(--gold)}
.story-nav>a>span:last-child{margin-left:auto;color:var(--gold);font-size:var(--text-sm)}
.story-nav>a:hover{background:#e0c1850d}
.editorial-photo>img{opacity:1;object-position:center}
.venue{border-top:1px solid var(--color-border);padding-top:var(--space-16);padding-bottom:var(--space-20)}
.venue .venue-address{font-size:var(--text-xs);letter-spacing:.12em;line-height:1.8;color:var(--gold-dark)}
.venue figure img{aspect-ratio:10/7;filter:none}
.photo-arch>img{object-position:50% 50%}
.confirmation-rule{border:1px solid var(--color-border);border-left:3px solid var(--gold-dark);padding:var(--space-5);margin-bottom:var(--space-8)}
.confirmation-rule strong{display:block;font-size:var(--text-base)}
.confirmation-rule p{font-size:var(--text-sm);color:var(--color-muted);margin-top:var(--space-2);max-width:760px}
@media(max-width:760px){
 .hero-bottom.story-nav>a{gap:8px;padding:var(--space-4) 10px;font-size:1.15rem;min-width:0}
 .story-nav>a>span:last-child{display:none}
 .story-nav>a>span:first-child{font-size:10px}
 .venue{padding-block:var(--space-12)}
 .venue-copy h2{font-size:clamp(2.45rem,8.5vw,3.5rem)}
}
