/* Typographie et contraste renforcés */
body{font-size:20px;line-height:1.75}button,.button,a[href]{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #d8bc80;outline-offset:4px}
.shade{background:linear-gradient(90deg,rgba(2,25,22,.42),rgba(2,25,22,.04) 68%),linear-gradient(0deg,rgba(2,25,22,.3),transparent 55%)}
.site-header nav,.reserve-link{font-size:14px;font-weight:600;text-shadow:0 2px 12px #001b16}
.eyebrow{font-size:14px;letter-spacing:.2em}
.hero-copy>p:not(.eyebrow){font-size:23px;line-height:1.6;font-weight:400;max-width:620px;text-shadow:0 2px 18px #001b16}
.button{min-height:62px;padding-inline:32px;font-size:14px;letter-spacing:.09em}
.text-link,.dark-link{font-size:14px;font-weight:600;letter-spacing:.09em}
.booking label{font-size:13px;font-weight:600;letter-spacing:.1em}
.booking input,.booking select{font-size:19px;font-weight:500}
.booking button{font-size:14px;font-weight:600}
.intro p:not(.eyebrow),.section-head>p,.access>div>p{font-size:21px;line-height:1.75;font-weight:400;color:#314c45;max-width:620px}
.room-meta small{font-size:13px;font-weight:600;color:#3e5c54}
.facts{font-size:15px;font-weight:500}
.room-meta p{font-size:18px;line-height:1.7;color:#314c45;min-height:100px}
.room-meta>b{font-size:13px}
.restaurant-copy>p:not(.eyebrow),.group>div>p:not(.eyebrow){font-size:22px;line-height:1.7;font-weight:400;max-width:630px;text-shadow:0 2px 16px #001b16}
.restaurant .shade{background:linear-gradient(90deg,rgba(2,24,20,.45),rgba(2,24,20,.04) 78%),linear-gradient(0deg,rgba(2,24,20,.25),transparent 60%)}
.group:after{content:none}
.hero-copy,.restaurant-copy,.group>div{isolation:isolate}
.hero-copy h1,.restaurant-copy h2,.group h2{color:#fff;-webkit-text-stroke:.35px rgba(0,24,19,.8);text-shadow:0 2px 2px rgba(0,20,16,.95),0 5px 18px rgba(0,20,16,.78),0 0 36px rgba(0,20,16,.5)}
.hero-copy .eyebrow,.restaurant-copy .eyebrow,.group .eyebrow{color:#fff;font-weight:600;text-shadow:0 1px 2px #001b16,0 3px 12px #001b16}
.hero-copy>p:not(.eyebrow),.restaurant-copy>p:not(.eyebrow),.group>div>p:not(.eyebrow){color:#fff;font-weight:500;-webkit-text-stroke:.15px rgba(0,20,16,.8);text-shadow:0 1px 2px #001b16,0 3px 12px rgba(0,20,16,.95),0 0 24px rgba(0,20,16,.72)}
.restaurant-copy,.group>div{padding:0;background:none;border:0;backdrop-filter:none}
.restaurant-copy{left:clamp(24px,7vw,120px);right:clamp(24px,7vw,120px);width:auto;max-width:760px;box-sizing:border-box}
.restaurant-copy h2{font-size:clamp(44px,5.2vw,78px);line-height:1.04;max-width:100%;overflow-wrap:break-word;text-wrap:balance}
.restaurant-copy>p:not(.eyebrow){width:min(100%,600px);max-width:100%;box-sizing:border-box}
.restaurant aside{font-size:13px;text-shadow:0 2px 12px #001b16}
.restaurant-copy .button.outline{background:#d8bc80;color:#082d27;border-color:#d8bc80;font-weight:700;text-shadow:none;box-shadow:0 8px 26px rgba(0,25,20,.22)}
.restaurant-copy .button.outline:hover{background:#f1dca9;border-color:#f1dca9;color:#082d27}
.restaurant aside{font-size:16px;font-weight:600;letter-spacing:.12em;line-height:1.35;color:#fff;text-shadow:0 2px 3px rgba(0,20,16,.95),0 5px 18px rgba(0,20,16,.8)}
.restaurant aside b{font-size:34px;line-height:1.2;margin-top:8px;color:#fff;text-shadow:0 2px 3px rgba(0,20,16,.95),0 5px 18px rgba(0,20,16,.8)}
.experience-grid figcaption{font-size:14px;background:linear-gradient(transparent,rgba(2,31,26,.95))}
.exp-list span{font-size:14px;color:#4c675f}
.exp-list b{font-size:30px}
.history-copy>p:not(.eyebrow){font-size:21px;line-height:1.75;color:#f0f5f3;max-width:620px}
.history-copy a{font-size:14px;font-weight:600}
.timeline small{font-size:13px;color:#e1e9e6}
.service-row small,.route-map p span{font-size:13px}
.service-row small{color:#506961}
.footer-grid address{color:#d2dfdb}
.footer-grid{font-size:19px}.footer-bottom{font-size:13px;color:#d2ddda}
.inner p:not(.eyebrow){font-size:21px;line-height:1.75;color:#314c45;max-width:650px}
.hero-discover{margin-left:0;display:inline-block}
.intro>div{min-width:0;max-width:650px;padding-right:20px}
.intro h2{font-size:clamp(44px,5vw,76px);line-height:1.04;overflow-wrap:normal}
.intro p:not(.eyebrow){max-width:560px}
.intro figure{min-width:0;overflow:visible}
.intro figcaption{box-sizing:border-box;padding:18px;line-height:1.35}
@media(max-width:900px){body{font-size:19px;line-height:1.7}.hero-copy>p:not(.eyebrow){font-size:20px}.eyebrow{font-size:13px}.mobile-menu a{font-size:46px}.intro p:not(.eyebrow),.section-head>p,.access>div>p,.history-copy>p:not(.eyebrow){font-size:19px}.restaurant-copy>p:not(.eyebrow),.group>div>p:not(.eyebrow){font-size:20px}.room-meta p{font-size:18px;min-height:0}.footer-grid{font-size:18px}.restaurant-copy,.group>div{padding:0;margin-right:20px}}
@media(max-width:900px){.intro>div{padding-right:0;max-width:100%}.intro h2{font-size:clamp(40px,12vw,58px);line-height:1.06;overflow-wrap:break-word}.intro figure{margin-left:0!important}.intro figcaption{left:12px!important;bottom:12px!important}.hero-discover{margin-left:0!important}.restaurant-copy{left:24px!important;right:24px!important;width:auto;max-width:none;margin-right:0!important}.restaurant-copy h2{font-size:clamp(39px,10.5vw,58px);line-height:1.06}.restaurant-copy>p:not(.eyebrow){font-size:18px;line-height:1.55}.restaurant aside{display:block!important;right:24px;bottom:24px;font-size:13px}.restaurant aside b{font-size:25px;margin-top:4px}}
@media(max-width:420px){.intro h2{font-size:39px}.intro p:not(.eyebrow){font-size:18px}.intro figcaption{width:104px!important;height:104px!important;font-size:9px!important}.restaurant-copy{left:18px!important;right:18px!important}.restaurant-copy h2{font-size:36px}.restaurant-copy .eyebrow{font-size:11px;letter-spacing:.14em}.restaurant-copy>p:not(.eyebrow){font-size:17px}}
