*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body{background:#080608;-webkit-font-smoothing:antialiased;overflow-x:hidden;width:100%}body{position:relative}body{font-family:Crimson Text,Georgia,serif;color:#c8b09a;min-height:100vh}.site-nav{position:fixed;top:0;left:0;right:0;z-index:200;display:flex;align-items:center;justify-content:space-between;padding:20px 40px;background:linear-gradient(to bottom,#080608eb,#08060899);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);transition:background .45s,padding .35s}.site-nav.scrolled{background:#080608f7;border-bottom:1px solid #2e1818;padding:14px 40px}.nav-logo{display:flex;align-items:center;gap:12px;text-decoration:none}.nav-logo-mark{width:36px;height:36px;display:block;object-fit:contain;flex-shrink:0;transition:filter .3s,opacity .3s}.nav-logo:hover .nav-logo-mark{filter:drop-shadow(0 0 10px rgba(143,0,0,.45))}.nav-logo-text{display:flex;flex-direction:column}.nav-logo-name{font-family:Cinzel,Georgia,serif;font-size:15px;letter-spacing:5px;color:#f0e8dc;line-height:1}.nav-logo-sub{font-family:Cinzel,Georgia,serif;font-size:10px;letter-spacing:3px;color:#4a3a3a;line-height:1;margin-top:4px}.nav-links{display:flex;align-items:center;gap:36px;list-style:none;margin-left:8vw}.nav-links a{font-family:Cinzel,Georgia,serif;font-size:13px;letter-spacing:2.5px;text-transform:uppercase;color:#7a6060;text-decoration:none;position:relative;transition:color .2s}.nav-links a.is-active{color:#f0e8dc}.nav-links a:after{content:"";position:absolute;bottom:-3px;left:0;right:0;height:1px;background:#8f0000;transform:scaleX(0);transform-origin:left;transition:transform .3s cubic-bezier(.16,1,.3,1)}.nav-links a:hover{color:#f0e8dc}.nav-links a:hover:after,.nav-links a.is-active:after{transform:scaleX(1)}.nav-right{display:flex;align-items:center;gap:18px}.nav-lang{font-family:Cinzel,Georgia,serif;font-size:12px;letter-spacing:2px;color:#4a3a3a;border:1px solid #2e1818;padding:5px 10px;text-decoration:none;transition:color .2s,border-color .2s}.nav-lang:hover{color:#f0e8dc;border-color:#4a3a3a}.nav-cta{font-family:Cinzel,Georgia,serif;font-size:12px;font-weight:700;letter-spacing:.25em;text-transform:uppercase;color:#f0e8dc;border:1px solid #5a0000;padding:9px 20px;text-decoration:none;transition:border-color .35s,color .35s}.nav-cta:hover{border-color:#8f0000;color:#fff}.nav-burger{display:none;width:40px;height:40px;background:transparent;border:1px solid #2e1818;cursor:pointer;padding:0;flex-direction:column;align-items:center;justify-content:center;gap:5px;transition:border-color .25s}.nav-burger:hover{border-color:#8f0000}.nav-burger span{display:block;width:18px;height:1.5px;background:#c8b09a;transition:transform .3s cubic-bezier(.16,1,.3,1),opacity .2s;transform-origin:center}.nav-burger[aria-expanded=true] span:nth-child(1){transform:translateY(6.5px) rotate(45deg)}.nav-burger[aria-expanded=true] span:nth-child(2){opacity:0}.nav-burger[aria-expanded=true] span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}.mobile-menu{position:fixed;inset:0;z-index:150;background:#080608f7;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);opacity:0;visibility:hidden;transition:opacity .4s cubic-bezier(.16,1,.3,1),visibility .4s;display:flex;align-items:center;justify-content:center;padding:80px 20px 40px}.mobile-menu.is-open{opacity:1;visibility:visible}.mobile-menu-inner{display:flex;flex-direction:column;align-items:center;gap:36px;width:100%;max-width:420px}.mobile-menu-links{list-style:none;display:flex;flex-direction:column;align-items:center;gap:28px;padding:0;margin:0;width:100%}.mobile-menu-links a{font-family:Cinzel,Georgia,serif;font-size:22px;font-weight:400;letter-spacing:.32em;text-transform:uppercase;color:#c8b09a;text-decoration:none;padding:8px 4px;border-bottom:1px solid transparent;transition:color .25s,border-color .25s}.mobile-menu-links a:hover,.mobile-menu-links a:focus-visible{color:#f0e8dc;border-color:#8f0000}body.menu-open{overflow:hidden}.grain{position:absolute;inset:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");opacity:.03;pointer-events:none;z-index:12}.booking-hero{position:relative;padding:clamp(140px,18vh,200px) 7% 0;overflow-x:clip;isolation:isolate}.booking-hero:before{content:"";position:absolute;top:-20%;left:50%;transform:translate(-50%);width:120%;height:80%;background:radial-gradient(ellipse at 50% 0%,rgba(143,0,0,.2) 0%,rgba(100,0,0,.1) 30%,rgba(60,0,0,.05) 55%,transparent 75%);pointer-events:none;z-index:-1}.booking-hero-kanji{position:absolute;right:-3%;top:4%;font-family:"Noto Serif JP",serif;font-weight:300;font-size:clamp(280px,36vw,520px);color:#8f0000;opacity:.03;line-height:1;pointer-events:none;user-select:none;z-index:0}.face-wrapper{position:relative}.eye-glow{position:fixed;width:clamp(50px,5vw,80px);height:clamp(50px,5vw,80px);transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle,rgba(143,0,0,.55) 0%,rgba(143,0,0,.35) 30%,rgba(143,0,0,.15) 60%,transparent 100%);filter:blur(8px);mix-blend-mode:screen;opacity:.7;pointer-events:none;z-index:1}.eye-glow-left{left:44%;top:38vh}.eye-glow-right{left:56%;top:38vh}.hero-face{position:absolute;inset:0;background:image-set(url(/reserva.avif) type("image/avif"),url(/reserva.webp) type("image/webp"),url(/reserva.png) type("image/png")) center 55% / 70% auto no-repeat fixed;mix-blend-mode:screen;opacity:.09;pointer-events:none;user-select:none;z-index:0}.booking-hero-inner{position:relative;z-index:2;max-width:920px;margin:0 auto;text-align:center}.hero-eyebrow-row{display:flex;align-items:center;gap:18px;justify-content:center;margin-bottom:28px}.hero-eyebrow-line{width:clamp(40px,8vw,72px);height:1px;background:linear-gradient(to right,transparent,#2e1818)}.hero-eyebrow-line.right{background:linear-gradient(to left,transparent,#2e1818)}.hero-eyebrow-kanji{font-family:"Noto Serif JP",serif;font-size:14px;color:#5a1a1a}.hero-eyebrow{font-family:Cinzel,Georgia,serif;font-size:clamp(11px,1vw,13px);font-weight:400;letter-spacing:.42em;text-transform:uppercase;color:#4a3030}.hero-title{font-family:Cinzel,Georgia,serif;font-size:clamp(48px,7.5vw,96px);font-weight:700;line-height:1;color:#f0e8dc;letter-spacing:.04em;margin-bottom:22px}.hero-subtitle{font-family:Crimson Text,Georgia,serif;font-style:italic;font-size:clamp(20px,2.4vw,28px);color:#b09080;max-width:760px;margin:0 auto;line-height:1.6}.booking-section{position:relative;padding:clamp(40px,6vh,70px) 7% clamp(80px,10vw,140px);overflow:hidden}.booking-grid{position:relative;z-index:1;max-width:900px;margin:0 auto}.booking-card{position:relative;background:linear-gradient(180deg,#0c0809,#080608);border:1px solid #1c0f0f;padding:clamp(36px,3.4vw,56px) clamp(28px,2.4vw,44px) clamp(36px,3.4vw,52px);display:flex;flex-direction:column;isolation:isolate;overflow:hidden;transition:border-color .45s,transform .45s cubic-bezier(.16,1,.3,1)}.booking-card:hover{border-color:#3e1818;transform:translateY(-3px)}.booking-card:before{content:"";position:absolute;top:0;left:8%;right:8%;height:1px;background:linear-gradient(to right,transparent,#5a1a1a 20%,#5a1a1a 80%,transparent);z-index:1}.booking-card:after{content:"";position:absolute;top:-75%;left:50%;transform:translate(-50%);width:140%;height:80%;background:radial-gradient(ellipse at 50% 100%,rgba(143,0,0,.18) 0%,rgba(125,0,0,.13) 14%,rgba(100,0,0,.09) 28%,rgba(78,0,0,.06) 42%,rgba(55,0,0,.03) 58%,rgba(30,0,0,.015) 74%,transparent 92%);pointer-events:none;z-index:0;filter:blur(14px);transition:opacity .5s}.booking-card:hover:after{opacity:1.3}.card-vertical{position:absolute;top:clamp(28px,2.6vw,48px);right:clamp(14px,1.2vw,22px);font-family:Cinzel,Georgia,serif;font-size:11px;font-weight:400;letter-spacing:.5em;text-transform:uppercase;color:#5a1010;writing-mode:vertical-rl;z-index:2}.card-ornament{display:flex;align-items:center;gap:10px;margin-bottom:18px}.card-ornament-line{width:22px;height:1px;background:#2e1818}.card-ornament-kanji{font-family:"Noto Serif JP",serif;font-size:14px;color:#7a1010}.card-eyebrow{font-family:Cinzel,Georgia,serif;font-size:11px;font-weight:400;letter-spacing:.4em;text-transform:uppercase;color:#4a3030;margin-bottom:10px}.card-title{font-family:Cinzel,Georgia,serif;font-size:clamp(24px,2.2vw,30px);font-weight:700;line-height:1.1;color:#f0e8dc;letter-spacing:.03em;margin-bottom:28px}.booking-widget{position:relative;z-index:1}.site-footer{position:relative;z-index:10;background:#060405;border-top:1px solid #2e1818;padding:32px 7% 28px;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.site-footer:before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 50% 0%,rgba(95,8,8,.18),transparent 70%),linear-gradient(to bottom,#08060859,#060405f2);pointer-events:none}.footer-meta-left,.footer-meta-right{position:relative;z-index:1;font-family:Cinzel,Georgia,serif;font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:#493636}.footer-meta-right{color:#7a6060}.footer-meta-right a{color:inherit;text-decoration:none;border-bottom:1px solid transparent;transition:color .25s,border-color .25s}.footer-meta-right a:hover{color:#f0e8dc;border-color:#5a0000}@media(max-width:820px){.nav-links{display:none}.nav-burger{display:flex}.nav-cta{display:none}.hero-face{background:image-set(url(/reserva.avif) type("image/avif"),url(/reserva.webp) type("image/webp"),url(/reserva.png) type("image/png")) center top / 130% auto no-repeat scroll;opacity:.12}.eye-glow{display:none}}@media(max-width:480px){.site-nav{padding:14px 20px}.site-nav.scrolled{padding:10px 20px}.booking-section{padding:24px 6% 60px}.hero-face{background:image-set(url(/reserva.avif) type("image/avif"),url(/reserva.webp) type("image/webp"),url(/reserva.png) type("image/png")) center top / 160% auto no-repeat scroll;opacity:.13}}
