@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Noto+Sans+JP:wght@400;500;600&display=swap";:root{--bg: #fafaf8;--surface: #ffffff;--text: #16191f;--muted: #72767c;--line: #d9dbd6;--accent: #1e6548;--container: 1360px;--gutter: clamp(22px, 4.5vw, 72px);--space-section: clamp(112px, 15vw, 224px);--space-grid: clamp(22px, 3.2vw, 52px);--font-sans: "Inter", "Helvetica Neue", Arial, sans-serif;--font-jp: "Noto Sans JP", "Yu Gothic", "YuGothic", sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px;min-height:100vh;overflow-x:hidden;background:var(--bg);color:var(--text);font-family:var(--font-sans),var(--font-jp);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}body.lightbox-open{overflow:hidden}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit}button:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.skip-link{position:fixed;top:12px;left:12px;z-index:100;padding:10px 14px;transform:translateY(-150%);background:var(--text);color:var(--surface);font-size:13px;text-decoration:none}.skip-link:focus{transform:translateY(0)}.hero,.project,.about{width:min(100%,var(--container));margin-inline:auto;padding-inline:var(--gutter)}.hero{min-height:clamp(720px,100svh,920px);display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-template-rows:auto 1fr auto;column-gap:clamp(14px,2vw,30px);padding-top:clamp(28px,4vw,58px);padding-bottom:clamp(32px,4vw,62px);border-bottom:1px solid var(--line)}.hero__brand{grid-column:1 / span 3;align-self:start}.hero__brand p{margin:0 0 3px;font-size:17px;font-weight:600;letter-spacing:.21em}.hero__brand span{color:var(--muted);font-size:10px;letter-spacing:.07em}.hero__title{grid-column:1 / span 9;align-self:end;padding-bottom:clamp(48px,7vh,92px)}.eyebrow{display:flex;align-items:center;gap:18px;margin:0 0 clamp(22px,3vw,38px);font-size:11px;font-weight:600;letter-spacing:.28em}.eyebrow:before{content:"";width:34px;border-top:1px solid var(--text)}.hero h1{margin:0;font-size:clamp(56px,7vw,110px);font-weight:600;letter-spacing:-.065em;line-height:.91}.hero h1 span{display:block}.hero__discipline{margin:clamp(24px,3vw,38px) 0 0;font-size:clamp(13px,1.2vw,17px);letter-spacing:-.01em}.hero__index{grid-column:10 / -1;align-self:end;margin-bottom:clamp(48px,7vh,92px);border-top:1px solid var(--text)}.hero__index a{display:grid;grid-template-columns:30px 1fr auto;gap:10px;align-items:baseline;padding:16px 0;border-bottom:1px solid var(--line);text-decoration:none}.hero__index span,.hero__index em{color:var(--muted);font-size:9px;font-style:normal;letter-spacing:.12em}.hero__index strong{font-size:11px;font-weight:500;letter-spacing:.12em}.hero__index a:hover strong{color:var(--accent)}.hero__meta{grid-column:1 / -1;display:flex;align-items:center;margin:0;padding:20px 0 0;border-top:1px solid var(--line);list-style:none;color:var(--muted);font-size:11px;letter-spacing:.04em}.hero__meta li+li:before{content:"";display:inline-block;height:12px;margin:0 22px;border-left:1px solid var(--line);vertical-align:-2px}.project{padding-top:var(--space-section)}.project+.project{margin-top:var(--space-section);border-top:1px solid var(--line)}.project-intro{display:grid;grid-template-columns:90px minmax(260px,1.05fr) minmax(260px,.95fr);grid-template-areas:"index title description" ". meta description";column-gap:clamp(28px,4vw,68px);row-gap:clamp(36px,4vw,58px);margin-bottom:clamp(72px,9vw,136px)}.project-intro__index{grid-area:index;display:flex;align-items:center;align-self:start;gap:14px;padding-top:7px;color:var(--accent);font-size:13px;font-weight:600;letter-spacing:.08em}.project-intro__index i{width:38px;border-top:1px solid currentColor}.project-intro__title{grid-area:title}.project-intro__title h2{max-width:620px;margin:0;font-size:clamp(27px,3vw,46px);font-weight:600;letter-spacing:-.04em;line-height:1.05}.project-intro__subtitle{margin:13px 0 0;color:var(--muted);font-size:clamp(15px,1.4vw,19px)}.project-intro__description{grid-area:description;max-width:530px;padding-top:4px;font-family:var(--font-jp);font-size:14px;line-height:2}.project-intro__description p{margin:0}.project-intro__description p+p{margin-top:10px}.project-meta{grid-area:meta;margin:0;border-top:1px solid var(--line)}.project-meta div{display:grid;grid-template-columns:minmax(88px,.55fr) 1.45fr;gap:14px;padding:11px 0;border-bottom:1px solid var(--line)}.project-meta dt,.project-meta dd{margin:0;font-size:10px;letter-spacing:.08em}.project-meta dt{color:var(--muted)}.project-meta dd{letter-spacing:0}.artwork{margin:0}.artwork__button{width:100%;display:block;margin:0;padding:0;border:1px solid #e1e2de;border-radius:0;background:var(--surface);cursor:zoom-in;box-shadow:0 1px #12171c0a;transition:border-color .24s ease,transform .24s ease,box-shadow .24s ease}.artwork__button:hover{transform:translateY(-3px);border-color:#aeb2ac;box-shadow:0 12px 34px #12171c0f}.artwork img{display:block;width:100%;height:auto;object-fit:contain}.artwork figcaption{display:flex;justify-content:space-between;margin-top:11px;color:var(--muted);font-size:9px;letter-spacing:.14em}.livera-gallery__lead{width:min(84%,1120px);margin-inline:auto}.livera-gallery__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(64px,8vw,116px) var(--space-grid);margin-top:clamp(76px,9vw,132px)}.project--hbc{--accent: #0b5874}.hbc-gallery__pair,.hbc-gallery__triptych{display:grid;align-items:start}.hbc-gallery__pair{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-grid);max-width:1010px;margin-inline:auto}.hbc-gallery__triptych{grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(22px,3vw,44px);margin-top:clamp(86px,10vw,148px)}.hbc-gallery__final{width:min(52%,610px);margin:clamp(96px,11vw,160px) auto 0}.project--festival{--accent: #d66d19;padding-bottom:var(--space-section)}.festival-showcase{width:min(100%,720px);margin-inline:auto}.about{display:grid;grid-template-columns:90px 1fr 1.3fr 1.2fr auto;gap:clamp(24px,4vw,62px);align-items:start;padding-top:38px;padding-bottom:42px;border-top:1px solid var(--line);font-size:10px}.about__label{color:var(--muted);letter-spacing:.18em}.about__name strong,.about__name span{display:block}.about__name strong{font-size:16px;letter-spacing:.12em}.about__name span{margin-top:4px;color:var(--muted)}.about__skills{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px 18px;margin:0;padding:0;list-style:none;line-height:1.3}.about__note{margin:0;color:var(--muted);line-height:1.7}.about__top{text-decoration:none;letter-spacing:.1em}.lightbox{position:fixed;top:0;right:0;bottom:0;left:0;z-index:90;display:grid;grid-template-rows:auto minmax(0,1fr) auto;padding:clamp(18px,3vw,42px);background:#0a0c0ff0;color:#fff;animation:lightbox-in .18s ease-out both}.lightbox__topbar{display:flex;align-items:center;justify-content:space-between;padding-bottom:16px}.lightbox__topbar p{display:flex;gap:20px;margin:0;font-size:10px;letter-spacing:.12em}.lightbox__topbar p span{color:#a9adb4}.lightbox__close,.lightbox__nav{display:grid;place-items:center;padding:0;border:1px solid rgba(255,255,255,.35);border-radius:50%;background:transparent;color:#fff;cursor:pointer}.lightbox__close{width:44px;height:44px}.lightbox__stage{position:relative;display:grid;place-items:center;min-height:0;padding-inline:clamp(0px,5vw,74px)}.lightbox__stage img{display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;box-shadow:0 24px 80px #00000057}.lightbox__nav{position:absolute;top:50%;width:48px;height:48px;transform:translateY(-50%)}.lightbox__nav--prev{left:0}.lightbox__nav--next{right:0}.lightbox__close:hover,.lightbox__nav:hover{background:#fff;color:#111}.lightbox__hint{margin:0;padding-top:14px;text-align:center;color:#8d9299;font-size:8px;letter-spacing:.14em}.lightbox__glyph{font-family:Arial,sans-serif;font-size:24px;font-weight:300;line-height:1}[data-reveal]{opacity:1;transform:translateY(0)}.hero__title,.hero__index{animation:page-in .42s ease-out both}.hero__index{animation-delay:90ms}@keyframes lightbox-in{0%{opacity:0}to{opacity:1}}@keyframes page-in{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@media(max-width:900px){.hero{grid-template-rows:auto 1fr auto auto}.hero__brand{grid-column:1 / span 5}.hero__title{grid-column:1 / -1;padding-bottom:48px}.hero__index{grid-column:1 / -1;margin-bottom:44px}.project-intro{grid-template-columns:70px minmax(0,1fr);grid-template-areas:"index title" ". description" ". meta"}.project-intro__description,.project-meta{max-width:620px}.about{grid-template-columns:70px 1fr 1fr}.about__note{grid-column:2}.about__top{grid-column:3}}@media(max-width:680px){:root{--space-section: 96px;--space-grid: 28px}.hero{min-height:780px;grid-template-rows:auto 1fr auto auto}.hero__brand{grid-column:1 / -1}.hero__title{padding-bottom:44px}.hero h1{font-size:clamp(54px,17.5vw,78px);line-height:.94}.hero h1 span:last-child{font-size:.68em;letter-spacing:-.05em}.hero__discipline{max-width:320px;line-height:1.7}.hero__meta{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;font-size:9px}.hero__meta li+li:before{display:none}.hero__meta li+li{padding-left:12px;border-left:1px solid var(--line)}.project-intro{grid-template-columns:1fr;grid-template-areas:"index" "title" "description" "meta";row-gap:30px;margin-bottom:62px}.project-intro__index{padding-top:0}.project-intro__description{font-size:13px;line-height:1.9}.livera-gallery__lead,.hbc-gallery__final{width:100%}.livera-gallery__grid,.hbc-gallery__pair,.hbc-gallery__triptych{grid-template-columns:1fr;gap:54px;margin-top:60px}.hbc-gallery__final{margin-top:60px}.about{grid-template-columns:1fr 1fr;gap:30px 20px;padding-top:30px}.about__label{grid-column:1 / -1}.about__skills{grid-template-columns:1fr}.about__note,.about__top{grid-column:1 / -1}.lightbox{padding:14px}.lightbox__topbar p{max-width:calc(100% - 60px);display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lightbox__topbar p span{display:block;margin-top:5px}.lightbox__stage{padding-inline:0;padding-bottom:62px}.lightbox__nav{top:auto;bottom:0;transform:none}.lightbox__nav--prev{left:calc(50% - 58px)}.lightbox__nav--next{right:calc(50% - 58px)}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
