
:root{--paper:#fffdf8;--cream:#f4efe5;--forest:#20352a;--gold:#b28a56;--ink:#253028;--muted:#6d756f;--line:rgba(37,48,40,.16)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,sans-serif;line-height:1.65}img,video{display:block;width:100%}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}h1,h2,h3{font-family:"Cormorant Garamond",serif;line-height:1.04;margin:0}h1{font-size:clamp(3.2rem,7vw,7rem)}h2{font-size:clamp(2.5rem,5vw,4.8rem)}h3{font-size:2rem}
.site-header{position:fixed;z-index:20;inset:0 0 auto;display:flex;justify-content:space-between;align-items:center;padding:18px clamp(20px,5vw,72px);color:#fff;transition:.3s}.site-header.scrolled{background:rgba(255,253,248,.95);color:var(--ink);backdrop-filter:blur(12px);box-shadow:0 10px 30px #0002}.brand{display:grid}.brand span{font:700 1.8rem "Cormorant Garamond",serif}.brand small,.eyebrow{text-transform:uppercase;letter-spacing:.18em;font-size:.68rem}.main-nav{display:flex;gap:24px;align-items:center}.nav-cta{border:1px solid currentColor;padding:9px 14px}.lang-switch,.menu-toggle{background:transparent;border:0;color:inherit;cursor:pointer}.lang-switch{border-left:1px solid currentColor;padding-left:16px;font-weight:700}.menu-toggle{display:none;font-size:1.4rem}
.hero{min-height:100svh;display:grid;place-items:center;position:relative;color:#fff;text-align:center;overflow:hidden}.hero-video{position:absolute;inset:0;overflow:hidden;background:#17251d}.hero-video iframe{position:absolute;top:50%;left:50%;width:177.78vh;min-width:100%;height:56.25vw;min-height:100%;transform:translate(-50%,-64%) scale(1.38);border:0;pointer-events:none}.hero-shade{position:absolute;inset:0;background:linear-gradient(#10201688,#10201644,#102016aa)}.hero-content{position:relative;max-width:950px;padding:130px 24px 90px}.hero-content>p:not(.eyebrow){max-width:700px;margin:24px auto;font-size:1.08rem}.hero-actions{display:flex;justify-content:center;gap:14px;flex-wrap:wrap;margin-top:30px}.button{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:0 22px;border:1px solid transparent;cursor:pointer}.button-primary{background:var(--gold);color:#fff}.button-ghost{border-color:#fff;color:#fff}.section{padding:clamp(80px,10vw,150px) clamp(22px,6vw,96px)}.section-soft{background:var(--cream)}.section-heading{max-width:800px;margin-bottom:50px}.split,.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(36px,7vw,110px);align-items:center}.copy p{font-size:1.05rem}.main-image,.portrait{aspect-ratio:4/5;object-fit:cover;box-shadow:0 24px 55px #1a2d201c}.features{display:flex;gap:10px;flex-wrap:wrap;margin-top:26px}.features span{border:1px solid var(--line);padding:8px 12px;font-size:.82rem}.room-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.room-card{background:var(--paper);box-shadow:0 16px 40px #1f302515}.room-card img{aspect-ratio:4/3;object-fit:cover}.room-card div{padding:25px}.room-card small{text-transform:uppercase;letter-spacing:.1em;color:#71806f}.season-banner{position:relative;min-height:80vh;display:grid;place-items:center;overflow:hidden;color:#fff;text-align:center}.season-banner>img{position:absolute;inset:0;height:100%;object-fit:cover}.season-banner:after{content:"";position:absolute;inset:0;background:#10201670}.season-copy{position:relative;z-index:1;max-width:800px;padding:24px}.gallery-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.gallery-grid figure{margin:0;overflow:hidden}.gallery-grid img{height:100%;min-height:360px;object-fit:cover;transition:.7s}.gallery-grid figure:hover img{transform:scale(1.03)}.gallery-grid .wide{grid-column:span 2}.cat-note{display:flex;gap:16px;align-items:center;margin-top:30px}.cat-note img{width:90px;height:90px;object-fit:cover;border-radius:50%}.contact{background:var(--forest);color:#fff}.contact-grid{align-items:start}.phone{font:600 2.05rem Inter,Arial,sans-serif;font-variant-numeric:tabular-nums;letter-spacing:.025em}.booking-form{display:grid;gap:14px;background:var(--paper);color:var(--ink);padding:clamp(24px,4vw,42px)}.booking-form label{display:grid;gap:6px;font-size:.82rem;font-weight:600}.booking-form input,.booking-form textarea{padding:12px;border:1px solid var(--line)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}footer{display:flex;justify-content:space-between;padding:28px clamp(22px,6vw,96px);background:#15241b;color:#fff}.reveal{opacity:0;transform:translateY(22px);transition:.7s}.reveal.visible{opacity:1;transform:none}
@media(max-width:900px){.menu-toggle{display:block}.main-nav{position:absolute;top:100%;left:0;right:0;display:none;flex-direction:column;align-items:stretch;background:var(--paper);color:var(--ink);padding:18px 22px}.main-nav.open{display:flex}.split,.contact-grid,.room-grid{grid-template-columns:1fr}.main-image,.portrait{aspect-ratio:16/11}.gallery-grid{grid-template-columns:1fr}.gallery-grid .wide{grid-column:auto}.gallery-grid img{min-height:280px}.lang-switch{border-left:0;padding:10px 0;text-align:left}}
@media(max-width:560px){.brand span{font-size:1.3rem}.hero-actions{display:grid}.form-row{grid-template-columns:1fr}footer{flex-direction:column}}

.hidden-field{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}

.rates{background:var(--paper)}.rate-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:16px}.rate-card{display:grid;gap:8px;padding:26px 20px;background:var(--cream);border-top:3px solid var(--gold);text-align:center}.rate-card span{font-weight:600}.rate-card strong{font:700 2.5rem "Cormorant Garamond",serif;color:var(--forest)}.rate-card small{text-transform:uppercase;letter-spacing:.12em;color:var(--muted)}.rate-notes{margin-top:28px;padding:24px;border:1px solid var(--line)}.rate-notes p{margin:6px 0}.slideshow-section{background:var(--paper)}.slideshow{position:relative;max-width:1180px;margin:auto;overflow:hidden;background:#111;box-shadow:0 24px 55px #1a2d2025}.slides{position:relative;aspect-ratio:16/9}.slide{position:absolute;inset:0;margin:0;opacity:0;transition:opacity .8s ease;pointer-events:none}.slide.active{opacity:1;pointer-events:auto}.slide img{width:100%;height:100%;object-fit:cover}.slide figcaption{position:absolute;left:0;right:0;bottom:0;padding:28px 22px 18px;color:#fff;background:linear-gradient(transparent,#000a);font-weight:600}.slide-control{position:absolute;top:50%;transform:translateY(-50%);width:48px;height:48px;border:0;border-radius:50%;background:#fffdd9;color:#20352a;font-size:2rem;cursor:pointer}.slide-control.prev{left:18px}.slide-control.next{right:18px}.slide-dots{position:absolute;left:50%;bottom:12px;transform:translateX(-50%);display:flex;gap:8px}.slide-dot{width:9px;height:9px;border:1px solid #fff;border-radius:50%;background:transparent;padding:0;cursor:pointer}.slide-dot.active{background:#fff}.minimum-stay{margin:0;padding:10px 12px;background:var(--cream);border-left:3px solid var(--gold);font-weight:700}.date-error{display:none;margin:0;color:#a72828;font-weight:700;font-size:.85rem}.date-error.visible{display:block}
@media(max-width:1000px){.rate-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.rate-grid{grid-template-columns:1fr}.slides{aspect-ratio:4/3}.slide-control{width:40px;height:40px}.slide figcaption{padding-bottom:30px}}

.minimum-stay-highlight{display:inline-block;margin:18px 0 12px!important;padding:16px 22px!important;background:#b28a56!important;color:#fff!important;border:0!important;border-radius:4px;font-size:clamp(1.25rem,2.5vw,1.8rem);letter-spacing:.03em;box-shadow:0 10px 24px #1a2d2025}
.external-links{display:grid;gap:12px;margin-top:28px;max-width:430px}.external-link{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:15px 18px;border:1px solid #ffffff55;background:#ffffff0d;transition:.25s}.external-link:hover{background:#fff;color:var(--forest);transform:translateY(-2px)}.external-link strong{font-family:"Cormorant Garamond",serif;font-size:1.45rem}.external-link span{font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;text-align:right}
@media(max-width:560px){.external-link{align-items:flex-start;flex-direction:column;gap:2px}.external-link span{text-align:left}}

/* Liens utiles avec logos et pied de page */
.external-brand{display:flex;align-items:center;gap:13px}.external-logo{width:40px;height:40px;flex:0 0 40px}.tripadvisor-logo circle:first-of-type,.tripadvisor-logo circle:nth-of-type(2){fill:#fff;stroke:#00aa6c;stroke-width:4}.tripadvisor-logo circle:nth-of-type(3),.tripadvisor-logo circle:nth-of-type(4){fill:#00aa6c}.tripadvisor-logo path{fill:none;stroke:#00aa6c;stroke-width:4;stroke-linecap:round;stroke-linejoin:round}.maps-red{fill:#ea4335}.maps-blue{fill:#4285f4}.maps-green{fill:#34a853}.maps-yellow{fill:#fbbc04}.site-footer{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(250px,.8fr);gap:36px;align-items:end;padding:34px clamp(22px,6vw,96px);background:#15241b;color:#fff}.site-footer p{margin:4px 0}.footer-message p:first-child{font-weight:600}.footer-message p:nth-child(2){color:#d8dfda}.footer-meta{text-align:right;font-size:.9rem;color:#d8dfda}@media(max-width:700px){.site-footer{grid-template-columns:1fr}.footer-meta{text-align:left}.external-link{align-items:center}.external-brand{width:100%}}

/* Language selector with flags */
.language-picker{display:flex;align-items:center;gap:5px;padding-left:18px;border-left:1px solid var(--ink)}
.lang-option{border:0;background:transparent;color:var(--ink);font:600 .78rem Inter,sans-serif;padding:7px 6px;cursor:pointer;border-radius:4px;white-space:nowrap}
.lang-option:hover,.lang-option.active{background:var(--forest);color:#fff}
@media(max-width:980px){.language-picker{border-left:0;padding-left:0;flex-wrap:wrap}.lang-option{font-size:.9rem}}
/* Raise and enlarge the YouTube background to hide the date burned into the bottom of the source video. */
@media(max-aspect-ratio:16/9){.hero-video iframe{transform:translate(-50%,-62%) scale(1.34)}}

/* YouTube logo */
.youtube-logo rect{fill:#ff0033}.youtube-logo path{fill:#fff}

/* Stronger crop on wide screens: hides the date/title burned into the bottom of the YouTube video. */
@media(min-aspect-ratio:16/9){.hero-video iframe{transform:translate(-50%,-65%) scale(1.42)}}

/* Section équipe */
.team-heading{max-width:760px;margin:0 auto 48px;text-align:center}.team-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(24px,4vw,48px);max-width:1180px;margin:0 auto}.team-card{display:grid;grid-template-columns:minmax(180px,.85fr) minmax(220px,1.15fr);align-items:center;background:var(--paper);box-shadow:0 18px 45px #1f302514;overflow:hidden}.team-portrait{width:100%;height:100%;min-height:420px;object-fit:cover}.team-copy{padding:clamp(24px,3vw,42px)}.team-copy h3{font-size:clamp(1.8rem,3vw,2.6rem);margin:.25em 0 .55em}.team-copy p:last-child{font-size:1rem;line-height:1.75}.team-cat{max-width:560px;margin:42px auto 0;justify-content:center}.team-cat p{margin:0}@media(max-width:1050px){.team-card{grid-template-columns:1fr}.team-portrait{height:340px;min-height:0}}@media(max-width:760px){.team-grid{grid-template-columns:1fr}.team-card{grid-template-columns:140px 1fr}.team-portrait{height:100%;min-height:300px}.team-copy{padding:24px}}@media(max-width:520px){.team-card{grid-template-columns:1fr}.team-portrait{height:330px;min-height:0}.team-heading{margin-bottom:32px}}
