.invitation-page{padding-bottom:120px}
.invitation-section{
    width:min(calc(100% - 32px), var(--container));
    margin:0 auto 22px;
}
.invitation-card{
    background:rgba(255,255,255,.88);
    border:1px solid rgba(231,223,219,.9);
    border-radius:var(--radius-xl);
    padding:30px;
    box-shadow:var(--shadow);
    backdrop-filter:blur(8px);
}
.invitation-card--center{text-align:center}
.section-title{margin:0 0 18px;font-size:clamp(26px,3vw,40px);line-height:1.25}
.section-copy{font-size:16px;color:var(--sub);white-space:pre-line}

.invitation-hero{
    min-height:100svh;
    display:flex;
    align-items:center;
    justify-content:center;
    text-align:center;
    padding:120px 16px 64px;
    background:#d8d1ce center/cover no-repeat;
    position:relative;
    overflow:hidden;
}
.invitation-hero::before{
    content:"";
    position:absolute;
    inset:0;
    background:radial-gradient(circle at center, rgba(255,255,255,.12), rgba(0,0,0,.14));
}
.invitation-hero__inner{position:relative;z-index:1;max-width:760px;color:#fff}
.invitation-hero__kicker{margin:0 0 12px;font-size:12px;letter-spacing:.22em}
.invitation-hero__title{margin:0;font-size:clamp(38px,7vw,74px);line-height:1.08}
.invitation-hero__date{margin:18px 0 0;font-size:clamp(16px,2.4vw,24px)}
.invitation-hero__countdown{
    display:inline-block;
    margin:18px 0 0;
    padding:10px 18px;
    border-radius:999px;
    background:rgba(255,255,255,.16);
    border:1px solid rgba(255,255,255,.28);
    backdrop-filter:blur(10px);
}
.invitation-hero__lead{margin:22px auto 0;max-width:640px;font-size:15px;line-height:2;white-space:pre-line}
.invitation-hero__scroll{margin:34px 0 0;letter-spacing:.26em;font-size:11px;opacity:.88}

.profile-grid,
.info-grid,
.gallery-grid{display:grid;gap:16px}
.profile-grid{grid-template-columns:repeat(2,1fr)}
.info-grid{grid-template-columns:repeat(2,1fr)}
.gallery-grid{grid-template-columns:repeat(3,1fr)}
.profile-card,
.info-box{
    padding:22px;
    border-radius:var(--radius-lg);
    background:linear-gradient(180deg,#ffffff 0%, #fbf8f7 100%);
    border:1px solid var(--line);
}
.profile-card--wide,
.info-box--wide{grid-column:1 / -1}
.profile-card__role,
.info-box__label{margin:0 0 8px;color:var(--sub);font-size:12px;letter-spacing:.18em}
.profile-card h3{margin:0 0 14px;font-size:28px}
.profile-card__text,.info-box__value{white-space:pre-line;color:var(--text)}

.map-embed{margin-top:20px;border-radius:26px;overflow:hidden;box-shadow:var(--shadow)}
.gallery-grid__item{margin:0}
.gallery-grid__item img{display:block;width:100%;height:280px;object-fit:cover;border-radius:22px}
.guide-box{
    padding:22px;
    border-radius:var(--radius-lg);
    background:linear-gradient(180deg,#fff 0%, #fbf8f7 100%);
    border:1px dashed #d9cdc7;
    white-space:pre-line;
}
.rsvp-cta-box{
    padding:28px;
    border-radius:var(--radius-lg);
    background:linear-gradient(180deg,#fcfbfb 0%, #f4efee 100%);
    border:1px solid var(--line);
}
.floating-rsvp{
    position:fixed;
    left:50%;bottom:20px;
    transform:translateX(-50%);
    width:min(calc(100% - 24px), 420px);
    z-index:90;
}
.floating-rsvp .button-primary{width:100%}

body.post-type-archive-invitation .site-header,
body.single-invitation .site-header{background:rgba(255,255,255,.45)}

@media (max-width:960px){
    .gallery-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:768px){
    .invitation-card{padding:22px}
    .profile-grid,
    .info-grid,
    .gallery-grid{grid-template-columns:1fr}
    .gallery-grid__item img{height:220px}
    .invitation-hero{min-height:92svh;padding-top:96px}
    .section-title{font-size:30px}
}
