@view-transition {
  navigation: auto;
}
:root{
  --forest:#1f3329;
  --gold:#b99a5b;
  --cream:#f6f1e7;
  --ink:#20241f;
}
*{margin:0;padding:0;box-sizing:border-box;}
body{
  font-family:'Jost',sans-serif;
  background:var(--cream);
  color:var(--ink);
  font-weight:300;
}
h1,h2,h3{font-family:'Cormorant Garamond',serif;font-weight:500;}
a{color:inherit;text-decoration:none;}
.wrap{max-width:1240px;margin:0 auto;padding:0 40px;}

header{
  position:sticky;top:0;z-index:20;background:var(--forest);padding:22px 0;
}
.nav{max-width:1240px;margin:0 auto;padding:0 40px;display:flex;justify-content:space-between;align-items:center;color:#fff;}
.logo{font-family:'Cormorant Garamond';font-size:1.5rem;letter-spacing:3px;text-transform:uppercase;}
.nav-links{display:flex;gap:30px;font-size:.85rem;letter-spacing:1px;text-transform:uppercase;align-items:center;}
.nav-links a{opacity:.85;transition:opacity .2s;}
.nav-links a.active,.nav-links a:hover{opacity:1;}
.lang-switch{display:flex;gap:6px;font-size:.78rem;letter-spacing:1px;}
.lang-switch span{opacity:.5;cursor:default;}
.lang-switch span.on{opacity:1;text-decoration:underline;text-underline-offset:3px;}
.nav-cta{border:1px solid #fff;padding:9px 22px;font-size:.8rem;letter-spacing:1px;text-transform:uppercase;transition:background .2s,color .2s;}
.nav-cta:hover{background:#fff;color:var(--forest);}

.page-hero{
  padding:90px 0 70px;text-align:center;background:var(--forest);color:#fff;
}
.page-hero span.eyebrow{color:var(--gold);letter-spacing:4px;text-transform:uppercase;font-size:.8rem;}
.page-hero h1{font-size:clamp(2.2rem,5.5vw,3.6rem);margin-top:18px;font-style:italic;}

.hero{
  height:92vh;min-height:600px;position:relative;
  background-image:url('https://picsum.photos/seed/nexo-hotel-hero/1800/1100');
  background-size:cover;background-position:center;
  display:flex;align-items:center;justify-content:center;text-align:center;color:#fff;
}
.hero::before{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,26,20,.35),rgba(20,26,20,.35) 50%,rgba(20,26,20,.7));}
.hero-inner{position:relative;z-index:2;}
.hero-inner span.eyebrow{letter-spacing:5px;text-transform:uppercase;font-size:.85rem;color:var(--gold);}
.hero h1{font-size:clamp(2.6rem,7vw,5.2rem);margin-top:22px;font-style:italic;line-height:1.1;}
.hero p{margin-top:22px;font-size:1.1rem;color:#e7e2d5;}

.intro{padding:110px 0 90px;text-align:center;}
.intro span.eyebrow{color:var(--gold);letter-spacing:3px;text-transform:uppercase;font-size:.85rem;}
.intro h2{font-size:clamp(1.8rem,3.8vw,2.6rem);max-width:740px;margin:20px auto 0;line-height:1.4;font-style:italic;}

.teaser-grid{display:grid;grid-template-columns:1fr 1fr;gap:2px;background:var(--gold);margin-bottom:80px;}
.teaser-card{background:var(--forest);color:#f1ede2;position:relative;min-height:360px;display:flex;align-items:flex-end;background-size:cover;background-position:center;}
.teaser-card::before{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(20,26,20,.85),rgba(20,26,20,.05) 60%);}
.teaser-copy{position:relative;z-index:2;padding:34px;}
.teaser-copy span{color:var(--gold);letter-spacing:2px;text-transform:uppercase;font-size:.78rem;}
.teaser-copy h3{font-size:1.5rem;margin-top:8px;}
.teaser-more{text-align:center;margin:-40px 0 90px;}
.link-line{border-bottom:1px solid var(--gold);color:var(--gold);padding-bottom:4px;font-size:.9rem;letter-spacing:1px;text-transform:uppercase;}

.loc-card{display:grid;grid-template-columns:1fr 1fr;margin-bottom:2px;min-height:420px;}
.loc-card:nth-child(even) .loc-img{order:2;}
.loc-img{background-size:cover;background-position:center;}
.loc-copy{background:var(--forest);color:#f1ede2;padding:70px 60px;display:flex;flex-direction:column;justify-content:center;}
.loc-copy span.tag{color:var(--gold);letter-spacing:2px;text-transform:uppercase;font-size:.8rem;}
.loc-copy h3{font-size:clamp(1.8rem,3vw,2.4rem);margin:14px 0 18px;}
.loc-copy p{color:#cdd3c8;line-height:1.8;max-width:420px;margin-bottom:24px;}

.restaurant{background:var(--ink);color:#f1ede2;padding:110px 0;}
.restaurant .wrap{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center;}
.restaurant span.eyebrow{color:var(--gold);letter-spacing:3px;text-transform:uppercase;font-size:.85rem;}
.restaurant h2{font-size:clamp(2rem,4vw,2.8rem);margin:18px 0 24px;font-style:italic;}
.restaurant p{color:#cdd3c8;line-height:1.8;margin-bottom:16px;max-width:480px;}
.restaurant-img{background-image:url('https://picsum.photos/seed/nexo-hotel-restaurant/800/950');background-size:cover;background-position:center;aspect-ratio:4/5;}

.press{background:var(--gold);padding:40px 0;}
.press .wrap{display:flex;justify-content:center;align-items:center;gap:50px;flex-wrap:wrap;}
.press span{font-family:'Cormorant Garamond';font-style:italic;font-size:1.25rem;color:var(--ink);}

.testimonial{padding:110px 40px;text-align:center;}
.testimonial blockquote{font-family:'Cormorant Garamond';font-style:italic;font-size:clamp(1.5rem,3.2vw,2.2rem);max-width:780px;margin:0 auto;line-height:1.5;}
.testimonial cite{display:block;margin-top:26px;letter-spacing:2px;text-transform:uppercase;font-size:.8rem;color:#6b6455;}

.contact-block{padding:100px 0;}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;}
.contact-grid h2{font-size:clamp(1.8rem,3.6vw,2.4rem);font-style:italic;margin-bottom:20px;}
.contact-grid p{color:#4a5044;line-height:1.8;margin-bottom:14px;}
.contact-card{background:#fff;border:1px solid #e6ded0;padding:40px;}
.contact-row{display:flex;justify-content:space-between;padding:14px 0;border-bottom:1px solid #eee6d6;font-size:.95rem;}
.contact-row:last-child{border-bottom:none;}
.contact-row span:first-child{color:#8a8571;}
.chat-note{margin-top:26px;padding:18px 22px;background:#f1ede2;font-size:.9rem;color:#5a5748;border-left:3px solid var(--gold);}

.cta{
  position:relative;padding:150px 40px;text-align:center;color:#fff;
  background-image:url('https://picsum.photos/seed/nexo-hotel-cta/1800/900');
  background-size:cover;background-position:center;
}
.cta::before{content:'';position:absolute;inset:0;background:rgba(20,26,20,.6);}
.cta-inner{position:relative;z-index:2;}
.cta h2{font-size:clamp(2.2rem,5vw,3.4rem);font-style:italic;margin-bottom:30px;}
.btn-outline-cream{display:inline-block;border:1px solid var(--cream);padding:16px 40px;letter-spacing:1px;text-transform:uppercase;font-size:.9rem;transition:background .2s,color .2s;}
.btn-outline-cream:hover{background:var(--cream);color:var(--ink);}

footer{background:var(--forest);color:#cdd3c8;padding:70px 0 40px;}
.footer-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:40px;margin-bottom:50px;}
.footer-grid h4{font-family:'Cormorant Garamond';color:var(--gold);font-size:1.2rem;margin-bottom:16px;}
.footer-grid p, .footer-grid a{display:block;font-size:.9rem;line-height:1.9;color:#b8bfaf;}
.footer-bottom{text-align:center;font-size:.8rem;color:#8a9080;border-top:1px solid rgba(255,255,255,.1);padding-top:26px;letter-spacing:1px;}

.chat-bubble{
  position:fixed;bottom:26px;right:26px;z-index:30;
  width:56px;height:56px;border-radius:50%;background:var(--gold);
  display:flex;align-items:center;justify-content:center;box-shadow:0 8px 24px rgba(0,0,0,.25);
  font-family:'Jost';color:var(--ink);cursor:pointer;transition:transform .2s;
}
.chat-bubble:hover{transform:scale(1.08);}

@media(max-width:900px){
  .nav-links{display:none;}
  .teaser-grid{grid-template-columns:1fr;}
  .loc-card{grid-template-columns:1fr;min-height:auto;}
  .loc-card:nth-child(even) .loc-img{order:0;}
  .loc-img{height:280px;}
  .loc-copy{padding:50px 32px;}
  .restaurant .wrap{grid-template-columns:1fr;}
  .contact-grid{grid-template-columns:1fr;}
  .press .wrap{gap:26px;}
  .footer-grid{grid-template-columns:1fr 1fr;}
}
