@charset "UTF-8";
:root{--paper:#f3f1e9;--ink:#20211e;--muted:#64645c;--red:#d51b2c;--line:#d3d2c9;--white:#fffef8;--pad:clamp(22px,5vw,88px)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:108px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit}img{max-width:100%;display:block}button,a,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--red);outline-offset:6px}::selection{background:var(--red);color:white}h1,h2,h3,p{margin:0}p{line-height:1.65}h1,h2,h3{font-weight:750;letter-spacing:-.055em;line-height:1.02}.skip-link{position:fixed;top:-100px;left:20px;z-index:100;background:var(--ink);color:white;padding:15px}.skip-link:focus{top:10px}.site-header{height:100px;padding:0 var(--pad);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:var(--paper);position:relative;z-index:20}.brand{display:flex;align-items:center;gap:14px;font-size:24px;letter-spacing:-.06em;font-weight:800;line-height:1}.brand small{display:block;font-size:10px;letter-spacing:.3em;margin-top:6px}.brand-symbol{width:45px;height:45px;border:2px solid var(--ink);border-radius:38% 42% 38% 42%;display:grid;place-items:center;transform:rotate(45deg)}.brand-symbol i{width:21px;height:21px;background:var(--red);border-radius:50%}.brand-logo{width:50px;height:60px;object-fit:contain}.site-header nav{display:flex;align-items:center;gap:36px;font-size:13px;font-weight:600}.site-header nav>a:not(.nav-contact){padding:12px 0;border-bottom:1px solid transparent}.site-header nav>a:hover{border-color:var(--ink)}.nav-contact{border:1px solid var(--ink);padding:15px 20px;display:flex;gap:30px;align-items:center}.nav-contact:hover{background:var(--ink);color:var(--paper)}.menu-toggle{display:none}.hero{padding:75px var(--pad) 32px;display:grid;grid-template-columns:1.06fr 1fr;column-gap:40px;position:relative;overflow:hidden;max-width:1800px;margin:auto}.eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:.14em;font-weight:600;display:flex;align-items:center;gap:10px}.red-dot{width:8px;height:8px;border-radius:50%;background:var(--red);display:inline-block;flex-shrink:0}.hero h1{font-size:clamp(70px,8vw,130px);max-width:660px;margin:36px 0 28px;line-height:.93}.hero-description{font-size:16px;max-width:390px;color:var(--muted);margin-bottom:32px}.button{display:inline-flex;justify-content:space-between;align-items:center;gap:32px;padding:22px 24px;min-height:62px;font-size:12px;font-weight:600;transition:background .2s,transform .2s}.button:hover{transform:translateY(-3px)}.button-red{color:white;background:var(--red)}.button-red:hover{background:#b61222}.button span{font-size:22px;font-weight:400}.hero-note{font-size:11px;display:flex;align-items:center;gap:10px;margin-top:22px;color:var(--muted)}.note-line{width:24px;height:1px;background:var(--muted)}.hero-art{position:relative;min-width:0;align-self:center;margin-top:10px;padding:35px 10px 0 30px}.hero-orbit{position:absolute;width:370px;height:370px;background:var(--red);border-radius:50%;right:-30px;top:-20px}.hero-photo{width:100%;height:500px;object-fit:cover;position:relative;z-index:1}.photo-placeholder{background-color:#b7b7a9;position:relative;overflow:hidden;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:#34372f;text-align:center;padding:30px;background-image:repeating-linear-gradient(0deg,transparent 0,transparent 64px,#0000000c 65px,#0000000c 66px),repeating-linear-gradient(90deg,transparent 0,transparent 64px,#0000000c 65px,#0000000c 66px)}.photo-placeholder:before{content:"";position:absolute;width:70%;height:130%;border:1px solid #ffffff40;transform:rotate(-28deg)}.photo-placeholder>span:not(.photo-cross),.photo-placeholder>small{z-index:1}.photo-placeholder>span:not(.photo-cross){font-size:19px;letter-spacing:-.025em}.photo-placeholder small{font-size:10px;color:#3b3e37;max-width:210px;line-height:1.6}.photo-cross{font-size:95px;font-weight:100;line-height:1;color:#f3f1e970;z-index:1}.hero-photo.photo-placeholder{background-color:#9a9e8d;box-shadow:15px 15px 0 #23251e}.vertical-label{position:absolute;right:-20px;top:80px;writing-mode:vertical-rl;letter-spacing:.2em;font-size:9px;z-index:2}.art-caption{display:flex;justify-content:space-between;gap:15px;font-size:9px;margin:34px 0 0;font-weight:600}.art-caption>span:first-child{letter-spacing:.07em}.scroll-hint{grid-column:1/-1;margin-top:50px;font-size:10px;letter-spacing:.07em;display:flex;align-items:center;gap:24px}.scroll-hint span{font-size:22px}.discipline-strip{display:flex;justify-content:space-between;align-items:center;gap:20px;background:var(--ink);color:var(--paper);padding:25px var(--pad);font-size:13px;white-space:nowrap;overflow:auto;scrollbar-width:none}.discipline-strip i{font-style:normal;color:#d9565f;font-size:19px}.section-pad{padding:90px var(--pad)}.section-marker{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:17px;font-size:10px;font-weight:600;letter-spacing:.08em;margin-bottom:58px}.judo-grid{display:grid;grid-template-columns:1fr 1fr;gap:9vw;align-items:center}.judo-photo{height:510px;width:100%;object-fit:cover;background-color:#c9c1b2}.judo-visual{position:relative}.photo-tag{position:absolute;bottom:24px;left:24px;background:var(--paper);padding:16px 20px;font-size:11px}.judo-copy h2{font-size:clamp(42px,4.6vw,72px);margin:24px 0}.judo-copy>p:not(.eyebrow){font-size:15px;color:var(--muted);max-width:430px}.text-link{display:inline-flex;align-items:center;justify-content:space-between;gap:42px;font-size:12px;font-weight:600;border-bottom:1px solid currentColor;padding:12px 0}.judo-copy .text-link{margin-top:24px}.judo-signature{border-top:1px solid var(--line);margin-top:42px;padding-top:20px;display:flex;align-items:center;gap:24px}.judo-signature>span{font-family:serif;font-size:40px;color:var(--red)}.judo-signature small{font-size:10px;line-height:1.8;color:var(--muted)}.values-section{background:#e5e3d9;display:grid;grid-template-columns:1fr 1fr;gap:9vw}.values-intro h2{font-size:clamp(42px,4.6vw,72px);max-width:430px;margin:25px 0}.values-intro>p:last-child{font-size:15px;max-width:320px;color:var(--muted)}.values-list article{display:flex;gap:25px;padding:28px 0;border-top:1px solid #bdbdb0}.values-list article:first-child{padding-top:0;border-top:none}.values-list article>span{font-size:10px;color:var(--red);padding-top:4px}.values-list h3{font-size:24px;letter-spacing:-.035em;line-height:1.15;margin-bottom:12px}.values-list p{font-size:13px;color:var(--muted);max-width:390px}.section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:46px;gap:30px}.section-heading h2{font-size:clamp(45px,5.6vw,86px)}.section-heading p{font-size:13px;color:var(--muted)}.course{border-top:1px solid var(--line)}.course:last-child{border-bottom:1px solid var(--line)}.course summary{list-style:none;display:grid;grid-template-columns:70px 1fr 50px;align-items:center;padding:28px 0;cursor:pointer}.course summary::-webkit-details-marker{display:none}.course-number{font-size:11px;color:var(--muted)}.course-name{font-size:clamp(27px,3.2vw,50px);font-weight:600;letter-spacing:-.045em;display:flex;align-items:center;justify-content:space-between;gap:20px;padding-right:55px}.course-name small{font-size:9px;font-weight:400;letter-spacing:.1em;color:var(--muted)}.course-toggle{width:40px;height:40px;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;font-size:24px;transition:transform .2s}.course[open] .course-toggle{transform:rotate(45deg);background:var(--ink);color:var(--paper);border-color:var(--ink)}.course-featured .course-name{color:var(--red)}.course-body{padding:0 80px 30px 70px;display:grid;grid-template-columns:1fr 1fr;gap:10vw}.course-body>p{font-size:16px;max-width:380px}.course-practical{font-size:12px;color:var(--muted)}.course-body .text-link{margin-top:10px}.locations-section{background:#e5e3d9}.locations-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:28px}.location-main{background:var(--paper)}.location-photo{height:290px;width:100%;object-fit:cover;background-color:#aaa99b}.location-info{padding:35px}.location-info h3{font-size:32px;margin:15px 0}.location-info>p:not(.eyebrow){font-size:13px;color:var(--muted)}.hours{white-space:pre-line;margin-top:15px}.location-soon{background:var(--ink);color:var(--paper);padding:35px;display:flex;flex-direction:column;align-items:start}.status{font-size:9px;text-transform:uppercase;letter-spacing:.12em;display:flex;align-items:center;gap:10px}.soon-art{position:relative;align-self:center;width:180px;height:180px;margin:35px 0 38px;display:grid;place-items:center;border:1px solid #65665a;border-radius:50%}.soon-art:before,.soon-art:after{content:"";position:absolute;inset:10px;border:1px solid #65665a;border-radius:50%;transform:translateX(30px)}.soon-art:after{transform:translateX(-30px)}.soon-art span{font-size:110px;font-weight:100;color:var(--red);line-height:1}.location-soon h3{font-size:42px;max-width:340px;margin-bottom:20px}.location-soon>p{font-size:13px;color:#c3c3b7;max-width:350px}.location-soon .text-link{margin-top:25px}.contact-section{background:var(--red);color:var(--white);padding-top:80px;padding-bottom:85px}.contact-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:8vw;align-items:center;margin-top:34px}.contact-grid h2{font-size:clamp(52px,6.2vw,96px);max-width:660px}.contact-grid>div>p{max-width:450px;font-size:14px;margin-top:25px;color:#ffe0dc}.contact-actions{display:flex;flex-direction:column;align-items:start}.button-dark{background:var(--ink);color:var(--paper);min-width:270px}.button-dark:hover{background:#34362f}.contact-phone{font-size:clamp(25px,3vw,44px);letter-spacing:-.04em;margin-top:24px;border-bottom:1px solid #ffffff65;padding-bottom:9px}.contact-grid .contact-note{font-size:11px;color:#ffe0dc;margin-top:16px}.site-footer{padding:50px var(--pad) 25px}.footer-brand{font-size:25px;letter-spacing:-.05em;font-weight:700}.footer-brand span{font-weight:400}.site-footer>p{font-size:11px;margin-top:10px;color:var(--muted)}.site-footer>div{display:flex;align-items:center;gap:25px;border-top:1px solid var(--line);padding-top:25px;margin-top:45px;font-size:10px;color:var(--muted)}.site-footer>div>span{margin-right:auto}.content-page{min-height:65vh;max-width:1100px;margin:auto}.content-page h1{font-size:clamp(40px,6vw,80px);margin-bottom:30px}.content-page h2{font-size:36px;margin:25px 0}.content-page p{margin:20px 0}.content-page a:not(.button){text-decoration:underline}.content-page article{margin-bottom:50px}.content-page ul,.content-page ol{line-height:1.7}.content-page figure{margin:20px 0}.content-page iframe{max-width:100%}
@media(min-width:1600px){.section-pad,.site-header,.site-footer,.discipline-strip{padding-left:max(var(--pad),calc((100vw - 1624px)/2));padding-right:max(var(--pad),calc((100vw - 1624px)/2))}}
@media(max-width:1000px){.site-header nav{gap:20px}.hero{gap:25px;padding-top:55px}.hero h1{font-size:85px}.hero-photo{height:460px}.hero-orbit{width:290px;height:290px}.hero-art{padding-left:10px}.hero .button{font-size:11px;padding:18px;gap:15px}.art-caption>span:last-child{display:none}.judo-grid,.values-section{gap:6vw}.judo-photo{height:460px}.course-name small{display:none}.contact-grid{gap:4vw}.button-dark{min-width:230px}}
@media(max-width:700px){html{scroll-padding-top:24px}.site-header{height:82px}.brand{font-size:20px}.brand-symbol{width:36px;height:36px}.brand-symbol i{width:17px;height:17px}.brand small{font-size:8px}.menu-toggle{display:flex;align-items:center;gap:14px;border:none;background:transparent;padding:12px 0;font-size:12px}.menu-toggle span{font-size:20px}.site-header nav{display:flex;flex-direction:column;align-items:stretch;gap:0;position:absolute;left:0;right:0;top:82px;padding:15px var(--pad) 25px;background:var(--paper);border-bottom:1px solid var(--line)}.js .site-header nav:not(.is-open){display:none}body:not(.js) .site-header{margin-bottom:220px}.site-header nav>a{padding:15px 0!important}.site-header .nav-contact{border:none;justify-content:space-between;color:var(--red)}.hero{grid-template-columns:1fr;padding-top:38px}.hero h1{font-size:clamp(72px,15.5vw,106px);max-width:480px;margin:28px 0 22px}.hero-description{font-size:14px;max-width:390px}.hero .button{padding:20px;max-width:100%;gap:18px;font-size:11px}.hero-note{margin-top:18px}.hero-art{margin-top:25px;padding:25px 15px 0 0;max-width:520px;width:100%;justify-self:center}.hero-photo{height:350px}.hero-orbit{right:-12px;top:0;width:235px;height:235px}.vertical-label{right:-6px;top:60px}.art-caption{margin-top:28px}.art-caption>span:last-child{display:block;font-size:8px}.scroll-hint{margin-top:20px}.discipline-strip{justify-content:start;padding-top:20px;padding-bottom:20px;font-size:11px;gap:22px}.section-pad{padding-top:60px;padding-bottom:60px}.section-marker{font-size:8px;margin-bottom:35px;gap:15px}.judo-grid,.values-section,.contact-grid{grid-template-columns:1fr;gap:35px}.judo-photo{height:360px}.judo-copy h2,.values-intro h2{font-size:48px;max-width:450px}.judo-copy>p:not(.eyebrow){font-size:14px}.judo-signature{margin-top:28px}.values-list h3{font-size:22px}.values-list article:first-child{border-top:1px solid #bdbdb0;padding-top:25px}.section-heading{display:block;margin-bottom:32px}.section-heading h2{font-size:50px}.section-heading p{margin-top:22px}.course summary{grid-template-columns:35px 1fr 35px;padding:23px 0}.course-name{font-size:30px;padding-right:15px}.course-toggle{width:32px;height:32px;font-size:22px}.course-number{font-size:9px}.course-body{grid-template-columns:1fr;gap:18px;padding:0 35px 25px}.course-body>p{font-size:14px}.locations-grid{grid-template-columns:1fr;gap:22px}.location-photo{height:260px}.location-info,.location-soon{padding:26px}.location-info h3{font-size:28px}.location-soon h3{font-size:42px}.soon-art{margin:25px 0 30px;width:150px;height:150px}.contact-grid h2{font-size:62px}.contact-grid>div>p{font-size:13px}.contact-phone{font-size:32px}.contact-actions .button{width:100%}.site-footer{padding-top:35px}.site-footer>div{gap:18px;flex-wrap:wrap}.site-footer>div>span{flex-basis:100%}.footer-brand{font-size:22px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
