.elementor-9 { overflow:hidden; font-family:Outfit,sans-serif; }
.elementor-9 *, .sf-dialog * {box-sizing:border-box;}
.elementor-9 [hidden]{display:none!important;}
.elementor-9 .wolves-dark :is(h1,h2,h3), .elementor-9 [data-sf="home"] :is(h1,h2,h3), .elementor-9 [data-sf="finale"] :is(h1,h2,h3) {color:#fff;}
.elementor-9 .wolves-light :is(h1,h2,h3), .elementor-9 .wolves-neutral :is(h1,h2,h3){color:#101713;}
.elementor-9 [data-sf="header"]{position:fixed;top:0;left:0;right:0;z-index:100;border-bottom:1px solid #ffffff30;transition:background .2s;}
.elementor-9 [data-sf="header"].sf-scrolled{background:#101713;}
.elementor-9 [data-sf]{scroll-margin-top:85px;}
.elementor-9 .wolves-card-caption{background:linear-gradient(0deg,#08150ee8,transparent);padding-top:65px;}
.sf-dialog .sf-dialog-close,.sf-dialog .sf-dialog-close:focus,.sf-dialog .sf-dialog-close:hover{background:#073c2b;color:#fff;border-radius:0;}
.elementor-9 [data-sf="program-record-copy"].sf-expanded{display:block;}
.elementor-9 [data-sf="hero-foot"]{border-top:1px solid #ffffff40;}
.elementor-9 [data-sf="hero-script"]{padding:0;display:flex;align-items:center;}
.elementor-9 [data-sf="the-fe"]{height:auto;max-height:none;object-fit:contain;}
.elementor-9 [data-sf="hero-wolf"]{object-position:right bottom;}
.elementor-9 [data-sf="seniors-heading-title"]{white-space:nowrap;}
.elementor-9 [data-sf="seniors-heading-title"] span{font-size:.22em;letter-spacing:0;}
.elementor-9 [data-sf="seniors-heading-left"]{flex-shrink:0;}
.elementor-9 .wolves-section-heading> :last-child {flex-shrink:0;}
.elementor-9 .wolves-photo-rail{scrollbar-width:none;scroll-behavior:auto;}
.elementor-9 .wolves-photo-rail::-webkit-scrollbar{display:none;}
.elementor-9 :is(.wolves-senior-card,.wolves-coach-card){flex:0 0 26%;min-width:245px;}
.elementor-9 .wolves-senior-card{cursor:pointer;}
.elementor-9 [data-sf^="senior-number-"] sup{font-size:.32em;vertical-align:top;line-height:1.6;}
.elementor-9 [data-sf^="champ-photo-"]{filter:grayscale(1);}
.elementor-9 [data-sf^="record-"]{border-top:1px solid #a9bbae;}
.elementor-9 [data-sf^="up-next-"]{border-bottom:1px solid #dce4df;}
.elementor-9 [data-sf^="full-schedule-"]{border-top:1px solid #dce4df;text-align:left;}
.elementor-9 [data-sf^="media-tile-"]{cursor:pointer;}
.elementor-9 [data-sf^="filter-"][aria-pressed="true"]{background:#fff;color:#073c2b;}
.elementor-9 [data-sf="brand"]{cursor:pointer;}
.elementor-9 :is(button,a,[tabindex]):focus-visible{outline:3px solid #7cac8d;outline-offset:5px;}
.elementor-9 [data-sf="film-controls"]{right:5vw;bottom:24px;}
.elementor-9 [data-sf="hero-foot"]{padding-right:150px;}
.elementor-9 [data-sf="media-empty"]{display:block;padding:40px 0;}
.sf-skip{position:fixed;left:20px;top:-100px;padding:15px;background:#fff;color:#073c2b;z-index:9999;}.sf-skip:focus{top:15px;}
.sf-dialog{border:0;background:#eff2ef;color:#101713;padding:24px;width:min(820px,92vw);max-height:90vh;overflow:auto;font-family:Outfit,sans-serif;}
.sf-dialog::backdrop{background:#07130ee8;}
.sf-dialog img{display:block;width:100%;max-height:65vh;object-fit:contain;margin:15px auto;}
.sf-dialog h2{font-family:'Barlow Condensed',sans-serif;font-size:clamp(28px,5vw,48px);color:#101713;margin:18px 0 8px;}
.sf-dialog p{line-height:1.6;}
.sf-dialog-close{display:block;margin-left:auto;background:#073c2b;color:#fff;border:0;padding:12px 18px;cursor:pointer;}
@media(max-width:1024px){
 .elementor-9 [data-sf="navigation"]{display:none;position:absolute;top:100%;left:0;right:0;width:auto;background:#101713;padding:20px 5vw;flex-direction:column;align-items:stretch;gap:8px;}
 .elementor-9 [data-sf="navigation"].sf-open{display:flex;}
 .elementor-9 [data-sf="menu-toggle"]{display:block;}
 .elementor-9 [data-sf="hero-wolf"]{max-width:45vw;height:auto;width:45vw;}
 .elementor-9 [data-sf="hero-message"]{max-width:48%;}
 .elementor-9 [data-sf="seniors-heading-title"]{font-size:19vw;}
 .elementor-9 .wolves-section-heading{flex-wrap:wrap;}
}
@media(max-width:767px){
 .elementor-9 [data-sf="home"],.elementor-9 [data-sf="hero-content"]{height:780px;min-height:780px;}
 .elementor-9 [data-sf="hero-script"]{top:100px;left:22px;width:47vw;height:130px;}
 .elementor-9 [data-sf="the-fe"]{transform:scale(1.5);}
 .elementor-9 [data-sf="hero-copy"]{left:22px;right:22px;bottom:90px;width:auto;}
 .elementor-9 [data-sf="hero-location"]{font-size:9px;}
 .elementor-9 [data-sf="hero-title"]{font-size:22vw;}
 .elementor-9 [data-sf="hero-bottom"]{gap:24px;margin-top:25px;}
 .elementor-9 [data-sf="hero-standard"]{font-size:32px;}
 .elementor-9 [data-sf="hero-message"]{max-width:none;width:100%;}
 .elementor-9 [data-sf="hero-wolf"]{width:43vw;max-width:43vw;height:auto;bottom:calc(100% + 130px);right:0;}
 .elementor-9 [data-sf="hero-actions"]{gap:16px;}
 .elementor-9 [data-sf="hero-foot"]{left:22px;right:22px;bottom:14px;padding-right:120px;}
 .elementor-9 [data-sf="scroll-discover"]{display:none;}
 .elementor-9 [data-sf="film-controls"]{right:22px;bottom:18px;}
 .elementor-9 [data-sf="seniors-heading-title"]{font-size:29vw;}
 .elementor-9 :is(.wolves-senior-card,.wolves-coach-card){flex-basis:78%;min-width:245px;}
 .elementor-9 .wolves-senior-card{height:430px;}
 .elementor-9 .wolves-section-heading> :last-child{flex-shrink:1;}
 .elementor-9 [data-sf="future-wolf"],.elementor-9 [data-sf="partners-wolf"]{max-width:70vw;}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important;}}
.elementor-9 [data-sf="program-record-copy"]{display:none;}
.elementor-9 [data-sf="program-record-copy"].sf-expanded{display:block;}
@media(max-width:767px){.elementor-9 [data-sf="hero-wolf"]{bottom:calc(100% + 215px);width:38vw;max-width:38vw;}}
@media(min-width:768px) and (max-width:1024px){
.elementor-9 [data-sf="hero-wolf"]{width:34vw;max-width:34vw;bottom:calc(100% + 145px);}
.elementor-9 [data-sf="hero-script"]{width:50vw;}
}
@media(min-width:1025px){
.elementor-9 [data-sf="home"],.elementor-9 [data-sf="hero-content"]{height:max(96vh,1000px);min-height:1000px;}
.elementor-9 [data-sf="hero-script"]{top:90px;height:400px;}
.elementor-9 [data-sf="hero-wolf"]{max-width:32vw;height:auto;}
.elementor-9 [data-sf="hero-title"]{font-size:14vw;}
}
/* Photo overlays retain white titles inside light-colored sections. */
.elementor-9 .wolves-card-caption :is(h1,h2,h3),
.elementor-9 [data-sf^="team-caption-"] :is(h1,h2,h3),
.elementor-9 h3[data-sf^="champ-year-"] {
  color:#fff;
}
/* Match the original team-panel expansion on hover and keyboard focus. */
@media(min-width:768px){
 .elementor-9 [data-sf="team-panels"]{display:flex;gap:12px;}
 .elementor-9 [data-sf="team-panels"] > [data-sf]{flex:1 1 0%;min-width:0;transition:flex .6s ease;}
 .elementor-9 [data-sf="team-panels"] > [data-sf]:focus-within{flex:1.3 1 0%;}
}
@media(min-width:768px) and (hover:hover){
 .elementor-9 [data-sf="team-panels"] > [data-sf]:hover{flex:1.3 1 0%;}
}
@media(prefers-reduced-motion:reduce){
 .elementor-9 [data-sf="team-panels"] > [data-sf]{transition:none;}
}
/* Original program timeline: connected milestones, with championship accents. */
.elementor-9 [data-sf="timeline"]{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:0;margin:65px 0 40px;}
.elementor-9 [data-sf="timeline"] > [data-sf]{position:relative;border-top:2px solid #c7d3c9;padding:24px 10px 0 0;}
.elementor-9 [data-sf="timeline"] > [data-sf]::before{content:"";position:absolute;top:-6px;left:0;width:10px;height:10px;background:#a9bbae;border-radius:50%;}
.elementor-9 [data-sf="timeline"] :is(h3,p){border:0;}
.elementor-9 [data-sf="timeline"] h3{font-size:38px;line-height:1.2;}
.elementor-9 [data-sf="timeline"] p{font-size:8px;margin-top:8px;}
.elementor-9 [data-sf="timeline"] > :is([data-sf="record-2019"],[data-sf="record-2025"])::before{background:#295e46;width:14px;height:14px;top:-8px;}
.elementor-9 [data-sf="timeline"] :is([data-sf="record-2019"],[data-sf="record-2025"]) :is(h3,p){color:#295e46;}
@media(max-width:767px){
 .elementor-9 [data-sf="timeline"]{display:block;margin:35px 0;}
 .elementor-9 [data-sf="timeline"] > [data-sf]{display:flex;flex-direction:row;align-items:center;gap:25px;margin-left:8px;padding:0 0 25px 28px;border-top:0;border-left:2px solid #c7d3c9;}
 .elementor-9 [data-sf="timeline"] > [data-sf]:last-child{padding-bottom:0;}
 .elementor-9 [data-sf="timeline"] > [data-sf]::before{left:-6px;top:17px;}
 .elementor-9 [data-sf="timeline"] > :is([data-sf="record-2019"],[data-sf="record-2025"])::before{left:-8px;top:15px;}
 .elementor-9 [data-sf="timeline"] h3{font-size:36px;}
 .elementor-9 [data-sf="timeline"] p{font-size:9px;margin:0;}
}
/* October refinement: readable controls and a compact, honest schedule state. */
.elementor-9 [data-sf^="game-board-"] :is(h3,p){color:#101713;}
.elementor-9 [data-sf^="game-board-"] [data-sf^="tba-"]{color:#295e46;font-size:64px;}
.elementor-9 [data-sf^="schedule-empty-"]{padding:32px;gap:28px;}
.elementor-9 [data-sf^="schedule-note-"]{font-size:16px;line-height:1.6;max-width:48ch;margin-top:12px;}
.elementor-9 [data-sf^="full-schedule-"]{font-size:14px;line-height:1.5;padding:18px 32px;color:#295e46;background:#eff3ef;cursor:default;margin:0;}
.elementor-9 [data-sf="game-tabs-menu"]{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;max-width:540px;padding:0;}
.elementor-9 [data-sf="game-tabs-menu"] [role="tab"]{width:100%;min-width:0;min-height:48px;padding:12px 16px;border:1px solid #b8cec0;color:#fff;background:transparent;}
.elementor-9 [data-sf="game-tabs-menu"] [role="tab"][aria-selected="true"]{background:#fff;color:#073c2b;border-color:#fff;}
.elementor-9 [data-sf^="game-tabs-label-"]{font-size:16px;color:inherit;}
.elementor-9 [data-sf="navigation"]{gap:20px;}
.elementor-9 [data-sf^="nav-"]{font-size:14px;min-height:44px;display:inline-flex;align-items:center;}
.elementor-9 [data-sf^="senior-view-"],.elementor-9 [data-sf^="filter-"],.elementor-9 [data-sf^="roster-"],.elementor-9 [data-sf^="schedule-"]:is(a,button){font-size:14px;min-height:44px;}
.elementor-9 [data-sf="seniors-buttons"],.elementor-9 [data-sf="coaches-buttons"]{gap:12px;flex-wrap:wrap;}
.elementor-9 :is([data-sf="seniors-buttons"],[data-sf="coaches-buttons"]) button{font-size:14px;min-height:44px;padding:10px 12px;}
.elementor-9 :is([data-sf="seniors-pause"],[data-sf="coaches-pause"]){border:1px solid currentColor;}
.elementor-9 [data-sf^="champ-photo-"]{opacity:.48;}
.elementor-9 :is([data-sf="champ-2019"],[data-sf="champ-2025"])::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#052c2033,transparent 45%,#052c2077);pointer-events:none;}
.elementor-9 :is([data-sf^="champ-label-"],[data-sf^="champ-year-"],[data-sf^="champ-team-"]){z-index:1;}
body.page-id-9 #ast-scroll-top{background:#073c2b;color:#fff;width:44px;height:44px;line-height:44px;}
body.page-id-9 #ast-scroll-top:hover{background:#295e46;}
@media(min-width:1025px){
 .elementor-9 [data-sf="home"],.elementor-9 [data-sf="hero-content"]{height:max(760px,100svh);min-height:760px;}
 .elementor-9 [data-sf="hero-script"]{top:92px;width:min(48vw,680px);height:auto;min-height:0;display:block;}
 .elementor-9 [data-sf="the-fe"]{transform:none;height:auto;}
 .elementor-9 [data-sf="hero-copy"]{bottom:70px;}
 .elementor-9 [data-sf="hero-title"]{font-size:12vw;}
 .elementor-9 [data-sf="hero-bottom"]{margin-top:24px;}
 .elementor-9 [data-sf="hero-wolf"]{width:30vw;max-width:390px;bottom:calc(100% + 20px);}
}
@media(max-width:767px){
 .elementor-9 [data-sf="game-tabs-menu"]{width:100%;max-width:none;}
 .elementor-9 [data-sf="game-tabs-menu"] [role="tab"]{padding:12px 6px;}
 .elementor-9 [data-sf^="schedule-empty-"]{display:grid;grid-template-columns:64px 1fr;align-items:center;gap:20px;padding:24px;}
 .elementor-9 [data-sf^="game-mark-"]{width:64px;}
 .elementor-9 [data-sf^="schedule-copy-"]{grid-column:1/-1;grid-row:2;}
 .elementor-9 [data-sf^="schedule-title-"]{font-size:36px;line-height:1.05;}
 .elementor-9 [data-sf^="tba-"]{grid-column:2;grid-row:1;justify-self:end;}
 .elementor-9 [data-sf^="full-schedule-"]{padding:18px 24px;}
}
@media(min-width:1025px){.elementor-9 [data-sf="hero-foot"]{padding-top:0;padding-bottom:0;}}
/* Align jersey prefixes and anchor coach tags inside the photo's lower corner. */
.elementor-9 [data-sf^="senior-number-"] sup{top:0;}
.elementor-9 .wolves-coach-card [data-sf$="-tag"]{top:auto;bottom:16px;left:16px;}

/* Junior class photo cards in the native Juniors tab. */
.elementor-9 [data-sf="junior-grid"]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;width:100%;margin-top:24px;}
.elementor-9 [data-sf^="junior-"]:not([data-sf^="junior-photo-"]):not([data-sf^="junior-number-"]):not([data-sf^="junior-caption-"]):not([data-sf^="junior-class-"]):not([data-sf^="junior-name-"]):not([data-sf="junior-grid"]){min-width:0;height:380px;position:relative;overflow:hidden;background:#0d1912;}
.elementor-9 [data-sf^="junior-number-"] sup{top:0;font-size:.32em;vertical-align:top;line-height:1.6;}
.elementor-9 [data-sf^="junior-number-"]{font-size:58px;}
.elementor-9 [data-sf^="junior-name-"]{color:#fff;font-size:clamp(20px,2vw,28px);}
.elementor-9 [data-sf^="junior-caption-"]{padding:20px;}
.elementor-9 [data-sf="future"]{align-items:flex-start;}
@media(max-width:600px){.elementor-9 [data-sf="junior-grid"]{gap:12px;}.elementor-9 [data-sf^="junior-caption-"]{padding:12px;}.elementor-9 [data-sf^="junior-number-"]{font-size:44px;left:12px;}.elementor-9 [data-sf^="junior-name-"]{font-size:20px;}.elementor-9 [data-sf^="junior-photo-"]{object-position:50% 35%;}}
/* Full-width Next Up roster and heading logo. */
.elementor-9 [data-sf="future"]{display:block;}
.elementor-9 [data-sf="future-copy"]{width:100%;max-width:none;flex-basis:auto;container-type:inline-size;}
.elementor-9 [data-sf="future-header"]{display:flex;align-items:center;justify-content:space-between;gap:40px;}
.elementor-9 [data-sf="future-heading-copy"]{flex:1;min-width:0;}
.elementor-9 [data-sf="future-fe-logo"]{display:block;width:clamp(240px,32%,420px);height:auto;max-width:42%;flex-shrink:0;}
.elementor-9 [data-sf="future-fe-logo"] img{width:100%;height:auto;object-fit:contain;}
.elementor-9 [data-sf="junior-grid"]{grid-template-columns:repeat(2,minmax(0,1fr));}
@container (min-width:700px){.elementor-9 [data-sf="junior-grid"]{grid-template-columns:repeat(3,minmax(0,1fr));}}
@container (min-width:1000px){.elementor-9 [data-sf="junior-grid"]{grid-template-columns:repeat(4,minmax(0,1fr));}}
@media(max-width:600px){.elementor-9 [data-sf="future-header"]{gap:24px;flex-direction:column;align-items:flex-start;}.elementor-9 [data-sf="future-fe-logo"]{width:240px;max-width:70%;align-self:center;}.elementor-9 [data-sf="junior-grid"]>.wolves-senior-card{height:320px;}}

/* Sophomores match the junior cards and responsive grid. */
.elementor-9 [data-sf="sophomore-grid"]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;width:100%;margin-top:24px;}
.elementor-9 [data-sf^="sophomore-"]:not([data-sf^="sophomore-photo-"]):not([data-sf^="sophomore-number-"]):not([data-sf^="sophomore-caption-"]):not([data-sf^="sophomore-class-"]):not([data-sf^="sophomore-name-"]):not([data-sf="sophomore-grid"]){min-width:0;height:380px;position:relative;overflow:hidden;background:#0d1912;}
.elementor-9 [data-sf^="sophomore-number-"] sup{top:0;font-size:.32em;vertical-align:top;line-height:1.6;}
.elementor-9 [data-sf^="sophomore-number-"]{font-size:58px;}
.elementor-9 [data-sf^="sophomore-name-"]{color:#fff;font-size:clamp(20px,2vw,28px);}
.elementor-9 [data-sf^="sophomore-caption-"]{padding:20px;}
@media(max-width:600px){.elementor-9 [data-sf="sophomore-grid"]{gap:12px;}.elementor-9 [data-sf^="sophomore-caption-"]{padding:12px;}.elementor-9 [data-sf^="sophomore-number-"]{font-size:44px;left:12px;}.elementor-9 [data-sf^="sophomore-name-"]{font-size:20px;}.elementor-9 [data-sf^="sophomore-photo-"]{object-position:50% 35%;}}
.elementor-9 [data-sf="sophomore-grid"]{grid-template-columns:repeat(2,minmax(0,1fr));}
@container (min-width:700px){.elementor-9 [data-sf="sophomore-grid"]{grid-template-columns:repeat(3,minmax(0,1fr));}}
@container (min-width:1000px){.elementor-9 [data-sf="sophomore-grid"]{grid-template-columns:repeat(4,minmax(0,1fr));}}
@media(max-width:600px){.elementor-9 [data-sf="future-header"]{gap:24px;flex-direction:column;align-items:flex-start;}.elementor-9 [data-sf="future-fe-logo"]{width:240px;max-width:70%;align-self:center;}.elementor-9 [data-sf="sophomore-grid"]>.wolves-senior-card{height:320px;}}

/* Tighten Cole Duncan’s framing to match the class portraits. */
.elementor-9 img[data-sf="sophomore-photo-42-cole-duncan"],.elementor-9 [data-sf="sophomore-photo-42-cole-duncan"] img{transform:scale(1.22);transform-origin:40% 45%;}
.sf-dialog .sf-cole-photo{overflow:hidden;aspect-ratio:3/2;margin:15px auto;}
.sf-dialog .sf-cole-photo img{width:100%;height:100%;max-height:none;object-fit:cover;margin:0;transform:scale(1.22);transform-origin:40% 45%;}
/* Senior portraits share a consistent portrait frame rather than a wide crop. */
.elementor-9 [data-sf="senior-rail"]>.wolves-senior-card{flex:0 0 360px;min-width:0;width:360px;height:480px;overflow:hidden;background:#0d1912;}
.elementor-9 img[data-sf^="senior-photo-"]{object-fit:cover;object-position:50% 30%;width:100%;height:100%;}
.elementor-9 img:is([data-sf="senior-photo-1"],[data-sf="senior-photo-12"],[data-sf="senior-photo-18"]){object-position:50% 22%;}
.elementor-9 img[data-sf="senior-photo-32"]{object-position:50% 20%;}
.elementor-9 img:is([data-sf="senior-photo-13"],[data-sf="senior-photo-43"]){height:120%;object-position:50% 25%;}
.elementor-9 img:is([data-sf="senior-photo-11"],[data-sf="senior-photo-16"],[data-sf="senior-photo-24"],[data-sf="senior-photo-27"]){object-position:50% 24%;}
@media(max-width:767px){.elementor-9 [data-sf="senior-rail"]>.wolves-senior-card{flex-basis:300px;width:300px;height:430px;}}
/* Bring the more distant portrait shots to the same upper-body scale. */
.elementor-9 img:is([data-sf="senior-photo-11"],[data-sf="senior-photo-16"]){transform:scale(1.3);transform-origin:50% 30%;}
.elementor-9 img[data-sf="senior-photo-24"]{transform:scale(1.4);transform-origin:50% 30%;}
.elementor-9 img[data-sf="senior-photo-27"]{transform:scale(1.5);transform-origin:50% 30%;}

/* Lift Stiles to align his cap with the neighboring portraits. */
.elementor-9 img[data-sf="senior-photo-43"]{transform:translateY(-12%);}
.elementor-9 [data-sf="senior-number-43"]{text-shadow:0 1px 4px rgba(0,0,0,.55);}

/* A black canvas behind transparent wolf video posters. */
video[data-sf="interlude"],
video[data-sf="senior-film-interlude"],
video[data-sf="championship-film-interlude"] { background-color:#000 !important; }

/* Social accounts, inspired by the Wolves football footer. */
.elementor-9 .sf-social {margin-top:48px;padding:64px 32px;background:linear-gradient(rgba(235,239,235,.9),rgba(235,239,235,.9)),url('https://sfwolvesbaseball.org/wp-content/uploads/2026/10/field.webp') center/cover;color:#174d3c;text-align:center;}
.elementor-9 .sf-social h3 {color:inherit;font-family:inherit;font-size:clamp(36px,5vw,64px);font-weight:800;line-height:1.1;margin:0 0 56px;}
.elementor-9 .sf-social-links {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;}
.elementor-9 .sf-social-links a {display:flex;flex-direction:column;align-items:center;gap:28px;color:#174d3c;text-decoration:none;transition:color .22s ease-out;}
.elementor-9 .sf-social-links a:hover {color:#328166;}
.elementor-9 .sf-social-links a:focus-visible {outline:3px solid #174d3c;outline-offset:12px;}
.elementor-9 .sf-social-links svg {width:clamp(80px,12vw,170px);height:clamp(80px,12vw,170px);fill:currentColor;}
.elementor-9 .sf-social-links span {font-size:clamp(16px,2.1vw,28px);font-weight:800;overflow-wrap:anywhere;}
@media(max-width:600px){.elementor-9 .sf-social{padding:40px 16px;}.elementor-9 .sf-social h3{margin-bottom:36px;}.elementor-9 .sf-social-links{gap:16px;}.elementor-9 .sf-social-links a{gap:20px;}.elementor-9 .sf-social-links svg{width:64px;height:64px;}.elementor-9 .sf-social-links span{font-size:14px;}}
@media(prefers-reduced-motion:reduce){.elementor-9 .sf-social-links a{transition:none;}}

/* Match the supplied faded monochrome team-photo reference. */
.elementor-9 .sf-social {position:relative;isolation:isolate;background:#bcbcbc;overflow:hidden;}
.elementor-9 .sf-social::before {content:"";position:absolute;inset:0;z-index:-2;background:url('https://sfwolvesbaseball.org/wp-content/uploads/2026/10/2025_StateChamps.jpg') center 45%/cover no-repeat;filter:grayscale(1);}
.elementor-9 .sf-social::after {content:"";position:absolute;inset:0;z-index:-1;background:rgba(200,200,200,.82);}
.elementor-9 .sf-social-links svg {width:clamp(64px,9.6vw,136px);height:clamp(64px,9.6vw,136px);}
.elementor-9 .sf-social-links span {text-transform:uppercase;}
@media(max-width:600px){.elementor-9 .sf-social-links svg{width:51.2px;height:51.2px;}}

/* Compact social links centered in the footer. */
.elementor-9 .sf-footer-social {width:min(100%,520px);margin:28px auto 0;gap:24px;}
.elementor-9 .sf-footer-social a {color:#dce6df;gap:10px;}
.elementor-9 .sf-footer-social a:hover {color:#83bda3;}
.elementor-9 .sf-footer-social a:focus-visible {outline-color:#dce6df;outline-offset:6px;}
.elementor-9 .sf-footer-social svg {width:32px;height:32px;}
.elementor-9 .sf-footer-social span {font-size:11px;line-height:1.3;}
@media(max-width:600px){.elementor-9 .sf-footer-social{gap:12px;}.elementor-9 .sf-footer-social svg{width:28px;height:28px;}.elementor-9 .sf-footer-social span{font-size:10px;}}

.elementor-9 [data-sf="footer"] {display:grid;grid-template-columns:auto 1fr;align-items:center;}
.elementor-9 .sf-footer-social {grid-column:1 / -1;justify-self:center;text-align:center;}
@media(max-width:600px){.elementor-9 [data-sf="footer"]{grid-template-columns:1fr;}}

/* Three aligned footer sections: brand, social accounts, navigation. */
.elementor-9 [data-sf="footer"] {grid-template-columns:minmax(180px,1fr) auto minmax(0,1fr);gap:32px;align-items:center;}
.elementor-9 [data-sf="footer-logo"] {grid-column:1;grid-row:1;justify-self:start;}
.elementor-9 [data-sf="footer-content"] {grid-column:3;grid-row:1;justify-self:end;text-align:right;}
.elementor-9 [data-sf="footer-nav"] {justify-content:flex-end;flex-wrap:wrap;}
.elementor-9 .sf-footer-social {grid-column:2;grid-row:1;width:280px;margin:0;gap:12px;}
.elementor-9 .sf-footer-social a {gap:8px;}
.elementor-9 .sf-footer-social svg {width:24px;height:24px;}
.elementor-9 .sf-footer-social span {font-size:9px;}
@media(max-width:900px){.elementor-9 [data-sf="footer"]{grid-template-columns:1fr;gap:28px;text-align:center;}.elementor-9 [data-sf="footer-logo"],.elementor-9 .sf-footer-social,.elementor-9 [data-sf="footer-content"]{grid-column:1;grid-row:auto;justify-self:center;}.elementor-9 [data-sf="footer-logo"]{order:0;}.elementor-9 .sf-footer-social{order:1;}.elementor-9 [data-sf="footer-content"]{order:2;text-align:center;}.elementor-9 [data-sf="footer-nav"]{justify-content:center;}}
.elementor-9 [data-sf="footer-nav"] {column-gap:16px;row-gap:12px;}

/* Align footer content on one baseline and keep desktop navigation together. */
@media(min-width:901px){
.elementor-9 [data-sf="footer"] {grid-template-columns:minmax(0,1fr) 280px minmax(0,1fr);align-items:end;gap:24px;}
.elementor-9 [data-sf="footer-content"] {width:100%;min-width:0;gap:20px;}
.elementor-9 [data-sf="footer-nav"] {flex-wrap:nowrap;column-gap:12px;}
.elementor-9 [data-sf="footer-nav"] a {font-size:9px;white-space:nowrap;}
.elementor-9 [data-sf="footer-content"] p {font-size:8px;letter-spacing:.7px;margin-bottom:0;white-space:nowrap;}
.elementor-9 .sf-footer-social {align-self:end;}
}

/* 2027 Game Center schedules */
.elementor-9 .sf-schedule{background:#f7f9f6;color:#10251b;container-type:inline-size;width:100%;}
.elementor-9 .sf-schedule-head{display:flex;justify-content:space-between;align-items:center;padding:32px 32px 24px;border-bottom:1px solid #cbd5ce;gap:20px;}
.elementor-9 .sf-schedule-kicker{font:11px/1.4 monospace;letter-spacing:2px;margin:0 0 10px;color:#426651;}
.elementor-9 .sf-schedule-title{font-family:inherit;font-size:clamp(24px,3vw,38px);font-weight:800;line-height:1.1;color:#10251b;margin:0;}
.elementor-9 .sf-season-mark{font-size:44px;font-weight:800;color:#b9c9bd;line-height:1;}
.elementor-9 .sf-month-tabs{display:flex;gap:0;padding:0 32px;border-bottom:1px solid #cbd5ce;overflow-x:auto;}
.elementor-9 .sf-month-tabs button{border:0;border-radius:0;border-bottom:3px solid transparent;background:transparent;color:#4e6155;font:600 14px/1.4 inherit;padding:18px 24px;cursor:pointer;white-space:nowrap;}
.elementor-9 .sf-month-tabs button[aria-selected=true]{border-bottom-color:#235b40;color:#17452e;background:#e5ece6;}
.elementor-9 .sf-month-tabs button:hover{background:#e5ece6;}
.elementor-9 .sf-month-tabs button:focus-visible,.elementor-9 .sf-schedule a:focus-visible{outline:3px solid #235b40;outline-offset:-3px;}
.elementor-9 .sf-schedule-panel:focus-visible{outline:2px solid #235b40;outline-offset:-2px;}
.elementor-9 .sf-month-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:24px 32px 16px;}
.elementor-9 .sf-month-heading h4{color:#17452e;font:700 13px/1.4 monospace;letter-spacing:1px;margin:0;}
.elementor-9 .sf-month-heading>span{font:11px/1.4 monospace;color:#64736a;}
.elementor-9 .sf-fixtures{list-style:none;padding:0 32px;margin:0;}
.elementor-9 .sf-fixture{display:grid;grid-template-columns:86px minmax(0,1fr) 180px 165px;align-items:center;gap:20px;min-height:108px;padding:20px 0;border-top:1px solid #d6ded7;}
.elementor-9 .sf-fixture-date{display:flex;flex-direction:column;align-items:flex-start;gap:3px;color:#285a3e;}
.elementor-9 .sf-fixture-date>span{font:11px monospace;letter-spacing:1px;}
.elementor-9 .sf-fixture-date strong{font-size:28px;font-weight:800;line-height:1.1;}
.elementor-9 .sf-fixture-matchup{display:flex;align-items:center;gap:20px;min-width:0;}
.elementor-9 .sf-fixture-logo{object-fit:contain;width:56px;height:56px;flex:0 0 56px;}
.elementor-9 .sf-fixture h5{font-family:inherit;color:#10251b;font-size:18px;font-weight:750;line-height:1.25;margin:0;}
.elementor-9 .sf-fixture-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px;}
.elementor-9 .sf-fixture-tags span{font:10px/1.2 monospace;text-transform:uppercase;letter-spacing:.4px;color:#315d43;background:#e0e9e1;padding:4px 6px;}
.elementor-9 .sf-fixture-tags .sf-senior-night{color:#fff;background:#295e42;}
.elementor-9 .sf-fixture-venue,.elementor-9 .sf-fixture-time{display:flex;flex-direction:column;gap:5px;font-size:13px;line-height:1.4;}
.elementor-9 .sf-fixture .sf-venue-label{font:10px/1.3 monospace;letter-spacing:1px;color:#64736a;}
.elementor-9 .sf-fixture-home .sf-venue-label{color:#17452e;font-weight:700;}
.elementor-9 .sf-fixture-time{text-align:right;}
.elementor-9 .sf-fixture-time strong{font-size:15px;}
.elementor-9 .sf-fixture-time span{font-size:11px;color:#64736a;}
.elementor-9 .sf-schedule-foot{padding:24px 32px;background:#eaf0e9;border-top:1px solid #cbd5ce;margin-top:8px;}
.elementor-9 .sf-schedule-foot p{font-size:12px;line-height:1.6;color:#53675a;margin:0;}
.elementor-9 .sf-schedule-downloads{display:flex;flex-wrap:wrap;gap:12px 28px;margin-top:12px;}
.elementor-9 .sf-schedule-downloads a{color:#205039;font-size:12px;text-decoration:underline;text-underline-offset:4px;}
@container (max-width:850px){.elementor-9 .sf-fixture{grid-template-columns:62px minmax(0,1fr) 140px;gap:14px;}.elementor-9 .sf-fixture-venue{grid-column:2;grid-row:auto;}.elementor-9 .sf-fixture-time{grid-column:3;grid-row:1 / span 2;}.elementor-9 .sf-fixture-date{grid-row:1 / span 2;}.elementor-9 .sf-fixture h5{font-size:16px;}}
@container (max-width:520px){.elementor-9 .sf-schedule-head{padding:24px 18px;}.elementor-9 .sf-season-mark{font-size:30px;}.elementor-9 .sf-schedule-title{font-size:23px;}.elementor-9 .sf-month-tabs{padding:0 10px;}.elementor-9 .sf-month-tabs button{padding:16px 14px;font-size:13px;}.elementor-9 .sf-month-heading{padding:20px 18px 14px;}.elementor-9 .sf-fixtures{padding:0 18px;}.elementor-9 .sf-fixture{grid-template-columns:48px minmax(0,1fr);gap:12px;}.elementor-9 .sf-fixture-date{align-self:start;grid-row:1 / span 3;}.elementor-9 .sf-fixture-date strong{font-size:23px;}.elementor-9 .sf-fixture-matchup{gap:12px;}.elementor-9 .sf-fixture-logo{width:42px;height:42px;flex-basis:42px;}.elementor-9 .sf-fixture-time{grid-column:2;grid-row:3;text-align:left;flex-direction:row;flex-wrap:wrap;align-items:baseline;gap:10px;}.elementor-9 .sf-fixture-venue{grid-column:2;flex-direction:row;align-items:baseline;gap:10px;}.elementor-9 .sf-schedule-foot{padding:22px 18px;}}
