@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.relative{position:relative}.start{inset-inline-start:var(--spacing)}.contents{display:contents}.table{display:table}}:root{--rouge:#67180f;--rouge-deep:#3f0b08;--navy:#082d3c;--navy-deep:#041d28;--gold:#c78a2f;--gold-light:#e1b45d;--paper:#f2dfb9;--paper-light:#fbf2de;--ink:#1d211f;--muted:#665a49;--font-mincho:"Yu Mincho", "YuMincho", "Hiragino Mincho ProN", "Hiragino Mincho Pro", "Noto Serif JP", serif;--font-gothic:"Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:88px}body{background:var(--paper-light);color:var(--ink);font-family:var(--font-mincho);font-feature-settings:"palt";margin:0}body:before{content:"";z-index:100;pointer-events:none;opacity:.13;mix-blend-mode:multiply;background-image:radial-gradient(circle at 20% 30%,#5c2c0c 0 .7px,#0000 .9px),radial-gradient(circle at 80% 70%,#162e38 0 .6px,#0000 .8px);background-size:15px 17px,19px 23px;position:fixed;inset:0}a{color:inherit;text-decoration:none}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,summary:focus-visible{outline:2px solid var(--gold-light);outline-offset:4px}img{max-width:100%;display:block}.site-header{z-index:50;height:82px;color:var(--paper-light);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#2f0806ed;border-bottom:1px solid #e1b45da6;grid-template-columns:auto 1fr auto;align-items:center;gap:40px;padding:0 4.5vw;display:grid;position:fixed;inset:0 0 auto}.site-header:after{content:"";background:linear-gradient(90deg, transparent, var(--gold), transparent);height:1px;position:absolute;bottom:4px;left:4.5vw;right:4.5vw}.brand{color:var(--paper-light);grid-template-columns:auto auto;align-items:center;gap:12px;display:grid}.brand-mark{letter-spacing:.14em;color:var(--gold-light);font-size:27px;line-height:1}.brand-copy{letter-spacing:.24em;border-left:1px solid #e1b45d73;padding-left:12px;font-size:10px;line-height:1.5}.desktop-nav{font-family:var(--font-gothic);letter-spacing:.12em;justify-content:flex-end;gap:clamp(18px,2.5vw,42px);font-size:12px;display:flex}.desktop-nav a{color:#fbf2ded1;padding:30px 0 26px;position:relative}.desktop-nav a:after{content:"";background:var(--gold-light);height:1px;transition:left .25s,right .25s;position:absolute;bottom:18px;left:50%;right:50%}.desktop-nav a:hover:after{left:0;right:0}.header-reserve{background:var(--gold);width:112px;color:var(--rouge-deep);letter-spacing:.1em;align-content:center;align-self:stretch;place-items:center;margin-right:-4.5vw;font-weight:700;transition:background .25s;display:grid}.header-reserve:hover{background:var(--gold-light)}.header-reserve span{font-family:var(--font-gothic);letter-spacing:.2em;font-size:8px}.mobile-menu{display:none}.hero{background:var(--rouge-deep);place-items:center;height:100svh;min-height:790px;max-height:980px;padding:110px 21vw 70px 25vw;display:grid;position:relative;overflow:hidden}.hero-art,.hero-shade{width:100%;height:100%;position:absolute;inset:0}.hero-art{object-fit:cover;object-position:center;animation:1.4s ease-out both settle-in}.hero-shade{background:linear-gradient(#2605044d 0%,#0000 28% 72%,#2707058c 100%),radial-gradient(at 54% 48%,#0000 35%,#340a061f 76%)}.hero-copy{z-index:2;text-align:center;width:min(620px,100%);color:var(--navy-deep);animation:1s ease-out .2s both rise-in;position:relative}.hero-kicker{font-family:var(--font-gothic);letter-spacing:.23em;justify-content:center;align-items:center;gap:14px;margin:0 0 21px;font-size:12px;font-weight:600;display:flex}.hero-kicker span{color:var(--paper-light);background:var(--navy);padding:6px 10px 5px}.hero h1{color:var(--rouge);letter-spacing:.15em;text-shadow:0 2px #ffffff4d;margin:0;font-size:clamp(64px,7vw,104px);font-weight:500;line-height:.95}.hero h1 span{color:var(--navy-deep);letter-spacing:.38em;margin:0 0 18px;font-size:clamp(18px,1.6vw,25px);display:block}.hero-lead{letter-spacing:.15em;margin:30px 0 32px;font-size:clamp(16px,1.35vw,20px);line-height:2}.hero-actions{justify-content:center;align-items:center;gap:22px;display:flex}.button{min-height:54px;font-family:var(--font-gothic);letter-spacing:.12em;border:1px solid #0000;justify-content:center;align-items:center;gap:20px;padding:13px 27px;font-size:13px;font-weight:600;transition:transform .25s,color .25s,background .25s;display:inline-flex}.button:hover{transform:translateY(-2px)}.button-primary{color:var(--paper-light);background:var(--rouge);border-color:var(--gold);box-shadow:inset 0 0 0 3px var(--rouge), inset 0 0 0 4px #e1b45db3}.button-primary:hover{background:var(--rouge-deep)}.button-quiet{color:var(--navy-deep);border-bottom-color:var(--navy-deep)}.hero-hours{z-index:2;color:var(--gold-light);letter-spacing:.18em;writing-mode:vertical-rl;margin:0;font-size:12px;position:absolute;top:50%;right:3.5vw;transform:translateY(-42%)}.scroll-cue{z-index:2;color:var(--paper-light);font-family:var(--font-gothic);letter-spacing:.28em;flex-direction:column;align-items:center;gap:8px;font-size:8px;display:flex;position:absolute;bottom:22px;left:50%;transform:translate(-50%)}.scroll-cue i{background:linear-gradient(var(--gold-light), transparent);width:1px;height:34px;display:block}.section-paper{background-color:var(--paper-light);background-image:linear-gradient(90deg,#82582406 50%,#0000 50%),repeating-linear-gradient(0deg,#0000 0 4px,#4c310e05 5px);position:relative}.story{padding:116px max(6vw,24px) 125px}.section-heading .kicker,.access-heading .kicker,.reservation .kicker,.menu-heading .kicker{color:var(--gold);font-family:var(--font-gothic);letter-spacing:.35em;margin:0 0 18px;font-size:10px;font-weight:700}.section-heading h2,.access-heading h2,.reservation h2{color:var(--rouge);letter-spacing:.12em;margin:0;font-size:clamp(38px,4.2vw,64px);font-weight:500;line-height:1.4}.centered{text-align:center}.flower-mark{color:var(--gold);margin:20px 0 36px;font-size:27px;display:block}.story-copy{grid-template-columns:1fr 1.15fr;align-items:center;gap:64px;width:min(850px,100%);margin:0 auto 70px;display:grid}.story-copy>p{color:var(--muted);letter-spacing:.05em;margin:0;font-size:15px;line-height:2.15}.story-copy .story-lead{color:var(--navy);letter-spacing:.09em;text-align:right;font-size:clamp(20px,2vw,28px);line-height:1.9}.feature-grid{border-top:1px solid #a16a2073;border-bottom:1px solid #a16a2073;grid-template-columns:repeat(3,1fr);width:min(1180px,100%);margin:auto;display:grid}.feature-card{grid-template-columns:46px 1fr;gap:25px;min-height:290px;padding:49px 38px 44px;display:grid}.feature-card+.feature-card{border-left:1px solid #a16a2059}.feature-number{color:var(--gold);letter-spacing:.14em;writing-mode:vertical-rl;align-self:start;font-size:16px}.feature-card h3{color:var(--navy);letter-spacing:.08em;margin:0 0 22px;font-size:20px;font-weight:500}.feature-card p{color:var(--muted);letter-spacing:.04em;margin:0;font-size:14px;line-height:2.05}.menu-section{color:var(--paper-light);background:radial-gradient(circle at 12% 12%, #c78a2f1f, transparent 28%), radial-gradient(circle at 85% 84%, #c78a2f14, transparent 25%), var(--navy-deep);border-top:6px solid var(--rouge);border-bottom:6px solid var(--rouge);padding:112px max(6vw,24px);position:relative;overflow:hidden}.menu-section:before,.menu-section:after{content:"";border:1px solid #c78a2f40;border-radius:50%;width:280px;height:280px;position:absolute}.menu-section:before{top:-140px;left:-140px}.menu-section:after{bottom:-140px;right:-140px}.menu-inner{grid-template-columns:.72fr 1.28fr;align-items:center;gap:clamp(55px,8vw,110px);width:min(1120px,100%);margin:auto;display:grid}.menu-heading{border-left:1px solid #e1b45d8c;padding-left:36px}.menu-heading h2{color:var(--paper);letter-spacing:.13em;margin:0 0 34px;font-size:clamp(44px,5vw,72px);font-weight:400;line-height:1.25}.menu-heading h2 span{letter-spacing:.35em;margin-bottom:6px;font-size:17px;display:block}.menu-heading>p:last-child{color:#fbf2deb8;letter-spacing:.07em;margin:0;font-size:14px;line-height:2.1}.menu-board{box-shadow:inset 0 0 0 6px var(--navy-deep), inset 0 0 0 7px #e1b45d33;border:1px solid #e1b45d9e}.menu-board article{grid-template-columns:76px 1fr;gap:31px;padding:42px 42px 38px 24px;display:grid}.menu-board article+article{border-top:1px solid #e1b45d59}.menu-jp-label{color:var(--gold-light);text-align:center;margin:0;font-size:43px;line-height:1}.menu-board h3{color:var(--paper);letter-spacing:.09em;margin:0 0 25px;font-size:19px;font-weight:500}.menu-board ul{gap:14px;margin:0 0 22px;padding:0;list-style:none;display:grid}.menu-board li{color:#fbf2dee0;letter-spacing:.08em;align-items:center;gap:15px;font-size:14px;display:flex}.menu-board li i{background:repeating-linear-gradient(90deg,#c78a2f59 0 2px,#0000 2px 7px);flex:1;height:1px}.menu-note{color:#fbf2de80;margin:0;font-size:11px;line-height:1.8}.menu-ornament{color:#e1b45d94;letter-spacing:.32em;font-size:13px;position:absolute;left:50%;transform:translate(-50%)}.menu-ornament.top{top:37px}.menu-ornament.bottom{bottom:37px}.space{grid-template-columns:minmax(330px,.92fr) minmax(420px,1.08fr);min-height:800px;display:grid}.space-image-wrap{background:var(--rouge-deep);min-height:680px;position:relative;overflow:hidden}.space-image-wrap:after{content:"";pointer-events:none;border:1px solid #e1b45d99;position:absolute;inset:18px}.space-image-wrap img{object-fit:cover;object-position:78% 16%;width:100%;height:100%;transform:scale(1.02)}.space-copy{align-self:center;max-width:670px;padding:90px clamp(50px,8vw,130px)}.space-copy .section-heading h2{font-size:clamp(39px,4vw,61px)}.space-copy>p{color:var(--muted);letter-spacing:.05em;font-size:14px;line-height:2.15}.space-copy .space-lead{color:var(--navy);margin:35px 0 12px;font-size:19px}.scene-list{border-top:1px solid #a16a2066;margin:42px 0 0}.scene-list>div{border-bottom:1px solid #a16a2047;grid-template-columns:105px 1fr;gap:22px;padding:18px 0;display:grid}.scene-list dt{color:var(--rouge);letter-spacing:.1em;font-size:14px}.scene-list dd{color:var(--muted);margin:0;font-size:13px;line-height:1.7}.access{color:var(--paper-light);background:linear-gradient(#450c08e8,#330705f2),url(/kouju-romance-landscape.png) 50% 48%/cover;padding:114px max(6vw,24px) 124px}.access-heading{text-align:center;width:min(1040px,100%);margin:0 auto 48px}.access-heading h2{color:var(--paper-light)}.access-heading>p:last-child{color:#fbf2deb8;letter-spacing:.08em;margin:19px 0 0;font-size:14px}.access-card{width:min(1040px,100%);color:var(--ink);border:1px solid var(--gold);outline-offset:-8px;background:#fbf2def5;outline:1px solid #c78a2f80;grid-template-columns:.7fr 1.25fr .85fr;align-items:center;gap:48px;margin:auto;padding:48px clamp(30px,5vw,70px);display:grid}.shop-name{text-align:center}.shop-name p{color:var(--navy);letter-spacing:.22em;margin:0 0 10px;font-size:13px}.shop-name h3{color:var(--rouge);letter-spacing:.18em;margin:0;font-size:52px;font-weight:500}.shop-details{border-left:1px solid #a16a2059;border-right:1px solid #a16a2059;margin:0;padding:0 42px}.shop-details>div{grid-template-columns:80px 1fr;gap:20px;padding:10px 0;display:grid}.shop-details dt{color:var(--gold);letter-spacing:.1em;font-size:12px}.shop-details dd{color:var(--navy);margin:0;font-size:14px;line-height:1.7}.shop-details a{border-bottom:1px solid var(--gold)}.access-actions{text-align:center}.access-actions .button{width:100%;padding-inline:17px;font-size:11px}.access-actions .button+.button{margin-top:10px}.button-instagram{color:var(--navy);border-color:var(--navy);background:0 0}.button-instagram:hover{color:var(--paper-light);background:var(--navy)}.access-actions p{color:var(--muted);margin:16px 0 0;font-size:10px;line-height:1.65}.reservation{text-align:center;background-color:var(--paper);background-image:radial-gradient(circle at 12px 12px,#67180f0e 0 1px,#0000 1.5px),linear-gradient(135deg,#0000 48%,#c78a2f0a 49% 51%,#0000 52%);background-size:24px 24px,42px 42px;padding:100px max(6vw,24px);position:relative}.reservation-frame{outline-offset:-9px;border:1px solid #67180f8c;outline:1px solid #c78a2f8c;width:min(920px,100%);margin:auto;padding:64px 30px}.reservation h2{font-size:clamp(35px,4vw,54px)}.reservation-frame>p:not(.kicker){color:var(--muted);letter-spacing:.08em;margin:21px 0 35px;font-size:14px}.reservation-frame>div{justify-content:center;align-items:center;gap:35px;display:flex}.button-cream{color:var(--paper-light);background:var(--navy);border-color:var(--gold)}.button-cream:hover{background:var(--navy-deep)}.phone-link{color:var(--rouge);letter-spacing:.06em;border-bottom:1px solid var(--rouge);font-size:23px}.phone-link span{color:var(--muted);font-family:var(--font-gothic);letter-spacing:.18em;margin-bottom:3px;font-size:9px;display:block}.reservation-phone-links{align-items:center;gap:24px;display:flex}footer{color:#fbf2debf;background:var(--navy-deep);border-top:4px solid var(--gold);grid-template-columns:auto 1fr auto;align-items:center;gap:50px;min-height:260px;padding:55px 6vw;display:grid}.footer-brand{color:var(--paper-light);letter-spacing:.16em;font-size:34px}.footer-brand span{color:var(--gold-light);letter-spacing:.25em;margin-bottom:8px;font-size:10px;display:block}footer nav{font-family:var(--font-gothic);letter-spacing:.08em;justify-content:center;gap:30px;font-size:10px;display:flex}footer nav a:hover{color:var(--gold-light)}footer>p{font-family:var(--font-gothic);margin:0;font-size:9px}.mobile-cta{display:none}@keyframes settle-in{0%{opacity:0;transform:scale(1.035)}to{opacity:1;transform:scale(1)}}@keyframes rise-in{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@media (max-width:1040px){.site-header{gap:20px}.desktop-nav{display:none}.header-reserve{margin-left:auto}.mobile-menu{display:block;position:relative}.mobile-menu summary{cursor:pointer;align-content:center;gap:5px;width:42px;height:42px;padding:10px;list-style:none;display:grid}.mobile-menu summary::-webkit-details-marker{display:none}.mobile-menu summary span{background:var(--gold-light);height:1px;display:block}.mobile-menu nav{border:1px solid var(--gold);background:#2f0806fa;width:min(340px,88vw);padding:25px 30px 30px;display:grid;position:fixed;top:82px;right:0}.mobile-menu nav a{letter-spacing:.12em;border-bottom:1px solid #e1b45d38;padding:17px 4px;font-size:14px}.hero{padding-inline:18vw}.feature-grid{grid-template-columns:1fr}.feature-card{min-height:auto}.feature-card+.feature-card{border-top:1px solid #a16a2059;border-left:0}.menu-inner{grid-template-columns:1fr}.menu-heading{max-width:620px}.space{grid-template-columns:.9fr 1.1fr}.space-copy{padding-inline:55px}.access-card{grid-template-columns:.65fr 1.35fr}.access-actions{grid-column:1/-1}.access-actions .button{width:auto}.access-actions .button+.button{margin:0 0 0 8px}footer{grid-template-columns:auto 1fr}footer>p{text-align:center;grid-column:1/-1}}@media (max-width:720px){html{scroll-padding-top:66px}.site-header{grid-template-columns:auto 1fr auto;height:66px;padding:0 18px}.site-header:after{left:18px;right:18px}.brand{gap:8px}.brand-mark{font-size:22px}.brand-copy{padding-left:8px;font-size:8px}.header-reserve{display:none}.mobile-menu nav{top:66px}.hero{align-items:end;height:100svh;min-height:720px;max-height:840px;padding:100px 22px 88px}.hero-art{object-fit:cover;object-position:23% center;height:60%}.hero:after{content:"";background:linear-gradient(180deg, transparent, #f2dfb9fa 18%, var(--paper) 100%);position:absolute;inset:45% 0 0}.hero-shade{background:linear-gradient(#2f080624,#0000 42%,#3f0b0829)}.hero-copy{z-index:3}.hero-kicker{margin-bottom:13px;font-size:10px}.hero h1{font-size:clamp(58px,19vw,76px)}.hero h1 span{margin-bottom:14px;font-size:16px}.hero-lead{margin:22px 0 24px;font-size:14px;line-height:1.8}.hero-actions{flex-direction:column;gap:7px}.button{min-height:50px}.button-primary{min-width:230px}.button-quiet{min-height:35px;padding-block:5px;font-size:11px}.hero-hours,.scroll-cue{display:none}.story{padding:84px 22px 90px}.section-heading h2,.access-heading h2,.reservation h2{font-size:37px}.flower-mark{margin-bottom:28px}.story-copy{grid-template-columns:1fr;gap:26px;margin-bottom:50px}.story-copy .story-lead{text-align:left;font-size:21px}.feature-card{grid-template-columns:35px 1fr;gap:16px;padding:33px 15px}.feature-card h3{font-size:18px}.menu-section{padding:88px 20px}.menu-heading{padding-left:22px}.menu-heading h2{font-size:47px}.menu-board article{grid-template-columns:44px 1fr;gap:17px;padding:33px 23px 30px 13px}.menu-jp-label{font-size:31px}.menu-board h3{font-size:16px;line-height:1.65}.menu-board li{font-size:12px}.space{grid-template-columns:1fr}.space-image-wrap{min-height:570px}.space-copy{padding:75px 23px 85px}.space-copy .section-heading h2{font-size:38px}.scene-list>div{grid-template-columns:86px 1fr;gap:15px}.access{padding:82px 20px 90px}.access-heading>p:last-child{line-height:1.8}.access-card{grid-template-columns:1fr;gap:35px;padding:43px 28px}.shop-details{border:1px solid #a16a2059;border-left:0;border-right:0;padding:23px 0}.shop-details>div{grid-template-columns:72px 1fr}.access-actions{grid-column:auto}.access-actions .button{width:100%}.access-actions .button+.button{margin:10px 0 0}.reservation{padding:75px 18px 85px}.reservation-frame{padding:47px 20px}.reservation-frame>div{flex-direction:column;gap:25px}.reservation-phone-links{flex-direction:column;gap:18px}.reservation-frame>p:not(.kicker){line-height:1.8}footer{text-align:center;flex-direction:column;padding:55px 20px 105px;display:flex}footer nav{grid-template-columns:1fr 1fr;gap:19px 28px;display:grid}.mobile-cta{z-index:60;color:var(--paper-light);border:1px solid var(--gold-light);grid-template-columns:.8fr 1.2fr;display:grid;position:fixed;bottom:9px;left:10px;right:10px;box-shadow:0 5px 28px #1b070361}.mobile-cta a{min-height:53px;font-family:var(--font-gothic);letter-spacing:.13em;background:var(--navy);place-items:center;font-size:12px;font-weight:600;display:grid}.mobile-cta a+a{background:var(--rouge);border-left:1px solid var(--gold-light)}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.sub-service-note{color:var(--muted);margin-top:4px;font-size:10px;display:inline-block}.reserve-page{background-color:var(--paper-light);background-image:radial-gradient(circle at 15px 15px,#67180f0a 0 1px,#0000 1.4px),repeating-linear-gradient(0deg,#0000 0 4px,#4c310e04 5px);background-size:30px 30px,auto;min-height:100vh}.reserve-header{height:74px;color:var(--paper-light);background:var(--rouge-deep);border-bottom:3px double var(--gold);justify-content:space-between;align-items:center;padding:0 max(5vw,24px);display:flex}.reserve-home-link{color:#fbf2dec7;font-family:var(--font-gothic);letter-spacing:.15em;border-bottom:1px solid #e1b45d8c;padding:10px 0;font-size:11px}.reserve-hero{min-height:350px;color:var(--paper-light);background:linear-gradient(90deg,#380806fa 5%,#520e09e3 56%,#230c0bd1),url(/kouju-romance-landscape.png) 50% 32%/cover;grid-template-columns:1.15fr .85fr;align-items:center;gap:70px;padding:70px max(8vw,28px);display:grid;position:relative;overflow:hidden}.reserve-hero:before,.reserve-hero:after{content:"";pointer-events:none;border:1px solid #e1b45d6b;position:absolute;inset:18px}.reserve-hero:after{border-color:#e1b45d2e;inset:24px}.reserve-hero-copy,.reserve-hero-info{z-index:2;position:relative}.reserve-kicker{color:var(--gold-light);font-family:var(--font-gothic);letter-spacing:.32em;margin:0 0 13px;font-size:10px;font-weight:700}.reserve-hero h1{letter-spacing:.13em;margin:0 0 20px;font-size:clamp(43px,5vw,72px);font-weight:400}.reserve-hero-copy>p:last-child{color:#fbf2deb8;letter-spacing:.1em;margin:0;font-size:14px}.reserve-hero-info{border:1px solid var(--gold);background:#041d28d1;padding:28px 34px;box-shadow:inset 0 0 0 5px #041d28cc,inset 0 0 0 6px #e1b45d42}.reserve-hero-info>div{border-bottom:1px solid #e1b45d3b;justify-content:space-between;align-items:baseline;gap:22px;padding:12px 0;display:flex}.reserve-hero-info span{color:var(--gold-light);font-family:var(--font-gothic);letter-spacing:.15em;font-size:10px}.reserve-hero-info strong{letter-spacing:.08em;font-size:18px;font-weight:500}.reserve-hero-info>p{color:#fbf2de8c;text-align:right;margin:15px 0 0;font-size:10px}.reserve-intro{background:#f2dfb999;border-top:1px solid #c78a2f80;border-bottom:1px solid #c78a2f80;grid-template-columns:.65fr 1.35fr;align-items:center;gap:55px;width:min(1020px,100% - 44px);margin:56px auto 0;padding:28px 36px;display:grid}.reserve-intro>div span{color:var(--gold);font-family:var(--font-gothic);letter-spacing:.2em;margin-bottom:8px;font-size:9px;display:block}.reserve-intro>div p{color:var(--rouge);letter-spacing:.08em;margin:0;font-size:20px}.reserve-intro ol{grid-template-columns:repeat(3,1fr);gap:20px;margin:0;padding:0;list-style:none;display:grid}.reserve-intro li{color:var(--muted);align-items:center;gap:11px;font-size:12px;display:flex}.reserve-intro li b{width:28px;height:28px;color:var(--paper-light);background:var(--navy);font-family:var(--font-gothic);border-radius:50%;flex:none;place-items:center;font-size:10px;display:grid}.reservation-form{background:#fffbf1d1;border:1px solid #c78a2f6b;width:min(1020px,100% - 44px);margin:45px auto 90px;box-shadow:0 24px 70px #4b270c14}.form-section{grid-template-columns:190px 1fr;gap:42px;padding:55px 58px;display:grid}.form-section+.form-section{border-top:1px solid #c78a2f47}.form-section-title{align-items:flex-start;gap:16px;display:flex}.form-section-title>span{color:var(--gold);writing-mode:vertical-rl;font-size:14px}.form-section-title p{color:var(--gold);font-family:var(--font-gothic);letter-spacing:.2em;margin:0 0 6px;font-size:8px}.form-section-title h2{color:var(--rouge);letter-spacing:.08em;margin:0;font-size:23px;font-weight:500}.service-choice{border:0;grid-column:2;grid-template-columns:1fr .72fr;gap:12px;margin:-2px 0 30px;padding:0;display:grid}.service-choice legend,.field-label>span{color:var(--navy);font-family:var(--font-gothic);letter-spacing:.07em;margin-bottom:10px;font-size:12px;font-weight:600;display:block}.service-choice legend{grid-column:1/-1;padding:0}.service-choice legend span,.field-label>span b{color:var(--rouge);margin-left:7px;font-size:9px}.field-label>span em{color:var(--muted);margin-left:7px;font-size:9px;font-style:normal;font-weight:400}.service-choice label{cursor:pointer;min-height:66px;color:var(--navy);background:var(--paper-light);border:1px solid #082d3c47;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:14px 18px;transition:border-color .2s,background .2s;display:grid;position:relative}.service-choice label.selected{color:var(--paper-light);background:var(--navy);border-color:var(--gold)}.service-choice label.secondary-service{opacity:.72}.service-choice label.secondary-service.selected{opacity:1}.service-choice input{accent-color:var(--gold)}.service-choice strong{letter-spacing:.1em;font-size:18px;font-weight:500}.service-choice small{font-size:10px}.form-grid{grid-column:2;gap:23px 18px;display:grid}.form-grid.three-columns{grid-template-columns:1.2fr .9fr .8fr}.form-grid.two-columns{grid-template-columns:1fr 1fr}.full-width{grid-column:1/-1}.field-label{display:block;position:relative}.field-label input,.field-label select,.field-label textarea{width:100%;min-height:56px;color:var(--ink);font-family:var(--font-gothic);background:#fffdf7;border:1px solid #665a4959;border-radius:0;padding:14px 15px;font-size:16px;transition:border-color .2s,box-shadow .2s}.field-label select{appearance:none;background-image:linear-gradient(45deg, transparent 50%, var(--navy) 50%), linear-gradient(135deg, var(--navy) 50%, transparent 50%);background-position:calc(100% - 18px) 25px,calc(100% - 12px) 25px;background-repeat:no-repeat;background-size:6px 6px,6px 6px}.field-label textarea{resize:vertical;min-height:135px;line-height:1.7}.field-label input:focus,.field-label select:focus,.field-label textarea:focus{border-color:var(--gold);outline:none;box-shadow:0 0 0 3px #c78a2f24}.field-hint,.field-warning,.character-count{font-family:var(--font-gothic);margin-top:8px;font-size:9px;line-height:1.5;display:block}.field-hint{color:var(--muted)}.field-warning{color:#9d2216;font-weight:600}.character-count{color:var(--muted);text-align:right}.honeypot{width:1px;height:1px;position:absolute;left:-10000px;overflow:hidden}.form-submit-area{background:#f2dfb980;border-top:1px solid #c78a2f61;padding:45px 58px 55px 290px}.form-submit-area>p:first-child{color:var(--muted);font-family:var(--font-gothic);margin:0 0 23px;font-size:11px;line-height:1.9}.form-error{color:#8d160f;font-family:var(--font-gothic);background:#941b0f14;border-left:3px solid #9d2216;margin:0 0 18px;padding:13px 16px;font-size:12px;line-height:1.65}.reserve-submit{cursor:pointer;width:100%;min-height:66px;color:var(--paper-light);background:var(--rouge);border:1px solid var(--gold);box-shadow:inset 0 0 0 4px var(--rouge), inset 0 0 0 5px #e1b45d80;font-family:var(--font-gothic);letter-spacing:.13em;justify-content:center;align-items:center;gap:30px;font-size:15px;font-weight:600;transition:background .2s,transform .2s;display:flex}.reserve-submit:hover:not(:disabled){background:var(--rouge-deep);transform:translateY(-2px)}.reserve-submit:disabled{cursor:not-allowed;opacity:.5}.reserve-phone{text-align:center;color:var(--paper-light);background:var(--navy-deep);border-top:4px solid var(--gold);padding:70px 24px}.reserve-phone p{color:var(--gold-light);letter-spacing:.13em;margin:0 0 12px;font-size:13px}.reserve-phone a{letter-spacing:.07em;font-size:clamp(25px,3vw,38px);display:block}.reserve-phone-numbers{justify-content:center;align-items:center;gap:clamp(30px,6vw,80px);margin:0 0 16px;display:flex}.reserve-phone-numbers em{color:var(--gold-light);font-family:var(--font-gothic);letter-spacing:.18em;margin-bottom:5px;font-size:9px;font-style:normal;display:block}.reserve-phone span{color:#fbf2de8c;font-family:var(--font-gothic);font-size:10px}.reserve-footer{color:#fbf2de9e;background:#03151d;border-top:0;grid-template-columns:auto 1fr auto;align-items:center;gap:40px;min-height:210px;padding:50px 6vw;display:grid}.reserve-footer>p{font-family:var(--font-gothic);margin:0;font-size:9px}.reservation-success{text-align:center;border:1px solid var(--gold);outline-offset:-9px;background:#fffbf1ed;outline:1px solid #c78a2f66;width:min(760px,100% - 40px);margin:75px auto 95px;padding:65px clamp(25px,8vw,80px)}.success-mark{width:58px;height:58px;color:var(--paper-light);background:var(--navy);border-radius:50%;place-items:center;margin:0 auto 25px;font-size:23px;display:grid}.reservation-success h1{color:var(--rouge);letter-spacing:.08em;margin:0;font-size:clamp(31px,5vw,48px);font-weight:500}.success-lead{max-width:580px;color:var(--muted);margin:23px auto 35px;font-size:13px;line-height:2}.reservation-success dl{border-top:1px solid #c78a2f61;margin:0}.reservation-success dl>div{text-align:left;border-bottom:1px solid #c78a2f40;grid-template-columns:100px 1fr;gap:25px;padding:14px 12px;display:grid}.reservation-success dt{color:var(--gold);font-size:11px}.reservation-success dd{color:var(--navy);margin:0;font-size:14px}.success-note{color:var(--muted);margin:30px 0 25px;font-size:11px}.success-actions{flex-direction:column;align-items:center;gap:16px;display:flex}.text-return{color:var(--muted);border-bottom:1px solid var(--gold);font-size:12px}.admin-page,.admin-denied{min-height:100vh;font-family:var(--font-gothic);background:#f3efe6;padding:50px max(4vw,22px) 90px}.admin-header{border-bottom:2px solid var(--navy);justify-content:space-between;align-items:flex-end;gap:35px;width:min(1200px,100%);margin:auto;padding-bottom:25px;display:flex}.admin-header p{color:var(--rouge);letter-spacing:.15em;margin:0 0 7px;font-size:11px}.admin-header h1{color:var(--navy);font-family:var(--font-mincho);margin:0;font-size:clamp(28px,4vw,44px);font-weight:500}.admin-header>div:last-child{text-align:right;color:var(--muted);gap:7px;font-size:10px;display:grid}.admin-header a{text-decoration:underline}.admin-summary{width:min(1200px,100%);color:var(--muted);justify-content:space-between;align-items:center;margin:25px auto;display:flex}.admin-summary p{margin:0;font-size:12px}.admin-summary strong{color:var(--rouge);font-size:30px}.admin-summary strong span{margin-left:3px;font-size:11px}.admin-reservation-list{gap:17px;width:min(1200px,100%);margin:auto;display:grid}.admin-reservation-list article{background:#fff;border:1px solid #d8d0c1;box-shadow:0 8px 24px #2a24180a}.admin-card-top{color:var(--muted);background:#f7f3eb;border-bottom:1px solid #e4ded3;align-items:center;gap:15px;padding:12px 20px;font-size:10px;display:flex}.admin-card-top b{color:var(--navy);letter-spacing:.08em}.admin-card-top time{margin-left:auto}.admin-status{color:#fff;background:var(--rouge);padding:5px 8px}.admin-card-main{grid-template-columns:230px 1fr;gap:30px;padding:25px;display:grid}.admin-visit{border-right:1px solid #e4ded3;align-content:center;gap:7px;padding-right:25px;display:grid}.admin-visit small{color:var(--gold);font-weight:700}.admin-visit strong{color:var(--navy);font-size:27px}.admin-visit span{color:var(--rouge);font-size:14px;font-weight:600}.admin-card-main dl{grid-template-columns:1fr 1fr;gap:15px 28px;margin:0;display:grid}.admin-card-main dl>div{min-width:0}.admin-card-main dt{color:#8a7e6d;margin-bottom:4px;font-size:9px}.admin-card-main dd{color:#2d3331;overflow-wrap:anywhere;margin:0;font-size:13px}.admin-card-main dd a{color:#0a5570;text-decoration:underline}.admin-request{grid-column:1/-1}.admin-request dd{white-space:pre-wrap;line-height:1.7}.admin-empty,.admin-denied{text-align:center}.admin-empty{width:min(1200px,100%);color:var(--muted);background:#fff;border:1px solid #d8d0c1;margin:auto;padding:70px 20px}.admin-denied{place-content:center;display:grid}.admin-denied h1{color:var(--rouge);font-family:var(--font-mincho)}.admin-denied a{margin-top:20px;text-decoration:underline}@media (max-width:820px){.reserve-hero{grid-template-columns:1fr;gap:35px;padding-block:55px}.reserve-intro{grid-template-columns:1fr;gap:25px}.form-section{grid-template-columns:1fr;gap:28px;padding:42px 32px}.service-choice,.form-grid{grid-column:1}.form-submit-area{padding:38px 32px 45px}.reserve-footer{text-align:center;grid-template-columns:1fr;gap:20px}.admin-card-main{grid-template-columns:1fr}.admin-visit{border-bottom:1px solid #e4ded3;border-right:0;padding:0 0 20px}}@media (max-width:600px){.reserve-header{height:66px;padding-inline:18px}.reserve-header .brand-copy{display:none}.reserve-home-link{font-size:9px}.reserve-hero{min-height:auto;padding:55px 24px}.reserve-hero:before{inset:10px}.reserve-hero:after{inset:15px}.reserve-hero h1{font-size:41px}.reserve-hero-copy>p:last-child{font-size:12px;line-height:1.8}.reserve-hero-info{padding:22px 24px}.reserve-hero-info strong{font-size:15px}.reserve-intro{width:calc(100% - 30px);margin-top:32px;padding:24px 20px}.reserve-intro ol{grid-template-columns:1fr;gap:12px}.reservation-form{width:calc(100% - 24px);margin-top:28px}.form-section{padding:35px 20px}.service-choice,.form-grid.three-columns,.form-grid.two-columns{grid-template-columns:1fr}.field-label input,.field-label select,.field-label textarea{font-size:16px}.form-submit-area{padding:31px 20px 37px}.reserve-submit{gap:18px;font-size:13px}.reserve-phone-numbers{flex-direction:column;gap:20px}.reserve-phone a{font-size:clamp(25px,8vw,34px)}.reserve-footer{padding-bottom:55px;display:grid}.reservation-success{margin-block:40px 60px;padding-block:48px}.reservation-success dl>div{grid-template-columns:82px 1fr;gap:13px}.admin-header{flex-direction:column;align-items:flex-start}.admin-header>div:last-child{text-align:left}.admin-card-top{flex-wrap:wrap}.admin-card-top time{width:100%;margin-left:0}.admin-card-main{padding:20px}.admin-card-main dl{grid-template-columns:1fr}.admin-request{grid-column:auto}}
