@charset "UTF-8";
/* Design tokens: supplied six references — washi, sumi, vermilion, antique gold. */
:root{--paper:#f3edde;--paper-light:#faf7ef;--ink:#181713;--ink-soft:#24221c;--red:#a4261e;--red-dark:#7f1a15;--gold:#b99a62;--line:#d5c7aa;--muted:#696051;--white:#fffaf0;--serif:"Yu Mincho","游明朝","Hiragino Mincho ProN","Noto Serif JP",serif;--sans:"Yu Gothic","游ゴシック体","Hiragino Kaku Gothic ProN",sans-serif;--container:1240px;--header:82px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:105px}body{margin:0;color:var(--ink);background:var(--paper);font-family:var(--serif);font-size:15px;line-height:1.95;letter-spacing:.045em;line-break:strict;word-break:normal;overflow-wrap:break-word}body.nav-open{overflow:hidden}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}img{display:block;max-width:100%;height:auto}figure,p,h1,h2,h3,ul,dl,dd{margin:0}h1,h2,h3{font-weight:600;line-height:1.55;letter-spacing:.08em;overflow-wrap:break-word;font-feature-settings:"palt"}h1{font-size:clamp(34px,4vw,58px)}h2{font-size:clamp(27px,2.65vw,38px)}h3{font-size:25px}p+p{margin-top:14px}p{max-width:100%}ul{padding-left:1.4em}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--gold);outline-offset:5px}a:hover{color:var(--red)}.icon{display:inline-block;flex-shrink:0;vertical-align:middle}.container{width:min(var(--container),calc(100% - 96px));margin-inline:auto}.paper{background-color:var(--paper);background-image:url("../paper.svg")}.ink{color:var(--white);background-color:var(--ink);background-image:url("../paper.svg")}.section{padding:68px 0}.section-label{display:block;font:11px/1.6 var(--sans);letter-spacing:.25em;color:#8d6b35;margin-bottom:13px}.ink .section-label{color:var(--gold)}.section-heading{margin-bottom:32px}.section-heading h2{margin-bottom:14px}.section-heading p{color:var(--muted);font-size:15px}.red-rule{width:46px;height:2px;background:var(--red);display:block;margin:20px 0}.keep{display:inline-block}.small,.source-note,.photo-disclosure{font-family:var(--sans);font-size:12px;line-height:1.8;letter-spacing:.02em}.small{color:var(--muted);margin-top:12px}.source-note{margin-top:26px;color:var(--muted)}.source-note a,.small a,.menu-footnote a{text-decoration:underline;text-underline-offset:4px}.photo-disclosure{color:var(--muted);margin-top:17px}.ink .small,.ink .photo-disclosure{color:#c4bba8}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}[hidden]{display:none!important}.skip-link{position:fixed;z-index:200;top:8px;left:8px;padding:10px 18px;background:var(--paper);transform:translateY(-200%)}.skip-link:focus{transform:none}
/* Shared navigation and reservation controls */
.site-header{position:sticky;top:0;z-index:90;height:var(--header);color:var(--white);background:rgba(24,23,19,.98);border-bottom:1px solid rgba(185,154,98,.35)}.header-inner{height:100%;max-width:1400px;width:calc(100% - 96px);margin:auto;display:flex;align-items:center;gap:30px}.brand{display:flex;align-items:center;gap:13px;white-space:nowrap;flex-shrink:0}.brand:hover{color:var(--gold)}.brand-seal{font-size:35px;font-weight:700;width:48px;height:48px;border:2px solid var(--gold);display:grid;place-items:center;line-height:1.1;color:var(--gold);outline:1px solid rgba(185,154,98,.5);outline-offset:-5px;transform:rotate(-2deg)}.brand-name{font-size:29px;font-weight:600;letter-spacing:.14em;line-height:1.2}.brand-name small{font-size:11px;letter-spacing:.14em;margin-left:12px;font-weight:400;vertical-align:middle}.primary-nav{margin-left:auto;display:flex;align-items:center;gap:26px;white-space:nowrap}.primary-nav>a{font-size:13px;position:relative;padding:28px 0}.primary-nav>a::after{content:"";position:absolute;bottom:15px;left:0;right:0;height:2px;background:var(--red);transform:scaleX(0);transition:transform .25s}.primary-nav>a:hover,.primary-nav>a[aria-current=page]{color:#ebd4a6}.primary-nav>a:hover::after,.primary-nav>a[aria-current=page]::after{transform:scaleX(1)}.header-reserve .button{padding:11px 18px;font-size:13px;min-height:44px;gap:12px}.header-reserve .icon{width:18px}.nav-toggle,.mobile-nav-actions{display:none}.button{display:inline-flex;align-items:center;justify-content:center;gap:16px;min-height:52px;padding:13px 25px;background:var(--red);color:var(--white);border:1px solid transparent;line-height:1.5;letter-spacing:.08em;font-size:15px;transition:background .25s,transform .25s,box-shadow .25s;position:relative;text-align:center}.button:hover{background:var(--red-dark);color:var(--white);transform:translateY(-2px);box-shadow:0 5px 16px #0002}.button .icon:last-child{width:15px;transition:transform .25s}.button:hover .icon:last-child{transform:translateX(3px)}.button-outline{color:var(--ink);background:transparent;border-color:#9c8050}.button-outline:hover{background:var(--ink);color:var(--white)}.button-white-outline{color:var(--white);background:#17140e35;border-color:#ddcbaa9c}.button-white-outline:hover{background:#f5eddb18}.button-light{background:var(--paper-light);color:var(--red)}.button-light:hover{background:#fff;color:var(--red-dark)}.actions{display:flex;gap:14px;align-items:center;flex-wrap:wrap}.text-link{display:inline-flex;align-items:center;gap:24px;border-bottom:1px solid var(--gold);padding:10px 0;font-size:14px;transition:gap .25s}.text-link .icon{width:23px}.text-link:hover{gap:32px}.ink .text-link:hover{color:var(--gold)}.section-end{text-align:center;margin-top:34px}.section-end .button{min-width:320px}.heading-with-link{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:30px}.heading-with-link .section-heading{margin:0}.breadcrumb{display:flex;gap:15px;padding-top:20px;font-size:11px;color:var(--muted)}
/* Photograph led heroes */
.home-hero .hero-media,.page-hero .hero-media{-webkit-mask-image:linear-gradient(90deg,transparent,#000 23%);mask-image:linear-gradient(90deg,transparent,#000 23%)}
.home-hero,.page-hero{position:relative;overflow:hidden;isolation:isolate;background:#17140f;color:var(--white)}.home-hero{height:490px}.hero-media{position:absolute;inset:0;z-index:-2;overflow:hidden}.hero-media img{width:100%;height:100%;object-fit:cover}.home-hero .hero-media{left:31%;transform-origin:65% 60%;will-change:transform}.home-hero .hero-media img{object-position:center 48%}.home-hero::after,.page-hero::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#15130fec 0%,#15130fe6 24%,#15130f90 43%,#15130f05 75%)}.hero-content{height:100%;display:flex;flex-direction:column;justify-content:center;position:relative;z-index:2}.home-hero h1{font-size:clamp(43px,4.05vw,62px);line-height:1.45;letter-spacing:.055em;text-shadow:0 2px 12px #0006}.home-hero h1 span{display:block}.hero-content>p{margin-top:18px;font-size:17px;letter-spacing:.08em}.hero-content .actions{margin-top:25px}.hero-menu-link{display:inline-flex;gap:16px;align-items:center;font-size:12px;width:max-content;border-bottom:1px solid #dccbb866;padding:8px 0;margin-top:12px}.hero-menu-link:hover{color:var(--gold)}.hero-note{position:absolute;right:24px;bottom:14px;font-family:var(--sans);font-size:10px;letter-spacing:.05em;color:white;text-shadow:0 1px 6px black}.scroll-cue{position:absolute;left:calc((100vw - min(1240px,100vw - 96px))/2);bottom:0;display:flex;gap:14px;align-items:center;font:9px/1.4 var(--sans);letter-spacing:.2em;color:#d6c9b4}.scroll-cue i{display:block;width:48px;height:1px;background:#c7ac7299;position:relative;overflow:hidden}.scroll-cue i::after{content:"";position:absolute;width:20px;height:1px;left:-20px;background:var(--white);animation:scroll-line 2.5s infinite}.steam{position:absolute;right:10%;bottom:44%;width:40%;height:50%;pointer-events:none;z-index:1}.steam i{position:absolute;width:18%;height:85%;bottom:0;border-radius:50%;background:radial-gradient(ellipse,#fff7e92b 0%,#ffffff0d 36%,transparent 70%);filter:blur(12px);animation:steam-rise 7s ease-in-out infinite}.steam i:nth-child(1){left:16%;animation-delay:-2s}.steam i:nth-child(2){left:46%;animation-delay:-4s}.steam i:nth-child(3){left:72%;animation-delay:-6s}.page-hero{height:295px}.page-hero .hero-media{left:24%}.page-hero .hero-content p{font-size:17px}.page-hero::after{background:linear-gradient(90deg,#18140fef 0%,#18140fca 28%,#18140f30 72%,#18140f18)}.hero-rule{position:absolute;left:0;right:0;bottom:0;height:3px;background:linear-gradient(90deg,var(--gold),#b99a6200)}.course-hero .hero-media img{object-position:center 53%}.interior-hero{height:350px}.interior-hero .hero-media{left:20%}.interior-hero .hero-media img{object-position:center 57%}.access-hero .hero-media img{object-position:center 54%}.news-hero .hero-media img{object-position:center 41%}.news-hero h1{font-size:clamp(32px,3.7vw,54px)}
/* The home page uses the same alternating paper and ink bands as reference 1. */
.introduction{padding:52px 0;position:relative}.introduction-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.introduction h2{font-size:36px}.introduction p{font-size:14px}.intro-photo-wrap{position:relative;padding-right:32px}.intro-photo-wrap .photo{aspect-ratio:1.8}.intro-photo-wrap::before{content:"";position:absolute;top:15px;right:15px;bottom:-15px;left:15px;border:1px solid var(--gold);opacity:.6}.vertical-note{writing-mode:vertical-rl;position:absolute;right:-6px;top:20px;font-size:15px;letter-spacing:.2em}.photo{position:relative;overflow:hidden;background:#30281e}.photo img{width:100%;height:100%;object-fit:cover}.photo[data-depth] img{height:110%;max-height:none;transform:translateY(var(--depth-y,-4%));will-change:transform}.photo figcaption{position:absolute;bottom:0;right:0;background:#17130dcc;padding:5px 9px;color:var(--white);font-size:10px}.signature{padding:48px 0 30px}.signature-grid{display:grid;grid-template-columns:1.02fr 1fr 1fr 1fr;gap:25px;align-items:start}.signature-intro h2{font-size:31px}.signature-intro p{font-size:13px;color:#d8d0bf}.signature-intro .text-link{font-size:12px;margin-top:12px}.specialty-photo{position:relative;overflow:hidden;aspect-ratio:1.2}.specialty-photo img{width:100%;height:100%;object-fit:cover;transition:transform .6s}.specialty-card:hover img{transform:scale(1.05)}.specialty-card:hover{color:var(--gold)}.dish-tanzaku{position:absolute;left:14px;top:0;writing-mode:vertical-rl;padding:20px 9px 15px;background:#e6cca0ef;color:#211c13;font-size:23px;font-weight:600;letter-spacing:.16em}.dish-tanzaku::before{content:"";position:absolute;left:50%;top:0;width:1px;height:12px;background:#75552d}.specialty-card>p{font-size:12px;display:flex;align-items:center;justify-content:space-between;gap:6px;margin-top:12px}.specialty-card>p .icon{width:17px}.image-label{position:absolute;bottom:8px;right:8px;font:10px/1.4 var(--sans);letter-spacing:.04em;color:var(--white);background:#181713c9;padding:4px 7px}.home-room{padding:52px 0;border-bottom:1px solid var(--line)}.split{display:grid;grid-template-columns:1fr 1fr;gap:75px;align-items:center}.home-room .photo{aspect-ratio:1.85}.home-room p{font-size:14px;margin:20px 0}.home-room h2{font-size:35px}.course-preview{padding-bottom:58px}.course-preview .section-heading{text-align:center}.news-home{border-top:1px solid var(--line)}.home-access .split{align-items:start}.home-access p{margin-top:20px}.home-access .store-facts{margin-top:0}.home-access .store-facts dt{color:var(--gold)}.home-access .store-facts>div{border-color:#bda47a35}.home-access .store-facts dd small{color:#b8af9c}.home-access .large-phone{margin-top:25px;color:var(--white);font-size:29px}
/* Courses: prominent recommended card, full details on demand. */
.course-message{padding-top:30px;display:flex;justify-content:center;align-items:center;gap:30px;font-size:23px;font-weight:600}.course-message>span{font-size:14px;font-weight:400;border-left:1px solid var(--gold);padding-left:28px;color:var(--red)}.course-message .icon{color:#a78643;margin-right:10px;width:28px;height:28px}.course-section{padding-top:40px}.course-section>.container>.section-heading{text-align:center}.course-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px}.course-card{border:1px solid var(--line);padding:9px;background:var(--paper-light);position:relative;min-width:0;display:flex;flex-direction:column}.course-card::after{content:"";position:absolute;inset:4px;border:1px solid #b59a5d55;pointer-events:none}.course-image{aspect-ratio:1.85;overflow:hidden}.course-image img{width:100%;height:100%;object-fit:cover;transition:transform .65s}.course-card:hover .course-image img{transform:scale(1.045)}.course-content{padding:20px 14px 14px;display:flex;flex-direction:column;flex:1}.course-content h3{font-size:25px;text-align:center;letter-spacing:.04em}.course-lead{font-size:12px;color:var(--muted);line-height:1.8;margin-top:6px;text-align:center;min-height:44px}.price{display:flex;align-items:baseline;justify-content:center;color:var(--red);gap:3px;line-height:1.2;white-space:nowrap;margin:12px 0 17px}.price strong{font-size:38px;font-weight:600;letter-spacing:.01em}.price>span{font-size:18px}.price small{display:block;font-size:10px;font-weight:400;color:var(--muted);margin-top:6px}.course-tags{display:flex;justify-content:center;gap:6px;flex-wrap:wrap;list-style:none;padding:0;font-family:var(--sans);margin-bottom:15px}.course-tags li{font-size:11px;line-height:1.6;padding:4px 8px;background:#e9dec7;color:#59472d;border:1px solid #d9c7a3}.course-tags li.tag-red{background:var(--red);border-color:var(--red);color:var(--white)}.is-recommended{background:var(--ink);border-color:var(--gold);color:var(--white)}.is-recommended::after{border-color:#b99a6288}.is-recommended .course-lead,.is-recommended .small,.is-recommended .price small{color:#c5bcaa}.is-recommended .price{color:#dfbf79}.is-recommended .course-tags li{background:#a78a5029;color:#e8d1a8;border-color:#b69c5a8c}.recommend-ribbon{position:absolute;top:-13px;left:14px;z-index:3;background:var(--red);color:var(--white);padding:6px 19px;font-size:15px;letter-spacing:.12em;box-shadow:3px 3px 0 #0002}.course-details{border-top:1px solid var(--line);margin:0 0 18px;font-family:var(--sans);font-size:12px}.course-details summary{min-height:48px;display:flex;gap:10px;justify-content:space-between;align-items:center;cursor:pointer;font-size:12px;list-style:none}.course-details summary::-webkit-details-marker{display:none}.course-details summary .icon{width:14px;transform:rotate(90deg);transition:transform .25s}.course-details[open] summary .icon{transform:rotate(-90deg)}.course-details>div{padding:2px 0 16px}.dish-list{padding-left:1.4em;line-height:2}.dish-list li::marker{color:var(--gold)}.course-content>.button{margin-top:auto;font-size:13px;padding-inline:9px;gap:8px;min-height:48px}.course-content>.button .icon:first-child{display:none}.source-link{display:inline-flex;align-items:center;gap:8px;color:#7c5828;text-decoration:underline;text-underline-offset:4px;margin-top:14px;line-height:1.6}.source-link .icon{width:17px}.is-recommended .source-link{color:#dfc384}.is-recommended .course-details{border-color:#bb9a615a}.compact .course-lead{min-height:42px}.compact .text-link{align-self:center;margin-top:auto}.compact .course-content{padding-bottom:22px}.subheading{margin:58px 0 25px;padding-top:28px;border-top:1px solid var(--line)}.subheading h2{font-size:28px}.other-course-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.other-course-grid .course-content{padding:16px 8px 10px}.other-course-grid h3{font-size:21px}.other-course-grid .price strong{font-size:33px}.other-course-grid .price small{font-size:9px}.other-course-grid .course-tags{gap:4px}.other-course-grid .course-tags li{font-size:10px;padding:3px 5px}.booking-notes{margin-top:38px;border-top:1px solid var(--line);padding-top:25px}.booking-notes h2{font-size:21px;margin-bottom:16px}.booking-notes>p{font-family:var(--sans);font-size:12px;line-height:1.95;color:var(--muted)}
/* Menu editorial layout */
.menu-section{padding-top:36px}.menu-feature{display:grid;grid-template-columns:.85fr 2.15fr;gap:38px;margin-bottom:30px}.menu-intro{padding-top:15px}.menu-intro h2{font-size:34px}.menu-intro p{font-size:15px;line-height:2.05}.menu-main{display:grid;grid-template-columns:1.5fr 1fr;scroll-margin-top:100px}.menu-main>.photo{height:100%;min-height:335px}.menu-main>div{padding:28px 24px}.menu-main h2{font-size:32px}.menu-main .section-label{letter-spacing:.16em}.dish-catch{font-size:18px;line-height:1.7;margin:12px 0}.menu-main p:not(.dish-catch):not(.menu-price):not(.small){font-size:12px;line-height:1.9}.menu-price{font-size:28px;margin-top:20px;line-height:1.5;letter-spacing:.02em}.menu-price span{font-size:11px;margin-left:4px;display:inline-block}.menu-main .menu-price{color:#dfbf79}.menu-main .small{margin-top:0}.menu-pair{display:grid;grid-template-columns:1fr 1fr;gap:24px}.menu-dish{display:grid;grid-template-columns:1.12fr 1fr;background:var(--ink);color:var(--white);scroll-margin-top:110px;min-width:0}.menu-dish-photo{position:relative;overflow:hidden}.menu-dish-photo img{width:100%;height:100%;min-height:280px;object-fit:cover;transition:transform .7s}.menu-dish:hover .menu-dish-photo img{transform:scale(1.04)}.menu-dish-copy{padding:26px 22px}.menu-dish .section-label{color:var(--gold);letter-spacing:.16em;font-size:10px}.menu-dish h2{font-size:30px}.menu-dish .dish-catch{font-size:16px}.menu-dish-copy>p:not(.menu-price):not(.dish-catch){font-size:12px;line-height:1.8}.menu-dish .menu-price{font-size:25px;color:#dfbf79}.availability{color:#d5bb84;padding-top:12px;border-top:1px solid #b99a6255;margin-top:15px;font-size:11px!important}.menu-small-pair{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:24px}.menu-small-pair .menu-dish{background:transparent;color:var(--ink)}.menu-small-pair .menu-dish-photo{max-height:275px}.menu-small-pair .menu-dish-photo img{min-height:275px}.menu-small-pair .menu-dish-copy{padding-top:12px;padding-bottom:12px}.menu-small-pair .menu-dish h2{font-size:27px}.menu-small-pair .menu-price{color:var(--red)}.menu-small-pair .section-label{color:#87672e}.menu-footnote{margin-top:25px;color:var(--muted);font:11px/1.8 var(--sans)}.menu-footnote .source-note{font-size:11px;margin-top:10px}
/* Rooms and access */
.room-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:32px}.room-grid .photo{aspect-ratio:1.9;margin-bottom:21px}.room-grid h2{font-size:26px}.room-grid article>p{font-size:14px;margin-top:12px}.seat-note{border-left:3px solid var(--red);padding-left:13px;font-size:15px!important}.room-scenes{display:grid;grid-template-columns:2.25fr 1fr;gap:40px;align-items:center;margin:45px 0}.room-scenes h2{font-size:17px;color:#8d6b35;display:flex;gap:20px;align-items:center;margin-bottom:28px}.room-scenes h2::after{content:"";height:1px;background:var(--line);flex:1}.scene-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.scene-grid>div{position:relative;border-right:1px solid var(--line);padding-right:15px}.scene-grid>div:last-child{border:0}.scene-grid .icon{color:#a08243;width:33px;height:33px;margin-bottom:12px}.scene-grid h3{font-size:18px;margin-bottom:6px}.scene-grid p{font-size:12px;color:var(--muted)}.room-scenes>.photo{aspect-ratio:1.6}.room-facts{display:grid;grid-template-columns:repeat(3,1fr);border-block:1px solid var(--line);padding:24px 0;margin-top:35px}.room-facts>div{text-align:center;border-right:1px solid var(--line)}.room-facts>div:last-child{border:0}.room-facts span{display:block;font-size:12px;color:var(--muted)}.room-facts strong{font-size:37px;font-weight:500;color:#72582b;line-height:1.8;letter-spacing:.05em}.room-facts small{font-size:14px;margin-left:4px}.store-facts{font-size:14px}.store-facts>div{display:grid;grid-template-columns:104px minmax(0,1fr);gap:20px;padding:14px 0;border-bottom:1px solid var(--line)}.store-facts dt{font-weight:600;color:#795a2d}.store-facts dd{line-height:1.8}.address-floor{display:block}.phone-text{font-size:19px;letter-spacing:.03em;white-space:nowrap}.store-facts dd small{display:block;font:10px/1.8 var(--sans);color:var(--muted);margin-top:5px}.hours{max-width:270px}.hours>div{display:grid;grid-template-columns:65px 1fr;gap:20px}.access-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:55px;align-items:start}.map-frame{aspect-ratio:1.25;background:#e3dac8;border:1px solid var(--line);padding:6px}.map-frame iframe{display:block;width:100%;height:100%;border:0;filter:grayscale(.45)}.map-column>.button{margin-top:15px;width:100%}.access-directions{display:flex;align-items:center;gap:22px;margin-top:26px;border-top:1px solid var(--line);padding-top:26px}.floor-mark{font-size:58px;line-height:1.1;color:var(--red);border-right:1px solid var(--line);padding-right:22px;white-space:nowrap}.floor-mark>span{font-size:25px}.access-directions h2{font-size:22px;margin-bottom:9px}.access-directions p{font-size:13px;line-height:1.8}.contact-box{display:grid;grid-template-columns:1.15fr 1fr;gap:35px;border:1px solid var(--line);padding:32px 36px;margin:40px 0 25px}.contact-box>div>span{font-size:13px;display:flex;align-items:center;gap:12px;color:#795a2d}.large-phone{display:flex;align-items:center;gap:12px;font-size:38px;letter-spacing:.04em;line-height:1.5;white-space:nowrap;margin-top:10px}.contact-box p{font-size:12px;color:var(--muted);margin-top:6px}.contact-box>div:last-child{display:flex;gap:13px;flex-direction:column;justify-content:center;border-left:1px solid var(--line);padding-left:35px}.contact-box .button{min-height:48px}.interior-banner{display:flex;align-items:center;gap:28px;background:var(--ink);color:var(--white);padding:0 25px 0 0;min-height:105px}.interior-banner>img{width:210px;height:105px;object-fit:cover}.interior-banner>span{font-size:22px;letter-spacing:.07em}.interior-banner small{display:block;font-size:11px;color:#d3c6ac;margin-top:5px}.interior-banner .banner-link{font-size:13px;margin-left:auto;display:flex;align-items:center;gap:20px}.interior-banner:hover{color:var(--gold)}
/* News content is statically generated; drafts never enter the public listing. */
.news-section{padding-top:20px;min-height:480px}.news-filters{display:flex;justify-content:center;gap:12px;padding-bottom:28px;border-bottom:1px solid var(--line);margin-bottom:35px;flex-wrap:wrap}.news-filters button{border:1px solid transparent;padding:10px 22px;min-height:44px;font-size:13px;background:transparent;color:var(--ink);line-height:1.7;transition:color .2s,background .2s}.news-filters button:hover{color:var(--red);border-color:var(--line)}.news-filters button.active{color:var(--white);background:var(--red)}.news-empty{border-block:1px solid var(--line);padding:38px 42px;display:flex;gap:34px;align-items:center;background:#ffffff26;position:relative}.empty-seal{writing-mode:vertical-rl;border:1px solid var(--gold);padding:16px 9px;color:#957443;font-size:22px;letter-spacing:.17em;transform:rotate(-4deg)}.news-empty h3{font-size:25px;margin-bottom:12px}.news-empty p{color:var(--muted);font-size:14px}.inline-links{display:flex;gap:28px;margin-top:15px;flex-wrap:wrap}.inline-links .text-link{font-size:12px}.news-bottom-note{display:flex;justify-content:space-between;gap:30px;align-items:center;margin-top:40px}.news-bottom-note p{font-size:13px;color:var(--muted)}.news-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px}.news-card{display:grid;grid-template-columns:1fr 1.2fr;border:1px solid var(--line);padding:10px;min-width:0}.news-card:first-child{grid-column:1/-1;grid-template-columns:1fr 1fr}.news-card .photo{aspect-ratio:1.5;align-self:stretch}.news-card .photo img{object-fit:cover}.news-card-body{padding:15px 23px}.news-card h3{font-size:24px;margin:17px 0 11px}.news-card p{font-size:13px;line-height:1.9}.news-card .text-link{float:right;font-size:12px;margin-top:15px;color:var(--red)}.article-meta{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;font:11px/1.7 var(--sans)}.article-meta>span:first-child{color:var(--red);padding:3px 9px;border:1px solid #b77462}.article-meta time{color:var(--muted)}.filter-empty{text-align:center;padding:45px 20px;color:var(--muted)}.article-page{padding:25px 0 70px}.article-content{max-width:800px;margin:45px auto 0}.article-content h1{font-size:38px;margin:25px 0}.article-description{color:var(--muted);margin-bottom:28px}.article-content>.photo{aspect-ratio:1.8}.article-prose{margin:35px 0}.article-prose p{margin:20px 0}.article-prose h2{font-size:27px;margin:35px 0 18px}.article-prose ul{margin:20px 0}.preview-bar,.draft-warning{padding:12px;background:#ffe3ad;color:#5c3100;text-align:center;font-family:var(--sans);font-size:13px}.draft-warning{margin-top:20px}.draft-label{color:var(--red)}
/* End bands, footer and mobile safe-area */
.reservation-band{background-color:var(--red);background-image:url('../waves.svg'),linear-gradient(100deg,#7e19153b,#a82e2310);background-size:300px auto,auto;background-position:100% 100%,0 0;color:var(--white);border-block:1px solid #d2a46455;padding:35px 0}.reservation-inner{display:flex;justify-content:space-between;align-items:center;gap:35px}.reservation-inner h2{font-size:27px}.reservation-inner p{font-size:12px;margin-top:8px;color:#efd2b4}.reservation-inner .actions{flex-shrink:0}.reservation-inner .button{font-size:14px}.site-footer{background:var(--ink);color:var(--white);padding:38px 0 0}.footer-main{display:flex;align-items:center;justify-content:space-between;gap:30px}.footer-main .brand-name{font-size:27px}.footer-main .brand-seal{width:43px;height:43px;font-size:31px}.footer-main>div>p{font-size:11px;color:#c4bca9;margin-top:16px;line-height:1.9}.footer-main nav{display:grid;grid-template-columns:repeat(3,auto);gap:12px 30px;font-size:12px}.footer-main nav a:hover{color:var(--gold)}.footer-main>.button{font-size:13px}.footer-bottom{border-top:1px solid #b99a623a;padding:19px 0;margin-top:32px;display:flex;justify-content:space-between;gap:20px;align-items:center}.footer-bottom small{font:10px/1.6 var(--sans);color:#b8ae98}.footer-bottom>span{font-size:12px;color:#b8ae98}.back-top{width:42px;height:42px;border:1px solid #b99a6255;display:grid;place-items:center}.back-top:hover{color:var(--gold)}.mobile-booking{display:none}
/* Scroll decoration: only on wide screens; never receives input. */
.lantern-rail{position:fixed;top:25%;bottom:12%;z-index:10;display:flex;flex-direction:column;justify-content:space-between;pointer-events:none;width:27px;opacity:.62}.lantern-left{left:10px}.lantern-right{right:10px}.lantern-rail::before{position:absolute;content:"";left:13px;top:-20%;bottom:-15%;width:1px;background:#ac915342}.lantern-rail i{display:block;position:relative;width:26px;height:40px;border-radius:42%;border:1px solid #b1905775;background:repeating-linear-gradient(0deg,transparent 0 5px,#321e072a 5px 6px),radial-gradient(ellipse,#c7b891,#6b5431);filter:brightness(.58);transition:filter .7s,box-shadow .7s}.lantern-rail i::before,.lantern-rail i::after{content:"";position:absolute;width:13px;height:4px;background:#55442d;left:5px}.lantern-rail i::before{top:-3px}.lantern-rail i::after{bottom:-3px}.lantern-rail i.lit{filter:brightness(1.15);box-shadow:0 0 19px 4px #dfac5344;background:repeating-linear-gradient(0deg,transparent 0 5px,#63310420 5px 6px),radial-gradient(ellipse,#ffeabb,#d49b48)}
/* Enhancement only: without JS all content remains visible. */
.motion-ready [data-reveal]{opacity:0;transform:translateY(23px);transition:opacity .8s ease,transform .8s cubic-bezier(.2,.7,.25,1);transition-delay:var(--reveal-delay,0ms)}.motion-ready [data-reveal].revealed{opacity:1;transform:none}.motion-ready .course-grid>[data-reveal]:nth-child(2),.motion-ready .menu-pair>[data-reveal]:nth-child(2){--reveal-delay:90ms}.motion-ready .course-grid>[data-reveal]:nth-child(3){--reveal-delay:180ms}@keyframes steam-rise{0%{opacity:0;transform:translateY(20px) scale(.65) rotate(-5deg)}35%{opacity:.7}100%{opacity:0;transform:translateY(-80px) scale(1.25) rotate(10deg)}}@keyframes scroll-line{to{transform:translateX(80px)}}
@media(min-width:1500px){.home-hero{height:510px}.hero-content{padding-bottom:18px}}
@media(max-width:1250px){.header-inner{gap:20px;width:calc(100% - 64px)}.primary-nav{gap:18px}.brand-name{font-size:26px}.brand-name small{font-size:10px;margin-left:7px}.brand-seal{width:43px;height:43px;font-size:31px}.header-reserve .button{padding:10px 12px;font-size:12px;gap:8px}.primary-nav>a{font-size:12px}.container{width:calc(100% - 80px)}.signature-grid{gap:18px}.signature-intro h2{font-size:27px}.menu-feature{grid-template-columns:.75fr 2.25fr;gap:25px}.menu-main>div{padding:23px 20px}.menu-main h2{font-size:28px}.menu-dish{grid-template-columns:1fr 1fr}.menu-dish-copy{padding:22px 18px}.reservation-inner{gap:20px}.reservation-inner h2{font-size:24px}.reservation-inner .button{padding-inline:16px}.other-course-grid{grid-template-columns:1fr 1fr}.other-course-grid .course-image{aspect-ratio:2.5}.other-course-grid .course-content{padding:20px}.other-course-grid .course-lead{min-height:0}.access-grid{gap:35px}.contact-box{padding:28px}.large-phone{font-size:32px}.course-content h3{font-size:23px}}
@media(max-width:1020px){:root{--header:72px}.header-inner{width:calc(100% - 48px)}.header-reserve{margin-left:auto}.nav-toggle{display:flex;order:3;width:46px;height:48px;border:0;background:transparent;color:var(--white);flex-direction:column;justify-content:center;align-items:center;gap:6px;z-index:2;padding:0}.nav-toggle>span{width:24px;height:1px;background:currentColor;display:block;transition:transform .25s}.nav-toggle small{font:8px/1 var(--sans);letter-spacing:.12em}.nav-toggle[aria-expanded=true]>span:first-child{transform:translateY(3.5px) rotate(45deg)}.nav-toggle[aria-expanded=true]>span:nth-child(2){transform:translateY(-3.5px) rotate(-45deg)}.primary-nav{display:none;position:absolute;top:calc(var(--header) - 1px);left:0;right:0;max-height:calc(100dvh - var(--header) - 85px);overflow:auto;background:var(--ink);padding:25px max(24px,6vw) 35px;border-bottom:1px solid var(--gold);margin:0}.primary-nav.open{display:block}.primary-nav>a{display:block;padding:16px 0;border-bottom:1px solid #b99a6235;font-size:17px}.primary-nav>a::after{display:none}.mobile-nav-actions{display:flex;gap:14px;margin-top:23px}.container{width:calc(100% - 64px)}.lantern-rail{display:none}.introduction-grid,.split{gap:40px}.introduction h2{font-size:30px}.signature-grid{grid-template-columns:repeat(3,1fr)}.signature-intro{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:0 25px}.signature-intro>.section-label{grid-column:1/-1}.signature-intro h2 br{display:none}.signature-intro .red-rule{display:none}.signature-intro .text-link{grid-column:2;justify-self:start;margin:0}.signature-intro p{grid-column:2;grid-row:2}.signature-intro h2{font-size:29px}.home-room h2{font-size:30px}.course-grid{gap:15px}.course-content{padding-inline:9px}.course-content h3{font-size:20px}.price strong{font-size:33px}.course-tags li{font-size:10px;padding-inline:5px}.course-lead{font-size:11px}.course-message{font-size:20px;gap:16px}.course-message>span{font-size:12px;padding-left:16px}.menu-feature{grid-template-columns:1fr}.menu-intro{display:flex;gap:30px;align-items:center;flex-wrap:wrap}.menu-intro .section-label{width:100%;margin-bottom:-10px}.menu-intro .red-rule{display:none}.menu-intro h2 br{display:none}.menu-intro p{font-size:13px}.menu-intro p br{display:none}.menu-pair,.menu-small-pair{gap:18px}.menu-dish{grid-template-columns:1fr}.menu-dish-photo{aspect-ratio:1.7}.menu-dish-photo img{min-height:0}.menu-small-pair .menu-dish-photo img{min-height:0}.menu-dish-copy{padding:22px}.menu-small-pair .menu-dish-copy{padding:20px 0}.room-scenes{grid-template-columns:1fr}.room-scenes>.photo{display:none}.room-grid{gap:25px}.access-grid{grid-template-columns:1fr 1fr;gap:30px}.store-facts>div{grid-template-columns:78px 1fr;gap:13px;font-size:12px}.store-facts dt{font-size:13px}.hours>div{gap:8px;grid-template-columns:54px 1fr}.contact-box{gap:20px}.contact-box>div:last-child{padding-left:25px}.large-phone{font-size:28px}.interior-banner{gap:20px}.interior-banner>img{width:170px}.interior-banner>span{font-size:19px}.interior-banner .banner-link{font-size:11px;gap:8px}.reservation-inner{flex-direction:column;text-align:center;gap:23px}.reservation-inner .actions{justify-content:center}.footer-main{flex-wrap:wrap}.footer-main>.button{display:none}.news-card{grid-template-columns:1fr}.news-card:first-child{grid-template-columns:1fr 1fr}.news-card-body{padding:18px}.news-card h3{font-size:22px}}
@media(max-width:700px){:root{--header:66px}.container{width:calc(100% - 40px)}body{font-size:14px;line-height:1.95;padding-bottom:calc(69px + env(safe-area-inset-bottom,0px))}h1{font-size:34px}h2{font-size:28px;line-height:1.65}h3{font-size:23px}.section{padding:43px 0}.section-label{font-size:10px;letter-spacing:.21em;margin-bottom:12px}.header-inner{width:calc(100% - 32px);gap:10px}.header-reserve{display:none}.brand{gap:10px}.brand-name{font-size:25px;letter-spacing:.12em}.brand-name small{font-size:10px;margin-left:9px}.brand-seal{width:38px;height:39px;font-size:29px}.nav-toggle{margin-left:auto;width:42px}.primary-nav{padding:14px 24px 25px}.primary-nav>a{font-size:16px;padding:13px 0}.mobile-nav-actions{flex-direction:column}.mobile-nav-actions .button{min-height:46px;font-size:14px}.button{font-size:14px;min-height:50px;padding:12px 19px;gap:12px}.button .icon{width:19px;height:19px}.actions{gap:10px}.section-end{margin-top:25px}.section-end .button{min-width:0;width:100%;max-width:380px}.text-link{font-size:13px;gap:25px}.breadcrumb{padding-top:16px;font-size:10px}.desktop-break{display:none}.home-hero{height:auto;min-height:618px;padding-top:240px}.home-hero .hero-media{left:0;bottom:auto;height:330px}.home-hero .hero-media img{object-position:55% 40%}.home-hero::after{background:linear-gradient(0deg,#17140f 0%,#17140f 39%,#17140fe5 45%,#17140f30 63%,transparent 83%)}.home-hero .hero-content{padding-top:0;padding-bottom:45px;justify-content:flex-start;height:auto}.home-hero h1{font-size:clamp(29px,8.4vw,36px);line-height:1.6;letter-spacing:.04em}.home-hero .hero-content>p{font-size:13px;line-height:1.95;margin-top:14px;letter-spacing:.07em}.home-hero .actions{margin-top:20px;flex-wrap:nowrap;display:grid;grid-template-columns:1.3fr 1fr;gap:9px}.home-hero .actions .button{font-size:12px;padding:12px 9px;gap:7px}.home-hero .actions .button .icon:first-child{width:17px}.home-hero .actions .button .icon:last-child{width:12px}.hero-menu-link{font-size:11px;margin-top:8px}.hero-note{top:15px;bottom:auto;right:12px;font-size:9px}.scroll-cue{left:20px;bottom:13px;font-size:8px}.steam{right:5%;top:30px;bottom:auto;width:65%;height:180px}.page-hero{height:275px}.page-hero .hero-media{left:0}.page-hero::after{background:linear-gradient(90deg,#15110de6 0%,#15110dab 55%,#15110d40)}.page-hero .hero-content>p{font-size:13px;max-width:290px;margin-top:14px;line-height:1.9}.page-hero h1{font-size:32px;line-height:1.7}.menu-hero h1{font-size:29px}.news-hero h1{font-size:29px}.course-hero .hero-media img{object-position:60%}.interior-hero{height:310px}.interior-hero .hero-media{left:0}.interior-hero .hero-media img{object-position:57%}.access-hero h1{font-size:30px}.introduction{padding:40px 0 48px}.introduction-grid{grid-template-columns:1fr;gap:30px}.introduction h2{font-size:29px;line-height:1.7}.introduction h2 br{display:none}.introduction p{font-size:13px;line-height:2.05}.red-rule{margin:16px 0;width:40px}.intro-photo-wrap{padding-right:23px}.intro-photo-wrap .photo{aspect-ratio:1.7}.intro-photo-wrap::before{right:12px;bottom:-10px;top:10px;left:10px}.vertical-note{font-size:13px;right:-3px;top:10px}.signature{padding:40px 0 28px}.signature-grid{grid-template-columns:1fr;gap:25px}.signature-intro{display:block;grid-column:auto;margin-bottom:2px}.signature-intro h2{font-size:28px;line-height:1.7}.signature-intro h2 br{display:none}.signature-intro p{font-size:13px;margin-top:12px}.signature-intro .text-link{margin-top:14px}.specialty-photo{aspect-ratio:1.45}.specialty-card>p{font-size:13px;margin-top:10px}.dish-tanzaku{left:16px;padding:20px 9px 16px;font-size:25px}.signature .photo-disclosure{font-size:10px;margin-top:25px}.home-room{padding:38px 0}.split{grid-template-columns:1fr;gap:28px}.home-room h2{font-size:29px}.home-room p{font-size:13px;margin:15px 0}.home-room .photo{aspect-ratio:1.65}.home-room .text-link{margin-top:0}.course-preview .section-heading{text-align:left}.section-heading{margin-bottom:26px}.section-heading p{font-size:13px}.course-grid{grid-template-columns:1fr;gap:30px}.course-image{aspect-ratio:1.85}.course-content{padding:20px 16px 16px}.course-content h3{font-size:25px}.course-lead{font-size:12px;min-height:0}.price strong{font-size:39px}.price>span{font-size:18px}.price small{font-size:10px}.course-tags li{font-size:11px;padding:4px 9px}.compact .course-lead{min-height:0}.compact .course-content{padding-bottom:20px}.recommend-ribbon{font-size:14px}.course-content>.button{font-size:14px;min-height:50px}.course-message{padding-top:24px;flex-direction:column;gap:11px;font-size:18px;text-align:center}.course-message>span{border-left:0;border-top:1px solid var(--line);padding:12px 0 0;font-size:13px}.course-message .icon{width:24px;height:24px}.course-section{padding-top:30px}.course-section>.container>.section-heading{text-align:left}.course-section>.container>.section-heading h2{font-size:28px}.other-course-grid{grid-template-columns:1fr;gap:24px}.other-course-grid .course-image{aspect-ratio:2.1}.other-course-grid .course-content{padding:18px 16px 14px}.other-course-grid h3{font-size:24px}.other-course-grid .course-tags li{font-size:11px;padding:4px 8px}.other-course-grid .price strong{font-size:37px}.other-course-grid .price small{font-size:10px}.subheading{margin:36px 0 22px;padding-top:25px}.subheading h2{font-size:23px}.booking-notes{margin-top:28px}.course-details summary{min-height:49px;font-size:13px}.course-details>div{font-size:12px}.source-note,.small{font-size:11px}.photo-disclosure{font-size:10px}.heading-with-link{align-items:flex-start;flex-direction:column;gap:7px}.heading-with-link .text-link{font-size:12px}.news-empty{padding:25px 18px;gap:19px;align-items:flex-start}.empty-seal{font-size:18px;padding:13px 6px;flex-shrink:0}.news-empty h3{font-size:20px;line-height:1.6;letter-spacing:.04em}.news-empty p{font-size:12px}.inline-links{gap:12px;margin-top:9px}.inline-links .text-link{font-size:11px;gap:8px}.home-access .split{gap:26px}.home-access h2{font-size:30px}.home-access p{font-size:13px;margin-top:16px}.home-access .large-phone{font-size:26px}.home-access .store-facts>div{font-size:12px}.reservation-band{padding:31px 0}.reservation-inner h2{font-size:23px;line-height:1.7}.reservation-inner p{font-size:11px}.reservation-inner .actions{width:100%;flex-direction:column;gap:10px}.reservation-inner .button{width:100%;font-size:14px;min-height:48px}.footer-main{display:block}.footer-main .brand-name{font-size:26px}.footer-main .brand-seal{font-size:29px;width:39px;height:40px}.footer-main>div>p{font-size:11px}.footer-main nav{margin-top:26px;gap:0;grid-template-columns:repeat(3,1fr)}.footer-main nav a{padding:10px 0;font-size:12px}.site-footer{padding-top:30px}.footer-bottom{margin-top:21px;padding:15px 0;gap:10px}.footer-bottom>span{display:none}.footer-bottom small{font-size:9px}.back-top{width:40px;height:40px}.mobile-booking{display:grid;grid-template-columns:1fr 1.65fr;gap:8px;position:fixed;z-index:100;bottom:0;left:0;right:0;background:var(--paper-light);padding:9px 12px calc(9px + env(safe-area-inset-bottom,0px));border-top:1px solid #a488586b;box-shadow:0 -3px 20px #0001;min-height:69px}.mobile-booking>a{display:flex;justify-content:center;align-items:center;gap:9px;min-height:50px;font-size:14px;line-height:1.5;border:1px solid var(--line);color:var(--ink);background:var(--paper-light)}.mobile-booking>a:last-child{background:var(--red);color:var(--white);border-color:var(--red)}.mobile-booking>a>.icon{width:20px;height:20px}.mobile-booking>a>.icon:last-child:not(:first-child){width:13px}.menu-section{padding-top:28px}.menu-feature{gap:26px;margin-bottom:24px}.menu-intro{display:block;padding-top:0}.menu-intro h2{font-size:29px;margin:12px 0}.menu-intro .section-label{margin:0}.menu-intro p{font-size:13px}.menu-main{grid-template-columns:1fr}.menu-main>.photo{min-height:0;aspect-ratio:1.45}.menu-main>div{padding:25px}.menu-main h2{font-size:30px}.menu-main .dish-catch{font-size:18px;margin:10px 0}.menu-main .dish-catch br{display:none}.menu-main p:not(.dish-catch):not(.menu-price):not(.small){font-size:13px}.menu-main .menu-price{font-size:30px}.menu-main .menu-price span{font-size:11px}.menu-pair{grid-template-columns:1fr;gap:24px}.menu-dish-photo{aspect-ratio:1.45}.menu-dish-copy{padding:23px 25px}.menu-dish h2{font-size:29px}.menu-dish .dish-catch{font-size:18px}.menu-dish-copy>p:not(.menu-price):not(.dish-catch){font-size:13px}.menu-dish .menu-price{font-size:29px}.menu-small-pair{grid-template-columns:1fr;gap:24px;margin-top:27px}.menu-small-pair .menu-dish{grid-template-columns:1fr;background:#ffffff26;border-bottom:1px solid var(--line)}.menu-small-pair .menu-dish-copy{padding:20px 0 24px}.menu-small-pair .menu-dish-photo{max-height:none;aspect-ratio:1.75}.menu-footnote{font-size:10px}.room-grid{grid-template-columns:1fr;gap:32px}.room-grid .photo{aspect-ratio:1.65;margin-bottom:17px}.room-grid h2{font-size:24px}.room-grid article>p{font-size:13px}.seat-note{font-size:14px!important;line-height:1.8}.room-scenes{margin:32px 0}.room-scenes h2{font-size:16px;margin-bottom:20px}.scene-grid{grid-template-columns:1fr;gap:0}.scene-grid>div{display:grid;grid-template-columns:40px 1fr;gap:4px 18px;border-right:0;border-bottom:1px solid var(--line);padding:17px 0}.scene-grid>div:last-child{border-bottom:1px solid var(--line)}.scene-grid .icon{grid-row:1/3;align-self:center;margin:0}.scene-grid h3{font-size:18px;margin:0}.scene-grid p{font-size:12px;grid-column:2}.room-facts{padding:20px 0;margin-top:25px}.room-facts span{font-size:9px;letter-spacing:0}.room-facts strong{font-size:29px}.room-facts small{font-size:10px;margin-left:1px}.access-grid{grid-template-columns:1fr;gap:30px}.store-facts>div{grid-template-columns:75px 1fr;gap:12px;font-size:13px;padding:13px 0}.store-facts dt{font-size:13px}.hours{max-width:230px}.hours>div{grid-template-columns:50px 1fr;gap:15px}.map-frame{aspect-ratio:1.15}.access-directions{gap:17px;margin-top:23px;padding-top:23px}.floor-mark{font-size:52px;padding-right:17px}.access-directions h2{font-size:21px}.access-directions p{font-size:12px}.contact-box{grid-template-columns:1fr;gap:20px;padding:24px 18px;margin:30px 0 23px}.contact-box>div>span{font-size:11px;gap:8px}.large-phone{font-size:30px;letter-spacing:.035em}.contact-box p{font-size:11px}.contact-box>div:last-child{padding:20px 0 0;border-left:0;border-top:1px solid var(--line)}.interior-banner{display:grid;grid-template-columns:95px 1fr;gap:0 16px;padding:0 13px 0 0}.interior-banner>img{width:95px;height:135px;grid-row:1/3}.interior-banner>span{font-size:18px;line-height:1.7;align-self:end;padding-top:10px}.interior-banner small{font-size:9px;line-height:1.8}.interior-banner .banner-link{margin-left:0;padding:8px 0 12px;align-self:start;font-size:11px}.news-section{padding-top:22px;min-height:460px}.news-filters{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding-bottom:23px;margin-bottom:26px}.news-filters button{font-size:12px;padding:9px 6px;border-color:var(--line);min-height:45px}.news-bottom-note{flex-direction:column;align-items:stretch;gap:20px;margin-top:28px}.news-bottom-note p{font-size:12px}.news-grid{grid-template-columns:1fr;gap:24px}.news-card,.news-card:first-child{grid-template-columns:1fr}.news-card .photo{aspect-ratio:1.5}.news-card-body{padding:18px 10px}.news-card h3{font-size:24px}.news-card p{font-size:13px}.article-page{padding-top:7px;padding-bottom:45px}.article-content{margin-top:28px}.article-content h1{font-size:29px;line-height:1.65}.article-description{font-size:13px}.article-prose{font-size:14px}.article-prose h2{font-size:24px}.preview-bar{font-size:10px;padding:7px}.image-label{font-size:10px}.motion-ready [data-reveal]{transform:translateY(16px);transition-duration:.65s;transition-delay:0ms!important}}
@media(max-width:360px){.container{width:calc(100% - 32px)}.brand-name{font-size:22px}.brand-name small{font-size:9px;margin-left:6px}.home-hero{padding-top:220px;min-height:590px}.home-hero h1{font-size:27px}.home-hero .actions .button{font-size:11px;padding-inline:7px}.home-hero .actions .button .icon:first-child{display:none}.home-hero .hero-media{height:310px}.page-hero h1{font-size:28px}.menu-hero h1,.news-hero h1{font-size:26px}.large-phone{font-size:27px}.room-facts strong{font-size:26px}.room-facts small{font-size:9px}.news-empty{gap:13px;padding-inline:14px}.news-empty h3{font-size:18px}.news-empty .empty-seal{font-size:16px}.course-content h3{font-size:23px}}
@media(max-width:700px){.home-hero .hero-media{-webkit-mask-image:linear-gradient(#000 60%,transparent 100%);mask-image:linear-gradient(#000 60%,transparent 100%)}.page-hero .hero-media{-webkit-mask-image:none;mask-image:none}.home-hero .hero-content{padding-bottom:35px}.home-hero{min-height:594px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.steam{display:none}.motion-ready [data-reveal]{opacity:1!important;transform:none!important}.home-hero .hero-media{transform:none!important;will-change:auto}.photo[data-depth] img{transform:none!important;height:100%;will-change:auto}.lantern-rail i{filter:brightness(1)} }
@media(max-width:1020px){html:not(.js-enabled) .site-header{height:auto;position:relative}html:not(.js-enabled) .header-inner{flex-wrap:wrap;padding-block:15px}html:not(.js-enabled) .nav-toggle{display:none}html:not(.js-enabled) .primary-nav{display:grid;grid-template-columns:repeat(3,1fr);position:static;width:100%;padding:5px 0;max-height:none;border:0}html:not(.js-enabled) .primary-nav>a{font-size:12px;padding:8px 0}html:not(.js-enabled) .mobile-nav-actions{display:none}}

/* October refinement: editorial rhythm, readable type, and restrained photo motion.
   Existing components and data remain the source of truth. */
:root { --motion-ease: cubic-bezier(.22,.68,.18,1); }
body { letter-spacing:.035em; }
h1,h2,h3 { font-weight:500; text-wrap:balance; letter-spacing:.065em; }
p { text-wrap:pretty; }
.section { padding-block:84px; }
.section-label { font-size:12px; letter-spacing:.2em; }
.small,.source-note,.photo-disclosure,.menu-footnote { font-size:12px; }
.section-heading { margin-bottom:38px; }
.section-heading h2 { line-height:1.6; }
.reading-progress { position:absolute; bottom:-1px; left:0; width:100%; height:2px; background:var(--gold); transform:scaleX(var(--reading-progress,0)); transform-origin:left; pointer-events:none; }
.primary-nav>a { font-size:14px; }
.button { transition:background .25s,box-shadow .3s,transform .3s var(--motion-ease); }
.button:hover { transform:translateY(-1px); box-shadow:0 7px 20px #21110918; }
.button:active { transform:translateY(1px); }
.text-link { min-height:44px; }
.home-hero { height:620px; }
.home-hero .hero-media { left:27%; transform:translate3d(0,var(--hero-drift,0px),0) scale(var(--hero-scale,1)); }
.home-hero .hero-media img { object-position:57% 50%; }
.home-hero::after { background:linear-gradient(90deg,#15130ffc 0%,#15130fe8 22%,#15130f80 46%,#15130f00 76%); }
.home-hero .hero-content { padding-bottom:18px; }
.home-hero h1 { font-size:clamp(48px,4.45vw,70px); line-height:1.5; letter-spacing:.035em; }
.hero-eyebrow { font-size:13px; letter-spacing:.17em; color:#e8cf9d; margin-bottom:22px; }
.hero-content>p { font-size:17px; line-height:2; }
.hero-content .actions { margin-top:30px; }
.hero-menu-link { font-size:13px; min-height:44px; }
.scroll-cue { bottom:20px; }
.home-highlights { border-bottom:1px solid var(--line); background:var(--paper-light); }
.home-highlights>.container { display:grid; grid-template-columns:repeat(3,1fr); padding-block:24px; }
.home-highlights a { display:grid; grid-template-columns:1fr auto; padding:0 32px; border-right:1px solid var(--line); gap:2px 12px; }
.home-highlights a:first-child { padding-left:0; }
.home-highlights a:last-child { border:0; padding-right:0; }
.home-highlights small { font:12px/1.8 var(--sans); color:#8d6b35; grid-column:1; }
.home-highlights span { font-size:20px; }
.home-highlights .icon { grid-column:2; grid-row:1/3; align-self:center; width:22px; transition:transform .3s; }
.home-highlights a:hover .icon { transform:translateX(4px); }
.introduction { padding:88px 0; }
.introduction-grid { grid-template-columns:1fr 1.12fr; gap:80px; }
.introduction h2,.home-room h2 { font-size:40px; line-height:1.65; }
.introduction p,.home-room p { font-size:15px; line-height:2.1; }
.intro-photo-wrap .photo { aspect-ratio:1.55; }
.photo img,.specialty-photo img,.menu-dish-photo img,.course-image img { backface-visibility:hidden; }
.signature { padding:75px 0 44px; }
.signature-grid { grid-template-columns:1fr 1.28fr 1fr 1fr; gap:24px; align-items:center; }
.signature-intro h2 { font-size:33px; }
.signature-intro p { font-size:14px; }
.specialty-photo { aspect-ratio:.94; }
.specialty-card:nth-child(3) { margin-top:32px; }
.specialty-card:nth-child(4) { margin-top:64px; }
.specialty-card>p { font-size:13px; line-height:1.85; min-height:48px; align-items:flex-start; }
.specialty-card>p .icon { margin-top:5px; }
.signature .photo-disclosure { color:#c4bba8; }
.home-room { padding:88px 0; }
.home-room .split { grid-template-columns:.9fr 1.1fr; }
.room-stack { position:relative; min-width:0; height:570px; isolation:isolate; --stack-progress:0; }
.room-print { position:absolute; background:var(--paper-light); padding:8px; border:1px solid #b99a6280; box-shadow:0 14px 30px #34261418; }
.room-print img { width:100%; aspect-ratio:1.68; object-fit:cover; }
.room-print figcaption { padding:13px 10px 10px; display:flex; justify-content:space-between; gap:8px; flex-wrap:wrap; }
.room-print figcaption>span { font-size:17px; }
.room-print small { font:11px/1.8 var(--sans); color:var(--muted); align-self:center; }
.room-print-front { width:85%; left:0; top:0; z-index:1; transform:rotate(calc(-2deg * var(--stack-progress))); transform-origin:20% 50%; }
.room-print-front figcaption { position:absolute; top:8px; left:8px; right:8px; padding:17px 15px 28px; color:var(--white); background:linear-gradient(#181713c9,transparent); }
.room-print-front small { color:var(--white); }
.room-print-back { width:79%; bottom:0; right:0; z-index:2; transform:translateY(calc(20px * (1 - var(--stack-progress)))) rotate(calc(3deg * (1 - var(--stack-progress)))); transform-origin:80% 80%; }
.home-room .text-link { margin-top:10px; }
.course-preview .section-heading { margin-bottom:44px; }
.course-card { padding:7px; }
.course-content { padding:24px 18px 18px; }
.course-content h3 { font-size:26px; line-height:1.65; }
.course-lead { font-size:14px; min-height:50px; }
.course-image { aspect-ratio:1.65; }
.course-tags li { font-size:12px; }
.price { margin:19px 0 22px; }
.price strong { font-size:42px; font-variant-numeric:lining-nums tabular-nums; }
.price small { font-size:11px; }
.recommend-ribbon { padding:8px 22px; }
.course-highlights { font-size:13px; line-height:1.9; margin:0 0 18px; color:var(--muted); }
.is-recommended .course-highlights { color:#d8c9af; }
.course-details summary { font-size:14px; min-height:52px; }
.course-details>div { font-size:14px; }
.course-details .small { font-size:12px; }
.course-jumps { display:flex; gap:28px; padding-block:25px 3px; }
.course-jumps>a { display:flex; align-items:center; gap:12px; border-bottom:1px solid var(--line); min-height:48px; font-size:14px; flex:1; }
.course-jumps span { color:var(--red); margin-left:auto; white-space:nowrap; }
.course-jumps .icon { width:13px; transform:rotate(90deg); }
.course-section { padding-top:42px; }
.other-course-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px; }
.other-course-grid .course-card { display:grid; grid-template-columns:36% 1fr; gap:0; align-items:start; }
.other-course-grid .course-image { aspect-ratio:1; margin-top:16px; margin-left:12px; }
.other-course-grid .course-content { padding:16px 15px 14px 23px; }
.other-course-grid .course-content h3 { font-size:24px; text-align:left; }
.other-course-grid .course-lead { text-align:left; min-height:0; font-size:13px; }
.other-course-grid .price { justify-content:flex-start; margin:14px 0; }
.other-course-grid .course-tags { justify-content:flex-start; }
.other-course-grid .course-highlights { display:none; }
.other-course-grid .course-content>.button { font-size:13px; }
.booking-notes { max-width:980px; margin:42px auto 0; }
.booking-notes>p { font-size:13px; }
.menu-section { padding-top:48px; }
.menu-feature { grid-template-columns:.72fr 2.28fr; gap:34px; margin-bottom:34px; }
.menu-main { grid-template-columns:1.35fr 1fr; }
.menu-main>.photo { min-height:410px; }
.menu-main>div { padding:33px 27px; }
.menu-main h2 { font-size:35px; }
.menu-main p:not(.dish-catch):not(.menu-price):not(.small),.menu-dish-copy>p:not(.menu-price):not(.dish-catch) { font-size:14px; line-height:1.95; }
.menu-dish { grid-template-columns:1.18fr 1fr; }
.menu-dish-photo img { min-height:330px; }
.menu-dish-copy { padding:29px 23px; }
.menu-price { font-size:32px; }
.menu-price span { font-size:12px; }
.menu-small-pair { margin-top:34px; gap:32px; }
.menu-small-pair .menu-dish-photo { max-height:310px; }
.menu-small-pair .menu-dish-photo img { min-height:310px; }
.menu-footnote { line-height:1.9; }
.menu-footnote .source-note { font-size:12px; }
.room-grid { grid-template-columns:1fr 1.18fr; gap:36px; }
.room-grid .photo { aspect-ratio:auto; height:340px; }
.room-grid h2 { font-size:29px; }
.room-grid article>p { font-size:15px; line-height:2; }
.room-scenes { padding-block:12px; }
.scene-grid p { font-size:14px; }
.room-facts { padding:30px 0; background:#faf7ef70; }
.room-facts strong { font-size:48px; }
.store-facts { font-size:15px; }
.store-facts>div { padding-block:17px; }
.store-facts dd { min-width:0; }
.map-column { align-self:start; }
.map-heading { padding-bottom:20px; }
.map-heading>span { display:block; font:11px/1.7 var(--sans); letter-spacing:.2em; color:#8d6b35; }
.map-heading h2 { font-size:26px; margin-top:7px; }
.map-frame { position:relative; }
.map-frame iframe { position:absolute; inset:6px; width:calc(100% - 12px); height:calc(100% - 12px); }
.map-help { font:12px/1.9 var(--sans); color:var(--muted); margin-top:13px; }
.contact-box { background:#fffaf045; }
.news-filters { justify-content:flex-start; gap:6px; }
.news-filters button { font-size:14px; padding-inline:22px; }
.news-empty { padding:50px; gap:42px; background-image:url('../paper.svg'); background-color:var(--paper-light); box-shadow:0 10px 35px #58402508; }
.empty-seal { color:var(--red); border:1px solid #a4261e80; font-size:24px; padding:18px 11px; flex-shrink:0; }
.news-empty>div { max-width:670px; }
.news-empty .section-label { font-size:11px; margin-bottom:12px; }
.news-empty h3 { font-size:30px; }
.news-empty p { font-size:15px; max-width:40em; }
.news-empty .inline-links .text-link { font-size:14px; }
.news-bottom-note p { font-size:14px; }
.news-card-body { padding:24px 26px; }
.news-card p { font-size:14px; }
.article-meta { font-size:12px; }
.article-prose { line-height:2.1; }
.reservation-band { padding-block:43px; background-size:420px auto,auto; }
.reservation-inner h2 { font-size:30px; }
.reservation-inner p { font-size:13px; }
.footer-main nav { font-size:14px; gap:12px 25px; }
.footer-main>div>p { font-size:12px; }
.motion-ready [data-reveal] { transition:opacity .8s ease,transform .85s var(--motion-ease); }
.motion-ready .section-heading h2 { clip-path:inset(0 0 100% 0); transform:translateY(12px); transition:clip-path .95s var(--motion-ease),transform .95s var(--motion-ease); }
.motion-ready .section-heading.revealed h2 { clip-path:inset(0 0 0 0); transform:none; }
.hero-content h1,.hero-eyebrow { animation:hero-arrive .95s var(--motion-ease) both; }
.hero-content h1 { animation-delay:80ms; }
.lantern-rail { opacity:.8; }
.lantern-rail i,.lantern-rail i.lit { filter:brightness(calc(.52 + var(--lamp,0) * .65)); box-shadow:0 0 23px 5px rgb(223 172 83 / calc(var(--lamp,0) * .28)); background:repeating-linear-gradient(0deg,transparent 0 5px,#63310420 5px 6px),radial-gradient(ellipse,#ffeabb,#d49b48); transition:filter .2s linear,box-shadow .2s linear; }
@keyframes hero-arrive { from { opacity:0; transform:translateY(15px); } to { opacity:1; transform:none; } }
@media(min-width:1021px) { .page-access .map-column { position:sticky; top:105px; } }
@media(max-width:1250px) {
 .primary-nav { gap:17px; }.primary-nav>a { font-size:13px; }
 .signature-grid { gap:18px; }.signature-intro h2 { font-size:29px; }
 .introduction-grid,.split { gap:44px; }
 .course-content h3 { font-size:23px; }
 .room-stack { height:500px; }
 .menu-feature { grid-template-columns:.65fr 2.35fr; gap:24px; }
 .menu-dish { grid-template-columns:1fr; }.menu-dish-photo { aspect-ratio:1.6; }.menu-dish-photo img { min-height:0; }
 .menu-small-pair .menu-dish-photo img { min-height:0; }
 .room-grid .photo { height:285px; }
}
@media(min-width:701px) and (max-width:1020px) {
 .home-hero { height:570px; }.home-hero h1 { font-size:48px; }
 .home-highlights a { padding-inline:20px; }.home-highlights span { font-size:16px; }
 .signature-grid { grid-template-columns:1.15fr 1fr 1fr; }.signature-intro { grid-column:1/-1; }
 .specialty-card:nth-child(3),.specialty-card:nth-child(4) { margin:0; }
 .home-room .split { grid-template-columns:1fr 1.1fr; }.home-room h2,.introduction h2 { font-size:32px; }
 .room-stack { height:420px; }.room-print figcaption { padding:8px 3px; }.room-print figcaption>span { font-size:14px; }.room-print small { font-size:10px; }
 .course-grid { gap:12px; }.course-content { padding:20px 9px 14px; }.course-content h3 { font-size:21px; }.course-lead { font-size:13px; }
 .course-tags li { font-size:11px; }.price strong { font-size:36px; }
 .other-course-grid .course-card { grid-template-columns:1fr; }.other-course-grid .course-image { margin:0; aspect-ratio:2; }.other-course-grid .course-content { padding:20px; }
 .course-jumps { gap:14px; }.course-jumps>a { flex-wrap:wrap; gap:3px; font-size:13px; }
 .menu-feature { grid-template-columns:1fr; }.menu-main>div { padding:28px; }
 .room-grid .photo { height:245px; }.room-grid h2 { font-size:25px; }
 .store-facts>div { font-size:14px; }.store-facts>div { grid-template-columns:72px 1fr; gap:12px; }
}
@media(max-width:700px) {
 body { font-size:15px; }
 .section { padding-block:55px; }.section-label { font-size:11px; }
 .section-heading { margin-bottom:29px; }.section-heading p { font-size:14px; }
 h2 { font-size:29px; line-height:1.6; }
 .small,.source-note,.photo-disclosure,.menu-footnote,.signature .photo-disclosure { font-size:12px; }
 .home-hero { height:auto; min-height:650px; padding-top:255px; }
 .home-hero .hero-media { left:0; height:370px; -webkit-mask-image:linear-gradient(#000 65%,transparent); mask-image:linear-gradient(#000 65%,transparent); }
 .home-hero .hero-media img { object-position:57% 45%; }
 .home-hero::after { background:linear-gradient(0deg,#17140f 0%,#17140f 40%,#17140fd9 56%,transparent 83%); }
 .home-hero .hero-content { padding-bottom:51px; }
 .hero-eyebrow { font-size:11px; letter-spacing:.08em; margin-bottom:10px; }
 .home-hero h1 { font-size:clamp(28px,8.3vw,36px); letter-spacing:.035em; line-height:1.58; }
 .home-hero .hero-content>p { font-size:14px; letter-spacing:.025em; line-height:1.95; margin-top:18px; }
 .home-hero .actions { margin-top:23px; grid-template-columns:1.28fr 1fr; }
 .home-hero .actions .button { min-height:52px; font-size:13px; padding-inline:7px; gap:6px; }
 .home-hero .actions .button .icon:first-child { width:16px; }
 .hero-menu-link { font-size:12px; }
 .scroll-cue { bottom:15px; }
 .home-highlights>.container { width:calc(100% - 30px); padding-block:20px; }
 .home-highlights a,.home-highlights a:first-child,.home-highlights a:last-child { display:flex; flex-direction:column; text-align:center; padding-inline:8px; gap:5px; }
 .home-highlights small { font-size:10px; }
 .home-highlights span { font-size:14px; text-wrap:balance; line-height:1.6; }
 .home-highlights .icon { display:none; }
 .introduction { padding:55px 0 60px; }.introduction-grid { grid-template-columns:1fr; gap:34px; }
 .introduction h2,.home-room h2 { font-size:30px; line-height:1.7; }
 .introduction h2 br { display:block; }.introduction p,.home-room p { font-size:14px; line-height:2.05; }
 .intro-photo-wrap .photo { aspect-ratio:1.45; }
 .signature { padding:53px 0 37px; }.signature-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:25px 17px; }
 .signature-intro { grid-column:1/-1; display:block; }.signature-intro h2 { font-size:29px; }.signature-intro p { font-size:14px; }
 .specialty-card:nth-child(2) { grid-column:1/-1; }.specialty-card:nth-child(3),.specialty-card:nth-child(4) { margin:0; }
 .specialty-photo { aspect-ratio:1; }.specialty-card:nth-child(2) .specialty-photo { aspect-ratio:1.33; }
 .specialty-card>p { font-size:13px; line-height:1.75; margin-top:12px; }
 .specialty-card>p .icon { display:none; }.specialty-card:nth-child(2)>p .icon { display:block; }
 .dish-tanzaku { left:10px; font-size:21px; padding:15px 7px 13px; }
 .specialty-card:nth-child(2) .dish-tanzaku { font-size:26px; left:16px; padding:24px 10px 18px; }
 .image-label { font-size:10px; right:5px; bottom:5px; padding:3px 5px; }
 .home-room { padding:55px 0; }.home-room .split { grid-template-columns:1fr; gap:30px; }
 .room-stack { height:435px; margin-block:5px 5px; }
 .room-print { padding:6px; }.room-print-front { width:88%; }.room-print-back { width:82%; }
 .room-print img { aspect-ratio:1.58; }
 .room-print figcaption { display:block; padding:10px 7px 6px; }
 .room-print figcaption>span { font-size:16px; display:block; }.room-print small { font-size:11px; }
 .course-preview .section-heading { margin-bottom:30px; }
 .course-preview .course-grid { gap:24px; }
 .course-card.compact { display:grid; grid-template-columns:35% 1fr; padding:6px; align-items:stretch; }
 .compact .course-image { aspect-ratio:auto; }.compact .course-image img { height:100%; object-position:center; }
 .compact .course-content { padding:14px 11px 14px 14px; }
 .compact .course-content h3 { font-size:19px; text-align:left; letter-spacing:.01em; line-height:1.6; }
 .compact .course-lead { display:none; }
 .compact .price { margin:13px 0; justify-content:flex-start; }
 .compact .price strong { font-size:31px; }.compact .price small { font-size:10px; }
 .compact .course-tags { justify-content:flex-start; gap:4px; margin-bottom:9px; }.compact .course-tags li { font-size:10px; padding:3px 5px; }
 .compact .text-link { align-self:flex-start; font-size:12px; gap:10px; padding:8px 0 4px; }
 .compact .text-link .icon { width:18px; }
 .compact .recommend-ribbon { top:-12px; left:12px; font-size:12px; padding:5px 15px; }
 .course-jumps { flex-direction:column; gap:0; padding:21px 0 0; }
 .course-jumps>a { font-size:14px; min-height:46px; }.course-jumps span { font-size:15px; }
 .course-message { padding-top:30px; font-size:18px; gap:13px; }
 .course-section { padding-top:34px; }
 .course-content { padding:22px 16px 18px; }.course-content h3 { font-size:25px; }
 .course-lead { font-size:14px; min-height:0; }.course-tags li { font-size:12px; }
 .price strong { font-size:41px; }.price small { font-size:11px; }
 .course-highlights { font-size:13px; }
 .other-course-grid { grid-template-columns:1fr; gap:26px; }
 .other-course-grid .course-card { grid-template-columns:1fr; }
 .other-course-grid .course-image { margin:0; aspect-ratio:2.5; }
 .other-course-grid .course-content { padding:20px 16px 16px; }
 .other-course-grid .course-content h3 { font-size:24px; }
 .other-course-grid .price { margin:13px 0; }
 .other-course-grid .course-tags li { font-size:12px; }
 .other-course-grid .course-content>.button { font-size:14px; }
 .booking-notes>p { font-size:13px; }
 .menu-section { padding-top:35px; }.menu-feature { grid-template-columns:1fr; gap:28px; margin-bottom:27px; }
 .menu-intro p { font-size:14px; }
 .menu-main { grid-template-columns:1fr; }.menu-main>.photo { min-height:0; aspect-ratio:1.26; }
 .menu-main>div { padding:27px 24px; }.menu-main h2 { font-size:31px; }
 .menu-main .dish-catch,.menu-dish .dish-catch { font-size:18px; }
 .menu-pair { gap:27px; }.menu-dish { grid-template-columns:1fr; }.menu-dish-photo { aspect-ratio:1.36; }.menu-dish-photo img { min-height:0; }
 .menu-dish-copy { padding:25px 24px; }.menu-dish h2 { font-size:29px; }
 .menu-dish-copy>p:not(.menu-price):not(.dish-catch),.menu-main p:not(.dish-catch):not(.menu-price):not(.small) { font-size:14px; }
 .menu-price span,.menu-main .menu-price span { font-size:12px; }
 .menu-small-pair { gap:28px; margin-top:32px; }.menu-small-pair .menu-dish-photo { aspect-ratio:1.5; max-height:none; }
 .menu-small-pair .menu-dish-photo img { min-height:0; }.menu-small-pair .menu-dish-copy { padding:20px 0 26px; }
 .room-grid { grid-template-columns:1fr; gap:39px; }.room-grid .photo { height:auto; aspect-ratio:1.36; margin-bottom:20px; }
 .room-grid h2 { font-size:26px; }.room-grid article>p { font-size:14px; }
 .room-facts { padding-block:23px; }.room-facts strong { font-size:34px; }.room-facts span { font-size:10px; }.room-facts small { font-size:10px; }
 .scene-grid p { font-size:14px; }
 .store-facts>div { padding-block:16px; font-size:14px; }.store-facts dt { font-size:13px; }
 .home-access .store-facts>div { font-size:14px; }
 .map-heading h2 { font-size:25px; }.map-heading { padding-bottom:17px; }
 .map-frame { aspect-ratio:1.1; }.map-help { font-size:12px; }
 .access-directions p { font-size:14px; }.access-directions h2 { font-size:19px; letter-spacing:.03em; }
 .contact-box p { font-size:13px; }.contact-box>div>span { font-size:12px; }
 .news-section { padding-top:28px; }.news-filters { gap:8px; }.news-filters button { padding-inline:5px; font-size:13px; }
 .news-empty { gap:20px; padding:30px 22px; }.news-empty .empty-seal { font-size:20px; padding:14px 8px; }
 .news-empty h3 { font-size:24px; }.news-empty p { font-size:14px; line-height:2; }
 .news-empty .inline-links { gap:6px 20px; }.news-empty .inline-links .text-link { font-size:13px; }
 .news-empty .section-label { font-size:10px; letter-spacing:.15em; }
 .news-bottom-note p { font-size:14px; }.news-card p { font-size:14px; }
 .news-card-body { padding:20px 12px; }
 .reservation-band { padding-block:37px; }.reservation-inner h2 { font-size:25px; }.reservation-inner p { font-size:12px; }
 .footer-main>div>p { font-size:12px; }.footer-main nav a { font-size:13px; min-height:44px; }
 .motion-ready [data-reveal] { transition-duration:.65s; }
}
@media(max-width:360px) {
 .home-hero { padding-top:225px; min-height:625px; }.home-hero .hero-media { height:335px; }
 .home-hero .hero-content>p { font-size:12px; }.home-hero .actions .button { font-size:12px; }
 .hero-eyebrow { font-size:10px; }.home-highlights span { font-size:13px; }
 .room-stack { height:405px; }.room-print figcaption>span { font-size:14px; }.room-print small { font-size:10px; }
 .compact .course-content { padding-inline:11px 7px; }.compact .course-content h3 { font-size:18px; }.compact .price strong { font-size:28px; }
 .compact .text-link { font-size:11px; gap:5px; }.compact .text-link .icon { width:15px; }
 .news-empty { gap:15px; padding:24px 16px; }.news-empty h3 { font-size:22px; }.news-empty .empty-seal { font-size:17px; }
}
@media(prefers-reduced-motion:reduce) {
 .hero-content h1,.hero-eyebrow { animation:none; }
 .motion-ready .section-heading h2 { clip-path:none; transform:none; }
 .room-print-front,.room-print-back { transform:none; }
 .reading-progress { display:none; }
 .lantern-rail i,.lantern-rail i.lit { filter:brightness(1); box-shadow:none; }
}
