:root{--ink:#090807;--char:#12100f;--wine:#6f171a;--red:#9f2525;--ivory:#ded8cc;--dim:#948c82;--line:rgba(222,216,204,.18);--en:"Cormorant Garamond",serif;--jp:"Noto Serif JP",serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ink);color:var(--ivory);font-family:var(--jp);font-weight:300;line-height:2;letter-spacing:.08em}body.menu-open{overflow:hidden}a{color:inherit;text-decoration:none}img{width:100%;height:100%;display:block;object-fit:cover}button{color:inherit}.grain{position:fixed;z-index:99;inset:0;pointer-events:none;opacity:.035;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}.header{position:fixed;z-index:50;top:0;width:100%;height:98px;display:flex;align-items:center;padding-left:38px;border-bottom:1px solid transparent;transition:.45s}.header.scrolled{height:74px;background:rgba(9,8,7,.91);backdrop-filter:blur(16px);border-color:var(--line)}.brand{display:flex;align-items:center;gap:17px;line-height:1.3}.brand b{font:500 30px var(--en);letter-spacing:.2em}.brand span{font-size:8px;letter-spacing:.2em;color:#aaa;border-left:1px solid #555;padding-left:16px}.desktop-nav{display:flex;gap:29px;margin-left:auto;font-size:10px}.desktop-nav a{position:relative}.desktop-nav a:after{content:"";position:absolute;left:0;bottom:-7px;width:0;height:1px;background:#b73a37;transition:.3s}.desktop-nav a:hover:after{width:100%}.head-tel{margin-left:35px;text-align:right;font:400 16px var(--en);letter-spacing:.08em;line-height:1.2}.head-tel small{display:block;font:300 8px var(--jp);color:#999}.header-reserve{height:98px;width:168px;margin-left:25px;display:grid;place-content:center;text-align:center;background:#831e20;line-height:1.2;transition:.35s}.scrolled .header-reserve{height:74px}.header-reserve:hover{background:#a52b2d}.header-reserve span{font:500 14px var(--en);letter-spacing:.2em}.header-reserve small{font-size:9px}.menu-toggle,.mobile-menu{display:none}.hero{position:relative;height:100svh;min-height:720px;overflow:hidden}.hero-photo{position:absolute;inset:0;background:url(assets/kaya-hero.jpg) center/cover no-repeat;animation:hero 18s ease-out both}@keyframes hero{from{transform:scale(1.07)}to{transform:scale(1)}}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,4,3,.9) 0%,rgba(5,4,3,.55) 43%,rgba(5,4,3,.13) 73%),linear-gradient(0deg,rgba(0,0,0,.55),transparent 45%)}.hero-copy{position:absolute;left:8.5vw;top:51%;transform:translateY(-45%)}.kicker,.section-tag{font:400 11px var(--en);letter-spacing:.3em;color:#b8aea0}.hero h1{font-weight:300;font-size:clamp(52px,6.4vw,92px);line-height:1.4;letter-spacing:.12em;margin:24px 0}.hero h1 span{margin-left:1.2em}.hero-copy>p:last-child{font-size:13px;color:#bbb;line-height:2.2}.hero-data{position:absolute;left:8.5vw;bottom:34px;display:flex;gap:42px;font:400 9px var(--en);letter-spacing:.17em;color:#8d867d}.hero-data span{padding-left:12px;border-left:1px solid #6f171a}.hero-stamp{position:absolute;right:4.2vw;bottom:7vh;width:120px;height:120px;border:1px solid rgba(255,255,255,.38);border-radius:50%;display:grid;place-content:center;text-align:center;transform:rotate(8deg);line-height:1.3}.hero-stamp b{font-size:17px;letter-spacing:.23em}.hero-stamp small{font:8px var(--en);letter-spacing:.16em;color:#aaa;margin-top:6px}.scroll{position:absolute;left:50%;bottom:0;font:9px var(--en);letter-spacing:.24em;display:flex;flex-direction:column;align-items:center}.scroll i{height:65px;width:1px;margin-top:10px;background:linear-gradient(#a52b2d 50%,rgba(255,255,255,.25) 50%);background-size:100% 200%;animation:line 2s infinite}@keyframes line{to{background-position:0 -200%}}.ticker{height:70px;overflow:hidden;border-bottom:1px solid var(--line);display:flex;align-items:center;color:#3d3935;font:400 34px var(--en);letter-spacing:.1em;white-space:nowrap}.ticker div{animation:ticker 25s linear infinite}@keyframes ticker{to{transform:translateX(-50%)}}.intro{position:relative;min-height:830px;padding:170px 13vw;display:grid;grid-template-columns:1fr 280px;gap:12vw;align-items:center;background:radial-gradient(circle at 58% 47%,#211817 0%,#0a0908 42%)}.vertical-copy{position:absolute;right:5vw;top:150px;writing-mode:vertical-rl;font-size:11px;letter-spacing:.4em;color:#706860}.section-tag{display:flex;align-items:center;gap:18px;margin-bottom:28px}.section-tag b{font-weight:400;color:#992e2d;border-right:1px solid #5f5750;padding-right:17px}.intro h2,.sig-copy h2,.course h2,.space h2,.access h2,.reserve h2{font-size:clamp(36px,4.6vw,67px);font-weight:300;line-height:1.65;letter-spacing:.12em;margin:0 0 35px}.intro h2 span{color:#aa3533}.intro-main>p:last-child{max-width:560px;color:#a79e94;font-size:13px;line-height:2.6}.intro-note{align-self:end;border-top:1px solid var(--line);padding-top:25px}.intro-note span{font:10px var(--en);letter-spacing:.22em;color:#a93836}.intro-note p{font-size:11px;color:#817a72}.signature{position:relative;min-height:930px;background:#d7d0c4;color:#171412;display:grid;grid-template-columns:1.2fr .8fr;align-items:center;overflow:hidden}.sig-photo{height:720px;position:relative;z-index:2;margin-left:6vw}.sig-photo img{filter:saturate(.8) contrast(1.05)}.sig-copy{position:relative;z-index:3;padding:80px 8vw}.sig-copy .section-tag{color:#574f48}.sig-copy>p:not(.section-tag){font-size:13px;line-height:2.6;color:#5c554e}.sig-line{display:flex;align-items:center;gap:14px;margin:40px 0;font:10px var(--en);letter-spacing:.17em}.sig-line i{height:1px;flex:1;background:#91887c}.sig-line small{font:9px var(--jp)}.arrow-link{display:flex;justify-content:space-between;border-bottom:1px solid #71685e;padding:13px 0;font-size:12px}.big-word{position:absolute;z-index:1;bottom:-132px;right:-20px;font:500 210px var(--en);letter-spacing:.02em;color:#cbc3b7}.course{padding:160px 7vw;background:#0c0a09}.course-head{display:grid;grid-template-columns:1fr 1.3fr .7fr;gap:5vw;align-items:end;margin-bottom:75px}.course-head .section-tag{align-self:start}.course-head h2{font-size:clamp(32px,3.8vw,55px);margin:0}.course-head>p:last-child{font-size:11px;color:#8e877f}.course-visual{height:560px;position:relative;overflow:hidden}.course-visual img{filter:brightness(.65) saturate(.7);transition:1.4s}.course-visual:hover img{transform:scale(1.025);filter:brightness(.72) saturate(.75)}.course-label{position:absolute;right:25px;bottom:20px;font:9px var(--en);letter-spacing:.24em}.course-cards{display:grid;grid-template-columns:repeat(3,1fr);margin-top:-90px;position:relative;z-index:2;padding:0 4vw}.course-cards article{background:#151210;padding:48px 42px;border-right:1px solid var(--line);transition:.4s}.course-cards article:first-child{border-top:3px solid #8e2928}.course-cards article:hover{transform:translateY(-8px);background:#1c1715}.course-no{font:13px var(--en);color:#9e302f}.course-no small{margin-left:14px;font-size:8px;letter-spacing:.18em;color:#706a64}.course-cards h3{font-size:30px;font-weight:400;letter-spacing:.2em;margin:24px 0 15px}.course-cards h3 em{font:11px var(--en);letter-spacing:.15em;color:#7d756d}.course-cards p{min-height:75px;font-size:11px;color:#918a82}.course-cards strong{display:block;font:300 26px var(--en);margin:25px 0}.course-cards strong small{font:9px var(--jp);color:#777;margin-right:13px}.course-cards a{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:16px;font-size:10px}.space{min-height:900px;display:grid;grid-template-columns:1.25fr .75fr;position:relative;background:#100e0d}.space-photo{height:900px;overflow:hidden}.space-photo img{filter:saturate(.78) brightness(.8)}.space-copy{padding:150px 7vw;align-self:center}.space-copy>p:not(.section-tag){color:#968e85;font-size:13px;line-height:2.5}.space dl{margin-top:45px}.space dl div{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding:14px 0}.space dt{font:9px var(--en);letter-spacing:.18em;color:#9d302f}.space dd{margin:0;font-size:11px}.space-caption{position:absolute;left:25px;bottom:20px;font:9px var(--en);letter-spacing:.22em}.access{display:grid;grid-template-columns:.85fr 1.15fr;background:#d6cfc3;color:#181513}.access-copy{padding:120px 8vw}.access-copy .section-tag{color:#5c554d}.access-copy h2{font-size:clamp(31px,3.7vw,50px)}address{font-style:normal;font-size:12px;line-height:2.2}.access-table{margin:38px 0}.access-table>div{display:grid;grid-template-columns:105px 1fr;border-top:1px solid rgba(0,0,0,.18);padding:15px 0}.access-table span{font:9px var(--en);letter-spacing:.18em;color:#7e2525}.access-table p{font-size:11px;margin:0;line-height:1.9}.access-table small{color:#777}.map-link{display:flex;justify-content:space-between;border-bottom:1px solid #5d564e;padding:10px 0;font:11px var(--en);letter-spacing:.18em}.access-map{min-height:720px;filter:grayscale(1) contrast(.87)}.access-map iframe{width:100%;height:100%;border:0}.reserve{min-height:760px;position:relative;display:grid;place-content:center;text-align:center;overflow:hidden}.reserve-bg{position:absolute;inset:0;background:linear-gradient(rgba(6,5,4,.82),rgba(6,5,4,.9)),url(assets/kaya-hero.jpg) center/cover;filter:saturate(.5)}.reserve-inner{position:relative;z-index:2}.reserve-inner>p{font:10px var(--en);letter-spacing:.35em;color:#b43a38}.reserve-inner h2{margin:18px 0}.reserve-inner>span{font-size:11px;color:#8c857d}.reserve-actions{display:flex;gap:14px;margin-top:45px}.reserve-actions>a{width:280px;height:83px;display:grid;place-content:center}.reserve-online{position:relative;background:#8c2425;font:13px var(--en);letter-spacing:.18em}.reserve-online i{position:absolute;right:22px;font-style:normal}.reserve-online small{font:8px var(--jp);margin-top:4px}.reserve-phone{border:1px solid #625b54;font:300 24px var(--en);letter-spacing:.08em}.reserve-phone small{font:8px var(--jp);color:#8e877f}footer{padding:80px 6vw 35px;background:#070605;display:grid;grid-template-columns:1fr 1fr;gap:35px;border-top:1px solid var(--line)}.foot-brand b{font:500 40px var(--en);letter-spacing:.2em}.foot-brand span{display:block;font-size:9px;color:#777}.foot-info{text-align:right;font-size:10px;color:#777}footer nav{grid-column:1/-1;display:flex;gap:32px;padding-top:35px;border-top:1px solid var(--line);font:10px var(--en);letter-spacing:.15em}footer>small{grid-column:1/-1;font:8px var(--en);color:#494541}.mobile-cta{display:none}.reveal{opacity:0;transform:translateY(35px);transition:opacity 1s,transform 1s}.reveal.visible{opacity:1;transform:none}
@media(max-width:980px){body{padding-bottom:62px}.header{height:70px;padding:0 20px}.header.scrolled{height:62px}.brand b{font-size:25px}.brand span,.desktop-nav,.head-tel,.header-reserve{display:none}.menu-toggle{display:block;margin-left:auto;width:45px;height:45px;border:0;background:none;position:relative}.menu-toggle i{position:absolute;right:0;width:27px;height:1px;background:#ddd;transition:.3s}.menu-toggle i:first-child{top:17px}.menu-toggle i:last-child{top:26px}.menu-toggle.active i:first-child{top:22px;transform:rotate(45deg)}.menu-toggle.active i:last-child{top:22px;transform:rotate(-45deg)}.mobile-menu{display:block;position:fixed;z-index:45;inset:0;background:#0a0807;padding:100px 10vw 80px;opacity:0;visibility:hidden;transition:.4s}.mobile-menu.open{opacity:1;visibility:visible}.mobile-menu nav{display:flex;flex-direction:column}.mobile-menu a{display:grid;grid-template-columns:28px 1fr auto;align-items:center;padding:17px 0;border-bottom:1px solid var(--line);font:11px var(--en);color:#912a29}.mobile-menu a span{font-size:26px;letter-spacing:.12em;color:#ddd}.mobile-menu a small{font:9px var(--jp);color:#777}.hero{min-height:680px}.hero-photo{background-position:62% center}.hero-overlay{background:linear-gradient(90deg,rgba(4,3,3,.82),rgba(4,3,3,.12)),linear-gradient(0deg,rgba(0,0,0,.66),transparent 55%)}.hero-copy{left:8vw;top:52%}.hero h1{font-size:43px}.hero h1 span{margin-left:0}.hero-copy>p:last-child{font-size:11px}.hero-data{left:8vw;bottom:28px}.hero-stamp{right:5vw;width:85px;height:85px}.hero-stamp b{font-size:13px}.hero-stamp small{display:none}.scroll{display:none}.ticker{height:53px;font-size:25px}.intro{min-height:730px;padding:110px 9vw;display:block}.intro-main{max-width:600px}.intro-note{width:55%;margin:70px 0 0 auto}.vertical-copy{display:none}.signature{display:block;padding:70px 0 100px}.sig-photo{height:58vh;min-height:430px;margin:0 7vw}.sig-copy{padding:75px 9vw 0}.big-word{font-size:110px;bottom:-72px}.course{padding:110px 7vw}.course-head{display:block}.course-head>p:last-child{margin-top:25px}.course-visual{height:55vw;min-height:360px}.course-cards{grid-template-columns:1fr;margin:-45px 5vw 0}.course-cards article{padding:37px 32px;border-right:0;border-bottom:1px solid var(--line)}.course-cards p{min-height:auto}.space{display:block;min-height:auto}.space-photo{height:66vh;min-height:500px}.space-copy{padding:90px 9vw}.access{display:flex;flex-direction:column}.access-copy{padding:90px 9vw}.access-map{min-height:430px;order:-1}.reserve{min-height:700px}.mobile-cta{display:grid;grid-template-columns:1fr 1.4fr;position:fixed;z-index:70;bottom:0;left:0;width:100%;height:62px;background:#171310}.mobile-cta a{display:grid;place-items:center;font-size:10px}.mobile-cta a:last-child{background:#8d2526}footer{display:block;padding:70px 8vw 35px}.foot-info{text-align:left;margin:25px 0}footer nav{display:none}}
@media(max-width:520px){.hero h1{font-size:38px}.hero-data span:last-child{display:none}.hero-stamp{bottom:10vh}.intro h2,.sig-copy h2,.course h2,.space h2,.access h2,.reserve h2{font-size:32px}.intro-note{width:82%}.sig-photo{height:440px;margin:0}.sig-copy{padding-left:8vw;padding-right:8vw}.course{padding-left:0;padding-right:0}.course-head{padding:0 8vw}.course-visual{height:430px}.course-cards{margin:-30px 6vw 0}.space-photo{height:510px}.reserve-actions{flex-direction:column;align-items:center}.reserve-actions>a{width:82vw}.foot-brand b{font-size:34px}}
.grain{display:none}
.space-photo img{object-position:50% 55%}
@media(min-width:981px){.hero-copy{top:44%}.space-photo img{object-position:50% 52%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero-photo,.ticker div{animation:none}.reveal{opacity:1;transform:none;transition:none}}
.brand b{font-size:20px;letter-spacing:.08em;white-space:nowrap}.foot-brand b{font-size:30px;letter-spacing:.08em}@media(max-width:980px){.brand b{font-size:16px}.brand span{display:none}}
@media(max-width:520px){.mobile-cta a:last-child{font-size:9px;letter-spacing:.03em}.menu-toggle{z-index:80}}
