:root{
  --bg:#071618;
  --bg2:#0b2a2c;
  --card:#0e2124;
  --text:#e9f1f1;
  --muted:#a8c1c0;
  --line:rgba(255,255,255,.12);
  --accent:#b9e6a6;
  --accent2:#7fd6d2;
  --shadow: 0 18px 60px rgba(0,0,0,.45);
  --radius:18px;
  --container:1100px;
}

*{box-sizing:border-box}
html{color-scheme:dark; scroll-behavior:smooth}
body{
  margin:0;
  font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, Noto Sans, Arial, "Apple Color Emoji","Segoe UI Emoji";
  line-height:1.5;
  color:var(--text);
  background:
    radial-gradient(1200px 900px at 20% -10%, rgba(127,214,210,.18), transparent 60%),
    radial-gradient(900px 800px at 90% 0%, rgba(185,230,166,.14), transparent 55%),
    linear-gradient(180deg, var(--bg), var(--bg2));
}

a{color:inherit; text-decoration:none}
a:hover{text-decoration:underline}
img{max-width:100%; height:auto; display:block}

.container{
  width:min(var(--container), calc(100% - 2rem));
  margin-inline:auto;
}

.skip-link{
  position:absolute;
  left:-999px;
  top:1rem;
  background:#fff;
  color:#000;
  padding:.5rem .75rem;
  border-radius:12px;
}
.skip-link:focus{left:1rem; z-index:9999}

/* Header */
.site-header{
  position:sticky;
  top:0;
  z-index:50;
  background:rgba(7,22,24,.72);
  border-bottom:1px solid var(--line);
  backdrop-filter: blur(10px);
}
.header-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  padding:.85rem 0;
}
.brand{
  display:flex;
  align-items:center;
  gap:.7rem;
}
.brand-mark{
  width:36px; height:36px;
  border-radius:12px;
  background:
    radial-gradient(circle at 30% 30%, rgba(255,255,255,.35), transparent 45%),
    linear-gradient(135deg, var(--accent2), var(--accent));
  box-shadow: 0 14px 30px rgba(127,214,210,.18);
}
.brand-text{display:flex; flex-direction:column; line-height:1.05}
.brand-text strong{font-weight:800; letter-spacing:.2px}
.brand-text span{color:var(--muted); font-size:.95rem}

.nav{display:flex; align-items:center; gap:.75rem}
.nav-toggle{
  border:1px solid var(--line);
  background:rgba(255,255,255,.06);
  color:var(--text);
  border-radius:14px;
  padding:.55rem .75rem;
  font-weight:700;
}
.nav-links{
  display:none;
  position:absolute;
  right:1rem;
  top:3.7rem;
  width:min(320px, calc(100% - 2rem));
  background:rgba(14,33,36,.96);
  border:1px solid var(--line);
  border-radius:16px;
  box-shadow: var(--shadow);
  padding:.5rem;
}
.nav-links a{
  display:block;
  padding:.8rem .9rem;
  border-radius:12px;
  font-weight:700;
}
.nav-links a:hover{
  background:rgba(255,255,255,.06);
  text-decoration:none;
}
.nav-links[data-open="true"]{display:block}

@media (min-width: 860px){
  .nav-toggle{display:none}
  .nav-links{
    display:flex !important;
    position:static;
    background:transparent;
    border:none;
    box-shadow:none;
    width:auto;
    padding:0;
    gap:.25rem;
  }
  .nav-links a{padding:.55rem .7rem}
}

/* Hero */
.hero{padding:3.1rem 0 2.1rem}
.hero-grid{
  display:grid;
  gap:1.6rem;
  align-items:center;
}
.kicker{
  display:inline-flex;
  gap:.5rem;
  align-items:center;
  padding:.35rem .6rem;
  border:1px solid var(--line);
  border-radius:999px;
  color:var(--muted);
  background:rgba(255,255,255,.04);
  font-weight:700;
  font-size:.9rem;
}
.hero h1{
  margin:.6rem 0 .5rem;
  font-size:clamp(2rem, 4vw, 3.2rem);
  letter-spacing:-.02em;
  line-height:1.05;
}
.lead{color:#d9eeee; font-size:1.05rem}
.hero-actions{
  display:flex;
  gap:.75rem;
  flex-wrap:wrap;
  margin:1.15rem 0 1.2rem;
}
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.5rem;
  padding:.75rem 1rem;
  border-radius:16px;
  border:1px solid var(--line);
  font-weight:800;
}
.btn:hover{text-decoration:none; transform: translateY(-1px)}
.btn-primary{
  background:linear-gradient(135deg, var(--accent2), var(--accent));
  color:#031012;
  border-color: transparent;
  box-shadow: 0 18px 40px rgba(127,214,210,.18);
}
.btn-ghost{
  background:rgba(255,255,255,.05);
}
.hero-facts{
  margin:0;
  display:grid;
  gap:.8rem;
  padding:0;
}
.hero-facts > div{
  padding:.9rem 1rem;
  border:1px solid var(--line);
  border-radius:16px;
  background:rgba(255,255,255,.03);
}
.hero-facts dt{color:var(--muted); font-weight:800; font-size:.9rem}
.hero-facts dd{margin:.2rem 0 0; font-weight:700}
.muted{color:var(--muted)}

.hero-media{
  border-radius: var(--radius);
  overflow:hidden;
  border:1px solid var(--line);
  box-shadow: var(--shadow);
  background:rgba(255,255,255,.02);
}
.hero-media img{aspect-ratio: 4 / 3; object-fit: cover}
.hero-video{
  width:100%;
  height:100%;
  display:block;
  object-fit: cover;
  /* Default: desktop-ish ratio so hero doesn't get too tall */
  aspect-ratio: 4 / 3;
}

/* On mobile, keep the video vertical without making the page jumpy */
@media (max-width: 520px){
  .hero-video{aspect-ratio: 9 / 16;}
}

@media (min-width: 980px){
  .hero-grid{grid-template-columns: 1.05fr .95fr}
  .hero{padding:4.1rem 0 2.4rem}
}

/* Sections */
.section{padding:3rem 0}
.section-alt{
  background: linear-gradient(180deg, rgba(255,255,255,.03), transparent 55%);
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}
.section h2{
  margin:0 0 1rem;
  font-size:1.7rem;
  letter-spacing:-.01em;
}
.section-head{display:flex; flex-direction:column; gap:.25rem; margin-bottom:1rem}
.prose p{margin:.85rem 0}
.highlights{
  margin-top:1.4rem;
  display:grid;
  gap:1rem;
}
@media (min-width: 900px){
  .highlights{grid-template-columns: repeat(3, 1fr)}
}

.card{
  background:rgba(255,255,255,.03);
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding:1.05rem 1.05rem;
}
.card h3{margin:.1rem 0 .45rem; font-size:1.05rem}
.card p{margin:.45rem 0}

/* Gallery */
.gallery{
  display:grid;
  grid-template-columns: repeat(2, 1fr);
  gap:.75rem;
}
.tile{
  border-radius:16px;
  overflow:hidden;
  border:1px solid var(--line);
  background:rgba(255,255,255,.02);
}
.tile img{
  width:100%;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  transition: transform .25s ease;
}
.tile:hover img{transform: scale(1.03)}
@media (min-width: 820px){
  .gallery{grid-template-columns: repeat(4, 1fr)}
}

/* Tags */
.tags{
  display:flex;
  flex-wrap:wrap;
  gap:.55rem;
  margin-top:1rem;
}
.tag{
  display:inline-flex;
  padding:.4rem .6rem;
  border:1px solid var(--line);
  border-radius:999px;
  background:rgba(255,255,255,.03);
  font-weight:700;
  color:#dff2f2;
}

/* Prestations list (columns) */
.presta-list{
  margin:1rem 0 0;
  padding:1rem 1rem;
  border:1px solid var(--line);
  border-radius:var(--radius);
  background:rgba(255,255,255,.03);
  list-style:none;
  font-size:.95rem;
  line-height:1.35;
  columns: 1;
  column-gap: 1.2rem;
}
.presta-list li{
  break-inside: avoid;
  display:flex;
  align-items:flex-start;
  gap:.55rem;
  padding:.25rem 0;
  color:#dff2f2;
}
.presta-ico{
  flex:0 0 auto;
  width:18px;
  height:18px;
  margin-top:.08rem;
  position:relative;
}
.presta-ico::after{
  content:"";
  position:absolute;
  inset:0;
  background-color: rgba(185,230,166,.92);
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: center;
  -webkit-mask-size: contain;
  mask-repeat: no-repeat;
  mask-position: center;
  mask-size: contain;
  /* default icon = check (fallback) */
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M9.2 16.6 4.9 12.3l1.4-1.4 2.9 2.9 8.5-8.5 1.4 1.4z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M9.2 16.6 4.9 12.3l1.4-1.4 2.9 2.9 8.5-8.5 1.4 1.4z'/%3E%3C/svg%3E");
}

/* Icon overrides (SVG masks) */
.presta-ico[data-icon="vacuum"]::after{
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M7 4h8a2 2 0 0 1 2 2v4h-2V6H7v5a3 3 0 0 0 3 3h4v2H10a5 5 0 0 1-5-5V6a2 2 0 0 1 2-2zm10 7a2 2 0 1 1 0 4h-2v4h-2v-6a2 2 0 0 1 2-2z'/%3E%3C/svg%3E");
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M7 4h8a2 2 0 0 1 2 2v4h-2V6H7v5a3 3 0 0 0 3 3h4v2H10a5 5 0 0 1-5-5V6a2 2 0 0 1 2-2zm10 7a2 2 0 1 1 0 4h-2v4h-2v-6a2 2 0 0 1 2-2z'/%3E%3C/svg%3E");
}
.presta-ico[data-icon="balcony"]::after{
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M6 3h12v8H6V3zm2 2v4h8V5H8zM4 13h16v2H4v-2zm2 3h2v5H6v-5zm4 0h2v5h-2v-5zm4 0h2v5h-2v-5zm4 0h2v5h-2v-5z'/%3E%3C/svg%3E");
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M6 3h12v8H6V3zm2 2v4h8V5H8zM4 13h16v2H4v-2zm2 3h2v5H6v-5zm4 0h2v5h-2v-5zm4 0h2v5h-2v-5zm4 0h2v5h-2v-5z'/%3E%3C/svg%3E");
}
.presta-ico[data-icon="kettle"]::after{
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M6 8a4 4 0 0 1 4-4h5a3 3 0 0 1 3 3v1h1a3 3 0 0 1 0 6h-1a6 6 0 0 1-6 6H9a3 3 0 0 1-3-3V8zm12 2v2h1a1 1 0 0 0 0-2h-1zM8 8v9a1 1 0 0 0 1 1h3a4 4 0 0 0 4-4V7a1 1 0 0 0-1-1h-5a2 2 0 0 0-2 2z'/%3E%3C/svg%3E");
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M6 8a4 4 0 0 1 4-4h5a3 3 0 0 1 3 3v1h1a3 3 0 0 1 0 6h-1a6 6 0 0 1-6 6H9a3 3 0 0 1-3-3V8zm12 2v2h1a1 1 0 0 0 0-2h-1zM8 8v9a1 1 0 0 0 1 1h3a4 4 0 0 0 4-4V7a1 1 0 0 0-1-1h-5a2 2 0 0 0-2 2z'/%3E%3C/svg%3E");
}
.presta-ico[data-icon="coffee"]::after{
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M6 6h10v6a5 5 0 0 1-5 5H9a3 3 0 0 1-3-3V6zm12 2h1a3 3 0 0 1 0 6h-1v-2h1a1 1 0 0 0 0-2h-1V8zM6 19h12v2H6v-2z'/%3E%3C/svg%3E");
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M6 6h10v6a5 5 0 0 1-5 5H9a3 3 0 0 1-3-3V6zm12 2h1a3 3 0 0 1 0 6h-1v-2h1a1 1 0 0 0 0-2h-1V8zM6 19h12v2H6v-2z'/%3E%3C/svg%3E");
}
.presta-ico[data-icon="sofa"]::after{
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M7 10V8a3 3 0 0 1 3-3h4a3 3 0 0 1 3 3v2a2 2 0 0 1 2 2v5h-2v-1H5v1H3v-5a2 2 0 0 1 2-2h2zm2 0h6V8a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v2z'/%3E%3C/svg%3E");
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M7 10V8a3 3 0 0 1 3-3h4a3 3 0 0 1 3 3v2a2 2 0 0 1 2 2v5h-2v-1H5v1H3v-5a2 2 0 0 1 2-2h2zm2 0h6V8a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v2z'/%3E%3C/svg%3E");
}
.presta-ico[data-icon="canoe"]::after{
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M4 14c2.5 3 6 5 8 5s5.5-2 8-5l1.5 1.2C18.6 19 15 21 12 21s-6.6-2-9.5-5.8L4 14zm12.3-9.3 1.4 1.4-3 3 1 1-1.4 1.4-1-1-3 3-1.4-1.4 3-3-1-1L12.3 6l1 1 3-3z'/%3E%3C/svg%3E");
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M4 14c2.5 3 6 5 8 5s5.5-2 8-5l1.5 1.2C18.6 19 15 21 12 21s-6.6-2-9.5-5.8L4 14zm12.3-9.3 1.4 1.4-3 3 1 1-1.4 1.4-1-1-3 3-1.4-1.4 3-3-1-1L12.3 6l1 1 3-3z'/%3E%3C/svg%3E");
}
.presta-ico[data-icon="family"]::after{
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M9 11a3 3 0 1 1 0-6 3 3 0 0 1 0 6zm6 0a3 3 0 1 1 0-6 3 3 0 0 1 0 6zM4 20v-1a5 5 0 0 1 5-5h0a5 5 0 0 1 5 5v1H4zm10 0v-1a5 5 0 0 1 5-5h0a5 5 0 0 1 5 5v1h-2v-1a3 3 0 0 0-3-3h0a3 3 0 0 0-3 3v1h-2z'/%3E%3C/svg%3E");
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M9 11a3 3 0 1 1 0-6 3 3 0 0 1 0 6zm6 0a3 3 0 1 1 0-6 3 3 0 0 1 0 6zM4 20v-1a5 5 0 0 1 5-5h0a5 5 0 0 1 5 5v1H4zm10 0v-1a5 5 0 0 1 5-5h0a5 5 0 0 1 5 5v1h-2v-1a3 3 0 0 0-3-3h0a3 3 0 0 0-3 3v1h-2z'/%3E%3C/svg%3E");
}
.presta-ico[data-icon="heat"]::after{
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 2c2 3 2 5 0 7s-2 4 0 7c1.3 2 .7 4.5-1.5 6 4-.5 7.5-4 7.5-8 0-5-4-7-6-12zM8 4c1.5 2.2 1.5 3.8 0 5.2S6.5 12 8 14.2c.9 1.3.5 3-1 3.8 2.9-.4 5-2.9 5-6 0-3.7-2.8-5.3-4-8z'/%3E%3C/svg%3E");
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 2c2 3 2 5 0 7s-2 4 0 7c1.3 2 .7 4.5-1.5 6 4-.5 7.5-4 7.5-8 0-5-4-7-6-12zM8 4c1.5 2.2 1.5 3.8 0 5.2S6.5 12 8 14.2c.9 1.3.5 3-1 3.8 2.9-.4 5-2.9 5-6 0-3.7-2.8-5.3-4-8z'/%3E%3C/svg%3E");
}
.presta-ico[data-icon="ac"]::after{
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M11 2h2v6.1l3.2-3.2 1.4 1.4-4.6 4.6V12h2.1l4.6-4.6 1.4 1.4-3.2 3.2H22v2h-6.1l3.2 3.2-1.4 1.4-4.6-4.6H12v2.1l4.6 4.6-1.4 1.4L13 15.9V22h-2v-6.1l-3.2 3.2-1.4-1.4 4.6-4.6V12H8.9l-4.6 4.6-1.4-1.4L6.1 14H2v-2h6.1L4.9 8.8l1.4-1.4L11 12.1V10L6.4 5.4 7.8 4 11 7.2V2z'/%3E%3C/svg%3E");
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M11 2h2v6.1l3.2-3.2 1.4 1.4-4.6 4.6V12h2.1l4.6-4.6 1.4 1.4-3.2 3.2H22v2h-6.1l3.2 3.2-1.4 1.4-4.6-4.6H12v2.1l4.6 4.6-1.4 1.4L13 15.9V22h-2v-6.1l-3.2 3.2-1.4-1.4 4.6-4.6V12H8.9l-4.6 4.6-1.4-1.4L6.1 14H2v-2h6.1L4.9 8.8l1.4-1.4L11 12.1V10L6.4 5.4 7.8 4 11 7.2V2z'/%3E%3C/svg%3E");
}
.presta-ico[data-icon="kitchen"]::after{
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M6 3h12v2H6V3zm0 4h12v14H6V7zm2 2v10h8V9H8zm2 2h4v2h-4v-2z'/%3E%3C/svg%3E");
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M6 3h12v2H6V3zm0 4h12v14H6V7zm2 2v10h8V9H8zm2 2h4v2h-4v-2z'/%3E%3C/svg%3E");
}
.presta-ico[data-icon="freezer"]::after{
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M7 2h10v20H7V2zm2 2v6h6V4H9zm0 8v8h6v-8H9zm1 1h2v2h-2v-2zm0-8h2v2h-2V5z'/%3E%3C/svg%3E");
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M7 2h10v20H7V2zm2 2v6h6V4H9zm0 8v8h6v-8H9zm1 1h2v2h-2v-2zm0-8h2v2h-2V5z'/%3E%3C/svg%3E");
}
.presta-ico[data-icon="blanket"]::after{
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M6 5a3 3 0 0 1 3-3h9v14a6 6 0 0 1-6 6H6V5zm10 0H9a1 1 0 0 0-1 1v14h4a4 4 0 0 0 4-4V5z'/%3E%3C/svg%3E");
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M6 5a3 3 0 0 1 3-3h9v14a6 6 0 0 1-6 6H6V5zm10 0H9a1 1 0 0 0-1 1v14h4a4 4 0 0 0 4-4V5z'/%3E%3C/svg%3E");
}
.presta-ico[data-icon="satellite"]::after{
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M10 2h4v2h-4V2zm-3 4h10v2H7V6zm-1 4h12v8H6v-8zm2 2v4h8v-4H8zm-2 10h12v2H6v-2z'/%3E%3C/svg%3E");
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M10 2h4v2h-4V2zm-3 4h10v2H7V6zm-1 4h12v8H6v-8zm2 2v4h8v-4H8zm-2 10h12v2H6v-2z'/%3E%3C/svg%3E");
}
.presta-ico[data-icon="book"]::after{
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M6 3h10a3 3 0 0 1 3 3v14a3 3 0 0 0-3-3H6V3zm2 2v10h8V6a1 1 0 0 0-1-1H8zM5 19h11a4 4 0 0 1 3 1v1H6a1 1 0 0 1-1-1v-1z'/%3E%3C/svg%3E");
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M6 3h10a3 3 0 0 1 3 3v14a3 3 0 0 0-3-3H6V3zm2 2v10h8V6a1 1 0 0 0-1-1H8zM5 19h11a4 4 0 0 1 3 1v1H6a1 1 0 0 1-1-1v-1z'/%3E%3C/svg%3E");
}
.presta-ico[data-icon="shower"]::after{
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M7 4a5 5 0 0 1 10 0v2h-2V4a3 3 0 0 0-6 0v2H7V4zm-2 5h14v2H5V9zm2 4h2v2H7v-2zm4 0h2v2h-2v-2zm4 0h2v2h-2v-2zm-8 4h2v2H7v-2zm4 0h2v2h-2v-2zm4 0h2v2h-2v-2z'/%3E%3C/svg%3E");
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M7 4a5 5 0 0 1 10 0v2h-2V4a3 3 0 0 0-6 0v2H7V4zm-2 5h14v2H5V9zm2 4h2v2H7v-2zm4 0h2v2h-2v-2zm4 0h2v2h-2v-2zm-8 4h2v2H7v-2zm4 0h2v2h-2v-2zm4 0h2v2h-2v-2z'/%3E%3C/svg%3E");
}
.presta-ico[data-icon="sheets"]::after{
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M6 4h12v16H6V4zm2 2v2h8V6H8zm0 4v8h8v-8H8z'/%3E%3C/svg%3E");
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M6 4h12v16H6V4zm2 2v2h8V6H8zm0 4v8h8v-8H8z'/%3E%3C/svg%3E");
}
.presta-ico[data-icon="door"]::after{
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M8 3h10v18H8l-2 1V4l2-1zm2 2v14h6V5h-6zm4 7h1v2h-1v-2z'/%3E%3C/svg%3E");
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M8 3h10v18H8l-2 1V4l2-1zm2 2v14h6V5h-6zm4 7h1v2h-1v-2z'/%3E%3C/svg%3E");
}
.presta-ico[data-icon="hood"]::after{
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M7 4h10l2 6v2H5v-2l2-6zm1.4 2L7.1 10h9.8L15.6 6H8.4zM6 14h12v6H6v-6zm2 2v2h8v-2H8z'/%3E%3C/svg%3E");
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M7 4h10l2 6v2H5v-2l2-6zm1.4 2L7.1 10h9.8L15.6 6H8.4zM6 14h12v6H6v-6zm2 2v2h8v-2H8z'/%3E%3C/svg%3E");
}
.presta-ico[data-icon="info"]::after{
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 2a10 10 0 1 0 0 20 10 10 0 0 0 0-20zm1 15h-2v-6h2v6zm0-8h-2V7h2v2z'/%3E%3C/svg%3E");
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 2a10 10 0 1 0 0 20 10 10 0 0 0 0-20zm1 15h-2v-6h2v6zm0-8h-2V7h2v2z'/%3E%3C/svg%3E");
}
.presta-ico[data-icon="garden"]::after{
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 21v-7c-3.9 0-7-2.7-7-6 3 0 5.5 1.3 7 3.3C13.5 9.3 16 8 19 8c0 3.3-3.1 6-7 6v7h-2z'/%3E%3C/svg%3E");
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 21v-7c-3.9 0-7-2.7-7-6 3 0 5.5 1.3 7 3.3C13.5 9.3 16 8 19 8c0 3.3-3.1 6-7 6v7h-2z'/%3E%3C/svg%3E");
}
.presta-ico[data-icon="washer"]::after{
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M6 2h12v20H6V2zm2 2v2h8V4H8zm4 4a6 6 0 1 0 0 12 6 6 0 0 0 0-12zm0 2a4 4 0 1 1 0 8 4 4 0 0 1 0-8z'/%3E%3C/svg%3E");
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M6 2h12v20H6V2zm2 2v2h8V4H8zm4 4a6 6 0 1 0 0 12 6 6 0 0 0 0-12zm0 2a4 4 0 1 1 0 8 4 4 0 0 1 0-8z'/%3E%3C/svg%3E");
}
.presta-ico[data-icon="dishwasher"]::after{
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M7 2h10v20H7V2zm2 2v2h6V4H9zm3 5a5 5 0 1 0 0 10 5 5 0 0 0 0-10zm0 2a3 3 0 1 1 0 6 3 3 0 0 1 0-6z'/%3E%3C/svg%3E");
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M7 2h10v20H7V2zm2 2v2h6V4H9zm3 5a5 5 0 1 0 0 10 5 5 0 0 0 0-10zm0 2a3 3 0 1 1 0 6 3 3 0 0 1 0-6z'/%3E%3C/svg%3E");
}
.presta-ico[data-icon="bed"]::after{
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M4 10a3 3 0 0 1 3-3h10a3 3 0 0 1 3 3v7h-2v-2H6v2H4v-7zm2 3h12v-3a1 1 0 0 0-1-1H7a1 1 0 0 0-1 1v3z'/%3E%3C/svg%3E");
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M4 10a3 3 0 0 1 3-3h10a3 3 0 0 1 3 3v7h-2v-2H6v2H4v-7zm2 3h12v-3a1 1 0 0 0-1-1H7a1 1 0 0 0-1 1v3z'/%3E%3C/svg%3E");
}
.presta-ico[data-icon="microwave"]::after{
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M3 6h18v12H3V6zm2 2v8h10V8H5zm12 0h2v2h-2V8zm0 3h2v2h-2v-2zm0 3h2v2h-2v-2z'/%3E%3C/svg%3E");
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M3 6h18v12H3V6zm2 2v8h10V8H5zm12 0h2v2h-2V8zm0 3h2v2h-2v-2zm0 3h2v2h-2v-2z'/%3E%3C/svg%3E");
}
.presta-ico[data-icon="hike"]::after{
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M14 5a2 2 0 1 1-4 0 2 2 0 0 1 4 0zM7 22l2-7-2-2 2-3 3 2 3-2 2 3-2 2 2 7h-2l-1.5-5.5L12 18l-1.5-1.5L9 22H7z'/%3E%3C/svg%3E");
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M14 5a2 2 0 1 1-4 0 2 2 0 0 1 4 0zM7 22l2-7-2-2 2-3 3 2 3-2 2 3-2 2 2 7h-2l-1.5-5.5L12 18l-1.5-1.5L9 22H7z'/%3E%3C/svg%3E");
}
.presta-ico[data-icon="relax"]::after{
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 3c3 2 4 4.5 4 7.2 0 2.6-1.3 4.8-4 6.8-2.7-2-4-4.2-4-6.8C8 7.5 9 5 12 3zm-7 18c3-2 5-3 7-3s4 1 7 3H5z'/%3E%3C/svg%3E");
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 3c3 2 4 4.5 4 7.2 0 2.6-1.3 4.8-4 6.8-2.7-2-4-4.2-4-6.8C8 7.5 9 5 12 3zm-7 18c3-2 5-3 7-3s4 1 7 3H5z'/%3E%3C/svg%3E");
}
.presta-ico[data-icon="bath"]::after{
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M7 6a3 3 0 0 1 3-3h1v2h-1a1 1 0 0 0-1 1v3H7V6zm-3 6h17v2H4v-2zm2 3h13a4 4 0 0 1-4 4H10a4 4 0 0 1-4-4zm1 4h2v2H7v-2zm10 0h2v2h-2v-2z'/%3E%3C/svg%3E");
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M7 6a3 3 0 0 1 3-3h1v2h-1a1 1 0 0 0-1 1v3H7V6zm-3 6h17v2H4v-2zm2 3h13a4 4 0 0 1-4 4H10a4 4 0 0 1-4-4zm1 4h2v2H7v-2zm10 0h2v2h-2v-2z'/%3E%3C/svg%3E");
}
.presta-ico[data-icon="living"]::after{
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M6 11a3 3 0 0 1 3-3h6a3 3 0 0 1 3 3v7h-2v-2H8v2H6v-7zm2 3h8v-3a1 1 0 0 0-1-1H9a1 1 0 0 0-1 1v3z'/%3E%3C/svg%3E");
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M6 11a3 3 0 0 1 3-3h6a3 3 0 0 1 3 3v7h-2v-2H8v2H6v-7zm2 3h8v-3a1 1 0 0 0-1-1H9a1 1 0 0 0-1 1v3z'/%3E%3C/svg%3E");
}
.presta-ico[data-icon="tv"]::after{
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M4 6h16v10H4V6zm2 2v6h12V8H6zm4 10h4v2h-4v-2z'/%3E%3C/svg%3E");
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M4 6h16v10H4V6zm2 2v6h12V8H6zm4 10h4v2h-4v-2z'/%3E%3C/svg%3E");
}
.presta-ico[data-icon="water"]::after{
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 2c3 5 6 8 6 12a6 6 0 0 1-12 0c0-4 3-7 6-12zm0 6c-2 3-4 5-4 7a4 4 0 0 0 8 0c0-2-2-4-4-7z'/%3E%3C/svg%3E");
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 2c3 5 6 8 6 12a6 6 0 0 1-12 0c0-4 3-7 6-12zm0 6c-2 3-4 5-4 7a4 4 0 0 0 8 0c0-2-2-4-4-7z'/%3E%3C/svg%3E");
}
.presta-ico[data-icon="dining"]::after{
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M7 2h2v9a2 2 0 0 1-2 2H6v9H4V13H3a2 2 0 0 1-2-2V2h2v8h1V2h2v8h1V2zm11 0h2v7a3 3 0 0 1-3 3v10h-2V12a3 3 0 0 1-3-3V2h2v7a1 1 0 0 0 2 0V2z'/%3E%3C/svg%3E");
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M7 2h2v9a2 2 0 0 1-2 2H6v9H4V13H3a2 2 0 0 1-2-2V2h2v8h1V2h2v8h1V2zm11 0h2v7a3 3 0 0 1-3 3v10h-2V12a3 3 0 0 1-3-3V2h2v7a1 1 0 0 0 2 0V2z'/%3E%3C/svg%3E");
}
.presta-ico[data-icon="terrace"]::after{
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M4 4h16v2H4V4zm2 4h12v2H6V8zm1 3h2v9H7v-9zm4 0h2v9h-2v-9zm4 0h2v9h-2v-9zm4 0h2v9h-2v-9z'/%3E%3C/svg%3E");
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M4 4h16v2H4V4zm2 4h12v2H6V8zm1 3h2v9H7v-9zm4 0h2v9h-2v-9zm4 0h2v9h-2v-9zm4 0h2v9h-2v-9z'/%3E%3C/svg%3E");
}
.presta-ico[data-icon="veranda"]::after{
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M4 10 12 4l8 6v10h-3v-6H7v6H4V10zm5 2h6v-1a3 3 0 0 0-6 0v1z'/%3E%3C/svg%3E");
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M4 10 12 4l8 6v10h-3v-6H7v6H4V10zm5 2h6v-1a3 3 0 0 0-6 0v1z'/%3E%3C/svg%3E");
}

@media (min-width: 720px){
  .presta-list{columns: 2; font-size:.92rem}
}
@media (min-width: 1040px){
  .presta-list{columns: 3}
}

/* Split / lists */
.split{display:grid; gap:1rem}
@media (min-width: 900px){
  .split{grid-template-columns: 1fr 1fr}
}
.list{margin:.6rem 0 0; padding-left:1.2rem}
.list li{margin:.35rem 0}

.actions{margin-top:1rem}

/* Contact */
.contact-grid{display:grid; gap:1rem; margin-top:1rem}
@media (min-width: 900px){
  .contact-grid{grid-template-columns: 1fr 1fr}
}
.contact-line{margin:.35rem 0}
.contact-link{
  font-size:1.25rem;
  font-weight:900;
  letter-spacing:.2px;
}

/* Footer */
.site-footer{
  border-top:1px solid var(--line);
  padding:1.8rem 0;
}
.footer-inner{
  display:flex;
  flex-direction:column;
  gap:.25rem;
  font-weight:700;
}

/* Floating call button */
.call-fab{
  position:fixed;
  right:1rem;
  bottom:1rem;
  z-index:60;
  background: linear-gradient(135deg, var(--accent2), var(--accent));
  color:#031012;
  border-radius:999px;
  padding:.8rem 1rem;
  font-weight:950;
  border:1px solid rgba(0,0,0,.06);
  box-shadow: 0 18px 50px rgba(0,0,0,.4);
}
@media (min-width: 860px){
  .call-fab{display:none}
}

/* Lightbox */
.lightbox{
  border:none;
  padding:0;
  width:min(980px, calc(100% - 1.5rem));
  border-radius:18px;
  overflow:hidden;
  background:rgba(10,20,22,.96);
  color:var(--text);
  box-shadow: var(--shadow);
  position:fixed;
  inset:0;
  margin:auto;
}
.lightbox::backdrop{background:rgba(0,0,0,.7)}
.lightbox img{width:100%; height:auto; max-height: 82vh; object-fit: contain; background:#000; touch-action: pan-y;}
.lightbox-close{
  position:absolute;
  right:.8rem;
  top:.8rem;
  border:1px solid var(--line);
  background:rgba(255,255,255,.07);
  color:var(--text);
  border-radius:999px;
  padding:.5rem .75rem;
  font-weight:900;
}

.lightbox-nav{
  position:absolute;
  top:50%;
  transform: translateY(-50%);
  border:1px solid var(--line);
  background:rgba(255,255,255,.07);
  color:var(--text);
  border-radius:999px;
  padding:.55rem .75rem;
  font-weight:900;
  backdrop-filter: blur(8px);
}
.lightbox-prev{left:.8rem}
.lightbox-next{right:.8rem}
.lightbox-nav:focus{outline:2px solid rgba(185,230,166,.55); outline-offset:2px}

.lightbox-meta{
  position:absolute;
  left:.8rem;
  bottom:.8rem;
  padding:.35rem .55rem;
  border-radius:999px;
  border:1px solid var(--line);
  background:rgba(0,0,0,.35);
  font-weight:800;
}

@media (max-width: 520px){
  .lightbox-nav{display:none}
}

/* Prevent background scroll jump when lightbox is open (JS toggles body styles) */
body.modal-locked{
  overflow:hidden;
}


