@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Noto+Serif:wght@500;600;700&display=swap');

:root{--ink:#1f1d1b;--muted:#6b6660;--paper:#f7f4ef;--white:#fff;--red:#a92424;--red-dark:#761818;--line:#ddd6cd;--dark:#1b1a18;--max:1180px;--shadow:0 18px 50px rgba(0,0,0,.12)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.65}img{display:block;max-width:100%}a{color:inherit}.container{width:min(calc(100% - 40px),var(--max));margin-inline:auto}.section{padding:92px 0}.section-dark{padding:92px 0;background:var(--dark);color:#f7f3ed}.skip-link{position:fixed;left:16px;top:-60px;background:#fff;padding:10px 14px;z-index:1000}.skip-link:focus{top:16px}.site-header{position:sticky;top:0;z-index:50;background:rgba(247,244,239,.95);backdrop-filter:blur(12px);border-bottom:1px solid rgba(0,0,0,.07)}.header-inner{min-height:82px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;align-items:center;gap:12px;text-decoration:none}.brand img{width:58px;height:58px;object-fit:contain;border-radius:50%}.brand span{display:grid;line-height:1.15}.brand strong{font-family:"Noto Serif",serif;font-size:17px}.brand small{font-size:12px;color:var(--muted);margin-top:4px}.main-nav{display:flex;align-items:center;gap:24px}.main-nav a{text-decoration:none;font-size:14px;font-weight:600}.main-nav a:hover{color:var(--red)}.menu-toggle{display:none;border:1px solid var(--line);background:transparent;padding:9px 12px;font:inherit}.eyebrow,.section-kicker{margin:0 0 12px;text-transform:uppercase;letter-spacing:.15em;font-size:12px;font-weight:700;color:var(--red)}h1,h2,h3{font-family:"Noto Serif",serif;line-height:1.1;margin:0 0 18px}h1{font-size:clamp(44px,7vw,86px)}h2{font-size:clamp(34px,4vw,54px)}h3{font-size:25px}.button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 22px;background:var(--red);color:#fff;text-decoration:none;font-weight:700;border:1px solid var(--red);transition:.2s}.button:hover{background:var(--red-dark);border-color:var(--red-dark)}.button-light{background:#fff;color:var(--dark);border-color:#fff}.button-outline{background:transparent;color:inherit}.text-link-light{color:#fff;font-weight:700;text-decoration:none}.split{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:start}.intro-copy p:first-child{margin-top:0}.intro-copy p{font-size:18px;color:#514d48}.section-dark .intro-copy p{color:#d7d0c8}.section-heading{display:flex;justify-content:space-between;gap:50px;align-items:end;margin-bottom:42px}.section-heading>p{max-width:440px;color:var(--muted);margin:0}.section-dark .section-heading>p{color:#bdb5ad}

/* Home */
.hero{min-height:calc(100vh - 82px);position:relative;display:flex;align-items:end;overflow:hidden;color:#fff;padding:80px 0}.hero-collage{position:absolute;inset:0;display:grid;grid-template-columns:1fr 1.2fr 1fr}.hero-tile{margin:0;overflow:hidden}.hero-tile img{width:100%;height:100%;object-fit:cover}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(12,12,12,.82) 0%,rgba(12,12,12,.58) 45%,rgba(12,12,12,.32) 100%)}.hero-content{position:relative;z-index:2}.hero .eyebrow{color:#fff}.hero-copy{font-size:19px;max-width:690px}.discipline-chooser{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:38px}.choice-card{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:16px;padding:18px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.35);text-decoration:none;backdrop-filter:blur(8px)}.choice-card:hover{background:rgba(255,255,255,.2)}.choice-card span:nth-child(2){display:grid}.choice-card small{opacity:.8}.choice-index{font-size:11px;opacity:.7}.arrow{font-size:24px}.room-grid{display:grid;grid-template-columns:1.45fr .75fr;gap:60px;align-items:center}.room-photo img{width:100%;aspect-ratio:16/10;object-fit:cover}.facts{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin:34px 0 0}.facts div{border-top:1px solid #555;padding-top:16px}.facts dt{font-size:22px;font-family:"Noto Serif",serif;font-weight:700}.facts dd{margin:4px 0 0;color:#bdb5ad}.discipline-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.discipline-card{background:#fff;border:1px solid var(--line)}.discipline-image img{width:100%;aspect-ratio:4/3;object-fit:cover}.discipline-body{padding:26px}.discipline-number{font-size:12px;color:var(--red);font-weight:700}.discipline-body a{font-weight:700;text-decoration:none}.feature-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:38px}.feature-grid article{padding:28px;background:#fff;border:1px solid var(--line)}.feature-grid article>span{font-size:30px;color:var(--red)}.location-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:50px}.location-copy address{font-style:normal;font-size:21px;margin:20px 0}.map-wrap iframe{width:100%;height:430px;border:0}.closing-cta{padding:50px 0;background:var(--red);color:#fff}.closing-inner{display:grid;grid-template-columns:auto 1fr auto;gap:28px;align-items:center}.closing-inner img{width:74px;height:74px;border-radius:50%;object-fit:contain;background:#fff}.closing-inner h2{font-size:clamp(28px,3vw,42px);margin:0}.closing-inner .section-kicker{color:#fff}.site-footer{padding:42px 0;background:#111;color:#d8d2cc}.footer-inner{display:flex;justify-content:space-between;gap:30px;align-items:start}.footer-inner p{margin:.25rem 0 0}.footer-inner a{color:#fff}

/* Discipline pages */
.aikido-hero{position:relative;min-height:720px;display:flex;align-items:center;color:#fff;overflow:hidden}.aikido-hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.aikido-hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,10,10,.86),rgba(10,10,10,.35) 62%,rgba(10,10,10,.1))}.aikido-hero-content{position:relative;z-index:2;padding-top:40px;padding-bottom:120px}.aikido-hero-content .eyebrow{color:#fff}.aikido-hero-content .hero-copy{max-width:710px}.aikido-hero-actions{display:flex;align-items:center;gap:24px;margin-top:30px}.aikido-quickbar{position:absolute;left:0;right:0;bottom:0;z-index:3;background:rgba(20,19,17,.92);border-top:1px solid rgba(255,255,255,.18)}.aikido-quickgrid{display:grid;grid-template-columns:repeat(4,1fr)}.aikido-quickgrid>div{padding:22px 24px;border-right:1px solid rgba(255,255,255,.14)}.aikido-quickgrid span{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.12em;opacity:.72}.aikido-quickgrid strong{font-family:"Noto Serif",serif;font-size:20px}.aikido-highlight-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:54px}.aikido-highlight-grid article{padding:26px;border-top:2px solid var(--red);background:#fff}.aikido-highlight-grid article>span{font-weight:700;font-size:12px;color:var(--red)}.aikido-highlight-grid p{color:var(--muted)}.aikido-definition-grid{display:grid;grid-template-columns:1fr .9fr;gap:70px;align-items:center}.aikido-definition-copy p{font-size:17px;color:#d8d1ca}.section:not(.section-dark) .aikido-definition-copy p{color:#514d48}.aikido-feature-photo img{width:100%;aspect-ratio:4/5;object-fit:cover;box-shadow:var(--shadow)}.teacher-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.teacher-card{display:grid;grid-template-columns:.8fr 1.2fr;background:#fff;color:var(--ink);border:1px solid var(--line)}.section-dark .teacher-card{background:#262421;border-color:#3c3935;color:#fff}.teacher-photo img{width:100%;height:100%;min-height:390px;object-fit:cover}.teacher-copy{padding:34px}.teacher-copy>span{display:block;color:var(--red);text-transform:uppercase;font-size:11px;letter-spacing:.12em;font-weight:700;margin-bottom:10px}.section-dark .teacher-copy>span{color:#e05b5b}.teacher-copy p{color:var(--muted)}.section-dark .teacher-copy p{color:#c9c1b9}.aikido-practical-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:70px}.course-facts{margin:0}.course-facts div{display:grid;grid-template-columns:.8fr 1.2fr;gap:20px;padding:18px 0;border-bottom:1px solid var(--line)}.course-facts dt{font-weight:700}.course-facts dd{margin:0}.aikido-gallery{display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:340px 340px;gap:8px;padding:8px}.aikido-gallery figure{margin:0;overflow:hidden}.aikido-gallery .gallery-tall{grid-row:1/3}.aikido-gallery .gallery-wide{grid-column:2/4}.aikido-gallery img{width:100%;height:100%;object-fit:cover}.judo-gallery-grid{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:310px 310px;gap:16px}.judo-gallery-grid figure{margin:0;overflow:hidden}.judo-gallery-grid .gallery-tall{grid-row:1/3}.judo-gallery-grid .gallery-wide{grid-column:2}.judo-assistants{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:24px}.judo-assistants article{padding:28px;border:1px solid #3c3935;background:#24221f}.judo-assistants span{font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:#e05b5b;font-weight:700}.judo-assistants p{color:#c9c1b9}.judo-community-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:60px;align-items:center}.judo-community-grid figure{margin:0}.judo-community-grid img{width:100%;aspect-ratio:16/9;object-fit:cover}.judo-community-grid p{color:#c9c1b9}.judo-feature-photo img{aspect-ratio:4/3}.judo-hero .aikido-hero-image{object-position:center 38%}.tai-chi-hero .aikido-hero-image{object-position:center}.inner-page{min-height:100vh;display:grid;place-items:center;text-align:center;padding:40px}.inner-page img{width:160px;margin:0 auto 24px}

@media (max-width:900px){.menu-toggle{display:block}.main-nav{display:none;position:absolute;top:82px;left:0;right:0;padding:18px 20px;background:var(--paper);border-bottom:1px solid var(--line);flex-direction:column;align-items:flex-start}.main-nav.is-open{display:flex}.split,.room-grid,.location-grid,.aikido-definition-grid,.aikido-practical-grid,.judo-community-grid{grid-template-columns:1fr}.discipline-grid,.feature-grid{grid-template-columns:1fr 1fr}.discipline-chooser{grid-template-columns:1fr}.hero{min-height:760px}.hero-collage{grid-template-columns:1fr}.hero-aikido,.hero-taichi{display:none}.teacher-grid{grid-template-columns:1fr}.aikido-quickgrid{grid-template-columns:1fr 1fr}.aikido-quickgrid>div:nth-child(2){border-right:0}.closing-inner{grid-template-columns:auto 1fr}.closing-inner .button{grid-column:1/-1;justify-self:start}.section-heading{align-items:start;flex-direction:column}.judo-gallery-grid{grid-template-columns:1fr;grid-template-rows:auto}.judo-gallery-grid .gallery-tall,.judo-gallery-grid .gallery-wide{grid-column:auto;grid-row:auto}.judo-gallery-grid img{aspect-ratio:4/3}.aikido-gallery{grid-template-columns:1fr 1fr;grid-template-rows:320px 320px}.aikido-gallery .gallery-tall{grid-row:1/3}.aikido-gallery .gallery-wide{grid-column:2}}
@media (max-width:620px){.container{width:min(calc(100% - 28px),var(--max))}.section,.section-dark{padding:68px 0}.brand small{display:none}.brand img{width:48px;height:48px}.header-inner{min-height:68px}.main-nav{top:68px}.hero{min-height:720px;padding-bottom:48px}.hero-content h1{font-size:46px}.aikido-hero{min-height:760px;align-items:start}.aikido-hero-content{padding-top:90px;padding-bottom:220px}.aikido-hero-content h1{font-size:46px}.aikido-hero-actions{align-items:flex-start;flex-direction:column}.aikido-quickgrid{grid-template-columns:1fr 1fr}.aikido-quickgrid>div{padding:16px 14px}.aikido-quickgrid strong{font-size:16px}.aikido-highlight-grid,.discipline-grid,.feature-grid,.judo-assistants{grid-template-columns:1fr}.teacher-card{grid-template-columns:1fr}.teacher-photo img{min-height:0;aspect-ratio:4/5}.course-facts div{grid-template-columns:1fr}.facts{grid-template-columns:1fr}.closing-inner{grid-template-columns:1fr}.closing-inner img{display:none}.footer-inner{flex-direction:column}.judo-hero .aikido-hero-image{object-position:54% center}.aikido-gallery{grid-template-columns:1fr;grid-template-rows:none;padding:0}.aikido-gallery .gallery-tall,.aikido-gallery .gallery-wide{grid-column:auto;grid-row:auto}.aikido-gallery img{height:auto;aspect-ratio:4/3}}
