/* Concept Art finishing pass. Decorative art never replaces source photographs.
   Copy is painted on its own pale surface; no full-width opaque hero panel. */
:root{--wl-masthead-art:url('wlfv-panorama-v3.webp');--wl-service-art:url('wlfv-service-v2.webp');--wl-surface:#f5faff;--wl-card-shadow:0 6px 26px rgba(18,71,124,.055);scroll-padding-top:calc(var(--wl-header-height,90px) + var(--wl-toolbar-offset,0px) + 12px)}
/* Fixed overlay keeps the hero in place and remains available while scrolling. */
body header.wlfv-header{position:fixed;inset-inline:0;top:var(--wl-toolbar-offset,0px);width:100%;z-index:100;background:rgba(255,255,255,.78);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid rgba(153,193,230,.22)}
body.admin-bar header.wlfv-header{top:var(--wl-toolbar-offset,32px)}
@media(max-width:782px){body.admin-bar header.wlfv-header{top:var(--wl-toolbar-offset,46px)}}
body header.wlfv-header .wlfv-nav-list a{font-size:13px;font-weight:650}
body header.wlfv-header.wlfv-menu-open{background:#fff}
body :is(.wlfv-ui #oxy-main,#oxy-main .wlfv-ui){background:#f8fbff}
body :is(.wlfv-ui #oxy-main,#oxy-main .wlfv-ui) :is(.wlfv-hub-hero,.wlfv-knowledge-hero,.wlfv-initiative-hero,.wlfv-contact-hero,.wlfv-club-hero,.wl-event-hero){position:relative;isolation:isolate;overflow:hidden;min-height:390px;padding-block:125px 48px;background-color:var(--wl-surface);background-image:linear-gradient(90deg,var(--wl-surface) 0 52%,#f5faffd9 55%,#f5faff00 66%),var(--wl-masthead-art);background-repeat:no-repeat;background-size:100% 100%,100% auto;background-position:0 0,right 70px;border:0}
body :is(.wlfv-ui #oxy-main,#oxy-main .wlfv-ui) :is(.wlfv-hub-hero,.wlfv-knowledge-hero,.wlfv-initiative-hero,.wlfv-contact-hero,.wlfv-club-hero,.wl-event-hero)::before{content:none}
body :is(.wlfv-ui #oxy-main,#oxy-main .wlfv-ui) :is(.wlfv-hub-hero,.wlfv-knowledge-hero,.wlfv-initiative-hero,.wlfv-contact-hero,.wlfv-club-hero,.wl-event-hero)>.wlfv-container{background:transparent;border-radius:0;padding:0;position:relative;z-index:1;align-items:flex-start}
body :is(.wlfv-ui #oxy-main,#oxy-main .wlfv-ui) :is(.wlfv-hub-hero,.wlfv-knowledge-hero,.wlfv-initiative-hero,.wlfv-contact-hero,.wl-event-hero)>.wlfv-container>:is(h1,p,.wlfv-actions,.wlfv-breadcrumb){max-width:50%;background-color:transparent}
body :is(.wlfv-ui #oxy-main,#oxy-main .wlfv-ui) :is(.wlfv-hub-hero,.wlfv-knowledge-hero,.wlfv-initiative-hero,.wlfv-contact-hero,.wl-event-hero) .wlfv-hub-title{font-size:clamp(38px,4.1vw,62px);line-height:1.08;letter-spacing:-1.8px;width:auto;text-wrap:balance}
body :is(.wlfv-ui #oxy-main,#oxy-main .wlfv-ui) .wlfv-hub-intro{font-size:17px;line-height:1.65;margin-top:16px}
body :is(.wlfv-ui #oxy-main,#oxy-main .wlfv-ui) .wlfv-breadcrumb{display:inline-flex;width:auto;min-height:28px;align-items:center;margin-bottom:12px}
body :is(.wlfv-ui #oxy-main,#oxy-main .wlfv-ui) :is(.wl-knowledge-index,.wl-knowledge-reader) .wlfv-hub-hero,
body :is(.wlfv-ui #oxy-main,#oxy-main .wlfv-ui).wl-knowledge-index .wlfv-hub-hero,
body :is(.wlfv-ui #oxy-main,#oxy-main .wlfv-ui).wl-knowledge-reader :is(.wlfv-hub-hero,.wlfv-knowledge-hero),
body :is(.wlfv-ui #oxy-main,#oxy-main .wlfv-ui) :is(.wl-document-hero,.wlfv-knowledge-hero){background-image:linear-gradient(90deg,var(--wl-surface) 0 52%,#f5faffd9 55%,#f5faff00 66%),var(--wl-service-art)}
/* Club identities are original logos and text, never generated club portraits. */
body :is(.wlfv-ui #oxy-main,#oxy-main .wlfv-ui) .wlfv-club-hero>.wlfv-container>:is(.wlfv-club-heading-row,.wlfv-breadcrumb){max-width:54%;background:transparent}
body :is(.wlfv-ui #oxy-main,#oxy-main .wlfv-ui) .wlfv-club-heading-row{align-items:center;gap:24px}
body :is(.wlfv-ui #oxy-main,#oxy-main .wlfv-ui) .wlfv-detail-title{font-size:clamp(34px,3.5vw,54px);line-height:1.12;letter-spacing:-1.3px;text-wrap:balance}
body :is(.wlfv-ui #oxy-main,#oxy-main .wlfv-ui) .wlfv-detail-actions{flex-wrap:wrap;gap:10px}
body :is(.wlfv-ui #oxy-main,#oxy-main .wlfv-ui) :is(.wlfv-club-filters,.wlfv-news-filters,.wlfv-tournament-navigation,.wlfv-detail-subnav,.wlfv-contact-jump,.wl-event-subnav){box-shadow:var(--wl-card-shadow);border-color:#d9e8f7}
body :is(.wlfv-ui #oxy-main,#oxy-main .wlfv-ui) :is(.wlfv-club-card,.wlfv-preview-row,.wlfv-core-event-list article){transition:background-color .18s ease}
body :is(.wlfv-ui #oxy-main,#oxy-main .wlfv-ui) :is(.wlfv-club-card,.wlfv-preview-row,.wlfv-core-event-list article):hover{background:#f3f9ff}
body :is(.wlfv-ui #oxy-main,#oxy-main .wlfv-ui) :is(.wlfv-resource,.wlfv-training-card,.wlfv-contact-card,.wlfv-board-card,.wlfv-archive-card,.wlfv-event-archive-card,.wlfv-initiative-card){box-shadow:var(--wl-card-shadow);border-color:#dce9f7}
/* Home: the full fencing panorama, open copy and three overlapping source panels. */
body :is(.wlfv-ui #oxy-main,#oxy-main .wlfv-ui) .wlfv-concept-hero{min-height:580px;padding-block:150px 92px;background-color:var(--wl-surface);background-image:linear-gradient(90deg,var(--wl-surface) 0 43%,#f5faff00 57%),var(--wl-masthead-art);background-position:0 0,right 100px;background-size:100% 100%,100% auto;background-repeat:no-repeat}
body :is(.wlfv-ui #oxy-main,#oxy-main .wlfv-ui) .wlfv-concept-hero::before,body :is(.wlfv-ui #oxy-main,#oxy-main .wlfv-ui) .wlfv-concept-hero::after{content:none}
body :is(.wlfv-ui #oxy-main,#oxy-main .wlfv-ui) .wlfv-concept-hero-copy{max-width:42%;padding:0;background:transparent;border-radius:0}
body :is(.wlfv-ui #oxy-main,#oxy-main .wlfv-ui) .wlfv-concept-title{font-size:clamp(60px,5.3vw,82px);line-height:1.02;letter-spacing:-2.8px}
body :is(.wlfv-ui #oxy-main,#oxy-main .wlfv-ui) .wlfv-concept-lead{max-width:450px;font-size:17px;line-height:1.65}
body :is(.wlfv-ui #oxy-main,#oxy-main .wlfv-ui) .wlfv-home-deck{margin-top:-38px;gap:20px}
body :is(.wlfv-ui #oxy-main,#oxy-main .wlfv-ui) .wlfv-home-panel{box-shadow:var(--wl-card-shadow)}
body :is(.wlfv-ui #oxy-main,#oxy-main .wlfv-ui) .wlfv-home-school-copy{max-width:72%;background:linear-gradient(90deg,#042c58 72%,rgba(4,44,88,.96));padding:26px 20px}
body :is(.wlfv-ui #oxy-main,#oxy-main .wlfv-ui) .wlfv-home-school-copy>p{max-width:245px}
/* School keeps its genuine photograph, made a principal part of the hero. */
body :is(.wlfv-ui #oxy-main,#oxy-main .wlfv-ui) .wlfv-project-hero{padding-block:130px 44px;background:linear-gradient(120deg,#f5faff,#e5f3ff);overflow:hidden}
body :is(.wlfv-ui #oxy-main,#oxy-main .wlfv-ui) .wlfv-project-hero-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:36px;align-items:center}
body :is(.wlfv-ui #oxy-main,#oxy-main .wlfv-ui) .wlfv-project-hero-copy{background:transparent;padding:0}
body :is(.wlfv-ui #oxy-main,#oxy-main .wlfv-ui) .wlfv-project-title{font-size:clamp(38px,4.3vw,64px);line-height:1.06;letter-spacing:-1.8px;text-wrap:balance}
body :is(.wlfv-ui #oxy-main,#oxy-main .wlfv-ui) .wlfv-project-picture{border-radius:10px;overflow:hidden;box-shadow:0 12px 35px rgba(12,65,120,.09)}
body :is(.wlfv-ui #oxy-main,#oxy-main .wlfv-ui) .wlfv-project-picture::after{bottom:0;height:6px;width:75%}
body :is(.wlfv-ui #oxy-main,#oxy-main .wlfv-ui) .wlfv-project-image{border-radius:0;box-shadow:none}
body :is(.wlfv-ui #oxy-main,#oxy-main .wlfv-ui) .wlfv-project-caption{background:#f5faff;padding:8px 12px;margin:0;font-size:12px}
/* Articles retain documentary photographs and the existing accessible gallery. */
body :is(.wlfv-ui #oxy-main,#oxy-main .wlfv-ui) .wlfv-article-header{background:linear-gradient(110deg,#edf6ff,#fff);border-top:3px solid #cce5ff;padding:30px 32px}
body :is(.wlfv-ui #oxy-main,#oxy-main .wlfv-ui) .wlfv-article-header h1{max-width:24ch;text-wrap:balance}
body :is(.wlfv-ui #oxy-main,#oxy-main .wlfv-ui) .wlfv-news-copy{padding:22px}
body :is(.wlfv-ui #oxy-main,#oxy-main .wlfv-ui) .wlfv-article-gallery{border-top:3px solid #cce5ff}
/* A quiet shared finish: source documents and legal text remain plain reading views. */
body :is(.wlfv-ui #oxy-main,#oxy-main .wlfv-ui) .wl-document-hero{min-height:360px;background-position:0 0,right 70px}
body :is(.wlfv-ui #oxy-main,#oxy-main .wlfv-ui) .wl-document-hero .wl-document-notice{max-width:50%;background:#fff4e8}
body :is(.wlfv-ui #oxy-main,#oxy-main .wlfv-ui) .wl-document-hero .wlfv-hub-title{font-size:clamp(32px,3.7vw,52px)}
body :is(.wlfv-ui #oxy-main,#oxy-main .wlfv-ui) .wl-document-copy{border-top:3px solid #cce5ff}
/* The footer uses a readable navy band; newsletter remains a white form surface. */
body .wlfv-footer.wlfv-ui{background:linear-gradient(115deg,#102b56,#064a80);color:#fff;border-top:0}
body .wlfv-footer.wlfv-ui :is(.wlfv-footer-note,.wlfv-footer-title,.wlfv-footer-bottom,.wlfv-brand-name,.wlfv-brand-subtitle,.wlfv-contact-address){color:#fff}
body .wlfv-footer.wlfv-ui :is(.wlfv-footer-grid,.wlfv-footer-bottom) a{color:#fff}
body .wlfv-footer.wlfv-ui .wlfv-footer-grid{padding-block:42px}
body .wlfv-footer.wlfv-ui .wlfv-newsletter-block{background:#f5faff;color:#071449;border-color:#d9e8f7;box-shadow:none}
body .wlfv-footer.wlfv-ui .wlfv-newsletter-block :is(h2,p,label){color:#071449}
body .wlfv-footer.wlfv-ui .wlfv-newsletter-block a{color:#0053ad}
body .wlfv-footer.wlfv-ui .wlfv-footer-bottom{border-color:#ffffff38}
@media(max-width:1119px){
 body :is(.wlfv-ui #oxy-main,#oxy-main .wlfv-ui) :is(.wlfv-hub-hero,.wlfv-knowledge-hero,.wlfv-initiative-hero,.wlfv-contact-hero,.wlfv-club-hero,.wl-event-hero){background-size:100% 100%,1200px auto;background-position:0 0,right 66px}
 body :is(.wlfv-ui #oxy-main,#oxy-main .wlfv-ui) .wlfv-concept-hero{background-size:100% 100%,1250px auto;background-position:0 0,right 90px;min-height:570px}
 body :is(.wlfv-ui #oxy-main,#oxy-main .wlfv-ui) .wlfv-concept-hero-copy{max-width:48%}
 body :is(.wlfv-ui #oxy-main,#oxy-main .wlfv-ui) .wlfv-concept-title{font-size:64px}
 body :is(.wlfv-ui #oxy-main,#oxy-main .wlfv-ui) .wlfv-project-hero-grid{gap:24px}
}
@media(max-width:767px){
 body header.wlfv-header{background:rgba(255,255,255,.86)}
 body :is(.wlfv-ui #oxy-main,#oxy-main .wlfv-ui) :is(.wlfv-hub-hero,.wlfv-knowledge-hero,.wlfv-initiative-hero,.wlfv-contact-hero,.wlfv-club-hero,.wl-event-hero){padding-block:108px 214px;min-height:0;background-image:none!important}
 body :is(.wlfv-ui #oxy-main,#oxy-main .wlfv-ui) :is(.wlfv-hub-hero,.wlfv-knowledge-hero,.wlfv-initiative-hero,.wlfv-contact-hero,.wlfv-club-hero,.wl-event-hero)::after{content:"";position:absolute;inset:auto 0 0;height:190px;background:var(--wl-masthead-art) right center/cover no-repeat;z-index:-1;pointer-events:none}
 body :is(.wlfv-ui #oxy-main,#oxy-main .wlfv-ui).wl-knowledge-index .wlfv-hub-hero::after,body :is(.wlfv-ui #oxy-main,#oxy-main .wlfv-ui).wl-knowledge-reader :is(.wlfv-hub-hero,.wlfv-knowledge-hero)::after,body :is(.wlfv-ui #oxy-main,#oxy-main .wlfv-ui) :is(.wl-document-hero,.wlfv-knowledge-hero)::after{background-image:var(--wl-service-art)}
 body :is(.wlfv-ui #oxy-main,#oxy-main .wlfv-ui) :is(.wlfv-hub-hero,.wlfv-knowledge-hero,.wlfv-initiative-hero,.wlfv-contact-hero,.wl-event-hero)>.wlfv-container>:is(h1,p,.wlfv-actions,.wlfv-breadcrumb),body :is(.wlfv-ui #oxy-main,#oxy-main .wlfv-ui) .wlfv-club-hero>.wlfv-container>:is(.wlfv-club-heading-row,.wlfv-breadcrumb){max-width:100%;background:transparent}
 body :is(.wlfv-ui #oxy-main,#oxy-main .wlfv-ui) :is(.wlfv-hub-hero,.wlfv-knowledge-hero,.wlfv-initiative-hero,.wlfv-contact-hero,.wl-event-hero) .wlfv-hub-title{font-size:clamp(32px,9vw,44px);line-height:1.1;letter-spacing:-1px}
 body :is(.wlfv-ui #oxy-main,#oxy-main .wlfv-ui) .wlfv-hub-intro{font-size:16px}
 body :is(.wlfv-ui #oxy-main,#oxy-main .wlfv-ui) .wlfv-club-heading-row{gap:16px}
 body :is(.wlfv-ui #oxy-main,#oxy-main .wlfv-ui) .wlfv-detail-title{font-size:clamp(29px,7.8vw,39px);letter-spacing:-.8px}
 body :is(.wlfv-ui #oxy-main,#oxy-main .wlfv-ui) .wlfv-concept-hero{padding-block:116px 254px;min-height:0;background:var(--wl-surface)}
 body :is(.wlfv-ui #oxy-main,#oxy-main .wlfv-ui) .wlfv-concept-hero::after{content:"";position:absolute;inset:auto 0 0;height:230px;background:var(--wl-masthead-art) right center/cover no-repeat;z-index:-1;pointer-events:none}
 body :is(.wlfv-ui #oxy-main,#oxy-main .wlfv-ui) .wlfv-concept-hero-copy{max-width:100%;padding:0;background:transparent}
 body :is(.wlfv-ui #oxy-main,#oxy-main .wlfv-ui) .wlfv-concept-title{font-size:clamp(48px,11.5vw,66px);letter-spacing:-2px}
 body :is(.wlfv-ui #oxy-main,#oxy-main .wlfv-ui) .wlfv-concept-lead{font-size:16px}
 body :is(.wlfv-ui #oxy-main,#oxy-main .wlfv-ui) .wlfv-home-deck{margin-top:-16px;gap:18px}
 body :is(.wlfv-ui #oxy-main,#oxy-main .wlfv-ui) .wlfv-home-school-copy{max-width:78%;padding:24px 18px}
 body :is(.wlfv-ui #oxy-main,#oxy-main .wlfv-ui) .wlfv-project-hero{padding-block:108px 28px}
 body :is(.wlfv-ui #oxy-main,#oxy-main .wlfv-ui) .wlfv-project-hero-grid{grid-template-columns:minmax(0,1fr);gap:24px}
 body :is(.wlfv-ui #oxy-main,#oxy-main .wlfv-ui) .wlfv-project-title{font-size:clamp(36px,9.5vw,46px)}
 body :is(.wlfv-ui #oxy-main,#oxy-main .wlfv-ui) .wlfv-article-header{padding:22px 18px}
 body :is(.wlfv-ui #oxy-main,#oxy-main .wlfv-ui) .wlfv-article-header h1{max-width:100%}
 body :is(.wlfv-ui #oxy-main,#oxy-main .wlfv-ui) .wl-document-hero{padding-bottom:190px}
 body :is(.wlfv-ui #oxy-main,#oxy-main .wlfv-ui) .wl-document-hero::after{height:170px}
 body :is(.wlfv-ui #oxy-main,#oxy-main .wlfv-ui) .wl-document-hero .wl-document-notice{max-width:100%;background:#fff4e8}
}
@media(prefers-reduced-motion:reduce){body :is(.wlfv-ui #oxy-main,#oxy-main .wlfv-ui) :is(.wlfv-club-card,.wlfv-preview-row,.wlfv-core-event-list article){transition:none}}

body .wlfv-footer.wlfv-ui::before{content:none}

body :is(.wlfv-ui #oxy-main,#oxy-main .wlfv-ui) .wlfv-club-hero{background-image:linear-gradient(90deg,var(--wl-surface) 0 55%,#f5faff00 68%),var(--wl-masthead-art)}
@media(max-width:767px){body :is(.wlfv-ui #oxy-main,#oxy-main .wlfv-ui) .wlfv-club-hero{background-image:none!important}}

@media(min-width:768px) and (max-width:1119px){body :is(.wlfv-ui #oxy-main,#oxy-main .wlfv-ui) .wlfv-concept-hero{background-image:linear-gradient(90deg,var(--wl-surface) 0 52%,#f5faff00 65%),var(--wl-masthead-art)}}

/* Oxygen also supplies a mobile ::after illustration. Keep the new panorama
   authoritative there, and retain both masked heads inside narrow screens. */
@media(max-width:767px){body :is(.wlfv-ui #oxy-main,#oxy-main .wlfv-ui) .wlfv-concept-hero::after{background-image:var(--wl-masthead-art);background-size:cover;background-position:80% center}}

/* Native club heading names and shortcode-wrapped titles need the same copy
   bounds as direct heading elements. Keep text inside the opaque gradient. */
body :is(.wlfv-ui #oxy-main,#oxy-main .wlfv-ui) .wlfv-club-hero>.wlfv-container>.wlfv-club-heading{display:flex;flex-direction:row;align-items:center;gap:24px;max-width:54%;width:100%;min-width:0}
body :is(.wlfv-ui #oxy-main,#oxy-main .wlfv-ui) .wlfv-detail-heading-copy{flex:1 1 0%;min-width:0;max-width:100%;width:100%}
body :is(.wlfv-ui #oxy-main,#oxy-main .wlfv-ui) .wlfv-detail-title{max-width:100%;width:100%;overflow-wrap:anywhere}
body :is(.wlfv-ui #oxy-main,#oxy-main .wlfv-ui) :is(.wlfv-hub-hero,.wlfv-knowledge-hero,.wlfv-initiative-hero,.wlfv-contact-hero,.wl-event-hero) :is(.wlfv-hub-title,.wlfv-hub-intro){max-width:50%}
@media(max-width:767px){
 body :is(.wlfv-ui #oxy-main,#oxy-main .wlfv-ui) .wlfv-club-hero>.wlfv-container>.wlfv-club-heading{display:grid;grid-template-columns:64px minmax(0,1fr);gap:16px;max-width:100%}
 body :is(.wlfv-ui #oxy-main,#oxy-main .wlfv-ui) .wlfv-club-hero .wlfv-detail-logo{width:64px;height:64px;min-width:0}
 body :is(.wlfv-ui #oxy-main,#oxy-main .wlfv-ui) :is(.wlfv-hub-hero,.wlfv-knowledge-hero,.wlfv-initiative-hero,.wlfv-contact-hero,.wl-event-hero) :is(.wlfv-hub-title,.wlfv-hub-intro){max-width:100%}
}

/* Artwork continues behind the translucent masthead; keep masked heads below it. */
@media(min-width:768px){
 body :is(.wlfv-ui #oxy-main,#oxy-main .wlfv-ui) :is(.wlfv-concept-hero,.wlfv-hub-hero,.wlfv-knowledge-hero,.wlfv-initiative-hero,.wlfv-contact-hero,.wlfv-club-hero,.wl-event-hero,.wl-document-hero){background-position:0 0,right 32px}
 body :is(.wlfv-ui #oxy-main,#oxy-main .wlfv-ui) :is(.wl-knowledge-index,.wl-knowledge-reader) .wlfv-hub-hero,
 body :is(.wlfv-ui #oxy-main,#oxy-main .wlfv-ui).wl-knowledge-index .wlfv-hub-hero,
 body :is(.wlfv-ui #oxy-main,#oxy-main .wlfv-ui).wl-knowledge-reader :is(.wlfv-hub-hero,.wlfv-knowledge-hero),
 body :is(.wlfv-ui #oxy-main,#oxy-main .wlfv-ui) :is(.wl-document-hero,.wlfv-knowledge-hero){background-size:100% 100%,auto calc(100% - 32px)}
}
@media(max-width:1050px){
 body header.wlfv-header.wlfv-menu-open .wlfv-nav-list{max-height:calc(100dvh - var(--wl-header-height,90px) - var(--wl-toolbar-offset,0px) - 12px);overflow-y:auto;overscroll-behavior:contain}
}
body .wlfv-ui .wlfv-knowledge-aside{top:calc(var(--wl-header-height,90px) + var(--wl-toolbar-offset,0px) + 12px);max-height:calc(100dvh - var(--wl-header-height,90px) - var(--wl-toolbar-offset,0px) - 36px)}
