:root{--ink:#111210;--paper:#eeece5;--muted:#777972}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button,a,input,textarea{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid #94816b;outline-offset:5px}header{position:absolute;z-index:10;top:0;left:0;width:100%;padding:35px 3%;display:flex;align-items:center;justify-content:space-between;gap:30px;color:white}nav{display:flex;align-items:center;gap:24px}nav a,.languages,.eyebrow,.explore,.text-link,.disciplines,.hero-location{font-size:11px;letter-spacing:.24em;text-transform:uppercase}nav i{font-size:12px;font-style:normal;opacity:.6}nav a{padding:8px 0;position:relative}nav a:after{content:'';position:absolute;bottom:0;left:0;width:0;height:1px;background:currentColor;transition:width .3s}nav a:hover:after,nav a[aria-current=page]:after{width:100%}.languages{display:flex;gap:14px}.languages button{background:none;border:0;color:inherit;padding:6px 0;font-size:11px;letter-spacing:.2em;opacity:.5}.languages button.active{opacity:1}.mini-logo{display:none;font-size:26px;letter-spacing:.07em}.hero{height:100svh;min-height:650px;position:relative;isolation:isolate;background:#0b0c0b;color:white;overflow:hidden}.hero-art{position:absolute;inset:0;z-index:-2;background:url('assets/hero.jpg') center/cover;animation:drift 18s ease-in-out infinite alternate}.hero:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,#0005,transparent 24%,#0001 80%,#0004)}.identity{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:min(570px,75vw);text-align:center}.identity img{width:100%;display:block}.tagline{font-size:12px;text-transform:uppercase;letter-spacing:.36em;margin:28px -50px 0;line-height:1.8}.disciplines{margin:28px 0 0;font-size:10px;letter-spacing:.3em}.disciplines span{margin:0 13px;opacity:.6}.explore{position:absolute;bottom:6%;left:50%;transform:translateX(-50%);display:flex;gap:22px;align-items:center;white-space:nowrap;padding:12px 0;border-bottom:1px solid #ffffff70;transition:gap .25s}.explore:hover{gap:32px}.explore b{font-size:26px;font-weight:400;line-height:1}.hero-location{position:absolute;bottom:6%;left:3%;font-size:9px;opacity:.55}.inner{padding:160px 6% 85px}.section-heading{display:grid;grid-template-columns:1.4fr 1fr;gap:30px 8%;margin-bottom:70px}.eyebrow{font-size:10px;line-height:1.8}.section-heading>.eyebrow{grid-column:1/-1;margin:0 0 15px}.section-heading h1{font-family:Georgia,'Times New Roman',serif;font-weight:400;font-size:clamp(45px,5.5vw,86px);line-height:1.04;letter-spacing:-.045em;margin:0}.intro{max-width:420px;align-self:end;font-size:16px;line-height:1.75}.intro p{margin:0 0 15px}.muted{color:var(--muted);font-size:13px;line-height:1.8}.gallery{display:grid;grid-template-columns:1fr 1fr;gap:45px 24px}.gallery button{padding:0;border:0;background:none;text-align:left;color:inherit}.gallery button:first-child{grid-column:1/-1}.gallery img{width:100%;height:450px;object-fit:cover;display:block;transition:filter .4s}.gallery button:first-child img{height:650px}.gallery button:hover img{filter:brightness(.88)}.photo-label{display:flex;justify-content:space-between;margin-top:12px;font-size:10px;letter-spacing:.13em;text-transform:uppercase}.section-end{display:flex;justify-content:space-between;align-items:center;padding:70px 0 0}.section-end p{font-family:Georgia,serif;font-size:40px;margin:0}.text-link{border-bottom:1px solid #aaa;padding:12px 0;line-height:1.7;font-size:10px}.date-form{display:grid;grid-template-columns:1fr 1fr 1fr;gap:30px;align-items:end;border-top:1px solid #c8c7bf;padding-top:35px}.date-form label{margin:0}.solid{background:var(--ink);color:var(--paper);border:1px solid var(--ink);padding:20px 25px;text-transform:uppercase;letter-spacing:.17em;font-size:10px;min-height:56px;transition:background .2s}.solid:hover{background:#363832}.availability-image{position:relative;margin-top:70px}.availability-image img{width:100%;height:440px;object-fit:cover;filter:brightness(.72)}.availability-image span{position:absolute;bottom:35px;left:35px;color:white;font-size:11px;letter-spacing:.24em}.contact-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:8%;border-top:1px solid #c8c7bf;padding-top:45px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:25px}label{display:block;margin-bottom:26px}label>span{display:block;font-size:11px;letter-spacing:.08em;margin-bottom:12px}input,textarea{width:100%;border:0;border-bottom:1px solid #b9bbb2;border-radius:0;background:transparent;padding:12px 0;color:var(--ink);font-size:16px}textarea{resize:vertical}.fine{font-size:11px;color:var(--muted);line-height:1.7;max-width:420px}aside h2{font-weight:400;letter-spacing:.14em;font-size:20px;line-height:1.4;margin:24px 0}aside>p{font-size:13px;line-height:1.8}.contact-links{display:grid;gap:12px;margin:25px 0;font-size:14px}.socials{display:flex;gap:24px;font-size:11px;letter-spacing:.08em}.socials a:hover,.contact-links a:hover{opacity:.55}.map-heading{display:flex;justify-content:space-between;align-items:center;margin:75px 0 20px}iframe{border:0;width:100%;height:440px;filter:grayscale(1)}footer{background:#111210;color:#ecebe5;display:grid;grid-template-columns:1fr 1fr auto;gap:50px;padding:55px 6% 30px;align-items:center}.footer-logo{font-size:45px;letter-spacing:.08em;width:max-content}.footer-logo span{display:block;font-size:9px;letter-spacing:.22em}footer>p{font-size:10px;letter-spacing:.22em}footer small{grid-column:1/-1;font-size:9px;color:#85877f;border-top:1px solid #ffffff20;padding-top:23px;letter-spacing:.08em}body.inside header{color:var(--ink);border-bottom:1px solid #11111112}body.inside .mini-logo{display:block}body.inside nav{margin-left:auto}body.inside .languages{margin-left:25px}dialog{border:0;background:#0b0b0bf5;color:white;width:100vw;height:100dvh;max-width:none;max-height:none;padding:60px;margin:0}dialog[open]{display:flex;align-items:center;justify-content:center}dialog::backdrop{background:#000e}dialog img{max-width:85%;max-height:85vh;object-fit:contain}dialog button{position:absolute;background:transparent;border:0;color:white;font-size:28px;padding:16px}.close{right:20px;top:15px}.previous{left:10px;top:45%}.next{right:10px;top:45%}.counter{position:absolute;bottom:12px;font-size:11px;letter-spacing:.2em}[hidden]{display:none!important}@keyframes drift{from{transform:scale(1)}to{transform:scale(1.045)}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}@media(min-width:1800px){.hero-art{background-position:center 55%}}@media(max-width:750px){header{padding:23px 5%;gap:12px}nav{gap:11px}nav a,.languages button{font-size:9px;letter-spacing:.12em}nav i{font-size:9px}.languages{gap:7px}.hero{min-height:620px}.hero-art{background-position:51% center}.identity{width:80vw}.tagline{font-size:9px;letter-spacing:.22em;margin:24px 0 0}.disciplines{font-size:8px;letter-spacing:.2em}.disciplines span{margin:0 8px}.hero-location{display:none}.explore{font-size:9px;bottom:8%}.inner{padding:125px 6% 55px}.section-heading{display:block;margin-bottom:40px}.section-heading>.eyebrow{margin-bottom:27px}.section-heading h1{font-size:52px}.intro{margin-top:28px;font-size:14px}.gallery{gap:25px 12px}.gallery img{height:190px}.gallery button:first-child img{height:340px}.photo-label{font-size:8px}.section-end{display:block;padding-top:40px}.section-end p{font-size:32px;margin-bottom:20px}.date-form{grid-template-columns:1fr 1fr;gap:25px 15px}.date-form button{grid-column:1/-1}.availability-image img{height:310px}.availability-image span{font-size:9px;left:20px;bottom:20px}.contact-grid{grid-template-columns:1fr;gap:45px}.form-row{grid-template-columns:1fr;gap:0}.contact-grid aside{border-top:1px solid #bbb;padding-top:25px}iframe{height:330px}.map-heading{margin-top:45px}footer{grid-template-columns:1fr auto;gap:30px;padding:40px 6% 25px}footer>p{grid-column:1/-1;grid-row:2;font-size:9px}footer .socials{gap:16px;font-size:10px}footer small{line-height:1.8}body.inside .mini-logo{font-size:19px}body.inside .languages{margin-left:0}body.inside nav{gap:9px}body.inside nav i{display:none}dialog{padding:40px 25px}dialog img{max-width:100%;max-height:80vh}dialog .previous,dialog .next{top:auto;bottom:5px}.photo-label span:last-child{display:none}}
.explore{color:#151613;border-bottom-color:#15161380;text-shadow:0 1px 10px #fff9}.gallery button:has(img[src$='space-26.jpg']) img,.gallery button:has(img[src$='space-27.jpg']) img{object-fit:contain;background:white}

.calendar-wrap{margin-bottom:45px}.calendar-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:24px}#availability-calendar{height:640px;background:#fff;filter:none}.calendar-toolbar .eyebrow{margin:0}@media(max-width:750px){#availability-calendar{height:560px}.calendar-toolbar{align-items:flex-start}.calendar-toolbar .text-link{font-size:9px;letter-spacing:.1em;padding-top:0}}

/* Official logo artwork: display the central mark with its original proportions. */
.footer-logo{display:block;position:relative;width:220px;height:72px;overflow:hidden;mix-blend-mode:screen}
.footer-logo img{position:absolute;width:590px;max-width:none;height:auto;left:-182px;top:-24px}
.identity{width:min(610px,78vw)}
#space .section-heading h1{font-size:clamp(49px,6vw,94px)}
@media(max-width:750px){.identity{width:84vw}.footer-logo{width:165px;height:54px}.footer-logo img{width:442.5px;left:-136.5px;top:-18px}#space .section-heading h1{font-size:56px}}
.footer-logo{width:225px}@media(max-width:750px){.footer-logo{width:169px}}

.section-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:35px;margin-bottom:35px}.section-heading>.eyebrow{flex:1;margin:0}.section-heading .intro{max-width:590px;flex:1.2;align-self:auto}.inner{padding-top:145px}@media(max-width:750px){.inner{padding-top:115px}.section-heading{display:block}.section-heading>.eyebrow{margin-bottom:20px}.section-heading .intro{margin-top:0}}

.languages{align-items:center;line-height:1}.languages button,.languages>span{line-height:1;padding:6px 0;display:block}.languages>span{font-size:11px}
nav a{font-size:13px}.identity{width:min(510px,72vw)}.disciplines{text-transform:none;font-size:12px}footer>p{text-transform:none;font-size:11px}
.month-controls{display:flex;align-items:center;justify-content:center;gap:30px;margin-bottom:20px}.month-controls button{border:1px solid #b9bbb2;background:transparent;padding:8px 15px;font-size:20px}.month-controls button:disabled{opacity:.2;cursor:default}#month-name{min-width:165px;text-align:center;font-size:15px;letter-spacing:.06em}
@media(max-width:750px){nav a{font-size:10px}.identity{width:74vw}body.inside nav a{font-size:10px}header{gap:9px}body.inside .mini-logo{font-size:17px}.disciplines{font-size:10px}}

html{overflow-x:hidden}button,input,textarea{font-family:inherit}html[lang=ja] body{font-family:Arial,'Hiragino Kaku Gothic ProN','Yu Gothic',Meiryo,sans-serif}html[lang=ja] nav a{letter-spacing:.1em}img{max-width:100%}.gallery button{min-width:0}.gallery img[src*='art-fashion']{object-position:center 32%}button{min-height:44px}.languages{gap:12px}.languages button{min-width:28px}.languages>span{padding:0}
@media(max-width:600px){header{padding:max(12px,env(safe-area-inset-top)) 5% 12px;display:grid;grid-template-columns:1fr auto;gap:10px}.languages{grid-column:2;grid-row:1;gap:10px}.mini-logo{grid-column:1;grid-row:1}nav{grid-column:1/-1;grid-row:2;justify-content:space-between;gap:10px;padding-top:3px}body:not(.inside) nav{grid-row:2}body:not(.inside) header:before{content:'KADO';grid-column:1;grid-row:1;font-size:18px;letter-spacing:.15em}body.inside nav{margin-left:0;gap:10px}nav a,body.inside nav a{font-size:11px;min-height:40px;display:flex;align-items:center}body.inside nav i{display:block}body.inside .languages{margin:0}.hero{min-height:600px;height:100svh}.hero-art{background-image:url('assets/hero-mobile.png');background-position:58% center;animation:none}.hero:after{background:linear-gradient(180deg,#0007 0%,#0000 30%,#0004 50%,#000b 100%)}.identity{top:auto;bottom:31%;transform:translateX(-50%);width:73vw}.tagline{font-size:9px;line-height:1.8;margin-top:20px}.disciplines{margin-top:18px}.explore{color:#fff;border-color:#fff8;text-shadow:none;bottom:7%}.inner{padding-top:145px}.gallery{grid-template-columns:1fr;gap:26px}.gallery img,.gallery button:first-child img{height:auto;aspect-ratio:auto;object-fit:contain}.gallery button:first-child{grid-column:auto}.section-heading{margin-bottom:25px}.photo-label{font-size:9px}.photo-label span:last-child{display:inline}.contact-grid{padding-top:25px}.solid{width:100%;line-height:1.7}.date-form{gap:20px 12px}input,textarea{font-size:16px;min-height:44px}input[type=date]{min-width:0;max-width:100%}#availability-calendar{height:570px}.calendar-toolbar{margin-bottom:15px}.month-controls{gap:18px;margin-bottom:15px}.month-controls button{min-width:44px}footer{padding-bottom:max(25px,env(safe-area-inset-bottom));gap:24px}.socials a{padding:12px 0}dialog{padding:50px 12px 80px}dialog img{max-height:calc(100dvh - 150px)}dialog button{min-width:48px;min-height:48px}.close{top:max(10px,env(safe-area-inset-top))}.previous,.next{bottom:max(15px,env(safe-area-inset-bottom))!important}html[lang=ja] nav a{font-size:11px;letter-spacing:.05em}}

/* Japanese typography and discipline headings. */
.disciplines,footer>p{text-transform:uppercase}
html[lang=ja] nav a{font-size:18px;font-weight:700;letter-spacing:.12em}
html[lang=ja] .eyebrow{font-size:14px;font-weight:700;letter-spacing:.12em}
html[lang=ja] .tagline{font-size:20px;font-weight:600;letter-spacing:.22em;line-height:1.8;margin-left:-30px;margin-right:-30px}
html[lang=ja] .section-end p,html[lang=ja] aside h2{font-weight:700}
@media(max-width:750px){html[lang=ja] nav a,html[lang=ja] body.inside nav a{font-size:15px;letter-spacing:.04em}html[lang=ja] .tagline{font-size:17px;letter-spacing:.12em;margin-left:-20px;margin-right:-20px}html[lang=ja] .eyebrow{font-size:13px}}
@media(max-width:360px){html[lang=ja] nav a,html[lang=ja] body.inside nav a{font-size:14px}html[lang=ja] .tagline{font-size:16px;letter-spacing:.08em}}

.identity img{mix-blend-mode:screen;opacity:1;filter:none;}

.identity{mix-blend-mode:screen;}

/* Natural-brightness availability photo with caption below. */
.availability-image img{filter:none;display:block;}
.availability-image span{position:static;display:block;color:#000;margin-top:18px;line-height:1.8;}

.socials{--social-cutout:var(--paper);align-items:center;gap:18px}.socials a{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;padding:6px}.socials svg{display:block;width:30px;height:30px}footer .socials{--social-cutout:#111210}

/* Smaller homepage brand lockup; preserve tagline and navigation sizing. */
.identity img{width:75%;margin-inline:auto;}
.disciplines{display:grid;grid:auto/1fr auto 1fr auto 1fr}
.disciplines{width:75%;margin-inline:auto}
.disciplines{display:flex;justify-content:space-between}
.disciplines{width:max-content;gap:1em}
footer>p{grid-column:1/-1}
footer>p{justify-self:center}
footer .socials{grid-area:1/-2/2/-1;justify-self:end}
