@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@400;500;600;700&family=DM+Sans:wght@400;500;600;700&family=Allura&display=swap');
:root{--rose:#ffa4a5;--cream:#e3dfc8;--red:#c63619;--ink:#593b36;--paper:#e4dfc8;--max:1360px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--rose);color:var(--ink);font-family:'Barlow Condensed',Arial,sans-serif;font-size:21px;line-height:1.36}a{color:inherit}img{max-width:100%;display:block}button{font:inherit}h1,h2,h3,p{margin-top:0}h1,h2{font-weight:600;letter-spacing:.045em;text-transform:uppercase}h1{font-size:clamp(2rem,4vw,4.2rem);line-height:1.04;color:var(--red)}h2{font-size:clamp(1.6rem,2.6vw,2.7rem);color:var(--red)}h3{font-size:1.5rem}p{margin-bottom:1.1em}.wrap{max-width:var(--max);margin:auto;padding:0 clamp(20px,4vw,62px)}.site-header{position:sticky;top:0;z-index:100;background:rgba(255,164,165,.96);border-bottom:1px solid rgba(120,40,20,.2);backdrop-filter:blur(12px)}.header-inner{min-height:74px;display:flex;align-items:center;gap:22px;justify-content:space-between}.brand{font-family:Allura,cursive;font-size:clamp(2.4rem,3.8vw,3.4rem);line-height:.8;color:var(--red);text-decoration:none;white-space:nowrap}.header-actions{display:flex;align-items:center;gap:12px}.reserve-btn,.cta{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--red);color:#fff7e9;border:2px solid var(--red);padding:10px 22px;text-decoration:none;font-family:'DM Sans',sans-serif;font-size:14px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;transition:background .2s}.reserve-btn:hover,.cta:hover{background:#952914}.menu-toggle{width:48px;height:45px;display:grid;place-items:center;background:transparent;border:1px solid var(--red);color:var(--red);cursor:pointer}.menu-toggle svg{width:26px;height:26px}.drawer{position:fixed;inset:74px 0 auto auto;width:min(390px,100vw);background:var(--paper);border-left:1px solid var(--red);border-bottom:1px solid var(--red);padding:25px 30px;box-shadow:0 18px 40px #57291c3b;display:none;max-height:calc(100vh - 74px);overflow:auto}.drawer.open{display:block}.drawer a{display:block;padding:11px 0;border-bottom:1px solid #bcae95;text-decoration:none;font-size:1.4rem;letter-spacing:.06em;text-transform:uppercase}.drawer a:hover,.drawer a[aria-current=page]{color:var(--red)}.hero{padding:14px 0 36px}.hero picture img{width:100%;height:auto}.hero-note{font-size:1rem;text-align:center}.paper{background:var(--paper)}.section{padding:clamp(48px,6vw,90px) 0}.section.rose{background:var(--rose)}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,4vw,65px);align-items:center}.eyebrow{color:var(--red);text-transform:uppercase;letter-spacing:.11em;font-weight:700}.lead{font-size:clamp(1.35rem,2.25vw,2.2rem);line-height:1.15;text-transform:uppercase;color:var(--red)}.feature-image{width:100%;height:clamp(300px,39vw,550px);object-fit:cover}.tinted{filter:sepia(.16) saturate(.83);opacity:.88}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}.service-card{min-width:0;text-decoration:none}.service-card img{width:100%;aspect-ratio:3/4;object-fit:cover;filter:sepia(.1) saturate(.82)}.service-card h3{text-align:center;text-decoration:underline;text-underline-offset:5px;font-weight:500;text-transform:uppercase;margin:0 0 18px}.service-card:hover h3{color:var(--red)}.intro-layout{display:grid;grid-template-columns:42% 1fr;gap:5%;align-items:start}.intro-layout .feature-image{height:430px;border-radius:48% 48% 42% 42% / 45% 42% 42% 40%}.pill{display:inline-block;border:1px solid var(--red);border-radius:50%;padding:20px 35px;font-family:Allura,cursive;font-size:2.6rem;color:var(--red);line-height:.9;transform:rotate(-5deg);margin:12px 10px 8px 0}.columns-3{columns:3;column-gap:32px}.columns-3 p{break-inside:avoid}.split{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(300px,.8fr);gap:5%;align-items:start}.split aside img{width:100%;height:clamp(350px,49vw,660px);object-fit:cover}.split aside{padding:0}.text-upper{text-transform:uppercase}.text-red{color:var(--red)}.body-copy{font-size:clamp(1.08rem,1.55vw,1.4rem)}.script{font-family:Allura,cursive;color:var(--red);font-size:clamp(2rem,3.5vw,3.6rem);line-height:1}.quote{font-family:Allura,cursive;color:var(--red);font-size:clamp(1.55rem,2.6vw,2.8rem);line-height:1.06;text-align:center}.bullet{padding-left:1.4em}.bullet li{margin:.3em 0}.callout{background:var(--rose);padding:24px;margin-top:22px}.callout h2{margin-bottom:10px}.contact-grid{display:grid;grid-template-columns:260px minmax(0,1fr) 220px;gap:35px;align-items:center}.map-box{min-height:340px;display:grid;place-items:center;background:#a6bfca;color:#243b44;text-align:center;padding:30px}.map-box a{background:#f8f1df;padding:12px 18px;text-decoration:none;border:1px solid var(--red)}.footer{background:var(--cream);padding:35px 0;color:var(--ink)}.footer-inner{display:flex;flex-wrap:wrap;justify-content:space-between;gap:20px;align-items:center}.footer a{margin-right:15px}.footer small{font-size:15px}.footer .brand{font-size:3rem}.blank-menu{min-height:52vh;display:grid;place-items:center;text-align:center}.blank-menu h1{margin:0}.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}a:focus-visible,button:focus-visible{outline:3px solid #132d3c;outline-offset:3px}@media(max-width:900px){.contact-grid{grid-template-columns:1fr 1fr}.contact-grid .contact-side{grid-column:1/-1}.columns-3{columns:2}.split{grid-template-columns:1fr 38%}}@media(max-width:680px){body{font-size:19px}.header-inner{min-height:67px}.drawer{top:67px;max-height:calc(100vh - 67px)}.brand{font-size:2.4rem}.reserve-btn{padding:10px 13px;font-size:12px}.hero{padding:0 0 20px}.grid-2,.intro-layout,.split,.contact-grid{grid-template-columns:1fr}.columns-3{columns:1}.service-grid{grid-template-columns:1fr 1fr;gap:22px}.service-card img{aspect-ratio:4/5}.service-card h3{font-size:1.25rem}.section{padding:42px 0}.feature-image{height:360px}.split aside img{height:400px}.contact-grid .contact-side{grid-column:auto}.map-box{min-height:260px}}@media(max-width:390px){.service-grid{grid-template-columns:1fr}.brand{font-size:2rem}.header-actions{gap:7px}}

/* Identité, hiérarchie des services et réseaux sociaux */
.brand{display:inline-flex;align-items:center;flex:none;width:100px;height:66px;overflow:visible}
.brand img{display:block;width:100%;height:100%;object-fit:contain}
.footer .brand{width:110px;height:95px}
.drawer .nav-subgroup{padding:2px 0 7px 18px;border-left:3px solid var(--red);margin-left:9px}
.drawer a.nav-subitem{font-size:1.16rem;text-transform:none;letter-spacing:.025em;padding:8px 0 8px 8px}
.social-links{display:flex;align-items:center;gap:15px}
.social-links a{display:inline-flex;align-items:center;justify-content:center;width:37px;height:37px;color:var(--red);text-decoration:none;margin:0}
.social-links svg{width:25px;height:25px;fill:currentColor}
.social-links svg[fill="none"]{fill:none}
.drawer .social-links{padding-top:18px}
.drawer .social-links a{border:0;padding:0;width:40px;height:40px}
@media(max-width:680px){.brand{width:80px;height:60px}.footer .brand{width:95px;height:85px}}

/* Sélecteur de langue : anglais visible mais inactif jusqu'à la traduction */
.language-switch{display:inline-flex;align-items:center;gap:7px;white-space:nowrap;font-family:'DM Sans',sans-serif;font-size:13px;font-weight:700;letter-spacing:.055em}
.language-active{color:var(--red);text-decoration:underline;text-underline-offset:4px}
.language-separator{opacity:.65}
.language-unavailable{opacity:.48;cursor:not-allowed}
@media(max-width:440px){.header-inner{gap:8px}.header-actions{gap:7px}.language-switch{font-size:12px;gap:4px}.reserve-btn{padding:9px 11px;font-size:12px}.menu-toggle{width:42px;height:42px}.brand{width:69px;height:54px}}

/* Logo officiel : dimension comparable au bouton Réserver, sans changer le dessin */
.site-header .brand{width:170px;height:66px}
.footer .brand{width:190px;height:76px}
@media(max-width:680px){.site-header .brand{width:132px;height:60px}.footer .brand{width:160px;height:70px}}
@media(max-width:440px){.site-header .brand{width:112px;height:54px}}

/* Logo : rendre la ligne L'AMARRÉ réellement aussi haute que le bouton Réserver */
.site-header .header-inner{min-height:112px}
.site-header .brand{width:260px;height:100px}
.footer .brand{width:275px;height:105px}
@media(max-width:680px){.site-header .header-inner{min-height:88px}.site-header .brand{width:185px;height:76px}.footer .brand{width:230px;height:90px}.drawer{top:88px;max-height:calc(100vh - 88px)}}
@media(max-width:440px){.site-header .header-inner{min-height:78px}.site-header .brand{width:142px;height:66px}.drawer{top:78px;max-height:calc(100vh - 78px)}}

/* Agrandissement x2 demandé : logo de l'en-tête et du pied de page */
.site-header .header-inner{min-height:194px}
.site-header .brand{width:520px;height:188px}
.footer .brand{width:550px;height:210px}
@media(max-width:900px){.site-header .header-inner{min-height:142px}.site-header .brand{width:340px;height:130px}.footer .brand{width:400px;height:160px}}
@media(max-width:680px){.site-header .header-inner{min-height:105px}.site-header .brand{width:225px;height:96px}.footer .brand{width:300px;height:125px}.drawer{top:105px;max-height:calc(100vh - 105px)}}
@media(max-width:440px){.site-header .header-inner{min-height:88px}.site-header .brand{width:165px;height:78px}.footer .brand{width:260px;height:110px}.drawer{top:88px;max-height:calc(100vh - 88px)}}

/* Marges autour du logo : 50 % de sa hauteur en haut, 60 % au pied (total haut + bas). */
.site-header .header-inner{min-height:0;padding-top:47px;padding-bottom:47px}
.footer{padding-top:63px;padding-bottom:63px}
@media(max-width:900px){.site-header .header-inner{min-height:0;padding-top:32px;padding-bottom:32px}.footer{padding-top:48px;padding-bottom:48px}}
@media(max-width:680px){.site-header .header-inner{min-height:0;padding-top:24px;padding-bottom:24px}.footer{padding-top:38px;padding-bottom:38px}.drawer{top:144px;max-height:calc(100vh - 144px)}}
@media(max-width:440px){.site-header .header-inner{min-height:0;padding-top:19px;padding-bottom:19px}.footer{padding-top:33px;padding-bottom:33px}.drawer{top:116px;max-height:calc(100vh - 116px)}}

/* Correctif : supprimer les marges excessives ajoutees a l'en-tete et au pied */
.site-header .header-inner{min-height:0;padding-top:6px;padding-bottom:6px}
.footer{padding-top:18px;padding-bottom:18px}
@media(max-width:900px){.site-header .header-inner{padding-top:5px;padding-bottom:5px}.footer{padding-top:16px;padding-bottom:16px}}
@media(max-width:680px){.site-header .header-inner{padding-top:4px;padding-bottom:4px}.footer{padding-top:14px;padding-bottom:14px}.drawer{top:84px;max-height:calc(100vh - 84px)}}
@media(max-width:440px){.site-header .header-inner{padding-top:4px;padding-bottom:4px}.footer{padding-top:12px;padding-bottom:12px}.drawer{top:86px;max-height:calc(100vh - 86px)}}

/* En-tete et pied : deux colonnes fixes dans leur structure, logo toujours a gauche. */
.site-header .header-inner{display:grid;grid-template-columns:minmax(0,520px) minmax(0,1fr);align-items:center;column-gap:18px}
.site-header .header-actions{justify-self:end;min-width:0;flex-wrap:wrap;justify-content:flex-end}
.footer .footer-inner{display:grid;grid-template-columns:minmax(0,550px) minmax(0,1fr);align-items:center;column-gap:18px}
.footer .footer-content{min-width:0;display:flex;align-items:center;justify-content:flex-end;gap:12px 20px;flex-wrap:wrap;text-align:right}
.footer .footer-content>div:first-child{display:flex;flex-wrap:wrap;gap:5px 12px;justify-content:flex-end}
.footer .footer-content>div:first-child a{margin:0}
.footer .footer-content .social-links{flex-wrap:nowrap}
.footer .footer-content small{overflow-wrap:anywhere}
@media(max-width:900px){.site-header .header-inner{grid-template-columns:minmax(0,340px) minmax(0,1fr)}.footer .footer-inner{grid-template-columns:minmax(0,400px) minmax(0,1fr)}}
@media(max-width:680px){.site-header .header-inner{grid-template-columns:225px minmax(0,1fr)}.footer .footer-inner{grid-template-columns:minmax(0,300px) minmax(0,1fr)}.footer .footer-content{gap:8px 12px}}
@media(max-width:440px){.site-header .header-inner{grid-template-columns:165px minmax(0,1fr)}.footer .footer-inner{grid-template-columns:minmax(0,260px) minmax(0,1fr)}.footer .footer-content{font-size:16px}.footer .footer-content .social-links{gap:4px}}

/* En-tete compact : hauteur determinee par le logo visible, pas par son ancienne boite de 188px. */
.site-header .header-inner{min-height:0;padding-top:5px;padding-bottom:5px}
.site-header .brand{height:86px}
.site-header .brand img{width:100%;height:100%;object-fit:contain;object-position:left center}
@media(max-width:900px){.site-header .brand{height:76px}}
@media(max-width:680px){.site-header .brand{height:65px}.drawer{top:75px;max-height:calc(100vh - 75px)}}
@media(max-width:440px){.site-header .brand{height:58px}.drawer{top:68px;max-height:calc(100vh - 68px)}}

/* Logo recadre : hauteur visible agrandie sans bande rose inutile. */
.site-header .header-inner{grid-template-columns:minmax(0,440px) minmax(0,1fr);padding-top:4px;padding-bottom:4px}
.site-header .brand{width:440px;height:120px}
.footer .footer-inner{grid-template-columns:minmax(0,440px) minmax(0,1fr)}
.footer .brand{width:440px;height:125px}
@media(max-width:900px){.site-header .header-inner{grid-template-columns:minmax(0,310px) minmax(0,1fr)}.site-header .brand{width:310px;height:92px}.footer .footer-inner{grid-template-columns:minmax(0,310px) minmax(0,1fr)}.footer .brand{width:310px;height:95px}}
@media(max-width:680px){.site-header .header-inner{grid-template-columns:190px minmax(0,1fr)}.site-header .brand{width:190px;height:65px}.footer .footer-inner{grid-template-columns:190px minmax(0,1fr)}.footer .brand{width:190px;height:70px}.drawer{top:73px;max-height:calc(100vh - 73px)}}
@media(max-width:440px){.site-header .header-inner{grid-template-columns:145px minmax(0,1fr)}.site-header .brand{width:145px;height:52px}.footer .footer-inner{grid-template-columns:145px minmax(0,1fr)}.footer .brand{width:145px;height:58px}.drawer{top:60px;max-height:calc(100vh - 60px)}}

/* Logo x2 sur grand ecran, marges compactes et colonnes preservees. */
@media(min-width:1101px){.site-header .header-inner{grid-template-columns:minmax(0,760px) minmax(0,1fr)}.site-header .brand{width:760px;height:210px}.footer .footer-inner{grid-template-columns:minmax(0,760px) minmax(0,1fr)}.footer .brand{width:760px;height:210px}}
@media(min-width:901px) and (max-width:1100px){.site-header .header-inner{grid-template-columns:minmax(0,520px) minmax(0,1fr)}.site-header .brand{width:520px;height:150px}.footer .footer-inner{grid-template-columns:minmax(0,520px) minmax(0,1fr)}.footer .brand{width:520px;height:150px}}

/* En-tete compact : conserver la taille du logo tout en supprimant l'espace rose autour. */
@media(min-width:1101px){
 .site-header .header-inner{min-height:0;padding-top:2px;padding-bottom:2px}
 .site-header .brand{height:210px;margin-top:-42px;margin-bottom:-42px}
 .footer .brand{height:210px;margin-top:-32px;margin-bottom:-32px}
}
@media(min-width:901px) and (max-width:1100px){
 .site-header .brand{margin-top:-24px;margin-bottom:-24px}
 .footer .brand{margin-top:-20px;margin-bottom:-20px}
}

/* Meme alignement horizontal du logo dans l'en-tete et le pied de page. */
.footer .brand{justify-self:start;margin-left:0}
.footer .brand img{object-position:left center}
@media(min-width:1101px){.footer .brand{width:760px;height:210px}}
@media(min-width:901px) and (max-width:1100px){.footer .brand{width:520px;height:150px}}
@media(min-width:681px) and (max-width:900px){.footer .brand{width:310px;height:95px}}
@media(min-width:441px) and (max-width:680px){.footer .brand{width:190px;height:70px}}
@media(max-width:440px){.footer .brand{width:145px;height:58px}}

/* Mobile : logos plus lisibles, meme alignement a gauche, sans espace rose excessif. */
@media(min-width:441px) and (max-width:680px){
 .site-header .header-inner,.footer .footer-inner{grid-template-columns:minmax(0,255px) minmax(0,1fr);column-gap:8px}
 .site-header .brand,.footer .brand{width:255px;height:92px}
 .site-header .brand{margin-top:-13px;margin-bottom:-13px}
 .footer .brand{margin-top:-10px;margin-bottom:-10px}
 .drawer{top:74px;max-height:calc(100vh - 74px)}
}
@media(max-width:440px){
 .site-header .header-inner,.footer .footer-inner{grid-template-columns:minmax(0,195px) minmax(0,1fr);column-gap:6px}
 .site-header .brand,.footer .brand{width:195px;height:74px}
 .site-header .brand{margin-top:-10px;margin-bottom:-10px}
 .footer .brand{margin-top:-8px;margin-bottom:-8px}
 .drawer{top:62px;max-height:calc(100vh - 62px)}
}

/* En-tete : ne plus reserver une colonne vide de la largeur du SVG. */
.site-header .header-inner{display:flex;justify-content:space-between;align-items:center;column-gap:8px}
.site-header .brand{flex:0 1 auto;min-width:0}
.site-header .header-actions{display:flex;flex:0 0 auto;flex-wrap:nowrap;align-items:center;justify-content:flex-end;gap:8px;white-space:nowrap}
.site-header .language-switch{white-space:nowrap}
@media(max-width:680px){.site-header .header-inner{column-gap:4px}.site-header .header-actions{gap:5px}.site-header .reserve-btn{padding:8px 10px;font-size:12px}.site-header .menu-toggle{width:40px;height:40px;flex-shrink:0}.site-header .brand{flex-shrink:1}}
@media(max-width:440px){.site-header .reserve-btn{padding:7px 8px;font-size:11px}.site-header .menu-toggle{width:36px;height:38px}.site-header .header-actions{gap:4px}}

/* Uniformiser la taille visible des logos en-tete/pied selon chaque format. */
.site-header .brand img,.footer .brand img{display:block;width:100%;height:100%;object-fit:contain;object-position:left center}
@media(min-width:1101px){.site-header .brand,.footer .brand{width:760px;height:210px}}
@media(min-width:901px) and (max-width:1100px){.site-header .brand,.footer .brand{width:520px;height:150px}}
@media(min-width:681px) and (max-width:900px){.site-header .brand,.footer .brand{width:310px;height:95px}}
@media(min-width:441px) and (max-width:680px){.site-header .brand,.footer .brand{width:255px;height:92px}}
@media(max-width:440px){.site-header .brand,.footer .brand{width:195px;height:74px}}

/* Mobile : logo prioritaire, pied de page sans colonne droite etroite. */
@media(max-width:680px){
 .site-header .header-inner{gap:2px;padding-left:12px;padding-right:12px}
 .site-header .brand{width:clamp(205px,52vw,310px);height:96px;flex:1 1 auto;min-width:0;margin-top:-14px;margin-bottom:-14px}
 .site-header .brand img{width:100%;height:100%;object-fit:contain;object-position:left center}
 .site-header .header-actions{gap:4px;flex:0 0 auto}
 .site-header .language-switch{font-size:11px;gap:3px}
 .site-header .reserve-btn{font-size:11px;padding:7px 8px}
 .site-header .menu-toggle{width:36px;height:38px}
 .footer .footer-inner{display:flex;flex-direction:column;align-items:stretch;gap:8px}
 .footer .brand{width:min(100%,420px);height:125px;margin:0;align-self:flex-start}
 .footer .footer-content{width:100%;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:9px;text-align:left}
 .footer .footer-content>div:first-child{width:100%;display:flex;justify-content:flex-start;gap:8px 16px;flex-wrap:wrap}
 .footer .footer-content>div:first-child a{margin-right:0;white-space:nowrap}
 .footer .footer-content .social-links{justify-content:flex-start}
 .footer .footer-content small{display:block;text-align:left}
}
@media(max-width:440px){
 .site-header .brand{width:clamp(180px,50vw,240px);height:88px;margin-top:-13px;margin-bottom:-13px}
 .site-header .header-inner{padding-left:10px;padding-right:10px}
 .footer .brand{height:112px}
 .footer .footer-content>div:first-child{gap:6px 12px}
}

/* Mobile : deux colonnes reelles, logo prioritaire et contenu a droite sans vide artificiel. */
@media(max-width:680px){
 .site-header .header-inner{display:grid;grid-template-columns:minmax(0,1fr) max-content;column-gap:2px;padding-left:6px;padding-right:6px;align-items:center}
 .site-header .brand{display:block;width:100%;height:125px;min-width:0;margin-top:-22px;margin-bottom:-22px;overflow:visible}
 .site-header .brand img{width:100%;height:100%;object-fit:contain;object-position:left center}
 .site-header .header-actions{justify-self:end;flex-wrap:nowrap;gap:3px}
 .site-header .language-switch{font-size:10px;gap:2px}
 .site-header .reserve-btn{padding:6px 6px;font-size:10px}
 .site-header .menu-toggle{width:32px;height:35px}
 .footer .footer-inner{display:grid;grid-template-columns:minmax(0,57%) minmax(0,43%);column-gap:0;align-items:center}
 .footer .brand{width:100%;height:140px;margin:0;min-width:0;justify-self:start;align-self:center}
 .footer .footer-content{width:100%;min-width:0;display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:6px 9px;text-align:left}
 .footer .footer-content>div:first-child{width:auto;display:flex;flex-wrap:wrap;gap:4px 9px;justify-content:flex-start}
 .footer .footer-content>div:first-child a{white-space:nowrap;margin-right:0}
 .footer .footer-content .social-links{justify-content:flex-start}
 .footer .footer-content small{display:block;overflow-wrap:anywhere}
}
@media(max-width:440px){
 .site-header .header-inner{padding-left:4px;padding-right:4px}
 .site-header .brand{width:100%;height:125px;margin-top:-22px;margin-bottom:-22px}
 .footer .brand{width:100%;height:135px}
 .footer .footer-inner{grid-template-columns:minmax(0,57%) minmax(0,43%)}
}

/* Telephone tourne en paysage : exploiter toute la largeur disponible. */
@media(orientation:landscape) and (max-width:950px) and (max-height:550px){
 .site-header .header-inner{display:grid;grid-template-columns:minmax(0,1fr) max-content;column-gap:4px;padding-left:clamp(8px,2vw,18px);padding-right:clamp(8px,2vw,18px)}
 .site-header .brand{width:100%;height:clamp(105px,16vw,155px);min-width:0;margin-top:-24px;margin-bottom:-24px}
 .site-header .brand img{width:100%;height:100%;object-fit:contain;object-position:left center}
 .site-header .header-actions{white-space:nowrap;gap:6px}
 .footer .footer-inner{display:grid;grid-template-columns:minmax(0,43%) minmax(0,57%);column-gap:0;align-items:center}
 .footer .brand{width:100%;height:clamp(110px,17vw,155px);min-width:0;margin:0}
 .footer .footer-content{width:100%;min-width:0;display:flex;flex-direction:row;flex-wrap:wrap;justify-content:flex-start;align-items:center;gap:6px 12px;text-align:left;font-size:clamp(14px,1.9vw,17px)}
 .footer .footer-content>div:first-child{width:auto;display:flex;flex-wrap:nowrap;gap:8px;justify-content:flex-start}
 .footer .footer-content>div:first-child a{margin-right:0;white-space:nowrap}
 .footer .footer-content .social-links{flex-wrap:nowrap;gap:6px}
 .footer .footer-content small{font-size:clamp(12px,1.65vw,15px);white-space:normal}
}

/* iPhone paysage : couvrir les largeurs CSS reelles des grands telephones. */
@media(orientation:landscape) and (max-width:1200px) and (max-height:650px){
 .site-header .header-inner{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:3px clamp(12px,3vw,32px)}
 .site-header .brand{display:block;flex:0 1 43%;width:43%;height:clamp(110px,16vw,165px);min-width:0;margin:-24px 0}
 .site-header .brand img{width:100%;height:100%;object-fit:contain;object-position:left center}
 .site-header .header-actions{flex:0 0 auto;gap:8px;white-space:nowrap}
 .footer .footer-inner{display:grid;grid-template-columns:minmax(0,35%) minmax(0,65%);gap:0;align-items:center}
 .footer .brand{display:block;width:100%;height:clamp(110px,15vw,165px);margin:0;min-width:0}
 .footer .brand img{width:100%;height:100%;object-fit:contain;object-position:left center}
 .footer .footer-content{width:100%;min-width:0;display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:7px 14px;text-align:left}
 .footer .footer-content>div:first-child{display:flex;width:auto;flex-wrap:nowrap;justify-content:flex-start;gap:10px}
 .footer .footer-content>div:first-child a{white-space:nowrap;margin:0}
 .footer .footer-content .social-links{display:flex;flex-wrap:nowrap;gap:8px}
 .footer .footer-content small{width:100%;text-align:left;white-space:normal}
}

/* Pied paysage : dimensionner la colonne sur le logo VISIBLE, pas sur une fraction vide. */
@media(orientation:landscape) and (min-width:681px) and (max-height:650px){
 .footer .footer-inner{display:flex;flex-wrap:nowrap;align-items:center;justify-content:flex-start;gap:clamp(12px,2vw,24px)}
 .footer .brand{flex:0 0 clamp(230px,27vw,330px);width:clamp(230px,27vw,330px);height:105px;margin:0}
 .footer .footer-content{flex:1 1 0;width:auto;min-width:0;display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:8px 14px;text-align:left}
 .footer .footer-content>div:first-child{display:flex;flex-wrap:nowrap;gap:10px;white-space:nowrap}
 .footer .footer-content .social-links{display:flex;flex-wrap:nowrap;gap:8px}
 .footer .footer-content small{flex:0 0 100%;width:100%;text-align:left}
}

/* Paysage mobile : etaler les liens, reseaux et adresse sur la largeur libre. */
@media(orientation:landscape) and (min-width:681px) and (max-height:650px){
 .footer .footer-content{display:grid;grid-template-columns:minmax(0,1fr) max-content;grid-template-rows:auto auto;column-gap:clamp(12px,2vw,30px);row-gap:8px;align-items:center;justify-content:stretch;width:100%;text-align:right}
 .footer .footer-content>div:first-child{grid-column:1;grid-row:1;display:flex;flex-wrap:nowrap;align-items:center;justify-content:space-between;width:100%;gap:8px}
 .footer .footer-content .social-links{grid-column:2;grid-row:1;display:flex;align-items:center;justify-content:flex-end;gap:clamp(10px,2vw,24px);margin-left:auto}
 .footer .footer-content small{grid-column:1 / -1;grid-row:2;width:100%;text-align:right;white-space:nowrap}
}

/* Pied sur ecran large : supprimer la grande colonne fantome du logo. */
@media(min-width:901px){
 .footer .footer-inner{display:flex;align-items:center;justify-content:space-between;gap:clamp(16px,2vw,32px)}
 .footer .brand{flex:0 0 clamp(260px,24vw,350px);width:clamp(260px,24vw,350px);height:105px;margin:0;min-width:0}
 .footer .brand img{width:100%;height:100%;object-fit:contain;object-position:left center}
 .footer .footer-content{flex:1 1 0;width:auto;min-width:0;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px 16px;text-align:right}
 .footer .footer-content>div:first-child{display:flex;flex:0 0 auto;align-items:center;flex-wrap:nowrap;gap:clamp(10px,1.4vw,22px);justify-content:flex-start}
 .footer .footer-content>div:first-child a{white-space:nowrap;margin:0}
 .footer .footer-content .social-links{display:flex;flex:0 0 auto;flex-wrap:nowrap;gap:clamp(8px,1.2vw,18px)}
 .footer .footer-content small{flex:0 1 auto;width:auto;min-width:0;white-space:normal;text-align:right}
}

/* Pied : groupe compact aligne a droite, sans justification etiree. */
@media(min-width:681px){
 .footer .footer-content{display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;align-content:center;justify-content:flex-end;gap:8px 18px;text-align:right}
 .footer .footer-content>div:first-child{display:flex;flex:0 0 auto;width:auto;align-items:center;justify-content:flex-end;flex-wrap:nowrap;gap:clamp(12px,1.4vw,22px)}
 .footer .footer-content>div:first-child a{margin:0;white-space:nowrap}
 .footer .footer-content .social-links{display:flex;flex:0 0 auto;align-items:center;justify-content:flex-end;gap:clamp(10px,1.2vw,18px);margin:0}
 .footer .footer-content small{flex:0 0 auto;width:auto;max-width:100%;margin:0;text-align:right;white-space:normal}
}
@media(orientation:landscape) and (min-width:681px) and (max-height:650px){
 .footer .footer-content{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px 16px}
 .footer .footer-content>div:first-child{width:auto;justify-content:flex-end;gap:clamp(10px,1.5vw,20px)}
 .footer .footer-content .social-links{margin:0;gap:clamp(10px,1.3vw,18px)}
 .footer .footer-content small{width:auto;max-width:100%;text-align:right}
}
@media(max-width:680px){
 .footer .footer-content{justify-content:flex-end;text-align:right}
 .footer .footer-content>div:first-child{justify-content:flex-end;gap:8px 12px}
 .footer .footer-content .social-links{justify-content:flex-end}
 .footer .footer-content small{text-align:right}
}

/* Portrait mobile : liens et reseaux dans un seul flux, maximum d'espace a droite. */
@media(orientation:portrait) and (max-width:680px){
 .footer .footer-inner{display:grid;grid-template-columns:minmax(0,36%) minmax(0,64%);column-gap:0;align-items:center}
 .footer .brand{width:100%;height:115px;min-width:0;margin:0}
 .footer .footer-content{display:flex;width:100%;min-width:0;flex-direction:row;flex-wrap:wrap;align-items:center;align-content:center;justify-content:flex-end;gap:7px 10px;text-align:right;font-size:clamp(14px,3.6vw,17px);line-height:1.15}
 .footer .footer-content>div:first-child,.footer .footer-content .social-links{display:contents}
 .footer .footer-content a{display:inline-flex;align-items:center;flex:0 0 auto;margin:0;white-space:nowrap}
 .footer .footer-content small{flex:0 0 100%;width:100%;margin:0;text-align:right;font-size:clamp(12px,3.1vw,15px);line-height:1.2;overflow-wrap:normal}
}

/* Bureau : meme taille visible du logo en tete et en pied, sans reduire les liens. */
@media(min-width:1101px){
 .footer .brand{flex:0 0 760px;width:760px;height:210px;margin-top:-32px;margin-bottom:-32px}
 .footer .footer-inner{gap:12px}
 .footer .footer-content{flex:1 1 0;min-width:0;justify-content:flex-end;gap:8px 12px}
}
@media(min-width:901px) and (max-width:1100px){
 .footer .brand{flex:0 0 520px;width:520px;height:150px;margin-top:-20px;margin-bottom:-20px}
 .footer .footer-inner{gap:8px}
 .footer .footer-content{flex:1 1 0;min-width:0;justify-content:flex-end;gap:7px 10px}
}

/* Pied : trois groupes inseparables (menus, reseaux, adresse), alignes a droite. */
.footer .footer-content>div:first-child{display:flex;flex:0 0 auto;flex-wrap:nowrap;align-items:center;justify-content:flex-end;width:auto;gap:clamp(8px,1.2vw,18px)}
.footer .footer-content>div:first-child a{display:inline-block;flex:0 0 auto;white-space:nowrap;margin:0}
.footer .footer-content .social-links{display:flex;flex:0 0 auto;flex-wrap:nowrap;align-items:center;justify-content:flex-end;width:auto;gap:clamp(8px,1vw,15px)}
.footer .footer-content small{display:block;flex:0 0 auto;width:auto;max-width:100%;white-space:nowrap;overflow-wrap:normal;text-align:right}
@media(max-width:680px){
 .footer .footer-inner{display:grid;grid-template-columns:minmax(0,31%) minmax(0,69%);column-gap:0;align-items:center}
 .footer .brand{width:100%;height:115px;min-width:0;margin:0}
 .footer .footer-content{display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;align-content:center;justify-content:flex-end;gap:8px 12px;width:100%;min-width:0;text-align:right;font-size:clamp(13px,3.45vw,17px)}
 .footer .footer-content>div:first-child{display:flex;flex-wrap:nowrap;gap:clamp(7px,1.6vw,12px);white-space:nowrap}
 .footer .footer-content .social-links{display:flex;flex-wrap:nowrap;gap:10px}
 .footer .footer-content small{flex:0 0 auto;width:auto;max-width:none;white-space:nowrap;font-size:clamp(10px,2.65vw,14px);letter-spacing:-.015em}
}
@media(orientation:landscape) and (min-width:681px) and (max-height:650px){
 .footer .footer-content{display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px 16px}
 .footer .footer-content>div:first-child{display:flex;flex-wrap:nowrap;justify-content:flex-end;width:auto}
 .footer .footer-content .social-links{display:flex;flex-wrap:nowrap}
 .footer .footer-content small{width:auto;max-width:100%;white-space:nowrap}
}

/* PC : la largeur du SVG ne doit pas reserver 760 px vides dans le pied. */
@media(min-width:1101px){
 .footer .footer-inner{display:flex;align-items:center;justify-content:space-between;gap:clamp(14px,2vw,28px)}
 .footer .brand{flex:0 0 clamp(260px,25vw,370px);width:clamp(260px,25vw,370px);height:125px;margin:0}
 .footer .footer-content{flex:1 1 auto;width:auto;min-width:0;display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:8px 14px}
 .footer .footer-content>div:first-child{flex:0 0 auto;gap:clamp(10px,1vw,16px)}
 .footer .footer-content .social-links{flex:0 0 auto;gap:clamp(8px,1vw,14px)}
 .footer .footer-content small{flex:0 0 auto;width:auto;white-space:nowrap}
}
@media(min-width:901px) and (max-width:1100px){
 .footer .brand{flex:0 0 260px;width:260px;height:100px;margin:0}
 .footer .footer-content{flex:1 1 auto;min-width:0;justify-content:flex-end}
}

/* Accueil paysage : montrer l'illustration complete, sans recadrage, dans l'espace sous l'en-tete. */
@media(min-width:681px) and (orientation:landscape){
 .hero{display:flex;align-items:center;justify-content:center;box-sizing:border-box;padding:0;background:var(--rose)}
 .hero picture{display:flex;align-items:center;justify-content:center;width:100%;max-width:100%;margin:0 auto}
 .hero picture img{display:block;width:auto;height:auto;max-width:100%;max-height:calc(100svh - 130px);object-fit:contain;object-position:center}
}

/* Accueil paysage : hauteur de fenetre avec plancher de lisibilite a 500 px. */
@media(min-width:681px) and (orientation:landscape){
 .hero picture{width:100%;max-width:100%;display:flex;align-items:center;justify-content:center}
 .hero picture img{display:block;width:100%;height:max(500px,calc(100svh - 130px));max-height:none;max-width:100%;object-fit:contain;object-position:center}
}

/* En-tete : separations genereuses, type tabulation, entre langue, reservation et menu. */
@media(min-width:681px){
 .site-header .header-actions{column-gap:clamp(24px,3vw,48px);row-gap:8px;flex-wrap:nowrap}
}
@media(max-width:680px){
 .site-header .header-actions{column-gap:clamp(8px,2vw,16px);flex-wrap:nowrap}
}

/* Carte fournie dans le bloc de localisation de Nous joindre. */
.contact-grid .map-box.map-photo{display:flex;flex-direction:column;align-items:stretch;justify-content:center;overflow:hidden;background:transparent;padding:0}
.contact-grid .map-box.map-photo img{display:block;width:100%;height:auto;max-width:100%;object-fit:contain}
.contact-grid .map-box.map-photo .map-route-link{display:block;align-self:center;margin:12px 12px 14px;text-align:center}

/* Signature Gaspesie : ecriture manuscrite et contour rouge comme l identite d accueil. */
.gaspésie-signature{font-family:Allura,cursive;font-weight:400;font-size:clamp(5rem,18vw,17rem);line-height:1;text-align:center;color:var(--cream);-webkit-text-stroke:2px var(--red);paint-order:stroke fill;margin:0;overflow-wrap:normal}
@media(max-width:680px){.gaspésie-signature{font-size:clamp(4.5rem,18vw,8rem);-webkit-text-stroke:1.4px var(--red)}}

/* Deux actions de contact distinctes a droite de la carte. */
.contact-actions{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:18px}
.contact-actions .cta{display:inline-flex;align-items:center;justify-content:center;margin:0}

/* Lettrage Gaspesie : Allura creme epais et contour rouge, centre comme la signature d'accueil. */
.gaspésie-signature{font-family:'Allura',cursive;font-weight:400;font-style:normal;font-size:clamp(5rem,18vw,17rem);line-height:1.12;letter-spacing:0;text-transform:none;text-align:center;color:var(--cream);-webkit-text-stroke:clamp(2px,.45vw,6px) var(--red);paint-order:stroke fill;text-shadow:1px 0 var(--cream),-1px 0 var(--cream),0 1px var(--cream),0 -1px var(--cream);margin:0 auto;max-width:100%;}
@media(max-width:680px){.gaspésie-signature{font-size:clamp(4.2rem,17vw,8rem);-webkit-text-stroke:2px var(--red)}}

/* Ajustements selon la maquette de reference : signature XXL et boutons aux tiers de la carte. */
.contact-grid{align-items:stretch}
.contact-grid .contact-actions{position:relative;display:block;min-height:100%;align-self:stretch}
.contact-grid .contact-actions .cta{position:absolute;left:0;width:100%;box-sizing:border-box;min-height:58px;white-space:nowrap;padding:12px 10px;text-align:center;margin:0}
.contact-grid .contact-actions .cta:first-child{top:33.333%;transform:translateY(-50%)}
.contact-grid .contact-actions .cta:last-child{top:66.667%;transform:translateY(-50%)}
.contact-grid .gaspésie-signature{font-family:'Allura',cursive}
.section.rose .gaspésie-signature{display:block;width:100%;font-family:'Allura',cursive;font-size:clamp(7rem,22vw,22rem);font-weight:400;line-height:1.12;text-align:center;text-transform:none;letter-spacing:0;color:#fff9e8;-webkit-text-stroke:clamp(5px,1vw,15px) #db230e;paint-order:stroke fill;text-shadow:none;margin:0 auto;}
@media(max-width:900px){.contact-grid .contact-actions{display:flex;position:static;flex-direction:row;align-items:center;justify-content:center;gap:18px;min-height:0}.contact-grid .contact-actions .cta{position:static;transform:none!important;width:min(100%,240px)}}
@media(max-width:680px){.contact-grid .contact-actions{flex-direction:column}.section.rose .gaspésie-signature{font-size:clamp(5.5rem,21vw,12rem);-webkit-text-stroke:clamp(4px,1vw,8px) #db230e}}

/* Liens du selecteur bilingue actifs dans les deux versions. */
.language-switch .language-available{color:inherit;text-decoration:none;opacity:.72;cursor:pointer}
.language-switch .language-available:hover,.language-switch .language-available:focus-visible{color:var(--red);opacity:1;text-decoration:underline;text-underline-offset:4px}


/* Ovales inspirés de la bulle « Bienvenue, welcome » de l'accueil. */
.oval-label{
  display:flex;align-items:center;justify-content:center;
  width:min(100%,360px);min-height:118px;
  margin:20px auto 10px;padding:24px 32px;
  background:#fff9e9;border:4px solid var(--red);
  border-radius:50%;color:var(--red);
  font-family:Allura,cursive;font-size:clamp(2rem,3vw,2.8rem);
  font-weight:400;line-height:1.05;text-align:center;
  text-transform:none;transform:none;box-sizing:border-box;
}
.service-feature{min-width:0;display:flex;flex-direction:column;align-items:center}
.service-feature .service-card{width:100%;display:block}
.service-feature .oval-label{margin:22px auto 0}
.split aside .oval-label{margin-left:auto;margin-right:auto}
@media(max-width:680px){.oval-label{min-height:100px;padding:20px 25px;font-size:2.2rem}}


/* Lettrage Allura renforce, comme le message Bienvenue / welcome du visuel d'accueil. */
.oval-label{
  font-family:'Allura',cursive;
  font-size:clamp(2.05rem,2.7vw,2.65rem);
  font-weight:400;
  color:#d52b13;
  -webkit-text-stroke:.65px #d52b13;
  paint-order:stroke fill;
  text-shadow:.5px 0 #d52b13,-.5px 0 #d52b13;
  line-height:1.08;
  text-align:center;
  overflow-wrap:normal;
  hyphens:none;
}
.oval-label.oval-spa{
  width:min(100%,430px);
  padding:22px 14px;
  min-height:116px;
  font-size:clamp(1.6rem,2.4vw,2.45rem);
  white-space:nowrap;
}
@media(max-width:680px){
 .oval-label.oval-spa{font-size:clamp(1.4rem,4.8vw,2.2rem);padding:20px 10px}
}


/* Deux ovales À propos : centrés sous la photo, cohérents avec les autres pages. */
.about-ovals{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:16px;margin-top:20px}
.about-ovals .oval-label{width:auto;min-width:170px;max-width:100%;min-height:100px;margin:0;padding:20px 28px;font-size:clamp(1.8rem,2.5vw,2.45rem);white-space:nowrap}
@media(max-width:680px){.about-ovals{gap:12px}.about-ovals .oval-label{min-width:145px;min-height:85px;padding:15px 22px;font-size:2rem}}

/* Confidentialite */
.privacy-page{max-width:850px;margin-inline:auto}
.privacy-page h1{margin-bottom:24px}
.privacy-page h2{font-size:clamp(1.45rem,2.3vw,2rem);margin:32px 0 12px}
.privacy-page p{line-height:1.7;margin:0 0 16px}
.privacy-page a{text-decoration:underline;text-underline-offset:3px}
.footer-privacy-link{display:inline-block;font-size:.86rem;opacity:.85;margin:10px 0 6px}

/* Essai de palette : pied rose comme l'en-tete, logo beige fidele a l'original. */
.footer{background:var(--rose);color:var(--cream)}
.footer .footer-content a,.footer .footer-content small{color:var(--cream)}
.footer .social-links a{color:var(--cream)}
.footer .footer-privacy-link{color:var(--cream)}
