:root{--ink:#253244;--muted:#66707b;--paper:#f6f5f1;--line:#dcdedc;--accent:#677f73}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;color:var(--ink);font:16px/1.65 Arial,Helvetica,sans-serif;background:white}button,input,select{font:inherit}button,a{touch-action:manipulation}a{color:inherit;text-decoration:none}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #a37a34;outline-offset:5px}.preview{padding:6px 5%;background:#e8ece9;font-size:10px;font-weight:700;letter-spacing:1.3px;display:flex;justify-content:space-between}.preview span{font-weight:400;letter-spacing:.3px}.skip{position:absolute;left:-10000px}.skip:focus{left:20px;top:20px;background:white;z-index:9}header{padding:24px 5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{font-size:28px;font-weight:700;line-height:1.2;letter-spacing:-1px}.brand span{display:block;font-size:12px;font-weight:400;letter-spacing:.1px;margin-top:6px}nav{display:flex;align-items:center;gap:30px;font-size:13px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:30px;background:var(--ink);color:white;border:0;padding:17px 24px;font-size:13px;font-weight:600}.btn.small{font-size:12px;padding:13px 17px}.hero{display:grid;grid-template-columns:44% 56%;min-height:620px}.hero-copy{padding:65px 11% 55px}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:700;margin-bottom:22px}h1{font-size:clamp(45px,4.7vw,72px);line-height:1.04;font-weight:500;letter-spacing:-3px;margin:0 0 28px}h1 em{font-family:Georgia,serif;font-weight:400;color:var(--accent)}.hero-copy>p{max-width:350px;font-size:15px;color:var(--muted);margin-bottom:28px}.hero-note{font-size:11px;color:var(--muted);margin-top:20px}.hero-image{position:relative;background:#e0e4dc;overflow:hidden}.hero-image>img{width:100%;height:100%;position:absolute;object-fit:cover}.photo-caption{position:absolute;bottom:24px;left:26px;right:26px;background:#fffef6ed;padding:16px 20px;font-size:13px;display:flex;justify-content:space-between}.photo-caption span{font-size:9px;letter-spacing:1.5px}.facts{background:var(--ink);color:white;display:grid;grid-template-columns:repeat(4,1fr);padding:31px 5%;gap:20px}.facts>div{padding-left:25px;border-left:1px solid #ffffff35}.facts b{font-size:34px;font-weight:400;line-height:1.2;display:block}.facts small{font-size:17px}.facts span{font-size:11px;opacity:.75}.section{padding:80px 5%}.section-head{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:35px;gap:30px}.section-head>p{color:var(--muted);font-size:14px}h2{font-size:42px;line-height:1.15;letter-spacing:-1.5px;font-weight:500;margin:0 0 12px}.room-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}.room{padding:0;border:0;background:white;color:var(--ink);text-align:left}.room img{width:100%;height:260px;object-fit:cover;display:block;transition:filter .2s}.room:hover img{filter:brightness(.9)}.room-label{display:flex;justify-content:space-between;margin-top:18px;align-items:center}.room h3{font-size:21px;font-weight:500;margin:0}.room-label span{font-size:12px}.room p{font-size:12px;color:var(--muted);margin:5px 0 10px}.room b{font-size:12px;font-weight:500;border-bottom:1px solid var(--line);padding-bottom:5px}.subnote{font-size:12px;color:var(--muted);max-width:780px;margin-top:30px}.shared{background:var(--paper)}.space-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:24px}.space{position:relative;cursor:pointer;border:0;padding:0;background:var(--ink);text-align:left}.space img{width:100%;height:340px;object-fit:cover;display:block;opacity:.9}.space span{position:absolute;left:22px;bottom:18px;color:white;font-size:25px;text-shadow:0 1px 5px black}.amenities{display:flex;justify-content:space-between;flex-wrap:wrap;gap:15px;padding:28px 0 15px;font-size:12px;border-bottom:1px solid var(--line)}.text-links{display:flex;flex-wrap:wrap;gap:22px;padding-top:22px}.text-links button{border:0;border-bottom:1px solid #b7bfbb;background:none;font-size:12px;color:var(--ink);padding:0 0 4px}.location{display:grid;grid-template-columns:1fr 1fr;gap:12%}.location>div>p{max-width:390px;color:var(--muted);font-size:14px}.distances>div{display:flex;gap:28px;border-bottom:1px solid var(--line);padding:15px 0}.distances b{min-width:85px;font-size:27px;font-weight:400}.distances p{margin:0;font-size:15px}.distances p span{display:block;color:var(--muted);font-size:12px;margin-top:5px}.practical{background:var(--paper)}.practical-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:35px;margin-top:35px}.practical-grid>*{border:0;border-top:1px solid #b8c0bb;padding:22px 0 0;text-align:left;background:none;color:var(--ink)}.practical-grid span{font-size:12px;color:var(--muted)}h3{font-weight:500}.practical-grid h3{font-size:23px;margin:18px 0 10px}.practical-grid p{font-size:13px;color:var(--muted);min-height:50px;max-width:300px}.practical-grid b{font-size:12px;font-weight:500}.contact{background:var(--ink);color:white;text-align:center;padding:75px 20px}.contact h2{font-size:48px}.contact p{font-size:13px;color:#d3d8df;margin:25px 0}.btn.light{background:white;color:var(--ink)}.secondary-light{display:block;margin:22px auto 0;background:none;border:0;color:#d3d8df;font-size:12px}footer{padding:40px 5%;display:flex;justify-content:space-between;gap:30px;align-items:center}footer>div:last-child{display:flex;gap:22px;font-size:11px}footer button{border:0;background:none;color:inherit;padding:0;font-size:11px}dialog{border:0;padding:42px;width:min(850px,94vw);max-height:90vh;color:var(--ink);box-shadow:0 20px 100px #0004}dialog::backdrop{background:#162131aa;backdrop-filter:blur(3px)}.close{position:sticky;float:right;top:0;background:white;border:1px solid var(--line);width:35px;height:35px;font-size:25px;z-index:1}.gallery{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:25px}.gallery img{width:100%;height:260px;object-fit:cover;cursor:zoom-in}.gallery img.expanded{grid-column:1/-1;height:auto}.detail-copy p{font-size:14px}form .fields{display:grid;grid-template-columns:1fr 1fr;gap:16px}label{font-size:12px;display:block}input,select{display:block;width:100%;padding:11px;border:1px solid #bac2c9;background:white;color:var(--ink);margin-top:5px}fieldset{margin:20px 0;border:1px solid var(--line);padding:15px}fieldset label{display:inline-flex;align-items:center;gap:6px;margin-right:15px}input[type=checkbox]{width:auto;margin:0}.notice{background:#edf0eb;padding:13px;font-size:12px;margin:20px 0}.form-status{padding:14px;background:#e5eee5;font-size:14px;margin-top:15px}form>p{font-size:13px}.full{grid-column:1/-1}@media(min-width:1550px){body{max-width:1550px;margin:auto}}@media(max-width:900px){nav{gap:15px}nav .small{display:none}.hero{min-height:530px}.hero-copy{padding:45px 10%}.room-grid{grid-template-columns:repeat(2,1fr)}.room img{height:290px}.location{gap:6%}footer{align-items:flex-start}footer>div:last-child{flex-direction:column;gap:8px}}@media(max-width:600px){.preview{font-size:8px}.preview span{font-size:8px}header{padding:18px 6%;flex-wrap:wrap;gap:18px}.brand{font-size:25px}nav{width:100%;justify-content:space-between;font-size:12px}.hero{display:flex;flex-direction:column}.hero-copy{padding:40px 6%}.hero h1{font-size:53px}.hero-copy>p{max-width:none}.hero-image{height:330px}.facts{grid-template-columns:repeat(2,1fr);gap:22px;padding:30px 6%}.facts b{font-size:30px}.section{padding:48px 6%}h2{font-size:33px}.section-head{display:block}.section-head>p{font-size:13px}.room-grid{gap:25px 14px}.room img{height:200px}.room h3{font-size:19px}.room-label{display:block}.room-label span{font-size:11px}.space-grid,.location,.practical-grid{grid-template-columns:1fr}.space img{height:260px}.amenities{display:grid;grid-template-columns:1fr 1fr}.distances{margin-top:20px}.contact h2{font-size:35px}.contact{padding:50px 6%}footer{display:block}footer>div:last-child{margin-top:25px}.gallery{grid-template-columns:1fr}.gallery img{height:auto}dialog{padding:24px}form .fields{grid-template-columns:1fr}.practical-grid p{min-height:0}}

.meter-scroll{overflow-x:auto}.meters-table{border-collapse:collapse;width:100%;font-size:12px;white-space:nowrap}.meters-table caption{text-align:left;font-weight:700;margin-bottom:12px}.meters-table th,.meters-table td{padding:10px;border-bottom:1px solid #cbd1cc;text-align:right}.meters-table th:first-child,.meters-table td:first-child{text-align:left}.meter-reason{display:block;max-width:150px;white-space:normal;color:#675c42;font-size:10px}.meter-section>p{font-size:13px;color:var(--muted)}

/* Identité commune : Arial et bleu ardoise, blanc sur fonds sombres. */
:root { --muted: #253244; --accent: #253244; }
body, button, input, select, textarea { font-family: Arial, Helvetica, sans-serif; }
h1 em { font-family: inherit; font-style: normal; color: inherit; }
.section { padding-top: 40px; padding-bottom: 40px; }
main.page-content { min-height: 0; padding-top: 40px; padding-bottom: 40px; }
main.page-content h1 { font-size: 36px; line-height: 1.2; letter-spacing: -1px; margin: 16px 0 20px; }
.page-content .eyebrow { margin: 8px 0 0; }
.detail-copy p, .detail-copy li, .page-content > p { font-size: 17px; line-height: 1.6; }
.detail-copy p { margin: 0 0 14px; }
.equipment-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 5px 30px; padding-left: 22px; margin: 0 0 16px; }
.hero h1 { font-size: clamp(36px, 4vw, 52px); line-height: 1.12; letter-spacing: -1.5px; }
h2, .contact h2 { font-size: 30px; line-height: 1.2; letter-spacing: -.7px; }
.hero-copy > p, .location > div > p, .section-head > p, .practical-grid p { font-size: 17px; }
nav, .btn, .btn.small, .room p, .room b, .room-label span, .amenities, .text-links a, .back-link { font-size: 15px; }
.hero-copy { padding-top: 40px; padding-bottom: 40px; }
.hero { min-height: 520px; }
.facts span { opacity: 1; font-size: 14px; }
.contact { padding: 40px 20px; }
.contact p, .secondary-light { color: white; font-size: 16px; }
.hero-note, .subnote, label, .notice, form > p { font-size: 15px; }
footer { padding-top: 24px; padding-bottom: 24px; }
footer a, footer > div:last-child { font-size: 13px; }
@media (max-width: 600px) {
  main.page-content { padding-top: 28px; padding-bottom: 28px; }
  main.page-content h1 { font-size: 30px; }
  .equipment-list { grid-template-columns: 1fr; }
  nav { gap: 10px; font-size: 14px; }
  .hero { min-height: 0; }
}

/* Libelles au-dessus des champs, y compris dans les encadres. */
form .fields > label { display: block; min-width: 0; margin-right: 0; }
form .fields > label > input, form .fields > label > select { width: 100%; min-width: 0; box-sizing: border-box; }
