:root{--bg:#0b0d0f;--panel:#111418;--text:#f3f2ec;--muted:#92979d;--line:#292e33;--accent:#f5d90a;--max:1440px;--pad:clamp(22px,5vw,84px);--display:"Barlow Condensed",sans-serif;--body:"Noto Sans JP",sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:88px}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--body);overflow-x:hidden}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}button,input,textarea{font:inherit}.skip{position:fixed;z-index:99;left:12px;top:-60px;background:var(--accent);color:#000;padding:12px}.skip:focus{top:12px}.header{height:82px;padding:0 var(--pad);position:fixed;inset:0 0 auto;z-index:50;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid transparent;transition:.3s}.header.scrolled{background:#0b0d0fdd;backdrop-filter:blur(12px);border-color:var(--line)}.brand{display:flex;align-items:center;gap:13px;font:800 23px/1 var(--display);letter-spacing:.04em}.brand img{width:46px;height:46px}.brand small,.footer-brand small{display:block;color:var(--muted);font-size:.55em;letter-spacing:.16em;margin-top:3px}.header nav{display:flex;align-items:center;gap:clamp(18px,2.5vw,42px)}.header nav a{font:600 14px var(--display);letter-spacing:.12em;color:#c9cbd0;position:relative}.header nav a.active,.header nav a:hover{color:var(--accent)}.header nav a.active:after{content:"";position:absolute;left:0;right:0;bottom:-12px;height:2px;background:var(--accent)}.header nav .nav-cta{border:1px solid #555b60;padding:11px 17px}.menu{display:none;background:none;border:0;padding:10px}.menu i{display:block;width:25px;height:2px;background:white;margin:5px}.hero{min-height:100svh;position:relative;display:grid;grid-template-columns:1.05fr .95fr;align-items:center;padding:130px var(--pad) 110px;isolation:isolate;overflow:hidden}.hero:after{content:"";position:absolute;width:55vw;height:55vw;right:-15vw;top:-10vw;border:1px solid #252b30;border-radius:50%;z-index:-1}.hero-noise{position:absolute;inset:0;z-index:-3;background:radial-gradient(circle at 77% 38%,#34320b 0,transparent 29%),linear-gradient(110deg,#0b0d0f 52%,#15191d 52%)}#field{position:absolute;inset:0;width:100%;height:100%;z-index:-2;opacity:.7;pointer-events:none}.kicker{font:700 13px var(--display);letter-spacing:.18em;text-transform:uppercase;color:var(--accent);display:flex;align-items:center;gap:12px}.kicker span{width:32px;height:2px;background:var(--accent)}h1,h2,h3,p{margin-top:0}.hero h1{font:900 clamp(84px,12vw,190px)/.73 var(--display);letter-spacing:-.055em;margin:30px 0 42px}.hero h1 em,.section-title h2 em{font-style:normal;color:transparent;-webkit-text-stroke:1px #737980}.catch{font-size:clamp(25px,2.7vw,43px);font-weight:900;line-height:1.35;letter-spacing:.04em}.intro{max-width:610px;color:#aeb2b6;line-height:2;font-size:15px}.actions{display:flex;gap:12px;margin-top:34px}.button{padding:16px 22px;border:1px solid #4c5258;font-weight:700;min-width:180px;display:flex;justify-content:space-between;transition:.25s}.button:hover{border-color:var(--accent);color:var(--accent);transform:translateY(-2px)}.button.primary{background:var(--accent);border-color:var(--accent);color:#090a0b}.hero-symbol{justify-self:center;position:relative;width:min(32vw,490px)}.hero-symbol img{filter:saturate(.85) contrast(1.1);clip-path:polygon(12% 0,100% 0,88% 100%,0 100%)}.orbit{position:absolute;inset:-15%;border:1px solid #464c51;border-radius:50%;animation:spin 28s linear infinite}.orbit:after{content:"";position:absolute;width:8px;height:8px;background:var(--accent);border-radius:50%;left:12%;top:12%}.status{position:absolute;left:var(--pad);right:var(--pad);bottom:24px;border-top:1px solid var(--line);display:flex;gap:5vw;padding-top:17px}.status div{display:flex;gap:14px;align-items:baseline}.status small{font:600 11px var(--display);letter-spacing:.15em;color:var(--muted);text-transform:uppercase}.status strong{font:700 19px var(--display)}.scroll{position:absolute;right:var(--pad);bottom:30px;font:600 10px var(--display);letter-spacing:.2em}.scroll span{display:inline-block;width:45px;height:1px;background:var(--accent);margin-left:10px;vertical-align:middle}.section{max-width:var(--max);margin:auto;padding:clamp(100px,12vw,180px) var(--pad);position:relative;scroll-margin-top:80px}.section-index{position:absolute;right:var(--pad);top:80px;color:#5d6369;font:600 12px var(--display);letter-spacing:.18em}.section-title{margin-bottom:80px}.section-title h2{font:800 clamp(54px,7vw,106px)/.92 var(--display);letter-spacing:-.035em;margin:22px 0 0}.profile{max-width:none;background:#0e1114}.profile>*{max-width:calc(var(--max) - var(--pad)*2);margin-left:auto;margin-right:auto}.profile-grid,.contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(50px,9vw,150px)}.profile-copy h3{font:700 25px var(--display);letter-spacing:.04em}.profile-copy p,.contact-lead{color:#a2a7ac;line-height:2}.focus{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}.focus li{display:grid;grid-template-columns:80px 1fr;gap:24px;padding:28px 10px;border-bottom:1px solid var(--line)}.focus li>span{font:800 38px var(--display);color:var(--accent)}.focus small{font:600 11px var(--display);letter-spacing:.2em;color:var(--muted)}.focus p{margin:7px 0 0;font-weight:700}.principles{border-top:1px solid var(--line)}.principles article{display:grid;grid-template-columns:15% 1fr;gap:30px;align-items:start;padding:38px 0;border-bottom:1px solid var(--line);transition:.25s}.principles article:hover{padding-left:14px;border-color:var(--accent)}.principles article>span{font:800 clamp(42px,7vw,90px)/1 var(--display);color:#333941}.principles small,.member p,.social-links small{font:600 11px var(--display);letter-spacing:.19em;color:var(--accent)}.principles h3{font:700 clamp(40px,6vw,80px)/1 var(--display);margin:8px 0 15px}.principles p{color:#9da2a7;line-height:1.9}.roster{max-width:none;background:#0e1114}.roster>*{max-width:calc(var(--max) - var(--pad)*2);margin-left:auto;margin-right:auto}.member-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.member{border-top:2px solid #3b4147;padding-top:14px}.photo{overflow:hidden;aspect-ratio:1;background:#171b1f;margin-bottom:22px}.photo img{width:100%;height:100%;object-fit:cover;filter:grayscale(30%) contrast(1.05);transition:.5s}.member:hover .photo img{transform:scale(1.04);filter:grayscale(0)}.member h3{font:700 clamp(30px,3vw,48px)/1 var(--display);margin:8px 0}.member span{color:var(--muted);font-size:13px}.social-links{border-top:1px solid var(--line)}.social-links>a{display:flex;justify-content:space-between;align-items:center;padding:38px 18px;border-bottom:1px solid var(--line);transition:.25s}.social-links>a:hover{background:var(--accent);color:#090a0b;padding-left:30px}.social-links strong{display:block;font:700 clamp(38px,6vw,72px) var(--display);margin:7px 0}.social-links em{font-style:normal;color:var(--muted)}.social-links b{font:500 55px var(--display)}.social-links a:hover small,.social-links a:hover em{color:#222}.contact{max-width:none;background:var(--accent);color:#0a0b0c}.contact>*{max-width:calc(var(--max) - var(--pad)*2);margin-left:auto;margin-right:auto}.contact .kicker{color:#0a0b0c}.contact .kicker span{background:#0a0b0c}.contact .section-title h2 em{-webkit-text-stroke-color:#4c4a10}.contact-lead{color:#393a25;max-width:480px}.contact-form label{display:block;margin-bottom:30px;font-weight:700;font-size:13px}.contact-form label span{display:block;margin-bottom:10px}.contact-form label b{color:#941c1c}.contact-form input,.contact-form textarea{width:100%;border:0;border-bottom:2px solid #5a5712;background:#d9c20c;padding:14px 4px;color:#0a0b0c;border-radius:0;outline:0}.contact-form input:focus,.contact-form textarea:focus{background:#ecd215;border-color:#08090a}.contact-form button{width:100%;padding:18px 20px;background:#0a0b0c;color:white;border:0;font-weight:800;display:flex;justify-content:space-between;cursor:pointer}.contact-form button:disabled{opacity:.55}.form-status{min-height:24px;font-size:13px;font-weight:700}footer{max-width:var(--max);margin:auto;padding:70px var(--pad) 35px;display:grid;grid-template-columns:1fr auto 1fr;gap:50px;border-top:1px solid var(--line)}.footer-brand{font:800 30px var(--display)}footer p{color:var(--muted);font-size:12px;line-height:1.8;margin-top:20px}footer nav{display:grid;grid-template-columns:repeat(2,1fr);gap:15px 45px;font:600 13px var(--display);letter-spacing:.12em}.footer-meta{display:flex;align-items:flex-end;justify-content:space-between;flex-direction:column;font:600 12px var(--display);letter-spacing:.1em;color:var(--muted)}.reveal{opacity:0;transform:translateY(22px);transition:opacity .6s ease,transform .6s ease}.reveal.visible{opacity:1;transform:none}@keyframes spin{to{transform:rotate(360deg)}}
@media(max-width:900px){.menu{display:block;z-index:2}.header nav{position:fixed;inset:0;background:#0b0d0f;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:80px 12vw;transform:translateX(100%);transition:.35s}.header nav.open{transform:none}.header nav a{font-size:clamp(30px,9vw,50px)}.header nav a.active:after{display:none}.menu[aria-expanded=true] i:nth-child(1){transform:translateY(7px) rotate(45deg)}.menu[aria-expanded=true] i:nth-child(2){opacity:0}.menu[aria-expanded=true] i:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.hero{grid-template-columns:1fr;padding-top:125px;align-content:center}.hero-copy{z-index:2}.hero h1{font-size:clamp(80px,25vw,140px)}.hero-symbol{position:absolute;width:62vw;right:-15vw;top:26%;opacity:.3}.scroll{display:none}.status{gap:20px;overflow:hidden}.status div{display:block;min-width:max-content}.status small{display:block;margin-bottom:5px}.profile-grid,.contact-grid{grid-template-columns:1fr}.member-grid{grid-template-columns:repeat(2,1fr)}footer{grid-template-columns:1fr 1fr}footer nav{display:none}}
@media(max-width:520px){:root{--pad:20px}.header{height:72px}.brand img{width:42px;height:42px}.hero{padding-bottom:120px}.hero h1{margin:24px 0 30px}.catch{font-size:25px}.intro{font-size:13px;line-height:1.85}.actions{display:grid}.button{width:100%}.status{bottom:18px}.status div:nth-child(3){display:none}.section{padding-top:105px;padding-bottom:105px}.section-index{top:45px}.section-title{margin-bottom:50px}.profile-grid{gap:45px}.focus li{grid-template-columns:55px 1fr;padding:23px 0}.principles article{grid-template-columns:58px 1fr;gap:12px}.principles article>span{font-size:37px}.member-grid{grid-template-columns:1fr;gap:45px}.social-links>a{padding:28px 5px}.social-links b{font-size:35px}footer{grid-template-columns:1fr}.footer-meta{align-items:flex-start;gap:20px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}#field{display:none}}
img{width:100%;height:auto}
.page-section{min-height:calc(100svh - 150px);max-width:none;padding-top:clamp(150px,16vw,220px)}
.page-section>*{max-width:calc(var(--max) - var(--pad)*2);margin-left:auto;margin-right:auto}
.page-title{font-family:var(--body);font-size:clamp(50px,7vw,96px);font-weight:900;line-height:1.14;letter-spacing:-.045em;margin:22px 0 0;color:var(--text)}
.section-title h2,.section-title h2 em{font-family:var(--body);font-weight:900;color:var(--text);-webkit-text-stroke:0}
.profile-copy h2{font-family:var(--body);font-size:25px;font-weight:900}
.principles h2,.member h2{font-family:var(--display);font-size:clamp(36px,5vw,68px);line-height:1;margin:8px 0 15px}
.member h2{font-size:clamp(30px,3vw,48px)}
body[data-page="contact"]{background:var(--accent)}
body[data-page="contact"] .header:not(.scrolled){color:#0a0b0c}
body[data-page="contact"] .header:not(.scrolled) .menu i{background:#0a0b0c}
@media(max-width:900px){.page-section{padding-top:130px}.page-title{font-size:clamp(46px,12vw,76px)}body[data-page="contact"] .header nav{color:var(--text)}}
/* Contact page: match the dark visual system used across the site. */
body[data-page="contact"]{background:var(--bg);color:var(--text)}
body[data-page="contact"] .header:not(.scrolled){color:var(--text)}
body[data-page="contact"] .header:not(.scrolled) .menu i{background:var(--text)}
body[data-page="contact"] .contact{background:var(--bg);color:var(--text)}
body[data-page="contact"] .contact .kicker{color:var(--accent)}
body[data-page="contact"] .contact .kicker span{background:var(--accent)}
body[data-page="contact"] .contact-lead{color:var(--muted)}
.contact-title{white-space:nowrap;font-size:clamp(42px,6.4vw,92px);letter-spacing:-.06em}
body[data-page="contact"] .contact-form{padding:clamp(28px,4vw,52px);background:var(--panel);border-top:2px solid var(--accent)}
body[data-page="contact"] .contact-form input,
body[data-page="contact"] .contact-form textarea{background:transparent;color:var(--text);border-bottom:1px solid #4a5056;padding:14px 2px}
body[data-page="contact"] .contact-form input::placeholder,
body[data-page="contact"] .contact-form textarea::placeholder{color:#686e74}
body[data-page="contact"] .contact-form input:focus,
body[data-page="contact"] .contact-form textarea:focus{background:#171b1f;border-color:var(--accent)}
body[data-page="contact"] .contact-form button{background:var(--accent);color:#090a0b}
body[data-page="contact"] footer{background:var(--bg);color:var(--text)}

/* Shared footer identity and copyright. */
.footer-identity .footer-brand{display:flex;align-items:center;gap:14px;font-family:var(--body);font-size:19px;font-weight:900;letter-spacing:0}
.footer-identity .footer-brand img{width:54px;height:54px;object-fit:cover}
.footer-identity .footer-brand span{white-space:nowrap}
.footer-meta small{line-height:1.6;text-align:right}
@media(max-width:520px){.footer-meta small{text-align:left}.footer-identity .footer-brand{font-size:18px}}
/* Hero title: keep both lines crisp against the artwork. */
.hero h1{position:relative;z-index:2;color:#fff;-webkit-text-stroke:4px var(--accent);paint-order:stroke fill;text-shadow:0 4px 24px rgba(0,0,0,.8)}
.hero h1 em{color:transparent;-webkit-text-stroke:3px #f7f6f0;paint-order:stroke fill;text-shadow:0 4px 24px rgba(0,0,0,.9)}
.hero h1::after{content:"";display:block;width:clamp(72px,8vw,120px);height:5px;margin-top:28px;background:var(--accent);box-shadow:0 0 22px rgba(245,217,10,.25)}
/* Branded page transition. */
.page-transition{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;gap:24px;background:var(--accent);color:#090a0b;clip-path:polygon(0 0,100% 0,100% 100%,0 100%);pointer-events:none;transition:clip-path .58s cubic-bezier(.76,0,.24,1)}
.page-transition::before,.page-transition::after{content:"";position:absolute;inset:0;background:#0b0d0f;z-index:-1;transform:skewX(-13deg) scaleX(.55)}
.page-transition::after{background:var(--accent);transform:skewX(-13deg) scaleX(.18)}
.page-transition.is-leaving{clip-path:polygon(100% 0,100% 0,100% 100%,100% 100%)}
.page-transition.is-entering{clip-path:polygon(0 0,100% 0,100% 100%,0 100%)}
.transition-mark{display:grid;grid-template-columns:58px auto;grid-template-rows:auto auto;column-gap:14px;align-items:center;color:#fff;filter:drop-shadow(0 7px 18px rgba(0,0,0,.35))}
.transition-mark img{grid-row:1/3;width:58px;height:58px;object-fit:cover}
.transition-mark strong{font:900 34px/.8 var(--display);letter-spacing:.04em}
.transition-mark small{font:700 11px/1 var(--display);letter-spacing:.24em;color:var(--accent)}
.transition-line{width:clamp(42px,7vw,100px);height:2px;background:var(--accent);position:relative}
.transition-line::after{content:"";position:absolute;width:7px;height:7px;right:0;top:-2px;background:#fff;transform:rotate(45deg)}
.page-transition.is-leaving .transition-mark,.page-transition.is-leaving .transition-line{opacity:0;transform:translateX(20px);transition:.22s}
@media(max-width:520px){.page-transition{gap:14px}.transition-line{width:30px}.transition-mark{grid-template-columns:48px auto}.transition-mark img{width:48px;height:48px}.transition-mark strong{font-size:28px}}
@media(prefers-reduced-motion:reduce){.page-transition{display:none}}
body.menu-locked{overscroll-behavior:none;touch-action:none}
body.menu-locked .header{inset:0 0 auto;transform:none}
/* Extended roster information. */
.member{display:flex;flex-direction:column;min-width:0}
.member .photo{flex:none}
.member-links{display:grid;gap:8px;margin-top:auto;padding-top:22px}
.member-links a{display:flex;align-items:center;gap:9px;padding:11px 12px;border:1px solid var(--line);font:600 12px var(--display);letter-spacing:.04em;color:#c9cdd1;transition:.2s}
.member-links a b{display:grid;place-items:center;width:25px;height:25px;background:var(--text);color:var(--bg);font-size:11px}
.member-links a>img{width:25px;height:25px;object-fit:cover;flex:0 0 25px;border-radius:2px}
.member-links a i{font-style:normal;margin-left:auto;color:var(--accent)}
.member-links a:hover{border-color:var(--accent);color:var(--text);transform:translateY(-2px)}
.member-stats{list-style:none;padding:0;margin:19px 0 0;border-top:1px solid var(--line)}
.member-stats li{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--line)}
.member-stats small{font-size:10px;letter-spacing:.05em;color:var(--muted)}
.member-stats strong{font:700 15px var(--display);color:var(--text)}
.member-note{margin:18px 0 0!important;padding:11px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-family:var(--body)!important;letter-spacing:0!important;color:var(--muted)!important}
.member-note strong{color:var(--text)}
.member-description{margin:18px 0 0!important;padding:11px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-family:var(--body)!important;font-size:12px!important;letter-spacing:0!important;color:var(--muted)!important}
.coming-soon{display:grid;place-items:center;position:relative;background:repeating-linear-gradient(120deg,#111418 0,#111418 24px,#171b1f 24px,#171b1f 48px);border:1px solid var(--line)}
.coming-soon::before,.coming-soon::after{content:"";position:absolute;width:36%;height:2px;background:var(--accent)}
.coming-soon::before{left:0;top:22%}.coming-soon::after{right:0;bottom:22%}
.coming-soon span{font:800 clamp(34px,4vw,58px)/.85 var(--display);letter-spacing:.08em;text-align:center;color:transparent;-webkit-text-stroke:1px var(--accent)}
@media(max-width:520px){.member-links a{font-size:13px}.member-stats small{font-size:11px}}
