*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:#fffcf7;color:#263f3b;font:16px/1.6 ui-rounded,"Trebuchet MS",Arial,sans-serif}a{color:inherit;text-decoration:none}header,main,footer{max-width:1240px;margin:auto}header{display:flex;align-items:center;gap:24px;padding:26px 24px;flex-wrap:wrap}.brand{font-size:24px;font-weight:800;line-height:1.3}.brand span{display:block;font-size:12px;font-weight:400;letter-spacing:1px}nav{display:flex;gap:22px;flex-wrap:wrap;margin-left:auto}nav a{font-size:14px}button,.button{border:0;border-radius:30px;background:#e99b84;color:#243d38;padding:14px 22px;font:inherit;font-weight:700;cursor:pointer;display:inline-block}button:hover,.button:hover{background:#edb09d}section{padding:52px 24px}h1{font-size:clamp(38px,4.8vw,64px);line-height:1.12;letter-spacing:-2px;margin:22px 0}h1 em{color:#54867c;font-style:normal}h2{font-size:clamp(27px,3vw,38px);line-height:1.25;letter-spacing:-1px;margin:12px 0 20px}h3{line-height:1.35;font-size:21px}p{color:#586a64}.eyebrow{font-size:11px;font-weight:700;letter-spacing:2px;color:#527c72}.hero{display:grid;grid-template-columns:1.1fr 1fr;gap:48px;align-items:center;padding-top:35px}.hero img{width:100%;height:410px;object-fit:cover;border-radius:100px 24px 24px 24px}.hero p{max-width:510px;font-size:18px}.textlink{display:inline-block;margin-top:14px;font-weight:700}.search{margin:10px 24px 30px;padding:16px 20px;display:grid;grid-template-columns:1.2fr 1fr 1.2fr .7fr auto;gap:15px;align-items:center;background:white;border:1px solid #ece9df;border-radius:60px;box-shadow:0 12px 35px #344b3910}label{display:flex;flex-direction:column;gap:5px;font-size:13px;font-weight:700;min-width:0}input,select,textarea{font:inherit;width:100%;min-width:0;padding:12px;border:1px solid #d9e0d9;border-radius:12px;background:#fff;color:#263f3b}.search input,.search select{border:0;padding:5px 0;background:transparent}.sectionhead{display:flex;justify-content:space-between;align-items:center;gap:24px}.chips{display:flex;gap:10px;flex-wrap:wrap;margin:24px 0}.chips button{background:#f0eee6;padding:10px 20px;font-size:14px}.chips button[aria-pressed=true]{background:#d8e9e2;color:#244e43}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}article{background:white;border-radius:24px;overflow:hidden;box-shadow:0 8px 28px #344b390c;border:1px solid #ecece4}article[hidden]{display:none}article>img{width:100%;height:225px;object-fit:cover}.cardbody{padding:24px}.cardbody h3{margin:12px 0}.cardbody a{font-weight:700;font-size:14px}.tag{font-size:12px;color:#527c72}.sand{background:#f3eee3;border-radius:32px;margin:20px 0}.staygrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.staygrid a{padding:18px;background:#fffcf8;border-radius:16px;font-weight:700}.staygrid span{display:block;font-size:12px;font-weight:400;color:#60786e}.tablewrap{border:1px solid #e1e6dc;border-radius:20px;overflow:hidden}table{width:100%;border-collapse:collapse;font-size:15px}caption{text-align:left;padding:18px;background:#e6eee5}th,td{text-align:left;padding:14px;border-bottom:1px solid #e7e9e1}th{background:#f2f5ee}td:first-child{width:54%}#booking{display:grid;grid-template-columns:1fr 1fr;gap:20px;max-width:850px}.wide{grid-column:1/-1}.consent{flex-direction:row;align-items:flex-start;font-weight:400}.consent input{width:18px;flex-shrink:0;margin-top:6px}.contactgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.contactgrid a{overflow-wrap:anywhere}footer{border-top:1px solid #e6e7de;padding:35px 24px;font-size:13px}.mobilebar{display:none}:focus-visible{outline:3px solid #54867c;outline-offset:4px}@media(max-width:1000px){header>.button{display:none}.hero{gap:24px}.hero img{height:340px}.search{grid-template-columns:1fr 1fr;border-radius:24px}.search button{grid-column:1/-1}.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.contactgrid{grid-template-columns:1fr 1fr}.sectionhead{display:block}}@media(max-width:600px){header{gap:18px;padding:20px}nav{margin:0;gap:12px 20px;width:100%}nav a{font-size:14px}section{padding:32px 20px}.hero{grid-template-columns:1fr;padding-top:20px;gap:24px}.hero img{height:260px;border-radius:60px 24px 24px 24px}h1{letter-spacing:-1px}.hero p{font-size:16px}.search{margin:10px 20px;grid-template-columns:1fr;padding:20px}.search input,.search select{padding:10px 0}.cards,.staygrid,.contactgrid,#booking{grid-template-columns:1fr}.cards{gap:20px}.sand{border-radius:24px;margin:14px 8px}th,td{padding:12px 8px;font-size:12px}.mobilebar{display:flex;position:fixed;bottom:0;left:0;right:0;background:#fffcf7;border-top:1px solid #ddd;padding:12px 16px calc(12px + env(safe-area-inset-bottom));gap:12px;z-index:10}.mobilebar a{flex:1;text-align:center;padding:10px;border-radius:30px;background:#e99b84;font-weight:700}.mobilebar a+ a{background:#d8e9e2}body{padding-bottom:90px}footer{padding-bottom:35px}}.videorow{display:grid;grid-template-columns:repeat(2,minmax(0,290px));gap:20px;margin:28px 0 8px}
.videorow video{width:100%;border-radius:24px;aspect-ratio:9/16;object-fit:cover;background:#10312e;box-shadow:0 18px 40px rgba(31,64,58,.18)}
@media(max-width:600px){.videorow{grid-template-columns:1fr 1fr;gap:12px}}
.wideimg{width:100%;border-radius:24px;margin:20px 0 8px;box-shadow:0 18px 40px rgba(31,64,58,.16)}

/* Senior-friendly forms (owner request 2026-11-11) */
.formtitle{grid-column:1/-1;font-size:19px;font-weight:800;color:#173f3a;margin:0 0 4px}
.formhelp{font-size:16.5px;color:#33524b;background:#eaf4ee;border:1px solid #cfe3d6;border-radius:14px;padding:12px 16px;max-width:850px}
.hint{font-size:14px;font-weight:400;color:#5c7268}
.search{border:2px solid #bcd6cb;box-shadow:0 18px 44px rgba(23,63,58,.14)}
label{font-size:16px}
input,select,textarea{font-size:17px;padding:14px 16px;border:1.5px solid #b9cdc4;border-radius:14px;min-height:56px}
textarea{min-height:120px}
.search input,.search select{border:1.5px solid #b9cdc4;background:#fff;padding:14px 16px;border-radius:14px}
input::placeholder,textarea::placeholder{color:#87998f;opacity:1}
input:focus,select:focus,textarea:focus{outline:3px solid #7fb8a4;outline-offset:1px;border-color:#1d6a5c}
.search button{font-size:18px;padding:16px 28px}
#booking>button{font-size:18px;padding:16px 26px;min-height:58px}
.chips button{font-size:16px;padding:12px 18px}
.consent{font-size:15px;line-height:1.55}

/* Desktop polish (owner report 2026-11-11): direct-booking card layout,
   centred videos + booking form, model cards, image height cap */
section.directbook{display:block}
section.directbook .directgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:14px}
@media(max-width:700px){section.directbook .directgrid{grid-template-columns:1fr}}
@media(min-width:601px){.videorow{grid-template-columns:repeat(2,minmax(0,340px));justify-content:center}}
#booking{margin-inline:auto;max-width:900px}
#form-tabs{justify-content:center}
#reservation .formhelp{margin-inline:auto;max-width:900px}
#tarifs .cards{align-items:start}
.wideimg{max-height:520px;object-fit:cover}
@media(max-width:600px){.wideimg{max-height:none}}
