@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;600;700&family=Noto+Serif+JP:wght@400;500;600&display=swap');
:root{--paper:#f6f2ea;--ink:#28231e;--red:#912f2d;--line:#d9d1c5;--muted:#696157}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:95px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.9 'Noto Sans JP',sans-serif}a{color:inherit;text-decoration:none}a:hover{color:var(--red)}a:focus-visible,summary:focus-visible{outline:3px solid var(--red);outline-offset:6px}header{display:flex;align-items:center;justify-content:space-between;padding:21px 5%;border-bottom:1px solid var(--line);gap:25px;background:var(--paper)}.brand strong{display:block;font-family:Georgia,serif;font-size:30px;line-height:1;letter-spacing:-1px}.brand strong span{font:12px sans-serif;letter-spacing:2.4px;margin-left:12px}.brand small{font-size:8px;letter-spacing:2.1px;display:block;margin-top:10px}nav{display:flex;gap:29px;font-size:12px}.language{font-size:12px;border-bottom:1px solid;padding-bottom:3px}.skip{position:absolute;left:-2000px}.skip:focus{left:20px;top:20px;background:white;padding:10px;z-index:9}.hero{position:relative;min-height:740px;display:grid;grid-template-columns:1fr 1fr;padding:72px 5% 80px;gap:25px}.hero-text{position:relative;z-index:2;padding:20px 0}.eyebrow{font-size:11px;font-weight:600;letter-spacing:2px;margin:0 0 24px;color:var(--red)}h1,h2,h3,p{margin-top:0}h1,h2{font-family:'Noto Serif JP',Georgia,serif;font-weight:500;line-height:1.55;letter-spacing:-1px}h1{font-size:clamp(34px,3.8vw,62px);margin-bottom:27px}h1 em{font-style:normal;color:var(--red)}.intro{font-size:14px;line-height:2.2;margin-bottom:30px}.button{background:var(--red);color:#fff;display:inline-flex;align-items:center;gap:40px;padding:16px 24px;font-size:13px}.button:hover{background:#6f201f;color:#fff}.text-link{font-size:13px;border-bottom:1px solid var(--ink);padding-bottom:5px;display:inline-block}.hero-text>.text-link{display:block;width:max-content;margin-top:19px}.hero figure{margin:0;position:relative;align-self:stretch;min-height:540px}.hero img{width:100%;height:100%;position:absolute;object-fit:cover;object-position:73%;border-radius:230px 230px 0 0}.hero figcaption{position:absolute;bottom:-28px;right:0;font-size:9px;color:var(--muted)}.vertical{position:absolute;left:-26px;bottom:20px;writing-mode:vertical-rl;font:10px sans-serif;letter-spacing:3px}.hero-bottom{position:absolute;bottom:17px;left:5%;right:5%;display:flex;justify-content:space-between;align-items:center;font-size:9px;letter-spacing:2px}.hero-bottom a{font-size:24px}.wrap{max-width:1250px;margin:auto;padding:95px 5%}h2{font-size:clamp(26px,2.7vw,42px);margin-bottom:25px}.split{display:grid;grid-template-columns:1fr 1fr;gap:70px}.split p{font-size:14px;line-height:2.2}.chips{padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:9px;margin-top:28px}.chips li{font-size:11px;border:1px solid var(--line);border-radius:30px;padding:7px 15px}.learn{background:#eae3d8}.section-head{position:relative}.flower{position:absolute;right:5%;top:0;color:var(--red);font:140px Georgia;line-height:1}.learning{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin-top:55px}.learning article{border-top:1px solid #b9aa96;padding-top:25px}.num{font-family:Georgia,serif;font-style:italic;font-size:43px;color:var(--red)}h3{font-size:20px;font-weight:500;margin:19px 0 13px}.learning p{font-size:13px;color:#585045}.flow{list-style:none;padding:0;margin:0}.flow li{display:flex;gap:25px;padding:25px 0;border-top:1px solid var(--line)}.flow li>span{font:italic 29px Georgia;color:var(--red);padding-top:5px}.flow h3{font-size:17px;margin:0 0 10px}.flow p{font-size:13px;margin:0}.note{font-size:11px!important;color:var(--muted);margin-top:20px;max-width:370px}.faq{padding-top:20px}.faq h2{margin-bottom:40px}details{border-top:1px solid var(--line)}details:last-child{border-bottom:1px solid var(--line)}summary{list-style:none;cursor:pointer;padding:23px 0;display:flex;justify-content:space-between;gap:20px;font-size:15px}summary::-webkit-details-marker{display:none}summary span{font-size:24px;color:var(--red);line-height:1.3}details[open] summary span{transform:rotate(45deg)}details>p{font-size:14px;max-width:830px;color:var(--muted);padding-right:30px;margin-bottom:28px}.location{border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding-top:50px;padding-bottom:60px;gap:30px}.location h2{font-size:24px}.location p{font-size:13px}.closing{background:var(--red);color:var(--paper);text-align:center;padding:80px 6%}.closing .eyebrow{color:#dfbcb1}.closing h2{font-size:clamp(27px,3vw,43px)}.closing p{font-size:14px}.light{background:var(--paper);color:var(--red);margin-top:15px}.light:hover{background:#e9dece;color:var(--red)}.resources{padding-top:55px;padding-bottom:55px}.resources>div{display:grid;grid-template-columns:1fr 1fr;column-gap:50px}.resources a{padding:16px 0;border-bottom:1px solid var(--line);font-size:13px;display:flex;justify-content:space-between}footer{border-top:1px solid var(--line);padding:35px 5%;display:flex;align-items:center;justify-content:space-between;gap:30px}footer p{font-size:10px;color:var(--muted);max-width:450px;margin:0}footer>a:last-child{font-size:12px}@media(min-width:1450px){.hero{padding-left:max(5%,calc((100% - 1250px)/2));padding-right:max(5%,calc((100% - 1250px)/2))}}@media(max-width:800px){header{padding:20px 6%}nav{display:none}.hero{padding:35px 6% 65px;grid-template-columns:1fr;gap:35px}.hero-text{padding:0}h1{font-size:38px;line-height:1.55}.hero figure{min-height:370px;margin:0 10px 15px 17px}.hero img{border-radius:170px 170px 0 0;object-position:75% 45%}.hero-bottom{font-size:8px}.wrap{padding:65px 6%}.split{grid-template-columns:1fr;gap:22px}.learning{grid-template-columns:1fr;gap:15px;margin-top:32px}.learning article{display:grid;grid-template-columns:55px 1fr;column-gap:15px}.learning h3{margin:9px 0 12px}.learning p{grid-column:2}.flower{font-size:85px;right:0;top:50px}.visit .flow{margin-top:25px}.faq{padding-top:15px}summary{font-size:14px}.location{display:block}.location .text-link{margin-top:15px}.resources>div{grid-template-columns:1fr}footer{align-items:flex-start;flex-wrap:wrap}footer p{order:3;width:100%}.intro{font-size:13px}html[lang=es] h1{font-size:45px;line-height:1.2}html[lang=es] h2{line-height:1.35}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
/* Art direction: tablao, ink, ivory and deep red. */
:root{--paper:#f3eee3;--ink:#211b18;--red:#a21f27;--line:#d4c8b8;--muted:#706254}body{overflow-x:hidden}header{background:#171513;color:#f5efe4;border:0;padding:22px 5%;position:relative;z-index:5}.brand strong{font-size:36px}.brand small{letter-spacing:2.5px}.languages{display:flex;gap:12px;font-size:10px;align-items:center}.languages a{opacity:.65;padding:5px 0;border-bottom:1px solid transparent}.languages a:hover,.languages [aria-current]{opacity:1;border-color:#d96a60}.hero{min-height:820px;background:#171513;color:#f3eee3;display:block;padding:80px 6% 120px;isolation:isolate;overflow:hidden}.hero figure{position:absolute;inset:0 0 0 35%;z-index:-2;min-height:0}.hero img{border-radius:0;object-position:50% 25%;filter:contrast(1.1);opacity:.9}.hero figure:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#171513 0%,transparent 50%),linear-gradient(0deg,#171513 0%,transparent 45%)}.hero-text{max-width:640px;padding:0}.hero .eyebrow{color:#d89883;margin-bottom:32px}.hero h1{font-size:clamp(38px,4.4vw,68px);line-height:1.5;text-shadow:0 3px 30px #0005;letter-spacing:-2px}.hero h1 em{color:#d25a55}.hero .intro{color:#ddd0c3;line-height:2.1;font-size:14px}.hero .button{background:#a21f27}.hero .text-link{color:#d4c4b4;border-color:#8c7864}.hero figure figcaption{display:none}.hero .vertical{left:auto;right:25px;bottom:100px;color:#c9b79f;z-index:2}.hero-bottom{color:#b6a38d;bottom:26px;left:6%;right:6%;z-index:4}.hero-word{font-family:Georgia,serif;font-size:clamp(90px,17vw,270px);font-weight:400;letter-spacing:-.07em;position:absolute;bottom:-.29em;right:3%;line-height:1;color:transparent;-webkit-text-stroke:1px #dac4a52b;z-index:-1;pointer-events:none}.rhythm-strip{overflow:hidden;background:var(--red);color:var(--paper);padding:14px 0;border-top:1px solid #cc6954;white-space:nowrap}.rhythm-strip span{display:block;width:max-content;font-family:Georgia,serif;font-size:22px;letter-spacing:4px;animation:drift 32s linear infinite}.rhythm-strip i{font-style:normal;margin:0 38px;font-size:22px}.start{padding-top:105px;padding-bottom:105px}.start h2{font-size:clamp(30px,3.3vw,49px)}.chips li{border:0;border-radius:0;border-bottom:1px solid #c2b19b;padding:5px 0;margin-right:13px}.class-image{margin:0 6%;position:relative;height:480px;overflow:hidden}.class-image img{width:100%;height:100%;object-fit:cover;object-position:center 55%;filter:saturate(.68) contrast(1.04);transition:transform 1.8s}.class-image:hover img{transform:scale(1.025)}.class-image figcaption{position:absolute;bottom:22px;left:25px;font-size:10px;letter-spacing:3px;color:white;text-shadow:0 2px 8px #000}.learn{background:var(--paper);position:relative}.learn .wrap{padding-top:95px}.section-head{display:grid;grid-template-columns:1fr 2fr;gap:30px}.section-head h2{font-size:clamp(33px,3.5vw,51px)}.flower{font-size:200px;font-style:italic;opacity:.1;right:0;top:-55px}.learning{display:block;margin-top:35px}.learning article{display:grid;grid-template-columns:110px 1fr 1.4fr;gap:35px;align-items:center;padding:30px 0;border-color:#c8bba9}.learning .num{font-size:58px}.learning h3{font-family:'Noto Serif JP',Georgia,serif;font-size:30px;margin:0}.learning p{font-size:14px;line-height:2;margin:0;max-width:430px}.learning article:hover .num{transform:translateX(7px)}.learning .num{transition:transform .4s}.visit{max-width:none;padding:90px max(6%,calc((100% - 1120px)/2));background:#231d18;color:#eee5d6}.visit .eyebrow{color:#d89883}.visit .split{gap:90px}.visit p{color:#cfbfac}.visit .note{color:#ae9d87}.flow li{border-color:#554638}.flow li>span{color:#d89883}.faq{padding-top:95px;padding-bottom:95px}.faq h2{font-size:clamp(30px,3.3vw,45px)}.faq summary{padding:26px 0}.faq summary:hover{color:var(--red)}.closing{position:relative;overflow:hidden;padding:95px 7% 110px;isolation:isolate}.closing:before{content:attr(data-art-text);position:absolute;bottom:-28px;left:0;right:0;font:17vw/.8 Georgia,serif;white-space:nowrap;opacity:.12;z-index:-1}.closing h2{font-size:clamp(30px,3.6vw,52px)}.button{transition:background .25s,transform .25s}.button:hover{transform:translateY(-3px)}.resources{padding-top:65px}footer{position:relative;padding-bottom:75px}.motion-toggle{position:absolute;bottom:18px;right:5%;border:0;border-bottom:1px solid #b9aa96;background:none;font:10px 'Noto Sans JP',sans-serif;color:var(--muted);cursor:pointer}.motion-toggle:hover{color:var(--red)}.motion-paused *{animation-play-state:paused!important;transition:none!important}html[lang=es] h1,html[lang=en] h1{font-family:Georgia,serif;font-size:clamp(60px,6.7vw,100px);line-height:1.04;font-weight:400;letter-spacing:-4px}html[lang=es] h2,html[lang=en] h2{font-family:Georgia,serif;line-height:1.2}html[lang=ko] h1,html[lang=zh-Hans] h1{font-size:clamp(36px,4.2vw,65px)}@keyframes drift{to{transform:translateX(-50%)}}@keyframes gentle-in{from{opacity:.7;transform:translateY(14px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:no-preference){.hero-text{animation:gentle-in .9s ease-out both}.reveal.play{animation:gentle-in .65s ease-out both}}@media(max-width:1100px){header nav{display:none}.languages{font-size:11px}.hero figure{left:20%}.hero h1{max-width:600px}.hero figure:after{background:linear-gradient(90deg,#171513 0%,#17151344 80%),linear-gradient(0deg,#171513 0%,transparent 75%)}}@media(max-width:700px){header{flex-wrap:wrap;gap:18px;padding:20px 6%}.brand strong{font-size:29px}.brand small{font-size:7px}.languages{gap:14px;margin-left:auto}.languages a{font-size:10px}.hero{min-height:930px;padding:35px 6% 95px;display:flex;align-items:flex-end}.hero figure{inset:0 0 0 0;margin:0}.hero img{height:68%;object-position:50% 15%;opacity:.85}.hero figure:after{background:linear-gradient(0deg,#171513 25%,#171513f0 36%,#17151333 75%,transparent 100%)}.hero-text{width:100%;padding:0}.hero .eyebrow{font-size:9px;margin-bottom:20px}.hero h1{font-size:38px;line-height:1.5;letter-spacing:-1.5px;margin-bottom:22px}.hero .intro{font-size:13px;line-height:2}.hero .vertical{top:30px;right:16px;bottom:auto;font-size:8px;letter-spacing:2px}.hero-word{bottom:40%;font-size:20vw;-webkit-text-stroke-color:#dcc4a54d}.hero-bottom{font-size:8px;letter-spacing:1px}.hero .button{padding:15px 20px}.rhythm-strip{padding:10px 0}.rhythm-strip span{font-size:17px}.rhythm-strip i{margin:0 23px}.start{padding-top:65px;padding-bottom:65px}.start h2{font-size:29px}.class-image{height:300px;margin:0 6%}.class-image img{object-position:70%}.class-image figcaption{left:15px;font-size:8px;bottom:15px}.learn .wrap{padding-top:60px;padding-bottom:60px}.section-head{display:block}.section-head h2{font-size:34px}.flower{top:0;font-size:150px}.learning article{grid-template-columns:50px 1fr;column-gap:25px;row-gap:10px;padding:24px 0}.learning .num{font-size:40px}.learning h3{font-size:25px}.learning p{grid-column:2;font-size:13px}.visit{padding:65px 6%}.visit .split{gap:20px}.faq{padding-top:65px;padding-bottom:65px}.closing{padding:70px 6% 85px}.closing:before{bottom:0;font-size:20vw}.closing h2{font-size:31px}.location{padding-top:45px;padding-bottom:45px}.location h2{font-size:24px}html[lang=es] .hero,html[lang=en] .hero{min-height:950px}html[lang=es] h1,html[lang=en] h1{font-size:59px;letter-spacing:-2.5px;line-height:1.06}html[lang=ko] h1,html[lang=zh-Hans] h1{font-size:36px}.motion-toggle{bottom:18px}.resources{padding-top:45px;padding-bottom:45px}}@media(max-width:380px){.languages{width:100%;justify-content:space-between}.hero h1{font-size:33px}html[lang=es] h1,html[lang=en] h1{font-size:52px}.hero{min-height:950px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}html{scroll-behavior:auto}}

.destination-note{position:absolute;bottom:65px;left:6%;color:#c9b9a6;font-size:10px;max-width:80%;margin:0}.destination-note-inline{font-size:11px;color:var(--muted);margin-bottom:25px}@media(max-width:700px){.destination-note{bottom:64px;font-size:9px;line-height:1.5;max-width:88%}}

html[lang=ja] .rhythm-strip span,html[lang=ko] .rhythm-strip span,html[lang=zh-Hans] .rhythm-strip span{font-family:"Noto Serif JP",serif;letter-spacing:2px}html[lang=ja] .closing:before,html[lang=ko] .closing:before,html[lang=zh-Hans] .closing:before{font-size:15vw}
