/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}main{display:block}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}:root{--bg: #f7f5f1;--paper: #fbfaf7;--text: #2d2b28;--olive: #7a8352;--olive-dark: #687146;--olive-light: #aab18d;--line: #e6e1d7;--overlay-white: rgba(255, 255, 255, .82);--shadow: 0 10px 30px rgba(0, 0, 0, .04);--shadow-hero: 0 20px 60px rgba(0, 0, 0, .08);--radius-lg: 28px;--radius-md: 20px;--radius-sm: 999px;--container: 1200px;--container-wide: 1320px;--header-h: 72px;--btn-h: 54px;--section-py: clamp(80px, 8vw, 120px);--section-py-sp: clamp(48px, 12vw, 72px);--block-gap: clamp(32px, 4vw, 48px);--ff-heading: "Zen Old Mincho", serif;--ff-body: "Noto Sans JP", sans-serif;--fs-h1: clamp(28px, 3vw, 40px);--fs-h2: clamp(22px, 2vw, 28px);--fs-h3: 18px;--fs-body: 14px;--fs-small: 12px;--fs-nav: 13px;--fs-btn: 14px;--lh-tight: 1.5;--lh-base: 1.6;--lh-body: 1.9;--ease: cubic-bezier(.2, .7, .2, 1)}*,*:before,*:after{box-sizing:border-box}html{font-size:100%;-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:calc(var(--header-h) + 12px);scroll-behavior:smooth;overflow-x:hidden}@media (max-width: 767px){html{scroll-padding-top:68px}}body{font-family:var(--ff-body);font-size:var(--fs-body);font-weight:400;color:var(--text);background:var(--bg);line-height:var(--lh-body);letter-spacing:.04em;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-feature-settings:"palt";overflow-x:hidden}h1,h2,h3,h4,h5,h6{font-family:var(--ff-heading);font-weight:500;line-height:var(--lh-base);letter-spacing:.08em;margin:0}p{margin:0}a{color:inherit;text-decoration:none;transition:color .25s var(--ease)}a:hover{color:var(--olive)}img,svg{max-width:100%;height:auto;display:block}button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}ul,ol{list-style:none;padding:0;margin:0}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;height:var(--btn-h);padding-inline:clamp(22px,2.4vw,32px);font-family:var(--ff-body);font-size:var(--fs-btn);font-weight:500;letter-spacing:.12em;line-height:1;border:1px solid transparent;border-radius:var(--radius-sm);text-decoration:none;cursor:pointer;transition:background-color .25s var(--ease),color .25s var(--ease),border-color .25s var(--ease),transform .25s var(--ease)}.btn:hover{transform:translateY(-1px)}.btn__icon{display:inline-flex;align-items:center;width:18px;height:18px}.btn__icon svg{width:100%;height:100%}.btn--filled{background:var(--olive);color:#fff}.btn--filled:hover{background:var(--olive-dark);color:#fff}.btn--outline{background:var(--paper);color:var(--text);border-color:var(--line)}.btn--outline:hover{color:var(--olive);border-color:var(--olive-light)}.btn--pill{border-radius:var(--radius-sm)}.btn--sm{height:40px;padding-inline:18px;font-size:12px}.site-header{position:fixed;inset:0 0 auto 0;z-index:100;height:var(--header-h);background:linear-gradient(180deg,#fffcf4eb,#fffcf4c7);backdrop-filter:blur(14px) saturate(140%) brightness(1.06);-webkit-backdrop-filter:blur(14px) saturate(140%) brightness(1.06);border-bottom:1px solid rgba(200,195,180,.55);box-shadow:0 6px 30px -16px #7a83521f;transform:translateZ(0);-webkit-transform:translateZ(0);backface-visibility:hidden;-webkit-backface-visibility:hidden}@supports not ((backdrop-filter: blur(14px)) or (-webkit-backdrop-filter: blur(14px))){.site-header{background:#fffcf4f5}}.site-header__inner{height:100%;max-width:var(--container-wide);margin-inline:auto;padding-inline:clamp(20px,3vw,40px);display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:clamp(20px,3vw,48px)}.site-header__cta{justify-self:end}.site-header__menu-toggle{display:none;align-items:center;justify-content:center;width:40px;height:40px;padding:0;color:var(--text);transition:color .2s var(--ease)}.site-header__menu-toggle:hover{color:var(--olive)}.site-header__menu-icon{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px}.site-header__menu-icon svg{width:100%;height:100%}@media (max-width: 767px){.site-header{height:56px}.site-header__inner{grid-template-columns:minmax(0,auto) 1fr auto;gap:12px}.site-header__menu-toggle{display:inline-flex}.site-header__cta .btn__icon{margin:0}.site-header__cta span:not(.btn__icon){display:none}.site-header__cta{padding-inline:14px}}.site-logo{display:inline-flex;align-items:center;gap:10px;color:var(--text);text-decoration:none}.site-logo__icon{width:26px;height:26px;color:var(--olive);display:inline-flex}.site-logo__icon svg{width:100%;height:100%}.site-logo__text{display:inline-flex;flex-direction:column;line-height:1.1}.site-logo__name{font-family:var(--ff-heading);font-size:15px;letter-spacing:.12em}.site-logo__sub{font-family:var(--ff-body);font-size:10px;color:var(--olive-light);letter-spacing:.18em;margin-top:3px}.site-logo__img{display:block;height:calc(var(--header-h) - 12px);width:auto;max-width:200px;object-fit:contain}.site-logo:hover{color:var(--olive)}@media (max-width: 767px){.site-logo{min-width:0}.site-logo__img{max-width:clamp(100px,32vw,160px);height:40px}.site-logo__name{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:clamp(100px,30vw,160px)}.site-logo__sub{display:none}}.site-nav{justify-self:center}.site-nav__list{display:flex;gap:clamp(20px,2.6vw,40px);align-items:center}.site-nav a{display:inline-block;font-size:var(--fs-nav);letter-spacing:.14em;color:var(--text);padding-block:6px;transition:color .25s var(--ease)}.site-nav a:hover{color:var(--olive)}@media (max-width: 767px){.site-nav{position:fixed;inset:56px 0 auto 0;background:linear-gradient(180deg,#fffcf4fa,#fffcf4f0);backdrop-filter:blur(16px) saturate(140%);-webkit-backdrop-filter:blur(16px) saturate(140%);padding:clamp(16px,5vw,32px) clamp(24px,6vw,40px) clamp(24px,7vw,40px);border-bottom:1px solid var(--line);box-shadow:0 12px 30px -16px #00000014;opacity:0;visibility:hidden;transform:translateY(-8px);transition:opacity .25s var(--ease),transform .25s var(--ease),visibility 0s linear .25s}.site-nav.is-open{opacity:1;visibility:visible;transform:translateY(0);transition:opacity .25s var(--ease),transform .25s var(--ease),visibility 0s}.site-nav__list{flex-direction:column;align-items:stretch;gap:4px}.site-nav a{display:block;padding:12px 4px;font-size:14px;letter-spacing:.14em;border-bottom:1px solid var(--line)}.site-nav a:last-child{border-bottom:none}}.hero{position:relative;min-height:100vh;min-height:100svh;overflow:hidden;isolation:isolate;background:var(--bg)}.hero__bg{position:absolute;top:0;right:0;bottom:0;left:0;z-index:-2}.hero__bg-image{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;filter:brightness(1.06) contrast(.92) saturate(.72)}.hero__mask{position:absolute;left:50%;top:calc(var(--header-h) + clamp(18px,3vh,36px) + 100px);transform:translate(-50%);width:min(56vw,680px);aspect-ratio:3472/2716;display:grid;place-items:center;padding-inline:clamp(40px,6vw,80px);padding-block:clamp(32px,4.5vw,60px)}.hero__mask:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;-webkit-mask-image:var(--cat-mask);mask-image:var(--cat-mask);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-position:center;mask-position:center;background:radial-gradient(60% 55% at 50% 38%,#fffae86b,#fffcf438 70%,#fffcf42e);backdrop-filter:blur(44px) saturate(150%) brightness(1.12);-webkit-backdrop-filter:blur(44px) saturate(150%) brightness(1.12);z-index:-2;pointer-events:none}.hero__mask:after{content:"";position:absolute;top:-1.5%;right:-1.5%;bottom:-1.5%;left:-1.5%;-webkit-mask-image:var(--cat-mask);mask-image:var(--cat-mask);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-position:center;mask-position:center;background:#fffcf047;filter:blur(6px) brightness(1.08);z-index:-1;pointer-events:none}.hero__mask{opacity:0;transition:opacity .45s var(--ease)}@media (max-width: 767px){.hero__mask{width:min(92vw,460px);top:calc(var(--header-h) + clamp(16px,3vh,28px) + 56px);padding-inline:clamp(20px,5vw,40px);padding-block:clamp(20px,4vw,36px)}}.cat-ready .hero__mask{opacity:1}.hero__content{text-align:center;color:var(--text);display:flex;flex-direction:column;align-items:center;gap:clamp(12px,1.4vw,22px)}.hero__logo{width:clamp(140px,18vw,220px);aspect-ratio:3/1}.hero__desc{font-family:var(--ff-body);font-size:var(--fs-small);line-height:var(--lh-body);color:var(--text);margin:0}.hero__cta{display:flex;gap:12px;margin-top:4px;flex-wrap:wrap;justify-content:center}@media (max-width: 767px){.hero__cta{flex-direction:column;gap:6px;width:100%;max-width:210px;margin-inline:auto}.hero__cta .btn{width:100%;height:36px;font-size:11px;padding-inline:12px;letter-spacing:.06em;gap:6px}.hero__cta .btn__icon{width:13px;height:13px}}.news{background:var(--paper);border-block:1px solid var(--line);padding-block:clamp(12px,1.3vw,18px)}.news__inner{width:100%;max-width:var(--container);margin-inline:auto;padding-inline:clamp(20px,4vw,40px);display:flex;align-items:baseline;gap:clamp(14px,1.8vw,28px);font-size:var(--fs-small)}.news__label{flex-shrink:0;color:var(--olive);letter-spacing:.14em;font-weight:500;line-height:1}.news__list{flex:1;list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:6px}.news__item{color:var(--text);letter-spacing:.04em;line-height:var(--lh-base)}@media (max-width: 767px){.news__inner{gap:12px;font-size:11px}.news__label{letter-spacing:.1em}}.about{background:var(--paper);padding-block:var(--section-py)}.about__inner{width:100%;max-width:var(--container);margin-inline:auto;padding-inline:clamp(20px,4vw,40px);display:grid;grid-template-columns:minmax(240px,1fr) 2fr;gap:clamp(32px,4vw,72px);align-items:center}@media (max-width: 767px){.about__inner{grid-template-columns:1fr;gap:clamp(24px,6vw,40px)}}.about__intro{display:flex;flex-direction:column;gap:clamp(12px,1.4vw,20px)}.about__label{font-family:var(--ff-body);font-size:11px;letter-spacing:.3em;color:var(--olive-light);text-transform:uppercase}.about__heading{font-family:var(--ff-heading);font-size:var(--fs-h2);font-weight:500;letter-spacing:.08em;margin:0}.about__text{font-family:var(--ff-body);font-size:var(--fs-body);line-height:var(--lh-body);color:var(--text);margin:0}.about__button{align-self:start;margin-top:clamp(8px,1vw,16px)}.about__arrow{font-size:1.1em;line-height:1;transform:translateY(-1px)}.about__gallery{display:grid;grid-template-columns:1fr 1fr;gap:clamp(12px,1.6vw,24px)}@media (max-width: 767px){.about__gallery{gap:10px}}.about__media{margin:0;border-radius:var(--radius-md);overflow:hidden;aspect-ratio:4/3;background:var(--bg)}.about__media img{width:100%;height:100%;object-fit:cover;display:block}.about__media-placeholder{width:100%;height:100%;display:grid;place-items:center;background:linear-gradient(135deg,var(--olive-light) 0%,var(--olive) 100%);color:var(--paper);font-size:var(--fs-small);letter-spacing:.14em;text-align:center}.service{background:var(--bg);padding-block:var(--section-py)}.service__inner{width:100%;max-width:var(--container);margin-inline:auto;padding-inline:clamp(20px,4vw,40px);display:grid;grid-template-columns:1fr 1fr;gap:clamp(20px,2.6vw,36px)}@media (max-width: 767px){.service__inner{grid-template-columns:1fr;gap:20px}}.service-card{background:var(--paper);border-radius:var(--radius-lg);padding:clamp(28px,3.6vw,48px) clamp(24px,3.2vw,44px);box-shadow:var(--shadow);display:flex;flex-direction:column;gap:clamp(14px,1.6vw,22px);transition:transform .25s var(--ease),box-shadow .25s var(--ease)}.service-card:hover{transform:translateY(-2px);box-shadow:0 16px 40px #0000000f}.service-card__icon{display:inline-flex;width:32px;height:32px;color:var(--olive)}.service-card__icon svg{width:100%;height:100%}.service-card__title{font-family:var(--ff-heading);font-size:var(--fs-h3);font-weight:500;letter-spacing:.08em;color:var(--text);margin:0}.service-card__text{font-family:var(--ff-body);font-size:var(--fs-body);line-height:var(--lh-body);color:var(--text);margin:0;flex:1}.service-card__list{display:flex;flex-direction:column;gap:10px;margin:0;flex:1}.service-card__row{display:grid;grid-template-columns:5.5em 1fr;gap:16px;align-items:baseline;font-size:var(--fs-body)}.service-card__label{font-size:var(--fs-small);letter-spacing:.12em;color:var(--olive-light);margin:0}.service-card__value{font-size:var(--fs-body);color:var(--text);margin:0}.service-card__button{align-self:start;margin-top:4px}.service-card__arrow{font-size:1.1em;line-height:1;transform:translateY(-1px)}.info{background:var(--bg);padding-block:var(--section-py)}.info__inner{width:100%;max-width:var(--container);margin-inline:auto;padding-inline:clamp(20px,4vw,40px);display:grid;grid-template-columns:1fr 1fr;gap:clamp(20px,2.6vw,36px)}@media (max-width: 767px){.info__inner{grid-template-columns:1fr;gap:20px}}.info-card{background:var(--paper);border-radius:var(--radius-lg);padding:clamp(24px,3vw,40px);box-shadow:var(--shadow);display:grid;grid-template-columns:1fr auto;gap:clamp(16px,2vw,28px);align-items:center}@media (max-width: 767px){.info-card{grid-template-columns:1fr;gap:16px}}.info-card__title-link{color:inherit;text-decoration:none;display:inline-flex;align-items:center;gap:4px;transition:color .2s var(--ease)}.info-card__title-link:hover{color:var(--olive)}.info-card__title-link .info-card__arrow{font-size:1.1em;transition:transform .2s var(--ease)}.info-card__title-link:hover .info-card__arrow{transform:translate(3px)}.info-card__title{display:inline-flex;align-items:center;gap:10px;font-family:var(--ff-heading);font-size:var(--fs-h3);font-weight:500;letter-spacing:.08em;color:var(--text);margin:0 0 12px}.info-card__icon{display:inline-flex;width:22px;height:22px;color:var(--olive)}.info-card__icon svg{width:100%;height:100%}.info-card__arrow{font-size:1.1em;line-height:1;transform:translateY(-1px)}.access__intro{display:flex;flex-direction:column;gap:8px}.access__address{font-size:var(--fs-body);line-height:var(--lh-base);color:var(--text);margin:0}.access__link{display:inline-flex;align-items:center;gap:4px;align-self:start;margin-top:4px;font-size:var(--fs-small);letter-spacing:.12em;color:var(--olive);transition:color .25s var(--ease)}.access__link:hover{color:var(--olive-dark)}.access__map{border-radius:var(--radius-md);overflow:hidden;aspect-ratio:4/3;background:var(--bg)}.access__map img,.access__map iframe{width:100%;height:100%;display:block}.access__map img{object-fit:cover}.access__map iframe{border:0}.access__map-placeholder{width:100%;height:100%;display:grid;place-items:center;background:linear-gradient(135deg,#ece8df,#d8d6c9 60%,#c9c8b8);color:var(--olive)}.access__map-pin{display:inline-flex;width:36px;height:36px}.access__map-pin svg{width:100%;height:100%}.company__intro{display:flex;flex-direction:column;gap:8px}.company__name{font-family:var(--ff-body);font-size:var(--fs-body);font-weight:500;color:var(--text);letter-spacing:.04em;margin:0}.company__text{font-family:var(--ff-body);font-size:var(--fs-small);line-height:var(--lh-body);color:var(--text);margin:0}.company__art{display:grid;place-items:end;color:var(--text)}.company__art svg{width:clamp(60px,7vw,96px);height:auto}.company__art--image{place-items:center}.company__art--image img{width:clamp(80px,11vw,140px);aspect-ratio:1/1;object-fit:cover;border-radius:var(--radius-md);display:block}@media (max-width: 767px){.company__art--image img{width:120px;margin-inline:auto}}.site-footer{background:var(--paper);border-top:1px solid var(--line);padding-block:clamp(28px,3.6vw,48px)}.site-footer__inner{width:100%;max-width:var(--container);margin-inline:auto;padding-inline:clamp(20px,4vw,40px);display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:clamp(20px,3vw,48px)}@media (max-width: 767px){.site-footer__inner{grid-template-columns:1fr;gap:16px;text-align:center}}.site-footer__logo{display:inline-flex;align-items:center;gap:10px;color:var(--text);text-decoration:none;transition:color .25s var(--ease)}.site-footer__logo:hover{color:var(--olive)}@media (max-width: 767px){.site-footer__logo{justify-self:center}}.site-footer__logo-img{display:block;height:48px;width:auto;max-width:180px;object-fit:contain}.site-footer__logo-icon{display:inline-flex;width:22px;height:22px;color:var(--olive)}.site-footer__logo-icon svg{width:100%;height:100%}.site-footer__logo-text{font-family:var(--ff-heading);font-size:13px;letter-spacing:.14em}.site-footer__nav{justify-self:center}.site-footer__nav-list{display:flex;flex-wrap:wrap;justify-content:center;gap:clamp(14px,1.8vw,32px)}.site-footer__nav-list a{font-family:var(--ff-body);font-size:12px;letter-spacing:.14em;color:var(--text);transition:color .25s var(--ease)}.site-footer__nav-list a:hover{color:var(--olive)}.site-footer__copy{font-family:var(--ff-body);font-size:10px;letter-spacing:.14em;color:var(--olive-light);margin:0}@media (max-width: 767px){.site-footer__copy{justify-self:center}}.reservation{padding:var(--section-py) 24px;background:var(--bg)}@media (max-width: 767px){.reservation{padding:var(--section-py-sp) 16px}}.reservation__inner{max-width:880px;margin-inline:auto}.reservation__head{text-align:center;margin-bottom:var(--block-gap)}.reservation__label{font-family:var(--ff-heading);font-size:13px;letter-spacing:.18em;color:var(--olive);margin:0 0 8px}.reservation__title{font-family:var(--ff-heading);font-size:var(--fs-h1);color:var(--text);margin:0 0 16px;line-height:var(--lh-tight)}.reservation__lead{font-size:var(--fs-body);line-height:var(--lh-body);color:var(--text);max-width:560px;margin:0 auto}.reservation__form-placeholder{margin-top:32px;padding:24px;border:1px dashed var(--line);border-radius:var(--radius-md);background:var(--paper);text-align:center;color:var(--text);opacity:.7}.reservation__welcome{margin:0 auto 24px;padding:14px 20px;max-width:720px;background:#7a835214;border-left:3px solid var(--olive);border-radius:6px;font-size:13px;line-height:var(--lh-base)}.reservation__welcome p{margin:0}.reservation__welcome strong{color:var(--olive-dark)}.booking-grid{background:var(--paper);border-radius:var(--radius-md);padding:16px;box-shadow:var(--shadow)}@media (max-width: 767px){.booking-grid{padding:12px}}.booking-grid__nav{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:12px}.booking-grid__nav-btn{display:inline-flex;align-items:center;padding:6px 12px;font-size:12px;color:var(--olive);border:1px solid var(--line);border-radius:var(--radius-sm);background:transparent;text-decoration:none;cursor:pointer;transition:all .2s var(--ease);white-space:nowrap}.booking-grid__nav-btn:hover:not(.is-disabled){background:var(--olive);color:#fff;border-color:var(--olive)}.booking-grid__nav-btn.is-disabled{opacity:.35;cursor:not-allowed;pointer-events:none}.booking-grid__nav-label{display:flex;flex-direction:column;align-items:center;gap:2px}.booking-grid__nav-month{font-family:var(--ff-heading);font-size:14px;color:var(--text);letter-spacing:.02em;text-align:center}@media (max-width: 767px){.booking-grid__nav-month{font-size:12px}}.booking-grid__nav-today{font-size:11px;color:var(--olive);text-decoration:underline;text-underline-offset:2px}.booking-grid__table{display:grid;grid-template-columns:48px repeat(7,1fr);gap:1px;background:var(--line);border-radius:8px;overflow:hidden}@media (max-width: 767px){.booking-grid__table{display:none}}.booking-grid__corner{background:var(--paper)}.booking-grid__day-head{background:var(--paper);padding:6px 2px 7px;display:flex;flex-direction:column;align-items:center;gap:1px;font-family:var(--ff-heading)}.booking-grid__day-head.is-today{background:var(--olive);color:#fff}.booking-grid__day-head.is-holiday{color:#b88}.booking-grid__weekday{font-size:10px;letter-spacing:.04em}.booking-grid__date{font-size:13px;font-weight:500}.booking-grid__holiday-label{font-size:9px;padding:0 5px;border-radius:999px;background:#d4b8b8;color:#fff;margin-top:1px}.booking-grid__time-head{background:var(--paper);color:var(--text);font-size:10px;font-family:var(--ff-heading);display:flex;align-items:center;justify-content:center;padding:2px}.booking-grid__hour-cell{display:grid;grid-template-rows:1fr 1fr;gap:1px;background:var(--line);min-height:44px}.booking-grid__half{background:var(--paper);border:0;padding:0;min-height:22px;cursor:pointer;transition:background .15s var(--ease);display:flex;align-items:center;justify-content:center;font-family:var(--ff-heading);font-size:12px}.booking-grid__half:disabled{cursor:not-allowed}.booking-grid__half--available{color:var(--olive)}.booking-grid__half--available:hover{background:#7a83521f}.booking-grid__half--available.is-selected{background:var(--olive);color:#fff}.booking-grid__half--booked{background:#efe9e0;color:#bbb1a3}.booking-grid__half--holiday{background:#f3ebeb;color:#c8a8a8}.booking-grid__half--past,.booking-grid__half--closed{background:#ece9e3;color:#c2bcae}.booking-grid__half--blocked{background:#ece9e3;color:#b8a6a6;background-image:repeating-linear-gradient(135deg,rgba(160,64,64,.06) 0 6px,transparent 6px 12px)}.booking-grid__half-mark{line-height:1}.booking-grid__sp{display:none}@media (max-width: 767px){.booking-grid__sp{display:block}}.booking-grid__sp-tabs{display:grid;grid-template-columns:repeat(7,1fr);gap:3px;margin-bottom:12px}.booking-grid__sp-tab{background:var(--paper);border:1px solid var(--line);border-radius:8px;padding:6px 0;display:flex;flex-direction:column;align-items:center;gap:1px;cursor:pointer;font-family:var(--ff-heading);transition:all .2s var(--ease);min-width:0}.booking-grid__sp-tab.is-active{background:var(--olive);color:#fff;border-color:var(--olive)}.booking-grid__sp-tab.is-today{box-shadow:inset 0 0 0 2px var(--olive-light)}.booking-grid__sp-tab.is-holiday{color:#b88}.booking-grid__sp-tab-weekday{font-size:9px;letter-spacing:.02em}.booking-grid__sp-tab-date{font-size:12px;font-weight:500}.booking-grid__sp-holiday{text-align:center;padding:32px 16px;color:#b88;background:#f3ebeb;border-radius:var(--radius-md)}.booking-grid__sp-slots{display:grid;grid-template-columns:repeat(3,1fr);gap:5px}.booking-grid__sp-slot{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;padding:8px 4px;background:var(--paper);border:1px solid var(--line);border-radius:8px;cursor:pointer;font-family:var(--ff-heading);transition:all .2s var(--ease);text-align:center;min-height:50px}.booking-grid__sp-slot--available{color:var(--olive)}.booking-grid__sp-slot--available:hover{background:#7a835214}.booking-grid__sp-slot--available.is-selected{background:var(--olive);color:#fff;border-color:var(--olive)}.booking-grid__sp-slot--booked,.booking-grid__sp-slot--holiday,.booking-grid__sp-slot--past,.booking-grid__sp-slot--closed,.booking-grid__sp-slot--blocked{opacity:.5;cursor:not-allowed;background:#efe9e0;color:#998c7a}.booking-grid__sp-slot-time{font-size:13px;letter-spacing:.02em}.booking-grid__sp-slot-state{font-size:10px;opacity:.75}.booking-grid__legend{list-style:none;padding:0;margin:20px 0 0;display:flex;gap:18px;flex-wrap:wrap;justify-content:center;font-size:12px;color:var(--text)}.booking-grid__legend-mark{display:inline-block;width:22px;height:22px;line-height:22px;text-align:center;border-radius:4px;margin-right:4px;font-family:var(--ff-heading)}.booking-grid__legend-mark--available{background:#7a83521f;color:var(--olive)}.booking-grid__legend-mark--booked{background:#efe9e0;color:#bbb1a3}.booking-grid__legend-mark--holiday{background:#f3ebeb;color:#c8a8a8}.booking-grid__legend-mark--past{background:#ece9e3;color:#c2bcae}.booking-grid__legend-mark--blocked{background:#ece9e3;color:#b8a6a6;background-image:repeating-linear-gradient(135deg,rgba(160,64,64,.12) 0 4px,transparent 4px 8px)}.booking-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:24px}@media (max-width: 767px){.booking-modal{padding:0;align-items:flex-end}}.booking-modal__backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#14120e6b;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);cursor:pointer}.booking-modal__panel{position:relative;width:100%;max-width:640px;max-height:calc(100vh - 48px);overflow-y:auto;background:var(--paper);border-radius:var(--radius-lg);box-shadow:0 30px 80px #00000040;padding:32px 32px 28px;animation:booking-modal-in .25s var(--ease)}@media (max-width: 767px){.booking-modal__panel{max-width:100%;max-height:92vh;border-radius:var(--radius-md) var(--radius-md) 0 0;padding:28px 20px 24px}}.booking-modal__close{position:absolute;top:14px;right:14px;width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;background:transparent;border:0;border-radius:50%;font-size:22px;line-height:1;color:var(--text);cursor:pointer;transition:background .2s var(--ease)}.booking-modal__close:hover:not(:disabled){background:#0000000f}.booking-modal__close:disabled{opacity:.35;cursor:not-allowed}@keyframes booking-modal-in{0%{transform:translateY(12px);opacity:0}to{transform:translateY(0);opacity:1}}.booking-selection__title{font-family:var(--ff-heading);font-size:17px;margin:0 0 16px;padding-right:36px;color:var(--olive-dark)}.booking-selection__list{margin:0 0 16px;display:flex;flex-direction:column;gap:12px}.booking-selection__row{display:grid;grid-template-columns:100px 1fr;gap:12px;align-items:center}.booking-selection__row dt{font-size:12px;color:var(--olive);letter-spacing:.08em}.booking-selection__row dd{margin:0;font-size:15px;color:var(--text)}.booking-selection__row dd select{padding:6px 10px;font-size:14px;border:1px solid var(--line);border-radius:6px;background:var(--bg);font-family:inherit}.booking-selection__warn{color:#a04040;font-size:13px}.booking-selection__cta{width:100%}.booking-selection__cta:disabled{opacity:.4;cursor:not-allowed}.contact-section{padding:var(--section-py) 24px;background:var(--paper)}@media (max-width: 767px){.contact-section{padding:var(--section-py-sp) 16px}}.contact-section__inner{max-width:560px;margin-inline:auto;text-align:center}.contact-section__label{font-family:var(--ff-heading);font-size:13px;letter-spacing:.18em;color:var(--olive);margin:0 0 8px}.contact-section__title{font-family:var(--ff-heading);font-size:var(--fs-h2);color:var(--text);margin:0 0 16px}.contact-section__lead{font-size:var(--fs-body);line-height:var(--lh-body);margin:0 0 24px}.contact-section__form{text-align:left;margin-top:8px}.wpcf7 .wpcf7-form{display:flex;flex-direction:column;gap:22px}.wpcf7 p{margin:0;display:flex;flex-direction:column;gap:8px}.wpcf7 label{font-size:13px;color:var(--text);letter-spacing:.04em;display:flex;flex-direction:column;gap:8px}.wpcf7 input[type=text],.wpcf7 input[type=email],.wpcf7 input[type=tel],.wpcf7 input[type=url],.wpcf7 input[type=number],.wpcf7 input[type=date],.wpcf7 input[type=search],.wpcf7 select,.wpcf7 textarea{width:100%;padding:10px 12px;font-size:14px;font-family:inherit;color:var(--text);background:var(--bg);border:1px solid #ccc8bf;border-radius:8px;line-height:1.5;transition:border-color .15s var(--ease);box-sizing:border-box}.wpcf7 input[type=text]:focus,.wpcf7 input[type=email]:focus,.wpcf7 input[type=tel]:focus,.wpcf7 input[type=url]:focus,.wpcf7 input[type=number]:focus,.wpcf7 input[type=date]:focus,.wpcf7 input[type=search]:focus,.wpcf7 select:focus,.wpcf7 textarea:focus{outline:none;border-color:var(--olive)}.wpcf7 textarea{resize:vertical;min-height:120px}.wpcf7 .wpcf7-submit{display:inline-flex;align-items:center;justify-content:center;height:var(--btn-h);padding-inline:clamp(28px,3vw,40px);font-family:var(--ff-body);font-size:var(--fs-btn);font-weight:500;letter-spacing:.12em;line-height:1;color:#fff;background:var(--olive);border:1px solid var(--olive);border-radius:var(--radius-sm);cursor:pointer;transition:background-color .25s var(--ease),transform .25s var(--ease);width:auto}.wpcf7 .wpcf7-submit:hover:not(:disabled){background:var(--olive-dark);transform:translateY(-1px)}.wpcf7 .wpcf7-submit:disabled{opacity:.5;cursor:not-allowed}.wpcf7 .wpcf7-response-output{margin:16px 0 0!important;padding:12px 16px;border:1px solid var(--line);border-radius:8px;font-size:13px;line-height:var(--lh-base)}.wpcf7.sent .wpcf7-response-output{border-color:var(--olive-light);background:#7a835214;color:var(--olive-dark)}.wpcf7.invalid .wpcf7-response-output,.wpcf7.failed .wpcf7-response-output,.wpcf7.aborted .wpcf7-response-output{border-color:#d4a8a8;background:#a040400f;color:#a04040}.wpcf7 .wpcf7-not-valid-tip{margin-top:4px;color:#a04040;font-size:12px}.wpcf7 .wpcf7-spinner{margin:0 0 0 12px}.wpcf7 .wpcf7-validates-as-required+.wpcf7-not-valid-tip{display:inline-block}.booking-form{margin-top:24px;padding-top:24px;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:22px}.booking-form__intro{margin:0 0 4px;font-size:13px;line-height:var(--lh-base);color:var(--text)}.booking-form__intro small{display:block;margin-top:6px;font-size:12px;color:#6a6a6a}.booking-form__intro small strong{color:var(--olive-dark);font-weight:500}.booking-form__row{display:grid;grid-template-columns:1fr 1fr;column-gap:28px;row-gap:22px}@media (max-width: 767px){.booking-form__row{grid-template-columns:1fr;row-gap:22px}}.booking-form__field{display:flex;flex-direction:column;gap:8px;min-width:0}.booking-form__label{font-size:12px;color:var(--olive-dark);letter-spacing:.04em}.booking-form__label em{font-style:normal;margin-left:6px;padding:1px 6px;font-size:10px;color:#fff;background:var(--olive);border-radius:999px;letter-spacing:0}.booking-form input[type=text],.booking-form input[type=email],.booking-form input[type=tel],.booking-form textarea{width:100%;padding:10px 12px;font-size:14px;font-family:inherit;color:var(--text);background:var(--bg);border:1px solid var(--line);border-radius:8px;line-height:1.5;transition:border-color .15s var(--ease)}.booking-form input[type=text]:focus,.booking-form input[type=email]:focus,.booking-form input[type=tel]:focus,.booking-form textarea:focus{outline:none;border-color:var(--olive)}.booking-form textarea{resize:vertical;min-height:84px}.booking-form__error{color:#a04040;font-size:12px}.booking-form__consent{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;background:#7a83520f;border-radius:8px;font-size:13px;line-height:var(--lh-base);cursor:pointer}.booking-form__consent input[type=checkbox]{flex-shrink:0;margin-top:3px;cursor:pointer}.booking-form__consent a{color:var(--olive-dark);text-decoration:underline;text-underline-offset:2px}.booking-form__consent a:hover{color:var(--olive)}.booking-form__consent em{font-style:normal;margin-left:6px;padding:1px 6px;font-size:10px;color:#fff;background:var(--olive);border-radius:999px}.booking-form__formerror{padding:10px 14px;background:#a0404014;border-left:3px solid #a04040;color:#a04040;font-size:13px;border-radius:4px}.booking-form__actions{display:flex;gap:12px;justify-content:flex-end;margin-top:8px}@media (max-width: 767px){.booking-form__actions{flex-direction:column-reverse}.booking-form__actions .btn{width:100%}}.booking-form__actions .btn:disabled{opacity:.45;cursor:not-allowed}.booking-form__note{margin:4px 0 0;font-size:11px;color:#6a6a6a;text-align:center}.booking-form__recaptcha-notice{margin:4px 0 0;font-size:10px;color:#888;text-align:center;line-height:1.5}.booking-form__recaptcha-notice a{color:#888;text-decoration:underline;text-underline-offset:2px}.booking-form__recaptcha-notice a:hover{color:var(--olive)}.booking-success{margin-top:20px;padding:24px;background:#7a835214;border:1px solid var(--olive-light);border-radius:var(--radius-md);text-align:center}.booking-success__title{font-family:var(--ff-heading);font-size:18px;color:var(--olive-dark);margin:0 0 12px}.booking-success__body{margin:0 0 16px;font-size:14px;line-height:var(--lh-body)}.booking-success__body strong{font-size:16px;color:var(--olive-dark)}.privacy{padding:var(--section-py) 24px;background:var(--bg)}@media (max-width: 767px){.privacy{padding:var(--section-py-sp) 16px}}.privacy__inner{max-width:760px;margin-inline:auto;padding:40px clamp(20px,4vw,56px);background:var(--paper);border-radius:var(--radius-md);box-shadow:var(--shadow)}@media (max-width: 767px){.privacy__inner{padding:28px 20px}}.privacy__head{text-align:center;margin-bottom:32px;padding-bottom:20px;border-bottom:1px solid var(--line)}.privacy__label{font-family:var(--ff-heading);font-size:12px;letter-spacing:.18em;color:var(--olive);margin:0 0 6px}.privacy__title{font-family:var(--ff-heading);font-size:clamp(22px,2.4vw,28px);color:var(--text);margin:0 0 8px;letter-spacing:.04em}.privacy__updated{font-size:11px;color:var(--olive-light);letter-spacing:.08em;margin:0}.privacy__body{font-size:14px;line-height:1.9;color:var(--text)}.privacy__body p{margin:0 0 18px}.privacy__body h2{font-family:var(--ff-heading);font-size:16px;color:var(--olive-dark);margin:28px 0 12px;padding-bottom:4px;border-bottom:1px solid var(--line)}.privacy__body ul{margin:0 0 18px;padding-left:22px;list-style:disc}.privacy__body ul li{margin-bottom:6px}.privacy__body a{color:var(--olive-dark);text-decoration:underline;text-underline-offset:2px}.privacy__note{margin-top:32px!important;padding:12px 16px;background:#7a83520f;border-left:3px solid var(--olive-light);border-radius:4px;font-size:12px;color:#6a6a6a}[x-cloak]{display:none!important}.contact-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;display:flex;align-items:center;justify-content:center;padding:24px;background:#2d2b2873;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.contact-modal{width:100%;max-width:420px;padding:clamp(32px,8vw,52px) clamp(28px,7vw,44px) clamp(28px,6vw,40px);background:var(--paper);border-radius:20px;box-shadow:0 24px 64px #00000024;text-align:center}.contact-modal__icon{font-size:52px;color:var(--olive);margin:0 0 12px;line-height:1}.contact-modal__title{font-family:var(--ff-heading);font-size:clamp(18px,4vw,22px);font-weight:500;color:var(--text);margin:0 0 16px;letter-spacing:.06em}.contact-modal__body{font-size:14px;color:#666;line-height:1.9;margin:0 0 28px}.contact-modal__close{display:inline-block;padding:10px 32px;border:1px solid var(--olive-light);border-radius:999px;background:transparent;color:var(--olive-dark);font-size:14px;font-family:inherit;letter-spacing:.06em;cursor:pointer;transition:background .2s,color .2s,border-color .2s}.contact-modal__close:hover{background:var(--olive);color:#fff;border-color:var(--olive)}.studio-section{background:var(--bg);padding-block:var(--section-py)}@media (max-width: 767px){.studio-section{padding-block:var(--section-py-sp)}}.studio-section--alt{background:var(--paper)}.studio-section__inner{width:100%;max-width:var(--container);margin-inline:auto;padding-inline:clamp(20px,4vw,40px)}.studio-section__head{text-align:center;margin-bottom:clamp(28px,3.6vw,48px)}.studio-section__label{font-family:var(--ff-heading);font-size:var(--fs-small);letter-spacing:.32em;color:var(--olive);text-transform:uppercase;margin:0 0 8px}.studio-section__title{font-family:var(--ff-heading);font-size:var(--fs-h2);font-weight:500;letter-spacing:.12em;color:var(--text);margin:0}.studio-spec{margin:0 auto;max-width:760px;background:var(--paper);border-radius:var(--radius-lg);padding:clamp(28px,3.2vw,44px) clamp(24px,3vw,40px);box-shadow:var(--shadow)}.studio-spec dl{margin:0}.studio-spec--with-floorplan{display:grid;grid-template-columns:1fr auto;gap:clamp(20px,3vw,32px);align-items:stretch}@media (max-width: 767px){.studio-spec--with-floorplan{grid-template-columns:1fr}}.studio-section--alt .studio-spec{background:var(--bg)}.studio-spec__floorplan{width:clamp(120px,18vw,180px);display:flex;align-items:center;justify-content:center}.studio-spec__floorplan img{display:block;width:100%;height:100%;object-fit:contain;border-radius:4px}@media (max-width: 767px){.studio-spec__floorplan{width:100%;max-height:180px}.studio-spec__floorplan img{max-height:180px}}.studio-spec__row{display:grid;grid-template-columns:6em 1fr;gap:18px;padding:14px 0;border-bottom:1px solid var(--line)}.studio-spec__row:last-child{border-bottom:0}@media (max-width: 767px){.studio-spec__row{grid-template-columns:1fr;gap:4px;padding:12px 0}}.studio-spec__label{font-family:var(--ff-heading);font-size:var(--fs-body);letter-spacing:.12em;color:var(--olive);margin:0;line-height:var(--lh-base)}.studio-spec__value{font-family:var(--ff-body);font-size:var(--fs-body);line-height:var(--lh-body);color:var(--text);margin:0}.studio-spec__value small{display:inline-block;margin-top:4px;font-size:var(--fs-small);color:var(--olive-light)}.studio-note{margin:clamp(24px,3vw,36px) auto 0;max-width:760px;font-size:var(--fs-body);line-height:var(--lh-body);color:var(--text);text-align:center}.instrument-list{margin:0 auto;max-width:760px;background:var(--paper);border-radius:var(--radius-lg);padding:clamp(24px,2.8vw,36px) clamp(18px,2.2vw,28px);box-shadow:var(--shadow)}.studio-section--alt .instrument-list{background:var(--bg)}.instrument-grid{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(12px,1.6vw,20px)}@media (min-width: 768px) and (max-width: 1023px){.instrument-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 767px){.instrument-grid{grid-template-columns:repeat(2,1fr);gap:10px}}.instrument-card{background:transparent;border-radius:var(--radius-md);padding:clamp(16px,1.8vw,22px) clamp(10px,1.2vw,14px);display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px;transition:background-color .25s var(--ease)}.instrument-card:hover{background:#7a83520a}.instrument-card--other{border:1px dashed var(--line)}.instrument-card--other:hover{background:transparent;border-color:var(--olive-light)}.instrument-card__icon{display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;color:var(--olive);background:#7a835214;border-radius:50%}.instrument-card__icon svg{width:32px;height:32px}.instrument-card--other .instrument-card__icon{background:transparent;border:1px solid var(--line)}.instrument-card__name{font-family:var(--ff-heading);font-size:var(--fs-h3);font-weight:500;letter-spacing:.08em;color:var(--text);margin:0}.instrument-card__model{font-family:var(--ff-body);font-size:var(--fs-small);line-height:var(--lh-base);letter-spacing:.02em;color:var(--olive-light);margin:0}.studio-cta{margin-top:clamp(28px,3.6vw,44px);display:flex;gap:14px;justify-content:center;flex-wrap:wrap}.studio-cta .btn{min-width:220px}@media (max-width: 767px){.studio-cta{flex-direction:column;max-width:280px;margin-inline:auto}.studio-cta .btn{min-width:0;width:100%}}.studio-access{text-align:center;font-size:var(--fs-body);line-height:var(--lh-body);color:var(--text);margin:0}.studio-access small{display:inline-block;margin-top:6px;font-size:var(--fs-small);color:var(--olive-light)}.studio-access-map{margin:clamp(24px,3vw,36px) auto 0;max-width:760px;aspect-ratio:16/9;border-radius:var(--radius-md);overflow:hidden;background:var(--bg);box-shadow:var(--shadow)}.studio-access-map iframe{width:100%;height:100%;border:0;display:block}.studio-access-map__placeholder{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:var(--olive-light)}.studio-access-map__placeholder svg{width:32px;height:32px;opacity:.5}.studio-access-map__placeholder small{font-size:var(--fs-small);letter-spacing:.06em}@media (max-width: 767px){.studio-access-map{aspect-ratio:4/3}}.neko-splash{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9000;background:var(--paper);display:flex;align-items:center;justify-content:center;transition:opacity 1.5s ease}.neko-splash.is-hidden{opacity:0;pointer-events:none}.neko-splash__inner{display:flex;flex-direction:column;align-items:center;gap:16px;opacity:0;transition:opacity 1.8s ease}.neko-splash__inner.is-visible{opacity:1}.neko-splash__icon{display:block;width:clamp(200px,40vw,480px);color:var(--olive)}.neko-splash__icon svg,.neko-splash__icon img{width:100%;height:auto;display:block;border-radius:var(--radius-md)}.neko-splash__label{font-family:var(--ff-heading);font-size:clamp(14px,2vw,18px);color:var(--olive);letter-spacing:.15em;margin:0}.neko-page{position:relative;min-height:100vh;min-height:100svh;overflow:hidden;background:var(--bg);display:flex;flex-direction:column;align-items:center;justify-content:flex-start}.neko-page__bg{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0}.neko-page__bg picture,.neko-page__bg-img{display:block;width:100%;height:100%}.neko-page__bg-img{object-fit:cover;filter:brightness(1.06) contrast(.92) saturate(.72)}.neko-page__bg:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to bottom,#f7f5f114,#f7f5f159)}.neko-page__inner{position:relative;z-index:2;width:100%;display:flex;flex-direction:column;align-items:center;gap:clamp(14px,2vh,22px);padding-top:calc(var(--header-h) + clamp(72px,9vw,108px));padding-bottom:clamp(28px,4vh,48px);padding-inline:clamp(24px,5vw,80px)}.neko-gallery{display:grid;grid-template-columns:1fr 1fr;gap:clamp(10px,1.6vw,20px);width:100%;max-width:min(760px,88vw)}.neko-gallery__slot{position:relative;border-radius:var(--radius-md);overflow:hidden;aspect-ratio:3/2;box-shadow:0 20px 60px #00000038;background:var(--line)}.neko-gallery__img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.04);transition:opacity 1.4s ease,transform 2s ease}.neko-gallery__img.is-active{opacity:1;transform:scale(1)}.neko-gallery__img.is-leaving{opacity:0;transform:scale(1)}.neko-page__room-btn{height:auto;padding:14px 28px 14px 14px;gap:16px;letter-spacing:.18em;font-size:var(--fs-body);box-shadow:0 4px 18px #0000001f}.neko-page__room-btn-img{display:block;width:56px;height:56px;object-fit:cover;border-radius:var(--radius-sm);flex-shrink:0}.neko-char{position:fixed;top:var(--header-h);left:0;z-index:50;width:clamp(56px,6vw,90px);pointer-events:none;color:var(--olive)}.neko-char svg,.neko-char img{width:100%;height:auto;display:block}@media (max-width: 767px){.neko-gallery{grid-template-columns:1fr;max-width:min(440px,90vw)}.neko-char{width:48px}}.error-page{display:grid;place-items:center;margin-top:var(--header-h);min-height:calc(100svh - var(--header-h));padding:clamp(40px,6vw,60px) clamp(20px,4vw,40px);text-align:center}.error-page__inner{display:flex;flex-direction:column;align-items:center;max-width:480px}.error-page__code{font-family:var(--ff-heading);font-size:clamp(80px,20vw,140px);line-height:1;color:var(--olive-light);letter-spacing:.05em;margin-bottom:.15em}.error-page__title{font-family:var(--ff-heading);font-size:clamp(16px,3.5vw,22px);letter-spacing:.14em;color:var(--text);margin-bottom:1em}.error-page__title:after{content:"";display:block;width:32px;height:1px;background:var(--olive-light);margin:1em auto 0}.error-page__body{font-size:var(--fs-body);color:var(--text-sub);line-height:1.9;margin-bottom:2.8em}.error-page__btn{min-width:200px}
