.fencing-site{--background:#050505;--foreground:#fff;--accent:#e31b23;--accent-foreground:#fff;--muted:#181818;--muted-foreground:#d6d6d6;--fencing-red-on-dark:#ff4d55;--border:#494949;--glass-bg:#050505f5;--glass-border:#ffffff38;min-height:100vh;color:var(--foreground);background:#050505;overflow:clip}.fencing-site ::selection{background:var(--accent);color:#fff}.fencing-shell{width:min(100% - 3rem,76rem);margin-inline:auto}.fencing-site :is(#overview,#training,#gallery,#instructor,#schedule,#faq,#contact){scroll-margin-top:8rem}.fencing-hero{isolation:isolate;border-bottom:.55rem solid var(--accent);background:linear-gradient(115deg,#0000 0 62%,#e31b232e 62.1% 72%,#0000 72.1%),repeating-linear-gradient(90deg,#0000 0 calc(12.5% - 1px),#ffffff0b 12.5%),#050505;min-height:45rem;padding:11rem 0 6rem;position:relative;overflow:hidden}.fencing-hero:before{z-index:-1;content:"";border:7rem solid #e31b231a;border-radius:50%;width:48rem;height:48rem;position:absolute;inset:auto -10vw -18rem auto}.fencing-hero__grid{grid-template-columns:minmax(0,1.35fr) minmax(18rem,.65fr);align-items:center;gap:clamp(3rem,8vw,8rem);display:grid}.fencing-hero__copy{z-index:1;max-width:54rem;animation:.65s cubic-bezier(.22,1,.36,1) both fencing-rise;position:relative}.fencing-kicker,.fencing-eyebrow{color:var(--fencing-red-on-dark);letter-spacing:.24em;text-transform:uppercase;margin-bottom:1rem;font-size:.72rem;font-weight:800;line-height:1.5}.fencing-hero h1{max-width:52rem;font-family:var(--font-inter), Arial, sans-serif;letter-spacing:-.075em;text-transform:uppercase;text-wrap:balance;font-size:clamp(4rem,9.5vw,9rem);font-weight:900;line-height:.82}.fencing-hero__lede{color:#e4e4e4;max-width:42rem;margin-top:2.2rem;font-size:clamp(1.05rem,2vw,1.3rem);line-height:1.75}.fencing-hero__lede strong{color:#fff;font-weight:800}.fencing-hero__actions,.fencing-contact__actions{flex-wrap:wrap;align-items:center;gap:.85rem;margin-top:2.5rem;display:flex}.fencing-button{letter-spacing:.11em;text-align:center;text-transform:uppercase;border:2px solid #0000;justify-content:center;align-items:center;min-height:3.35rem;padding:.85rem 1.55rem;font-size:.79rem;font-weight:900;transition:transform .18s,color .18s,background-color .18s,border-color .18s;display:inline-flex}.fencing-button:hover{transform:translateY(-2px)}.fencing-button:focus-visible,.fencing-phone:focus-visible{outline-offset:4px;outline:3px solid #fff}.fencing-button--primary{border-color:var(--accent);background:var(--accent);color:#fff}.fencing-button--primary:hover{background:#ff3b42;border-color:#ff3b42}.fencing-button--outline{color:#fff;background:0 0;border-color:#fff}.fencing-button--outline:hover{color:#050505;background:#fff}.fencing-hero__graphic{min-height:26rem;animation:.8s .12s both fencing-fade;position:relative}.fencing-hero__blade{transform-origin:50%;background:linear-gradient(90deg,#0000 0 4%,#fff 4% 88%,#a9a9a9 88%);width:33rem;height:.18rem;position:absolute;top:50%;left:50%;box-shadow:0 0 1rem #ffffff59}.fencing-hero__blade--one{transform:translate(-50%,-50%)rotate(53deg)}.fencing-hero__blade--two{transform:translate(-50%,-50%)rotate(-53deg)}.fencing-hero__guard{aspect-ratio:1;border:.5rem solid var(--accent);border-radius:50%;width:8.5rem;position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%)}.fencing-hero__score{color:#ffffff14;letter-spacing:-.08em;font-size:11rem;font-weight:900;line-height:.8;position:absolute;inset:auto 0 0 auto}.fencing-subnav{z-index:30;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#050505f5;border-bottom:1px solid #343434;position:sticky;top:5.75rem}.fencing-subnav nav{scrollbar-width:thin;scrollbar-color:var(--accent) transparent}.fencing-subnav ul{justify-content:center;padding-inline:0}.fencing-subnav a{color:#d6d6d6}.fencing-subnav a:hover{color:#fff;background:#e31b233d}.fencing-section{padding:clamp(5rem,9vw,8rem) 0}.fencing-section h2{font-family:var(--font-inter), Arial, sans-serif;letter-spacing:-.055em;text-wrap:balance;font-size:clamp(2.4rem,5.5vw,5rem);font-weight:900;line-height:.98}.fencing-overview{color:#101010;background:#f4f4f1}.fencing-overview .fencing-eyebrow,.fencing-overview .fencing-kicker,.fencing-overview .fencing-weapon>span{color:#a90018}.fencing-overview__grid{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:start;gap:clamp(3rem,8vw,8rem);display:grid}.fencing-overview__content{border-left:.35rem solid var(--accent);color:#303030;gap:1.4rem;padding-left:clamp(1.4rem,4vw,3rem);font-size:1.05rem;line-height:1.85;display:grid}.fencing-weapons{border-block:1px solid #a8a8a8;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:5rem;display:grid}.fencing-weapon{min-height:19rem;padding:2rem}.fencing-weapon+.fencing-weapon{border-left:1px solid #a8a8a8}.fencing-weapon>span{color:var(--accent);letter-spacing:.2em;font-size:.7rem;font-weight:900}.fencing-weapon h3{letter-spacing:-.06em;text-transform:uppercase;margin-top:4rem;font-size:clamp(2.5rem,5vw,4.5rem);font-weight:900;line-height:.9}.fencing-weapon p{color:#4d4d4d;max-width:19rem;margin-top:1.2rem;line-height:1.65}.fencing-training{background:linear-gradient(105deg,#e31b2324,#0000 38%),#0b0b0b;border-block:1px solid #333}.fencing-section-heading{max-width:50rem}.fencing-section-heading>p:last-child{color:#c9c9c9;max-width:40rem;margin-top:1.4rem;line-height:1.75}.fencing-outcomes{border-top:1px solid #525252;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:4rem;display:grid}.fencing-outcomes li{border-bottom:1px solid #525252;align-items:center;gap:1rem;min-height:8.5rem;padding:1.4rem;font-size:clamp(1.1rem,2vw,1.45rem);font-weight:800;display:flex}.fencing-outcomes li:not(:nth-child(3n+1)){border-left:1px solid #525252}.fencing-outcomes span{color:var(--fencing-red-on-dark);letter-spacing:.16em;font-size:.68rem}.fencing-instructor{background:#050505}.fencing-instructor__intro{grid-template-columns:minmax(0,1.3fr) minmax(14rem,.7fr);align-items:start;gap:1.5rem clamp(2rem,6vw,6rem);display:grid}.fencing-instructor__intro .fencing-eyebrow{grid-column:1/-1}.fencing-instructor__intro h2{grid-row:span 2}.fencing-instructor__intro>p:not(.fencing-eyebrow){color:#d0d0d0;line-height:1.75}.fencing-certificates{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(1.25rem,3vw,2.5rem);margin-top:4.5rem;display:grid}.fencing-certificate__frame{aspect-ratio:26/19;background:#eeeeeb;border:1px solid #4b4b4b;position:relative;overflow:hidden}.fencing-certificate__frame:before{z-index:1;content:"";pointer-events:none;border:.65rem solid #111;position:absolute;inset:0}.fencing-certificate__frame img{object-fit:contain;width:100%;height:100%}.fencing-certificates figcaption{border-left:.25rem solid var(--accent);color:#d6d6d6;min-height:4.5rem;padding:1rem 1.2rem;font-size:.82rem;line-height:1.6}.fencing-schedule{color:#101010;background:var(--fencing-red-on-dark)}.fencing-schedule .fencing-eyebrow{color:#101010}.fencing-schedule .fencing-section-heading>p:last-child{color:#101010;font-weight:650}.fencing-schedule__grid{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:center;gap:clamp(3rem,8vw,8rem);display:grid}.fencing-schedule__details{color:#101010;background:#fff;border:2px solid #101010}.fencing-site .program-class-times__row{grid-template-columns:minmax(8rem,.8fr) minmax(0,1.2fr);gap:0;display:grid}.fencing-site .program-class-times__row+.program-class-times__row{border-top:1px solid #8d8d8d}.fencing-site .program-class-times dt,.fencing-site .program-class-times dd{padding:1.4rem 1.5rem}.fencing-site .program-class-times dt{color:#4d4d4d;letter-spacing:.12em;text-transform:uppercase;font-size:.72rem;font-weight:800}.fencing-site .program-class-times dd{border-left:1px solid #8d8d8d;font-weight:900}.fencing-schedule__note{color:#4d4d4d;border-top:1px solid #8d8d8d;padding:1.1rem 1.5rem;font-size:.82rem;font-weight:700}.fencing-faq{background:#0b0b0b;border-bottom:1px solid #333}.fencing-faq__grid{grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr);align-items:start;gap:clamp(3rem,8vw,8rem);display:grid}.fencing-faq__list{border-top:2px solid #fff}.fencing-faq__list details{border-bottom:1px solid #4b4b4b}.fencing-faq__list summary{cursor:pointer;justify-content:space-between;align-items:center;gap:1rem;min-height:5.2rem;padding:1.25rem 0;font-size:1.15rem;font-weight:800;line-height:1.35;list-style:none;display:flex}.fencing-faq__list summary::-webkit-details-marker{display:none}.fencing-faq__list summary:after{content:"+";color:var(--accent);flex:none;font-size:1.8rem;font-weight:400}.fencing-faq__list details[open] summary:after{content:"−"}.fencing-faq__list details p{color:#d0d0d0;max-width:43rem;padding:0 2rem 1.6rem 0;line-height:1.75}.fencing-contact{padding-bottom:0}.fencing-contact__card{background:linear-gradient(115deg, transparent 0 64%, #ffffff14 64.1%), var(--accent);border:2px solid #fff;padding:clamp(2.2rem,7vw,6rem);position:relative;overflow:hidden}.fencing-contact__card:after{color:#0000001f;content:"FENCE";letter-spacing:-.09em;pointer-events:none;font-size:clamp(6rem,18vw,15rem);font-weight:900;line-height:1;position:absolute;inset:auto -3rem -7rem auto}.fencing-contact__card>*{z-index:1;position:relative}.fencing-contact .fencing-eyebrow{color:#fff}.fencing-contact__card h2{max-width:48rem}.fencing-contact__card>p:not(.fencing-eyebrow){color:#fff;max-width:38rem;margin-top:1.4rem;line-height:1.7}.fencing-button--light{color:#050505;background:#fff;border-color:#fff}.fencing-button--light:hover{color:#fff;background:#050505;border-color:#050505}.fencing-phone{color:#fff;letter-spacing:.08em;text-underline-offset:.35em;text-transform:uppercase;align-items:center;min-height:3.35rem;font-size:.85rem;font-weight:900;text-decoration:underline;text-decoration-thickness:.12em;display:inline-flex}.fencing-site>footer{margin-top:8rem}@keyframes fencing-rise{0%{opacity:0;transform:translateY(1.25rem)}}@keyframes fencing-fade{0%{opacity:0}}@media (max-width:1023px){.fencing-hero{min-height:auto}.fencing-hero__grid{grid-template-columns:1fr}.fencing-hero__graphic{display:none}}@media (max-width:767px){.fencing-shell{width:min(100% - 2rem,76rem)}.fencing-site :is(#overview,#training,#gallery,#instructor,#schedule,#faq,#contact){scroll-margin-top:10rem}.fencing-hero{padding:9rem 0 4.5rem}.fencing-hero h1{font-size:clamp(3.75rem,18vw,5.75rem)}.fencing-hero__actions,.fencing-button{width:100%}.fencing-subnav{top:4.9rem}.fencing-subnav .fencing-shell{width:100%}.fencing-subnav ul{justify-content:flex-start;padding-inline:1rem}.fencing-overview__grid,.fencing-instructor__intro,.fencing-schedule__grid,.fencing-faq__grid{grid-template-columns:1fr}.fencing-overview__content{border-top:.35rem solid var(--accent);border-left:0;padding-top:1.5rem;padding-left:0}.fencing-weapons,.fencing-certificates,.fencing-outcomes{grid-template-columns:1fr}.fencing-weapon{min-height:auto}.fencing-weapon+.fencing-weapon{border-top:1px solid #a8a8a8;border-left:0}.fencing-weapon h3{margin-top:2.75rem}.fencing-outcomes li:not(:nth-child(3n+1)){border-left:0}.fencing-instructor__intro h2{grid-row:auto}.fencing-site .program-class-times__row{grid-template-columns:1fr}.fencing-site .program-class-times dd{border-top:1px solid #d0d0d0;border-left:0;padding-top:.85rem}.fencing-contact__card{padding-inline:1.4rem}.fencing-contact__actions{flex-direction:column;align-items:stretch}.fencing-phone{justify-content:center}}@media (prefers-reduced-motion:reduce){.fencing-hero__copy,.fencing-hero__graphic{animation:none}.fencing-button{transition:none}}body:has(.fencing-site) header{--background:#050505;--foreground:#fff;--accent:#e31b23;--accent-foreground:#fff;--muted:#181818;--muted-foreground:#d6d6d6;--border:#494949;--glass-bg:#050505f5;--glass-border:#ffffff38}.fencing-site .program-header{border-bottom:.2rem solid var(--accent);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#050505f5}.fencing-site .program-header__back{color:#fff;transition:color .2s}.fencing-site .program-header__back:hover,.fencing-site .program-header__program{color:var(--fencing-red-on-dark)}.fencing-site .program-footer{border-top:.2rem solid var(--accent);background:#050505}.fencing-site .program-footer__program{color:#fff;text-transform:uppercase;letter-spacing:.04em}.fencing-site .program-footer__dojo,.fencing-site .program-footer__contact,.fencing-site .program-footer__legal{color:#d6d6d6}.fencing-site .program-footer__contact a,.fencing-site .program-footer__links a{color:#fff;transition:color .2s}.fencing-site .program-footer__contact a:hover,.fencing-site .program-footer__links a:hover{color:var(--fencing-red-on-dark)}.fencing-flyer{border:5px solid #fff;border-radius:.6rem;width:100%;max-width:24rem;height:auto;margin-top:1.75rem;box-shadow:0 12px 30px #00000073}
