/* Dark Takara presentation, inspired by the published burgundy and warm-cream collateral. */
body:not(.admin-body){
  --night:#13080f;
  --wine:#430021;
  --wine-bright:#68113a;
  --surface:#24101c;
  --surface-raised:#301323;
  --ivory:#faedda;
  --ivory-soft:#ead8c4;
  --gold:#d9ad58;
  --gold-soft:#f0cf8e;
  --dark-line:#ffffff1f;
  --paper:var(--night);
  --cream:var(--surface);
  --ink:var(--ivory);
  --muted:#c5adb8;
  --accent:var(--gold);
  --sans:"Avenir Next","Aptos","Segoe UI",Arial,sans-serif;
  color:var(--ivory);
  background:
    radial-gradient(circle at 8% 7%,#64123a40 0,transparent 28rem),
    radial-gradient(circle at 92% 42%,#7c4c1826 0,transparent 30rem),
    var(--night);
  font-family:var(--sans);
  font-size:15.5px;
  line-height:1.65;
}

body:not(.admin-body) .demo{background:var(--gold);color:#281118}
body:not(.admin-body) .site-header{
  background:#160810f2;
  color:var(--ivory);
  border-bottom:1px solid #d9ad5838;
  backdrop-filter:blur(18px);
}
body:not(.admin-body) .site-header.is-scrolled{background:#13080ff7;box-shadow:0 18px 50px #0008}
body:not(.admin-body) .brand{color:var(--ivory);font-family:var(--sans);font-weight:700;letter-spacing:.2em}
body:not(.admin-body) .brand small{color:var(--gold-soft);font-weight:600;letter-spacing:.28em}
body:not(.admin-body) .brand-logo{filter:drop-shadow(0 5px 12px #0007)}
body:not(.admin-body) .site-header nav{font-weight:600;letter-spacing:.02em}
body:not(.admin-body) .site-header nav>a:not(.button):after{background:var(--gold)}
body:not(.admin-body) .menu-toggle{color:var(--ivory);border-color:#d9ad5866}

body:not(.admin-body) h1,
body:not(.admin-body) h2,
body:not(.admin-body) h3{font-family:var(--sans);font-weight:650;letter-spacing:-.028em}
body:not(.admin-body) .eyebrow{color:var(--gold-soft);font-size:11px;letter-spacing:.2em}
body:not(.admin-body) .lead{color:var(--ivory-soft)}
body:not(.admin-body) a:focus-visible,
body:not(.admin-body) button:focus-visible,
body:not(.admin-body) input:focus-visible,
body:not(.admin-body) select:focus-visible,
body:not(.admin-body) textarea:focus-visible{outline-color:var(--gold)}

body:not(.admin-body) .button,
body:not(.admin-body) button{
  background:linear-gradient(135deg,var(--gold-soft),var(--gold));
  border-color:var(--gold);
  border-radius:999px;
  color:#2a1019;
  font-weight:800;
  box-shadow:0 10px 30px #0003;
}
body:not(.admin-body) .button:hover,
body:not(.admin-body) button:hover{background:linear-gradient(135deg,#ffe4a8,#e3b556);box-shadow:0 15px 34px #0006,0 0 0 1px #ffe9b080}
body:not(.admin-body) .secondary,
body:not(.admin-body) .text-button{background:transparent;color:var(--gold-soft);border-color:#d9ad5880;box-shadow:none}
body:not(.admin-body) .text-link{color:var(--gold-soft);border-color:#d9ad5880}

body:not(.admin-body) .hero{
  min-height:610px;
  background:
    radial-gradient(circle at 21% 38%,#9a2a5a35 0,transparent 31rem),
    linear-gradient(118deg,#500027 0%,#350019 55%,#1b0b14 100%);
  color:var(--ivory);
  isolation:isolate;
}
body:not(.admin-body) .hero:after{
  content:"";
  position:absolute;
  inset:auto auto -28% -8%;
  width:38vw;
  aspect-ratio:1;
  border:1px solid #d9ad5825;
  border-radius:50%;
  box-shadow:0 0 0 70px #d9ad580a,0 0 0 150px #d9ad5808;
  pointer-events:none;
}
body:not(.admin-body) .hero-copy{padding:64px 7% 72px max(7%,calc((100vw - 1500px)/2 + 5%));z-index:2}
body:not(.admin-body) .hero-copy:before{background:none}
body:not(.admin-body) .hero h1{font-size:clamp(50px,4.6vw,74px);line-height:1;max-width:620px;color:#fff4df;text-wrap:balance}
body:not(.admin-body) .hero p{max-width:430px;color:#d8c0ca;font-size:16px;line-height:1.65}
body:not(.admin-body) .hero-index{color:#d9ad58a6}
body:not(.admin-body) .hero-art{
  align-self:center;
  aspect-ratio:16/9;
  min-height:0;
  margin:36px 5% 64px 0;
  padding:12px 12px 38px;
  background:linear-gradient(145deg,#f4dfbd,#c89c51);
  border:0;
  border-radius:28px;
  box-shadow:0 32px 80px #09030899;
}
body:not(.admin-body) .hero-art:before{inset:9px;border:1px solid #fff7e29c;border-radius:21px}
body:not(.admin-body) .hero-art img{width:100%;height:100%;object-fit:contain;background:#17131b;transform:none;border-radius:15px;box-shadow:0 18px 45px #2b0b1b55}
body:not(.admin-body) .hero-art:hover img{transform:scale(1.025)}
body:not(.admin-body) .hero-seal{top:42px;color:#fff1d5;text-shadow:0 2px 18px #240511;font-family:var(--sans);font-size:22px;font-weight:800}
body:not(.admin-body) .hero-caption{
  left:12px;
  right:12px;
  bottom:0;
  height:38px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:2px 10px 0;
  color:#3a1420;
  border:0;
  background:transparent;
  font-size:8px;
  font-weight:800;
  line-height:1;
  text-align:center;
}
body:not(.admin-body) .hero-art[data-hero-slideshow]{position:relative;overflow:hidden}
body:not(.admin-body) .hero-slides{position:absolute;inset:12px 12px 38px;overflow:hidden;border-radius:15px;background:#17131b;box-shadow:0 18px 45px #2b0b1b55}
body:not(.admin-body) .hero-slide{position:absolute;inset:0;margin:0;opacity:0;visibility:hidden;transition:opacity .8s ease,visibility .8s;z-index:0}
body:not(.admin-body) .hero-slide.is-active{opacity:1;visibility:visible;z-index:1}
body:not(.admin-body) .hero-art[data-hero-slideshow] .hero-slide img{width:100%;height:100%;max-width:none;max-height:none;object-fit:cover;border-radius:0;box-shadow:none;transform:scale(1.015);animation:none;transition:transform 6s ease}
body:not(.admin-body) .hero-art[data-hero-slideshow] .hero-slide.is-active img{transform:scale(1.055)}
body:not(.admin-body) .hero-art[data-hero-slideshow]:hover .hero-slide img{transform:scale(1.015)}
body:not(.admin-body) .hero-slide-controls{position:absolute;right:24px;bottom:51px;z-index:4;display:flex;align-items:center;gap:6px;padding:6px;border:1px solid #ffffff2c;border-radius:999px;background:#170b13c9;color:#fff3dc;backdrop-filter:blur(12px);box-shadow:0 8px 24px #0006}
body:not(.admin-body) .hero-slide-controls button{width:32px;min-width:32px;height:32px;min-height:32px;padding:0;border:0;border-radius:50%;background:transparent;color:#fff3dc;font-size:15px;font-weight:700;box-shadow:none}
body:not(.admin-body) .hero-slide-controls button:hover{background:#d9ad58;color:#2a1019;box-shadow:none}
body:not(.admin-body) .hero-slide-controls button:disabled{opacity:.55;cursor:default}
body:not(.admin-body) .hero-slide-controls span{min-width:48px;padding:0 7px 0 4px;text-align:center;font-size:10px;font-weight:750;letter-spacing:.08em}

body:not(.admin-body) .booking-wrap{margin-top:-38px}
body:not(.admin-body) .booking-wrap .search-bar,
body:not(.admin-body) .search-bar{
  background:linear-gradient(135deg,#fff3df,#edd8b8);
  color:#351220;
  border:1px solid #f6dba4;
  border-top:4px solid var(--gold);
  border-radius:18px;
  box-shadow:0 25px 70px #0008;
}
body:not(.admin-body) .booking-wrap .search-bar{padding:22px 24px}
body:not(.admin-body) .booking-wrap .search-bar{column-gap:14px}
body:not(.admin-body) .search-bar label{
  padding:0;
  border:0;
  color:#5d3541;
  font-size:11px;
  font-weight:750;
  letter-spacing:.08em;
}
body:not(.admin-body) .search-bar label:first-of-type{padding-left:0}
body:not(.admin-body) .search-bar input{
  min-height:46px;
  margin-top:7px;
  padding:10px 12px;
  border:1px solid #cda967;
  border-radius:11px;
  background:#fffaf0;
  color:#281019;
  font-size:15px;
  font-weight:600;
  box-shadow:inset 0 1px 2px #4b18300a;
}
body:not(.admin-body) .search-bar input:hover{border-color:#b78a3f}
body:not(.admin-body) .search-bar input:focus{border-color:#a97827;box-shadow:0 0 0 4px #d9ad5830,inset 0 1px 2px #4b18300a}
body:not(.admin-body) .search-bar button{min-height:50px;margin-left:4px;font-size:14px}
body:not(.admin-body) .booking-hint{color:#bda5af;font-size:12px}
body:not(.admin-body) .experience-strip{border-color:#d9ad5838;color:#d7c1ca}

body:not(.admin-body) .section{position:relative}
body:not(.admin-body) .section>.eyebrow,
body:not(.admin-body) .section-head .eyebrow{color:var(--gold-soft)}
body:not(.admin-body) .section-head h2{color:#fff1dc;font-size:clamp(38px,3.4vw,54px)}
body:not(.admin-body) .room-grid{align-items:stretch}
body:not(.admin-body) .room-card{display:flex;flex-direction:column;padding:14px 14px 20px;border:1px solid var(--dark-line);border-radius:24px;background:linear-gradient(160deg,#2a111f,#1c0d16);box-shadow:0 18px 50px #0003;transition:border-color .35s,transform .45s cubic-bezier(.2,.7,.2,1),box-shadow .35s}
body:not(.admin-body) .room-card:nth-child(2){padding-top:14px}
body:not(.admin-body) .room-card:hover{border-color:#d9ad586e;transform:translateY(-8px);box-shadow:0 28px 70px #0007}
body:not(.admin-body) .room-image{border-radius:18px;box-shadow:0 10px 30px #0005}
body:not(.admin-body) .room-image img{aspect-ratio:1.35}
body:not(.admin-body) .room-card h3,
body:not(.admin-body) .room-card h3 a{color:#fff0dc;font-size:30px;line-height:1.12}
body:not(.admin-body) .room-card h3{margin:12px 0 10px}
body:not(.admin-body) .room-card p{min-height:0;color:#c6aeba;font-size:14px;line-height:1.65}
body:not(.admin-body) .room-meta{color:#c6aeba;font-size:10px;line-height:1.5;letter-spacing:.1em}
body:not(.admin-body) .room-bottom{margin-top:auto;padding-top:17px;border-color:#ffffff1f;color:#d8c0ca;font-size:12px}
body:not(.admin-body) .room-bottom strong,
body:not(.admin-body) .room-bottom>a{color:var(--gold-soft)}
body:not(.admin-body) .image-note{background:#2b0f1ce8;color:var(--gold-soft);border-radius:999px}

body:not(.admin-body) .about{
  background:
    radial-gradient(circle at 90% 0,#a64c6329,transparent 34rem),
    linear-gradient(120deg,#570029,#300018);
  border-block:1px solid #d9ad5838;
}
body:not(.admin-body) .about .lead{color:#ecd9df}
body:not(.admin-body) .about:after{opacity:.06;filter:sepia(1) saturate(2)}

body:not(.admin-body) .panel,
body:not(.admin-body) .summary,
body:not(.admin-body) #events .event-card{
  background:linear-gradient(155deg,var(--surface-raised),var(--surface));
  color:var(--ivory);
  border:1px solid var(--dark-line);
  border-radius:20px;
  box-shadow:0 16px 45px #0003;
}
body:not(.admin-body) #events .event-card:hover{border-color:#d9ad5869;box-shadow:0 26px 60px #0007}
body:not(.admin-body) .event-card-visual{background:#190b12}

body:not(.admin-body) .event-card-copy p,
body:not(.admin-body) #events>.event-grid+p,
body:not(.admin-body) .muted{color:#bea8b3}
body:not(.admin-body) .price-line{border-color:var(--dark-line)}
body:not(.admin-body) .badge,
body:not(.admin-body) .chip{background:#3b1629;color:#f3d7e2;border-color:#ffffff20}
body:not(.admin-body) .chip.selected,
body:not(.admin-body) .chip:hover{background:var(--gold);color:#2b101a}

body:not(.admin-body) input,
body:not(.admin-body) select,
body:not(.admin-body) textarea{background:#fff4e3;color:#2c111b;border:1px solid #d5b980;border-radius:10px}
body:not(.admin-body) input:focus,
body:not(.admin-body) select:focus,
body:not(.admin-body) textarea:focus{border-color:var(--gold);box-shadow:0 0 0 4px #d9ad5828}
body:not(.admin-body) fieldset{border-color:#ffffff24;border-radius:14px}
body:not(.admin-body) .notice{background:#3d2a1c;color:#f6deb5;border-color:#d9ad586b;border-radius:12px}
body:not(.admin-body) .notice.error{background:#421c25;color:#ffd4d9;border-color:#a94b5c}
body:not(.admin-body) .empty{border-color:#d9ad5859;color:#c7b0ba;border-radius:18px}

body:not(.admin-body) #amenity{background:linear-gradient(180deg,#1f0c17,#160910)}
body:not(.admin-body) #amenity article{border-color:#d9ad5833}
body:not(.admin-body) #amenity article p{color:#bda9b2}
body:not(.admin-body) #gallery .room-grid{grid-template-columns:repeat(12,minmax(0,1fr));gap:22px}
body:not(.admin-body) #gallery article{grid-column:span 4;overflow:hidden;border:1px solid var(--dark-line);border-radius:20px;background:linear-gradient(155deg,var(--surface-raised),var(--surface));box-shadow:0 18px 45px #0004;transition:transform .4s cubic-bezier(.2,.7,.2,1),border-color .3s,box-shadow .3s}
body:not(.admin-body) #gallery article:hover{transform:translateY(-7px);border-color:#d9ad586b;box-shadow:0 28px 65px #0007}
body:not(.admin-body) #gallery article:nth-child(1),
body:not(.admin-body) #gallery article:nth-child(4){grid-column:span 8}
body:not(.admin-body) #gallery .content-image{display:block;width:100%;aspect-ratio:16/10;object-fit:cover;transition:transform .7s cubic-bezier(.2,.7,.2,1)}
body:not(.admin-body) #gallery article:hover .content-image{transform:scale(1.035)}
body:not(.admin-body) #gallery article h3{margin:22px 24px 8px;color:#fff0dc}
body:not(.admin-body) #gallery article p{margin:0 24px 24px;color:#bea8b3}
body:not(.admin-body) .reels-section{
  background:radial-gradient(circle at 84% 18%,#8e365348 0,transparent 35rem),linear-gradient(135deg,#3f061f,#21101a);
  border-color:#d9ad5847;
  box-shadow:0 28px 80px #0005;
}
body:not(.admin-body) .reel-cinema{box-shadow:0 36px 80px #0009,0 0 0 1px #d9ad5830}

body:not(.admin-body) footer{background:#0d050a;border-top-color:var(--gold);color:var(--ivory)}
body:not(.admin-body) footer:before{opacity:.05}
body:not(.admin-body) footer .footer-slogan{color:var(--gold-soft);font-family:var(--sans);font-style:normal;font-weight:600}

@media (prefers-reduced-motion:no-preference){
  body:not(.admin-body) .hero:after{animation:halo-breathe 7s ease-in-out infinite alternate}
  body:not(.admin-body) .hero-art{animation:hero-card-in 1s .12s both}
  body:not(.admin-body) .hero-art img{animation:image-drift 12s ease-in-out 1.2s infinite alternate}
  body:not(.admin-body) .motion-ready .room-card:nth-child(2),
  body:not(.admin-body) .motion-ready .event-card:nth-child(2){transition-delay:.1s}
  body:not(.admin-body) .motion-ready .room-card:nth-child(3),
  body:not(.admin-body) .motion-ready .event-card:nth-child(3){transition-delay:.2s}
  body:not(.admin-body) .motion-ready .event-card:nth-child(4){transition-delay:.3s}
}
@keyframes halo-breathe{to{opacity:.45;transform:scale(1.06)}}
@keyframes hero-card-in{from{opacity:0;transform:translateY(28px) scale(.98)}to{opacity:1;transform:none}}
@keyframes image-drift{to{transform:scale(1.035)}}

@media screen and (max-width:800px){
  body:not(.admin-body) .site-header nav.open{padding:12px;background:#1e0b16;border:1px solid #d9ad5835;border-radius:16px;box-shadow:0 18px 40px #0008}
  body:not(.admin-body) .hero{background:linear-gradient(155deg,#4e0026,#1b0b14)}
  body:not(.admin-body) .hero h1{font-size:clamp(42px,11vw,58px);line-height:1.02}
  body:not(.admin-body) .hero-art{aspect-ratio:16/9;margin:0 5% 32px;padding:9px 9px 32px;border-radius:20px}
  body:not(.admin-body) .hero-art:before{border-radius:14px}
  body:not(.admin-body) .hero-art img{max-width:none;max-height:none;border-radius:10px}
  body:not(.admin-body) .hero-slides{inset:9px 9px 32px;border-radius:10px}
  body:not(.admin-body) .hero-slide-controls{right:18px;bottom:42px}
  body:not(.admin-body) .hero-caption{left:9px;right:9px;bottom:0;height:32px;padding-top:1px;color:#35121e}
  body:not(.admin-body) .booking-wrap{margin-top:18px}
  body:not(.admin-body) .room-card{border-radius:18px}
  body:not(.admin-body) .room-image{border-radius:13px}
  body:not(.admin-body) #gallery article,
  body:not(.admin-body) #gallery article:nth-child(1),
  body:not(.admin-body) #gallery article:nth-child(4){grid-column:span 6}
}

@media screen and (max-width:560px){
  body:not(.admin-body) .brand{font-size:21px;letter-spacing:.14em}
  body:not(.admin-body) .hero h1{font-size:42px;line-height:1.02}
  body:not(.admin-body) .hero p{font-size:15px}
  body:not(.admin-body) .eyebrow{font-size:9px}
  body:not(.admin-body) .room-card h3 a{font-size:27px}
  body:not(.admin-body) .booking-wrap .search-bar{border-radius:15px}
  body:not(.admin-body) #events .event-card{border-radius:16px}
  body:not(.admin-body) #gallery article,
  body:not(.admin-body) #gallery article:nth-child(1),
  body:not(.admin-body) #gallery article:nth-child(4){grid-column:1/-1}
}

@media print{
  body:not(.admin-body){background:#fff;color:#000}
  body:not(.admin-body) .panel,
  body:not(.admin-body) .summary{background:#fff;color:#000;border-color:#777;box-shadow:none}
}
