.info-hero{
    position:relative;
    min-height:420px;
    display:flex;
    align-items:center;
    overflow:hidden;
    color:#fff;
    background:
        radial-gradient(
            circle at 82% 30%,
            rgba(255,255,255,.12),
            transparent 23%
        ),
        linear-gradient(
            135deg,
            #0a3d2a,
            #0b7442
        );
}

.info-hero::after{
    content:"";
    position:absolute;
    right:5%;
    top:50%;
    width:300px;
    height:300px;
    transform:translateY(-50%);
    border:1px solid rgba(255,255,255,.1);
    border-radius:50%;
    box-shadow:
        0 0 0 38px rgba(255,255,255,.025),
        0 0 0 76px rgba(255,255,255,.02);
}

.info-hero__overlay{
    position:absolute;
    inset:0;
    background:
        linear-gradient(
            90deg,
            rgba(4,31,21,.62),
            transparent 72%
        );
}

.info-hero__content{
    position:relative;
    z-index:2;
    padding-block:80px;
}

.page-eyebrow{
    display:inline-block;
    margin-bottom:10px;
    color:#c8ead7;
    text-transform:uppercase;
    letter-spacing:.16em;
    font-size:12px;
    font-weight:900;
}

.info-hero h1{
    margin:0;
    font:
        600 clamp(44px,7vw,78px)/1.02
        Georgia,
        serif;
}

.info-hero p{
    max-width:700px;
    margin:20px 0 0;
    color:rgba(255,255,255,.9);
    font-size:clamp(17px,2vw,21px);
}


.intro-section{
    padding:90px 0 70px;
}

.intro-grid{
    display:grid;
    grid-template-columns:.8fr 1.2fr;
    gap:70px;
    align-items:end;
}

.intro-title h2{
    margin:5px 0 0;
    font:
        600 clamp(34px,4vw,52px)/1.08
        Georgia,
        serif;
}

.intro-copy p{
    margin:0;
    color:var(--muted);
    font-size:18px;
    line-height:1.85;
}


.geography-section{
    padding:55px 0 100px;
}

.geography-grid{
    display:grid;
    grid-template-columns:.9fr 1.1fr;
    gap:70px;
    align-items:center;
}

.map-card{
    overflow:hidden;
    border:1px solid var(--line);
    border-radius:22px;
    background:#fff;
    box-shadow:var(--shadow);
}

.map-card__visual{
    position:relative;
    min-height:420px;
    overflow:hidden;
    background:
        linear-gradient(
            145deg,
            #e8f1ed,
            #dbe9e2
        );
}

.map-card__visual::before{
    content:"";
    position:absolute;
    inset:35px;
    opacity:.52;
    background:
        radial-gradient(
            ellipse at 40% 45%,
            #aabdb3 0 15%,
            transparent 15.5%
        ),
        radial-gradient(
            ellipse at 58% 42%,
            #aabdb3 0 13%,
            transparent 13.5%
        ),
        radial-gradient(
            ellipse at 48% 57%,
            #aabdb3 0 11%,
            transparent 11.5%
        );
    filter:blur(1px);
}

.map-card__continent,
.map-card__country{
    position:absolute;
    z-index:2;
    display:grid;
    place-items:center;
    border-radius:50%;
}

.map-card__continent{
    left:17%;
    top:20%;
    width:210px;
    height:210px;
    color:#6b7e74;
    border:1px solid rgba(107,126,116,.25);
    background:rgba(255,255,255,.55);
}

.map-card__country{
    right:17%;
    bottom:20%;
    width:110px;
    height:110px;
    color:#fff;
    background:var(--green);
    box-shadow:
        0 0 0 12px rgba(11,116,66,.12);
}

.map-card__continent span,
.map-card__country span{
    font-weight:900;
}

.map-card__caption{
    display:flex;
    flex-direction:column;
    padding:20px 22px;
}

.map-card__caption strong{
    font-family:Georgia,serif;
    font-size:20px;
}

.map-card__caption span{
    margin-top:3px;
    color:var(--muted);
    font-size:13px;
}

.geography-copy h2{
    margin:5px 0 0;
    font:
        600 clamp(33px,4vw,50px)/1.1
        Georgia,
        serif;
}

.geography-copy p{
    margin:20px 0 0;
    color:var(--muted);
    font-size:17px;
}


.quote-section{
    padding:80px 0;
    color:#fff;
    background:
        linear-gradient(
            135deg,
            #0a3f2b,
            #0b653c
        );
}

.quote-section blockquote{
    position:relative;
    width:min(920px,100%);
    margin:0 auto;
    padding-left:80px;
}

.quote-mark{
    position:absolute;
    left:0;
    top:-15px;
    color:#bce7cf;
    font:
        600 100px/1
        Georgia,
        serif;
}

.quote-section p{
    margin:0;
    font:
        400 clamp(22px,3vw,31px)/1.55
        Georgia,
        serif;
    color:rgba(255,255,255,.95);
}


.holidays-section{
    padding:100px 0;
    background:var(--soft);
}

.holiday-heading{
    align-items:end;
}

.holiday-heading > p{
    max-width:450px;
    margin:0;
    color:var(--muted);
}

.holidays-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:16px;
    margin-top:40px;
}

.holiday-card{
    display:grid;
    grid-template-columns:105px minmax(0,1fr);
    min-height:135px;
    overflow:hidden;
    border:1px solid var(--line);
    border-radius:17px;
    background:#fff;
    box-shadow:
        0 9px 28px
        rgba(20,52,40,.05);
}

.holiday-date{
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    color:#fff;
    background:var(--green);
}

.holiday-date strong{
    font:
        600 37px/1
        Georgia,
        serif;
}

.holiday-date span{
    margin-top:7px;
    text-transform:uppercase;
    letter-spacing:.09em;
    font-size:10px;
    font-weight:900;
}

.holiday-card > div:last-child{
    display:flex;
    flex-direction:column;
    justify-content:center;
    padding:20px 22px;
}

.holiday-card h3{
    margin:0;
    font:
        600 20px/1.25
        Georgia,
        serif;
}

.holiday-card p{
    margin:7px 0 0;
    color:var(--muted);
    font-size:14px;
}

.holiday-card--national{
    border-color:rgba(11,116,66,.25);
}

.holiday-card--national .holiday-date{
    background:
        linear-gradient(
            150deg,
            #0b7442,
            #075633
        );
}

.holiday-date--range strong{
    font-size:28px;
}

.holiday-card--easter{
    grid-column:1/-1;
}

.holiday-date--easter{
    background:#b32236;
}


.info-cta{
    padding:80px 0;
    color:#fff;
    background:#082f21;
}

.info-cta__inner{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:45px;
}

.info-cta .section-kicker{
    color:#bce7cf;
}

.info-cta h2{
    margin:5px 0 0;
    font:
        600 clamp(30px,4vw,46px)/1.1
        Georgia,
        serif;
}

.info-cta__links{
    display:flex;
    flex-wrap:wrap;
    justify-content:flex-end;
    gap:10px;
}

.info-cta__links a{
    min-height:44px;
    display:inline-flex;
    align-items:center;
    padding:0 16px;
    color:#fff;
    border:1px solid rgba(255,255,255,.24);
    border-radius:999px;
    background:rgba(255,255,255,.05);
    text-decoration:none;
    font-weight:800;
}


@media(max-width:950px){

    .intro-grid,
    .geography-grid{
        grid-template-columns:1fr;
        gap:38px;
    }

    .map-card{
        width:min(650px,100%);
        margin:auto;
    }

    .info-cta__inner{
        align-items:flex-start;
        flex-direction:column;
    }

    .info-cta__links{
        justify-content:flex-start;
    }

}


@media(max-width:720px){

    .info-hero{
        min-height:360px;
    }

    .map-card__visual{
        min-height:320px;
    }

    .map-card__continent{
        width:155px;
        height:155px;
    }

    .map-card__country{
        width:90px;
        height:90px;
    }

    .quote-section blockquote{
        padding-left:45px;
    }

    .quote-mark{
        font-size:70px;
    }

    .holidays-grid{
        grid-template-columns:1fr;
    }

    .holiday-card--easter{
        grid-column:auto;
    }

}


@media(max-width:520px){

    .intro-section,
    .geography-section,
    .holidays-section{
        padding-top:65px;
        padding-bottom:65px;
    }

    .holiday-card{
        grid-template-columns:82px minmax(0,1fr);
    }

    .holiday-date strong{
        font-size:30px;
    }

    .holiday-card h3{
        font-size:18px;
    }

}
