@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@400;500;600&family=Inter:wght@400;500;600&display=swap');
:root{--bg:#090b0c;--panel:#111315;--text:#f2eee8;--muted:#b8b7b4;--gold:#b58d45;--border:#383634}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,Arial,sans-serif;font-size:15px;line-height:1.7}a{color:inherit;text-decoration:none}a:focus-visible,button:focus-visible{outline:2px solid var(--gold);outline-offset:4px}.site-header{height:84px;position:relative;z-index:5;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(24px,5vw,90px);background:linear-gradient(#0a0c0e,#0a0c0ee8)}.brand{display:flex;align-items:center;gap:15px;min-width:0}.brand-logo{width:57px;height:57px;object-fit:contain}.brand-name{font-family:'Cormorant Garamond',Georgia,serif;font-size:clamp(19px,2.1vw,30px);letter-spacing:.085em;white-space:nowrap}nav{display:flex;align-items:center;gap:clamp(17px,2.4vw,38px)}nav a{font-size:14px;transition:color .2s;white-space:nowrap}nav a:hover,nav a.active{color:#e5c88c}nav a.active{border-bottom:2px solid var(--gold);padding-bottom:7px}.youtube-link{background:#c71824;border-radius:6px;padding:1px 12px;color:#fff;font-size:17px}.menu-toggle{display:none}.hero{position:relative;min-height:315px;display:flex;align-items:flex-start;justify-content:center;text-align:center;overflow:hidden;background:linear-gradient(180deg,rgba(8,10,12,.60) 0%,rgba(8,10,12,.04) 48%,#090b0c 100%),url('../images/mountain-atmosphere.webp') center 50%/cover no-repeat}.hero-inner{position:relative;z-index:1;width:100%;padding:30px 18px 92px}.hero-kicker{display:none}.hero h1{font-family:'Cormorant Garamond',Georgia,serif;font-size:clamp(38px,5.8vw,79px);font-weight:500;letter-spacing:.17em;line-height:1.1;margin:0 auto 18px;text-shadow:0 3px 24px #000}.hero-tagline{display:flex;align-items:center;justify-content:center;gap:24px;font-size:clamp(10px,1.25vw,17px);font-weight:500;letter-spacing:.2em;line-height:1.6;margin:0 auto;max-width:1140px}.hero-tagline b{font-weight:400;margin:0 8px}.gold-line{display:block;height:2px;width:75px;flex-shrink:1;background:linear-gradient(90deg,transparent,var(--gold))}.gold-line:last-child{transform:rotate(180deg)}.section{padding:65px clamp(24px,6.4vw,104px)}.philosophy{position:relative;margin-top:-85px;padding-top:22px;z-index:2;background:linear-gradient(180deg,transparent,#090b0c 110px)}.section-head{text-align:center;margin:0 auto 30px}.eyebrow{font-size:10px;letter-spacing:.23em;text-transform:uppercase;color:var(--gold);margin:0 0 12px}.section-head h2,.contact h2{font-family:'Cormorant Garamond',Georgia,serif;font-size:clamp(39px,4.4vw,61px);font-weight:500;line-height:1.15;margin:0;letter-spacing:.045em}.section-head h2 em,.contact h2 em{font-style:normal}.section-head:after{content:'';display:block;width:75px;height:2px;background:var(--gold);margin:16px auto 0}.pillars{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(14px,2vw,30px);max-width:1360px;margin:auto}.pillar{text-align:center;min-width:0}.pillar-image{width:100%;aspect-ratio:2.25/1;object-fit:cover;display:block;border:1px solid #454545;filter:grayscale(1)}.pillar-image.martial{object-position:center 42%}.pillar-image.justice{object-position:center 35%}.pillar-image.serenity{object-position:center 50%}.pillar h3{font-family:'Cormorant Garamond',Georgia,serif;font-size:clamp(24px,2.35vw,35px);font-weight:500;letter-spacing:.08em;text-transform:uppercase;line-height:1.1;margin:18px 0 8px}.pillar-rule{width:72px;height:1px;background:var(--gold);margin:0 auto 12px}.pillar p{font-size:clamp(13px,1.1vw,16px);line-height:1.65;color:#d9d8d6;max-width:360px;margin:0 auto}.quote-section{margin:0 clamp(24px,6.4vw,104px);border-top:1px solid var(--gold);padding:38px 0 30px}.quote-layout{display:grid;grid-template-columns:34% 1fr;gap:5%;align-items:center;max-width:1250px;margin:auto}.bruce-portrait{grid-column:1;grid-row:1;width:100%;max-height:285px;object-fit:contain;object-position:bottom center}.quote-wrap{grid-column:2;grid-row:1;border-left:1px solid #51432b;padding:25px 0 25px 6%;}.quote-mark{display:none}.quote-wrap blockquote{font-family:'Cormorant Garamond',Georgia,serif;font-style:italic;font-size:clamp(25px,2.7vw,39px);line-height:1.25;margin:0 0 18px}.quote-author{font-size:12px;letter-spacing:.24em;text-transform:uppercase}.testimonials{border-top:1px solid #272727}.testimonial-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;max-width:1250px;margin:auto}.testimonial{margin:0;padding:30px;background:#121415;border:1px solid #2c2c2c;min-height:180px}.testimonial blockquote{font-family:'Cormorant Garamond',Georgia,serif;font-size:26px;line-height:1.25;margin:8px 0}.quote-icon{font-size:40px;color:var(--gold);line-height:1}.contact{background:#101214;border-top:1px solid #2c2c2c}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:8%;max-width:1200px;margin:auto}.contact-lead{font-size:17px;color:var(--muted);margin:18px 0 28px}.contact-lead a{color:#fff;text-decoration:underline;text-decoration-color:var(--gold);text-underline-offset:4px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:22px;padding:14px 20px;background:var(--gold);color:#111;font-weight:600;font-size:13px;transition:background .2s}.button:hover{background:#d3ae69}.class-details{border-left:1px solid #444;padding-left:32px}.class-details h3{font-family:'Cormorant Garamond',Georgia,serif;font-size:35px;font-weight:500;margin:0}.class-details ul{padding-left:20px;color:var(--muted)}.class-details li{margin:0 0 10px}.text-link{display:inline-block;border-bottom:1px solid var(--gold);padding-bottom:4px;margin-top:10px}footer{padding:38px clamp(24px,6.4vw,104px);background:#070809}.footer-top{display:flex;align-items:center;gap:15px;font-family:'Cormorant Garamond',Georgia,serif;font-size:25px;letter-spacing:.08em}.footer-top .brand-logo{width:46px;height:46px}.footer-bottom{display:flex;justify-content:space-between;align-items:center;gap:20px;border-top:1px solid #333;margin-top:25px;padding-top:20px;font-size:12px;color:var(--muted)}.footer-bottom p{margin:0}@media(max-width:850px){.site-header{height:75px}.brand-name{font-size:20px}.brand-logo{width:48px;height:48px}.menu-toggle{display:block;background:transparent;border:1px solid #555;color:#fff;padding:7px 11px;font:inherit;font-size:13px}nav{display:none;position:absolute;top:75px;left:0;right:0;background:#101214;padding:24px;flex-direction:column;align-items:stretch;gap:18px;border-bottom:1px solid #555}nav.open{display:flex}.hero{min-height:290px}.hero-inner{padding-top:46px}.hero h1{letter-spacing:.09em}.hero-tagline{gap:10px;letter-spacing:.09em}.gold-line{width:25px}.philosophy{margin-top:-60px}.pillars{gap:12px}.pillar h3{font-size:24px}.pillar p{font-size:13px}}@media(max-width:650px){.brand-name{font-size:17px;letter-spacing:.04em}.site-header{padding:0 16px}.hero{min-height:260px}.hero h1{font-size:37px}.hero-tagline{font-size:10px;line-height:1.9}.gold-line{display:none}.section{padding:45px 20px}.philosophy{padding-top:15px}.pillars{grid-template-columns:1fr;gap:35px;max-width:450px}.pillar-image{aspect-ratio:2.2/1}.pillar h3{margin-top:14px}.pillar p{font-size:14px}.quote-section{margin:0 20px}.quote-layout{grid-template-columns:1fr;gap:10px}.bruce-portrait{grid-column:1;grid-row:1;max-height:230px}.quote-wrap{grid-column:1;grid-row:2;border-left:none;border-top:1px solid #51432b;padding:20px 0;text-align:center}.quote-wrap blockquote{font-size:30px}.testimonial-grid,.contact-grid{grid-template-columns:1fr}.class-details{border-left:0;border-top:1px solid #444;padding:25px 0 0}.footer-bottom{align-items:flex-start;flex-direction:column}.testimonials .section-head{margin-bottom:20px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Make the studio link clearly recognizable on dark backgrounds. */
.footer-bottom .studio-link{color:#d9bb7c;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px;text-decoration-color:currentColor;font-weight:600;transition:color .2s ease}
.footer-bottom .studio-link:hover,.footer-bottom .studio-link:focus-visible{color:#fff0c7;text-decoration-thickness:2px}

/* Gallery page */
.gallery-hero{min-height:310px;padding:92px 30px 70px;text-align:center;background:linear-gradient(180deg,rgba(12,14,15,.55),#111315),url('../images/mountain-atmosphere.webp') center/cover no-repeat}.gallery-hero h1{font-family:'Cormorant Garamond',Georgia,serif;font-weight:400;font-size:clamp(46px,6vw,82px);margin:12px 0}.gallery-hero h1 em{color:#d9bb7c;font-weight:400}.gallery-hero>p:last-child{color:#c4c2bd;font-size:15px;line-height:1.7}.gallery-section{padding-top:55px}.gallery-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:38px 26px;max-width:1150px;margin:0 auto}.gallery-video{min-width:0}.video-frame{aspect-ratio:16/9;background:#080909;border:1px solid #353535;overflow:hidden}.video-frame iframe{width:100%;height:100%;border:0;display:block}.gallery-video h3{font-family:'Cormorant Garamond',Georgia,serif;font-size:26px;font-weight:500;margin:13px 0 0;color:#f0eee9}.gallery-cta{text-align:center;margin:65px auto 10px;border-top:1px solid #343434;padding-top:35px}.gallery-cta p{color:#d4d0c8;margin-bottom:20px}@media(max-width:700px){.gallery-hero{padding:65px 20px;min-height:260px}.gallery-grid{grid-template-columns:1fr;gap:30px}.gallery-video h3{font-size:24px}}

/* Featured first gallery video; four subsequent videos remain in a two-column grid. */
.gallery-video-featured{grid-column:1 / -1;width:100%;max-width:900px;justify-self:center;margin-bottom:18px}
.gallery-video-featured h3{text-align:center;font-size:clamp(27px,3vw,37px)}
@media(max-width:700px){.gallery-video-featured{grid-column:auto;margin-bottom:6px}.gallery-video-featured h3{font-size:26px}}

/* V5.6 — real training photography, arranged around a portrait centerpiece. */
.gallery-photos-section{padding-top:58px;padding-bottom:50px}
.photo-mosaic{max-width:1150px;margin:0 auto;display:grid;grid-template-columns:1fr 1.12fr 1fr;grid-template-rows:repeat(2,230px);gap:16px}
.photo-tile{margin:0;min-width:0;overflow:hidden;background:#171819;border:1px solid #343434}
.photo-tile img{display:block;width:100%;height:100%;object-fit:cover;filter:grayscale(1);transition:transform .45s ease}
.photo-tile:hover img{transform:scale(1.035)}
.photo-five{grid-column:1;grid-row:1}.photo-four{grid-column:3;grid-row:1}.photo-three{grid-column:2;grid-row:1 / 3}.photo-two{grid-column:1;grid-row:2}.photo-one{grid-column:3;grid-row:2}
.photo-three img{object-position:center center}.photo-two img{object-position:center center}
.gallery-photos-section+.gallery-section{border-top:1px solid #272727}
@media(max-width:850px){.photo-mosaic{grid-template-rows:repeat(2,185px);gap:12px}}
@media(max-width:650px){.gallery-photos-section{padding-top:42px;padding-bottom:38px}.photo-mosaic{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(3,170px);gap:10px}.photo-three{grid-column:1;grid-row:1 / 3}.photo-five{grid-column:2;grid-row:1}.photo-four{grid-column:2;grid-row:2}.photo-two{grid-column:1;grid-row:3}.photo-one{grid-column:2;grid-row:3}}
@media(max-width:390px){.photo-mosaic{grid-template-rows:repeat(3,135px)}}
@media(prefers-reduced-motion:reduce){.photo-tile img{transition:none}}

/* V5.8 — a quiet invitation to explore the separate Gallery page. */
.gallery-preview{border-top:1px solid #292929;background:#0c0e0f;padding-top:55px;padding-bottom:55px}
.gallery-preview-layout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);align-items:center;gap:clamp(30px,6vw,95px);max-width:1120px;margin:0 auto}
.gallery-preview-image{display:block;overflow:hidden;border:1px solid #3b3936;background:#151617;aspect-ratio:1.8/1}
.gallery-preview-image img{width:100%;height:100%;object-fit:cover;object-position:center 44%;filter:grayscale(1);display:block;transition:transform .45s ease}
.gallery-preview-image:hover img{transform:scale(1.035)}
.gallery-preview-copy h2{font-family:'Cormorant Garamond',Georgia,serif;font-size:clamp(38px,4.2vw,61px);font-weight:500;line-height:1.1;letter-spacing:.02em;margin:0 0 18px}
.gallery-preview-copy h2 em{font-weight:400;color:#d9bb7c}
.gallery-preview-copy>p:not(.eyebrow){color:var(--muted);max-width:370px;margin:0 0 24px}
.gallery-preview-link{display:inline-flex;gap:22px;align-items:center;border-bottom:1px solid var(--gold);padding-bottom:7px;font-size:13px;letter-spacing:.045em;transition:color .2s}
.gallery-preview-link:hover{color:#e5c88c}
@media(max-width:650px){.gallery-preview-layout{grid-template-columns:1fr;gap:27px}.gallery-preview-image{aspect-ratio:1.7/1}.gallery-preview-copy h2{font-size:43px}}
@media(prefers-reduced-motion:reduce){.gallery-preview-image img{transition:none}}
