@media(max-width:980px){
  .primary-nav{gap:14px}.primary-nav a{font-size:.67rem}
  .hero h1{font-size:clamp(3.3rem,8vw,6rem)}
  .story-item{padding-right:35px}.story-item:nth-child(even){padding-left:35px}
  .event-actions .button{flex:1 1 auto}
  .gift-card{grid-template-columns:95px 1fr;gap:15px;padding:19px}.gift-card img{width:95px;height:95px}
}
@media(max-width:820px){
  html{scroll-padding-top:66px}
  .site-header{height:66px;padding:0 20px}
  .menu-toggle{position:relative;z-index:32;display:flex;flex-direction:column;justify-content:center;gap:5px;align-items:center;width:44px;height:44px;border:1px solid currentColor;background:transparent;color:inherit}
  .menu-toggle span{display:block;width:19px;height:1px;background:currentColor;transition:transform .2s,opacity .2s}
  .menu-toggle[aria-expanded=true] span:first-child{transform:translateY(6px) rotate(45deg)}
  .menu-toggle[aria-expanded=true] span:nth-child(2){opacity:0}
  .menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-6px) rotate(-45deg)}
  .primary-nav{display:none;position:absolute;top:66px;left:0;right:0;background:var(--paper);color:var(--ink);padding:15px 20px 22px;box-shadow:0 18px 25px rgba(42,31,23,.1)}
  .primary-nav.is-open{display:flex;flex-direction:column;align-items:stretch;gap:0}
  .primary-nav a{display:block;padding:10px 4px;border-bottom:1px solid var(--line);font-size:.82rem}
  .hero-content{padding-top:110px;padding-bottom:95px}
  .hero-shade{background:linear-gradient(0deg,rgba(20,17,16,.84),rgba(20,17,16,.34) 60%,rgba(20,17,16,.28)),linear-gradient(90deg,rgba(20,17,16,.18),transparent)}
  .hero h1{font-size:clamp(3rem,10vw,5rem);max-width:690px}
  .hero-amp{margin-left:1.8em}
  .intro-grid,.calendar-grid,.forms-layout{grid-template-columns:1fr;gap:43px}
  .intro-copy,.calendar-copy{max-width:650px}
  .intro-photo{max-width:650px;margin-inline:auto}.intro-photo img{aspect-ratio:5/4}
  .forms-intro{position:static;max-width:650px}.section-heading{margin-bottom:38px}
  .story-timeline{max-width:660px}.story-timeline:before{left:6px}.story-item,.story-item:nth-child(even){width:100%;margin-left:0;padding:0 0 30px 35px}.story-item:before,.story-item:nth-child(even):before{left:0;right:auto;top:21px}
  .story-card{display:grid;grid-template-columns:180px 1fr}.story-card img{height:100%;aspect-ratio:auto}.story-card-body{padding:22px}
  .event-grid{gap:18px}
  .gallery-grid{gap:10px}
}
@media(max-width:600px){
  body{font-size:14px}.container{width:min(calc(100% - 36px),var(--container))}.section{padding:76px 0}
  .hero{min-height:620px;min-height:100svh;align-items:flex-end}
  .hero-picture img{object-position:center 35%}.hero-content{padding-top:120px;padding-bottom:95px}
  .hero h1{font-size:clamp(2.7rem,12vw,4.2rem);line-height:1.13}.hero-amp{margin-left:1.25em}
  .hero-subtitle{max-width:350px}.hero-date{font-size:.72rem}.hero-eyebrow{font-size:.64rem}
  .scroll-cue{bottom:14px;left:20px;right:auto;transform:none}
  .intro-grid{gap:50px}.intro-photo img{aspect-ratio:4/5}.intro-photo:after{inset:14px -10px -14px 10px}.intro-photo figcaption{margin-top:30px}
  .couple-grid,.event-grid,.gift-grid{grid-template-columns:1fr}.couple-grid{gap:45px;max-width:460px}.person-image-wrap{aspect-ratio:4/4.8}
  .countdown-grid{gap:7px;margin-top:32px}.countdown-grid>div{min-height:92px}.countdown-grid strong{font-size:clamp(1.55rem,7vw,2.6rem)}.countdown-grid span{font-size:.57rem;letter-spacing:.03em}
  .calendar-card{padding:20px}.calendar-table td{height:44px}
  .story-card{display:block}.story-card img{height:auto;aspect-ratio:16/9}.story-card-body{padding:20px}
  .event-grid{max-width:480px;margin:auto}.event-body{padding:24px}.event-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.event-actions .button:first-child{grid-column:1/-1}
  .gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.gallery-tile,.gallery-tile:nth-child(2),.gallery-tile:nth-child(5){grid-column:span 1;aspect-ratio:4/5}.gallery-tile:nth-child(2){grid-column:span 2;aspect-ratio:16/10}.gallery-tile:nth-child(5){grid-column:span 2;aspect-ratio:16/10}
  .gallery-tile:after{opacity:1;transform:none;font-size:.65rem;left:9px;bottom:8px;padding:2px 7px;background:rgba(42,31,23,.68)}
  .form-panel{padding:24px}.radio-row{flex-direction:column}.radio-row label{min-height:46px}
  .gift-grid{max-width:480px}
  .music-button{right:max(28px,env(safe-area-inset-right));bottom:max(12px,env(safe-area-inset-bottom));padding-right:11px}.music-disc{width:36px;height:36px}.music-label{font-size:.64rem}
  .footer{padding-bottom:100px}
  .lightbox{padding:7px}.lightbox-dialog{height:95svh;grid-template-columns:37px minmax(0,1fr) 37px;gap:0}.lightbox-arrow{min-width:36px;font-size:2.4rem}.lightbox-dialog img{max-height:calc(100% - 85px)}
  .invitation-overlay{padding:22px 18px max(22px,env(safe-area-inset-bottom))}
  .invitation-intro>.eyebrow{font-size:.62rem;letter-spacing:.16em;margin-bottom:14px}
  .invitation-intro h2{margin-top:22px}
  .envelope{width:min(70vw,300px)}
}
@media(max-width:360px){
  .hero h1{font-size:2.55rem}.hero-amp{margin-left:1em}.hero-content{padding-bottom:90px}
  .event-actions{grid-template-columns:1fr}.event-actions .button:first-child{grid-column:auto}
  .gift-card{grid-template-columns:82px 1fr;padding:15px}.gift-card img{width:82px;height:82px}
  .countdown-grid strong{font-size:1.48rem}
}
@media(max-height:700px){
  .invitation-intro>.eyebrow{margin-bottom:10px}
  .envelope{width:min(58vw,250px)}
  .invitation-intro h2{margin:14px 0 5px}
  .invitation-date{margin-bottom:8px}
  .invitation-description{margin-bottom:12px}
}
