:root{--ink:#17211f;--muted:#5f6b67;--paper:#fbfaf7;--sand:#f2eee6;--line:#dcd6cc;--accent:#a15f45;--max:1260px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;line-height:1.65}img{display:block;max-width:100%;height:auto}a{color:inherit}.container{width:min(var(--max),calc(100% - 64px));margin:auto}
header{position:sticky;top:0;z-index:20;background:rgba(251,250,247,.94);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}.nav{min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:30px}.brand{text-decoration:none;display:flex;flex-direction:column;line-height:1}.brand strong{font:400 24px Georgia,serif}.brand span{margin-top:7px;font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}nav{display:flex;gap:26px;align-items:center}nav a{text-decoration:none;font-size:12px;letter-spacing:.11em;text-transform:uppercase;font-weight:700}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 21px;border:1px solid var(--ink);text-decoration:none;font-size:11px;letter-spacing:.12em;text-transform:uppercase;font-weight:800}.btn-dark{background:var(--ink);color:#fff}.btn-light{border-color:#fff;color:#fff}
.hero{padding:66px 0 44px}.hero-grid{display:grid;grid-template-columns:.83fr 1.17fr;gap:62px;align-items:center}.eyebrow,.kicker{display:block;text-transform:uppercase;letter-spacing:.2em;font-size:11px;font-weight:800;color:var(--accent);margin-bottom:20px}h1,h2,h3{font-family:Georgia,serif;font-weight:400;line-height:1.08;margin-top:0}h1{font-size:clamp(54px,6.5vw,94px);letter-spacing:-.045em;margin-bottom:26px}h2{font-size:clamp(38px,4.2vw,62px);letter-spacing:-.035em;margin-bottom:24px}h3{font-size:27px}.hero p,.lead{font-size:21px;color:var(--muted)}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}.hero-photo{border:1px solid var(--line);padding:12px;background:#fff}.hero-photo img{width:100%;height:auto}
.facts{background:var(--ink);color:#fff}.facts-grid{display:grid;grid-template-columns:repeat(6,1fr)}.fact{padding:24px 10px;text-align:center;border-right:1px solid rgba(255,255,255,.12)}.fact:last-child{border:0}.fact strong{display:block;font:400 27px Georgia,serif}.fact span{display:block;margin-top:5px;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.68)}
section{padding:100px 0}.alt{background:var(--sand)}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:center}.copy p{font-size:17px;color:#3e4a46}.figure{margin:0}.figure img{width:100%;height:auto}.figure figcaption{margin-top:10px;font-size:12px;color:var(--muted)}.note{padding:22px 24px;border-left:2px solid var(--accent);background:#fff;margin-top:26px}.features{display:grid;grid-template-columns:1fr 1fr;gap:10px 24px;padding:0;list-style:none}.features li{border-bottom:1px solid var(--line);padding:0 0 9px}.features li:before{content:'—';color:var(--accent);margin-right:8px}
.editorial{display:grid;grid-template-columns:1.15fr .85fr;gap:24px;align-items:start}.stack{display:grid;gap:24px}.caption-card{background:#fff;border:1px solid var(--line);padding:28px}.caption-card p{color:var(--muted)}
.rooms{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.room{background:#fff;border:1px solid var(--line)}.room img{width:100%;height:auto}.room-body{padding:24px}.room-body p{color:var(--muted)}
.cta{background:var(--ink);color:#fff;padding:52px 58px;display:flex;align-items:center;justify-content:space-between;gap:30px}.cta p{color:rgba(255,255,255,.72);max-width:650px}.cta h2{font-size:45px;margin-bottom:12px}
footer{background:#0c1513;color:#e9efec;padding:54px 0 24px}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:50px}footer p,footer small{color:rgba(233,239,236,.62)}footer a{text-decoration:none}footer small{display:block;margin-top:34px;padding-top:18px;border-top:1px solid rgba(255,255,255,.12)}
@media(max-width:900px){nav{display:none}.hero-grid,.grid-2,.editorial{grid-template-columns:1fr}.hero-grid{gap:36px}.facts-grid{grid-template-columns:repeat(3,1fr)}.rooms{grid-template-columns:1fr 1fr}.footer-grid{grid-template-columns:1fr}.cta{flex-direction:column;align-items:flex-start}}
@media(max-width:600px){.container{width:min(var(--max),calc(100% - 28px))}.hero{padding-top:40px}h1{font-size:50px}section{padding:70px 0}.facts-grid{grid-template-columns:repeat(2,1fr)}.rooms{grid-template-columns:1fr}.features{grid-template-columns:1fr}.cta{padding:34px 26px}.cta h2{font-size:36px}}

/* Pages intérieures contrôlées */
.page-hero{padding:82px 0 58px;background:var(--sand);border-bottom:1px solid var(--line)}
.page-hero h1{max-width:980px}
.breadcrumb{font-size:11px;letter-spacing:.11em;text-transform:uppercase;color:var(--muted);margin-bottom:22px}
.breadcrumb a{text-decoration:none}
.intro-grid{display:grid;grid-template-columns:.88fr 1.12fr;gap:70px;align-items:start}
.summary-box{border:1px solid var(--line);background:#fff;padding:30px}
.summary-box dl{display:grid;grid-template-columns:1fr 1fr;margin:0}
.summary-box dt,.summary-box dd{padding:12px 0;border-bottom:1px solid var(--line);margin:0}
.summary-box dt{color:var(--muted)}
.summary-box dd{text-align:right;font-weight:700}
.floor{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}
.floor+.floor{margin-top:92px}
.floor.reverse .floor-copy{order:-1}
.floor-gallery{display:grid;grid-template-columns:1fr 1fr;gap:14px;align-items:start}
.floor-gallery figure{margin:0}
.floor-gallery figure:first-child{grid-column:1/-1}
.floor-gallery img{width:100%;height:auto}
.floor-copy p{color:#3e4a46}
.equipment-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.equipment-card{border-top:2px solid var(--accent);padding:24px 0 0}
.equipment-card p{color:var(--muted)}
.faq-list details{padding:21px 0;border-bottom:1px solid var(--line)}
.faq-list summary{cursor:pointer;font:400 23px Georgia,serif}
.faq-list p{max-width:850px;color:var(--muted)}
.gallery-head{display:flex;justify-content:space-between;gap:30px;align-items:end;margin-bottom:34px}
.gallery-masonry{columns:3 300px;column-gap:16px}
.gallery-masonry a{display:block;break-inside:avoid;margin:0 0 16px;background:#fff;border:1px solid var(--line);padding:7px;cursor:zoom-in}
.gallery-masonry img{width:100%;height:auto}
.lightbox{position:fixed;inset:0;background:rgba(5,10,9,.96);z-index:100;display:none;align-items:center;justify-content:center;padding:65px 85px 30px}
.lightbox.open{display:flex}
.lightbox figure{margin:0;text-align:center}
.lightbox img{max-width:100%;max-height:calc(100vh - 120px);width:auto;height:auto}
.lightbox figcaption{margin-top:10px;color:rgba(255,255,255,.7);font-size:12px}
.lightbox button{position:absolute;width:48px;height:48px;border:1px solid rgba(255,255,255,.35);border-radius:50%;background:rgba(255,255,255,.07);color:#fff;font-size:24px;cursor:pointer}
.lb-prev{left:20px}.lb-next{right:20px}.lb-close{right:20px;top:16px}
.lb-count{position:absolute;left:22px;top:30px;color:rgba(255,255,255,.65);font-size:11px;letter-spacing:.12em}
.current-nav{color:var(--accent)}
@media(max-width:900px){
 .intro-grid,.floor{grid-template-columns:1fr}.floor.reverse .floor-copy{order:initial}
 .equipment-grid{grid-template-columns:1fr 1fr}.gallery-head{align-items:flex-start;flex-direction:column}
}
@media(max-width:600px){
 .page-hero{padding:55px 0 42px}.summary-box dl{grid-template-columns:1fr}.summary-box dd{text-align:left;padding-top:0}
 .floor-gallery{grid-template-columns:1fr}.floor-gallery figure:first-child{grid-column:auto}
 .equipment-grid{grid-template-columns:1fr}.lightbox{padding:70px 10px 20px}.lb-prev{left:6px}.lb-next{right:6px}.lb-close{right:6px;top:8px}
}

.gallery-section+.gallery-section{margin-top:82px}
.gallery-section-head{display:grid;grid-template-columns:.35fr .65fr;gap:50px;align-items:end;margin-bottom:26px;padding-bottom:18px;border-bottom:1px solid var(--line)}
.gallery-section-head p{margin:0;color:var(--muted)}
.gallery-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;align-items:start}
.gallery-row a{display:block;background:#fff;border:1px solid var(--line);padding:7px;cursor:zoom-in}
.gallery-row img{width:100%;height:auto}
@media(max-width:900px){.gallery-section-head{grid-template-columns:1fr;gap:8px}.gallery-row{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.gallery-row{grid-template-columns:1fr}.gallery-section+.gallery-section{margin-top:58px}}

.topic-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.topic-card{border:1px solid var(--line);background:#fff}.topic-card img{width:100%;height:auto}.topic-card div{padding:25px}.topic-card p{color:var(--muted)}
.editorial{max-width:880px}.editorial h2{margin-top:55px}.editorial h3{margin-top:35px}.editorial p{color:#3e4a46}.quick-links{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}.quick-links a{border:1px solid var(--line);padding:10px 14px;text-decoration:none;font-size:12px}
.booking-duo{display:flex;gap:12px;flex-wrap:wrap}.booking-duo .btn{min-width:190px}
@media(max-width:800px){.topic-grid{grid-template-columns:1fr}.booking-duo{width:100%}.booking-duo .btn{flex:1}}


/* ===== V7 FTP / CACHE / LAYOUT FIX ===== */
html, body { width: 100%; max-width: 100%; overflow-x: hidden; }
.container { width: min(var(--max), calc(100% - 48px)); max-width: var(--max); }
.nav { width: 100%; min-width: 0; }
.brand { flex: 0 0 auto; min-width: 220px; }
.main-nav {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 16px;
  min-width: 0;
  flex: 1 1 auto;
  white-space: nowrap;
}
.main-nav > a:not(.btn) {
  text-decoration: none;
  font-size: 11px;
  letter-spacing: .075em;
  text-transform: uppercase;
  font-weight: 700;
}
.main-nav .btn-book {
  flex: 0 0 auto;
  min-height: 38px;
  padding: 0 13px;
  font-size: 10px;
}
.btn-airbnb { background: #fff; }
.btn-abritel { background: var(--ink); color: #fff; }
.nav-toggle { display: none; border: 0; background: transparent; font-size: 25px; cursor: pointer; }

.hero-grid {
  grid-template-columns: minmax(0, .83fr) minmax(0, 1.17fr);
}
.hero-grid > * { min-width: 0; }
.hero-photo { margin: 0; }
.hero-photo img { display: block; width: 100%; height: auto; }

.content-grid {
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
  gap: 72px;
  align-items: start;
}
.content-grid.reverse {
  grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr);
}
.content-grid.reverse .content-copy { order: 2; }
.content-copy { min-width: 0; }
.editorial-cards {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 22px;
}
.editorial-card { background: #fff; border: 1px solid var(--line); min-width: 0; }
.editorial-card img { width: 100%; height: auto; }
.editorial-card-body { padding: 25px; }
.editorial-card-body p { color: var(--muted); }

.answer-box { border-top: 2px solid var(--accent); padding-top: 22px; margin-top: 34px; }
.timeline-list { border-left: 1px solid var(--line); padding-left: 30px; }
.timeline-item { position: relative; padding: 0 0 34px; }
.timeline-item:before {
  content: ""; position: absolute; left: -36px; top: 8px;
  width: 11px; height: 11px; border-radius: 50%; background: var(--accent);
}
.faq-geo details { border-bottom: 1px solid var(--line); padding: 22px 0; }
.faq-geo summary { font: 400 23px Georgia, serif; cursor: pointer; }
.faq-geo p { max-width: 880px; color: var(--muted); }

.booking-section { padding-top: 70px; }
.booking-actions { min-width: 320px; }
.mobile-booking { display: none; }
.lang-switch { display: flex; gap: 5px; margin-left: 4px; }
.lang-switch a {
  display: inline-flex; align-items: center; justify-content: center;
  min-width: 29px; height: 29px; padding: 0 5px;
  border: 1px solid var(--line); text-decoration: none !important;
  font-size: 9px !important; letter-spacing: .06em !important;
}
.lang-switch a[aria-current="true"] { background: var(--ink); color: #fff; }

@media (max-width: 1180px) {
  .nav-toggle { display: block; }
  .main-nav {
    display: none;
    position: absolute;
    top: 78px;
    left: 0;
    right: 0;
    z-index: 50;
    padding: 24px 32px;
    background: var(--paper);
    border-bottom: 1px solid var(--line);
    flex-direction: column;
    align-items: flex-start;
    gap: 16px;
    white-space: normal;
  }
  .main-nav.open { display: flex; }
  .main-nav .btn-book { width: 100%; }
  .lang-switch { margin: 8px 0 0; }
}

@media (max-width: 900px) {
  .hero-grid, .content-grid, .content-grid.reverse { grid-template-columns: 1fr; }
  .content-grid.reverse .content-copy { order: initial; }
  .editorial-cards { grid-template-columns: 1fr 1fr; }
  .mobile-booking {
    position: fixed; left: 0; right: 0; bottom: 0; z-index: 80;
    display: grid; grid-template-columns: 1fr 1fr;
    background: #fff; box-shadow: 0 -8px 28px rgba(0,0,0,.13);
  }
  .mobile-booking a {
    padding: 13px 8px; text-align: center; text-decoration: none;
    text-transform: uppercase; letter-spacing: .1em; font-size: 11px; font-weight: 800;
  }
  body { padding-bottom: 48px; }
}
@media (max-width: 600px) {
  .container { width: min(var(--max), calc(100% - 28px)); }
  .brand { min-width: 0; }
  .brand strong { font-size: 21px; }
  .editorial-cards { grid-template-columns: 1fr; }
  .booking-actions { min-width: 0; }
}
