:root{
    --black:#0c0c0b;
    --concrete:#2b2a27;
    --concrete-mid:#5a5750;
    --concrete-light:#a39e92;
    --bone:#ece7dc;
    --acid:#ff4d1f;
    --display:'Anton',sans-serif;
    --mono:'Space Mono',monospace;
  }
  *{margin:0;padding:0;box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{
    background:var(--bone);color:var(--black);font-family:var(--mono);
    font-size:0.95rem;overflow-x:hidden;
  }
  img{max-width:100%;display:block;}
  a{color:inherit;text-decoration:none;}
  button{font-family:var(--mono);cursor:pointer;border:none;background:none;}
  ::selection{background:var(--acid);color:var(--black);}
  h1,h2,h3{font-family:var(--display);text-transform:uppercase;letter-spacing:0.01em;line-height:0.95;}

  /* ---------------- NAV ---------------- */
  .nav{
    position:fixed;top:0;left:0;width:100%;z-index:600;
    background:var(--black);color:var(--bone);
    border-bottom:3px solid var(--acid);
  }
  .nav-main{
    display:flex;align-items:center;justify-content:space-between;
    padding:22px 5%;
  }
  .nav-logo{font-family:var(--display);font-size:1.6rem;letter-spacing:0.04em;}
  .nav-links{display:flex;gap:30px;align-items:center;}
  .nav-links a{
    font-size:0.74rem;letter-spacing:0.12em;text-transform:uppercase;
    border-bottom:2px solid transparent;padding-bottom:4px;transition:border-color .15s linear;
  }
  .nav-links a:hover{border-color:var(--acid);}
  .lang-toggle{
    border:2px solid var(--bone);color:var(--bone);padding:6px 12px;font-size:0.72rem;
    letter-spacing:0.08em;transition:background .15s linear,color .15s linear;
  }
  .lang-toggle:hover{background:var(--acid);color:var(--black);border-color:var(--acid);}
  .nav-burger{display:none;color:var(--bone);font-size:1.6rem;width:38px;height:38px;border:2px solid var(--bone);align-items:center;justify-content:center;}
  @media(max-width:880px){
    .nav-links{display:none;}
    .nav-burger{display:flex;}
  }
  .ticker{
    border-top:1px solid var(--concrete);overflow:hidden;white-space:nowrap;padding:8px 0;
  }
  .ticker-track{display:inline-block;animation:tick 22s linear infinite;font-size:0.7rem;letter-spacing:0.14em;color:var(--acid);}
  .ticker-track span{margin-right:50px;}
  @keyframes tick{from{transform:translateX(0);}to{transform:translateX(-50%);}}

  /* mobile overlay menu */
  .mobile-menu{
    position:fixed;inset:0;background:var(--black);z-index:900;
    display:flex;flex-direction:column;justify-content:center;padding:8% 8%;
    transform:translateY(-100%);transition:transform .35s cubic-bezier(.77,0,.18,1);
  }
  .mobile-menu.open{transform:translateY(0);}
  .mobile-menu a{
    font-family:var(--display);color:var(--bone);font-size:2.4rem;display:block;margin-bottom:18px;
    text-transform:uppercase;
  }
  .mobile-menu a:hover{color:var(--acid);}
  .mobile-close{
    position:absolute;top:24px;right:28px;color:var(--bone);font-size:2rem;border:2px solid var(--bone);
    width:44px;height:44px;display:flex;align-items:center;justify-content:center;
  }

  /* ---------------- REVEAL ---------------- */
  .reveal{clip-path:inset(0 100% 0 0);opacity:0;transition:clip-path .7s cubic-bezier(.77,0,.18,1), opacity .1s linear;}
  .reveal.in{clip-path:inset(0 0 0 0);opacity:1;}

  /* ---------------- HERO ---------------- */
  .hero{
    position:relative;min-height:100vh;background:var(--black);color:var(--bone);
    display:flex;flex-direction:column;justify-content:flex-end;padding:160px 5% 70px;
    overflow:hidden;
  }
  .hero-bg{position:absolute;inset:0;z-index:0;}
  .hero-bg img{width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.3) brightness(0.45);}
  .hero-bg::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(12,12,11,0.2),rgba(12,12,11,0.95));}
  .hero-content{position:relative;z-index:2;}
  .hero-coord{
    font-size:0.78rem;letter-spacing:0.18em;color:var(--acid);margin-bottom:18px;display:block;
  }
  .hero h1{
    font-size:clamp(3.4rem,11vw,9rem);clip-path:inset(0 100% 0 0);
    animation:wipeIn 1s cubic-bezier(.77,0,.18,1) .2s forwards;
  }
  @keyframes wipeIn{to{clip-path:inset(0 0 0 0);}}
  .hero-sub{
    margin-top:24px;max-width:560px;font-size:0.95rem;line-height:1.7;color:var(--concrete-light);
  }
  .hero-meta{
    display:flex;gap:50px;margin-top:50px;flex-wrap:wrap;border-top:1px solid var(--concrete);padding-top:24px;
  }
  .hero-meta div span{display:block;font-size:0.68rem;letter-spacing:0.1em;color:var(--concrete-light);margin-bottom:6px;}
  .hero-meta div strong{font-family:var(--display);font-size:1.3rem;color:var(--bone);}
  .hero-cursor{position:absolute;bottom:30px;right:5%;color:var(--acid);font-size:1.4rem;animation:blink 1s steps(1) infinite;z-index:2;}
  @keyframes blink{50%{opacity:0;}}

  /* ---------------- SECTION SHELLS ---------------- */
  section{padding:100px 5%;}
  .sec-head{max-width:740px;margin-bottom:64px;}
  .sec-tag{
    display:inline-block;font-size:0.72rem;letter-spacing:0.18em;text-transform:uppercase;
    color:var(--acid);border:1px solid var(--acid);padding:5px 12px;margin-bottom:20px;
  }
  .sec-head h2{font-size:clamp(2.2rem,5.4vw,4rem);}
  .sec-head p{margin-top:18px;font-size:0.92rem;line-height:1.7;color:var(--concrete-mid);max-width:560px;}

  /* ---------------- MANIFESTO ---------------- */
  .manifesto{
    background:var(--black);color:var(--bone);
    display:grid;grid-template-columns:1fr 1fr;gap:0;border-top:3px solid var(--acid);
  }
  .manifesto-text{padding:100px 6%;border-right:1px solid var(--concrete);}
  .manifesto-text .sec-tag{border-color:var(--acid);}
  .manifesto-text h2{font-size:clamp(2rem,4.4vw,3.2rem);margin-bottom:30px;}
  .manifesto-text p{font-size:0.95rem;line-height:1.85;color:var(--concrete-light);margin-bottom:18px;}
  .manifesto-img{position:relative;}
  .manifesto-img img{width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.2);min-height:420px;}
  @media(max-width:880px){
    .manifesto{grid-template-columns:1fr;}
    .manifesto-text{border-right:none;border-bottom:1px solid var(--concrete);padding:70px 6%;}
  }

  /* ---------------- ROOMS ---------------- */
  .rooms{background:var(--bone);}
  .rooms-grid{
    display:grid;grid-template-columns:repeat(3,1fr);gap:0;
    border-top:3px solid var(--black);border-left:3px solid var(--black);
  }
  .room-card{
    border-right:3px solid var(--black);border-bottom:3px solid var(--black);
    padding:0;background:var(--bone);transition:background .15s linear;
  }
  .room-img{height:230px;overflow:hidden;position:relative;}
  .room-img img{width:100%;height:100%;object-fit:cover;filter:grayscale(0.9) contrast(1.15);transition:filter .3s linear;}
  .room-card:hover .room-img img{filter:grayscale(0) contrast(1.05);}
  .room-num{
    position:absolute;top:14px;left:14px;background:var(--black);color:var(--acid);
    font-family:var(--display);font-size:0.95rem;padding:5px 12px;letter-spacing:0.04em;
  }
  .room-body{padding:24px 22px 28px;}
  .room-body h3{font-size:1.6rem;margin-bottom:14px;}
  .room-specs{
    font-size:0.74rem;display:grid;grid-template-columns:1fr 1fr;gap:8px 14px;
    border-top:1px solid var(--concrete-light);border-bottom:1px solid var(--concrete-light);
    padding:12px 0;margin-bottom:16px;color:var(--concrete-mid);
  }
  .room-specs strong{color:var(--black);display:block;font-size:0.78rem;}
  .room-price{font-family:var(--display);font-size:1.4rem;margin-bottom:18px;}
  .room-price span{font-family:var(--mono);font-size:0.7rem;color:var(--concrete-mid);text-transform:uppercase;}
  .room-btn{
    display:inline-block;border:2px solid var(--black);padding:10px 20px;font-size:0.72rem;
    letter-spacing:0.1em;text-transform:uppercase;transition:background .15s linear,color .15s linear;
  }
  .room-btn:hover{background:var(--black);color:var(--acid);}
  @media(max-width:980px){.rooms-grid{grid-template-columns:repeat(2,1fr);}}
  @media(max-width:620px){.rooms-grid{grid-template-columns:1fr;}}

  /* ---------------- GALLERY ---------------- */
  .gallery{background:var(--black);color:var(--bone);}
  .gallery-grid{
    display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:160px;gap:4px;
  }
  .gallery-item{position:relative;overflow:hidden;}
  .gallery-item img{width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.25);transition:transform .4s linear;}
  .gallery-item:hover img{transform:scale(1.04);}
  .gallery-item.span2{grid-column:span 2;}
  .gallery-item.row2{grid-row:span 2;}
  .gallery-cap{
    position:absolute;bottom:0;left:0;background:rgba(12,12,11,0.85);color:var(--acid);
    font-size:0.65rem;letter-spacing:0.1em;padding:6px 10px;text-transform:uppercase;
  }
  @media(max-width:780px){.gallery-grid{grid-template-columns:repeat(2,1fr);grid-auto-rows:140px;}.gallery-item.span2{grid-column:span 1;}}

  /* ---------------- AMENITIES ---------------- */
  .amenities-sec{background:var(--bone);}
  .amenity-row{
    display:flex;align-items:center;justify-content:space-between;padding:18px 0;
    border-bottom:2px solid var(--black);transition:background .12s linear,color .12s linear;cursor:pointer;
  }
  .amenity-row:hover{background:var(--black);color:var(--acid);}
  .amenity-left{display:flex;align-items:center;gap:20px;}
  .amenity-thumb{
    width:64px;height:64px;object-fit:cover;flex-shrink:0;
    filter:grayscale(1) contrast(1.2);transition:filter .25s linear;
  }
  .amenity-row:hover .amenity-thumb{filter:grayscale(0) contrast(1.05);}
  .amenity-num{font-family:var(--display);font-size:1.3rem;color:var(--acid);width:40px;flex-shrink:0;}
  .amenity-name{font-family:var(--display);font-size:1.3rem;text-transform:uppercase;}
  .amenity-row:hover .amenity-num{color:var(--bone);}
  .amenity-desc{font-size:0.78rem;color:var(--concrete-mid);max-width:260px;text-align:right;}
  .amenity-row:hover .amenity-desc{color:var(--bone);}
  @media(max-width:680px){.amenity-desc{display:none;}.amenity-thumb{width:48px;height:48px;}}

  /* ---------------- MAP ---------------- */
  .map-sec{background:var(--bone);}
  #map{height:480px;width:100%;border:3px solid var(--black);}
  .leaflet-tile-pane{filter:invert(1) hue-rotate(180deg) brightness(0.95) contrast(0.9);}
  .leaflet-popup-content{font-family:var(--mono);font-size:0.8rem;}
  .leaflet-popup-content strong{font-family:var(--display);font-size:1rem;}

  /* ---------------- RESERVE ---------------- */
  .reserve{background:var(--black);color:var(--bone);}
  .reserve-wrap{display:grid;grid-template-columns:0.8fr 1.2fr;gap:0;border:3px solid var(--concrete);}
  .reserve-info{padding:60px 50px;border-right:3px solid var(--concrete);}
  .reserve-info h2{font-size:clamp(2rem,4vw,2.8rem);margin-bottom:24px;}
  .reserve-info p{color:var(--concrete-light);line-height:1.8;font-size:0.92rem;margin-bottom:24px;}
  .reserve-detail{margin-bottom:14px;font-size:0.85rem;}
  .reserve-detail span{display:block;color:var(--acid);font-size:0.68rem;letter-spacing:0.12em;text-transform:uppercase;margin-bottom:4px;}
  .reserve-form{padding:60px 50px;}
  .form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px;}
  input,select,textarea{
    width:100%;background:transparent;border:2px solid var(--concrete);color:var(--bone);
    padding:13px 14px;font-family:var(--mono);font-size:0.85rem;outline:none;
    transition:border-color .15s linear;
  }
  input::placeholder,textarea::placeholder{color:var(--concrete-mid);}
  input:focus,select:focus,textarea:focus{border-color:var(--acid);}
  select option{color:#000;}
  textarea{resize:vertical;min-height:90px;margin-bottom:18px;}
  .submit-btn{
    width:100%;background:var(--acid);color:var(--black);padding:16px;font-family:var(--display);
    font-size:1rem;letter-spacing:0.04em;text-transform:uppercase;transition:background .15s linear;
  }
  .submit-btn:hover{background:var(--bone);}
  .form-success{display:none;margin-top:14px;font-size:0.82rem;color:var(--acid);}
  @media(max-width:880px){.reserve-wrap{grid-template-columns:1fr;}.reserve-info{border-right:none;border-bottom:3px solid var(--concrete);}.form-grid{grid-template-columns:1fr;}}

  /* ---------------- FOOTER ---------------- */
  footer{background:var(--black);color:var(--bone);padding:70px 5% 30px;border-top:3px solid var(--acid);}
  .foot-stamp{font-family:var(--display);font-size:clamp(2.6rem,9vw,6rem);line-height:0.9;letter-spacing:0.01em;}
  .foot-row{display:flex;justify-content:space-between;flex-wrap:wrap;gap:20px;margin-top:40px;border-top:1px solid var(--concrete);padding-top:24px;}
  .foot-links{display:flex;gap:24px;flex-wrap:wrap;}
  .foot-links a{font-size:0.72rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--concrete-light);}
  .foot-links a:hover{color:var(--acid);}
  .foot-copy{font-size:0.7rem;color:var(--concrete-mid);}

  /* ---------------- MODAL ---------------- */
  .modal-overlay{
    position:fixed;inset:0;background:rgba(12,12,11,0.94);z-index:1000;
    display:flex;align-items:center;justify-content:center;padding:24px;
    opacity:0;visibility:hidden;transition:opacity .25s linear;
  }
  .modal-overlay.active{opacity:1;visibility:visible;}
  .modal{
    background:var(--bone);max-width:960px;width:100%;max-height:88vh;overflow-y:auto;
    border:3px solid var(--black);position:relative;
  }
  .modal-close{
    position:absolute;top:16px;right:16px;z-index:10;background:var(--black);color:var(--acid);
    width:42px;height:42px;font-size:1.4rem;display:flex;align-items:center;justify-content:center;
    border:2px solid var(--acid);
  }
  .modal-grid{display:grid;grid-template-columns:1fr 1fr;}
  .modal-img{height:100%;min-height:380px;overflow:hidden;position:relative;}
  .modal-img img{width:100%;height:100%;object-fit:cover;filter:grayscale(0.6) contrast(1.1);}
  .room-gallery-nav{position:absolute;bottom:16px;left:16px;display:flex;gap:8px;z-index:5;}
  .room-gallery-arrow{
    width:38px;height:38px;background:var(--black);color:var(--acid);border:2px solid var(--acid);
    display:flex;align-items:center;justify-content:center;font-size:1.1rem;
    transition:background .15s linear,color .15s linear;
  }
  .room-gallery-arrow:hover{background:var(--acid);color:var(--black);}
  .room-gallery-dots{position:absolute;bottom:16px;right:16px;display:flex;gap:6px;z-index:5;}
  .room-gallery-dots span{width:8px;height:8px;background:rgba(236,231,220,0.45);}
  .room-gallery-dots span.active{background:var(--acid);}
  .modal-body{padding:44px 40px;}
  .modal-num{font-family:var(--display);color:var(--acid);font-size:1rem;margin-bottom:10px;display:block;}
  .modal-body h2{font-size:2.2rem;margin-bottom:18px;}
  .modal-specs{
    display:grid;grid-template-columns:1fr 1fr;gap:12px 20px;border-top:2px solid var(--black);
    border-bottom:2px solid var(--black);padding:18px 0;margin-bottom:22px;font-size:0.78rem;
  }
  .modal-specs strong{display:block;color:var(--black);font-family:var(--display);font-size:1.1rem;}
  .modal-specs span{color:var(--concrete-mid);text-transform:uppercase;letter-spacing:0.06em;}
  .modal-body p.desc{font-size:0.9rem;line-height:1.8;color:var(--concrete-mid);margin-bottom:24px;}
  .modal-amenities{margin-bottom:28px;}
  .modal-amenities div{
    font-size:0.82rem;padding:10px 0;border-bottom:1px solid var(--concrete-light);display:flex;gap:10px;
  }
  .modal-amenities div::before{content:'—';color:var(--acid);}
  .modal-cta{
    display:inline-block;background:var(--black);color:var(--acid);padding:14px 26px;
    font-family:var(--display);font-size:0.9rem;letter-spacing:0.04em;text-transform:uppercase;
    border:2px solid var(--black);transition:background .15s linear,color .15s linear;
  }
  .modal-cta:hover{background:var(--acid);color:var(--black);}
  @media(max-width:780px){.modal-grid{grid-template-columns:1fr;}.modal-img{min-height:240px;}.modal-body{padding:30px 26px;}}

  /* ---------------- TOAST ---------------- */
  .toast{
    position:fixed;bottom:26px;right:26px;background:var(--black);color:var(--acid);
    padding:16px 24px;z-index:1200;border:2px solid var(--acid);font-size:0.82rem;max-width:300px;
    transform:translateX(120%);transition:transform .3s cubic-bezier(.77,0,.18,1);
  }
  .toast.show{transform:translateX(0);}
#map-container {
  width: 100%;
  height: 400px; 
  background: #f0f0f0; 
}

footer {
  min-height: 200px; 
  width: 100%;
}


section#reserve {
  min-height: 500px; /
  width: 100%;
}
