/* Every rule is scoped to temporary anniversary elements. */
.sts10-ribbon,.sts10-hero,.sts10-thanks,.sts10-splash,.sts10-preview { box-sizing:border-box; font-family:Arial,Helvetica,sans-serif; }
.sts10-ribbon { padding:13px 24px; text-align:center; background:#a9005b; color:#fff; font-size:14px; line-height:1.6; letter-spacing:.02em; }
.sts10-ribbon strong { margin-right:16px; letter-spacing:.12em; }
#masthead .site-branding img.sts10-header-logo { display:block; width:auto; height:96px; max-width:100%; object-fit:contain; margin:auto; }
#colophon img.sts10-footer-logo { display:block; width:110px; height:auto; max-width:100%; margin:0 auto; }
.sts10-hero { display:grid; grid-template-columns:160px minmax(0,620px); align-items:center; justify-content:center; gap:52px; padding:52px 32px; background:#fff; border-top:1px solid #eee7eb; border-bottom:1px solid #eee7eb; color:#191919; }
.sts10-hero img.sts10-hero-badge { width:160px; height:auto; display:block; }
.sts10-copy { max-width:660px; }
.sts10-copy p.sts10-eyebrow { font-family:Arial,Helvetica,sans-serif !important; font-size:10px; font-weight:700; letter-spacing:.16em; color:#a9005b; margin:0 0 12px; line-height:1.5; }
.sts10-copy h2 { font-family:Arial,Helvetica,sans-serif; color:#191919; font-weight:700; font-size:clamp(26px,2.5vw,36px); line-height:1.18; letter-spacing:-.035em; margin:0 0 16px; }
.sts10-copy p { font-family:Arial,Helvetica,sans-serif !important; font-size:15px; line-height:1.75; font-weight:400; margin:0; color:#635a60; max-width:570px; }
.sts10-thanks { text-align:center; background:#191419; color:#fff; padding:28px 24px; border-top:4px solid #ee1a92; }
.sts10-thanks strong { display:block; font-size:23px; line-height:1.3; margin-bottom:8px; }
.sts10-thanks p { font-size:14px; line-height:1.65; color:#f2e7ef; margin:0; }
.sts10-splash { position:absolute; z-index:3; left:24px; bottom:24px; display:flex; flex-direction:column; align-items:center; gap:10px; width:270px; max-width:calc(100% - 48px); padding:20px; border-radius:3px; border-bottom:4px solid #ee1a92; background:rgba(255,255,255,.96); color:#2b1722; text-align:center; text-decoration:none; }
.sts10-splash img { width:135px; height:auto; }
.sts10-splash span { font-size:14px; line-height:1.5; }
.sts10-splash strong { font-size:11px; letter-spacing:.08em; color:#a9005b; }
.sts10-splash:hover { color:#2b1722; background:#fff; text-decoration:none; }
.sts10-splash:focus-visible,.sts10-preview button:focus-visible { outline:3px solid #003878; outline-offset:4px; }
.sts10-preview { position:fixed; z-index:99999; bottom:12px; right:12px; max-width:calc(100% - 24px); padding:10px 14px; background:#151515; color:#fff; font-size:12px; line-height:1.6; box-shadow:0 2px 12px #0004; border:1px solid #fff; }
.sts10-preview button { background:#fff; color:#111; border:0; border-radius:2px; padding:5px 8px; margin-left:12px; cursor:pointer; font:inherit; }
@media(max-width:767px) {
    .sts10-ribbon { font-size:12px; padding:10px 16px; }
    .sts10-ribbon strong { display:block; margin:0 0 3px; }
    .sts10-hero { grid-template-columns:minmax(0,1fr); justify-items:center; gap:22px; padding:32px 24px 36px; text-align:center; }
    .sts10-hero img.sts10-hero-badge { width:112px; }
    .sts10-copy p { font-size:14px; }
    #masthead .site-branding img.sts10-header-logo { height:88px; }
    .sts10-splash { left:16px; bottom:16px; width:220px; padding:14px; }
    .sts10-splash img { width:100px; }
}

/* One anniversary statement on the homepage; retain the ribbon on interior pages. */

html.sts10-active #masthead .site-branding { height:auto !important; margin-top:18px; margin-bottom:18px; line-height:1; }
html.sts10-active #masthead .main-navigation a { font-family:Arial,Helvetica,sans-serif; font-size:11px; font-weight:600; letter-spacing:.025em; }
.sts10-copy h2 { text-wrap:balance; }
.sts10-thanks p,.sts10-thanks strong { font-family:Arial,Helvetica,sans-serif !important; }
.sts10-preview { padding:7px 10px; border:1px solid #ded9dd; border-radius:6px; background:#fff; color:#625b61; font-size:10px; box-shadow:0 2px 10px #0000000d; }
.sts10-preview button { background:#f1edf0; color:#332a30; margin-left:10px; padding:4px 7px; }
@media(max-width:767px) {
    html.sts10-active #masthead .site-branding { margin-top:16px; margin-bottom:16px; }
    .sts10-copy h2 { font-size:28px; max-width:330px; margin-left:auto; margin-right:auto; }
    .sts10-copy p { margin-left:auto; margin-right:auto; }
    .sts10-preview { bottom:8px; right:8px; max-width:calc(100% - 16px); }
}

.sts10-copy p { text-align:left !important; }
@media(max-width:767px) { .sts10-copy p { text-align:center !important; } }
.sts10-thanks p { text-align:center !important; }

/* Full-width anniversary feature. */
.sts10-hero { width:100%; max-width:none; grid-template-columns:minmax(180px,26%) minmax(0,1fr); gap:clamp(32px,5vw,96px); padding:64px 5vw; min-height:360px; background:#d6107f; border:0; color:#fff; }
.sts10-hero img.sts10-hero-badge { width:clamp(180px,19vw,320px); max-width:100%; justify-self:center; filter:brightness(0) invert(1); }
.sts10-copy { max-width:none; width:100%; }
.sts10-copy h2 { color:#fff; font-size:clamp(36px,4vw,64px); line-height:1.12; max-width:none; margin:0 0 22px; }
.sts10-copy p.sts10-eyebrow { color:#fff; font-size:12px; margin:0 0 18px; }
.sts10-copy p { color:#fff; font-size:clamp(18px,1.6vw,24px); line-height:1.6; max-width:none; }
@media(max-width:767px) {
    .sts10-hero { grid-template-columns:minmax(0,1fr); gap:28px; padding:42px 24px 46px; min-height:0; }
    .sts10-hero img.sts10-hero-badge { width:160px; }
    .sts10-copy h2 { font-size:36px; max-width:none; margin-bottom:20px; }
    .sts10-copy p.sts10-eyebrow { font-size:10px; }
    .sts10-copy p { font-size:18px; }
}

/* Compact anniversary bar above the site header. */
.sts10-ribbon { padding:8px 24px; background:#d6107f; font-size:12px; line-height:1.5; }
.sts10-ribbon strong { margin-right:14px; }
@media(max-width:767px) { .sts10-ribbon { padding:8px 16px; font-size:11px; } .sts10-ribbon strong { display:inline; margin-right:8px; } }

/* Compact footer feature, with colors protected from page-specific theme rules. */
html.sts10-active .sts10-hero { grid-template-columns:minmax(120px,18%) minmax(0,1fr); min-height:220px; padding:36px 5vw; gap:40px; }
html.sts10-active .sts10-hero img.sts10-hero-badge { width:clamp(120px,12vw,180px); }
html.sts10-active .sts10-hero .sts10-copy h2 { color:#fff !important; font-size:clamp(28px,2.8vw,40px); margin-bottom:14px; }
html.sts10-active .sts10-hero .sts10-copy p { color:#fff !important; }
html.sts10-active .sts10-hero .sts10-copy p:not(.sts10-eyebrow) { font-size:18px !important; line-height:1.6; }
html.sts10-active .sts10-hero .sts10-copy p.sts10-eyebrow { font-size:11px !important; margin-bottom:12px; }
.sts10-ribbon { font-size:14px; }
@media(max-width:767px) {
    html.sts10-active .sts10-hero { grid-template-columns:minmax(0,1fr); gap:20px; padding:30px 24px 34px; min-height:0; }
    html.sts10-active .sts10-hero img.sts10-hero-badge { width:112px; }
    html.sts10-active .sts10-hero .sts10-copy h2 { font-size:28px; }
    html.sts10-active .sts10-hero .sts10-copy p:not(.sts10-eyebrow) { font-size:16px !important; }
    html.sts10-active .sts10-hero .sts10-copy p.sts10-eyebrow { font-size:10px !important; }
    .sts10-ribbon { font-size:12px; }
}

/* Center the compact anniversary content and pair the top message with a badge. */
html.sts10-active .sts10-hero { grid-template-columns:140px minmax(0,820px); justify-content:center; gap:32px; }
html.sts10-active .sts10-hero .sts10-copy { text-align:center; }
html.sts10-active .sts10-hero .sts10-copy p { text-align:center !important; }
html.sts10-active .sts10-hero img.sts10-hero-badge { width:140px; }
.sts10-ribbon { display:flex; justify-content:center; align-items:center; gap:12px; }
.sts10-ribbon img.sts10-ribbon-icon { display:block; width:34px; height:28px; object-fit:contain; filter:brightness(0) invert(1); flex-shrink:0; }
.sts10-ribbon-copy { display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:4px 14px; }
.sts10-ribbon strong { margin:0; }
@media(max-width:767px) {
    html.sts10-active .sts10-hero { grid-template-columns:minmax(0,1fr); gap:20px; }
    html.sts10-active .sts10-hero img.sts10-hero-badge { width:112px; }
    .sts10-ribbon { gap:10px; }
    .sts10-ribbon-copy { flex-direction:column; gap:2px; }
    .sts10-ribbon img.sts10-ribbon-icon { width:38px; height:32px; }
    .sts10-ribbon strong { margin:0; }
}

/* Larger primary anniversary logo. */
#masthead .site-branding img.sts10-header-logo { height:124px; }
@media(max-width:767px) { #masthead .site-branding img.sts10-header-logo { height:108px; } }
