:root{
  --wl-paper:#f7f4ee;
  --wl-white:#fffdf9;
  --wl-ink:#252321;
  --wl-muted:#6f6a64;
  --wl-wine:#94515b;
  --wl-wine-dark:#6f3540;
  --wl-sage:#7c8878;
  --wl-gold:#b58a4c;
  --wl-line:#ded7cd;
  --wl-shadow:0 18px 45px rgba(48,39,34,.08);
}
body.wedding-page{background:var(--wl-paper);color:var(--wl-ink)}
.wedding-page .site-header{background:rgba(12,11,12,.97)}
.wedding-page .wl-container{width:min(1180px,calc(100% - 48px));margin:0 auto}
.wedding-page .wl-section{padding:88px 0}
.wedding-page .wl-section--white{background:var(--wl-white)}
.wedding-page .wl-section--sage{background:#eef0ea}
.wedding-page .wl-kicker{margin:0 0 14px;color:var(--wl-wine);font-size:.78rem;font-weight:750;letter-spacing:.16em;text-transform:uppercase}
.wedding-page .wl-title{margin:0;font-family:Georgia,"Times New Roman",serif;font-size:clamp(2.1rem,4vw,4.1rem);font-weight:400;line-height:1.08;letter-spacing:-.025em}
.wedding-page .wl-title--small{font-size:clamp(1.9rem,3.2vw,3.25rem)}
.wedding-page .wl-lead{margin:22px 0 0;color:var(--wl-muted);font-size:clamp(1.05rem,1.5vw,1.25rem);line-height:1.7;max-width:820px}
.wedding-page .wl-btn{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 24px;background:var(--wl-wine-dark);border:1px solid var(--wl-wine-dark);color:white;font-weight:700;transition:.18s ease}
.wedding-page .wl-btn:hover{background:var(--wl-wine);border-color:var(--wl-wine);transform:translateY(-1px)}
.wedding-page .wl-btn--light{background:transparent;border-color:rgba(255,255,255,.6)}
.wedding-page .wl-btn--light:hover{background:rgba(255,255,255,.08)}

/* hero */
.wl-hero{position:relative;min-height:720px;display:flex;align-items:flex-end;overflow:hidden;background:#211d1d}
.wl-hero-media{position:absolute;inset:0}
.wl-hero-media img{width:100%;height:100%;object-fit:cover;object-position:center 32%}
.wl-hero-media::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(18,15,15,.82) 0%,rgba(18,15,15,.52) 42%,rgba(18,15,15,.16) 74%,rgba(18,15,15,.08) 100%),linear-gradient(0deg,rgba(18,15,15,.58) 0%,rgba(18,15,15,0) 46%)}
.wl-hero-inner{position:relative;z-index:2;padding:88px 0 82px}
.wl-hero-copy{max-width:760px;color:white}
.wl-hero .wl-kicker{color:#ead9b7}
.wl-hero h1{margin:0;font-family:Georgia,"Times New Roman",serif;font-size:clamp(2.6rem,5.2vw,5.4rem);font-weight:400;line-height:1.02;letter-spacing:-.03em;text-shadow:0 3px 25px rgba(0,0,0,.3)}
.wl-hero-sub{margin:20px 0 0;font-family:Georgia,"Times New Roman",serif;font-size:clamp(1.25rem,2.1vw,2rem);line-height:1.35;color:#fff7ee;max-width:680px}
.wl-hero-date{margin:24px 0 30px;font-size:1.05rem;font-weight:700;letter-spacing:.02em}

/* intro */
.wl-intro-grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:70px;align-items:center}
.wl-brandmark{display:flex;align-items:center;justify-content:center;padding:24px}
.wl-brandmark img{width:min(100%,430px);height:auto}
.wl-intro-copy p:not(.wl-kicker){color:var(--wl-muted);font-size:1.06rem;line-height:1.75;margin:18px 0 0}

/* highlights */
.wl-highlights-head{display:grid;grid-template-columns:1fr .9fr;gap:56px;align-items:end;margin-bottom:38px}
.wl-highlights-head .wl-lead{margin:0}
.wl-highlight-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--wl-line);border-left:1px solid var(--wl-line)}
.wl-highlight{min-height:132px;padding:25px 24px;border-right:1px solid var(--wl-line);border-bottom:1px solid var(--wl-line);background:rgba(255,255,255,.42)}
.wl-highlight strong{display:block;font-family:Georgia,"Times New Roman",serif;font-size:1.22rem;font-weight:400;color:var(--wl-ink)}
.wl-highlight span{display:block;margin-top:7px;color:var(--wl-muted);font-size:.92rem;line-height:1.5}
.wl-program-note{margin:22px 0 0;color:var(--wl-muted);font-size:.92rem}

/* ticket */
.wl-ticket{display:grid;grid-template-columns:1.25fr .75fr;gap:42px;align-items:center;padding:46px 50px;background:#252121;color:white;box-shadow:var(--wl-shadow)}
.wl-ticket .wl-kicker{color:#d8bc8a}
.wl-ticket h2{margin:0;font-family:Georgia,"Times New Roman",serif;font-size:clamp(2rem,3.4vw,3.4rem);font-weight:400;line-height:1.08}
.wl-ticket-meta{margin:18px 0 0;color:#e9e1dc;line-height:1.7}
.wl-ticket-price{font-family:Georgia,"Times New Roman",serif;font-size:clamp(2rem,3vw,3.1rem);margin:0 0 6px;color:#f1dfbc}
.wl-ticket-side{text-align:right}
.wl-ticket-side .wl-btn{margin-top:18px}
.wl-ticket-small{margin:13px 0 0;color:#cbc0ba;font-size:.88rem;line-height:1.55}

/* exhibitors */
.wl-exhibitor-head{max-width:820px;margin-bottom:42px}
.wl-exhibitors{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}
.wl-exhibitor{background:var(--wl-white);border:1px solid var(--wl-line);box-shadow:0 12px 30px rgba(38,33,30,.04);overflow:hidden;display:flex;flex-direction:column}
.wl-exhibitor-media{height:300px;background:#ede8df;overflow:hidden;position:relative}
.wl-exhibitor-media--portrait{height:360px}
.wl-exhibitor-media>img.photo{width:100%;height:100%;object-fit:cover;object-position:center center}
.wl-exhibitor-media>img.photo--portrait-top{object-position:center 14%}
.wl-exhibitor-media>img.photo--aneta{object-position:center 28%}
.wl-exhibitor-media>img.photo--k7{object-position:center 18%}
.wl-exhibitor-media--logo{display:flex;align-items:center;justify-content:center;padding:46px;background:#fbfaf6}
.wl-exhibitor-media--logo img{max-width:72%;max-height:205px;object-fit:contain}
.wl-exhibitor-body{padding:27px 28px 29px;display:flex;flex-direction:column;flex:1}
.wl-category{margin:0 0 9px;color:var(--wl-sage);font-size:.76rem;font-weight:750;letter-spacing:.14em;text-transform:uppercase}
.wl-exhibitor h3{margin:0;font-family:Georgia,"Times New Roman",serif;font-size:1.75rem;font-weight:400;line-height:1.16}
.wl-exhibitor p{margin:14px 0 0;color:var(--wl-muted);line-height:1.67}
.wl-exhibitor-emphasis{color:var(--wl-wine-dark)!important;font-weight:650}
.wl-logo-strip{margin-top:auto;padding-top:22px;display:flex;align-items:center;min-height:70px}
.wl-logo-strip img{max-height:58px;max-width:220px;object-fit:contain;object-position:left center}
.wl-logo-strip img.logo-wide{max-height:48px;max-width:260px}
.wl-logo-strip img.logo-black{background:#0d0d0d;padding:7px 10px}

/* confirmed / forthcoming */
.wl-more{margin-top:54px;padding-top:42px;border-top:1px solid var(--wl-line)}
.wl-more h3{margin:0;font-family:Georgia,"Times New Roman",serif;font-size:1.9rem;font-weight:400}
.wl-more>p{color:var(--wl-muted);max-width:760px;margin:12px 0 24px}
.wl-pills{display:flex;flex-wrap:wrap;gap:10px}
.wl-pill{padding:11px 15px;border:1px solid #d6cec2;background:#fbf8f2;color:#48433e;font-size:.92rem}
.wl-pill b{font-weight:700;color:#2e2b28}

/* host */
.wl-host{display:grid;grid-template-columns:1fr 1fr;min-height:540px;background:#201d1e;color:white;overflow:hidden}
.wl-host-media img{width:100%;height:100%;object-fit:cover}
.wl-host-copy{padding:60px;align-self:center}
.wl-host-copy .wl-kicker{color:#d6bc8f}
.wl-host-copy h2{margin:0;font-family:Georgia,"Times New Roman",serif;font-size:clamp(2rem,3.3vw,3.45rem);font-weight:400;line-height:1.08}
.wl-host-copy p{color:#d6cfca;line-height:1.72;margin:20px 0 28px}

/* impressions */
.wl-impressions{display:grid;grid-template-columns:1.25fr .75fr;grid-template-rows:260px 260px;gap:14px;margin-top:38px}
.wl-impressions figure{margin:0;overflow:hidden;background:#ddd}
.wl-impressions figure:first-child{grid-row:1/3}
.wl-impressions img{width:100%;height:100%;object-fit:cover}
.wl-impressions figure:first-child img{object-position:center 46%}

/* final cta */
.wl-final{position:relative;min-height:530px;display:flex;align-items:center;overflow:hidden;background:#171414;color:white}
.wl-final img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 54%}
.wl-final::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(22,18,18,.86),rgba(22,18,18,.42) 58%,rgba(22,18,18,.15))}
.wl-final-copy{position:relative;z-index:2;max-width:650px}
.wl-final .wl-kicker{color:#e1cba3}
.wl-final h2{margin:0;font-family:Georgia,"Times New Roman",serif;font-size:clamp(2.1rem,4vw,4rem);font-weight:400;line-height:1.08}
.wl-final p{color:#e3dad5;margin:18px 0 28px;font-size:1.05rem}

/* faq */
.wl-faq{max-width:900px}
.wl-faq details{border-bottom:1px solid var(--wl-line);padding:0}
.wl-faq summary{cursor:pointer;list-style:none;padding:21px 0;font-family:Georgia,"Times New Roman",serif;font-size:1.25rem}
.wl-faq summary::-webkit-details-marker{display:none}
.wl-faq details p{margin:0 0 22px;color:var(--wl-muted);line-height:1.7}

.wedding-page .footer{background:#0d0c0d;color:#d7d0cb}

@media(max-width:900px){
  .wl-hero{min-height:650px}
  .wl-intro-grid,.wl-highlights-head,.wl-ticket,.wl-host{grid-template-columns:1fr}
  .wl-intro-grid{gap:30px}
  .wl-brandmark{padding:0 20px 16px}
  .wl-highlight-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .wl-ticket-side{text-align:left}
  .wl-exhibitors{grid-template-columns:1fr}
  .wl-host-copy{padding:42px 34px}
  .wl-host-media{height:420px}
  .wl-impressions{grid-template-columns:1fr 1fr;grid-template-rows:360px 220px}
  .wl-impressions figure:first-child{grid-column:1/3;grid-row:auto}
}
@media(max-width:640px){
  .wedding-page .wl-container{width:min(100% - 30px,1180px)}
  .wedding-page .wl-section{padding:66px 0}
  .wl-hero{min-height:610px}
  .wl-hero-media img{object-position:center 28%}
  .wl-hero-inner{padding:64px 0 55px}
  .wl-hero h1{font-size:clamp(2.55rem,13vw,4.1rem)}
  .wl-highlight-grid{grid-template-columns:1fr}
  .wl-ticket{padding:34px 26px}
  .wl-exhibitor-media{height:250px}
  .wl-exhibitor-media--portrait{height:300px}
  .wl-host-media{height:320px}
  .wl-host-copy{padding:38px 26px}
  .wl-impressions{display:grid;grid-template-columns:1fr;grid-template-rows:repeat(3,260px)}
  .wl-impressions figure:first-child{grid-column:auto;grid-row:auto}
  .wl-final{min-height:500px}
}
.wl-exhibitor-media>img.photo--melanie{object-position:center 34%}
.wl-exhibitor-media>img.photo--hintermair{object-position:center 18%}
/* individual image positioning – new exhibitors and cake impression */
.wl-exhibitor-media>img.photo--rathgeber{object-position:center 18%}
.wl-exhibitor-media>img.photo--dj{object-position:center 18%}
.wl-exhibitor-media>img.photo--jenny{object-position:center 52%}
.wl-impressions figure:nth-child(3) img{object-position:center top}
/* V17 – new exhibitors */
.wl-exhibitor-media>img.photo--florist{object-position:center 46%}
.wl-exhibitor-media>img.photo--vinum{object-position:center 36%}
.wl-exhibitor-media>img.photo--cake{object-position:center 24%}
@media(min-width:901px){
  .wl-exhibitors>.wl-exhibitor:last-child:nth-child(odd){grid-column:1/-1;width:calc(50% - 14px);justify-self:center}
}

/* V19 exhibitor image positioning */
.photo--burkhard{object-position:center 30%;}
.photo--doigbazler{object-position:center 32%;}
