:root{--red:#430b12;--deep:#2a090e;--wine:#5e111d;--warm:#700f1c;--gold:#d2ae72;--goldp:#ecd3a0;--ivory:#f7f0e5;--paper:#fdf9f2;--ink:#322422;--muted:#746b66;--hair:#dfd2bf;--serif:'Cormorant Garamond',Georgia,serif;--sans:'DM Sans',Arial,sans-serif;--script:'Great Vibes',cursive;scroll-behavior:smooth}*,*::before,*::after{box-sizing:border-box}body{margin:0;color:var(--ink);background:var(--paper);font-family:var(--sans);-webkit-font-smoothing:antialiased}body.menu-open{overflow:hidden}button,a{touch-action:manipulation}a{color:inherit;text-decoration:none}button{font:inherit}img{max-width:100%}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #cda56d;outline-offset:3px}.skip{position:absolute;z-index:1000;top:-90px;left:10px;background:white;color:black;padding:12px}.skip:focus{top:10px}.site-header{position:fixed;z-index:40;width:100%;top:0;background:rgba(38,5,10,.83);border-bottom:1px solid rgba(229,187,123,.21);backdrop-filter:blur(16px)}.nav-wrap{max-width:1440px;padding:0 5%;height:74px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{font:600 27px var(--serif);letter-spacing:2px;color:var(--ivory);line-height:.65;white-space:nowrap}.brand span,.footer-monogram span{font-style:italic;color:var(--gold);font-size:.8em;padding:0 5px}.brand small{display:block;font:500 8px var(--sans);letter-spacing:3.7px;text-align:center;margin-top:10px;color:var(--gold)}.nav-links{display:flex;align-items:center;gap:29px}.nav-links>a{color:#f3e8d7;font-size:11px;text-transform:uppercase;letter-spacing:1.2px;white-space:nowrap;opacity:.86;transition:opacity .2s}.nav-links>a:hover{opacity:1;color:var(--goldp)}.nav-links .nav-cta{padding:12px 17px;border:1px solid var(--gold);color:var(--goldp)}.nav-actions{display:flex;gap:12px;align-items:center}.lang-btn{background:transparent;border:1px solid #b28b5c;color:#efd6aa;padding:8px 10px;cursor:pointer;letter-spacing:1px;font-size:12px}.menu-btn{display:none;background:transparent;border:0;cursor:pointer;padding:10px}.menu-btn span{width:22px;height:1px;background:var(--goldp);display:block;margin:5px 0}.hero{height:min(920px,100svh);min-height:730px;background:radial-gradient(ellipse at 53% 47%,#6c0c1b 0,#4d0a13 44%,#28060b 100%);color:var(--ivory);text-align:center;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;padding:110px 24px 100px;isolation:isolate}.hero::before{content:"";position:absolute;inset:0;z-index:-1;opacity:.15;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.6' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.48'/%3E%3C/svg%3E")}.hero-frame{position:absolute;inset:19px;border:1px solid rgba(211,171,110,.49);pointer-events:none}.hero-frame:before,.hero-frame:after{content:'◇';color:var(--gold);position:absolute;font-size:28px;line-height:1}.hero-frame:before{left:6px;bottom:5px}.hero-frame:after{right:6px;top:5px}.hero-bloom{position:absolute;background-repeat:no-repeat;background-size:contain;z-index:-1;pointer-events:none}.bloom-one{width:min(46vw,680px);height:min(48vw,640px);top:-30px;left:-35px;background-image:url('assets/roses-haut-gauche.png');background-position:top left}.bloom-two{width:min(46vw,620px);height:min(58vw,750px);bottom:-90px;right:-28px;background-image:url('assets/roses-bas-droite.png');background-position:bottom right}.hero-content{position:relative;z-index:2;display:flex;align-items:center;flex-direction:column;width:100%;max-width:1050px}.eyebrow{display:flex;align-items:center;gap:16px;letter-spacing:4px;font-size:10px;text-transform:uppercase}.eyebrow.pale{color:#e2c9a4}.eyebrow .line{width:46px;height:1px;background:var(--gold);opacity:.7}.hero-monogram{font-size:34px;color:var(--gold);margin:17px 0 0}.hero h1{font:500 clamp(80px,11vw,166px)/.82 var(--serif);letter-spacing:-5px;display:flex;align-items:center;flex-direction:column;margin:14px 0 27px;text-transform:uppercase;color:#f9e9c9;text-shadow:0 5px 28px #1e0507}.hero h1 em{font:400 105px/1 var(--script);color:var(--gold);margin:-4px 0 -15px;position:relative;z-index:3;text-transform:none}.hero-subtitle{letter-spacing:4.1px;font-size:11px;margin:11px 0 23px;color:#f3e3cb}.ornament{display:flex;align-items:center;gap:14px;color:var(--gold);font-size:21px}.ornament span{width:75px;height:1px;background:var(--gold)}.ornament.dark{font-size:14px}.ornament.dark span{width:37px}.hero-date{margin-top:23px;font:italic 500 clamp(40px,5vw,67px)/1 var(--serif);color:#f4d6a5}.hero-location{letter-spacing:5px;font-size:12px;margin-top:16px}.hero-actions{margin-top:40px;display:flex;align-items:center;justify-content:center;gap:34px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:center;gap:19px;min-height:48px;padding:15px 24px;font-size:11px;text-transform:uppercase;font-weight:700;letter-spacing:1.4px;transition:transform .22s,background .22s,border .22s;text-align:center;cursor:pointer}.button:hover{transform:translateY(-2px)}.button-gold{background:#e2c58e;color:#3b1013;border:1px solid #e2c58e}.button-gold:hover{background:#f0d8ab}.button-outline{border:1px solid var(--wine);color:var(--wine)}.button-outline:hover{background:var(--wine);color:var(--ivory)}.button.large{min-width:290px}.text-link{font-size:11px;letter-spacing:.7px;border-bottom:1px solid #c49e69;padding-bottom:7px}.text-link.light{color:#f3d7b4}.mountain-art{position:absolute;bottom:0;left:0;right:0;z-index:-1;height:185px;opacity:.31}.mountain-art svg{height:100%;width:100%;fill:none;stroke:#ca995f;stroke-width:1.3}.scroll-note{position:absolute;bottom:31px;font-size:9px;letter-spacing:2.4px;color:#ebd7b6}.section-inner{max-width:1180px;margin:0 auto;padding:105px 28px}.section-light{background:#fcf7ee}.section-ivory{background:#efe7d8}.section-dark{background:#380910;color:#f5e9d8}.split-intro{display:grid;grid-template-columns:1.2fr .8fr;gap:8%;align-items:center}.kicker{font-size:10px;text-transform:uppercase;letter-spacing:3px;color:#a7794d;font-weight:700}.kicker.gold{color:var(--gold)}.headline{font:500 clamp(46px,5.5vw,77px)/.98 var(--serif);margin:19px 0 26px;letter-spacing:-1.6px}.headline i{font-weight:400;color:#a66d46}.headline.white{color:#f7e9d5}.headline.white i{color:#dfc18b}.lead{font-size:15px;line-height:2;max-width:600px;color:#5b5049;margin:0 0 34px}.wedding-detail{display:flex;gap:21px;border-top:1px solid var(--hair);padding:22px 0}.wedding-detail:last-child{border-bottom:1px solid var(--hair)}.detail-icon{font:26px var(--serif);color:#9c7151;width:25px}.wedding-detail>div{display:flex;flex-direction:column;gap:5px}.wedding-detail small{font-size:9px;letter-spacing:1.8px;color:#a17a5c}.wedding-detail strong{font-weight:600;font-size:15px}.wedding-detail span:not(.detail-icon){font-size:12px;color:#8f8073}.intro-invite{min-height:510px;background:radial-gradient(ellipse at center,#6f1520,#420911);position:relative;display:flex;align-items:center;justify-content:center;box-shadow:17px 17px 0px #e5d8c4;overflow:hidden;border:1px solid var(--gold)}.intro-invite:after{content:'';position:absolute;inset:16px;border:1px solid #a57848;pointer-events:none}.invite-flowers{position:absolute;inset:0;background:url(assets/roses-haut-gauche.png) top -15px left -35px/68% auto no-repeat,url(assets/roses-bas-droite.png) right -20px bottom -45px/65% auto no-repeat;opacity:.68}.invite-content{position:relative;z-index:2;text-align:center;color:#f8eacf;display:flex;align-items:center;flex-direction:column;padding-top:75px}.invite-mini{letter-spacing:3.7px;font-size:9px;margin-bottom:20px}.invite-names{font:500 100px/.85 var(--serif)}.invite-names span{font:55px var(--script);color:#edc17e}.invite-date{font:italic 38px var(--serif);margin:25px 0 11px}.invite-place{font-size:10px;letter-spacing:3px}.section-header{margin-bottom:55px;max-width:700px}.section-header.center{text-align:center;margin:0 auto 55px}.section-header p{font-size:14px;line-height:1.9;color:#766c64;max-width:630px}.section-dark .section-header p{color:#dcc7bb}.route-rail{display:flex;align-items:center;justify-content:center;gap:20px;flex-wrap:wrap;border-top:1px solid rgba(211,174,114,.36);border-bottom:1px solid rgba(211,174,114,.36);padding:21px 10px;margin-bottom:35px;color:#f5dcc0;font:500 16px var(--serif);letter-spacing:2px}.route-rail i{font:14px var(--sans);color:#b88c59}.timeline-filters{display:flex;gap:9px;flex-wrap:wrap;justify-content:center;margin-bottom:35px}.filter-btn{background:none;border:1px solid #8e5d4d;color:#e0c5ab;border-radius:50px;padding:9px 16px;font-size:10px;text-transform:uppercase;letter-spacing:1px;cursor:pointer}.filter-btn[aria-pressed=true]{background:var(--gold);color:var(--deep);border-color:var(--gold)}.timeline{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:rgba(235,205,164,.19);border:1px solid rgba(235,205,164,.19)}.day-card{position:relative;background:#420d16;display:grid;grid-template-columns:75px 1fr;gap:18px;padding:24px 25px;min-height:132px;transition:background .2s}.day-card:hover{background:#521320}.day-card.wedding{background:#65301e}.day-card .day-num{font:500 51px/.85 var(--serif);color:var(--gold)}.day-card .month{display:block;font:700 9px var(--sans);letter-spacing:1.7px;margin-top:8px;color:#af9172}.day-card .city{display:block;font-size:9px;font-weight:700;letter-spacing:2px;color:#cba77d;text-transform:uppercase;margin-bottom:7px}.day-card h3{font:600 25px/1.08 var(--serif);margin:0 0 9px;color:#f7e7cf}.day-card p{font-size:12px;line-height:1.7;color:#e0c9bf;margin:0}.day-card .icon-star{position:absolute;right:20px;top:21px;color:var(--gold)}.micro-note{font-size:11px;color:#837267;line-height:1.65}.section-dark .micro-note,.rsvp-section .micro-note{color:#d2bbae}.centered{text-align:center;margin:24px auto 0}.hotel-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.hotel-card{background:white;border:1px solid #ece0cf;padding:27px 26px;min-height:235px;display:flex;flex-direction:column;box-shadow:0 6px 16px rgba(67,11,18,.035);transition:transform .2s}.hotel-card:hover{transform:translateY(-3px)}.hotel-card .hotel-city{color:#98663e;text-transform:uppercase;letter-spacing:2px;font-size:10px;font-weight:700}.hotel-card .hotel-dates{font-size:11px;color:#958579;margin-top:7px}.hotel-card h3{font:600 26px var(--serif);margin:18px 0 0}.hotel-card .hotel-bottom{display:flex;align-items:end;justify-content:space-between;gap:12px;margin-top:auto;padding-top:26px}.hotel-card .hotel-price{font:600 28px var(--serif);color:#6e1b26;white-space:nowrap}.hotel-card .hotel-price small{font:10px var(--sans);display:block;color:#7e7167}.hotel-link{font-size:10px;font-weight:700;letter-spacing:.7px;white-space:nowrap;border-bottom:1px solid #a67953;padding-bottom:5px}.budget-strip{background:#4e1019;color:#f7e8d0;padding:34px 30px;margin-top:33px;display:flex;justify-content:space-around;align-items:center;text-align:center}.budget-strip>div:not(.budget-divider){display:flex;flex-direction:column;gap:7px;max-width:300px}.budget-strip span{font-size:10px;letter-spacing:2.4px;color:#d7b581}.budget-strip strong{font:600 45px var(--serif)}.budget-strip small{font-size:11px;color:#d9c4b4}.budget-divider{width:1px;height:73px;background:#8b6254}.section-bookings .section-inner{padding-top:112px;padding-bottom:112px}.booking-list{display:grid;grid-template-columns:repeat(2,1fr);gap:15px}.booking-card{background:#fbf7f0;border:1px solid #e1d1bb;padding:29px;display:flex;align-items:flex-start;gap:18px}.priority{min-width:41px;height:41px;border:1px solid #af8c67;color:#8b5939;display:flex;align-items:center;justify-content:center;font:600 22px var(--serif)}.booking-card h3{font:600 25px var(--serif);margin:0 0 9px}.booking-card p{font-size:12px;line-height:1.7;color:#76675f;margin:0 0 14px}.provider-links{display:flex;gap:11px;flex-wrap:wrap}.provider-links a{font-size:10px;font-weight:700;display:inline-flex;border-bottom:1px solid #aa7d55;padding-bottom:4px;color:#793444}.budget-layout{display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:center}.section-budget .headline{max-width:540px}.section-budget p{color:#e0c5b8;line-height:1.9;font-size:14px}.budget-card{background:rgba(255,255,255,.04);border:1px solid rgba(205,161,96,.6);padding:47px 38px;text-align:center}.budget-card>span{font-size:10px;letter-spacing:2px;color:#e0c59e}.budget-card .range{font:500 clamp(30px,3.5vw,50px)/1.2 var(--serif);color:#fcdfaa;margin:24px 0;white-space:nowrap}.budget-card .range small{font-size:.65em}.budget-card .range span{color:#99685f;font-size:.55em;padding:0 3px}.gold-line{height:1px;background:var(--gold);width:60%;margin:auto;opacity:.5}.budget-card p{font-size:12px}.budget-card p strong{color:var(--goldp);font-size:19px}.budget-card>small{font-size:10px;color:#b9a395}.info-columns{display:grid;grid-template-columns:1fr 1fr;gap:65px}.info-columns h3{font:600 31px var(--serif);margin:0 0 15px}.check-panel>p{font-size:12px;line-height:1.7;color:#85746b;margin-bottom:28px}.check-item{padding:15px 0;display:flex;align-items:flex-start;gap:12px;border-bottom:1px solid #e4d6c5;cursor:pointer;font-size:13px;line-height:1.6}.check-item input{accent-color:#6a1c28;margin-top:5px;width:16px;height:16px}.check-item input:checked+span{text-decoration:line-through;color:#988c83}.faq-item{border-bottom:1px solid #dfd1be}.faq-item summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 0;font-size:13px;font-weight:700;cursor:pointer}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary:after{content:'+';color:#9e6749;font:26px var(--serif)}.faq-item[open] summary:after{content:'−'}.faq-item p{color:#75675f;font-size:12px;line-height:1.85;margin:0 0 21px}.pdf-banner{border:1px solid #dfcbb0;padding:26px;margin-top:70px;display:flex;justify-content:space-between;align-items:center;gap:25px}.pdf-banner>div{display:flex;align-items:center;gap:21px}.pdf-banner .pdf-icon{font:32px var(--serif);width:60px;height:60px;display:flex;align-items:center;justify-content:center;border:1px solid var(--wine);color:var(--wine)}.pdf-banner>div>div{display:flex;flex-direction:column;gap:6px}.pdf-banner strong{font:600 26px var(--serif)}.pdf-banner>div>div span{font-size:11px;color:#85746b;line-height:1.5}.rsvp-section{background:radial-gradient(ellipse at center,#58101a,#26070c);color:var(--ivory);overflow:hidden;position:relative;text-align:center}.rsvp-bloom{position:absolute;inset:auto -60px -220px auto;width:510px;height:610px;background:url(assets/roses-bas-droite.png) center/contain no-repeat;opacity:.38;pointer-events:none}.rsvp-inner{position:relative;max-width:810px;padding-top:125px;padding-bottom:128px}.rsvp-section .headline{font-size:clamp(65px,8vw,112px);margin-bottom:25px}.rsvp-inner>p{font-size:14px;line-height:1.9;color:#ebd9c7;max-width:560px;margin:0 auto}.deadline{margin:27px 0 38px;display:flex;align-items:center;justify-content:center;gap:16px;color:#e7c288;font-size:10px;letter-spacing:1.3px}.rsvp-wait{padding:17px 27px;border:1px solid rgba(223,185,136,.4);display:inline-block;font-size:12px;color:#f2d7b7}.rsvp-section .micro-note{margin-top:17px}.footer{background:#22070c;color:#efdbc1;border-top:1px solid #654132}.footer-inner{display:flex;justify-content:space-between;align-items:center;gap:25px;padding-top:36px;padding-bottom:36px}.footer-monogram{font:500 39px var(--serif);margin-bottom:2px}.footer small,.footer-credit{font-size:10px;color:#bca28c;line-height:1.7}.footer-inner>div:last-child{text-align:right;display:flex;flex-direction:column;gap:12px}.footer-inner a{font-size:11px;border-bottom:1px solid var(--gold);align-self:flex-end}.footer-credit{max-width:260px}
@media(min-width:1600px){.hero{max-height:950px}}
@media(max-width:1000px){.nav-links{gap:13px}.nav-links>a{font-size:10px;letter-spacing:.7px}.nav-wrap{padding:0 3%}.split-intro{gap:5%}.hotel-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.booking-list{gap:11px}}
@media(max-width:760px){.nav-wrap{height:65px;padding:0 24px}.nav-links{display:none;position:absolute;top:65px;left:0;right:0;background:#2b070d;flex-direction:column;align-items:stretch;padding:18px 27px 35px;gap:0;border-bottom:1px solid var(--gold)}.nav-links.open{display:flex}.nav-links>a{padding:15px 6px;font-size:12px;border-bottom:1px solid #56313a}.nav-links .nav-cta{margin-top:15px;text-align:center}.menu-btn{display:block}.hero{min-height:720px;height:92svh;padding:90px 20px 75px}.hero-frame{inset:11px}.hero h1{font-size:clamp(68px,15vw,110px);letter-spacing:-2px}.hero h1 em{font-size:68px;margin:-2px 0 -9px}.eyebrow{font-size:9px;letter-spacing:1.8px}.eyebrow .line{width:22px}.hero-monogram{font-size:21px}.hero-subtitle{letter-spacing:2.4px;font-size:9px}.hero-date{font-size:48px}.hero-location{font-size:10px;letter-spacing:3px}.bloom-one{width:370px;height:315px;top:-15px;left:-62px;opacity:.8}.bloom-two{width:310px;height:380px;bottom:-90px;right:-45px;opacity:.73}.hero-actions{gap:21px;margin-top:32px;flex-direction:column}.mountain-art{height:110px}.scroll-note{bottom:24px}.section-inner{padding:75px 22px}.split-intro,.budget-layout,.info-columns{grid-template-columns:1fr;gap:44px}.intro-invite{width:85%;max-width:450px;margin:0 auto;min-height:440px}.section-header,.section-header.center{margin-bottom:35px}.headline{font-size:clamp(45px,10vw,66px)}.timeline{grid-template-columns:1fr}.day-card{padding:20px 16px;grid-template-columns:58px 1fr;gap:15px;min-height:110px}.day-card .day-num{font-size:42px}.day-card h3{font-size:24px}.route-rail{gap:10px;font-size:12px;letter-spacing:.6px}.route-rail i{font-size:10px}.hotel-grid,.booking-list{grid-template-columns:1fr}.hotel-card{min-height:180px}.budget-card{padding:35px 20px}.budget-card .range{font-size:40px}.info-columns{gap:60px}.pdf-banner{flex-direction:column;align-items:stretch;margin-top:50px}.pdf-banner .button{align-self:flex-start}.rsvp-inner{padding-top:85px;padding-bottom:90px}.deadline{line-height:1.5}.footer-inner{flex-direction:column;text-align:center}.footer-inner>div:last-child{text-align:center}.footer-inner a{align-self:center}}
@media(max-width:410px){.hero h1{font-size:60px}.hero-date{font-size:43px}.hero h1 em{font-size:62px}.ornament span{width:45px}.budget-strip{padding:26px 16px;gap:9px}.budget-strip strong{font-size:29px}.budget-strip span{font-size:8px}.budget-strip small{font-size:9px}.invite-names{font-size:80px}.invite-content{padding-top:80px}.intro-invite{width:92%}.deadline{font-size:9px}}
@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}*{transition:none!important}}

/* Liberté du voyage — mise en valeur de l'itinéraire facultatif */
.freedom-section{background:#efe1cc;border-top:1px solid #dcc4a9;border-bottom:1px solid #d5bda3;text-align:center}
.freedom-inner{padding-top:86px;padding-bottom:85px}
.freedom-section .headline{margin:16px 0 18px;color:#51141c}
.freedom-lead{max-width:830px;margin:0 auto 37px;line-height:1.9;font-size:16px;color:#53453f}
.freedom-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;text-align:left;margin:0 auto 25px}
.freedom-options>div{padding:29px 25px;background:#fdf8ef;border:1px solid #d8c3a8;min-height:160px}
.freedom-options span{display:block;color:#9b703e;font-size:23px;margin-bottom:13px}
.freedom-options strong{display:block;color:#4a1620;font:600 23px var(--serif);line-height:1.1;margin-bottom:11px}
.freedom-options p{font-size:12px;line-height:1.7;color:#6e6058;margin:0}
.freedom-disclaimer{font-size:12px;line-height:1.7;color:#725849;max-width:780px;margin:23px auto 28px}
.route-optional{text-align:center;color:var(--goldp);font-size:12px;letter-spacing:1.5px;margin:-15px 0 23px}
.booking-reveal{max-width:1100px;margin:0 auto}
.booking-reveal>summary{cursor:pointer;text-align:center;font-weight:700;letter-spacing:.5px;color:#611a25;border:1px solid #c8aa84;padding:21px 18px;background:#fff9ed;list-style:none;margin-bottom:0}
.booking-reveal>summary::-webkit-details-marker{display:none}
.booking-reveal>summary:after{content:'  +';font-size:18px;color:#925c3e}
.booking-reveal[open]>summary:after{content:'  −'}
.booking-reveal[open]>.booking-list{margin-top:25px}
.pdf-context{margin:38px auto -40px;color:#725b50;font-size:12px;line-height:1.8;text-align:center;max-width:820px}
.rsvp-inner .rsvp-clarity{max-width:600px;margin:19px auto 0;font-size:12px;color:#f3dfc1;line-height:1.8}
@media(max-width:760px){.freedom-inner{padding-top:68px;padding-bottom:70px}.freedom-lead{font-size:14px}.freedom-options{grid-template-columns:1fr;gap:10px}.freedom-options>div{min-height:0;padding:21px 24px}.freedom-disclaimer{font-size:11px}.route-optional{line-height:1.6}.pdf-context{margin:35px auto -20px}}

/* ===== VERSION MOBILE-FIRST / CONFIRMATION EN PREMIER (2026-10-20) ===== */
:root{--tap-min:48px}
html{scroll-padding-top:68px;scroll-behavior:smooth}
body{-webkit-text-size-adjust:100%;overflow-x:hidden}
.nav-priority{order:-1}
.hero-confirm-message{color:#f4ddbc;max-width:410px;font-size:15px;line-height:1.55;margin:24px auto 0;text-align:center}
.rsvp-first-chip{display:flex;width:max-content;max-width:100%;margin-left:auto;margin-right:auto;padding:9px 16px;border:1px solid #d5b47d;border-radius:999px;color:#e6c58e;font-size:11px;letter-spacing:2px;margin-bottom:25px}
.rsvp-first-reassurance{margin:18px auto 26px!important;font-size:12px!important;color:#e5cdb9!important;line-height:1.7!important}
#rsvp{scroll-margin-top:65px}
#rsvp .rsvp-inner{max-width:900px}
#rsvp .rsvp-section{z-index:2}
#rsvp .rsvp-wait{border-radius:7px}
/* Hôtel : une étape sélectionnée, plusieurs offres classées par prix */
.hotel-explorer{margin:23px auto 21px;max-width:1160px}
.hotel-explorer-head{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:18px}
.hotel-index-label{font-size:13px;letter-spacing:2px;color:#5e111d;font-weight:700;text-transform:uppercase}
.hotel-explorer-head p{font-size:12px;line-height:1.6;color:#7b7067;margin:8px 0 0}
.sort-control{background:#fff8ed;color:#4e1621;border:1px solid #b9a27d;border-radius:100px;padding:13px 18px;min-height:48px;font:700 12px var(--sans);white-space:nowrap;cursor:pointer}
.hotel-city-tabs{display:flex;gap:9px;overflow-x:auto;padding:5px 2px 13px;scrollbar-width:thin;-webkit-overflow-scrolling:touch}
.hotel-city-tab{min-height:46px;white-space:nowrap;padding:11px 17px;border-radius:999px;border:1px solid #d4c0a4;background:#fff9ed;color:#69323a;font-size:13px;font-weight:700;cursor:pointer}
.hotel-city-tab.active{background:#581322;color:#fff6e8;border-color:#581322}
.hotel-results-heading{display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px;align-items:baseline;margin:15px 2px 19px}
.hotel-results-heading strong{font:600 37px var(--serif);color:#4e1520}
.hotel-results-heading span{font-size:12px;color:#826f61;line-height:1.6}
.hotel-results-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px;margin:0 auto 20px}
.hotel-choice{background:#fffaf2;border:1px solid #d9c9b2;border-radius:14px;padding:23px;box-shadow:0 6px 28px rgba(58,24,13,.045);display:flex;flex-direction:column;min-width:0}
.hotel-choice-top{display:flex;align-items:center;justify-content:space-between;gap:5px}
.hotel-rank{font:600 31px var(--serif);color:#aa8a5e}
.hotel-choice-label{font-size:10px;color:#9a7b5d;letter-spacing:.25px;text-align:right}
.hotel-choice h3{font:600 31px/1.09 var(--serif);color:#441421;margin:14px 0 20px;min-height:67px}
.hotel-prices{display:flex;flex-direction:column;gap:12px;margin-bottom:17px}
.hotel-prices>div{display:flex;justify-content:space-between;align-items:baseline;gap:12px;border-bottom:1px solid #eee1d2;padding-bottom:10px}
.hotel-prices small{color:#81756d;font-size:12px}
.hotel-prices strong{font:700 30px var(--serif);white-space:nowrap;color:#5a1420}
.hotel-prices span{font-weight:700;font-size:14px;color:#58232b}
.hotel-rating{font-size:13px;font-weight:700;color:#8b611e}.hotel-rating small{font-weight:400;color:#857b73;font-size:11px;margin-left:7px}
.hotel-caveat-inline{color:#867b73;font-size:11px;line-height:1.55;margin:15px 0 18px}
.hotel-buttons{display:flex;gap:7px;flex-direction:column;margin-top:auto}
.hotel-book{display:inline-flex;align-items:center;justify-content:center;text-align:center;background:#5b1622;color:#fffbf1;border-radius:7px;min-height:48px;padding:12px;font-size:12px;font-weight:700}
.hotel-book-outline{color:#5b1622;background:transparent;border:1px solid #5b1622}
.hotel-example-note{text-align:center;margin:37px 0 14px;color:#756254;font-size:12px;line-height:1.7}
@media(max-width:980px){.hotel-results-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){
  .site-header{position:sticky;top:0;z-index:10;background:#28070d}
  .nav-wrap{padding:0 16px;height:60px}
  .nav-links{top:60px}
  .brand{font-size:24px}
  .hero{height:auto;min-height:0;padding:78px 17px 65px;display:flex;justify-content:center}
  .hero-content{width:100%;max-width:410px}
  .hero h1{font-size:clamp(59px,15vw,81px);margin-bottom:5px}
  .hero h1 em{font-size:54px;margin:-9px 0}
  .hero-monogram{display:none}
  .hero-subtitle{font-size:9px;letter-spacing:1.7px}
  .hero-date{font-size:39px}
  .hero-location{font-size:11px;letter-spacing:2.2px}
  .hero .ornament{margin:15px auto 10px}
  .hero-actions{margin-top:16px;gap:12px}
  .hero-actions .button{min-height:56px;width:100%;max-width:380px;align-self:center;font-size:14px}
  .hero-confirm-message{font-size:14px;max-width:275px;margin:15px auto 5px}
  .hero-actions .text-link{font-size:12px}
  .hero-frame{inset:9px}
  .bloom-one{width:210px;height:205px;left:-65px;top:-24px;opacity:.55}
  .bloom-two{width:175px;height:225px;right:-40px;bottom:-50px;opacity:.55}
  .mountain-art,.scroll-note{display:none}
  #rsvp .rsvp-inner{padding:63px 22px 68px}
  #rsvp .headline{font-size:clamp(48px,12vw,64px);line-height:1.02}
  #rsvp .rsvp-inner>p{font-size:14px;line-height:1.65}
  #rsvp .deadline{margin:22px 0 20px;display:flex;flex-wrap:wrap;font-size:10px}
  #rsvp .button{width:100%;max-width:385px;min-height:56px}
  .rsvp-first-chip{font-size:10px;letter-spacing:1px;margin-top:0;margin-bottom:18px}
  .hotel-explorer-head{align-items:flex-start;flex-direction:column;gap:10px}
  .hotel-explorer-head p{font-size:12px}
  .hotel-city-tabs{margin:0;padding:8px 0 16px;width:100%;max-width:100%;box-sizing:border-box}
  .hotel-results-heading{flex-direction:column;align-items:flex-start}
  .hotel-results-heading strong{font-size:37px}
  .hotel-results-grid{grid-template-columns:1fr;gap:12px}
  .hotel-choice{padding:20px}
  .hotel-choice h3{min-height:0;font-size:31px;margin:8px 0 18px}
  .hotel-prices strong{font-size:28px}
  .budget-strip{margin-top:15px}
  .freedom-section .section-inner{padding-top:65px}
  .freedom-section .headline{font-size:52px}
  .section-inner{padding-left:20px;padding-right:20px}
  .route-rail{overflow-x:auto;justify-content:flex-start;padding-bottom:14px;white-space:nowrap}
  button,a{touch-action:manipulation}
}
@media(max-width:365px){.hero h1{font-size:54px}.hero-date{font-size:34px}.hotel-prices strong{font-size:25px}}
