/* MODIFIER LA PALETTE ICI : carnet de voyage, forêt, sable, lagon et laiton. */
:root{--forest:#163f39;--deep:#123630;--sand:#f5f0e5;--paper:#fcfaf5;--gold:#a77d3c;--ink:#243d37;--muted:#63716a;--line:#d9d9c8;--serif:'Cormorant Garamond',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.65}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:500;line-height:1.04}h2{font-size:clamp(2.8rem,5.2vw,4.7rem);letter-spacing:-.04em}h2 em,h1 em{font-weight:400}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}img{display:block;width:100%;object-fit:cover}svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.svg-sprite{position:absolute;width:0;height:0;overflow:hidden}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:3px solid #af853d;outline-offset:5px}::selection{background:#e3c892;color:#163f39}.wrap{width:min(1192px,calc(100% - 96px));margin-inline:auto}.section-space{padding-block:104px}.eyebrow{font:600 .75rem/1.5 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin-bottom:22px}.eyebrow.light{color:#f1e4cc}.eyebrow-line{display:inline-block;width:28px;height:1px;background:currentColor;vertical-align:middle;margin:0 12px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:52px;padding:15px 25px;border:1px solid transparent;border-radius:3px;font:500 .875rem/1.5 var(--sans);text-align:center;transition:background .2s,transform .2s}.btn:hover{transform:translateY(-2px)}.btn-forest{background:var(--forest);color:#fff}.btn-forest:hover{background:#20554b}.btn-sand{background:#f4ebd6;color:var(--forest)}.btn-sand:hover{background:#fff7e6}.btn-outline{border-color:#ffffff7a;color:#fff}.btn-outline:hover{background:#ffffff18}.btn-whatsapp{background:#255c48;color:#fff}.btn-whatsapp:hover{background:#194936}.text-link{display:inline-block;padding:5px 0;border:0;border-bottom:1px solid var(--gold);background:transparent;font-weight:500;font-size:.875rem;line-height:1.7}.text-link:hover{color:var(--gold)}.text-link.light{color:#fff;border-color:#e3c892}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.skip-link{position:fixed;z-index:100;top:-100px;left:15px;background:var(--sand);padding:15px}.skip-link:focus{top:12px}.site-header{height:96px;padding-inline:48px;display:flex;align-items:center;justify-content:space-between;gap:24px;background:var(--paper);position:relative;z-index:20}.brand{display:flex;align-items:center;gap:13px;font:600 1.55rem/1.1 var(--serif);white-space:nowrap}.brand small{display:block;margin-top:9px;font:500 .625rem/1.2 var(--sans);letter-spacing:.22em}.brand-mark{position:relative;width:45px;height:52px;text-align:center;font:500 2.5rem/1 var(--serif);border:1px solid #a77d3c70;border-radius:22px 22px 4px 4px;padding-top:3px}.brand-mark span{display:block;font:400 1.25rem/.3 var(--serif);color:var(--gold)}nav{display:flex;align-items:center;gap:32px;font-size:.875rem}nav>a:not(.btn):hover{color:var(--gold)}.nav-toggle{display:none}.hero{position:relative;min-height:660px;height:calc(100svh - 96px);max-height:880px;isolation:isolate;color:#fff;overflow:hidden}.hero-photo,.hero-shade{position:absolute;inset:0;width:100%;height:100%;z-index:-2}.hero-photo{object-position:50% 54%}.hero-shade{z-index:-1;background:linear-gradient(90deg,rgba(8,36,28,.78) 0%,rgba(8,40,33,.45) 43%,rgba(7,42,33,.10) 75%),linear-gradient(0deg,rgba(12,43,34,.55),transparent 40%)}.hero-content{padding-top:clamp(78px,11vh,145px)}.hero h1{font-size:clamp(4.5rem,7.8vw,7.4rem);line-height:.92;letter-spacing:-.04em;max-width:720px}.hero h1 em{color:#f1dfbc}.hero-copy{margin-top:28px;font-size:1rem;line-height:1.7;color:#fcfaf1}.hero-actions{display:flex;align-items:center;gap:30px;margin-top:33px}.hero-badges{display:flex;gap:25px;margin-top:40px;font-size:.8rem}.hero-badges>span{display:flex;align-items:center;gap:10px}.hero-badges svg{width:21px;height:21px;color:#e4d3ad}.hero-stamp{position:absolute;right:9%;top:35%;width:162px;height:162px;border:1px solid #f4e8caad;border-radius:50%;outline:1px solid #f4e8ca65;outline-offset:7px;display:flex;flex-direction:column;align-items:center;justify-content:center;transform:rotate(10deg);background:#163f3920;color:#ffefd2}.hero-stamp span{font-size:.6rem;letter-spacing:.15em}.hero-stamp strong{font:500 2.4rem/.82 var(--serif);text-align:center;margin:17px 0}.hero-footer{position:absolute;bottom:24px;left:0;right:0;display:flex;justify-content:space-between;font-size:.65rem;letter-spacing:.12em;color:#fff7df}.hero-footer span:last-child{letter-spacing:.03em}.welcome-strip{min-height:88px;padding:24px 48px;background:#eee7d7;display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid #d4d4bf}.welcome-strip>span:first-child{font:500 1.65rem/1.15 var(--serif)}.strip-location{display:flex;gap:10px;align-items:center;font-size:.75rem}.strip-location svg{width:18px;height:18px}.intro{display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:center}.intro-photo{position:relative;padding:12px;background:#fff;border:1px solid #e9e3d7;transform:rotate(-2deg)}.intro-photo img{height:480px;object-position:50% 45%}.photo-note{display:block;font:italic 500 2rem/1.3 var(--serif);text-align:center;padding-top:16px}.image-caption{font-size:.65rem;text-align:center;margin:5px 0;color:var(--muted)}.intro-copy h2{margin-bottom:28px}.intro-copy>p:not(.eyebrow){max-width:500px;color:var(--muted);margin-bottom:18px}.intro-copy .text-link{margin-top:10px}.amenities{display:grid;grid-template-columns:repeat(4,1fr);padding:0 0 80px;gap:38px}.amenities article{border-top:1px solid var(--line);padding-top:26px}.amenities svg{width:30px;height:30px;color:var(--gold);margin-bottom:20px}.amenities h3{font-size:1.55rem;margin-bottom:12px}.amenities p{font-size:.875rem;color:var(--muted)}.stay-section{background:var(--sand)}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:60px;margin-bottom:48px}.section-heading>p{max-width:355px;color:var(--muted);padding-bottom:4px}.stay-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.stay-card{border:1px solid #d2d4c3;padding:32px;display:flex;flex-direction:column;align-items:flex-start}.small-number{font:500 .75rem var(--sans);letter-spacing:.15em;color:var(--gold);margin-bottom:36px}.stay-card h3{font-size:2.6rem;margin-bottom:20px}.stay-card p{font-size:.9rem;color:var(--muted);margin-bottom:36px}.stay-detail{font-size:.75rem;color:var(--muted);margin-top:auto;padding-bottom:12px}.stay-card-dark{background:var(--forest);color:var(--sand);border-color:var(--forest)}.stay-card-dark p,.stay-card-dark .stay-detail{color:#d2dfd3}.stay-card-dark .small-number{color:#d6bc81}.availability-note{font-size:.75rem;margin-top:24px;color:var(--muted)}.menu-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:70px}.food-photo{position:relative;min-height:540px}.food-photo img{height:100%;max-height:620px}.food-photo:after{content:'';position:absolute;inset:40% 0 0;background:linear-gradient(transparent,#09231bcc)}.food-photo figcaption{position:absolute;bottom:30px;left:30px;right:20px;z-index:1;color:white;font:italic 500 2.25rem/1.1 var(--serif)}.food-photo small{display:block;font:400 .7rem var(--sans);margin-top:14px;opacity:.85}.menu-tabs{display:flex;border-bottom:1px solid var(--line);justify-content:space-between;gap:10px}.menu-tabs button{white-space:nowrap;font-size:.875rem;color:var(--muted);border:0;border-bottom:2px solid transparent;background:none;padding:15px 5px}.menu-tabs button[aria-selected=true]{border-bottom-color:var(--forest);color:var(--forest);font-weight:600}.menu-notice{padding:18px 0 6px;font-size:.75rem;color:var(--muted);line-height:1.6}.menu-item{padding:23px 0;border-bottom:1px solid var(--line)}.menu-item-header{display:flex;justify-content:space-between;gap:20px;align-items:baseline}.menu-item h3{font-size:1.7rem}.menu-price{font-size:.8rem;white-space:nowrap;color:#6c613f}.menu-item p{margin-top:7px;font-size:.85rem;color:var(--muted)}.menu-cta{margin-top:30px}.sunset-section{position:relative;height:470px;color:white;display:grid;place-items:center;text-align:center;isolation:isolate}.sunset-section>img,.sunset-overlay{position:absolute;inset:0;width:100%;height:100%;z-index:-2}.sunset-section>img{object-position:50% 55%}.sunset-overlay{z-index:-1;background:#102e3273}.sunset-copy{padding:30px}.sunset-copy h2{font-size:clamp(2.4rem,4.5vw,4rem);margin-bottom:28px}.sunset-credit{position:absolute;bottom:16px;right:30px;font-size:.65rem}.contact-section{display:grid;grid-template-columns:1fr 1.15fr;gap:85px;align-items:start}.contact-copy>p:not(.eyebrow):not(.contact-footnote){color:var(--muted);max-width:390px;margin-top:24px}.contact-details{margin-block:38px}.contact-details>div{display:flex;gap:18px;margin-bottom:25px}.contact-details svg{color:var(--gold);width:22px;height:22px;margin-top:3px}.contact-details h3{font:600 .9rem var(--sans);margin-bottom:8px}.contact-details p,.contact-details a{font-size:.85rem}.contact-details p{color:var(--muted)}.contact-details .text-link{font-size:.75rem;margin-top:4px}.email-link{display:block;overflow-wrap:anywhere}.contact-footnote{font-size:.75rem;margin-top:20px;line-height:1.8}.contact-footnote a{text-decoration:underline}.reservation-card{padding:38px;background:#efe9db;border:1px solid #e3dac9}.card-eyebrow{font-size:.65rem;letter-spacing:.15em;color:#746543}.reservation-card h3{font-size:2.55rem;margin-top:16px;letter-spacing:-.025em}.reservation-card>p{color:var(--muted);font-size:.875rem;margin:15px 0 28px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px 18px}.field label{display:block;font-size:.75rem;font-weight:500;margin-bottom:7px}.field label span{color:#7f642f}.field input,.field select,.field textarea{width:100%;min-width:0;min-height:47px;background:#fcfaf5;border:1px solid #d4d2c3;border-radius:2px;padding:10px 12px;color:var(--forest);font-size:.875rem}.field textarea{resize:vertical;display:block}.field input::placeholder,.field textarea::placeholder{color:#7a8077;opacity:1;font-size:.8rem}.field-full{grid-column:1/-1}.consent{display:flex;align-items:flex-start;gap:10px;font-size:.7rem;line-height:1.6;margin:22px 0;color:#59625b}.consent input{flex-shrink:0;margin-top:4px;accent-color:var(--forest);width:16px;height:16px}.consent a{text-decoration:underline}.form-submit{width:100%}.form-small{font-size:.65rem;text-align:center;margin-top:12px;color:var(--muted)}#form-status{font-size:.875rem;color:#923b30}.site-footer{background:var(--deep);color:var(--sand);padding:55px 0 28px}.footer-top{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:40px;padding-bottom:45px;align-items:start}.footer-brand{font-size:1.7rem}.footer-top>p{font:500 2rem/1.15 var(--serif);color:#dfd5b9}.footer-links{display:grid;grid-template-columns:1fr 1fr;gap:14px;font-size:.75rem}.footer-links a:hover{text-decoration:underline}.footer-bottom{border-top:1px solid #ffffff25;padding:23px 0;display:flex;justify-content:space-between;gap:20px;font-size:.65rem;color:#c6d0c5}.footer-bottom>div{display:flex;gap:24px}.legal-details{border-top:1px solid #ffffff1c;font-size:.75rem;line-height:1.8;color:#c6d0c5}.legal-details summary{padding:10px 0;cursor:pointer}.legal-details p{max-width:970px;margin:0 0 20px}.legal-details a{text-decoration:underline}.floating-contact{position:fixed;bottom:25px;right:25px;background:#255c48;border:1px solid #c4d4bf;box-shadow:0 4px 20px #0002;color:white;width:54px;height:54px;display:grid;place-items:center;border-radius:50%;z-index:30;transition:transform .2s}.floating-contact:hover{transform:scale(1.08)}.floating-contact svg{width:27px;height:27px}.request-dialog{border:0;background:var(--paper);color:var(--forest);width:min(590px,calc(100% - 32px));max-height:90svh;padding:38px;box-shadow:0 10px 100px #0004;overflow:auto}.request-dialog::backdrop{background:#0d302bcc;backdrop-filter:blur(5px)}.dialog-close{position:absolute;right:15px;top:10px;background:none;border:0;font-size:2rem;width:40px;height:40px}.request-dialog h2{font-size:3.3rem}.request-dialog>p:not(.eyebrow){font-size:.875rem;margin-top:18px}.request-dialog pre{font:400 .8rem/1.65 var(--sans);white-space:pre-wrap;overflow-wrap:anywhere;background:var(--sand);padding:20px;margin:23px 0;max-height:230px;overflow:auto}.dialog-actions{display:flex;flex-wrap:wrap;gap:12px}.dialog-actions .btn{flex:1}.dialog-actions .text-link{margin-inline:auto}body.modal-open{overflow:hidden}/* Les éléments restent visibles si JavaScript ou IntersectionObserver sont indisponibles. */.reveal.ready{opacity:0;translate:0 18px;transition:opacity .75s,translate .75s}.reveal.ready.visible{opacity:1;translate:0 0}
@media(min-width:1500px){.site-header{padding-inline:max(48px,calc((100% - 1360px)/2))}.hero-content{padding-top:130px}}
@media(max-width:1100px){.site-header{padding-inline:30px}nav{gap:20px}.wrap{width:calc(100% - 64px)}.intro{gap:55px}.intro-photo img{height:420px}.menu-layout{gap:40px}.contact-section{gap:45px}.reservation-card{padding:28px}.hero-stamp{right:6%}.stay-card{padding:26px}.stay-card h3{font-size:2.3rem}.amenities{gap:24px}}
@media(max-width:850px){.site-header{height:82px;padding-inline:24px}.brand{font-size:1.35rem}.brand-mark{width:38px;height:45px;font-size:2.2rem}.brand small{font-size:.55rem}.nav-toggle{display:flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;background:none;border:1px solid var(--line);border-radius:2px}.menu-lines,.menu-lines:before,.menu-lines:after{width:20px;height:1px;background:var(--forest);display:block;position:relative}.menu-lines:before,.menu-lines:after{content:'';position:absolute;left:0;top:-6px}.menu-lines:after{top:6px}nav{display:none;position:absolute;top:82px;left:0;right:0;background:var(--paper);padding:20px 24px 28px;box-shadow:0 12px 20px #0001;align-items:stretch;gap:0}nav.is-open{display:flex;flex-direction:column}nav>a{padding:12px}.nav-book{margin-top:10px}.hero{height:auto;min-height:660px}.hero-content{padding-top:95px}.hero h1{font-size:5.6rem}.hero-stamp{width:130px;height:130px;right:6%;top:43%}.hero-stamp strong{font-size:2rem;margin:13px}.hero-stamp span{font-size:.5rem}.welcome-strip{padding:23px 32px}.welcome-strip>span:first-child{font-size:1.4rem}.strip-location{display:none}.section-space{padding-block:76px}.intro{gap:38px}.intro-photo img{height:400px}.intro-copy h2{font-size:3.25rem}.intro-copy p{font-size:.9rem}.amenities{grid-template-columns:repeat(2,1fr);padding-bottom:65px}.section-heading{gap:30px}.section-heading>p{max-width:280px;font-size:.9rem}.stay-grid{gap:15px}.stay-card{padding:22px}.stay-card h3{font-size:2rem}.stay-card p{font-size:.85rem}.stay-card .text-link{font-size:.8rem}.menu-layout{grid-template-columns:.8fr 1.2fr;gap:28px}.menu-tabs{gap:2px}.menu-tabs button{font-size:.75rem}.menu-item h3{font-size:1.5rem}.menu-price{font-size:.7rem}.food-photo figcaption{font-size:1.8rem;left:20px}.contact-section{grid-template-columns:1fr;gap:50px}.contact-copy{max-width:none}.contact-details{display:grid;grid-template-columns:1fr 1fr;gap:12px}.contact-copy>p:not(.eyebrow):not(.contact-footnote){max-width:540px}.reservation-card{padding:38px}.footer-top{grid-template-columns:1fr 1fr}.footer-links{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:26px}.footer-bottom{flex-wrap:wrap}.footer-bottom>span:last-child{display:none}}
@media(max-width:600px){html{scroll-padding-top:22px}.wrap{width:calc(100% - 40px)}.site-header{padding-inline:20px}.hero{min-height:670px}.hero-content{padding-top:80px}.hero .eyebrow{font-size:.6rem;letter-spacing:.16em}.eyebrow-line{width:18px;margin:0 6px}.hero h1{font-size:clamp(4.35rem,17.5vw,5.7rem)}.hero-shade{background:linear-gradient(90deg,#0a2b25bb,#0a2b2544),linear-gradient(0deg,#0a2b2599,transparent 70%)}.hero-photo{object-position:57% 50%}.hero-copy{font-size:.9rem;max-width:270px;margin-top:25px}.hero-actions{align-items:flex-start;flex-direction:column;gap:15px;margin-top:27px}.hero-actions .btn{padding-inline:20px;font-size:.85rem}.hero-stamp{display:none}.hero-badges{gap:20px;font-size:.7rem;margin-top:30px}.hero-footer{bottom:20px;display:block;font-size:.55rem}.hero-footer span:last-child{display:block;margin-top:4px;font-size:.6rem}.welcome-strip{padding:20px;min-height:84px}.welcome-strip>span:first-child{font-size:1.3rem;line-height:1.3}.welcome-strip em{display:block}.section-space{padding-block:60px}.intro{grid-template-columns:1fr;gap:45px}.intro-copy{order:-1}.intro-copy h2{font-size:3.35rem}.intro-copy p{font-size:1rem}.intro-photo{margin-inline:8px}.intro-photo img{height:370px}.intro-photo .photo-note{font-size:1.8rem}.amenities{gap:28px 22px;padding-bottom:60px}.amenities h3{font-size:1.5rem;line-height:1.1}.amenities p{font-size:.85rem}.section-heading{display:block;margin-bottom:30px}.section-heading h2{font-size:3.1rem}.section-heading>p{max-width:100%;margin-top:24px;font-size:1rem}.stay-grid{grid-template-columns:1fr;gap:18px}.stay-card{padding:28px}.small-number{margin-bottom:22px}.stay-card h3{font-size:2.8rem}.stay-card h3 br{display:none}.stay-card p{font-size:1rem;margin-bottom:22px}.stay-card .text-link{font-size:.875rem}.menu-layout{grid-template-columns:1fr;gap:28px}.food-photo{min-height:0;height:330px}.food-photo img{height:100%;object-position:center 55%}.food-photo figcaption{font-size:2rem}.menu-tabs button{font-size:.8rem;padding-block:17px;min-height:48px}.menu-notice{font-size:.75rem}.menu-item h3{font-size:1.65rem}.menu-price{font-size:.75rem}.sunset-section{height:430px}.sunset-copy{padding:25px 20px}.sunset-copy h2{font-size:2.8rem}.sunset-credit{right:20px}.contact-copy h2{font-size:4rem}.contact-details{display:block}.contact-details>div{margin-bottom:26px}.contact-details p,.contact-details a{font-size:.875rem}.reservation-card{padding:26px 20px;margin-inline:-6px}.reservation-card h3{font-size:2.25rem}.form-grid{grid-template-columns:1fr;gap:18px}.field label{font-size:.875rem}.field input,.field select,.field textarea{font-size:1rem;min-height:50px}.consent{font-size:.75rem}.form-small{font-size:.7rem}.footer-top{display:block}.footer-top>p{margin-block:30px}.footer-links{display:grid;grid-template-columns:1fr 1fr;font-size:.8rem;gap:14px}.footer-bottom{font-size:.7rem;gap:14px}.footer-bottom>div{gap:20px}.floating-contact{bottom:18px;right:18px;width:48px;height:48px}.request-dialog{padding:32px 22px}.request-dialog h2{font-size:3rem}.dialog-actions{flex-direction:column}.legal-details{padding-right:34px}}
/* Taille de lecture minimale et centrage explicite du dialogue après le reset Tailwind. */
.request-dialog{margin:auto}.hero-footer,.image-caption,.food-photo small,.sunset-credit,.card-eyebrow,.form-small,.footer-bottom{font-size:.75rem}.field label,.menu-tabs button{font-size:.875rem}.consent{font-size:.75rem}.hero-badges{font-size:.875rem}.hero .eyebrow{font-size:.75rem}.brand small{font-size:.75rem;letter-spacing:.12em}.menu-price{font-size:.875rem}
@media(max-width:600px){.brand small{font-size:.625rem;letter-spacing:.13em}.hero-badges{font-size:.75rem}.hero-footer span:last-child{font-size:.75rem}.hero .eyebrow{font-size:.65rem}.menu-tabs{flex-wrap:wrap}.menu-tabs button{font-size:.875rem;min-width:calc(50% - 8px)}.hero-footer{letter-spacing:.06em}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}.reveal.ready{opacity:1;translate:none}.btn:hover{transform:none}}
