@media(max-width:992px) {
    .venues {
        grid-template-columns: 1fr;
        max-width: 520px;
        margin: auto
    }

    .venue {
        padding: 32px
    }

    .family-grid {
        gap: 35px
    }
}

@media(max-width:768px) {
    .container {
        width: calc(100% - 40px)
    }

    .section {
        padding: 64px 0
    }

    .SectionHeading,
    .script-title {
        font-size: 52px
    }

    .SectionTitle {
        margin-bottom: 32px
    }

    .hero-scene {
        min-height: 740px;
        max-height: 1000px
    }

    .hero-copy h1 {
        font-size: 78px
    }

    .family-grid {
        max-width: 580px;
        gap: 24px
    }

    .family p {
        font-size: 16px
    }

    .family h3 {
        font-size: 51px
    }

    .event {
        gap: 46px
    }

    .event-art img {
        width: 110px;
        height: 130px
    }

    .event h3 {
        font-size: 23px
    }

    .gallery {
        gap: 14px
    }

    #WeddingFooter h2 {
        font-size: 56px
    }
}

@media(max-width:576px) {
    body {
        font-size: 17px;
        padding-bottom: 68px;
    }

    .section {
        padding: 55px 0
    }

    .hero-scene {
        height: 100svh;
        min-height: 690px;
        max-height: 950px
    }

    .hero-copy {
        padding: 110px 24px 155px
    }

    .hero-copy h1 {
        font-size: 70px;
        margin: 25px 0
    }

    .hero-copy h1 span {
        font-size: 36px;
        margin: 9px 0
    }

    .hero-copy>.SubTitle {
        font-size: 10px;
        display: none;
    }

    .hero-copy>p:nth-child(2) {
        font-size: 15px
    }

    .hero-copy>time {
        font-size: 18px
    }

    .hero-scroll {
        bottom: 75px
    }

    .SectionHeading,
    .script-title {
        font-size: 47px
    }

    .SectionTitle p {
        font-size: 16px
    }

    .SubTitle {
        font-size: 10px;
        letter-spacing: 2px
    }

    .welcome-copy {
        max-width: 310px
    }

    #Welcome {
        padding-top: 45px
    }

    .hero-family {
        max-width: 350px;
        margin-top: 24px
    }

    .countdown {
        gap: 27px
    }

    .countdown span {
        font-size: 33px
    }

    .countdown>div:not(:last-child):after {
        right: -17px;
        font-size: 23px
    }

    .countdown small {
        font-size: 8px;
        letter-spacing: .5px
    }

    .family-grid {
        grid-template-columns: 1fr;
        max-width: 320px;
        gap: 50px
    }

    .family p {
        font-size: 18px
    }

    .family h3 {
        font-size: 57px
    }

    .portrait {
        margin-bottom: 23px
    }

    .event {
        gap: 38px;
        padding: 12px 0 40px
    }

    .event h3 {
        font-size: 21px
    }

    .event-art img {
        width: 115px;
        height: 125px
    }

    .event time {
        font-size: 13px
    }

    .event-copy>p:not(.event-date) {
        font-size: 13px
    }

    .event-date {
        font-size: 12px;
        letter-spacing: .3px
    }

    .event:after {
        top: 42px
    }

    .text-link {
        font-size: 13px
    }

    .gallery {
        gap: 12px
    }

    .gallery-item {
        padding: 4px
    }

    .gallery-item:first-child img {
        aspect-ratio: 1.35
    }

    .venue {
        padding: 30px 20px
    }

    #WeddingFooter h2 {
        font-size: 49px
    }

    #WeddingFooter .container {
        width: 100%
    }

    #WeddingFooter .SubTitle {
        padding: 0 20px
    }

    #WeddingFooter time {
        font-size: 11px
    }

    .opening-names {
        font-size: 35px
    }

    dialog {
        padding: 60px 40px
    }

    dialog button {
        width: 34px;
        height: 40px;
        border-radius: 20px
    }

    #prevPhoto {
        left: 3px
    }

    #nextPhoto {
        right: 3px
    }
}

@media(max-width:390px) {
    .container {
        width: calc(100% - 32px)
    }

    .SectionHeading,
    .script-title {
        font-size: 43px
    }

    .hero-copy h1 {
        font-size: 64px
    }

    .event {
        gap: 32px
    }

    .event h3 {
        font-size: 19px
    }

    .event-art img {
        width: 100px;
        height: 115px
    }

    .event-copy>p:not(.event-date) {
        font-size: 12px
    }

    .countdown {
        gap: 24px
    }

    .countdown span {
        font-size: 30px
    }

    .opening-names {
        font-size: 31px
    }

    #WeddingFooter h2 {
        font-size: 44px
    }
}
@media (max-width: 390px) {
    #WeddingCountdown {
        padding: 11px 12px;
    }

    #WeddingCountdown .countdown {
        gap: 8px;
    }

    #WeddingCountdown .countdown span {
        font-size: 25px;
    }
}
@media (max-width: 390px) {
    #WeddingCountdown .countdown > div:not(:last-child)::after {
        right: -7px;
        font-size: 22px;
    }
}