.astro-route-announcer{position:absolute;left:0;top:0;clip:rect(0 0 0 0);clip-path:inset(50%);overflow:hidden;white-space:nowrap;width:1px;height:1px}@font-face{font-family:DM Sans Variable;font-style:normal;font-display:swap;font-weight:100 1000;src:url(/assets/dm-sans-latin-ext-wght-normal.BOFOeGcA.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Sans Variable;font-style:normal;font-display:swap;font-weight:100 1000;src:url(/assets/dm-sans-latin-wght-normal.Xz1IZZA0.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Crimson Pro Variable;font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/crimson-pro-vietnamese-wght-normal.Djpar-EE.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Crimson Pro Variable;font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/crimson-pro-latin-ext-wght-normal.4mBZvMWv.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Crimson Pro Variable;font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/crimson-pro-latin-wght-normal.C4R2PX-h.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--ink-black: #1a1a1a;--rice-white: #fafaf8;--red-lacquer: #c41e3a;--red-lacquer-dark: #a51829;--gold-leaf: #d4af37;--bamboo: #8faa8f;--stone-gray: #4a5568;--mist: rgba(250, 250, 248, .95);--font-display: "Crimson Pro Variable", "Crimson Pro", serif;--font-body: "DM Sans Variable", "DM Sans", sans-serif;--ease-out: cubic-bezier(.33, 1, .68, 1);--ease-in-out: cubic-bezier(.65, 0, .35, 1);--nav-height: 80px}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:var(--font-body);color:var(--ink-black);background-color:var(--rice-white);line-height:1.7;overflow-x:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body:before{content:"";position:fixed;inset:0;background-image:radial-gradient(circle at 20% 50%,rgba(212,175,55,.03) 0%,transparent 50%),radial-gradient(circle at 80% 80%,rgba(143,170,143,.03) 0%,transparent 50%),repeating-linear-gradient(90deg,transparent,transparent 3px,rgba(26,26,26,.015) 3px,rgba(26,26,26,.015) 4px);pointer-events:none;z-index:0;animation:textureShift 60s ease-in-out infinite alternate}@keyframes textureShift{0%{opacity:.5}to{opacity:.8}}h1,h2,h3{font-family:var(--font-display);font-weight:200;line-height:1.1;letter-spacing:-.02em}h1{font-size:clamp(3rem,8vw,6rem);margin-bottom:1.5rem}h2{font-size:clamp(2rem,5vw,4rem);margin-bottom:3rem;position:relative}h3{font-size:clamp(1.5rem,3vw,2.5rem);font-weight:400}p{font-size:1.125rem;margin-bottom:1.5rem;max-width:65ch}@keyframes fadeInUp{0%{opacity:0;transform:translate3d(0,20px,0)}to{opacity:1;transform:translateZ(0)}}.animate-in{animation:fadeInUp .8s var(--ease-out) both;opacity:0;will-change:opacity,transform}.delay-1{animation-delay:.1s}.delay-2{animation-delay:.2s}.delay-3{animation-delay:.3s}.delay-4{animation-delay:.45s}.delay-5{animation-delay:.6s}.reveal{opacity:0;transform:translate3d(0,30px,0);transition:opacity .6s var(--ease-out),transform .6s var(--ease-out);will-change:opacity,transform}.reveal.active{opacity:1;transform:translateZ(0)}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}#content:focus{outline:none}.noscript-notice{padding:2rem;text-align:center;font-family:var(--font-body)}.page-top{padding-top:calc(var(--nav-height) + 4rem)}.page-error{text-align:center}.schedule-cta{text-align:center;margin-top:4rem}.mobile-menu__cta{margin-top:1rem}nav{position:fixed;top:2rem;left:50%;transform:translate(-50%);background:var(--mist);backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);z-index:1000;padding:1rem 2rem;border-radius:100px;box-shadow:0 8px 32px #1a1a1a14;transition:all .4s var(--ease-out)}nav:hover{box-shadow:0 12px 48px #1a1a1a1f}.nav--scrolled{background:var(--mist);box-shadow:0 4px 24px #1a1a1a14}.nav-container{display:flex;align-items:center;gap:3rem}.logo{display:flex;align-items:center;gap:.75rem;text-decoration:none;color:var(--ink-black);transition:transform .3s var(--ease-out);flex-shrink:0}.logo:hover{transform:scale(1.05)}.logo svg{width:48px;height:48px;filter:drop-shadow(0 2px 4px rgba(196,30,58,.2))}.logo-text{font-family:var(--font-display);font-size:1.25rem;font-weight:600;letter-spacing:.05em}.nav-links{display:flex;gap:2rem;list-style:none;align-items:center}.nav-links a{text-decoration:none;color:var(--stone-gray);font-size:.95rem;font-weight:500;transition:all .3s var(--ease-out);position:relative;letter-spacing:.02em;white-space:nowrap}.nav-links a:before{content:"";position:absolute;bottom:-4px;left:50%;transform:translate(-50%) scaleX(0);width:100%;height:2px;background:var(--red-lacquer);transition:transform .3s var(--ease-out)}.nav-links a:hover{color:var(--red-lacquer)}.nav-links a:hover:before{transform:translate(-50%) scaleX(1)}.nav-links a.active{color:var(--red-lacquer)}.nav-links a.active:before{transform:translate(-50%) scaleX(1)}.cta-button{background:var(--red-lacquer);color:var(--rice-white);padding:.75rem 1.75rem;border:none;border-radius:50px;text-decoration:none;font-size:.95rem;font-weight:600;transition:all .3s var(--ease-out);cursor:pointer;box-shadow:0 4px 16px #c41e3a4d;letter-spacing:.02em;white-space:nowrap;flex-shrink:0}.cta-button:hover{background:var(--red-lacquer-dark);transform:translateY(-2px);box-shadow:0 8px 24px #c41e3a66}.cta-primary{background:var(--red-lacquer);color:var(--rice-white);padding:1.25rem 2.5rem;border:none;border-radius:50px;text-decoration:none;font-size:1.1rem;font-weight:600;transition:all .4s var(--ease-out);cursor:pointer;box-shadow:0 8px 32px #c41e3a4d;letter-spacing:.02em;display:inline-block}.cta-primary:hover{background:var(--red-lacquer-dark);transform:translateY(-4px);box-shadow:0 16px 48px #c41e3a66}.cta-secondary{color:var(--ink-black);text-decoration:none;font-size:1.1rem;font-weight:500;position:relative;padding:1.25rem 0;transition:all .3s var(--ease-out)}.cta-secondary:after{content:"→";margin-left:.5rem;transition:transform .3s var(--ease-out);display:inline-block}.cta-secondary:hover:after{transform:translate(8px)}.hamburger{display:none;flex-direction:column;justify-content:center;gap:5px;width:28px;height:28px;cursor:pointer;background:none;border:none;padding:0;z-index:1001}.hamburger span{display:block;width:100%;height:2px;background:var(--ink-black);border-radius:2px;transition:all .3s var(--ease-out);transform-origin:center}.hamburger.active span:nth-child(1){transform:translateY(7px) rotate(45deg)}.hamburger.active span:nth-child(2){opacity:0}.hamburger.active span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.mobile-menu{display:none;position:fixed;inset:0;background:var(--mist);backdrop-filter:blur(24px) saturate(180%);-webkit-backdrop-filter:blur(24px) saturate(180%);z-index:999;flex-direction:column;align-items:center;justify-content:center;gap:2rem;opacity:0;transition:opacity .4s var(--ease-out)}.mobile-menu.open{display:flex;opacity:1}.mobile-menu a{text-decoration:none;color:var(--ink-black);font-family:var(--font-display);font-size:2rem;font-weight:400;transition:color .3s var(--ease-out)}.mobile-menu a:hover{color:var(--red-lacquer)}#content{min-height:60vh;will-change:opacity,transform}.hero{min-height:100vh;display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center;padding:8rem 6rem;position:relative;overflow:hidden}.hero:after{content:"合気道";position:absolute;top:50%;right:-10%;transform:translateY(-50%);font-size:28rem;font-family:var(--font-display);font-weight:200;color:#d4af370a;z-index:-1;line-height:1;pointer-events:none}.hero-content{z-index:2}.hero-label{display:inline-block;font-size:.85rem;font-weight:600;letter-spacing:.15em;text-transform:uppercase;color:var(--red-lacquer);margin-bottom:2rem;padding:.5rem 1.25rem;background:#c41e3a14;border-radius:50px}.hero h1{font-weight:200;margin-bottom:2rem;line-height:.95}.hero-subtitle{font-size:1.25rem;color:var(--stone-gray);margin-bottom:3rem;line-height:1.6}.hero-actions{display:flex;gap:1.5rem;align-items:center}.hero-image{position:relative;height:70vh;border-radius:16px;overflow:hidden;box-shadow:0 32px 96px #1a1a1a33}.hero-image picture,.hero-image img{display:block;width:100%;height:100%}.hero-image img{object-fit:cover;transition:transform 8s var(--ease-out)}.hero-image:hover img{transform:scale(1.1)}section{padding:8rem 6rem;position:relative;z-index:2}.section-header{text-align:center;margin-bottom:6rem}.page-top .section-header{margin-bottom:0}.page-top+section{padding-top:0}.section-label{display:inline-block;font-size:.85rem;font-weight:600;letter-spacing:.15em;text-transform:uppercase;color:var(--gold-leaf);margin-bottom:1rem}.about-section{background:linear-gradient(135deg,rgba(143,170,143,.05) 0%,transparent 100%)}.about-content{display:grid;grid-template-columns:1.2fr 1fr;gap:6rem;align-items:center}.about-text{position:relative}.about-text:before{content:"";position:absolute;left:-3rem;top:0;width:3px;height:100%;background:linear-gradient(to bottom,var(--gold-leaf),transparent)}.about-text p{margin-bottom:2rem}.about-images{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;align-items:stretch}.about-image{position:relative;height:600px;border-radius:16px;overflow:hidden;box-shadow:0 24px 64px #1a1a1a26;cursor:zoom-in}.about-image picture,.about-image img{display:block;width:100%;height:100%}.about-image img{object-fit:cover;transition:transform 8s var(--ease-out)}.about-image:hover img{transform:scale(1.05)}.aikido-section{background:var(--ink-black);color:var(--rice-white);padding:8rem 6rem}.aikido-section .section-header h2{color:var(--rice-white)}.aikido-content{display:grid;grid-template-columns:1.2fr 1fr;gap:6rem;align-items:center}.aikido-text{position:relative;height:100%}.aikido-text:before{content:"";position:absolute;left:-3rem;top:0;width:3px;height:100%;background:linear-gradient(to bottom,var(--gold-leaf),transparent)}.aikido-text p{margin-bottom:2rem}@media(max-width:1024px){.aikido-text:before{display:none}}.aikido-image{text-align:center;overflow:hidden}.aikido-image picture{display:inline-block;max-width:100%}.aikido-image img{max-width:400px;width:100%;height:auto;object-fit:contain;filter:none;transition:none}.aikido-image:hover img{transform:none}.schedule-table-wrapper{overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:12px}.schedule-table{width:100%;border-collapse:separate;border-spacing:0 1rem;min-width:520px}.schedule-table th{background:var(--rice-white);padding:1.5rem 2rem;text-align:left;font-weight:600;font-size:.85rem;text-transform:uppercase;letter-spacing:.1em;color:var(--stone-gray);border-bottom:2px solid var(--gold-leaf)}.schedule-table td{padding:1.75rem 2rem;background:#fafaf880;backdrop-filter:blur(10px);transition:background .3s var(--ease-out),box-shadow .3s var(--ease-out)}.schedule-table tr{transition:transform .3s var(--ease-out)}.schedule-table tbody tr:hover td{background:#d4af371a;transform:scale(1.01);box-shadow:0 8px 24px #1a1a1a14}.schedule-table tbody tr td:first-child{border-radius:12px 0 0 12px;font-weight:600;color:var(--red-lacquer)}.schedule-table tbody tr td:last-child{border-radius:0 12px 12px 0}.instructors-section{background:linear-gradient(135deg,rgba(196,30,58,.03) 0%,transparent 100%)}.coaches-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:3rem}.coach-card{background:var(--rice-white);border-radius:16px;overflow:hidden;box-shadow:0 16px 48px #1a1a1a14;transition:transform .4s var(--ease-out),box-shadow .4s var(--ease-out);position:relative;will-change:transform}.coach-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--red-lacquer),var(--gold-leaf));transform:scaleX(0);transform-origin:left;transition:transform .4s var(--ease-out)}.coach-card:hover:before{transform:scaleX(1)}.coach-card:hover{transform:translateY(-12px);box-shadow:0 24px 64px #1a1a1a26}.coach-image{aspect-ratio:3 / 4;overflow:hidden;background:var(--stone-gray);cursor:zoom-in}.coach-image picture,.coach-image img{display:block;width:100%;height:100%}.coach-image img{object-fit:cover;object-position:center top;transition:transform .6s var(--ease-out)}.coach-card:hover .coach-image img{transform:scale(1.08)}.coach-info{padding:2rem}.coach-rank{display:inline-block;font-size:.85rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--rice-white);background:var(--red-lacquer);padding:.5rem 1rem;border-radius:50px;margin-bottom:1rem}.coach-info h3{font-size:1.5rem;margin-bottom:1rem}.coach-info p{font-size:1rem;color:var(--stone-gray);line-height:1.6}.back-link{display:inline-flex;align-items:center;gap:.5rem;text-decoration:none;color:var(--stone-gray);font-weight:500;font-size:1rem;transition:color .3s var(--ease-out);margin-bottom:3rem}.back-link:hover{color:var(--red-lacquer)}.back-link:before{content:"←";font-size:1.2em;transition:transform .3s var(--ease-out)}.back-link:hover:before{transform:translate(-4px)}.signup-section{background:linear-gradient(135deg,var(--red-lacquer) 0%,#8b1529 100%);color:var(--rice-white);padding:8rem 6rem}.signup-container{max-width:700px;margin:0 auto}.signup-header{text-align:center;margin-bottom:4rem}.signup-header h2{color:var(--rice-white);font-size:4rem;margin-bottom:.5rem}.signup-header h3{color:#fafaf8e6;font-weight:200}.signup-form{display:flex;flex-direction:column;gap:2rem}.form-group{display:flex;flex-direction:column}.form-group label{margin-bottom:.75rem;font-weight:600;color:var(--rice-white);font-size:1rem;letter-spacing:.02em}.form-group input{padding:1.25rem 1.5rem;border:2px solid rgba(250,250,248,.3);border-radius:12px;font-size:1rem;font-family:var(--font-body);background:#fafaf81a;color:var(--rice-white);backdrop-filter:blur(10px);transition:all .3s var(--ease-out)}.form-group input::placeholder{color:#fafaf880}.form-group input:focus{outline:none;border-color:var(--gold-leaf);background:#fafaf826;box-shadow:0 0 0 4px #d4af3733}.radio-group{display:flex;flex-direction:column;gap:1rem}.radio-option{display:flex;align-items:center;gap:1rem;cursor:pointer;padding:1rem;border-radius:12px;transition:all .3s var(--ease-out)}.radio-option:hover{background:#fafaf81a}.radio-option input[type=radio]{display:none}.radio-custom{width:24px;height:24px;border:2px solid rgba(250,250,248,.5);border-radius:50%;position:relative;transition:all .3s var(--ease-out);flex-shrink:0}.radio-option input[type=radio]:checked+.radio-custom{border-color:var(--gold-leaf);background:var(--gold-leaf)}.radio-option input[type=radio]:checked+.radio-custom:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:10px;height:10px;background:var(--ink-black);border-radius:50%}.submit-button{background:var(--rice-white);color:var(--red-lacquer);padding:1.5rem 3rem;border:none;border-radius:50px;font-size:1.1rem;font-weight:700;cursor:pointer;transition:all .4s var(--ease-out);margin-top:2rem;letter-spacing:.05em;text-transform:uppercase;box-shadow:0 8px 32px #0000004d}.submit-button:hover{background:var(--gold-leaf);color:var(--ink-black);transform:translateY(-4px);box-shadow:0 16px 48px #0006}.form-toast{position:fixed;bottom:2rem;left:50%;transform:translate(-50%) translateY(120%);background:var(--ink-black);color:var(--rice-white);padding:1rem 2.5rem;border-radius:50px;font-weight:500;font-size:1rem;z-index:2000;box-shadow:0 8px 32px #00000040;transition:transform .4s var(--ease-out),opacity .4s var(--ease-out);pointer-events:none;opacity:0}.form-toast.show{transform:translate(-50%) translateY(0);opacity:1}footer{background:var(--ink-black);color:var(--rice-white);padding:6rem 6rem 3rem}.footer-content{display:grid;grid-template-columns:repeat(3,1fr);gap:4rem;margin-bottom:4rem}.footer-section h3{font-size:1.25rem;margin-bottom:2rem;color:var(--gold-leaf)}.footer-section p{margin-bottom:1rem;color:#fafaf8b3}.footer-section a{color:#fafaf8b3;text-decoration:none;transition:all .3s var(--ease-out);display:inline-block}.footer-section a:hover{color:var(--gold-leaf);transform:translate(4px)}.footer-bottom{text-align:center;padding-top:3rem;border-top:1px solid rgba(250,250,248,.1);color:#fafaf880;font-size:.9rem}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.reveal{opacity:1;transform:none}}.events-list{display:flex;flex-direction:column;gap:2rem;max-width:900px;margin:0 auto}.event-card{display:flex;gap:2rem;background:#fafaf899;backdrop-filter:blur(10px);border-radius:16px;padding:2.5rem;transition:transform .4s var(--ease-out),box-shadow .4s var(--ease-out);box-shadow:0 4px 24px #1a1a1a0f;will-change:transform}.event-card:hover{transform:translateY(-4px);box-shadow:0 16px 48px #1a1a1a1f}.event-image{margin-top:1.5rem;border-radius:12px;overflow:hidden;cursor:zoom-in}.event-image picture{display:block}.event-image img{display:block;width:100%;height:auto;transition:transform .4s var(--ease-out)}.event-image:hover img{transform:scale(1.03)}.event-date-badge{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:80px;height:80px;background:var(--red-lacquer);color:var(--rice-white);border-radius:12px;flex-shrink:0}.event-day{font-family:var(--font-display);font-size:2rem;font-weight:600;line-height:1}.event-month{font-size:.75rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;margin-top:2px}.event-body h3{font-size:1.5rem;margin-bottom:.5rem}.event-meta{font-size:.9rem;color:var(--stone-gray);margin-bottom:1rem;font-weight:500}.event-body p:last-child{color:var(--stone-gray);font-size:1rem;margin-bottom:0}.gallery-filters{display:flex;justify-content:center;gap:1rem;margin-bottom:3rem;flex-wrap:wrap}.gallery-filter{background:transparent;border:2px solid rgba(26,26,26,.15);border-radius:50px;padding:.6rem 1.5rem;font-family:var(--font-body);font-size:.9rem;font-weight:500;color:var(--stone-gray);cursor:pointer;transition:all .3s var(--ease-out)}.gallery-filter:hover{border-color:var(--red-lacquer);color:var(--red-lacquer)}.gallery-filter.active{background:var(--red-lacquer);border-color:var(--red-lacquer);color:var(--rice-white)}.gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem;grid-auto-flow:dense}.gallery-item{position:relative;border-radius:12px;overflow:hidden;cursor:pointer;aspect-ratio:3 / 2;transition:transform .4s var(--ease-out),box-shadow .4s var(--ease-out)}.gallery-item--tall{grid-row:span 2;aspect-ratio:auto}.gallery-item--wide{grid-column:span 2}.gallery-item picture,.gallery-item img{display:block;width:100%;height:100%}.gallery-item img{object-fit:cover;transition:transform .6s var(--ease-out)}.gallery-item:hover img{transform:scale(1.08)}.gallery-item:after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(26,26,26,.7) 0%,transparent 50%);opacity:0;transition:opacity .3s var(--ease-out)}.gallery-item:hover:after{opacity:1}.gallery-caption{position:absolute;bottom:0;left:0;right:0;padding:1.5rem;color:var(--rice-white);font-size:.95rem;font-weight:500;z-index:2;opacity:0;transform:translateY(10px);transition:opacity .3s var(--ease-out),transform .3s var(--ease-out)}.gallery-item:hover .gallery-caption{opacity:1;transform:translateY(0)}@media(hover:none){.gallery-caption{opacity:1;transform:translateY(0)}}.gallery-item.hidden{display:none}.lightbox{display:none;position:fixed;inset:0;background:#1a1a1af2;z-index:3000;padding:0;box-sizing:border-box}.lightbox.open{display:block}.lightbox-img{max-width:90%;max-height:80%;object-fit:contain;border-radius:8px;box-shadow:0 16px 64px #00000080;display:block;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}#coach-lightbox .lightbox-img{position:static;top:auto;left:auto;transform:none;width:100%;height:min(80vh,900px);max-width:100%;max-height:none;object-fit:cover}#coach-lightbox .lightbox-img.lightbox-img--contain{width:auto;height:auto;max-width:min(82vw,760px);max-height:72vh;object-fit:contain}#coach-lightbox .lightbox-content{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:min(90vw,900px);display:flex;flex-direction:column;align-items:center}#coach-lightbox .lightbox-caption{position:static;transform:none;width:100%;margin-top:1rem}.lightbox-caption{position:absolute;left:50%;bottom:1.5rem;transform:translate(-50%);width:min(90vw,720px);color:#fafaf8cc;font-size:1rem;text-align:center}.lightbox-close,.lightbox-prev,.lightbox-next{position:absolute;background:none;border:none;color:var(--rice-white);cursor:pointer;transition:all .3s var(--ease-out);z-index:3001}.lightbox-close{top:1.5rem;right:2rem;font-size:2.5rem;line-height:1}.lightbox-prev,.lightbox-next{top:50%;transform:translateY(-50%);font-size:3rem;padding:.5rem}.lightbox-prev{left:1.5rem}.lightbox-next{right:1.5rem}.lightbox-close:hover,.lightbox-prev:hover,.lightbox-next:hover{color:var(--gold-leaf);transform:translateY(-50%) scale(1.1)}.lightbox-close:hover{transform:scale(1.1)}@media(max-width:1024px){.hero{grid-template-columns:1fr;padding:calc(var(--nav-height) + 3rem) 2rem 5rem;gap:3rem}.hero-image{order:-1;height:40vh}section{padding:5rem 2rem}.about-content,.aikido-content{grid-template-columns:1fr;gap:3rem}.coaches-grid{grid-template-columns:1fr;gap:2rem}.footer-content{grid-template-columns:1fr;gap:3rem}.aikido-image{height:auto;clip-path:none;border-radius:16px}.about-image{height:400px}.gallery-item--wide{grid-column:span 1}}@media(max-width:768px){:root{--nav-height: 60px}nav{top:1rem;left:1rem;right:1rem;transform:none;padding:.75rem 1.5rem;width:auto;border-radius:16px}.nav-links{display:none}.nav-container{gap:1rem;justify-content:space-between}.hamburger{display:flex}h1{font-size:2.5rem}h2{font-size:2rem;margin-bottom:2rem}.hero{padding:calc(var(--nav-height) + 2.5rem) 1.5rem 4rem;gap:3rem}.hero-image{height:35vh}.hero h1{margin-bottom:1.25rem}.section-header{margin-bottom:3.5rem}.section-label{margin-bottom:1.5rem}.hero-actions{flex-direction:column;width:100%}.cta-primary,.cta-secondary{width:100%;text-align:center}section{padding:4rem 1.5rem}.aikido-section,.signup-section{padding:4rem 1.5rem}.signup-container{padding:0}.signup-header h2{font-size:2.5rem}footer{padding:4rem 1.5rem 2rem}.schedule-table{font-size:.85rem}.schedule-table th,.schedule-table td{padding:1rem .75rem}.about-text:before{display:none}.event-card{flex-direction:column;gap:1.5rem;padding:1.5rem}.event-date-badge{flex-direction:row;gap:.5rem;width:fit-content;min-width:auto;height:auto;padding:.5rem 1rem}.gallery-grid{grid-template-columns:1fr 1fr;gap:.75rem}.gallery-item--tall{grid-row:span 1}.lightbox-prev,.lightbox-next{font-size:2rem}}.lang-switch{display:inline-flex;align-items:center;justify-content:center;min-width:44px;height:36px;margin-left:1rem;padding:0 .75rem;border:1px solid currentColor;border-radius:6px;color:inherit;text-decoration:none;font-family:var(--font-body);font-weight:600;font-size:.85rem;letter-spacing:.05em;transition:background .2s ease,color .2s ease}.lang-switch:hover{opacity:.7}.mobile-lang{margin-top:1rem;opacity:.7;font-size:.9rem}@media(max-width:768px){.lang-switch{display:none}}.nav-links .has-dropdown{position:relative}.nav-links .has-dropdown>.dropdown-trigger:after{content:" ▾";font-size:.7em;opacity:.6}.nav-links .dropdown{position:absolute;top:100%;left:50%;transform:translate(-50%);min-width:180px;margin:0;padding:.5rem 0;list-style:none;background:#fff;border:1px solid #e5e5e0;border-radius:6px;box-shadow:0 8px 24px #0000001f;opacity:0;visibility:hidden;transform:translate(-50%,6px);transition:opacity .2s ease,transform .2s ease,visibility .2s;z-index:100}.nav-links .has-dropdown:hover>.dropdown,.nav-links .has-dropdown:focus-within>.dropdown{opacity:1;visibility:visible;transform:translate(-50%)}.nav-links .dropdown li{margin:0;list-style:none}.nav-links .dropdown a{display:block;padding:.6rem 1.1rem;color:#1a1a1a;text-decoration:none;font-size:.95rem;white-space:nowrap;transition:background .15s ease,color .15s ease}.nav-links .dropdown a:hover,.nav-links .dropdown a:focus{background:#faf9f5;color:#c41e3a}.mobile-menu .mobile-submenu-item{padding-left:1.5rem;font-size:.95rem;opacity:.8}.exam-schedule-badges{display:flex;flex-wrap:wrap;gap:.75rem;margin:1.5rem 0}.exam-schedule-badges .badge{padding:.6rem 1rem;border-radius:6px;font-size:.9rem;color:#fff}.exam-schedule-badges .badge--kyu{background:#c41e3a}.exam-schedule-badges .badge--dan{background:#1a1a1a}.exam-schedule-badges .badge strong{margin-right:.4rem}.exam-deadline{color:#888;font-size:.9rem;margin:.5rem 0 1.5rem}.exam-table-wrapper{overflow-x:auto;background:#fff;border:1px solid #e5e5e0;border-radius:8px;margin:1rem 0 1.5rem}.exam-table{width:100%;border-collapse:collapse;font-size:.85rem;min-width:800px}.exam-table th,.exam-table td{padding:.6rem .75rem;text-align:left;border-bottom:1px solid #f0eee8;vertical-align:top}.exam-table thead th{background:#fff5e6;font-weight:600;border-bottom:2px solid #e5e5e0}.exam-table tbody tr:nth-child(2n){background:#fafaf6}.exam-table tbody th.exam-level{font-weight:600;white-space:nowrap;position:sticky;left:0;z-index:1;text-align:left}.exam-table tbody tr:nth-child(2n) th.exam-level{background:#fafaf6}.exam-table tbody tr:nth-child(odd) th.exam-level{background:#fff}.exam-table td.exam-cell--empty{color:#ccc;text-align:center}.exam-table td.exam-cell--freeform{font-style:italic}.exam-notes{list-style:disc;padding-left:1.25rem;color:#555;font-size:.9rem}.exam-notes li{margin-bottom:.35rem}.callout--warning{background:#fff7eb;border-left:4px solid #d4a017;padding:1rem 1.25rem;border-radius:6px;margin:1.5rem 0;font-size:.95rem;line-height:1.5}.callout--warning strong{color:#8a6a08;margin-right:.25rem}.forms-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem;margin:1.5rem 0}.form-card{display:flex;flex-direction:column;justify-content:space-between;background:#fff;border:1px solid #e5e5e0;border-radius:8px;padding:1.25rem;transition:transform .15s ease,box-shadow .15s ease}.form-card:hover{transform:translateY(-2px);box-shadow:0 6px 18px #0000000f}.form-card__label{display:inline-block;color:#c41e3a;font-weight:700;font-size:.75rem;letter-spacing:.1em;margin-bottom:.4rem}.form-card h3{margin:0 0 .25rem;font-size:1.05rem;line-height:1.3}.form-card__subtitle{margin:0 0 1rem;color:#888;font-size:.85rem}.btn--primary{display:inline-block;background:#c41e3a;color:#fff;padding:.6rem 1rem;border-radius:4px;text-align:center;font-size:.9rem;text-decoration:none;transition:background .2s ease}.btn--primary:hover{background:#a01830}.forms-extra__title{margin:2rem 0 1rem;font-size:1.1rem;color:#555}.forms-extra{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:.75rem;margin-bottom:2rem}.extra-card{display:flex;align-items:center;gap:1rem;background:#fff;border:1px solid #e5e5e0;border-radius:6px;padding:1rem 1.25rem;text-decoration:none;color:#1a1a1a;transition:border-color .15s ease,transform .15s ease}.extra-card:hover{border-color:#c41e3a;transform:translateY(-1px)}.extra-card__icon{font-size:1.8rem;flex-shrink:0}.extra-card__body{flex:1;min-width:0}.extra-card__title{font-weight:600;font-size:.95rem;margin-bottom:.15rem}.extra-card__hint{color:#999;font-size:.8rem}.extra-card__arrow{color:#c41e3a;font-size:1.2rem;flex-shrink:0}.external-links{margin-top:2rem;padding-top:1rem;border-top:1px solid #e5e5e0;font-size:.9rem;color:#666}.external-links strong{margin-right:.75rem}.external-links a{color:#c41e3a;text-decoration:none;margin-right:1rem}.external-links a:hover{text-decoration:underline}@media(max-width:768px){.nav-links .dropdown{display:none}.nav-links .has-dropdown>.dropdown-trigger:after{display:none}}.album-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem}.album-card{display:block;background:#fff;border-radius:12px;overflow:hidden;border:1px solid rgba(26,26,26,.08);text-decoration:none;color:inherit;transition:transform .4s var(--ease-out),box-shadow .4s var(--ease-out)}.album-card:hover{transform:translateY(-4px);box-shadow:0 12px 30px #1a1a1a1f}.album-card.hidden{display:none}.album-card__cover{aspect-ratio:4 / 3;background:#1a1a1a0f;overflow:hidden}.album-card__cover img,.album-card__placeholder{display:block;width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease-out)}.album-card:hover .album-card__cover img{transform:scale(1.05)}.album-card__body{padding:1rem 1.25rem 1.25rem}.album-card__title{font-family:var(--font-display);font-size:1.35rem;font-weight:600;margin:0 0 .35rem}.album-card__meta{margin:0;font-size:.9rem;color:var(--stone-gray);display:flex;align-items:center;gap:.5rem}.album-card__tag{font-size:.75rem;padding:.15rem .6rem;border-radius:50px;background:#1a1a1a0f}.gallery-state{text-align:center;color:var(--stone-gray);margin:2rem 0}.album-back{margin:0 0 .75rem;font-size:.95rem}.album-back a{color:var(--red-lacquer);text-decoration:none}.album-grid[hidden],.gallery-grid[hidden]{display:none}@media(max-width:768px){.album-grid{grid-template-columns:1fr 1fr;gap:.75rem}.album-card__body{padding:.75rem}.album-card__title{font-size:1.1rem}}@keyframes astroFadeInOut{0%{opacity:1}to{opacity:0}}@keyframes astroFadeIn{0%{opacity:0;mix-blend-mode:plus-lighter}to{opacity:1;mix-blend-mode:plus-lighter}}@keyframes astroFadeOut{0%{opacity:1;mix-blend-mode:plus-lighter}to{opacity:0;mix-blend-mode:plus-lighter}}@keyframes astroSlideFromRight{0%{transform:translate(100%)}}@keyframes astroSlideFromLeft{0%{transform:translate(-100%)}}@keyframes astroSlideToRight{to{transform:translate(100%)}}@keyframes astroSlideToLeft{to{transform:translate(-100%)}}@media(prefers-reduced-motion){::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}[data-astro-transition-scope]{animation:none!important}}
