:root{--night:#11182f;--salmon:#ff8d79;--paper:#fffaf5}
html{scroll-padding-top:22px}
.site-header{position:relative;z-index:3;border-bottom:1px solid #ffffff24}
.site-header::after{content:"";position:absolute;bottom:-2px;left:4.6%;width:88px;height:3px;background:#ff8d79}
.hero{isolation:isolate}
.hero::before{content:"";position:absolute;inset:15px;border:1px solid #ffffff2b;z-index:1;pointer-events:none;clip-path:polygon(0 0,100% 0,100% 80%,96% 80%,96% 100%,0 100%)}
.hero::after{content:"✦";position:absolute;right:26%;top:13%;z-index:1;font-size:39px;color:#ffd6aa;text-shadow:0 0 24px #ff9378}
.hero-shade{background:linear-gradient(90deg,#0a1029ed 0%,#0a1029d1 30%,#0a102981 52%,#0a102917 95%),linear-gradient(0deg,#0a1029a8,transparent 50%)}
.hero-content{padding-top:52px;padding-bottom:70px}
.hero h1{max-width:790px;font-size:clamp(46px,5.5vw,80px);margin:30px 0 26px;text-shadow:0 10px 35px #080c1f77}
.hero h1 em{background:linear-gradient(110deg,#ffad94,#ffd7ad);background-clip:text;-webkit-background-clip:text;color:transparent}
.hero-lead{max-width:530px;color:#e2e5ec}
.hero-quote{border-left:0;padding:0;margin-top:35px;gap:4px}
.hero-quote span:first-child{width:max-content;max-width:100%;padding:8px 13px;background:#ff897a;color:#141b31;font-size:16px;font-weight:800;transform:rotate(-2deg);box-shadow:5px 5px 0 #10172dbb}
.hero-quote span:last-child{margin-top:8px;font-size:13px;color:#ffe6d8}
.hero-ticket{position:absolute;z-index:2;right:7%;bottom:89px;width:190px;padding:18px 19px 15px;background:#fff8f0;color:#182039;transform:rotate(5deg);box-shadow:11px 13px 0 #11172ec9;border-radius:3px;clip-path:polygon(0 0,100% 0,100% 85%,95% 89%,100% 93%,100% 100%,0 100%)}
.hero-ticket>span{font-size:9px;letter-spacing:1.6px;font-weight:900;color:#dd6f61}
.hero-ticket strong{display:flex;gap:15px;align-items:center;padding:8px 0;border-bottom:1px dashed #cfc8c5;font:800 18px Unbounded,sans-serif}
.hero-ticket strong i{font:700 13px Manrope,sans-serif;font-style:normal}
.hero-ticket small{display:block;margin-top:12px;font-size:9px;font-weight:800;letter-spacing:1px}
.hero-stamp{position:absolute;z-index:1;right:10%;top:14%;width:90px;height:90px;display:grid;place-content:center;text-align:center;border:2px solid #ffb08f;border-radius:50%;color:#ffc7ae;font-size:28px;font-weight:900;line-height:1.1;transform:rotate(13deg);box-shadow:0 0 0 6px #ffb08f29}
.hero-stamp small{font:900 10px Manrope,sans-serif;letter-spacing:2px}
.hero-side{right:2%}
.intro-strip{position:relative;overflow:hidden}
.intro-strip::after{content:"✦";position:absolute;right:4%;top:50%;transform:translateY(-50%);font-size:25px;color:#ffb49f;pointer-events:none}
.intro-inner{position:relative;z-index:1}
.menu-section{position:relative;background:radial-gradient(circle at 93% 7%,#ffd9c9 0 1px,transparent 2px) 0 0/21px 21px,var(--cream)}
.menu-section::before,.order-section::before,.booking-section::before,.reviews-section::before{content:"✦";position:absolute;right:4%;top:36px;font-size:28px;color:#e98772;opacity:.7}
.section-heading h2,.booking-copy h2{letter-spacing:-2.6px}
.menu-panel{position:relative}
.menu-grid{gap:21px}
.dish-card,.dish-card.feature{min-height:0;padding:0;background:#fff;color:#20263a;border:1px solid #e6ded8;border-radius:18px;box-shadow:0 8px 22px #20263a0b;transition:transform .24s,box-shadow .24s}
.dish-card:hover{transform:translateY(-4px);box-shadow:0 18px 33px #20263a19}
.dish-card .dish-info,.dish-card.feature .dish-info{padding:18px 20px 20px;display:flex;flex:1;flex-direction:column}
.dish-card h3,.dish-card.feature h3,.dish-card:not(.feature) h3{margin:13px 0 8px;font-size:17px}
.dish-card .dish-desc,.dish-card.feature .dish-desc{color:#6e7583;min-height:39px}
.dish-card .dish-meta,.dish-card.feature .dish-meta{color:#8b909d}
.dish-topline{color:#d56d5d}
.art-frame{height:195px;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;isolation:isolate}
.art-rolls{background:radial-gradient(circle at 50% 48%,#ffffff 0 25%,transparent 26%),linear-gradient(135deg,#e7f0e7,#f6eee9)}
.art-pizza{background:radial-gradient(circle at 50% 48%,#ffffff 0 25%,transparent 26%),linear-gradient(135deg,#fff2db,#f6e2d9)}
.art-drinks{background:radial-gradient(circle at 50% 48%,#ffffff 0 25%,transparent 26%),linear-gradient(135deg,#e1edf1,#f6e3e6)}
.art-frame::before{content:"";position:absolute;inset:14px;border:1px solid #ffffffbd;border-radius:10px}
.art-frame::after{content:"";position:absolute;left:-30px;top:-60px;width:110px;height:240px;transform:rotate(37deg);background:repeating-linear-gradient(90deg,#ffffff91 0 2px,transparent 2px 12px);opacity:.38}
.art-frame svg{position:relative;z-index:1;width:235px;height:195px;filter:drop-shadow(0 10px 8px #655b6130);transform:translateY(-14px)}
.art-spark{position:absolute;z-index:2;color:#db8069;font-size:20px}
.art-spark-one{left:13%;top:16%}.art-spark-two{right:12%;top:25%;font-size:26px}
.art-caption{position:absolute;bottom:11px;z-index:2;left:16px;right:16px;display:flex;align-items:center;justify-content:space-between;gap:8px;border-radius:7px;background:#fff9f4e8;backdrop-filter:blur(6px);padding:6px 8px}
.art-caption span{font-size:7px;color:#b46458;letter-spacing:.5px;font-weight:900;white-space:nowrap}
.art-caption strong{font-size:9px;color:#4b5260;font-weight:800;text-align:right}
.dish-dialog-photo{height:245px;background:none}
.dish-dialog-photo .art-frame{height:100%;border-radius:19px 19px 0 0}
.dish-dialog-photo .art-frame svg{width:270px;height:225px}
.dish-dialog-photo .art-caption{bottom:14px;left:25px;right:25px}
.mood-section::before{content:"✦   ✧   ✦";position:absolute;right:7%;top:14%;color:#fdb3a0;font-size:27px;letter-spacing:19px}
.mood-visual::after{content:"東 京 · 東京";position:absolute;inset:auto 10% 12% auto;z-index:3;border:1px solid #ffffff6b;padding:7px 10px;color:#fff;font-size:10px;letter-spacing:2px;transform:rotate(-6deg)}
.mood-circle{background:radial-gradient(circle at 42% 40%,#ffa38b,#e7766c);box-shadow:0 0 0 16px #ffffff0b,0 0 0 45px #ffffff08}
.mood-circle::after{content:"";position:absolute;inset:19px;border:1px solid #ffffff6e;border-radius:50%}
.order-section,.booking-section,.reviews-section{position:relative}
.order-copy .steps b{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:#ffe2d9;color:#b95c51;flex:none}
.order-form,.booking-form{position:relative;border:1px solid #f1dad1;box-shadow:10px 10px 0 #f5d8cd,0 20px 60px #19203212}
.order-form::before,.booking-form::before{content:"✦";position:absolute;right:25px;top:65px;color:#ffa68d;font-size:20px}
.booking-section{background:#fff9f2}
.booking-grid{display:grid;grid-template-columns:.95fr 1.05fr;gap:9%;align-items:start}
.booking-copy h2{font-size:clamp(34px,4vw,51px);line-height:1.2;margin:13px 0 20px}
.booking-copy h2 span{color:#ed7666}
.booking-copy>p:not(.section-kicker){font-size:14px;line-height:1.85;color:#747989;max-width:450px}
.booking-form{background:#fff;border-radius:20px;padding:32px}
.booking-form h3{font-family:Unbounded,sans-serif;font-size:21px;letter-spacing:-1px;margin:25px 0}
.booking-form label{display:block;font-size:11px;font-weight:800;color:#343c50;margin-bottom:16px}
.booking-form input:not([type=radio]),.booking-form textarea{display:block;width:100%;border:1px solid #e3e2e2;border-radius:8px;padding:14px 13px;margin-top:8px;background:#fff;color:#151a2c;outline:0;font-size:12px}
.booking-form input:focus,.booking-form textarea:focus{border-color:#ef7b69}
.booking-form textarea{resize:vertical}
.booking-form .form-fine a{text-decoration:underline;color:#b25348}
.booking-scene{height:280px;margin-top:35px;border-radius:18px;background:linear-gradient(160deg,#1e2844,#10172f);position:relative;overflow:hidden;box-shadow:8px 8px 0 #f0d7ce}
.booking-scene::before{content:"";position:absolute;inset:14px;border:1px solid #ffffff38;border-radius:10px}
.booking-scene::after{content:"";position:absolute;bottom:0;left:0;right:0;height:76px;background:repeating-linear-gradient(90deg,#29364f 0 14px,#202b43 14px 27px);clip-path:polygon(0 80%,4% 45%,10% 45%,12% 15%,18% 15%,18% 66%,24% 66%,27% 29%,31% 29%,31% 70%,42% 70%,45% 0,50% 0,50% 69%,59% 69%,63% 34%,68% 34%,68% 67%,79% 67%,83% 20%,89% 20%,91% 70%,100% 70%,100% 100%,0 100%)}
.booking-scene-sun{position:absolute;width:160px;height:160px;border-radius:50%;background:#fa987f;right:20%;top:19px;box-shadow:0 0 0 15px #fa987f13,0 0 0 35px #fa987f0b}
.booking-scene-table{position:absolute;z-index:2;left:14%;bottom:39px;width:45%;height:15px;border-radius:50%;background:#f1ceb8;box-shadow:0 8px 0 #9b6b69,0 16px 0 #594a5d}
.booking-scene-table::after{content:"";position:absolute;width:8px;height:40px;background:#99717d;left:50%;top:17px}
.booking-scene-cup,.booking-scene-plate{position:absolute;z-index:3;font-size:41px;left:22%;bottom:60px;filter:drop-shadow(0 4px 2px #1117)}
.booking-scene-plate{left:44%;bottom:59px}
.booking-scene-spark{position:absolute;z-index:2;right:12%;top:30px;color:#ffd6a8;font-size:29px}
.booking-scene strong{position:absolute;z-index:2;right:8%;bottom:56px;color:#fff;font-size:25px;line-height:1.05;transform:rotate(-8deg)}
.booking-scene strong small{font:800 8px Manrope,sans-serif;letter-spacing:1.5px;color:#f7b5a5}
.reviews-section{background:#fff}
.review-card{position:relative;box-shadow:5px 5px 0 #f1ded4}
.review-card::before{content:"“";position:absolute;right:20px;top:6px;color:#efd3c8;font:900 75px Georgia,serif}
.footer{position:relative}
.footer::before{content:"TOKIO · SITY  ✦  東京";position:absolute;right:5%;top:17px;color:#ffffff14;font:800 24px Unbounded,sans-serif;white-space:nowrap}
@media(max-width:1150px){.hero-ticket{right:4%;bottom:55px;width:165px}.hero h1{max-width:680px}.hero-stamp{right:5%;top:12%}}
@media(max-width:850px){.hero-ticket{display:none}.hero-stamp{right:8%;top:9%;width:66px;height:66px;font-size:20px}.hero h1{max-width:650px}.booking-grid{grid-template-columns:1fr;gap:30px}.booking-scene{max-width:520px}}
@media(max-width:700px){.hero{height:auto;min-height:640px}.hero-content{padding:57px 0 62px}.hero::before{inset:9px}.hero::after{right:11%;top:16%;font-size:23px}.hero-stamp{top:auto;bottom:15%;right:7%}.hero-shade{background:linear-gradient(90deg,#0a1029ed,#0a1029a8),linear-gradient(0deg,#0a1029a8,transparent 55%)}.hero h1{font-size:clamp(36px,10vw,56px);letter-spacing:-2.4px;max-width:520px}.hero-lead{max-width:450px}.hero-quote{margin-top:33px}.hero-quote span:first-child{font-size:14px}.intro-strip::after{display:none}.menu-section::before,.order-section::before,.booking-section::before,.reviews-section::before{right:5%;top:19px;font-size:18px}.dish-card{min-height:0}.art-frame{height:205px}.art-frame svg{width:240px;height:200px}.booking-form{padding:22px}.booking-scene{height:230px}.booking-scene-sun{width:135px;height:135px}.booking-copy h2{font-size:35px}.footer::before{font-size:14px}}
@media(max-width:420px){.hero-content{padding-top:40px}.hero h1{font-size:clamp(34px,9.5vw,42px);line-height:1.17}.hero-lead{font-size:13px}.hero-stamp{display:none}.hero-quote span:last-child{font-size:11px}.art-caption{left:10px;right:10px}.art-caption span{font-size:6px}.art-caption strong{font-size:8px}.booking-scene strong{right:6%;font-size:20px}.booking-scene-cup,.booking-scene-plate{font-size:30px}.booking-form .form-row{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.dish-card:hover{transform:none}}
