/* Football Design 1 follows the first Home, About, Gallery and Thank You
   concepts in the design review. Guest photos and host text remain editable. */
.football-website-page {
    --football-green: #064b34;
    --football-deep: #123d34;
    --football-ink: #183b31;
    --football-gold: #b88931;
    --football-paper: #fffaf0;
    --football-line: #dfc996;
    background: #faf9f3;
}

.football-website-page .website-page-menu {
    position: relative;
    top: auto;
    z-index: 2;
    max-width: 940px;
    margin: 20px auto 0;
    padding: 14px 20px;
    gap: clamp(12px, 3vw, 40px);
    border: 1px solid #e5ddcc;
    border-radius: 16px 16px 0 0;
    background: var(--football-paper);
    box-shadow: 0 10px 30px #17392f0d;
}
.football-website-page .website-page-menu::before {
    content: "⚽";
    margin-right: auto;
    font-size: 1.3rem;
    line-height: 1;
}
.football-website-page .website-page-menu a {
    padding: 4px 0;
    color: var(--football-ink);
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(.85rem, 1.5vw, 1.05rem);
    white-space: nowrap;
}
.football-website-page .website-page-menu a[aria-current="page"] {
    border-bottom-color: var(--football-green);
}
.football-website-page .invitation {
    margin-top: 12px;
    margin-bottom: 28px;
    box-shadow: 0 18px 55px #132f2b19;
}
.football-opening-invitation {
    max-width: 940px;
    margin: 0 auto;
    padding: 0 20px 28px;
}
.football-opening-label {
    margin: 0 0 12px;
    color: var(--football-green);
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(1.35rem, 2.8vw, 1.85rem);
    text-align: center;
}
.football-website-page .website-rsvp {
    margin-top: 8px;
    border-color: var(--football-line);
    background: var(--football-paper);
}
.football-website-page .website-rsvp .button {
    background: var(--football-green);
    border-color: var(--football-green);
}

.website-section-football {
    max-width: 980px;
    padding: 24px 20px 62px;
}
.event-website.ew-user-arranged.ew-football {
    grid-template-columns: repeat(12, minmax(0, 1fr)) !important;
    grid-auto-rows: auto !important;
}
.ew-football {
    container-type: inline-size;
    position: relative;
    isolation: isolate;
    display: grid;
    align-items: stretch;
    gap: clamp(12px, 2cqi, 22px);
    overflow: hidden;
    width: 100%;
    padding: clamp(16px, 3cqi, 34px);
    border: 1px solid var(--football-line, #dfc996);
    border-radius: 22px;
    background:
        radial-gradient(circle at 8% 15%, #c49b3c33 0 2px, transparent 3px),
        radial-gradient(circle at 92% 30%, #c49b3c29 0 2px, transparent 3px),
        radial-gradient(circle at 28% 84%, #c49b3c30 0 2px, transparent 3px),
        linear-gradient(155deg, #fffdf7, #fbf5e7 72%, #e9f0e1);
    box-shadow: 0 24px 70px #17392f16;
}
.ew-football > * { position: relative; z-index: 1; }
.ew-football::after {
    position: absolute;
    inset: auto -4% -25px;
    z-index: 0;
    height: 100px;
    content: "";
    pointer-events: none;
    opacity: .22;
    background:
        repeating-linear-gradient(80deg, transparent 0 13px, #326347 14px 16px, transparent 17px 27px),
        linear-gradient(0deg, #579368, transparent 70%);
    clip-path: polygon(0 100%, 0 53%, 5% 69%, 9% 22%, 12% 70%, 17% 38%, 20% 72%, 26% 28%, 29% 68%, 35% 40%, 39% 75%, 44% 24%, 48% 69%, 54% 35%, 58% 70%, 64% 26%, 68% 71%, 73% 42%, 77% 73%, 83% 30%, 86% 72%, 92% 39%, 96% 69%, 100% 46%, 100% 100%);
}
.ew-football .website-box {
    min-width: 0;
    height: auto !important;
    min-height: 130px;
    margin: 0;
    padding: clamp(18px, 3cqi, 32px);
    overflow: hidden;
    overflow-wrap: break-word;
    word-break: normal;
    border: 1px solid #dcca9f;
    border-radius: 14px;
    background: #fffdf6;
    color: var(--football-ink, #183b31);
    box-shadow: 0 9px 22px #17392f12;
    animation: football-enter .65s both;
    animation-delay: calc(var(--box-index, 0) * 65ms);
}
.ew-football .website-box p { margin: 0; color: inherit; }
.ew-football .website-box .preserve { line-height: 1.55; }
.ew-football .website-box img,
.ew-football .website-box video {
    width: 100%;
    max-height: none;
    border-radius: 0;
}
.ew-football .website-box video { background: #101e1d; object-fit: contain; }
.ew-football .football-kicker,
.ew-football .football-box-label {
    display: block;
    color: #8e6727;
    font-family: Arial, Helvetica, sans-serif;
    font-size: .7rem;
    font-weight: 700;
    letter-spacing: .14em;
    line-height: 1.45;
    text-transform: uppercase;
}
.ew-football .football-box-label { margin-bottom: 12px !important; }
.ew-football .football-ball {
    display: grid;
    place-items: center;
    width: 55px;
    height: 55px;
    margin: 0 auto 10px;
    border: 1px solid #d9bc75;
    border-radius: 50%;
    background: #fffaf0;
    box-shadow: 0 5px 16px #775b2720;
    font-size: 1.65rem;
}
.ew-football .football-media-placeholder {
    display: grid;
    place-items: center;
    min-height: 220px;
    background: linear-gradient(145deg, #174436, #2d7053);
    color: #fff9e6;
    font-size: 4rem;
}
.ew-football .website-box:hover {
    box-shadow: 0 14px 30px #17392f22;
    transition: box-shadow .2s ease;
}
.ew-football .football-page-heading {
    grid-column: 1 / -1;
    padding: clamp(22px, 4cqi, 40px);
    text-align: center;
    color: var(--football-ink, #183b31);
}
.ew-football .football-page-heading .football-kicker {
    margin: 0 0 4px;
    color: #9a712d;
    letter-spacing: .08em;
    text-transform: none;
}
.ew-football .football-page-heading h2 {
    margin: 0 0 8px;
    color: var(--football-ink, #183b31);
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(2.2rem, 6cqi, 4.2rem);
    font-weight: 400;
    line-height: 1.06;
}
.ew-football .football-page-heading > p:last-child {
    max-width: 580px;
    margin: 0 auto;
    color: #53695a;
    font-size: clamp(.9rem, 1.9cqi, 1.05rem);
}
.ew-football .football-page-action {
    grid-column: 2 / 12;
    display: grid;
    justify-items: center;
    gap: 14px;
    padding: 4px 0 26px;
    text-align: center;
}
.ew-football .football-page-action .button {
    width: min(100%, 590px);
    min-height: 54px;
    border-color: var(--football-green, #064b34);
    border-radius: 999px;
    background: var(--football-green, #064b34);
    color: #fffdf6;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(1rem, 2.2cqi, 1.25rem);
}
.ew-football .football-page-action .button:hover { background: #136046; }
.ew-football .football-page-action small {
    color: #9c742e;
    font-family: Georgia, "Times New Roman", serif;
    font-size: .9rem;
    font-style: italic;
}

/* Home: photograph, overlapping invitation card, date and place. */
.ew-football-home { padding: 0 0 clamp(22px, 4cqi, 38px); }
.ew-football:not([data-website-preview]) > .website-box--home-photo {
    grid-column: 1 / -1 !important;
    grid-row: auto !important;
    order: -20;
    min-height: clamp(290px, 52cqi, 560px);
    padding: 0;
    border: 0;
    border-radius: 0;
    background: linear-gradient(125deg, #174c37, #0e3e4a);
    box-shadow: none;
}
.ew-football .website-box--home-photo img,
.ew-football .website-box--home-photo video {
    display: block;
    height: clamp(290px, 52cqi, 560px);
    object-fit: cover;
    object-position: center;
}
.ew-football .website-box--home-photo video { object-fit: contain; }
.ew-football .website-box--home-photo .football-box-label {
    position: absolute;
    z-index: 2;
    right: 22px;
    bottom: 24px;
    margin: 0 !important;
    padding: 8px 13px;
    border-radius: 999px;
    background: #0c442ed9;
    color: #fff9e9;
}
.ew-football:not([data-website-preview]) > .website-box--home-title {
    grid-column: 2 / 12 !important;
    grid-row: auto !important;
    order: -19;
    z-index: 3;
    min-height: 0;
    margin-top: -94px;
    padding: clamp(25px, 5cqi, 52px);
    border: 3px double #cfaa5a;
    border-radius: 18px;
    background: linear-gradient(145deg, #fffdf4, #f9edd0);
    box-shadow: 0 20px 35px #132f2b2c;
    text-align: center !important;
}
.ew-football-home:not(:has(.website-box--home-photo)) > .website-box--home-title {
    margin-top: 24px;
}
.ew-football .football-event-title {
    max-width: 100%;
    margin: 0;
    color: var(--football-ink, #183b31);
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(1.95rem, 5.5cqi, 4.3rem);
    font-weight: 400;
    line-height: 1.1;
    overflow-wrap: break-word;
}
.ew-football .football-age {
    margin: 8px 0 0 !important;
    color: #9a712d !important;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(1.3rem, 3cqi, 2rem);
}
.ew-football .football-title-rule {
    display: block;
    width: 82px;
    height: 2px;
    margin: 18px auto 0;
    background: #be964f;
}
.ew-football:not([data-website-preview]) > .website-box--home-time,
.ew-football:not([data-website-preview]) > .website-box--home-venue {
    grid-row: auto !important;
    order: -18;
    min-height: 110px;
    border: 0;
    background: transparent;
    box-shadow: none;
    text-align: center !important;
}
.ew-football:not([data-website-preview]) > .website-box--home-time { grid-column: 2 / 7 !important; }
.ew-football:not([data-website-preview]) > .website-box--home-venue { grid-column: 7 / 12 !important; }
.ew-football .website-box--home-time .preserve,
.ew-football .website-box--home-venue .preserve {
    color: var(--football-ink, #183b31);
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(1rem, 2.5cqi, 1.35rem);
}
.ew-football:not([data-website-preview]) > .website-box--home-story {
    grid-column: 2 / 12 !important;
    grid-row: auto !important;
    order: -17;
    border: 0;
    background: transparent;
    box-shadow: none;
    text-align: center !important;
}
.ew-football .website-box--home-story .preserve {
    max-width: 620px;
    margin: auto;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(1.08rem, 2.7cqi, 1.45rem);
}
.ew-football:not([data-website-preview]) > .website-box--home-note,
.ew-football:not([data-website-preview]) > .website-box--content {
    grid-column: 2 / 12 !important;
    grid-row: auto !important;
}

/* About: one large personal photo and a paper story panel. */
.ew-football:not([data-website-preview]) > .website-box--travel-photo {
    grid-column: 1 / -1 !important;
    grid-row: auto !important;
    order: -20;
    min-height: clamp(280px, 53cqi, 560px);
    padding: 0;
    border: 0;
    border-radius: 0;
    background: #123d34;
    box-shadow: none;
}
.ew-football .website-box--travel-photo img,
.ew-football .website-box--travel-photo video {
    height: clamp(280px, 53cqi, 560px);
    object-fit: cover;
}
.ew-football .website-box--travel-photo video { object-fit: contain; }
.ew-football .website-box--travel-photo .football-box-label { display: none; }
.ew-football-travel:not([data-website-preview]) > .football-page-heading {
    grid-column: 2 / 12;
    order: -19;
    z-index: 3;
    margin-top: -80px;
    border: 2px solid #dec48d;
    border-radius: 18px;
    background: var(--football-paper, #fffaf0);
    box-shadow: 0 15px 32px #17392f25;
}
.ew-football-travel:not(:has(.website-box--travel-photo)) > .football-page-heading {
    margin-top: 12px;
}
.ew-football:not([data-website-preview]) > .website-box--travel-note {
    grid-column: 2 / 12 !important;
    grid-row: auto !important;
    order: -18;
    border: 0;
    background: transparent;
    box-shadow: none;
    text-align: center !important;
}
.ew-football .website-box--travel-note .preserve {
    max-width: 680px;
    margin: auto;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(1.1rem, 2.6cqi, 1.45rem);
}
.ew-football:not([data-website-preview]) > .website-box--travel-venue,
.ew-football:not([data-website-preview]) > .website-box--travel-address {
    grid-row: auto !important;
    order: -17;
    min-height: 120px;
    background: #fffdf7;
}
.ew-football:not([data-website-preview]) > .website-box--travel-venue { grid-column: 2 / 7 !important; }
.ew-football:not([data-website-preview]) > .website-box--travel-address { grid-column: 7 / 12 !important; }
.football-map-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-top: 12px;
    color: var(--football-green, #064b34);
    font-size: .86rem;
    font-weight: 700;
    text-decoration: underline;
    text-underline-offset: 3px;
}

/* Gallery: a large lead image and a mosaic of editable memories. */
.ew-football-gallery { grid-template-columns: repeat(6, minmax(0, 1fr)) !important; }
.ew-football-gallery .football-page-heading {
    grid-column: 1 / -1;
    padding-bottom: 8px;
}
.ew-football-gallery .football-page-heading h2 { color: #9a712d; }
.ew-football:not([data-website-preview]) > .website-box--gallery-feature {
    grid-column: span 4 !important;
    grid-row: span 2 !important;
    min-height: 420px;
}
.ew-football:not([data-website-preview]) > .website-box--gallery-memory {
    grid-column: span 2 !important;
    grid-row: auto !important;
    min-height: 200px;
}
.ew-football .website-box--gallery-feature,
.ew-football .website-box--gallery-memory {
    padding: 0;
    border: 5px solid #fffdf5;
    border-radius: 12px;
    background: var(--football-deep, #123d34);
    box-shadow: 0 10px 25px #17392f30;
}
.ew-football .website-box--gallery-feature img,
.ew-football .website-box--gallery-feature video {
    height: 100%;
    min-height: 420px;
    object-fit: cover;
}
.ew-football .website-box--gallery-memory img,
.ew-football .website-box--gallery-memory video {
    height: 100%;
    min-height: 200px;
    object-fit: cover;
}
.ew-football .website-box--gallery-feature video,
.ew-football .website-box--gallery-memory video { object-fit: contain; }
.ew-football .website-box--gallery-feature .football-box-label,
.ew-football .website-box--gallery-memory .football-box-label {
    position: absolute;
    z-index: 2;
    right: 0;
    bottom: 0;
    left: 0;
    margin: 0 !important;
    padding: 22px 14px 10px;
    background: linear-gradient(transparent, #092c26b8);
    color: #fff;
    letter-spacing: .05em;
    text-align: left;
}
.ew-football:not([data-website-preview]) > .website-box--gallery-note {
    grid-column: 1 / -1 !important;
    grid-row: auto !important;
    min-height: 105px;
    border-color: #d6ba78;
    background: #f8edcf;
}
.football-website-page-gallery .website-section-football + .website-section-football {
    margin-top: -60px;
    padding-top: 0;
}
.football-memory-grid {
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 12px;
    padding: 16px;
    border: 1px solid var(--football-line, #dfc996);
    border-radius: 18px;
    background: #fff9eb;
    box-shadow: 0 20px 45px #17392f12;
}
.football-memory-grid img {
    grid-column: span 2;
    width: 100%;
    height: clamp(170px, 22vw, 280px);
    object-fit: cover;
    border: 4px solid #fffdf7;
    border-radius: 10px;
    box-shadow: 0 8px 20px #17392f25;
}
.football-memory-grid img:first-child { grid-column: span 4; height: clamp(220px, 32vw, 390px); }

/* Thank You: personal hero image with a wide gratitude card. */
.ew-football-gifts {
    background:
        radial-gradient(ellipse at 50% 0, #bd903670, transparent 45%),
        linear-gradient(145deg, #fffdf6, #f8edda);
}
.ew-football .football-thanks-hero,
.ew-football:not([data-website-preview]) > .website-box--thank-you-photo {
    grid-column: 1 / -1 !important;
    grid-row: auto !important;
    order: -20;
    min-height: clamp(280px, 52cqi, 520px);
    margin: calc(-1 * clamp(16px, 3cqi, 34px)) calc(-1 * clamp(16px, 3cqi, 34px)) 0;
    overflow: hidden;
    border: 0;
    border-radius: 0;
    background: linear-gradient(145deg, #245b42, #0b3840);
    box-shadow: none;
}
.ew-football .football-thanks-hero img,
.ew-football .website-box--thank-you-photo img,
.ew-football .website-box--thank-you-photo video {
    display: block;
    width: 100%;
    height: clamp(280px, 52cqi, 520px);
    object-fit: cover;
}
.ew-football .website-box--thank-you-photo video { object-fit: contain; }
.ew-football .website-box--thank-you-photo .football-box-label { display: none; }
.ew-football-gifts:not([data-website-preview]) > .football-page-heading {
    grid-column: 2 / 12;
    order: -19;
    z-index: 3;
    margin-top: -74px;
    border: 2px solid #dec48d;
    border-radius: 18px;
    background: #fffaf0;
    box-shadow: 0 16px 34px #17392f28;
}
.ew-football-gifts:not(:has(.football-thanks-hero, .website-box--thank-you-photo)) > .football-page-heading {
    margin-top: 12px;
}
.ew-football:not([data-website-preview]) > .website-box--thank-you-note {
    grid-column: 2 / 12 !important;
    grid-row: auto !important;
    order: -18;
    min-height: 0;
    padding: 16px clamp(20px, 5cqi, 48px);
    border: 0;
    background: transparent;
    box-shadow: none;
    text-align: center !important;
}
.ew-football .website-box--thank-you-note .football-box-label { color: #99712c; }
.ew-football .website-box--thank-you-note .preserve {
    max-width: 690px;
    margin: auto;
    color: var(--football-ink, #183b31);
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(1.15rem, 3cqi, 1.75rem);
}

.event-website.ew-user-arranged.ew-football[data-website-preview] {
    grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
    grid-auto-rows: minmax(130px, auto) !important;
    gap: 10px;
    padding: 14px;
}
.ew-football[data-website-preview] .website-box { min-height: 130px; }
.ew-football[data-website-preview] .website-box img,
.ew-football[data-website-preview] .website-box video { max-height: 360px; object-fit: contain; }
.ew-football[data-website-preview] .website-new-row-drop { z-index: 2; }

@container (max-width: 600px) {
    .ew-football:not([data-website-preview]) > .website-box--home-title,
    .ew-football:not([data-website-preview]) > .website-box--home-story,
    .ew-football:not([data-website-preview]) > .website-box--home-note,
    .ew-football:not([data-website-preview]) > .website-box--travel-note,
    .ew-football:not([data-website-preview]) > .website-box--thank-you-note,
    .ew-football:not([data-website-preview]) > .website-box--content {
        grid-column: 1 / -1 !important;
    }
    .ew-football:not([data-website-preview]) > .website-box--home-time,
    .ew-football:not([data-website-preview]) > .website-box--home-venue,
    .ew-football:not([data-website-preview]) > .website-box--travel-venue,
    .ew-football:not([data-website-preview]) > .website-box--travel-address {
        grid-column: 1 / -1 !important;
        min-height: 70px;
        padding: 6px 24px;
    }
    .ew-football-travel:not([data-website-preview]) > .football-page-heading,
    .ew-football-gifts:not([data-website-preview]) > .football-page-heading {
        grid-column: 1 / -1;
        margin-right: 14px;
        margin-left: 14px;
    }
    .ew-football:not([data-website-preview]) > .website-box--home-title { margin: -60px 14px 0; }
    .ew-football:not([data-website-preview]) > .website-box--gallery-feature {
        grid-column: 1 / -1 !important;
        grid-row: auto !important;
        min-height: 300px;
    }
    .ew-football:not([data-website-preview]) > .website-box--gallery-memory {
        grid-column: span 3 !important;
        min-height: 160px;
    }
    .ew-football .website-box--gallery-feature img,
    .ew-football .website-box--gallery-feature video { min-height: 300px; }
    .ew-football .website-box--gallery-memory img,
    .ew-football .website-box--gallery-memory video { min-height: 160px; }
    .ew-football .football-page-action { grid-column: 1 / -1; padding: 4px 22px 25px; }
}
@container (max-width: 390px) {
    .ew-football:not([data-website-preview]) > .website-box--gallery-memory { grid-column: 1 / -1 !important; }
    .ew-football .football-page-heading { padding: 22px 14px; }
    .ew-football .football-page-heading h2 { font-size: 2.2rem; }
    .ew-football .website-box--gallery-memory img,
    .ew-football .website-box--gallery-memory video { min-height: 230px; }
}
@media (max-width: 600px) {
    .football-opening-invitation { padding: 0 12px 24px; }
    .football-website-page .website-page-menu {
        justify-content: flex-start;
        flex-wrap: nowrap;
        gap: 18px;
        margin: 0;
        overflow-x: auto;
        border-radius: 0;
    }
    .football-website-page .website-page-menu::before { margin-right: 4px; }
    .website-section-football { padding: 15px 12px 45px; }
    .ew-football { border-radius: 16px; }
    .football-memory-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); padding: 9px; }
    .football-memory-grid img,
    .football-memory-grid img:first-child { grid-column: span 1; height: 180px; }
    .football-memory-grid img:first-child { grid-column: 1 / -1; height: 270px; }
}
@keyframes football-enter {
    from { opacity: 0; transform: translateY(16px); }
    to { opacity: 1; transform: translateY(0); }
}
@media (prefers-reduced-motion: reduce) {
    .ew-football .website-box { animation: none; transition: none; }
}

/* Classic Editorial family: calm paper, centred type and one clear story arc. */
.event-website.ew-classic { container-type:inline-size; width:min(100%,920px); margin:0 auto; padding:clamp(18px,4cqi,48px); gap:clamp(14px,2.5cqi,26px); border:1px solid #d9d3c4; border-radius:24px; background:linear-gradient(145deg,#fffdf8,#f5efe2); box-shadow:0 24px 70px #17392f18; }
.ew-classic>.website-box { border:0; border-radius:16px; background:transparent; color:#17392f; }
.ew-classic-home>.website-box:first-child { padding:clamp(20px,5cqi,56px) clamp(12px,4cqi,42px) 6px; text-align:center; }
.ew-classic-home>.website-box:first-child .preserve { font-family:Georgia,"Times New Roman",serif; font-size:clamp(2rem,6cqi,4.8rem); line-height:1.05; }
.ew-classic-home>.website-box:nth-child(2) { padding:0; overflow:hidden; background:#e9e2d3; }
.ew-classic-home>.website-box:nth-child(2) img { max-height:520px; border-radius:16px; }
.ew-classic-travel>.website-box:first-child,.ew-classic-gifts>.website-box:first-child { padding:clamp(22px,4cqi,48px); background:#fffdf8; }
.ew-classic-travel .preserve,.ew-classic-gifts .preserve { max-width:720px; margin:0 auto; line-height:1.75; }
.ew-classic-gallery { background:#17392f; }
.ew-classic-gallery>.website-box { color:#fffdf8; }
.ew-classic-gallery>.website-box img { border-radius:12px; }
.ew-classic-gallery>.website-box:first-child { grid-column:1/-1; }
@container (max-width:620px) { .ew-classic { border-radius:16px; padding:12px; } .ew-classic-home>.website-box:first-child .preserve { font-size:clamp(1.8rem,11cqi,3rem); } }

/* The remaining families reuse the same approved blocks with a distinct rhythm. */
.event-website.ew-split { width:min(100%,980px); margin:0 auto; gap:18px; }
.ew-split>.website-box:first-child { border-radius:22px 8px 8px 22px; background:linear-gradient(145deg,#e8eee5,#fffdf8); }
.ew-split>.website-box:nth-child(2n) { background:#fffdf8; }
.ew-editorial { width:min(100%,900px); margin:0 auto; padding:clamp(18px,4vw,54px); background:#f8f3e8; border-top:5px solid #17392f; }
.ew-editorial>.website-box { border:0; border-radius:0; background:transparent; }
.ew-editorial>.website-box:first-child .preserve { font:clamp(2rem,6vw,5rem)/1.02 Georgia,"Times New Roman",serif; }
.ew-editorial>.website-box:nth-child(2) { padding:0; }
.ew-editorial>.website-box:nth-child(2) img { max-height:560px; border-radius:4px; }
.ew-spotlight { width:min(100%,980px); margin:0 auto; padding:clamp(12px,3vw,34px); background:#17392f; border-radius:24px; }
.ew-spotlight>.website-box { border:0; background:#fffaf0; }
.ew-spotlight>.website-box:first-child { padding:0; overflow:hidden; }
.ew-spotlight>.website-box:first-child img { max-height:560px; border-radius:18px; }
.ew-spotlight>.website-box:nth-child(2) { text-align:center; }

/* Complete standard event website families. Football remains independently styled. */
.standard-invitation-card{padding:18px;background:#fffdf8;border:1px solid #d9dfd5;border-radius:22px 22px 0 0;text-align:center;margin-bottom:12px}
.standard-invitation-card iframe{display:block;width:100%;height:560px;border:0;border-radius:14px;background:#faf8f0;margin:12px 0}
.standard-invitation-card .eyebrow{margin:0;font-size:11px;letter-spacing:.2em}
.event-website:not(.ew-football){--ew-paper:#f9f4e9;--ew-ink:#264638;--ew-accent:#b49461;--ew-wash:#e9eadc;padding:clamp(18px,3vw,40px);gap:18px;border:1px solid color-mix(in srgb,var(--ew-accent) 35%,white);border-radius:24px;background:radial-gradient(ellipse at 100% 0,var(--ew-wash),transparent 55%),var(--ew-paper);color:var(--ew-ink);overflow:hidden}
.event-website[data-category="Wedding"]{--ew-paper:#fffbf3;--ew-ink:#4c5544;--ew-accent:#b99b6a;--ew-wash:#e6eadb}
.event-website[data-category="Baby"]{--ew-paper:#fdf7f2;--ew-ink:#54536b;--ew-accent:#be91a2;--ew-wash:#f0dfdd}
.event-website[data-category="Birthday & party"]{--ew-paper:#fff9ed;--ew-ink:#624334;--ew-accent:#c58b44;--ew-wash:#fae2af}
.event-website[data-category="Business"]{--ew-paper:#f4f6f9;--ew-ink:#23374b;--ew-accent:#829caf;--ew-wash:#dfe7ef}
.event-website[data-category="Christening & family"]{--ew-paper:#fffdf7;--ew-ink:#5e5541;--ew-accent:#bea875;--ew-wash:#f0e8cb}
.event-website[data-category="Holidays"]{--ew-paper:#fff9ef;--ew-ink:#425145;--ew-accent:#a85b4c;--ew-wash:#e4eadc}
.event-website[data-category="Graduation"]{--ew-paper:#fffaf0;--ew-ink:#303c55;--ew-accent:#b59650;--ew-wash:#e8e4d8}
.event-website[data-category="Entertaining"]{--ew-paper:#fcf5ed;--ew-ink:#5a374a;--ew-accent:#b27d76;--ew-wash:#ecd7da}
.event-website[data-category="Moving"]{--ew-paper:#f7faf3;--ew-ink:#365447;--ew-accent:#91a27d;--ew-wash:#e0e9d7}
.event-website:not(.ew-football)>.website-box{min-width:0;padding:24px;border-radius:16px;background:#ffffffcc;border:1px solid color-mix(in srgb,var(--ew-accent) 24%,white);box-shadow:0 8px 24px #172e2010;color:var(--ew-ink)}
.event-website:not(.ew-football)>.website-box>h3,.event-website:not(.ew-football)>.website-box>.football-box-label{color:var(--ew-ink);font-size:12px;font-family:Arial,sans-serif;font-weight:700;letter-spacing:.12em;text-transform:uppercase;margin:0 0 13px}
.event-website:not(.ew-football) .preserve{color:inherit;line-height:1.65;margin:0}
.event-website:not(.ew-football) img{width:100%;max-height:440px;object-fit:cover;border-radius:12px}
.ew-classic>.website-box:first-child{border-top:4px solid var(--ew-accent);padding-top:30px}
.ew-editorial>.website-box{border-radius:0!important;border-left:4px solid var(--ew-accent)!important;background:transparent!important;box-shadow:none!important}
.ew-editorial>.website-box:first-child{font-size:24px!important}
.ew-split>.website-box{display:grid;grid-template-columns:minmax(95px,1fr) 2fr;gap:20px;align-items:center;text-align:left!important}
.ew-split>.website-box>h3,.ew-split>.website-box>.football-box-label{margin:0!important;border-right:1px solid var(--ew-accent);padding-right:14px}
.event-website.ew-spotlight{background:radial-gradient(ellipse at top,#486359,#17392f);border-color:#17392f}
.ew-spotlight>.website-box:first-child{background:#fff9e8!important;border:2px solid var(--ew-accent)!important;border-radius:40px 40px 16px 16px!important;padding:35px!important}
.ew-gallery>.website-box,.ew-grid>.website-box,.ew-tiles>.website-box{border-radius:24px 6px 24px 6px!important;background:#fffdf9!important}
.ew-gallery>.website-box:nth-child(even),.ew-tiles>.website-box:nth-child(even){background:var(--ew-wash)!important}
.event-website:not(.ew-football) .website-new-row-drop{min-height:44px!important;padding:12px;opacity:.65;font-size:12px}
[data-freeform-editor] fieldset{border:1px solid #dde4d9;border-radius:14px;padding:16px;margin-bottom:14px}
[data-freeform-editor] legend{font-weight:700;padding:0 6px}
@media(max-width:640px){.standard-invitation-card iframe{height:470px}.event-website:not(.ew-football){padding:14px;gap:12px}.event-website:not(.ew-football)>.website-box{padding:18px}.ew-split>.website-box{display:block}.ew-split>.website-box>h3,.ew-split>.website-box>.football-box-label{border-right:0;padding:0;margin-bottom:12px!important}}


.event-website:not(.ew-football)>.website-box .preserve{font-family:inherit;font-size:inherit;line-height:1.65;letter-spacing:normal}
[data-freeform-editor] .standard-block-collapsed>:not(legend){display:none!important}
[data-standard-block-toggle]{display:flex;align-items:center;gap:12px;min-height:40px;font-weight:700!important;text-align:left}
[data-standard-block-toggle]::after{content:'−';font-size:20px}
[data-standard-block-toggle][aria-expanded="false"]::after{content:'+'}
[data-freeform-editor] .website-box-placement-controls{display:flex;flex-wrap:wrap;gap:8px}
[data-freeform-editor] .website-box-actions{display:flex;flex-wrap:wrap;gap:6px}
/* Luminous: a complete animated celebration composition, shared by all occasions. */
.luminous-heading{display:none}
[data-standard-style=luminous]{--lum-ink:#23483e;--lum-gold:#af8453;--lum-paper:#fffaf0;--lum-wash:#e5ebe0;background:var(--lum-paper);border-radius:28px;isolation:isolate;overflow:hidden}
[data-standard-style=luminous]:has([data-category=Baby]){--lum-wash:#f3e4e9;--lum-ink:#744c68}
[data-standard-style=luminous]:has([data-category=Business]){--lum-wash:#dde5ef;--lum-ink:#263d59}
[data-standard-style=luminous]:has([data-category="Birthday & party"]){--lum-wash:#f9e4d4;--lum-ink:#884839}
[data-standard-style=luminous]>.luminous-heading{display:flex;position:relative;flex-direction:column;align-items:center;justify-content:center;min-height:430px;padding:64px 28px 44px;text-align:center;overflow:hidden;background:radial-gradient(ellipse at 10% 5%,var(--lum-wash),transparent 64%),radial-gradient(ellipse at 95% 95%,#edddbc88,transparent 65%),var(--lum-paper);color:var(--lum-ink)}
.luminous-heading>*:not(.luminous-orbit):not(.luminous-bloom){z-index:1}
.luminous-heading h2{font-family:Georgia,serif;font-weight:400;font-size:clamp(32px,5vw,74px);line-height:1.08;max-width:850px;margin:20px 0;overflow-wrap:anywhere;animation:luminous-arrive 1.2s both}
.luminous-eyebrow{font-size:10px;font-weight:700;letter-spacing:.28em;text-transform:uppercase;margin:0;color:var(--lum-gold)}
.luminous-date{font-family:Georgia,serif;font-size:19px;margin:14px 0 6px}.luminous-place{font-size:13px;letter-spacing:.08em;margin:0}
.luminous-star{font-size:38px;color:var(--lum-gold);animation:luminous-turn 24s linear infinite}
.luminous-orbit{position:absolute;width:360px;height:480px;border:1px solid #af845348;border-radius:50% 50% 44% 44%;transform:rotate(-22deg);pointer-events:none}
.luminous-orbit:after{content:'';position:absolute;inset:-18px;border:1px solid #af845329;border-radius:inherit;transform:rotate(30deg)}
.luminous-bloom{position:absolute;font-family:Georgia,serif;font-size:260px;line-height:1;color:var(--lum-ink);opacity:.10;animation:luminous-sway 9s ease-in-out infinite alternate;pointer-events:none}
.luminous-bloom-left{left:-95px;bottom:-65px}.luminous-bloom-right{right:-100px;top:-60px;animation-delay:-4s;font-size:320px;color:var(--lum-gold)}
.luminous-rule{display:flex;align-items:center;gap:15px;width:140px;color:var(--lum-gold)}.luminous-rule:before,.luminous-rule:after{content:'';height:1px;background:currentColor;flex:1}
.luminous-motion{margin:25px 0 0;border:1px solid #af845355;border-radius:30px;background:transparent;color:var(--lum-ink);font-size:11px;padding:8px 14px;cursor:pointer}
[data-standard-style=luminous]>.standard-invitation-card{position:relative;margin:0 18px;padding:24px 16px;border:1px solid #b8955c70;border-radius:180px 180px 16px 16px;background:linear-gradient(145deg,#fffdf7,var(--lum-wash));box-shadow:0 22px 45px #24463c12}
[data-standard-style=luminous]>.standard-invitation-card iframe{border-radius:130px 130px 8px 8px;height:560px;background:#fffaf0}
[data-standard-style=luminous]>.standard-invitation-card>.eyebrow{margin:10px 0 22px;color:var(--lum-gold)}
[data-standard-style=luminous] .website-section{padding:28px 0}
.event-website.ew-luminous{counter-reset:luminous-section;background:var(--lum-paper,#fffaf0)!important;border:0!important;border-radius:0!important;padding:32px 24px!important;gap:18px!important;position:relative}
.event-website.ew-luminous>.website-box{counter-increment:luminous-section;position:relative;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;padding:30px 18px!important;min-height:110px;color:var(--lum-ink,#23483e);overflow:hidden}
.event-website.ew-luminous>.website-box:before{content:counter(luminous-section,decimal-leading-zero);display:block;font:italic 26px Georgia,serif;color:var(--lum-gold,#af8453);margin-bottom:14px;opacity:.7}
.event-website.ew-luminous>.website-box:nth-child(even){background:var(--lum-wash,#e5ebe0)!important;border-radius:60px 6px 60px 6px!important}
.event-website.ew-luminous>.website-box:nth-child(3n){border-top:1px solid #b8955c55!important;border-bottom:1px solid #b8955c55!important}
.event-website.ew-luminous>.website-box>h3,.event-website.ew-luminous .football-box-label{font-family:Arial,sans-serif!important;font-size:10px!important;font-weight:700;letter-spacing:.18em!important;color:var(--lum-gold,#af8453);text-transform:uppercase;margin-bottom:14px!important}
.event-website.ew-luminous .website-box img{width:100%;max-height:460px;object-fit:cover;border-radius:90px 90px 8px 8px}
[data-standard-style=luminous] .website-new-row-drop{margin:0;min-height:44px}
[data-standard-style=luminous][data-motion-paused=true] *{animation-play-state:paused!important}
@keyframes luminous-turn{to{transform:rotate(360deg)}}
@keyframes luminous-sway{from{transform:rotate(-12deg) translateY(0)}to{transform:rotate(12deg) translateY(12px)}}
@keyframes luminous-arrive{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:1000px){.website>[data-standard-style=luminous] .luminous-heading{min-height:520px}}
@media(max-width:600px){[data-standard-style=luminous]>.luminous-heading{min-height:350px;padding:45px 20px 28px}.luminous-heading h2{font-size:38px}.event-website.ew-luminous{padding:20px 12px!important}[data-standard-style=luminous]>.standard-invitation-card{margin:0 10px;padding:18px 10px}[data-standard-style=luminous]>.standard-invitation-card iframe{height:480px}}
@media(prefers-reduced-motion:reduce){[data-standard-style=luminous] *{animation:none!important;transition:none!important}.luminous-motion{display:none}}

/* Let the chosen invitation retain its complete rectangular artwork. */
[data-standard-style=luminous]>.standard-invitation-card{border-radius:16px;padding:16px;margin:0 12px}
[data-standard-style=luminous]>.standard-invitation-card iframe{border-radius:8px}

/* Standard home pages begin with the editable photo, followed by an
   editorial introduction and an uncluttered row of event facts. */
.event-website[data-website-page="home"]:is(.ew-classic,.ew-editorial,.ew-split,.ew-gallery,.ew-tiles,.ew-spotlight){grid-template-columns:repeat(6,minmax(0,1fr));gap:0;background:var(--ew-paper);border-radius:0;box-shadow:none}
.event-website[data-website-page="home"]:is(.ew-classic,.ew-editorial,.ew-split,.ew-gallery,.ew-tiles,.ew-spotlight)>.website-box{border:0!important;border-radius:0!important;box-shadow:none!important;background:transparent!important;display:block;text-align:left;min-width:0}
.event-website[data-website-page="home"]:is(.ew-classic,.ew-editorial,.ew-split,.ew-gallery,.ew-tiles,.ew-spotlight)>.website-box[data-content-mode="image"]:has(img){padding:0!important;overflow:hidden;height:clamp(290px,47vw,540px);background:var(--ew-wash)!important}
.event-website[data-website-page="home"]:is(.ew-classic,.ew-editorial,.ew-split,.ew-gallery,.ew-tiles,.ew-spotlight)>.website-box[data-content-mode="image"]:has(img)>img{display:block;width:100%;height:100%;max-height:none;border-radius:0;object-fit:cover;object-position:center 28%}
.event-website[data-website-page="home"]:is(.ew-classic,.ew-editorial,.ew-split,.ew-gallery,.ew-tiles,.ew-spotlight)>.website-box[data-source="description"]{padding:clamp(35px,5vw,70px) clamp(25px,7vw,110px)!important;border-bottom:1px solid var(--ew-accent)!important}
.event-website[data-website-page="home"]:is(.ew-classic,.ew-editorial,.ew-split,.ew-gallery,.ew-tiles,.ew-spotlight)>.website-box[data-source="description"] .preserve{font:400 clamp(2rem,4vw,3.7rem)/1.13 Georgia,serif;letter-spacing:-.035em;max-width:18em}
.event-website[data-website-page="home"]:is(.ew-classic,.ew-editorial,.ew-split,.ew-gallery,.ew-tiles,.ew-spotlight)>.website-box:is([data-source="starts_at"],[data-source="venue"],[data-source="address"]){padding:32px clamp(14px,3vw,35px)!important;border-bottom:1px solid var(--ew-accent)!important}
.event-website[data-website-page="home"]:is(.ew-classic,.ew-editorial,.ew-split,.ew-gallery,.ew-tiles,.ew-spotlight)>.website-box:is([data-source="starts_at"],[data-source="venue"],[data-source="address"]) .preserve{font:400 clamp(1.05rem,1.8vw,1.5rem)/1.4 Georgia,serif}
.event-website[data-website-page="home"]:is(.ew-classic,.ew-editorial,.ew-split,.ew-gallery,.ew-tiles,.ew-spotlight)>.website-box[data-source="details"]{padding:55px clamp(25px,7vw,110px)!important;background:var(--ew-wash)!important}
.event-website[data-website-page="home"]:is(.ew-classic,.ew-editorial,.ew-split,.ew-gallery,.ew-tiles,.ew-spotlight)>.website-box[data-source="details"] .preserve{max-width:680px;font:400 clamp(1.15rem,2vw,1.6rem)/1.6 Georgia,serif}
.event-website.ew-editorial[data-website-page="home"]>.website-box{border-left:0!important}
.event-website.ew-spotlight[data-website-page="home"]>.website-box[data-content-mode="image"]:has(img){border:0!important;padding:0!important}
@media(max-width:700px){.event-website[data-website-page="home"]:is(.ew-classic,.ew-editorial,.ew-split,.ew-gallery,.ew-tiles,.ew-spotlight)>.website-box{grid-column:1/-1!important;grid-row:auto!important}.event-website[data-website-page="home"]:is(.ew-classic,.ew-editorial,.ew-split,.ew-gallery,.ew-tiles,.ew-spotlight)>.website-box[data-content-mode="image"]:has(img){height:clamp(270px,75vw,430px)}.event-website[data-website-page="home"]:is(.ew-classic,.ew-editorial,.ew-split,.ew-gallery,.ew-tiles,.ew-spotlight)>.website-box:is([data-source="starts_at"],[data-source="venue"],[data-source="address"]){padding:20px 25px!important}}
