/* Responsive corrections — no visual redesign */

@media (min-width:1600px){
  .site-header{padding-left:max(5vw,88px);padding-right:max(5vw,88px)}
  .section,.countdown,.dress,.rsvp{padding-left:max(10vw,180px);padding-right:max(10vw,180px)}
  .intro-grid,.gifts-inner{gap:min(11vw,220px)}
  .location-copy{padding-left:min(9vw,165px);padding-right:min(9vw,165px)}
  .hero-copy{left:max(8.2vw,140px)}
  .hero-caption{left:max(4.7vw,80px);right:max(4.7vw,80px)}
  .gallery{padding-left:max(4vw,72px);padding-right:max(4vw,72px)}
  .gallery-grid{grid-template-rows:360px 310px}
  .schedule article{grid-template-columns:20% 34% 1fr auto}
}

@media (min-width:1100px) and (max-width:1300px){
  .site-header{padding-left:3.5vw;padding-right:3.5vw}.site-header nav{gap:20px}
  .section{padding-left:8vw;padding-right:8vw}.location-copy{padding-left:5vw;padding-right:5vw}
  .schedule article{grid-template-columns:18% 36% 1fr auto}.detail{max-width:280px}
  .hero h1{font-size:clamp(105px,12.5vw,165px)}
}

@media (min-width:761px) and (max-width:1024px){
  .site-header{height:74px;padding-left:5vw;padding-right:5vw}.site-header nav{gap:16px}.site-header nav a{font-size:8px;letter-spacing:1.1px}
  .hero{min-height:660px}.hero-copy{left:7vw;width:72vw}.hero h1{font-size:clamp(96px,13vw,138px)}.hero h1 .line-two{margin-left:18vw}
  .section{padding:105px 7vw}.intro{padding-top:120px}.section-top{margin-bottom:55px}.intro-grid{gap:6vw}.intro h2,.section h2,.location h2,.dress h2,.rsvp h2{font-size:clamp(58px,8vw,78px)}
  .schedule article{grid-template-columns:16% 40% 1fr auto;gap:18px}.schedule-map{white-space:nowrap}
  .location{min-height:570px}.location-copy{padding:10vw 6vw}.info-grid{gap:4vw}.gallery{padding:100px 5vw}.gallery-grid{grid-template-rows:270px 225px}.rsvp{gap:7vw}.rsvp form{padding:25px}
}

@media (max-width:760px){
  .site-header{top:35px}.site-header.scrolled{top:0}.wordmark{letter-spacing:4px}
  .hero{min-height:620px}.hero-copy{top:49%}.hero h1{font-size:clamp(76px,24vw,118px)}.hero-date{max-width:250px;line-height:1.65}.hero-caption{align-items:end}.hero-caption span:last-child{text-align:right}
  .numbers{width:100%;justify-content:space-between;gap:3px}.numbers b{font-size:clamp(33px,10vw,44px)}.numbers i{font-size:20px}.numbers small{font-size:6px;letter-spacing:.7px}
  .intro-grid>div{max-width:520px}.intro .lead{font-size:25px}.section-top h2{margin-top:7px}.timeline-nav{padding-right:4px}.timeline-nav button{flex:0 0 auto}.schedule article{column-gap:13px}.schedule-date span{font-size:31px}.schedule h3{font-size:27px}.schedule article div p:last-child{line-height:1.55}.schedule-map{min-height:28px;display:flex;align-items:center}
  .location-image{height:min(64vw,440px)}.location-copy p:not(.eyebrow){margin:25px 0}.location-actions{row-gap:10px}.map-status{width:100%}
  .info-grid article{max-width:460px}.accommodation-head>p{margin:0}.hotel-list h3{font-size:27px}.dress{gap:50px}.swatches{width:100%}.swatches span{height:72px}.gifts-inner>div{max-width:470px}
  .gallery-top{padding-bottom:42px}.gallery-grid{grid-template-rows:220px 170px 170px}.gallery blockquote{font-size:20px}.faq summary{font-size:22px;gap:15px}.faq details{padding-top:17px;padding-bottom:17px}
  .rsvp{padding-bottom:95px}.rsvp form{width:100%}.choices{align-items:flex-start}.choices label{min-height:30px}.button{min-height:48px}.rsvp .button{align-self:flex-start}
  footer{padding-left:7vw;padding-right:7vw}.scroll-cue{display:none}
}

@media (max-width:430px){
  .notice{font-size:6.5px;letter-spacing:1.1px}.notice span{padding:0 6px}.notice button{right:9px}
  .site-header{padding-left:6vw;padding-right:6vw}.hero{min-height:590px}.hero-copy{left:6vw;width:88vw}.hero h1{font-size:clamp(69px,23vw,98px);letter-spacing:-3px}.hero h1 .line-two{margin-left:17vw}.hero h1 .ampersand{margin-left:12vw}.hero-date{font-size:7.5px;margin-top:26px}.hero-cta{margin-top:22px}.hero-caption{left:6vw;right:6vw;font-size:6px;letter-spacing:.85px}
  .section,.dress,.rsvp{padding-left:6vw;padding-right:6vw}.intro h2,.section h2,.location h2,.dress h2,.rsvp h2{font-size:clamp(52px,17vw,67px)}.intro .lead{font-size:23px}.intro p:not(.lead){font-size:12px}.countdown{padding:55px 6vw}.numbers b{font-size:clamp(29px,9.2vw,39px)}.numbers i{font-size:17px}.numbers small{font-size:5.5px}
  .timeline-nav{gap:14px}.timeline-nav button{font-size:8px;letter-spacing:1.1px}.schedule article{grid-template-columns:54px 1fr}.schedule-date{font-size:8px}.schedule-date span{font-size:27px}.schedule h3{font-size:24px}.schedule article div p:last-child{font-size:11px}.schedule-map{font-size:7.5px}.location-copy{padding-left:6vw;padding-right:6vw}.location-image{height:270px}.location-copy p:not(.eyebrow){font-size:12px}.text-link{font-size:8px;letter-spacing:1.2px}.hotel-list article{gap:16px}.hotel-list h3{font-size:24px}.place{font-size:8px;letter-spacing:1.15px}.circle-link{flex:0 0 auto}
  .gallery-grid{grid-template-rows:190px 145px 145px}.gallery blockquote{font-size:18px;padding:19px}.gallery cite{font-size:7px}.faq summary{font-size:20px}.faq details p{font-size:11.5px}.rsvp form{padding:20px 15px}.rsvp-copy>p:not(.eyebrow){font-size:12px}.choices label{font-size:11.5px}footer p,footer>a:not(.wordmark){font-size:7px}
}

@media (max-width:350px){
  .hero h1{font-size:65px}.numbers b{font-size:28px}.numbers i{font-size:14px}.numbers small{font-size:5px}.timeline-nav{gap:11px}.timeline-nav button{font-size:7px}.schedule article{grid-template-columns:48px 1fr}.schedule h3{font-size:22px}.gallery-grid{grid-template-rows:175px 130px 130px}
}

@media (orientation:landscape) and (max-height:650px) and (max-width:1000px){
  .hero{min-height:540px;height:calc(100vh - 35px)}.hero-copy{top:51%}.hero h1{font-size:clamp(70px,12vw,100px)}.hero-date{margin-top:22px}.hero-cta{margin-top:16px}.hero-caption{bottom:17px}.hero-edition{top:105px}
}
