/* Local fonts; copyright and OFL notices are included in fonts/. */
@font-face {
    font-family: 'Barlow Condensed';
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url('fonts/BarlowCondensed-Bold.woff2') format('woff2'), url('fonts/BarlowCondensed-Bold.ttf') format('truetype');
}
/* Keep the complete original font for characters outside the Latin subset. */
@font-face {
    font-family: 'Inter';
    font-style: normal;
    font-weight: 100 900;
    font-display: swap;
    src: url('fonts/Inter-Variable.woff2') format('woff2');
    unicode-range: U+370-1CFF, U+1DC0-1DC9, U+1DCB-1DD2, U+1DF5-1DFF, U+1F00-1FFF, U+2070, U+2072-207E, U+2080-208F, U+209D-209F, U+20D0-20FF, U+2150-2183, U+2185-218F, U+2200-2211, U+2213-24B5, U+24D0-2C5F, U+2C80-A71F, U+A800-AB2F, U+AB70-FEFE, U+FFF0-FFFC, U+FFFE-1F12F, U+1F14A-10FFFF;
}
@font-face {
    font-family: 'Inter';
    font-style: normal;
    font-weight: 100 900;
    font-display: swap;
    src: url('fonts/Inter-Latin-Variable.woff2') format('woff2');
    unicode-range: U+0-36F, U+1D00-1DBF, U+1DCA, U+1DD3-1DF4, U+1E00-1EFF, U+2000-206F, U+2071, U+207F, U+2090-209C, U+20A0-20CF, U+2100-214F, U+2184, U+2190-21FF, U+2212, U+24B6-24CF, U+2C60-2C7F, U+A720-A7FF, U+AB30-AB6F, U+FEFF-FFEF, U+FFFD, U+1F130-1F149;
}
body.home.kwc-redesign #main-content .et_pb_section_0 { margin-top: 0 !important; padding-top: 0 !important; }
body.home.kwc-redesign #main-content .et_pb_row_0 { width: 100% !important; max-width: none !important; padding: 0 !important; }
.kwc-redesign .kwc2-home { color: var(--kwc2-ink); font-family: var(--kwc2-body); text-align: left; }

/* Club photography and the outlined lettering of the Wildcats matchday posters. */
.kwc-redesign .kwc2-hero {
    --kwc2-hero-foot-space: 32px;
    --kwc2-hero-block-space: clamp(32px, 3vw, 48px);
    position: relative;
    display: grid;
    isolation: isolate;
    width: calc(100% - 40px);
    max-width: 1560px;
    min-height: clamp(540px, 47vw, 710px);
    margin: 24px auto 0;
    color: #fff;
    background: #242729;
    border-radius: var(--kwc2-feature-radius);
    overflow: hidden;
}
.kwc-redesign .kwc2-hero__image,
.kwc-redesign .kwc2-hero__shade { position: absolute; inset: 0; width: 100%; height: 100%; }
/* Picture sources are metadata and must not create an extra row in the hero grid. */
.kwc-redesign .kwc2-hero source { display: none; }
.kwc-redesign .kwc2-hero__image { z-index: -2; object-fit: cover; object-position: 50% 38%; filter: brightness(.76); }
.kwc-redesign .kwc2-hero__shade { z-index: -1; pointer-events: none; background: linear-gradient(90deg, #090d11eb 0%, #090d11b8 43%, #090d1152 100%), linear-gradient(0deg, #090d11d1, transparent 68%); }
/* A round, heavily blurred shadow drifts across the fixed contrast layer. */
.kwc-redesign .kwc2-hero__shade::after {
    content: '';
    position: absolute;
    inset: 0;
    background: radial-gradient(circle closest-side, #0000005c 0%, #00000047 40%, transparent 100%);
    filter: blur(clamp(48px, 5vw, 88px));
    transform: translate(-28%, -22%);
    animation: kwc2-hero-shadow-drift 36s ease-in-out infinite;
}
@keyframes kwc2-hero-shadow-drift {
    0%, 100% { transform: translate(-28%, -22%); }
    25% { transform: translate(28%, -14%); }
    50% { transform: translate(20%, 26%); }
    75% { transform: translate(-25%, 18%); }
}
.kwc-redesign .kwc2-hero__playbook { position: absolute; top: 36px; right: 38px; width: clamp(250px, 29vw, 400px); height: auto; color: #fff; opacity: .38; pointer-events: none; }
.kwc2-hero__playbook-players { opacity: .7; }
.kwc2-hero__playbook-player { stroke-dasharray: 1; stroke-dashoffset: 0; animation: kwc2-playbook-draw .65s ease-in-out .15s both; }
.kwc2-hero__playbook-player:nth-child(2) { animation-delay: .35s; }
.kwc2-hero__playbook-player:nth-child(3) { animation-delay: .55s; }
.kwc2-hero__playbook-player:nth-child(4) { animation-delay: .75s; }
.kwc2-hero__playbook-player:nth-child(5) { animation-delay: .95s; }
.kwc2-hero__playbook-route { stroke-dasharray: 1; stroke-dashoffset: 0; animation: kwc2-playbook-draw 2.4s cubic-bezier(.35, 0, .2, 1) 1.8s both; }
.kwc2-hero__playbook-route--short { animation-duration: 1.6s; animation-delay: 2.1s; }
.kwc2-hero__playbook-tip { animation: kwc2-playbook-tip .3s ease-out 4.2s both; }
.kwc2-hero__playbook-tip--short { animation-delay: 3.7s; }
@keyframes kwc2-playbook-draw { from { stroke-dashoffset: 1; opacity: 0; } 1% { opacity: 1; } to { stroke-dashoffset: 0; opacity: 1; } }
@keyframes kwc2-playbook-tip { from { opacity: 0; } to { opacity: 1; } }
.kwc-redesign .kwc2-hero__inner {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    width: 100%;
    padding: clamp(32px, 4.2vw, 66px);
    padding-block: var(--kwc2-hero-block-space);
}
.kwc-redesign .kwc2-hero .kwc2-hero__eyebrow { margin: 0 0 25px; padding: 0; color: #ffffffe6; font: var(--kwc2-eyebrow-weight) var(--kwc2-eyebrow-size)/1.5 var(--kwc2-body); letter-spacing: .08em; text-transform: uppercase; }
.kwc-redesign .kwc2-hero h1 { margin: 0; padding: 0; color: #fff; font-family: 'Barlow Condensed', 'Arial Narrow', sans-serif; font-size: clamp(76px, 8.1vw, 122px); font-weight: 700; line-height: .94; letter-spacing: -.012em; text-transform: uppercase; }
.kwc-redesign .kwc2-hero h1 span { color: #17191b2b; -webkit-text-stroke: 2px var(--kwc2-red); }
.kwc-redesign .kwc2-hero .kwc2-hero__intro { max-width: 440px; margin: 24px 0 0; padding: 0; color: #fffffff0; font-size: var(--kwc2-text-size); line-height: 1.6; }
.kwc-redesign .kwc2-hero__actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 26px; }
.kwc-redesign .kwc2-home-button { display: inline-flex; align-items: center; justify-content: space-between; gap: 20px; min-height: var(--kwc2-button-height); max-width: 100%; padding: 12px 22px; border: 1px solid transparent; border-radius: 100px; color: #fff; font: 600 var(--kwc2-button-size)/1.5 var(--kwc2-body); letter-spacing: 0; text-decoration: none; transition: background-color .2s ease, border-color .2s ease; }
.kwc-redesign .kwc2-home-button--red { background: var(--kwc2-red); }
body.kwc-redesign.home #main-content .kwc2-home-button--red:hover { background: var(--kwc2-red-hover); color: #fff; }
.kwc-redesign .kwc2-home-button--ghost { border-color: #ffffff8a; background: #ffffff10; }
body.kwc-redesign.home #main-content .kwc2-home-button--ghost:hover { background: #ffffff26; border-color: #fff; color: #fff; }
.kwc-redesign .kwc2-home-button svg,
.kwc-redesign .kwc2-hero__foot a svg { width: var(--kwc2-arrow-size); height: var(--kwc2-arrow-size); flex: 0 0 var(--kwc2-arrow-size); }
.kwc-redesign .kwc2-hero a:focus-visible { outline: 3px solid #fff; outline-offset: 5px; }
.kwc-redesign .kwc2-hero__foot { display: flex; align-items: center; justify-content: space-between; width: 100%; gap: 20px; margin-top: var(--kwc2-hero-foot-space); padding-block: var(--kwc2-hero-foot-space) 0; border-top: 1px solid #ffffff36; font-size: 14px; font-weight: 450; letter-spacing: .01em; }
.kwc-redesign .kwc2-hero__honours { display: grid; gap: 6px; color: #ffffffdb; line-height: 1.6; }
.kwc-redesign .kwc2-hero__foot strong { color: #fff; font-weight: 650; margin-right: 7px; }
.kwc-redesign .kwc2-hero-social { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 12px; margin-top: 16px; }
.kwc-redesign .kwc2-hero-social__label { color: var(--kwc2-muted); font-size: 14px; line-height: 1.5; }
.kwc-redesign .kwc2-hero-social__account { display: inline-flex; align-items: center; gap: 8px; min-width: 0; text-align: left; }
.kwc-redesign .kwc2-hero-social__account > svg { width: 19px; height: 19px; flex: 0 0 19px; }
.kwc-redesign .kwc2-hero-social__account > span { min-width: 0; overflow-wrap: anywhere; }

/* Divi wrappers must not add a second gap between the homepage sections. */
body.kwc-redesign.home #main-content .et_pb_section:has(.upcoming-games),
body.kwc-redesign.home #main-content .et_pb_section:has(.home-cards) { margin: 0 !important; padding: 0 !important; }
body.kwc-redesign.home #main-content .et_pb_section:has(.upcoming-games) .et_pb_module,
body.kwc-redesign.home #main-content .et_pb_section:has(.home-cards) .et_pb_module { margin: 0 !important; }
body.kwc-redesign.home #main-content .upcoming-games,
body.kwc-redesign.home #main-content .et_pb_row:has(.home-cards) {
    width: calc(100% - 2 * var(--kwc2-gutter)) !important;
    max-width: var(--kwc2-width) !important;
    margin: 0 auto !important;
    padding: var(--kwc2-section-space) 0 0 !important;
}
body.kwc-redesign.home #main-content .et_pb_row:has(.home-cards) { padding-top: 32px !important; }
body.kwc-redesign.home #main-content .home-cards { margin: 0 !important; }
body.kwc-redesign.home #main-content .kwc2-home-news,
body.kwc-redesign.home #main-content .kwc2-home-standings,
body.kwc-redesign.home #main-content .kwc2-home-sponsors,
body.kwc-redesign.home #main-content .kwc2-gameday-wrap { padding-block: var(--kwc2-section-space) 0; }
body.kwc-redesign.home .kwc2-social { padding-block: var(--kwc2-section-space) calc(var(--kwc2-section-space) / 2); }
body.kwc-redesign.home .kwc2-contact-section { padding-top: calc(var(--kwc2-section-space) / 2); }
@media (max-width: 767px) {
    .kwc-redesign .kwc2-hero-social { display: grid; grid-template-columns: minmax(0, 1fr); gap: 10px; }
    .kwc-redesign .kwc2-hero-social > a { width: 100%; }
    .kwc-redesign .kwc2-hero-social__label { display: none; }
    .kwc-redesign .kwc2-hero { --kwc2-hero-foot-space: 24px; --kwc2-hero-block-space: 120px; width: calc(100% - 24px); min-height: 0; margin-top: 8px; border-radius: var(--kwc2-card-radius); }
    .kwc-redesign .kwc2-hero__image { object-position: 48% center; }
    .kwc-redesign .kwc2-hero__shade { background: linear-gradient(0deg, #0b1015f5 0%, #0b1015c7 48%, #0b101570 100%); }
    .kwc-redesign .kwc2-hero__inner { padding-inline: 25px; padding-bottom: 32px; }
    .kwc-redesign .kwc2-hero__playbook { width: clamp(160px, 36vw, 225px); top: 20px; right: 20px; }
    .kwc-redesign .kwc2-hero .kwc2-hero__eyebrow { margin-bottom: 22px; letter-spacing: .04em; }
    .kwc-redesign .kwc2-hero h1 { font-size: clamp(52px, 12.8vw, 90px); }
    .kwc-redesign .kwc2-hero h1 span { color: #15171880; -webkit-text-stroke-width: 1.4px; }
    .kwc-redesign .kwc2-hero .kwc2-hero__intro { margin-top: 20px; max-width: 340px; }
    .kwc-redesign .kwc2-hero__actions { gap: 10px; margin-top: 22px; }
    .kwc-redesign .kwc2-hero__foot { align-items: flex-start; flex-direction: column; gap: var(--kwc2-hero-foot-space); }
}
@media (max-width: 370px) {
    .kwc-redesign .kwc2-hero__inner { padding-inline: 20px; }
    .kwc-redesign .kwc2-hero h1 { font-size: 44px; }
}
@media (prefers-reduced-motion: reduce) {
    .kwc-redesign .kwc2-home-button { transition: none; }
    .kwc-redesign .kwc2-hero__shade::after { animation: none; }
    .kwc2-hero__playbook-player, .kwc2-hero__playbook-route, .kwc2-hero__playbook-tip { animation: none; }
}
@media (forced-colors: active) {
    .kwc-redesign .kwc2-hero h1 span { color: CanvasText; -webkit-text-stroke: 0; }
}
