/* TBI Hotels – shared styles */
:root{--k:#17120D;--b:#2A1B10;--g:#C99A3C;--g2:#E6B85C;--o:#D98235;--iv:#FFF9EF;--cr:#F7F0E4;--t:#28221C;--sf:"Playfair Display",Georgia,serif;--ss:Jost,system-ui,-apple-system,sans-serif}
*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;scroll-padding-top:80px}
body{font:400 16px/1.7 var(--ss);color:var(--t);background:var(--iv);overflow-x:hidden}
img{display:block;width:100%;height:100%;object-fit:cover;background:var(--b)}a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--g2);outline-offset:2px}
.wrap{width:min(1240px,92%);margin:auto}section{padding:clamp(56px,8vw,100px) 0}
.cr{background:var(--cr)}.dk{background:var(--k);color:#eadfc9}.dk h2,.dk h3{color:#fff}
h1,h2,h3{font-family:var(--sf);line-height:1.15}h2{font-size:clamp(1.9rem,4vw,3rem)}h3{font-size:1.45rem}
.sh{text-align:center;max-width:720px;margin:0 auto 46px}.sh .lb{color:var(--o);font-size:.78rem;letter-spacing:.3em;text-transform:uppercase;font-weight:500}
.sh h2{margin:.4rem 0}.sub{color:#7a6e5e}.dk .sub{color:#c9bca3}
.orn{display:block;width:90px;height:2px;margin:16px auto 0;background:linear-gradient(90deg,transparent,var(--g),transparent)}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:.8rem 1.6rem;background:linear-gradient(135deg,var(--g2),var(--o));color:var(--k);font-weight:500;font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;border:1px solid transparent;cursor:pointer;transition:filter .2s,transform .2s}
.btn:hover{filter:brightness(1.08);transform:translateY(-2px)}.btn.ol{background:transparent;border-color:var(--g);color:var(--g)}.dk .btn.ol,.hero .btn.ol{color:var(--g2)}
.btn.wa{background:#1f7a41;color:#fff}.bt{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}
.ph{position:relative;overflow:hidden;aspect-ratio:4/3;background:var(--b)}.ph.t{aspect-ratio:3/4}.ph.s{aspect-ratio:1}.ph.w{aspect-ratio:16/10}
.ph img{transition:transform .7s}a:hover>.ph img,.card:hover .ph img,figure:hover img{transform:scale(1.06)}
/* header */
#hdr{position:sticky;top:0;z-index:50;background:var(--k);border-bottom:2px solid var(--g);transition:box-shadow .3s}#hdr.sc{box-shadow:0 6px 24px rgba(0,0,0,.4)}
.nav{display:flex;align-items:center;justify-content:space-between;height:72px;gap:14px}
.logo{background:var(--iv);padding:3px 10px;display:block}.logo img{height:48px;width:auto;max-width:170px;object-fit:contain;background:none}
.nl{display:flex;gap:22px;align-items:center}.nl a{color:#e9dcc0;font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;padding:6px 0;border-bottom:2px solid transparent;transition:color .2s}
.nl a:hover,.nl a.on{color:var(--g2);border-color:var(--o)}.nl a.btn{color:var(--k);padding:.6rem 1.2rem;min-height:0;border:0}
.bg{display:none;background:none;border:1px solid var(--g);width:46px;height:46px;cursor:pointer}.bg i,.bg i::before,.bg i::after{display:block;width:20px;height:2px;background:var(--g2);margin:auto;position:relative;content:"";transition:transform .3s}.bg i::before{top:-7px;position:absolute;left:0}.bg i::after{top:7px;position:absolute;left:0}.bg i{position:relative}
/* hero */
.hero{position:relative;background:var(--k);color:#fff;overflow:hidden;isolation:isolate;padding:clamp(60px,9vw,120px) 0}
.hero>.bgi{position:absolute;inset:0;z-index:-2}.hero::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(100deg,rgba(23,18,13,.94),rgba(23,18,13,.7) 55%,rgba(23,18,13,.45))}
.hero .lb{color:var(--g2);letter-spacing:.3em;text-transform:uppercase;font-size:.78rem}.hero h1{font-size:clamp(2.4rem,6vw,4.9rem);margin:.6rem 0 1rem;font-weight:700}.hero h1 em{font-style:normal;color:var(--g2)}.hero h1 span{color:var(--o)}
.hero p.sub{color:#e9dcc0;max-width:50ch;font-size:1.08rem}.hl{display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:center}
.col{display:grid;grid-template-columns:1fr 1fr;gap:14px}.col .ph{border:2px solid var(--g);box-shadow:0 14px 30px rgba(0,0,0,.5)}.col .ph:nth-child(1){grid-row:span 2;aspect-ratio:auto;transform:rotate(-2deg)}.col .ph:nth-child(2){transform:rotate(2deg)}.col .ph:nth-child(3){transform:rotate(-1deg)}
.hero.in{padding:clamp(48px,7vw,90px) 0;text-align:center}.hero.in h1{font-size:clamp(2.2rem,5vw,3.8rem)}.hero.in .sub{margin:auto}
.up{animation:up 1s both}@keyframes up{from{opacity:0;transform:translateY(20px)}}
/* layouts */
.sp{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,5vw,70px);align-items:center}.sp .fr{border:1px solid var(--g);padding:12px;background:var(--iv)}
.ul{list-style:none;margin:16px 0}.ul li{padding:6px 0 6px 26px;position:relative}.ul li::before{content:"";position:absolute;left:3px;top:15px;width:8px;height:8px;background:var(--o);transform:rotate(45deg)}
.mz{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:210px;gap:12px}.mz figure{position:relative;overflow:hidden}.mz .ph{aspect-ratio:auto;height:100%}.mz .a{grid-row:span 2}.mz .b{grid-column:span 2}
figcaption{position:absolute;left:0;right:0;bottom:0;padding:30px 14px 10px;color:#fff;font-size:.82rem;letter-spacing:.1em;background:linear-gradient(transparent,rgba(23,18,13,.85))}
.g3{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}.g4{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.card{background:#fff;border:1px solid #eadfc9;transition:box-shadow .3s,transform .3s}.card:hover{box-shadow:0 14px 34px rgba(42,27,16,.15);transform:translateY(-4px)}
.rc{background:#fff;border:1px solid #e6d6b3;border-top:3px solid var(--g);display:flex;flex-direction:column}.rm{position:relative}.tag{position:absolute;top:12px;left:12px;background:var(--k);color:var(--g2);padding:.2rem .8rem;font-size:.72rem;letter-spacing:.08em}
.th{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;padding:4px 4px 0}.th .ph{aspect-ratio:4/3}.rb{padding:20px}.rb p{color:#6f6354;margin:.4rem 0}
.ml{list-style:none;display:flex;gap:6px 18px;flex-wrap:wrap;color:var(--o);font-size:.88rem;margin:8px 0}.tg{list-style:none;display:flex;flex-wrap:wrap;gap:6px}.tg li{background:var(--cr);border:1px solid #e6d6b3;padding:.1rem .7rem;font-size:.8rem}
.am{text-align:center;padding:30px 18px;border:1px solid #e6d6b3;background:#fff}.dk .am{background:rgba(255,255,255,.04);border-color:rgba(201,154,60,.4)}
.am svg{width:38px;height:38px;stroke:var(--o);fill:none;stroke-width:1.4;margin-bottom:10px}.am h3{font-size:1.2rem}.am p{font-size:.85rem;color:#7a6e5e}
.ex{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}.ex figure{position:relative;overflow:hidden;border:1px solid var(--g)}
.cb{padding:20px}.cb .lb{color:var(--o);font-size:.72rem;letter-spacing:.2em;text-transform:uppercase}.cb h3{margin:.3rem 0}.cb p{color:#6f6354;font-size:.94rem}.cb a.l{color:var(--o);font-weight:500;display:inline-block;margin-top:8px}
.book{position:relative;isolation:isolate;color:#fff;padding:clamp(60px,8vw,100px) 0}.book>.bgi{position:absolute;inset:0;z-index:-2}.book::before{content:"";position:absolute;inset:0;z-index:-1;background:rgba(23,18,13,.82)}
.bf{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;background:rgba(23,18,13,.7);border:1px solid var(--g);padding:clamp(18px,3vw,34px)}.f label{display:block;font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;color:var(--g2);margin-bottom:3px}
.f input,.f select,.f textarea{width:100%;min-height:46px;padding:.6rem .8rem;background:#fff;border:1px solid #d8c9a6;border-radius:0;color:var(--t)}.f.fw{grid-column:1/-1}.er{color:#ffb4a2;font-size:.78rem;min-height:1.1em}.bf small{grid-column:1/-1;color:#d9cdb2}
.page .bf,.cr .bf{background:#fff;border-color:#e6d6b3}.cr .f label,.page .f label{color:#7a5a14}.cr .er{color:#a32d1c}.cr .bf small{color:#7a6e5e}
.mp{position:relative;min-height:340px;background:#2A1B10;border:1px solid var(--g);overflow:hidden;display:flex;align-items:flex-end}.mp svg{position:absolute;inset:0;width:100%;height:100%}.mp .cp{position:relative;width:100%;background:var(--k);color:#fff;padding:16px;display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}
.cc{text-align:center;padding:30px 20px}.cc svg{width:32px;height:32px;stroke:var(--o);fill:none;stroke-width:1.4}.cc p{color:#6f6354;margin-bottom:12px}
.fq details{border-bottom:1px solid #e0d0ac;max-width:820px;margin:auto}.fq summary{list-style:none;cursor:pointer;padding:18px 36px 18px 0;font:500 1.2rem var(--sf);position:relative}.fq summary::-webkit-details-marker{display:none}.fq summary::after{content:"+";position:absolute;right:4px;color:var(--o);font-size:1.6rem;top:10px;transition:transform .3s}.fq details[open] summary::after{transform:rotate(45deg)}.fq p{padding-bottom:16px;color:#6f6354}
.ft{background:var(--k);color:#cdbfa3;padding:64px 0 24px;border-top:3px solid var(--g)}.fg{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.3fr;gap:36px}.ft h3{color:var(--g2);font-size:1.15rem;margin-bottom:10px}.ft li{list-style:none;margin:5px 0;font-size:.92rem}.ft a:hover{color:var(--g2)}
.ft .logo{display:inline-block;margin-bottom:12px}.cp2{margin-top:36px;padding-top:18px;border-top:1px solid #3a2e20;text-align:center;font-size:.82rem}
.fab{position:fixed;right:14px;bottom:14px;z-index:40;background:#1f7a41;color:#fff;border-radius:40px;padding:.8rem 1.2rem;font-size:.85rem;box-shadow:0 8px 22px rgba(0,0,0,.35)}
.fl{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-bottom:28px}.fl button{background:none;border:1px solid var(--g);color:var(--t);padding:.5rem 1.1rem;cursor:pointer;min-height:44px;font-size:.78rem;letter-spacing:.1em;text-transform:uppercase}.fl button[aria-pressed=true]{background:var(--k);color:var(--g2);border-color:var(--k)}
.ms{columns:3;column-gap:14px}.ms figure{break-inside:avoid;margin-bottom:14px;position:relative;overflow:hidden;cursor:pointer}.ms figcaption{opacity:0;transition:opacity .3s}.ms figure:hover figcaption{opacity:1}
#lb{position:fixed;inset:0;z-index:100;background:rgba(10,8,5,.95);display:none;align-items:center;justify-content:center;padding:20px}#lb.o{display:flex}#lb figure{max-width:92vw;text-align:center;color:#fff}#lb img{max-height:78vh;width:auto;max-width:100%;margin:auto;height:auto}
#lb button{position:absolute;width:48px;height:48px;background:rgba(255,255,255,.1);border:1px solid var(--g);color:#fff;font-size:1.6rem;cursor:pointer}#lb .x{top:14px;right:14px}#lb .p{left:12px;top:50%}#lb .n{right:12px;top:50%}
.bdg{display:inline-block;background:var(--o);color:#fff;padding:.2rem .9rem;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase}.nt{font-size:.8rem;color:#7a6e5e;font-style:italic}.dk .nt{color:#c9bca3}
.sw{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:8px}.sw .ph{aspect-ratio:4/3;cursor:pointer;border:2px solid transparent}.sw .ph.on{border-color:var(--o)}
@media(max-width:1000px){.nl{display:none;position:absolute;top:70px;left:0;right:0;background:var(--k);flex-direction:column;align-items:stretch;padding:12px 6%;border-bottom:2px solid var(--g);gap:2px}.nl.o{display:flex}.nl a{padding:12px 0;border-bottom:1px solid #3a2e20}.bg{display:block}.hl,.sp{grid-template-columns:1fr}.g3{grid-template-columns:1fr 1fr}.g4,.ex{grid-template-columns:repeat(2,1fr)}.mz{grid-template-columns:repeat(2,1fr)}.bf{grid-template-columns:1fr 1fr}.fg{grid-template-columns:1fr 1fr}.ms{columns:2}}
@media(max-width:600px){.g3,.bf,.fg{grid-template-columns:1fr}.mz{grid-auto-rows:150px}.logo img{height:42px;max-width:130px}.fab span{display:none}.col{grid-template-columns:1fr 1fr}.col .ph:nth-child(1){grid-row:auto;aspect-ratio:4/3}.f.fw{grid-column:auto}.ex{grid-template-columns:1fr 1fr}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
