*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:"DM Sans",sans-serif;color:var(--dk-ink);background:var(--dk-bg);overflow-x:hidden}img{display:block;max-width:100%}a{color:inherit}.dkSite{min-height:100vh}.dkWrap{width:min(calc(100% - 36px),1180px);margin:auto}.dkSection{position:relative;padding:108px 0}.dkPaper{background-color:var(--dk-paper);background-image:radial-gradient(circle at 50% 34px,color-mix(in srgb,var(--dk-accent3) 20%,transparent) 0 7px,transparent 7.5px),repeating-linear-gradient(to bottom,transparent 0 64px,color-mix(in srgb,var(--dk-line) 65%,transparent) 64px 66px,transparent 66px 130px);background-size:100% 130px}.dkColor{background:var(--dk-bg);color:var(--dk-btn-text)}.dkSectionHead{max-width:800px;margin-bottom:46px}.dkNumber{font-size:12px;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:var(--dk-accent)}.dkColor .dkNumber{color:var(--dk-btn-text)}.dkTitle{font-family:"Prata",serif;font-size:clamp(42px,6vw,76px);line-height:1.04;font-weight:400;margin:12px 0 18px}.dkLead{font-size:clamp(17px,2vw,21px);line-height:1.7;color:var(--dk-muted);max-width:760px}.dkColor .dkLead{color:color-mix(in srgb,var(--dk-btn-text) 84%,transparent)}.dkHero{min-height:100svh;padding:36px 0 54px;display:grid;align-items:center;position:relative;overflow:hidden}.dkHero:before,.dkHero:after{content:"";position:absolute;border-radius:50%;opacity:.18}.dkHero:before{width:500px;height:500px;background:#fff;right:-190px;top:-190px}.dkHero:after{width:330px;height:330px;background:var(--dk-accent2);left:-170px;bottom:-130px}.dkHeroCard{position:relative;z-index:2;display:grid;grid-template-columns:1.02fr 1.18fr;min-height:680px;background:var(--dk-paper);box-shadow:0 22px 55px var(--dk-shadow);overflow:hidden}.dkHeroPhoto{position:relative;min-height:680px;overflow:hidden;background:var(--dk-paper2)}.dkMainPhoto{width:100%;height:100%;object-fit:cover;object-position:center 36%}.dkHeroStars{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;pointer-events:none}.dkHeroCopy{position:relative;padding:86px 62px 52px;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--dk-paper) url("lined-paper.svg") center top/100% auto repeat-y}.dkHeroBunting{position:absolute;top:0;left:0;width:100%;height:142px;object-fit:fill}.dkHeroHeart{width:34px;margin-bottom:10px}.dkTopLabel{margin-top: 20px; font-size:12px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--dk-accent2)}.dkHeroName{font-family:"Prata",serif;color:var(--dk-accent);font-size:clamp(60px,7vw,110px);line-height:.95;margin:10px 0 12px}.dkHeroAge{font-weight:800;color:var(--dk-accent2);font-size:clamp(22px,2.6vw,38px);letter-spacing:.12em;text-transform:uppercase}.dkHeroSubtitle{max-width:650px;line-height:1.65;color:var(--dk-muted);margin:18px 0 26px}.dkEventStrip{width:100%;display:grid;grid-template-columns:1fr 1.45fr 1fr;border-top:3px solid var(--dk-accent2);border-bottom:3px solid var(--dk-accent2);padding:18px 0}.dkEventStrip>div{padding:0 16px;display:flex;flex-direction:column;justify-content:center;min-height:90px}.dkEventStrip>div+div{border-left:2px solid var(--dk-accent2)}.dkEventStrip strong{font-size:clamp(20px,2.4vw,36px);line-height:1.1;color:var(--dk-accent);text-transform:uppercase}.dkEventStrip span{font-size:12px;font-weight:800;text-transform:uppercase;color:var(--dk-accent2)}.dkMiniBunting{width:84%;margin:28px auto 0}.dkHeroGift{position:absolute;left:-100px;bottom:-2px;width:155px}.dkHeroActions{display:flex;gap:12px;flex-wrap:wrap;justify-content:center;margin-top:24px}.dkBtn{display:inline-flex;align-items:center;justify-content:center;padding:14px 22px;border-radius:999px;text-decoration:none;border:0;font-weight:800;transition:.2s}.dkBtn:hover{transform:translateY(-2px)}.dkPrimary{background:var(--dk-accent2);color:var(--dk-btn-text)}.dkLight{background:var(--dk-soft);color:var(--dk-accent2)}.dkDetailsGrid{display:grid;grid-template-columns:.92fr 1.08fr;gap:76px;align-items:center}.dkPhotoStack{position:relative;min-height:570px}.dkPhoto{position:absolute;background:var(--dk-paper);padding:10px 10px 48px;box-shadow:0 26px 55px var(--dk-shadow);overflow:hidden}.dkPhoto img{width:100%;height:100%;object-fit:cover}.dkPhotoOne{width:72%;height:470px;left:0;top:34px;transform:rotate(-4deg)}.dkPhotoTwo{width:58%;height:355px;right:0;bottom:0;transform:rotate(6deg)}.dkBadge{position:absolute;right:7%;top:0;width:118px;height:118px;border-radius:50%;display:grid;place-items:center;text-align:center;background:var(--dk-accent2);color:var(--dk-btn-text);font-weight:800;transform:rotate(8deg)}.dkPhotoPlaceholder{width:100%;height:100%;display:grid;place-items:center;background:var(--dk-paper2);color:var(--dk-muted);font-weight:800}.dkStoryLead{font-size:22px;font-weight:800;color:var(--dk-accent2)}.dkStoryText{font-size:18px;line-height:1.75;color:var(--dk-muted)}.dkSchedule{border-top:2px solid color-mix(in srgb,var(--dk-accent2) 35%,transparent)}.dkScheduleItem{display:grid;grid-template-columns:140px 1fr 46px;gap:24px;align-items:center;padding:28px 0;border-bottom:2px solid color-mix(in srgb,var(--dk-accent2) 18%,transparent)}.dkScheduleTime{font-family:"Prata",serif;font-size:34px;color:var(--dk-accent)}.dkScheduleItem h3{font-size:24px;margin:0 0 6px}.dkScheduleItem p{margin:0;color:var(--dk-muted);line-height:1.6}.dkScheduleArrow{font-size:26px;color:var(--dk-accent2);text-align:right}.dkLocationGrid{display:grid;grid-template-columns:1.05fr .95fr;gap:36px}.dkLocationPhoto{min-height:430px;background:var(--dk-paper2);border:10px solid var(--dk-paper);box-shadow:0 22px 55px var(--dk-shadow);overflow:hidden}.dkLocationPhoto img{width:100%;height:100%;object-fit:cover}.dkLocationCard{padding:42px;background:var(--dk-paper);box-shadow:0 22px 55px var(--dk-shadow);color:var(--dk-ink)}.dkLocationCard h3{font-family:"Prata",serif;font-size:40px;color:var(--dk-accent);margin:0 0 18px}.dkLocationCard p{line-height:1.7;color:var(--dk-muted)}.dkDressGrid{display:grid;grid-template-columns:.8fr 1.2fr;gap:54px;align-items:center}.dkPalette{display:flex;justify-content:center;align-items:center;min-height:250px}.dkColorDot{width:112px;height:112px;border-radius:50%;border:8px solid color-mix(in srgb,var(--dk-paper) 70%,transparent);box-shadow:0 18px 35px var(--dk-shadow);margin-left:-18px}.dkColorDot:first-child{margin-left:0}.dkDressCard{background:color-mix(in srgb,var(--dk-paper) 15%,transparent);padding:38px;border:1px solid color-mix(in srgb,var(--dk-paper) 35%,transparent);border-radius:28px}.dkDressCard h3{font-size:28px;margin:0 0 14px}.dkDressCard p{line-height:1.7;color:color-mix(in srgb,var(--dk-btn-text) 86%,transparent)}.dkGallery{display:grid;grid-template-columns:1.15fr .85fr .85fr;grid-auto-rows:255px;gap:24px}.dkGallery a{display:block;padding:10px 10px 46px;background:var(--dk-paper);position:relative;overflow:hidden;box-shadow:0 22px 44px var(--dk-shadow);transition:.3s}.dkGallery a:first-child{grid-row:span 2}.dkGallery a:hover{transform:translateY(-7px)}.dkGallery img{width:100%;height:100%;object-fit:cover}.dkGiftBox{display:grid;grid-template-columns:220px 1fr;gap:42px;align-items:center;background:var(--dk-paper);padding:42px;box-shadow:0 22px 55px var(--dk-shadow)}.dkGiftBox img{width:190px;margin:auto}.dkGiftBox p{font-size:18px;line-height:1.75;color:var(--dk-muted);margin:0}.dkRsvpGrid{display:grid;grid-template-columns:.8fr 1.2fr;gap:54px;align-items:start}.dkRsvpDecor{width:min(300px,75%);margin:34px auto 0}.dkRsvpForm{background:var(--dk-paper);padding:38px;box-shadow:0 22px 55px var(--dk-shadow);color:var(--dk-ink)}.dkFooter{padding:34px;background:var(--dk-accent2);color:var(--dk-btn-text);text-align:center}.dkFooter b{display:block;font-family:"Prata",serif;font-size:30px}.dkFooter span{opacity:.75}.dkRsvpForm input,.dkRsvpForm textarea,.dkRsvpForm select{max-width:100%}@media(max-width:980px){.dkHeroCard{grid-template-columns:1fr}.dkHeroPhoto{min-height:560px}.dkHeroCopy{padding:112px 28px 46px}.dkDetailsGrid,.dkLocationGrid,.dkDressGrid,.dkRsvpGrid{grid-template-columns:1fr}.dkPhotoStack{min-height:530px}.dkGallery{grid-template-columns:1fr 1fr}.dkGallery a:first-child{grid-row:span 1;grid-column:span 2}.dkGiftBox{grid-template-columns:1fr;text-align:center}}@media(max-width:640px){.dkWrap{width:min(calc(100% - 22px),1180px)}.dkSection{padding:76px 0}.dkHero{padding:20px 0}.dkHeroPhoto{min-height:470px}.dkHeroCopy{padding:100px 18px 34px}.dkHeroName{font-size:58px}.dkHeroAge{font-size:20px}.dkEventStrip{grid-template-columns:1fr;padding:0}.dkEventStrip>div{min-height:72px;padding:14px}.dkEventStrip>div+div{border-left:0;border-top:1px solid var(--dk-accent2)}.dkHeroGift{display:none}.dkPhotoStack{min-height:450px}.dkPhotoOne{height:360px}.dkPhotoTwo{height:260px}.dkBadge{width:92px;height:92px;font-size:13px}.dkScheduleItem{grid-template-columns:88px 1fr 28px;gap:12px}.dkScheduleTime{font-size:25px}.dkPalette{min-height:160px}.dkColorDot{width:78px;height:78px;border-width:5px;margin-left:-15px}.dkGallery{grid-template-columns:1fr;grid-auto-rows:310px}.dkGallery a:first-child{grid-column:auto}.dkRsvpForm{padding:24px}.dkGiftBox{padding:28px}.dkGiftBox img{width:150px}}

.dkReady .dkSection,.dkReady .dkHeroCard{opacity:0;transform:translateY(24px);transition:opacity .75s ease,transform .75s ease}.dkReady .dkVisible{opacity:1;transform:none}

/* Details section: studio has no photo fields, so this block is text-only. */
.dkDetailsSection{overflow:hidden}
.dkDetailsOnly{display:flex;justify-content:center}
.dkDetailsContent{width:min(100%,920px);text-align:center;margin-inline:auto;padding:18px 0}
.dkDetailsContent .dkTitle{max-width:900px;margin-left:auto;margin-right:auto}
.dkDetailsContent .dkStoryLead{max-width:820px;margin:0 auto 18px}
.dkDetailsContent .dkStoryText{max-width:820px;margin:0 auto}
.dkDetailsContent .dkStoryText p{margin:0 0 14px}
.dkDetailsContent .dkStoryText p:last-child{margin-bottom:0}
@media(max-width:640px){.dkDetailsContent{padding:4px 0}.dkDetailsContent .dkStoryLead{font-size:19px}.dkDetailsContent .dkStoryText{font-size:16px}}


/* v2: left-aligned details and ruled schedule layout */
.dkDetailsOnly{
  display:block;
}
.dkDetailsContent{
  width:min(100%,900px);
  margin:0;
  padding:0;
  text-align:left;
}
.dkDetailsContent .dkTitle{
  max-width:900px;
  margin:12px 0 18px;
}
.dkDetailsContent .dkStoryLead{
  max-width:820px;
  margin:0 0 18px;
}
.dkDetailsContent .dkStoryText{
  max-width:820px;
  margin:0;
}

#schedule .dkSectionHead{
  max-width:none;
  margin-bottom:34px;
}
#schedule .dkTitle{
  max-width:900px;
}
.dkSchedule{
  position:relative;
  border-top:2px solid color-mix(in srgb,var(--dk-accent2) 38%,transparent);
  border-bottom:2px solid color-mix(in srgb,var(--dk-accent2) 24%,transparent);
}
.dkScheduleItem{
  position:relative;
  display:grid;
  grid-template-columns:140px minmax(0,1fr) 48px;
  gap:24px;
  min-height:122px;
  padding:26px 0;
  align-items:center;
  border-bottom:2px solid color-mix(in srgb,var(--dk-accent2) 18%,transparent);
}
.dkScheduleItem:last-child{
  border-bottom:0;
}
.dkScheduleItem::before{
  content:"";
  position:absolute;
  left:164px;
  top:0;
  bottom:0;
  width:1px;
  background:color-mix(in srgb,var(--dk-accent2) 22%,transparent);
}
.dkScheduleTime{
  position:relative;
  z-index:1;
  padding-right:24px;
  font-size:34px;
  line-height:1;
  color:var(--dk-accent);
}
.dkScheduleItem>div:nth-child(2){
  position:relative;
  z-index:1;
  padding-left:18px;
}
.dkScheduleItem>div:nth-child(2)::before{
  content:"";
  position:absolute;
  left:-31px;
  top:8px;
  width:9px;
  height:9px;
  border:2px solid color-mix(in srgb,var(--dk-accent2) 55%,transparent);
  border-radius:50%;
  background:var(--dk-paper);
}
.dkScheduleItem h3{
  margin:0 0 7px;
  font-family:"Prata",serif;
  font-size:clamp(20px,2vw,25px);
  line-height:1.25;
  font-weight:400;
  letter-spacing:.05em;
  text-transform:uppercase;
  color:var(--dk-accent2);
}
.dkScheduleItem p{
  max-width:720px;
  margin:0;
  color:var(--dk-muted);
  line-height:1.55;
}
.dkScheduleArrow{
  width:38px;
  height:38px;
  display:grid;
  place-items:center;
  justify-self:end;
  border:1px solid color-mix(in srgb,var(--dk-accent2) 28%,transparent);
  border-radius:50%;
  background:color-mix(in srgb,var(--dk-paper) 88%,transparent);
  color:var(--dk-accent2);
  font-size:11px;
  font-weight:900;
  letter-spacing:.1em;
}

@media(max-width:640px){
  .dkDetailsContent{
    padding:0;
  }
  .dkScheduleItem{
    grid-template-columns:76px minmax(0,1fr) 34px;
    gap:12px;
    min-height:104px;
    padding:20px 0;
  }
  .dkScheduleItem::before{
    left:88px;
  }
  .dkScheduleTime{
    padding-right:10px;
    font-size:24px;
  }
  .dkScheduleItem>div:nth-child(2){
    padding-left:10px;
  }
  .dkScheduleItem>div:nth-child(2)::before{
    left:-17px;
    top:7px;
    width:7px;
    height:7px;
  }
  .dkScheduleItem h3{
    font-size:17px;
    letter-spacing:.025em;
  }
  .dkScheduleItem p{
    font-size:14px;
    line-height:1.45;
  }
  .dkScheduleArrow{
    width:30px;
    height:30px;
    font-size:9px;
  }
}

/* v3: airy separation between details and schedule, theme-colored balloons */
.dkDetailsSection,
#schedule{
  background-image:none;
}

.dkDetailsSection{
  padding:92px 0 118px;
  background:
    radial-gradient(circle at 88% 18%, color-mix(in srgb,var(--dk-accent3) 12%,transparent) 0 120px, transparent 121px),
    linear-gradient(180deg,var(--dk-paper) 0%,color-mix(in srgb,var(--dk-paper2) 52%,var(--dk-paper)) 100%);
  border-top:1px solid color-mix(in srgb,var(--dk-ink) 8%,transparent);
  border-bottom:1px solid color-mix(in srgb,var(--dk-ink) 10%,transparent);
}
.dkDetailsOnly{display:block}
.dkDetailsContent{
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,1fr) 300px;
  gap:72px;
  align-items:center;
  width:100%;
  max-width:none;
  margin:0;
  padding:0;
  text-align:left;
}
.dkDetailsText{max-width:820px;position:relative;z-index:2}
.dkDetailsContent .dkNumber,
#schedule .dkNumber{
  color:var(--dk-accent2);
  letter-spacing:.2em;
}
.dkDetailsContent .dkTitle{
  max-width:760px;
  margin:14px 0 20px;
  font-size:clamp(46px,5.7vw,78px);
  color:var(--dk-ink);
}
.dkDetailsContent .dkStoryLead{
  max-width:720px;
  margin:0 0 18px;
  color:var(--dk-accent2);
  font-size:clamp(18px,2vw,24px);
  line-height:1.45;
}
.dkDetailsContent .dkStoryText{
  max-width:720px;
  margin:0;
  color:var(--dk-muted);
}
.dkDetailsBalloons{
  position:relative;
  width:280px;
  height:330px;
  justify-self:end;
}
.dkBalloon{
  position:absolute;
  width:88px;
  height:112px;
  border-radius:50% 50% 46% 46%;
  box-shadow:inset -12px -16px 24px color-mix(in srgb,#000 8%,transparent),0 20px 35px color-mix(in srgb,var(--dk-shadow) 45%,transparent);
  transform-origin:50% 100%;
}
.dkBalloon::before{
  content:"";
  position:absolute;
  left:50%;
  bottom:-10px;
  width:14px;
  height:14px;
  background:inherit;
  transform:translateX(-50%) rotate(45deg);
}
.dkBalloon::after{
  content:"";
  position:absolute;
  left:50%;
  top:calc(100% + 8px);
  width:1px;
  height:150px;
  background:color-mix(in srgb,var(--dk-ink) 24%,transparent);
  transform-origin:top;
}
.dkBalloonA{left:12px;top:74px;background:var(--dk-accent);transform:rotate(-8deg)}
.dkBalloonB{left:86px;top:18px;background:var(--dk-accent2);transform:rotate(4deg)}
.dkBalloonC{right:2px;top:82px;background:var(--dk-accent3);transform:rotate(9deg)}
.dkBalloonD{left:34px;top:182px;width:72px;height:92px;background:var(--dk-soft2);transform:rotate(-4deg)}
.dkBalloonE{right:42px;top:190px;width:72px;height:92px;background:color-mix(in srgb,var(--dk-accent) 62%,var(--dk-paper));transform:rotate(6deg)}

#schedule{
  padding:112px 0 126px;
  background:
    linear-gradient(180deg,color-mix(in srgb,var(--dk-paper2) 35%,var(--dk-paper)) 0%,var(--dk-paper) 100%);
  border-bottom:1px solid color-mix(in srgb,var(--dk-ink) 10%,transparent);
}
#schedule .dkSectionHead{
  max-width:100%;
  margin-bottom:40px;
  padding-bottom:22px;
  border-bottom:1px solid color-mix(in srgb,var(--dk-accent2) 22%,transparent);
}
#schedule .dkTitle{
  margin:10px 0 0;
  color:var(--dk-ink);
  font-size:clamp(38px,4.6vw,64px);
}
.dkSchedule{
  position:relative;
  border:0;
  display:grid;
  gap:14px;
}
.dkScheduleItem{
  position:relative;
  display:grid;
  grid-template-columns:130px minmax(0,1fr) 42px;
  gap:24px;
  align-items:center;
  min-height:112px;
  padding:24px 26px;
  border:1px solid color-mix(in srgb,var(--dk-accent2) 16%,transparent);
  border-radius:22px;
  background:color-mix(in srgb,var(--dk-paper) 94%,transparent);
  box-shadow:0 12px 30px color-mix(in srgb,var(--dk-shadow) 28%,transparent);
}
.dkScheduleItem::before{
  content:"";
  position:absolute;
  left:156px;
  top:24px;
  bottom:24px;
  width:1px;
  background:color-mix(in srgb,var(--dk-accent2) 20%,transparent);
}
.dkScheduleTime{
  padding-right:18px;
  color:var(--dk-accent2);
  font-size:clamp(28px,3vw,38px);
}
.dkScheduleItem>div:nth-child(2){position:relative;padding-left:8px}
.dkScheduleItem>div:nth-child(2)::before{
  content:"";
  position:absolute;
  left:-31px;
  top:9px;
  width:9px;
  height:9px;
  border-radius:50%;
  background:var(--dk-accent);
  box-shadow:0 0 0 6px color-mix(in srgb,var(--dk-accent) 13%,transparent);
}
.dkScheduleItem h3{
  margin:0 0 7px;
  font-family:"Prata",serif;
  font-size:clamp(19px,2vw,25px);
  line-height:1.25;
  font-weight:400;
  letter-spacing:.025em;
  text-transform:none;
  color:var(--dk-ink);
}
.dkScheduleItem p{margin:0;color:var(--dk-muted);line-height:1.55}
.dkScheduleArrow{
  width:36px;
  height:36px;
  display:grid;
  place-items:center;
  justify-self:end;
  border:1px solid color-mix(in srgb,var(--dk-accent2) 20%,transparent);
  border-radius:50%;
  background:var(--dk-soft2);
  color:var(--dk-accent2);
  font-size:10px;
  font-weight:900;
  letter-spacing:.08em;
}

@media(max-width:900px){
  .dkDetailsContent{grid-template-columns:minmax(0,1fr) 220px;gap:36px}
  .dkDetailsBalloons{width:210px;height:280px;transform:scale(.82);transform-origin:center right}
}
@media(max-width:640px){
  .dkDetailsSection,#schedule{padding:76px 0 84px}
  .dkDetailsContent{grid-template-columns:1fr;gap:28px}
  .dkDetailsBalloons{grid-row:1;width:210px;height:210px;justify-self:center;transform:scale(.72);transform-origin:center top;margin-bottom:-40px}
  .dkDetailsContent .dkTitle{font-size:clamp(42px,13vw,60px)}
  #schedule .dkSectionHead{margin-bottom:24px}
  .dkScheduleItem{grid-template-columns:82px minmax(0,1fr);gap:14px;padding:20px 18px;min-height:104px;border-radius:18px}
  .dkScheduleItem::before{left:103px;top:20px;bottom:20px}
  .dkScheduleTime{font-size:24px;padding-right:8px}
  .dkScheduleItem>div:nth-child(2){padding-left:12px}
  .dkScheduleItem>div:nth-child(2)::before{left:-20px;top:8px;width:7px;height:7px;box-shadow:0 0 0 4px color-mix(in srgb,var(--dk-accent) 13%,transparent)}
  .dkScheduleArrow{display:none}
  .dkScheduleItem h3{font-size:18px}
  .dkScheduleItem p{font-size:14px}
}

/* v4: align details with the common content grid and return schedule to ruled paper */
.dkDetailsSection{
  padding:104px 0 116px;
  background-color:var(--dk-paper);
  background-image:
    radial-gradient(circle at 50% 34px,color-mix(in srgb,var(--dk-accent3) 20%,transparent) 0 7px,transparent 7.5px),
    repeating-linear-gradient(to bottom,transparent 0 64px,color-mix(in srgb,var(--dk-line) 42%,transparent) 64px 65px,transparent 65px 130px);
  background-size:100% 130px;
  border-top:0;
  border-bottom:0;
}
.dkDetailsContent{
  grid-template-columns:minmax(0,1fr) 300px;
  gap:72px;
  align-items:center;
}
.dkDetailsText{
  grid-column:1;
  grid-row:1;
  max-width:790px;
  justify-self:start;
}
.dkDetailsBalloons{
  grid-column:2;
  grid-row:1;
  justify-self:end;
}
.dkDetailsContent .dkTitle{
  max-width:760px;
}

#schedule{
  padding:104px 0 116px;
  background-color:var(--dk-paper);
  background-image:
    radial-gradient(circle at 50% 34px,color-mix(in srgb,var(--dk-accent3) 20%,transparent) 0 7px,transparent 7.5px),
    repeating-linear-gradient(to bottom,transparent 0 64px,color-mix(in srgb,var(--dk-line) 42%,transparent) 64px 65px,transparent 65px 130px);
  background-size:100% 130px;
  border-bottom:0;
}
#schedule .dkSectionHead{
  max-width:800px;
  margin-bottom:34px;
  padding-bottom:0;
  border-bottom:0;
}
#schedule .dkTitle{
  margin:12px 0 18px;
  font-size:clamp(42px,6vw,76px);
}
.dkSchedule{
  display:block;
  border-top:1px solid color-mix(in srgb,var(--dk-accent2) 24%,transparent);
}
.dkScheduleItem{
  display:grid;
  grid-template-columns:132px minmax(0,1fr) 42px;
  gap:24px;
  align-items:center;
  min-height:118px;
  padding:24px 8px;
  border:0;
  border-bottom:1px solid color-mix(in srgb,var(--dk-accent2) 22%,transparent);
  border-radius:0;
  background:transparent;
  box-shadow:none;
}
.dkScheduleItem::before{
  left:144px;
  top:22px;
  bottom:22px;
  background:color-mix(in srgb,var(--dk-accent2) 20%,transparent);
}
.dkScheduleTime{
  color:var(--dk-accent);
  padding-right:20px;
}
.dkScheduleItem>div:nth-child(2){
  padding-left:14px;
}
.dkScheduleItem>div:nth-child(2)::before{
  left:-29px;
  top:10px;
  width:8px;
  height:8px;
  background:var(--dk-accent2);
  box-shadow:0 0 0 5px color-mix(in srgb,var(--dk-accent2) 12%,transparent);
}
.dkScheduleArrow{
  width:34px;
  height:34px;
  border-color:color-mix(in srgb,var(--dk-accent2) 24%,transparent);
  background:color-mix(in srgb,var(--dk-paper2) 58%,transparent);
}

@media(max-width:900px){
  .dkDetailsContent{grid-template-columns:minmax(0,1fr) 220px;gap:38px}
}
@media(max-width:640px){
  .dkDetailsSection,#schedule{padding:76px 0 84px}
  .dkDetailsContent{grid-template-columns:1fr;gap:24px}
  .dkDetailsText{grid-column:1;grid-row:1}
  .dkDetailsBalloons{grid-column:1;grid-row:2;justify-self:start;margin:0 0 -24px 6px;transform:scale(.66);transform-origin:left top}
  .dkScheduleItem{grid-template-columns:78px minmax(0,1fr);gap:14px;min-height:104px;padding:20px 4px}
  .dkScheduleItem::before{left:90px;top:18px;bottom:18px}
  .dkScheduleTime{font-size:23px;padding-right:8px}
  .dkScheduleItem>div:nth-child(2){padding-left:12px}
  .dkScheduleItem>div:nth-child(2)::before{left:-18px;top:8px}
}


/* Cover image visibility from Studio */
body[data-hero-image-enabled="0"] .hero-photo,
body[data-hero-image-enabled="0"] .hero-image,
body[data-hero-image-enabled="0"] .hero__photo,
body[data-hero-image-enabled="0"] .hero__image,
body[data-hero-image-enabled="0"] .cover-photo,
body[data-hero-image-enabled="0"] .cover-image,
body[data-hero-image-enabled="0"] [data-hero-photo],
body[data-hero-image-enabled="0"] [data-hero-image],
html[data-hero-image-enabled="0"] .hero-photo,
html[data-hero-image-enabled="0"] .hero-image,
html[data-hero-image-enabled="0"] .hero__photo,
html[data-hero-image-enabled="0"] .hero__image,
html[data-hero-image-enabled="0"] .cover-photo,
html[data-hero-image-enabled="0"] .cover-image,
html[data-hero-image-enabled="0"] [data-hero-photo],
html[data-hero-image-enabled="0"] [data-hero-image] {
  display: none !important;
}

body[data-hero-image-enabled="0"] .hero,
body[data-hero-image-enabled="0"] .hero__inner,
body[data-hero-image-enabled="0"] .cover,
body[data-hero-image-enabled="0"] .cover__inner,
html[data-hero-image-enabled="0"] .hero,
html[data-hero-image-enabled="0"] .hero__inner,
html[data-hero-image-enabled="0"] .cover,
html[data-hero-image-enabled="0"] .cover__inner {
  background-image: none !important;
}


/* Hero without cover photo */
body[data-hero-image-enabled="0"] .hero-photo,
body[data-hero-image-enabled="0"] .hero-image,
body[data-hero-image-enabled="0"] .hero__photo,
body[data-hero-image-enabled="0"] .hero__image,
body[data-hero-image-enabled="0"] .cover-photo,
body[data-hero-image-enabled="0"] .cover-image,
body[data-hero-image-enabled="0"] [data-hero-photo],
body[data-hero-image-enabled="0"] [data-hero-image],
html[data-hero-image-enabled="0"] .hero-photo,
html[data-hero-image-enabled="0"] .hero-image,
html[data-hero-image-enabled="0"] .hero__photo,
html[data-hero-image-enabled="0"] .hero__image,
html[data-hero-image-enabled="0"] .cover-photo,
html[data-hero-image-enabled="0"] .cover-image,
html[data-hero-image-enabled="0"] [data-hero-photo],
html[data-hero-image-enabled="0"] [data-hero-image] {
  display: none !important;
}

body[data-hero-image-enabled="0"] .hero,
body[data-hero-image-enabled="0"] .hero__inner,
body[data-hero-image-enabled="0"] .hero-inner,
body[data-hero-image-enabled="0"] .hero-grid,
body[data-hero-image-enabled="0"] .cover,
body[data-hero-image-enabled="0"] .cover__inner,
body[data-hero-image-enabled="0"] .cover-inner,
html[data-hero-image-enabled="0"] .hero,
html[data-hero-image-enabled="0"] .hero__inner,
html[data-hero-image-enabled="0"] .hero-inner,
html[data-hero-image-enabled="0"] .hero-grid,
html[data-hero-image-enabled="0"] .cover,
html[data-hero-image-enabled="0"] .cover__inner,
html[data-hero-image-enabled="0"] .cover-inner {
  background-image: none !important;
}

body[data-hero-image-enabled="0"] .hero-grid,
body[data-hero-image-enabled="0"] .hero__inner,
body[data-hero-image-enabled="0"] .hero-inner,
body[data-hero-image-enabled="0"] .cover-grid,
body[data-hero-image-enabled="0"] .cover__inner,
body[data-hero-image-enabled="0"] .cover-inner,
html[data-hero-image-enabled="0"] .hero-grid,
html[data-hero-image-enabled="0"] .hero__inner,
html[data-hero-image-enabled="0"] .hero-inner,
html[data-hero-image-enabled="0"] .cover-grid,
html[data-hero-image-enabled="0"] .cover__inner,
html[data-hero-image-enabled="0"] .cover-inner {
  grid-template-columns: minmax(0, 1fr) !important;
}

body[data-hero-image-enabled="0"] .hero-copy,
body[data-hero-image-enabled="0"] .hero-content,
body[data-hero-image-enabled="0"] .hero__content,
body[data-hero-image-enabled="0"] .hero-text,
body[data-hero-image-enabled="0"] .cover-copy,
body[data-hero-image-enabled="0"] .cover-content,
body[data-hero-image-enabled="0"] .cover__content,
html[data-hero-image-enabled="0"] .hero-copy,
html[data-hero-image-enabled="0"] .hero-content,
html[data-hero-image-enabled="0"] .hero__content,
html[data-hero-image-enabled="0"] .hero-text,
html[data-hero-image-enabled="0"] .cover-copy,
html[data-hero-image-enabled="0"] .cover-content,
html[data-hero-image-enabled="0"] .cover__content {
  width: min(100%, 760px) !important;
  max-width: 760px !important;
  margin-inline: auto !important;
  text-align: center !important;
  justify-self: center !important;
}

body[data-hero-image-enabled="0"] .hero,
body[data-hero-image-enabled="0"] .cover,
html[data-hero-image-enabled="0"] .hero,
html[data-hero-image-enabled="0"] .cover {
  min-height: auto !important;
  padding-top: clamp(72px, 9vw, 130px) !important;
  padding-bottom: clamp(72px, 9vw, 130px) !important;
}

@media (max-width: 760px) {
  body[data-hero-image-enabled="0"] .hero,
  body[data-hero-image-enabled="0"] .cover,
  html[data-hero-image-enabled="0"] .hero,
  html[data-hero-image-enabled="0"] .cover {
    padding-top: 64px !important;
    padding-bottom: 64px !important;
  }

  body[data-hero-image-enabled="0"] .hero-copy,
  body[data-hero-image-enabled="0"] .hero-content,
  body[data-hero-image-enabled="0"] .hero__content,
  body[data-hero-image-enabled="0"] .hero-text,
  body[data-hero-image-enabled="0"] .cover-copy,
  body[data-hero-image-enabled="0"] .cover-content,
  body[data-hero-image-enabled="0"] .cover__content,
  html[data-hero-image-enabled="0"] .hero-copy,
  html[data-hero-image-enabled="0"] .hero-content,
  html[data-hero-image-enabled="0"] .hero__content,
  html[data-hero-image-enabled="0"] .hero-text,
  html[data-hero-image-enabled="0"] .cover-copy,
  html[data-hero-image-enabled="0"] .cover-content,
  html[data-hero-image-enabled="0"] .cover__content {
    width: 100% !important;
    max-width: 100% !important;
    padding-inline: 20px !important;
  }
}


/* v4: hero without cover image */
.dkHeroCard--no-photo {
  grid-template-columns: minmax(0, 1fr);
  min-height: auto;
}

.dkHeroCard--no-photo .dkHeroCopy {
  min-height: 680px;
  width: 100%;
  padding-left: clamp(28px, 8vw, 110px);
  padding-right: clamp(28px, 8vw, 110px);
}

.dkHeroCard--no-photo .dkHeroSubtitle {
  max-width: 760px;
}

@media (max-width: 640px) {
  .dkHeroCard--no-photo .dkHeroCopy {
    min-height: 620px;
    padding-left: 20px;
    padding-right: 20px;
  }
}

/* Location photo toggle */
.dkLocationGrid.dkLocationGrid--no-photo{grid-template-columns:minmax(0,1fr)!important}
