:root{--ink:#30352f;--forest:#3b463d;--moss:#77816d;--cream:#f5f3ee;--sand:#e7e3da;--rust:#897d68;--white:#fffefa;--muted:#788078;--serif:Georgia,'Times New Roman',serif;--sans:Arial,Helvetica,sans-serif;--max:1180px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--white);color:var(--ink);font:16px/1.65 var(--sans);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}img{display:block;width:100%;height:100%;object-fit:cover}.skip{position:absolute;top:-60px;left:20px;z-index:20;background:white;padding:12px}.skip:focus{top:12px}.header{height:92px;padding:0 6vw;display:flex;align-items:center;justify-content:space-between;background:var(--white);position:relative;z-index:4}.brand{display:flex;align-items:center;gap:12px;font-size:12px;font-weight:700;letter-spacing:.18em}.brand i{font-style:normal;color:var(--rust)}.brand-mark{display:grid;place-items:center;width:39px;height:39px;border:1px solid #b8ad97;border-radius:50%;font:500 13px var(--serif);letter-spacing:0;color:var(--forest)}.nav{display:flex;align-items:center;gap:36px;font-size:12px;letter-spacing:.04em}.nav>a:not(.nav-cta){color:#535b53}.nav a[aria-current=page]{color:var(--rust)}.nav-cta{background:var(--forest);color:white;padding:13px 18px}.nav-cta span,.button span,.text-link span{margin-left:12px}.menu-toggle{display:none}.hero-home{height:min(760px,calc(100svh - 92px));min-height:570px;position:relative;color:white;overflow:hidden;background:#2d3c34}.hero-home>img{object-position:center 48%;position:absolute;inset:0}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(18,31,25,.68),rgba(18,31,25,.12) 75%),linear-gradient(0deg,rgba(13,24,19,.32),transparent 55%)}.hero-copy{position:absolute;left:12%;top:50%;transform:translateY(-45%);max-width:650px}.eyebrow{font-size:10px;letter-spacing:.21em;font-weight:700;color:var(--rust);text-transform:uppercase;margin:0 0 20px}.eyebrow.light{color:#e5d2b0}.hero-copy h1,.page-hero h1,.destination-hero h1{font:500 clamp(56px,7vw,96px)/1.03 var(--serif);letter-spacing:-.035em;margin:0 0 20px}.hero-copy h1 em,.page-hero h1 em,.destination-hero h1 em,.intro h2 em,.story-panel h2 em,.season-heading h2 em,.facts h2 em,.destination-copy h2 em,.note-section h2 em,.privacy-callout h2 em,.form-layout h2 em{font-weight:500;color:#dfc69d}.hero-copy>p:not(.eyebrow){font-size:15px;color:#f0efe9;margin:0 0 31px}.button{display:inline-flex;align-items:center;justify-content:space-between;min-height:52px;padding:0 21px;font-size:11px;letter-spacing:.08em;font-weight:700;border:0;cursor:pointer;transition:background .2s,color .2s}.button-light{background:var(--white);color:var(--ink)}.button-light:hover{background:#e8ddc9}.button-dark{background:var(--forest);color:white}.button-dark:hover{background:#1e2d24}.hero-note{position:absolute;right:6%;bottom:32px;display:flex;gap:24px;font-size:9px;letter-spacing:.16em;color:#efeee9}.section-shell{max-width:var(--max);margin:0 auto;padding-left:7vw;padding-right:7vw}.intro{padding-top:135px;padding-bottom:145px;display:grid;grid-template-columns:1fr 1.2fr;gap:9%}.intro-label{display:flex;align-items:center;gap:20px;color:#8d9187;font-size:9px;letter-spacing:.17em}.line{height:1px;background:#cbc7ba;max-width:180px;flex:1}.intro h2,.season-heading h2,.facts h2,.destination-copy h2,.note-section h2,.privacy-callout h2,.form-layout h2{font:500 clamp(42px,5vw,62px)/1.13 var(--serif);letter-spacing:-.025em;margin:0 0 24px}.intro h2 em,.season-heading h2 em,.facts h2 em,.destination-copy h2 em,.note-section h2 em,.privacy-callout h2 em{color:var(--rust)}.intro-content .eyebrow{margin-bottom:17px}.large-copy{font:20px/1.7 var(--serif);max-width:560px;color:#59635a;margin:0 0 28px}.text-link{display:inline-flex;align-items:center;border-bottom:1px solid #bfb5a3;padding:0 0 8px;font-size:11px;font-weight:700;letter-spacing:.06em}.text-link span{color:var(--rust)}.photo-story{display:grid;grid-template-columns:1.15fr .85fr;background:var(--cream);min-height:610px}.photo-large{margin:0;position:relative;min-height:610px}.photo-large img{position:absolute;inset:0}.photo-large figcaption{position:absolute;bottom:28px;left:32px;color:white;font:20px var(--serif);text-shadow:0 1px 8px #222}.photo-large figcaption span{display:block;font:9px var(--sans);letter-spacing:.18em;margin-top:7px}.story-panel{padding:95px 12% 70px;position:relative}.story-panel h2{font:500 clamp(43px,5vw,64px)/1.1 var(--serif);margin:0 0 20px}.story-panel h2 em{color:var(--rust)}.story-panel>p:not(.eyebrow){color:#687168;font-size:13px;max-width:335px;margin:0 0 27px}.story-index{position:absolute;bottom:31px;left:12%;font-size:9px;letter-spacing:.16em;color:#85867c}.story-index span{color:var(--rust);padding:0 8px}.seasons{padding-top:135px;padding-bottom:138px;display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:18px;align-items:end}.season-heading{grid-column:1/-1;margin-bottom:18px}.season-heading .eyebrow{margin-bottom:14px}.season-card{min-height:330px;padding:30px;display:flex;flex-direction:column;justify-content:flex-end;position:relative;color:white;background:var(--forest)}.season-card:before{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(20,31,25,.78),rgba(20,31,25,.05))}.winter{background:linear-gradient(135deg,#5d716a,#c2d1cd)}.summer{background:linear-gradient(135deg,#73805d,#c9bf9d)}.season-card>*{z-index:1}.season-card>span{position:absolute;top:24px;left:26px;font-size:9px;letter-spacing:.16em;color:#eee1cb}.season-card h3{font:500 35px/1.15 var(--serif);margin:0 0 13px}.season-card p{font-size:11px;line-height:1.7;color:#f1f0e8;margin:0}.season-link{grid-column:1/-1;justify-self:end;margin-top:10px}.cta-band{background:var(--forest);color:white;padding:72px max(7vw,calc((100vw - 1100px)/2));display:flex;align-items:center;justify-content:space-between;gap:50px}.cta-band h2{font:500 43px/1.1 var(--serif);margin:0 0 10px}.cta-band>div>p:not(.eyebrow){font-size:12px;color:#d0d5ca;max-width:560px;margin:0}.cta-band .button{white-space:nowrap}.footer{padding:54px 6vw 28px;display:grid;grid-template-columns:1fr 1.1fr auto;align-items:center;gap:16px;background:#ece8dd}.footer>p{font:italic 17px var(--serif);color:#697067}.footer nav{display:flex;gap:22px;font-size:10px;color:#5c645b}.copyright{grid-column:1/-1;border-top:1px solid #d3cec1;padding-top:18px;margin-top:10px;font-size:9px;letter-spacing:.17em;color:#83877d}.page-hero{padding-top:95px;padding-bottom:55px}.page-hero .eyebrow{margin-bottom:24px}.page-hero h1{font-size:clamp(55px,7vw,83px);color:var(--ink)}.page-hero h1 em{color:var(--rust)}.page-lead{font:19px/1.6 var(--serif);color:#687168;max-width:620px;margin:22px 0 0}.gallery{display:grid;grid-template-columns:1.25fr 1fr;grid-template-rows:320px 260px;gap:14px;padding-bottom:110px}.gallery figure{margin:0;position:relative;overflow:hidden}.gallery-main{grid-row:span 2}.gallery figure img{position:absolute;inset:0}.gallery figcaption{position:absolute;bottom:16px;left:20px;color:white;font-size:10px;letter-spacing:.08em;text-shadow:0 1px 5px #222}.facts{padding-top:75px;padding-bottom:110px;display:grid;grid-template-columns:.8fr 1.2fr;gap:8%}.facts h2 em{color:var(--rust)}.fact-list article{display:grid;grid-template-columns:45px 1fr;gap:18px;padding:22px 0;border-top:1px solid #d7d3c9}.fact-list article>span{font-size:9px;letter-spacing:.12em;color:var(--rust);padding-top:5px}.fact-list h3{font:500 21px var(--serif);margin:0 0 6px}.fact-list p{font-size:12px;line-height:1.75;color:#697068;margin:0}.note-section{background:var(--cream);padding:85px 12%;text-align:center}.note-section h2{font-size:48px}.note-section>p:last-child{max-width:650px;margin:0 auto;color:#6b7167;font-size:13px}.destination-hero{height:620px;position:relative;color:white;display:flex;align-items:flex-end}.destination-hero img{position:absolute;inset:0}.destination-hero:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(22,32,27,.77),rgba(22,32,27,.05) 83%)}.destination-hero>div{z-index:1;position:relative;padding:0 12% 68px;max-width:900px}.destination-hero h1{font-size:clamp(55px,7vw,90px)}.destination-hero>div>p:last-child{max-width:550px;color:#f2f0e8;font-size:14px}.destination-copy{padding-top:110px;padding-bottom:115px;display:grid;grid-template-columns:1fr 1fr;gap:14%}.destination-copy h2 em{color:var(--rust)}.destination-copy>div+div{padding-top:12px;color:#616b61;font-size:13px}.destination-copy>div+div p{margin:0 0 20px}.destination-photo{height:520px;position:relative}.destination-photo img{position:absolute;inset:0}.destination-photo p{position:absolute;bottom:24px;left:7%;font:22px var(--serif);color:white;text-shadow:0 1px 5px #333}.destination-photo p span{display:block;font:9px var(--sans);letter-spacing:.17em;margin-top:6px}.activities{padding-top:95px;padding-bottom:120px}.activity-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:34px}.activity-grid article{border-top:1px solid #c9c4b7;padding-top:15px}.activity-grid article>span{font-size:9px;letter-spacing:.16em;color:var(--rust)}.activity-grid h3{font:500 28px var(--serif);margin:11px 0}.activity-grid p{font-size:12px;color:#6a7169;margin:0}.practical{padding-bottom:95px}.practical details{border-top:1px solid #cbc8be}.practical details:last-child{border-bottom:1px solid #cbc8be}.practical summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;padding:22px 0;font:500 23px var(--serif)}.practical summary::-webkit-details-marker{display:none}.practical summary span{font:18px var(--sans);color:var(--rust);transition:transform .2s}.practical details[open] summary span{transform:rotate(45deg)}.practical details>div{max-width:760px;padding:0 5px 24px 0;color:#687168;font-size:13px}.privacy-callout{background:var(--cream);padding:70px 7vw;text-align:center}.privacy-callout h2{font-size:42px}.privacy-callout h2 em{color:var(--rust)}.privacy-callout>p:last-child{max-width:600px;margin:auto;color:#6d746a;font-size:13px}.reservation-heading{padding-bottom:65px}.form-layout{display:grid;grid-template-columns:.72fr 1.28fr;gap:12%;padding-bottom:120px}.form-layout aside{background:var(--cream);padding:32px;height:max-content}.form-layout aside h2{font-size:35px}.form-layout h2 em{color:var(--rust)}.form-layout aside>p:not(.eyebrow){font-size:12px;color:#70756d}.form-wrap{max-width:660px}.booking-form{display:grid;gap:20px}.booking-form>label,.date-fields label{display:grid;gap:8px;font-size:11px;font-weight:700;letter-spacing:.04em}.booking-form label>span:first-child{color:var(--rust)}.booking-form small{font-size:10px;color:#7f8379;font-weight:400}.booking-form input:not([type=checkbox]),.booking-form textarea,.booking-form select{width:100%;border:1px solid #d3d0c6;background:#fffefa;border-radius:0;padding:13px 14px;color:var(--ink);font-size:13px;min-height:48px}.booking-form textarea{resize:vertical}.booking-form input:focus,.booking-form select:focus,.booking-form textarea:focus{outline:2px solid #9d8666;outline-offset:1px}.date-fields{display:grid;grid-template-columns:1fr 1fr;gap:16px}.consent{display:grid;grid-template-columns:18px 1fr;gap:10px;align-items:start;font-size:11px;line-height:1.6;color:#646c63}.consent input{margin-top:3px;accent-color:var(--forest)}.consent a{text-decoration:underline}.form-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.form-footnote{font-size:10px;color:#7a7e75;margin:-6px 0}.form-notice{padding:14px 17px;margin:0 0 22px;font-size:12px}.form-notice.success{background:#e3ebdf;border-left:3px solid #738a63}.form-notice.error{background:#f4e4dd;border-left:3px solid #a2533b}.legal-copy{max-width:900px;padding-bottom:120px}.legal-copy h2{font:500 25px var(--serif);margin:36px 0 8px}.legal-copy p{font-size:13px;color:#677067}.legal-copy .todo{margin-top:38px;padding:18px;background:var(--cream);color:#7b5136}
@media(max-width:820px){.header{height:76px;padding:0 5vw}.menu-toggle{display:block;background:transparent;border:0;color:var(--ink);font-size:12px;letter-spacing:.08em}.menu-toggle span{padding-left:8px;color:var(--rust)}.nav{display:none;position:absolute;top:76px;left:0;right:0;padding:12px 6vw 24px;background:var(--white);box-shadow:0 10px 14px #1a241613;align-items:stretch;gap:0;flex-direction:column}.nav.open{display:flex}.nav>a{padding:13px 0;border-bottom:1px solid #e6e2d9}.nav .nav-cta{margin-top:14px;padding:13px 18px;border:0}.hero-home{height:76svh;min-height:560px}.hero-copy{left:8%;right:8%}.hero-copy h1{font-size:clamp(55px,12vw,76px)}.intro{padding-top:85px;padding-bottom:95px;grid-template-columns:1fr;gap:28px}.intro-label{max-width:280px}.photo-story{grid-template-columns:1fr}.photo-large{min-height:440px}.story-panel{padding:65px 8% 105px}.story-index{left:8%}.seasons{padding-top:90px;padding-bottom:90px;grid-template-columns:1fr 1fr;gap:12px}.season-heading{grid-column:1/-1}.season-card{min-height:300px;padding:24px}.season-link{grid-column:1/-1}.cta-band{padding:55px 7vw;display:block}.cta-band .button{margin-top:24px}.footer{grid-template-columns:1fr 1fr;padding:44px 6vw 25px}.footer>p{grid-column:1/-1;grid-row:2}.footer nav{grid-column:1/-1;grid-row:3;flex-wrap:wrap}.copyright{grid-row:4}.page-hero{padding-top:72px}.gallery{grid-template-rows:250px 200px;padding-bottom:75px}.facts{grid-template-columns:1fr;gap:35px;padding-bottom:75px}.destination-hero{height:560px}.destination-hero>div{padding:0 8% 55px}.destination-copy{grid-template-columns:1fr;gap:24px;padding-top:80px;padding-bottom:80px}.destination-photo{height:400px}.activity-grid{gap:20px}.form-layout{grid-template-columns:1fr;gap:36px}.form-layout aside{max-width:none}.form-layout aside h2 br{display:none}}
@media(max-width:520px){.brand{font-size:10px;gap:9px}.brand-mark{width:34px;height:34px}.hero-home{min-height:530px;height:78svh}.hero-copy h1{font-size:57px}.hero-copy>p:not(.eyebrow){font-size:13px}.hero-note{right:7%;font-size:8px;gap:13px}.intro h2,.season-heading h2,.facts h2,.destination-copy h2{font-size:43px}.large-copy{font-size:18px}.photo-large{min-height:330px}.story-panel{padding-top:52px}.story-panel h2{font-size:48px}.seasons{grid-template-columns:1fr;padding-left:6vw;padding-right:6vw}.season-heading{grid-column:auto}.season-card{min-height:275px}.cta-band h2{font-size:35px}.footer{grid-template-columns:1fr}.footer>p,.footer nav,.copyright{grid-column:1}.footer-brand{grid-row:1}.footer>p{grid-row:2;margin:0}.footer nav{grid-row:3}.copyright{grid-row:4}.page-hero{padding-top:58px;padding-bottom:43px}.page-hero h1{font-size:55px}.page-lead{font-size:17px}.gallery{grid-template-columns:1fr 1fr;grid-template-rows:240px 160px;gap:8px;padding-left:5vw;padding-right:5vw}.gallery-main{grid-column:1/-1;grid-row:auto}.gallery figcaption{left:11px;bottom:10px;font-size:9px}.note-section{padding:65px 7vw}.note-section h2{font-size:39px}.destination-hero{height:500px}.destination-hero h1{font-size:53px}.destination-photo{height:300px}.activity-grid{grid-template-columns:1fr;gap:25px}.activities{padding-top:70px;padding-bottom:80px}.practical summary{font-size:20px;gap:14px}.privacy-callout h2{font-size:36px}.date-fields{grid-template-columns:1fr}.form-layout{padding-bottom:80px}.form-layout aside h2{font-size:31px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

/* Réservation hebdomadaire samedi à samedi */
.week-stay-note{margin:18px 0 20px;padding:14px 16px;background:#e8e9e1;border-left:3px solid var(--forest);color:var(--ink);font-size:13px}
.week-stay-note strong{display:block;font:500 19px/1.3 var(--serif);margin-bottom:3px}
.week-stay-note span{color:#636b62;font-size:12px}
.calendar-day.other-weekday{background:#f0efe9;color:#b2b4ad;cursor:not-allowed}
.calendar-day.checkout-option{background:#e5e9e2;color:var(--forest);font-weight:700;box-shadow:inset 0 0 0 2px var(--forest)}
.calendar-day.checkout-option:hover:not(:disabled){background:#dbe2d8}
.calendar-day.selected.arrival{background:var(--forest);color:#fffefa}
.calendar-week-rule{font-size:11px;color:#657064;margin:-7px 0 14px}

/* Réservation et espace propriétaire */
.booking-flow{padding-bottom:110px;max-width:1080px}.calendar-step,.booking-details,.admin-section,.admin-login,.cancel-card{background:#f5f3ee;padding:34px}.calendar-top{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #d7d3c9;padding-bottom:18px}.calendar-top h2,.booking-details h2,.admin-section h2{font:500 32px/1.2 var(--serif);margin:0}.calendar-nav{display:flex;gap:8px}.calendar-nav button{width:44px;height:44px;border:1px solid #d1cbbb;background:transparent;color:var(--ink);font-size:21px;cursor:pointer}.calendar-nav button:hover,.calendar-nav button:focus-visible{background:var(--forest);color:white}.calendar-legend{display:flex;gap:20px;flex-wrap:wrap;padding:20px 0;font-size:11px;color:#626960}.calendar-legend span{display:flex;gap:8px;align-items:center}.calendar-legend i{display:inline-block;width:12px;height:12px;border:1px solid #a9aa9f}.legend-free{background:#fffefa}.legend-busy{background:#deded8}.legend-selected{background:#46594c;border-color:#46594c!important}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);border-top:1px solid #d8d5cc;border-left:1px solid #d8d5cc}.weekday{padding:9px 2px;text-align:center;font-size:10px;letter-spacing:.08em;color:#737970;border-right:1px solid #d8d5cc;border-bottom:1px solid #d8d5cc}.calendar-days{display:contents}.calendar-blank,.calendar-day{min-height:65px;border:0;border-right:1px solid #d8d5cc;border-bottom:1px solid #d8d5cc}.calendar-day{background:#fffefa;color:var(--ink);font-size:13px;cursor:pointer}.calendar-day:hover:not(:disabled){background:#e8e4d9}.calendar-day.past{color:#afb1a9;background:#f3f2ee;cursor:default}.calendar-day.busy{background:repeating-linear-gradient(135deg,#e1e1dc,#e1e1dc 5px,#d7d8d2 5px,#d7d8d2 8px);color:#858981;cursor:not-allowed}.calendar-day.checkout-option.busy{cursor:pointer}.calendar-day.in-range{background:#dfe4dc;color:#304036}.calendar-day.selected,.calendar-day.checkout{background:var(--forest);color:#fffefa}.calendar-day:disabled:not(.busy):not(.past){color:#a0a39a;cursor:not-allowed}.calendar-day:focus-visible{outline:3px solid #9d6848;outline-offset:-3px;position:relative;z-index:1}.calendar-help{min-height:25px;margin:18px 0 8px;color:#636b62;font-size:12px}.calendar-selection{font:17px var(--serif);margin:8px 0}.calendar-quote{font-size:14px;font-weight:700;margin:14px 0 20px;color:var(--forest)}.calendar-step>.button{margin-top:8px}.booking-details{margin-top:24px;max-width:760px}.booking-details h2{margin:22px 0 10px;font-size:38px}.booking-details h2 em,.admin-content h1 em,.admin-login h1 em,.cancel-card h1 em{color:var(--rust);font-weight:500}.chosen-stay{padding:14px 0 22px;color:#5d665c;font:16px var(--serif)}.booking-form{gap:18px}.booking-terms{font-size:12px;color:#646b62;margin:0;max-width:700px}.admin-top{height:75px;padding:0 6vw;display:flex;align-items:center;justify-content:space-between;background:var(--cream)}.admin-top form{margin:0}.admin-top button{background:none;border:0;cursor:pointer}.admin-content{max-width:1000px;margin:0 auto;padding:58px 6vw 100px}.admin-content h1,.admin-login h1,.cancel-card h1{font:500 clamp(42px,6vw,68px)/1.05 var(--serif);margin:0 0 28px}.admin-section{margin:28px 0;padding:28px}.admin-section h2{margin:0 0 20px}.admin-booking{border-top:1px solid #d6d2c7;padding:20px 0}.admin-booking-head,.admin-row{display:flex;align-items:center;justify-content:space-between;gap:16px}.admin-booking-head strong{font:500 21px var(--serif)}.admin-booking p{font-size:12px;color:#5f685f;margin:8px 0}.booking-status{font-size:10px;letter-spacing:.08em;text-transform:uppercase;padding:5px 9px;background:#e5e2d9}.booking-status.pending{background:#efe2cb;color:#725331}.booking-status.confirmed{background:#dde8da;color:#3d6044}.admin-guest-message{padding:12px;background:#fffefa;white-space:normal}.admin-actions{display:flex;gap:10px;margin-top:14px}.admin-actions form{margin:0}.admin-actions .button{min-height:42px}.admin-grid{display:grid;grid-template-columns:repeat(2,minmax(150px,1fr));gap:14px;align-items:end;margin:15px 0 22px}.admin-grid label{display:grid;gap:6px;font-size:11px}.admin-grid input{width:100%;min-height:44px;padding:8px 10px;border:1px solid #ccc8bc;background:#fffefa}.admin-row{border-top:1px solid #dad6ca;padding:12px 0;font-size:11px}.admin-row form{margin:0}.admin-row button{background:transparent;border:0;cursor:pointer}.admin-footnote{color:#737970;font-size:11px}.admin-login,.cancel-card{max-width:560px;margin:12vh auto;padding:44px}.admin-login form{margin-top:22px}.cancel-card h1{font-size:48px}.cancel-card p:not(.eyebrow){font-size:13px;color:#646b62;margin:18px 0}.cancel-card form{margin-top:26px}
@media(max-width:820px){.booking-flow{padding-bottom:75px}.calendar-step,.booking-details,.admin-section{padding:24px}.calendar-day,.calendar-blank{min-height:54px}.admin-content{padding-top:40px}.admin-login,.cancel-card{margin:8vh 5vw}.admin-grid{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.calendar-step,.booking-details{padding:18px}.calendar-top h2{font-size:25px}.calendar-nav button{width:38px;height:38px}.calendar-legend{gap:11px;font-size:10px}.weekday{font-size:9px}.calendar-day,.calendar-blank{min-height:45px;font-size:11px}.admin-grid{grid-template-columns:1fr}.admin-actions{flex-wrap:wrap}.admin-row{align-items:flex-start}.admin-login,.cancel-card{padding:28px 22px}.booking-details h2{font-size:33px}}

/* Une mise en page sobre, sans effets décoratifs superflus. */
.hero-shade{background:linear-gradient(90deg,rgba(18,26,22,.52),rgba(18,26,22,.08) 80%)}
.header{border-bottom:1px solid #eeece5}.brand-mark{border-radius:0}.nav-cta{background:transparent;color:var(--ink);border-bottom:1px solid #b6ad9c;padding:9px 0}.button{letter-spacing:.035em}.season-card{border-radius:0;box-shadow:none}.winter{background:linear-gradient(135deg,#67766e,#aeb8b1)}.summer{background:linear-gradient(135deg,#747b64,#b8b19a)}
:root{--photo-overlay:linear-gradient(0deg,rgba(20,31,25,.78),rgba(20,31,25,.05))}
.season-card>img{position:absolute;inset:0;object-fit:cover}
.season-card:before{z-index:0}
.season-card>*:not(img){position:relative;z-index:1}
.gallery{grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:300px 250px}
.gallery-main{grid-column:span 2;grid-row:span 2}
@media(max-width:820px){.gallery{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:250px 200px 200px}.gallery-main{grid-column:1/-1;grid-row:auto}}
@media(max-width:520px){.gallery{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:240px 160px 160px}.gallery-main{grid-column:1/-1;grid-row:auto}}
