*{box-sizing:border-box;margin:0}body{background:#06070b;color:#d8dbe4;font:300 16px/1.6 Inter,sans-serif}
h1,h2,.logo{font-family:'Cormorant Garamond',serif;font-weight:300;letter-spacing:.02em}a{color:inherit;text-decoration:none}
nav{position:fixed;inset:0 0 auto;z-index:20;display:flex;justify-content:space-between;align-items:center;padding:18px 5vw;background:linear-gradient(#06070bee,#06070b00)}
.logo{font-size:22px;color:#fff}.logo span{font-size:12px;letter-spacing:.35em;color:#c9a96e;margin-left:6px}
.links{display:flex;gap:26px;align-items:center;font-size:13px;letter-spacing:.12em;text-transform:uppercase}
button{font:inherit;cursor:pointer;background:none;color:inherit;border:1px solid #c9a96e55;padding:6px 14px;border-radius:2px}
.hero{min-height:100vh;display:flex;align-items:center;padding:0 7vw;background:linear-gradient(90deg,#06070bf0 25%,#06070b40),var(--img) center/cover,radial-gradient(circle at 70% 40%,#5a1830,#06070b 60%)}
.hero h1{font-size:clamp(40px,6vw,84px);line-height:1.05;color:#fff;margin:12px 0 18px}.hero p{max-width:480px}
.eyebrow{color:#c9a96e;letter-spacing:.3em;text-transform:uppercase;font-size:12px}
.btn{display:inline-block;margin-top:26px;background:#c9a96e;color:#06070b;padding:12px 26px;border:0;font-weight:600;letter-spacing:.1em;text-transform:uppercase;font-size:12px}.btn.ghost{background:none;color:#c9a96e;border:1px solid #c9a96e}
section{padding:110px 6vw 40px}h2{font-size:48px;color:#fff;text-align:center}.sub{text-align:center;color:#8a90a0;margin:8px 0 30px}
.filters{text-align:center;margin:20px 0 34px}.filters button{margin:4px}.filters .on{background:#c9a96e;color:#06070b}
.grid{columns:4 260px;gap:14px}.card{break-inside:avoid;margin-bottom:14px;position:relative;cursor:zoom-in;overflow:hidden;background:radial-gradient(#1b2340,#0b0d16);min-height:200px}
.card img{width:100%;display:block;transition:.6s}.card:hover img{transform:scale(1.05)}
.card span{position:absolute;inset:auto 0 0;padding:30px 14px 12px;background:linear-gradient(#0000,#000c);font-size:14px;color:#fff}
.shop{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:24px}.item{background:#0d0f17;border:1px solid #1c2030}
.item .ph{aspect-ratio:4/3;background:radial-gradient(#1b2340,#0b0d16) center/cover}.item div.b{padding:16px}.item h4{color:#fff;font-weight:400;margin-bottom:10px}
select,input,textarea{width:100%;background:#0d0f17;color:#d8dbe4;border:1px solid #2a2f40;padding:10px;font:inherit;margin-bottom:10px}
.price{color:#c9a96e;font-size:20px;margin:4px 0 10px}
.about{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center}.about img{width:100%}.about h2{text-align:left}.about p{margin-top:16px}
#cf{max-width:620px;margin:auto}#cf small{display:block;color:#777;margin-top:8px}
footer{text-align:center;padding:50px;color:#555;font-size:13px}
.lb{position:fixed;inset:0;background:#000e;z-index:50;display:none;align-items:center;justify-content:center;flex-direction:column}.lb.on{display:flex}
.lb img{max-width:90vw;max-height:76vh}.lb .cap{text-align:center;padding:14px;max-width:640px}.lb .cap b{font-family:'Cormorant Garamond';font-size:28px;font-weight:300;color:#fff;display:block}
.lb .x{position:absolute;top:16px;right:20px;font-size:28px;border:0}.lb .prev,.lb .next{position:absolute;top:45%;font-size:40px;border:0}.lb .prev{left:10px}.lb .next{right:10px}
.cart{position:fixed;top:0;right:0;height:100%;width:min(380px,100%);background:#0d0f17;z-index:60;padding:24px;transform:translateX(100%);transition:.4s;overflow:auto;border-left:1px solid #222}.cart.on{transform:none}
.cart h3{display:flex;justify-content:space-between;color:#fff;font-weight:400}.ci{border-bottom:1px solid #222;padding:12px 0;font-size:14px}.ci button{padding:0 8px;margin-left:6px}
.tot{margin-top:16px}.note{display:block;color:#e0a060;margin-top:10px}
@media(max-width:760px){.links a{display:none}.about{grid-template-columns:1fr}h2{font-size:36px}section{padding-top:80px}}
img{-webkit-user-drag:none;user-select:none;-webkit-touch-callout:none}
.lang{border:0;padding:6px 4px;letter-spacing:.1em;font-size:12px;white-space:nowrap}.lang span{opacity:.45}.lang span.on{opacity:1;color:#c9a96e;font-weight:600}
@media(max-width:760px){.links{gap:10px}}
/* ===== Design tokens: spacing + type scale ===== */
:root{--s1:4px;--s2:8px;--s3:12px;--s4:16px;--s5:24px;--s6:32px;--s7:48px;--s8:64px;--s9:96px;--sec:clamp(64px,9vw,112px);--gut:clamp(20px,6vw,88px);
--fs-xs:clamp(11px,.72rem,12px);--fs-sm:clamp(13px,.82rem,14px);--fs-b:clamp(15px,.95rem + .1vw,17px);--fs-h4:clamp(18px,1.1rem + .3vw,21px);--fs-h3:clamp(22px,1.3rem + .6vw,28px);--fs-h2:clamp(34px,2rem + 2vw,52px);--fs-h1:clamp(42px,2.2rem + 4vw,88px);
--lh-tight:1.08;--lh-head:1.2;--lh-body:1.65;--tr-caps:.18em;--tr-eye:.32em}
body{font-size:var(--fs-b);line-height:var(--lh-body)}
.hero{padding:0 var(--gut)}.hero h1{font-size:var(--fs-h1);line-height:var(--lh-tight);margin:var(--s3) 0 var(--s5)}
h2{font-size:var(--fs-h2);line-height:var(--lh-head)}h3{font-size:var(--fs-h3);line-height:var(--lh-head)}.item h4,h4{font-size:var(--fs-h4);line-height:var(--lh-head)}
small,.note,.card span,footer,.ci{font-size:var(--fs-sm)}.eyebrow{font-size:var(--fs-xs);letter-spacing:var(--tr-eye)}
.links,.btn{letter-spacing:var(--tr-caps)}.links{gap:var(--s5)}.btn{font-size:var(--fs-xs);padding:var(--s3) var(--s5);margin-top:var(--s5)}
section{padding:var(--sec) var(--gut) var(--s7)}.sub{margin:var(--s2) auto var(--s6);max-width:640px}
.filters{margin:var(--s5) 0 var(--s6)}.filters button{margin:var(--s1)}
.grid{gap:var(--s3)}.card{margin-bottom:var(--s3)}.card span{padding:var(--s6) var(--s4) var(--s3)}
.shop{gap:var(--s5)}.item div.b{padding:var(--s4) var(--s4) var(--s5)}.item h4{margin-bottom:var(--s3)}
select,input,textarea{padding:var(--s3);margin-bottom:var(--s3)}.price{margin:var(--s1) 0 var(--s3)}
.about{gap:var(--s7)}.about p{margin-top:var(--s4)}.cart{padding:var(--s5)}.ci{padding:var(--s3) 0}.tot{margin-top:var(--s4)}.note{margin-top:var(--s3)}
footer{padding:var(--s7) var(--gut)}
@media(max-width:760px){h2{font-size:var(--fs-h2)}section{padding-top:var(--s8)}.links{gap:var(--s3)}.about{gap:var(--s5)}}
/* rooms */
.rooms{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--s5)}
.room{margin:0;overflow:hidden;background:#0d0f17;border:1px solid #1c2030}.room img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}
.room figcaption{padding:var(--s3) var(--s4);font-size:var(--fs-sm);color:#8a90a0;letter-spacing:.04em}

#returns.returns{max-width:640px;margin:0 auto;padding:2rem 1.5rem 3rem;text-align:center;opacity:.7;font-size:.85rem;line-height:1.6}
#returns h3{font-size:.8rem;letter-spacing:.15em;text-transform:uppercase;margin:0 0 .6rem;font-weight:500}
#returns p{margin:0}
footer a{color:inherit;opacity:.8}
html{scroll-behavior:smooth}
