@font-face{font-family:Cormorant;src:url('./fonts/cormorant-700.woff2') format('woff2');font-weight:600 800;font-display:swap}
@font-face{font-family:Cormorant;src:url('./fonts/cormorant-italic.woff2') format('woff2');font-style:italic;font-weight:400 700;font-display:swap}
@font-face{font-family:Poppins;src:url('./fonts/poppins-400.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:Poppins;src:url('./fonts/poppins-600.woff2') format('woff2');font-weight:500 800;font-display:swap}
:root{--paper:#f5f6f2;--ink:#101e26;--navy:#132e3d;--navy-dark:#0d2431;--saffron:#f6a72d;--amber:#92600e;--muted:#64727a;--line:#d5dcdd;--gutter:clamp(22px,5vw,80px);--max:1600px;--space:clamp(72px,7.6vw,120px);color-scheme:light;scroll-behavior:smooth;scroll-padding-top:110px}
*,*::before,*::after{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:400 14px/1.7 Poppins,Arial,sans-serif;-webkit-font-smoothing:antialiased}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button{color:inherit}a{color:inherit;text-decoration:none}img,video{display:block;max-width:100%}svg{display:block}button{background:none;border:0}h1,h2,h3,h4,p,ul{margin:0}ul{padding:0;list-style:none}h1,h2,h3,h4{font-family:Cormorant,Georgia,serif;font-weight:700;letter-spacing:-.035em;line-height:1.03}h2{font-size:clamp(42px,4.7vw,72px)}a,button{touch-action:manipulation}[hidden]{display:none!important}::selection{background:var(--saffron);color:var(--ink)}:focus-visible{outline:3px solid #e8a737;outline-offset:5px}img{object-fit:cover}button:disabled{opacity:.35;cursor:default}.wrap{width:100%;max-width:var(--max);padding-inline:var(--gutter);margin-inline:auto}.section-space{margin-top:var(--space)}.overline{font:600 10px/1.6 Poppins,sans-serif;text-transform:uppercase;letter-spacing:.22em;color:var(--amber);margin-bottom:17px}.overline.light{color:#f2e8d5}.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:36px;margin-bottom:40px}.section-head h2{max-width:1000px}.text-link{display:inline-flex;align-items:center;gap:30px;flex-shrink:0;font-size:11px;font-weight:600;line-height:1.5;padding-bottom:8px;border-bottom:1px solid currentColor}.text-link span{font-size:20px;font-weight:400}.text-link:hover{color:var(--amber)}.section-note{font-size:11px;color:var(--muted)}.button{display:inline-flex;min-height:50px;align-items:center;justify-content:space-between;gap:28px;padding:14px 22px;border:1px solid transparent;border-radius:2px;font-size:11px;font-weight:600;line-height:1.5;transition:background .2s,color .2s,transform .2s}.button span{font-size:18px;line-height:1}.button:hover{transform:translateY(-2px)}.button-saffron{background:var(--saffron);color:var(--ink)}.button-saffron:hover{background:#ffbb51}.button-ink{background:var(--navy-dark);color:white}.button-ink:hover{background:#254759}.button-light{background:var(--paper);color:var(--ink)}.button-outline{border-color:#8f9a9f;color:var(--ink)}.button-outline:hover{background:white}.icon-button{width:44px;height:44px;display:grid;place-items:center;font-size:30px}.icon-button svg{width:21px;fill:none;stroke:currentColor;stroke-width:1.5}.skip-link{position:fixed;top:10px;left:10px;z-index:300;background:var(--saffron);padding:12px 20px;transform:translateY(-150%)}.skip-link:focus{transform:none}
.utility-bar{height:32px;background:var(--navy-dark);color:#d7e0e5;display:flex;justify-content:space-between;align-items:center;padding-inline:var(--gutter);font-size:9px}.utility-bar>div{display:flex;align-items:center;height:100%;gap:23px}.utility-bar>a span{opacity:.65}.currency{display:flex;gap:9px;align-items:center}.currency button{font-size:9px;padding:2px;color:#92a7b4}.currency button[aria-pressed=true]{color:white}.languages{padding-left:19px;border-left:1px solid #ffffff25}.whatsapp span{margin-left:10px}.site-header{height:84px;position:sticky;top:0;z-index:90;margin-bottom:-84px;display:flex;align-items:center;justify-content:space-between;gap:24px;padding-inline:var(--gutter);color:white;border-bottom:1px solid #ffffff35;transition:background .25s,color .25s,border-color .25s}.brand{flex:none}.brand img{width:128px;height:59px;object-fit:contain}.desktop-nav{display:flex;gap:clamp(15px,2vw,32px);align-items:center}.desktop-nav a,.desktop-nav button{font-size:11px;padding:28px 0;white-space:nowrap}.desktop-nav button span{font-size:12px;margin-left:4px}.desktop-nav a:hover,.desktop-nav button:hover,.desktop-nav button[aria-expanded=true]{color:var(--saffron)}.nav-actions{display:flex;align-items:center;gap:15px}.nav-cta{background:transparent;color:white;border-color:#ffffff85;min-height:43px;padding:10px 16px;font-size:10px;gap:20px}.nav-cta:hover{background:#ffffff15}.mobile-trigger{display:none}.site-header.is-scrolled,.site-header.has-menu{background:#f5f6f2f5;backdrop-filter:blur(14px);color:var(--ink);border-color:var(--line)}.site-header.is-scrolled .brand img,.site-header.has-menu .brand img{filter:brightness(0)}.site-header.is-scrolled .nav-cta,.site-header.has-menu .nav-cta{background:var(--navy);border-color:var(--navy);color:white}.mega-menu{position:absolute;top:83px;left:0;right:0;background:var(--paper);color:var(--ink);box-shadow:0 20px 40px #082b3320;border-top:1px solid var(--line);padding:35px var(--gutter) 40px}.mega-inner{display:grid;grid-template-columns:1.1fr 1fr 1fr;gap:45px;max-width:1440px;margin:auto}.mega-inner h3{font-size:31px;margin-bottom:20px}.mega-region-links{display:grid;grid-template-columns:1fr 1fr;gap:11px 22px}.mega-region-links a,.mega-small-link{font-size:11px;line-height:1.7}.mega-region-links a:hover,.mega-practice-links a:hover{color:var(--amber)}.mega-second-heading{margin-top:26px}.mega-feature{position:relative;display:block;min-height:150px;overflow:hidden}.mega-feature img{width:100%;height:210px}.mega-feature span{position:absolute;bottom:0;left:0;right:0;padding:40px 20px 18px;background:linear-gradient(transparent,#061c25c9);color:white;font-family:Cormorant,serif;font-size:26px}.mega-small-link{display:block;margin-top:16px}.mega-practice-links{display:grid;grid-template-columns:1fr 1fr;gap:12px;font-size:12px}
.hero{position:relative;height:min(960px,calc(100svh - 32px));min-height:690px;overflow:hidden;color:white;background:#503b29}.hero-visual{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:56% 54%}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,#09151dc4 0%,#14222b63 42%,#15252f08 75%),linear-gradient(0deg,#0918239c,transparent 24%,transparent 70%,#0b192350)}.hero-editorial{position:absolute;top:clamp(140px,18vh,205px);left:max(var(--gutter),calc((100vw - 1600px)/2 + var(--gutter)));width:47%;max-width:720px}.hero-editorial .overline{font-size:9px;letter-spacing:.26em;margin-bottom:24px}.hero h1{font-size:clamp(92px,9.6vw,146px);line-height:.83;letter-spacing:-.055em}.hero h1>span{display:block;font-size:clamp(27px,3.4vw,50px);font-weight:400;letter-spacing:-.025em;font-style:italic;line-height:1.1;margin-bottom:20px}.hero-description{max-width:370px;font-size:clamp(12px,1vw,15px);line-height:1.9;margin-top:28px;color:#f1eee6}.hero-explore{display:inline-flex;align-items:center;gap:16px;margin-top:26px;font-family:Cormorant,serif;font-weight:700;font-size:23px}.circle-arrow{width:44px;height:44px;border:1px solid #ffffff80;border-radius:50%;display:grid;place-items:center;font:20px Poppins,sans-serif;transition:background .2s}.hero-explore:hover .circle-arrow{background:var(--saffron);border-color:var(--saffron);color:var(--ink)}.trace-card{position:absolute;right:max(var(--gutter),calc((100vw - 1600px)/2 + var(--gutter)));top:clamp(156px,22vh,250px);width:clamp(260px,22.5vw,350px);padding:24px;background:#102c3cde;backdrop-filter:blur(10px);border:1px solid #a1b4bf65;border-radius:2px;box-shadow:0 15px 60px #04121e20}.trace-card-top{display:flex;align-items:center;justify-content:space-between}.trace-card-top p{font:700 25px Cormorant,serif}.trace-card-top>span{font-size:8px;letter-spacing:.14em;text-transform:uppercase;color:var(--saffron);border:1px solid #e4a44066;padding:3px 7px}.trace-map{width:100%;height:clamp(125px,13.5vw,215px);margin:6px auto 9px;overflow:visible}.trace-land{fill:#6a89921c;stroke:#becbd49c;stroke-width:2}.trace-line{fill:none;stroke:var(--saffron);stroke-width:5;stroke-dasharray:.018 .014}.trace-map circle{fill:var(--saffron)}.trace-map circle.white-point{fill:#fff}.trace-map text{fill:#e5edf2;font:26px Poppins,sans-serif}.trace-card h2{font-size:clamp(27px,2.4vw,36px);line-height:1.05;letter-spacing:-.02em;margin-bottom:23px}.trace-card .button{width:100%;font-size:10px;padding-inline:14px;gap:10px;min-height:46px}.micro{font-size:8px;color:#c8d5dc;text-align:center;margin-top:10px}.hero-bottom{position:absolute;bottom:27px;left:var(--gutter);right:var(--gutter);display:flex;align-items:flex-end;gap:26px}.hero-chapters{display:flex;gap:18px}.hero-chapters button{color:#d5d9da;text-align:left;font-size:9px;min-width:122px;padding:0}.chapter-line{display:block;height:2px;background:#ffffff4d;margin-bottom:12px}.hero-chapters [aria-pressed=true]{color:#fff}.hero-chapters [aria-pressed=true] .chapter-line{background:var(--saffron)}.hero-caption{margin-left:auto;font-size:10px;letter-spacing:.04em}.motion-toggle{border:1px solid #ffffff4d;color:white;font-size:8px;padding:6px 9px;line-height:1.4}.trust-band{border-bottom:1px solid var(--line);background:#fdfefb}.trust-list{display:grid;grid-template-columns:repeat(3,1fr);max-width:1600px;margin:auto;padding:23px var(--gutter)}.trust-item{display:flex;justify-content:center;align-items:center;gap:16px;border-right:1px solid var(--line);padding-inline:20px}.trust-item:first-child{padding-left:0}.trust-item:last-child{border:0;padding-right:0}.trust-icon svg{width:25px;height:25px;stroke:var(--amber);fill:none;stroke-width:1.4}.trust-item h3{font:500 11px/1.6 Poppins,sans-serif;letter-spacing:0}.trust-item p{display:none}
.search-section{padding-top:44px;padding-bottom:48px}.search-launch{display:flex;width:100%;align-items:center;gap:22px;height:76px;text-align:left;border:1px solid #6c828d;padding:15px 24px;background:#fafbf8}.search-launch>svg{width:25px;fill:none;stroke:var(--navy);stroke-width:1.3}.search-launch>span{font:700 32px Cormorant,serif;letter-spacing:-.025em}.search-launch kbd{margin-left:auto;font:10px Poppins,sans-serif;border:1px solid var(--line);padding:4px 8px;color:var(--muted)}.suggestions{display:flex;gap:11px;align-items:center;flex-wrap:wrap;margin-top:15px;font-size:10px;color:var(--muted)}.suggestions a,.suggestions button{font-size:10px;padding:3px 10px;border:1px solid var(--line);color:var(--ink);border-radius:2px}.suggestions a:hover,.suggestions button:hover{border-color:var(--amber);color:var(--amber)}.regions-section>.wrap{border-top:1px solid var(--line);padding-top:45px}.region-atlas{display:grid;grid-template-columns:1.1fr .93fr 1.12fr;gap:30px;align-items:start}.map-column{position:relative;min-width:0;padding-top:15px}.sea-label{display:block;margin-left:40%;font:italic 16px Cormorant,serif;color:#6c929d;letter-spacing:.05em}.map-column svg{width:100%;max-height:495px;overflow:visible}.country-land{fill:#e7ece7}.country-outline{fill:none;stroke:#9aaeb0;stroke-width:1.4}.map-region{fill:#c9d8d2;stroke:#fafaf4;stroke-width:1.5;opacity:.5;transition:opacity .2s,fill .2s}.map-region.is-active{fill:#e4b558;opacity:.4}.map-point{cursor:pointer;outline:none}.map-marker{fill:var(--navy);stroke:var(--paper);stroke-width:2;transition:fill .2s}.map-number{font:600 10px Poppins,sans-serif;fill:white;text-anchor:middle;dominant-baseline:central;pointer-events:none}.map-location{fill:#667e84}.map-leader{fill:none;stroke:#90a4a6;stroke-width:1}.map-point.is-active .map-marker,.map-point:hover .map-marker,.map-point:focus-visible .map-marker{fill:var(--saffron);stroke:var(--navy);stroke-width:2;r:14px}.map-point.is-active .map-number,.map-point:hover .map-number{fill:var(--ink)}.map-point:focus-visible .map-marker{stroke-width:4}.map-point text:not(.map-number){display:none}.map-instructions{font-size:9px;color:var(--muted);display:flex;gap:8px;align-items:center;margin-top:4px}.map-key{width:7px;height:7px;border-radius:50%;background:var(--saffron);flex:none}.region-directory{padding-top:4px}.region-directory button{display:flex;width:100%;align-items:center;gap:12px;min-height:39px;padding:9px 9px;text-align:left;font-size:10px;border-bottom:1px solid #d4dcda;border-left:2px solid transparent;transition:background .2s}.region-directory button:hover{background:#e8ece7}.region-directory button.is-active{background:#f5e9cf;border-left-color:var(--saffron)}.region-number{font-size:9px;color:#7b898b;min-width:18px}.region-row-name{flex:1}.region-row-arrow{font-size:15px}.region-photo{position:relative;overflow:hidden}.region-photo img{width:100%;height:267px;object-position:center}.region-photo>span{position:absolute;bottom:13px;left:14px;background:#f8f7eeec;padding:4px 8px;font-size:8px;letter-spacing:.06em}.region-copy{padding-top:23px}.region-copy h3{font-size:35px;margin-bottom:12px}.region-copy>p{font-size:11px;line-height:1.9;color:#53666e;min-height:42px}.region-facts{display:flex;align-items:center;gap:20px;font-size:10px;color:#455e69;margin:20px 0}.region-facts span+span{padding-left:20px;border-left:1px solid var(--line)}.region-copy .button{width:100%;min-height:44px;font-size:10px;padding:11px 17px}
.wide-rail{display:flex;gap:22px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding-left:max(var(--gutter),calc((100vw - 1600px)/2 + var(--gutter)));padding-right:var(--gutter);scroll-padding-left:var(--gutter)}.wide-rail::-webkit-scrollbar{display:none}.pepite-card{flex:0 0 calc((min(100vw,1600px) - 2 * var(--gutter) - 66px)/4.45);min-width:220px;scroll-snap-align:start}.pepite-card:first-child{flex-basis:calc((min(100vw,1600px) - 2 * var(--gutter) - 66px)/4.45 * 1.45)}.pepite-image{position:relative;height:clamp(360px,35vw,530px);overflow:hidden;background:var(--navy)}.pepite-image:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#0a1c27e8,transparent 72%);pointer-events:none}.pepite-image>img{width:100%;height:100%;transition:transform .7s}.pepite-card:hover .pepite-image>img{transform:scale(1.045)}.pepite-card-featured .pepite-image>img{object-position:center top;transform:scale(1.4);transform-origin:top center}.pepite-card-featured:hover .pepite-image>img{transform:scale(1.45)}.pepite-type{position:absolute;top:16px;left:16px;z-index:2;background:#f8f5e9f0;padding:4px 9px;font-size:8px;letter-spacing:.06em}.pepite-caption{position:absolute;bottom:24px;left:22px;right:22px;z-index:2;color:white}.pepite-caption>p:first-child{font-size:8px;color:#f5c678;text-transform:uppercase;letter-spacing:.14em;margin-bottom:10px}.pepite-caption h3{font-size:clamp(27px,2.6vw,37px);line-height:1.04}.pepite-card:first-child h3{font-size:clamp(35px,3.3vw,48px)}.pepite-caption .pepite-desc{display:none;font-size:10px;line-height:1.8;margin-top:13px;color:#e0e7e9}.pepite-card:first-child .pepite-desc{display:block}.pepite-link{margin-top:20px;font-size:9px;display:flex;justify-content:space-between;border-top:1px solid #ffffff40;padding-top:12px}.rail-footer{display:flex;align-items:center;gap:25px;margin-top:20px}.rail-footer>span{font-size:9px;color:var(--muted)}.rail-progress{flex:1;height:1px;background:var(--line);min-width:20px;position:relative}.rail-progress-fill{display:block;height:2px;background:var(--navy);transition:width .25s;position:absolute;top:-1px;left:0}.rail-controls{display:flex;align-items:center;gap:10px;margin-left:auto}.rail-controls [data-counter-for]{font-size:9px;color:var(--muted);margin-right:10px;white-space:nowrap;font-variant-numeric:tabular-nums}.rail-controls button{width:38px;height:38px;border:1px solid #aebbbe;border-radius:50%;display:grid;place-items:center;font-size:17px;transition:background .2s}.rail-controls button:hover:not(:disabled){background:var(--navy);color:white;border-color:var(--navy)}
.formats-section>.overline{margin-bottom:24px}.market-cards{display:grid;grid-template-columns:1fr 1fr;gap:24px}.market-card{background:var(--navy);color:white;min-width:0}.market-card:nth-child(2){background:#eff2ed;color:var(--ink);border:1px solid var(--line)}.market-photo{position:relative;overflow:hidden;height:clamp(250px,27vw,405px)}.market-photo>img{height:100%;width:100%;transition:transform .7s}.market-card:hover .market-photo>img{transform:scale(1.035)}.market-duration{position:absolute;left:22px;top:20px;background:#f7f5eeed;color:var(--ink);font-size:9px;padding:5px 10px}.market-body{padding:28px 30px 30px}.market-kicker{font-size:9px;text-transform:uppercase;letter-spacing:.16em;color:#ffd18b;margin-bottom:13px}.market-card:nth-child(2) .market-kicker{color:var(--amber)}.market-body h3{font-size:clamp(35px,4vw,57px);max-width:530px;min-height:2.05em}.market-description{font-size:11px;line-height:1.9;margin-top:17px;color:#dbe4e8;min-height:42px;max-width:530px}.market-card:nth-child(2) .market-description{color:#5c6e75}.market-regions{border-top:1px solid #ffffff35;margin-top:23px;padding-top:18px;font-size:9px;color:#d0dce0}.market-card:nth-child(2) .market-regions{color:#52666b;border-color:#cdd8d9}.market-actions{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-top:26px}.market-actions .button{min-height:46px;font-size:10px;gap:20px}.market-price{font-size:10px;text-align:right;line-height:1.4;white-space:nowrap}.market-price strong{display:block;font:700 40px/1.15 Cormorant,serif}.market-price small{font-size:9px;font-weight:400}.trip-card{flex:0 0 calc((min(100vw,1600px) - 2 * var(--gutter) - 66px)/4);min-width:240px;scroll-snap-align:start}.trip-photo{position:relative;overflow:hidden;margin-bottom:22px;height:clamp(240px,26vw,385px)}.trip-photo>img{width:100%;height:100%;transition:transform .7s}.trip-card:hover .trip-photo>img{transform:scale(1.045)}.trip-duration{position:absolute;top:15px;left:15px;padding:5px 9px;background:#f8f5e9f0;font-size:8px}.trip-arrow{position:absolute;bottom:15px;right:15px;display:grid;place-items:center;width:34px;height:34px;background:var(--paper);font-size:19px}.trip-card:first-child .trip-arrow{background:var(--saffron)}.trip-card>h3{font-size:clamp(25px,2.5vw,35px);min-height:2.06em}.trip-subtitle{font-size:10px;color:#617078;margin-top:11px;min-height:34px}.trip-bottom{border-top:1px solid var(--line);margin-top:20px;padding-top:16px;display:flex;align-items:flex-end;justify-content:space-between;gap:12px}.trip-bottom>p{font-size:8px;color:var(--muted)}.trip-bottom b{display:block;font-size:10px;font-weight:600;color:var(--ink);margin-top:4px}.trip-bottom>div{border-left:1px solid var(--line);padding-left:15px;text-align:right;white-space:nowrap}.trip-bottom small{display:block;font-size:8px;color:var(--muted)}.trip-bottom strong{display:block;font:700 32px/1.15 Cormorant,serif;letter-spacing:-.03em}
.season-image-panel{position:relative;min-height:660px;background:var(--navy);color:white;overflow:hidden}.season-image-panel>img{position:absolute;inset:0;width:100%;height:100%;object-position:center 53%;transition:opacity .25s}.season-shade{position:absolute;inset:0;background:linear-gradient(90deg,#0a1d2acf,transparent 85%),linear-gradient(0deg,#0a243774,transparent 40%)}.season-intro{position:relative;max-width:var(--max);margin:auto;padding:55px var(--gutter) 147px}.season-intro h2{font-size:clamp(49px,5.8vw,84px)}.season-selected{margin-top:33px;padding-left:22px;border-left:2px solid var(--saffron)}.season-selected>p:first-child{font-size:9px;text-transform:uppercase;letter-spacing:.17em;color:#f3d9ab;margin-bottom:7px}.season-selected h3{font-size:70px;line-height:1}.season-selected #season-note{font-size:12px;margin-top:6px;margin-bottom:21px;color:#e3e8e8}.season-selected .button{min-height:44px;font-size:10px;min-width:197px}.season-switches{position:absolute;bottom:0;left:0;right:0;display:grid;grid-template-columns:repeat(12,1fr);padding-inline:max(var(--gutter),calc((100vw - 1600px)/2 + var(--gutter)));background:#0b2539d9;backdrop-filter:blur(5px)}.season-switches button{color:#e8edf0;position:relative;border-top:2px solid transparent;border-right:1px solid #ffffff20;min-height:96px;padding:13px 3px 15px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px}.season-switches button:last-child{border-right:0}.season-switches button>strong{font:700 clamp(18px,1.8vw,27px) Cormorant,serif}.season-switches button>span{font-size:8px;color:#d1dee3}.season-switches button:before{content:'';width:5px;height:5px;border-radius:50%;background:#edbd6c;position:absolute;bottom:9px}.season-switches button[data-period=L]:before{background:#77b4c9}.season-switches button[data-period=C]:before{background:#a4c9b1}.season-switches button[aria-pressed=true]{color:var(--saffron);background:#f6a72d14;border-top-color:var(--saffron)}.season-switches button:hover{background:#ffffff10}.season-bottom{display:grid;grid-template-columns:.95fr 1.4fr;gap:60px;padding-top:44px}.season-bottom h3{font-size:43px;line-height:1.05}.season-bottom>div>p{font-size:11px;line-height:1.9;color:#64767e;margin-top:20px;max-width:475px}.season-bottom strong{font-weight:400}.season-bottom .text-link{margin-top:24px}.season-legend{display:flex;flex-wrap:wrap;gap:10px 18px;margin-top:23px;font-size:8px;color:#61737b}.season-legend span:before{content:'';display:inline-block;width:5px;height:5px;background:#cf9b39;border-radius:50%;margin-right:6px;vertical-align:middle}.season-legend span:nth-child(2):before{background:#709fb1}.season-legend span:nth-child(3):before{background:#89ab94}.season-stories{display:grid;grid-template-columns:1fr 1fr;gap:22px}.season-story-photo{position:relative;overflow:hidden}.season-story-photo>img{width:100%;height:185px;transition:transform .6s}.season-story:hover img{transform:scale(1.04)}.season-story-photo>span{position:absolute;bottom:11px;left:11px;background:#f8f8eeec;padding:3px 7px;font-size:8px}.season-story h4{font-size:27px;margin-top:14px;line-height:1.05}.envies-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:clamp(178px,18vw,260px);gap:16px}.envie-tile{position:relative;overflow:hidden;color:white;isolation:isolate}.envie-tile>img{width:100%;height:100%;transition:transform .7s}.envie-tile:hover>img{transform:scale(1.045)}.envie-tile:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#051d2cd9,transparent 72%);z-index:0}.envie-tile:first-child{grid-column:span 2;grid-row:span 2}.envie-tile:nth-child(2){grid-column:span 2}.envie-tile>span{position:absolute;left:23px;bottom:24px;right:23px;z-index:1;display:flex;align-items:flex-end;justify-content:space-between;gap:10px}.envie-tile h3{font-size:clamp(26px,2.6vw,36px);max-width:250px}.envie-tile:first-child h3{font-size:clamp(52px,5.8vw,83px);max-width:420px}.envie-arrow{width:30px;height:30px;background:#f8faf4;flex:none;display:grid;place-items:center;color:var(--ink);font:19px Poppins,sans-serif}.envie-tile:first-child .envie-arrow{background:var(--saffron);width:43px;height:43px}
.pratique-section{border-top:1px solid var(--line);padding-top:var(--space)}.pratique-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #bccacd;border-left:1px solid #d6dedd}.pratique-item{display:grid;grid-template-columns:36px 1fr 18px;gap:18px;align-items:start;padding:30px 23px;min-height:175px;border-right:1px solid #d6dedd;border-bottom:1px solid #bccacd;transition:background .2s}.pratique-item:first-child{background:#f4ecd8;box-shadow:inset 3px 0 var(--saffron)}.pratique-item:hover{background:#e9ede7}.pratique-icon>svg{width:33px;height:33px;fill:none;stroke:var(--navy);stroke-width:1.25}.pratique-item h3{font:600 14px/1.5 Poppins,sans-serif;letter-spacing:0;margin-bottom:12px}.pratique-item p{font-size:11px;line-height:1.8;color:#60737b}.pratique-item>span:last-child{font-size:20px;line-height:1}.how-section{border-top:1px solid var(--line);padding-top:var(--space)}.how-section h2>span{display:block;font-size:clamp(28px,3.2vw,46px);font-style:italic;margin-bottom:16px;font-weight:400}.how-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;position:relative;margin-top:44px}.how-steps:before{content:'';height:1px;background:#d8b672;position:absolute;top:54px;left:16%;right:16%}.how-step{padding:14px 28px 32px;position:relative;display:flex;flex-direction:column;align-items:flex-start}.how-step:last-child{background:var(--navy);color:white}.step-number{order:0;display:grid;place-items:center;width:80px;height:80px;align-self:center;border:1px solid #d4a64f;border-radius:50%;font:700 39px Cormorant,serif;background:var(--paper);position:relative;z-index:1;margin-bottom:26px}.how-step:last-child .step-number{background:var(--navy);color:var(--saffron)}.step-illustration{order:1;align-self:center;width:100%;max-width:210px;height:108px;fill:none;stroke:currentColor;stroke-width:1.4;margin-bottom:24px}.step-role{order:2;font-size:9px;text-transform:uppercase;letter-spacing:.16em;color:var(--amber);margin-bottom:14px}.how-step:last-child .step-role{color:#ffd18b}.step-copy{order:3}.step-copy h3{font-size:clamp(32px,3vw,45px);min-height:2.07em;line-height:1.06;margin-bottom:17px}.step-copy p{font-size:11px;line-height:1.85;color:#63747b}.how-step:last-child .step-copy p{color:#d1dde3}.agencies-section{border-top:1px solid var(--line);padding-top:var(--space)}.agencies-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.agency-card{border:1px solid #bac9cb;padding:28px;transition:background .2s,border-color .2s}.agency-card:hover{background:#edf0e9;border-color:var(--navy)}.agency-card-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px;font-size:23px}.agency-monogram{width:47px;height:47px;border-radius:50%;background:var(--navy);color:white;font:700 23px Cormorant,serif;display:grid;place-items:center;letter-spacing:-.04em}.agency-card>p:not(.agency-description){font-size:9px;color:var(--amber);text-transform:uppercase;letter-spacing:.12em;margin-bottom:11px}.agency-card h3{font-size:38px;margin-bottom:17px}.agency-description{font-size:11px;line-height:1.9;color:#5e7078}.recits-section{background:var(--navy-dark);color:white;padding-block:66px}.recits-section .text-link{color:#e5e9e9}.recits-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:25px}.recit-image{position:relative;overflow:hidden}.recit-image>img{height:270px;width:100%;transition:transform .7s}.recit-card:first-child .recit-image>img{height:330px}.recit-card:hover img{transform:scale(1.04)}.recit-media{position:absolute;left:15px;top:15px;background:#f4f2e8;color:var(--ink);font-size:8px;letter-spacing:.08em;padding:4px 9px}.recit-card h3{font-size:35px;margin-top:23px;line-height:1.05}.recit-card>p{font-size:11px;color:#bbcdd7;line-height:1.9;margin-top:15px}.conversion-section{position:relative;overflow:hidden;padding-block:110px}.conversion-content{position:relative;z-index:1}.conversion-content h2{font-size:clamp(84px,9vw,126px);line-height:.9}.conversion-content h2 span{display:block;font-style:italic;font-size:clamp(30px,3.9vw,54px);font-weight:400;margin-bottom:22px;letter-spacing:-.02em}.conversion-content>p:not(.overline){max-width:540px;font-size:12px;line-height:1.9;color:#61727b;margin-top:30px}.conversion-actions{display:flex;gap:15px;margin-top:31px}.conversion-line{position:absolute;top:30%;left:40%;width:80%;height:390px;opacity:.45;pointer-events:none}.conversion-line svg{width:100%;height:100%;fill:none;stroke:#b58d47;stroke-width:1.5;stroke-dasharray:.005 .006}.site-footer{background:var(--navy-dark);color:#c4d2d9;padding:50px 0 28px}.footer-brand{display:flex;gap:65px;align-items:center;padding-bottom:36px;border-bottom:1px solid #ffffff25}.footer-brand img{width:140px;height:65px;object-fit:contain}.footer-brand>p{font-size:11px;max-width:550px;line-height:1.9}.footer-groups{display:grid;grid-template-columns:repeat(5,1fr);gap:25px;padding-block:37px}.footer-groups h3{font:500 11px Poppins,sans-serif;color:#fff;letter-spacing:0;margin-bottom:18px}.footer-groups li{font-size:10px;line-height:1.7;margin-bottom:9px}.footer-groups a:hover{color:#f5c16c}.footer-legal{display:flex;justify-content:space-between;gap:70px;padding-top:24px;border-top:1px solid #ffffff25;font-size:8px;line-height:1.9;color:#9ab0bc}.footer-legal>p:first-child{max-width:750px}.footer-legal>p:last-child{text-align:right;flex-shrink:0}.prototype-note{display:none}.mobile-bottom{display:none}.no-js{background:#f1d7ab;padding:30px;text-align:center}
dialog{color:var(--ink);padding:0;background:var(--paper);border:1px solid #aebdc2;border-radius:3px;box-shadow:0 30px 100px #00132140}dialog::backdrop{background:#031820b5;backdrop-filter:blur(5px)}#search-dialog{width:760px;max-width:calc(100vw - 48px);max-height:78dvh;margin:12vh auto auto}.search-dialog-head{display:flex;align-items:center;justify-content:space-between;padding:25px 30px 18px}.search-dialog-head h2{font-size:38px}.search-input-wrap{display:flex;align-items:center;gap:17px;margin:0 30px 15px;border-bottom:1px solid #7f979f;padding-bottom:15px}.search-input-wrap>svg{width:23px;flex:none;stroke:var(--navy);fill:none;stroke-width:1.5}#search-input{width:100%;border:0;background:transparent;font-size:15px;color:var(--ink);padding:8px 0;outline:none}#search-input:focus-visible{box-shadow:0 2px var(--saffron)}#search-results{overflow-y:auto;max-height:calc(78dvh - 210px);padding:0 30px 20px}.search-group h3{font:600 9px Poppins,sans-serif;letter-spacing:.15em;text-transform:uppercase;color:var(--amber);margin:20px 0 10px}.search-result{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:11px 10px;border-bottom:1px solid var(--line);font-size:12px}.search-result-meta{font-size:9px;color:var(--muted);display:block}.search-result.is-active,.search-result:hover{background:#f2e8d0}.search-empty{font-size:12px;line-height:1.8;padding:17px 0}.search-suggestions{display:flex;gap:9px;flex-wrap:wrap;margin-block:13px}.search-suggestions button{padding:6px 11px;background:#e6ebe5;font-size:11px}.search-help{padding:12px 30px;border-top:1px solid var(--line);font-size:9px;color:var(--muted)}#mobile-menu{position:fixed;left:auto;right:0;top:0;margin:0;width:480px;max-width:100vw;height:100dvh;max-height:100dvh;border:0;overflow-y:auto;padding-bottom:40px;border-radius:0}.mobile-menu-head{display:flex;align-items:center;justify-content:space-between;padding:20px 25px;border-bottom:1px solid var(--line)}.mobile-menu-head>img{width:124px;height:62px;object-fit:contain;filter:brightness(0)}#mobile-menu-content{padding:24px 28px}#mobile-menu-content a{display:flex;justify-content:space-between;align-items:center;padding:12px 0;font-size:14px;border-bottom:1px solid var(--line)}#mobile-menu-content h3{font-size:29px;margin-top:28px;margin-bottom:10px}#mobile-menu-content .button{margin-top:25px;padding:16px 20px;font-size:12px}#mobile-menu-content button{display:flex;align-items:center;gap:15px;width:100%;padding:14px 0;font-size:14px}
@media(min-width:1601px){.hero-bottom{left:max(var(--gutter),calc((100vw - 1600px)/2 + var(--gutter)));right:max(var(--gutter),calc((100vw - 1600px)/2 + var(--gutter)))}.site-header,.utility-bar{padding-inline:max(var(--gutter),calc((100vw - 1600px)/2 + var(--gutter)))}}
@media(max-width:1200px){.nav-actions{gap:6px}.desktop-nav{gap:17px}.nav-cta{font-size:9px;padding-inline:12px;gap:10px}.region-atlas{grid-template-columns:1fr 1fr;gap:28px 40px}.map-column{grid-column:1;grid-row:1;padding-top:0}.map-column svg{max-height:390px}.region-directory{grid-column:1;grid-row:2;display:grid;grid-template-columns:1fr 1fr;gap:0 12px}.region-directory button{font-size:8px;gap:5px;min-height:40px;padding-inline:5px}.region-number{min-width:13px;font-size:8px}.region-row-arrow{font-size:11px}.region-detail{grid-column:2;grid-row:1 / span 2;position:sticky;top:120px}.region-photo img{height:320px}.region-copy h3{font-size:42px}.region-copy>p{font-size:12px;line-height:1.9}.pepite-card{flex-basis:26%;min-width:230px}.pepite-card:first-child{flex-basis:35%}.trip-card{flex-basis:29%;min-width:245px}.market-body{padding:26px}.market-actions{gap:12px}.market-actions .button{padding:12px;font-size:9px;gap:12px}.market-price strong{font-size:34px}.season-bottom{gap:38px}.pratique-item{padding:26px 20px;gap:13px;grid-template-columns:29px 1fr 14px}.pratique-icon>svg{width:27px}.pratique-item h3{font-size:12px}.how-step{padding-inline:20px}.recit-image>img{height:230px}.recit-card:first-child .recit-image>img{height:290px}}
@media(max-width:1000px){.desktop-nav{display:none}.mobile-trigger{display:grid}.site-header{height:76px;margin-bottom:-76px}.brand img{width:120px;height:58px}.nav-actions{gap:10px}.nav-cta{font-size:10px;padding-inline:16px}.hero{min-height:730px}.hero-editorial{top:155px;width:52%}.hero h1{font-size:98px}.hero h1>span{font-size:32px}.hero-description{max-width:310px;font-size:12px}.trace-card{width:265px;top:185px;padding:21px}.trace-map{height:165px}.trace-card h2{font-size:29px}.hero-caption{display:none}.motion-toggle{margin-left:auto}.section-head{gap:24px}.section-head .text-link{font-size:10px;gap:15px}.section-head h2{font-size:51px}.trust-item{padding-inline:14px;gap:10px}.trust-item h3{font-size:9px}.trust-icon svg{width:22px}.market-body h3{font-size:40px}.market-actions{flex-wrap:wrap;align-items:center}.market-price{display:flex;align-items:center;gap:8px;width:100%;text-align:left}.market-price strong{font-size:32px}.market-actions .button{width:100%;order:1}.season-intro h2{font-size:65px}.season-stories{gap:15px}.season-story-photo>img{height:165px}.season-story h4{font-size:25px}.season-legend{line-height:1.7}.envies-grid{gap:12px;grid-auto-rows:185px}.envie-tile>span{left:17px;right:17px;bottom:20px}.envie-tile h3{font-size:26px}.envie-tile:first-child h3{font-size:62px}.envie-arrow{width:25px;height:25px;font-size:16px}.pratique-grid{grid-template-columns:1fr 1fr}.pratique-item{min-height:160px;padding:27px 22px;grid-template-columns:32px 1fr 18px}.pratique-item h3{font-size:14px}.how-step{padding-inline:16px}.step-copy h3{font-size:34px;min-height:3.1em}.agency-card{padding:23px}.agency-card h3{font-size:32px}.recits-grid{gap:20px;grid-template-columns:1fr 1fr 1fr}.recit-image>img,.recit-card:first-child .recit-image>img{height:230px}.recit-card h3{font-size:29px}.footer-groups{gap:20px;grid-template-columns:repeat(3,1fr)}.footer-legal{gap:30px}.footer-brand{gap:35px}.conversion-section{padding-block:90px}}
@media(max-width:720px){:root{--gutter:22px;--space:72px;scroll-padding-top:83px}body{padding-bottom:70px}.utility-bar{height:29px;font-size:8px}.utility-bar>div{gap:12px}.utility-bar>a span,.whatsapp,.languages{display:none}.currency button{font-size:8px}.site-header{height:68px;margin-bottom:-68px;padding-inline:20px;gap:10px}.brand img{width:112px;height:53px}.nav-actions{gap:3px}.nav-cta{display:none}.icon-button{width:40px;height:40px}.hero{height:auto;min-height:1095px}.hero-visual{height:700px;object-position:58% center}.hero-video{object-position:center}.hero-overlay{background:linear-gradient(0deg,#0d2431 35%,#0d243180 50%,#0d243116 80%),linear-gradient(90deg,#0b182b88,transparent);height:100%}.hero-editorial{position:relative;top:auto;left:auto;width:auto;padding:125px var(--gutter) 0;max-width:560px}.hero-editorial .overline{font-size:8px;letter-spacing:.18em;margin-bottom:28px}.hero h1{font-size:clamp(85px,21vw,126px);line-height:.84;letter-spacing:-.055em}.hero h1>span{font-size:clamp(27px,6.7vw,39px);margin-bottom:22px;letter-spacing:-.04em;white-space:nowrap}.hero-description{max-width:320px;font-size:11px;line-height:1.9;margin-top:26px}.hero-explore{margin-top:24px;font-size:23px}.circle-arrow{width:40px;height:40px}.trace-card{position:relative;top:auto;right:auto;width:auto;max-width:none;margin:45px var(--gutter) 85px;padding:21px 23px 19px;display:grid;grid-template-columns:1.15fr .8fr;gap:0 12px;background:#183749e8;box-shadow:none;backdrop-filter:none}.trace-card-top{grid-column:1 / -1;margin-bottom:15px}.trace-card-top p{font-size:26px}.trace-card-top>span{font-size:7px}.trace-map{grid-column:2;grid-row:2 / span 2;height:132px;max-width:170px;align-self:center;margin:0}.trace-card h2{grid-column:1;grid-row:2;font-size:28px;line-height:1.06;margin:9px 0 22px;align-self:center}.trace-card .button{grid-column:1 / -1;grid-row:4;min-height:45px;font-size:10px}.trace-card .micro{grid-column:1 / -1;grid-row:5;font-size:8px}.hero-bottom{bottom:23px;left:var(--gutter);right:var(--gutter);gap:13px}.hero-chapters{gap:13px;flex:1}.hero-chapters button{font-size:8px;min-width:0;flex:1}.chapter-line{margin-bottom:9px}.motion-toggle{font-size:7px;max-width:73px;text-align:center;padding:5px}.trust-list{padding:20px 10px;gap:0}.trust-item{padding-inline:9px;gap:7px;flex-direction:column;text-align:center;align-items:center}.trust-item:first-child{padding-left:5px}.trust-item:last-child{padding-right:5px}.trust-item h3{font-size:8px;line-height:1.7;max-width:100px}.trust-icon svg{width:23px;height:23px}.search-section{padding-top:31px;padding-bottom:37px}.search-launch{height:64px;gap:13px;padding:13px 17px}.search-launch>svg{width:21px;flex:none}.search-launch>span{font-size:26px;line-height:1}.search-launch kbd{display:none}.suggestions{font-size:8px;gap:7px;margin-top:13px}.suggestions a,.suggestions button{font-size:8px;padding:3px 8px}.regions-section>.wrap{padding-top:35px}.section-head{display:block;margin-bottom:28px}.section-head h2,h2{font-size:clamp(39px,10vw,53px);line-height:1.03}.section-head .text-link{margin-top:22px;font-size:10px}.overline{font-size:8px;letter-spacing:.18em;margin-bottom:14px}.section-note{display:block;margin-top:15px;font-size:10px}.region-atlas{display:flex;flex-direction:column;gap:27px}.map-column{width:100%;max-width:490px;margin:auto;order:0}.map-column svg{max-height:355px}.sea-label{font-size:15px}.map-instructions{font-size:8px;justify-content:center}.region-directory{order:2;width:100%;display:grid;grid-template-columns:1fr 1fr;gap:0 12px}.region-directory button{font-size:8px;min-height:43px;line-height:1.5}.region-number{font-size:8px}.region-detail{position:static;width:100%;order:1}.region-photo img{height:230px}.region-copy{padding-top:20px}.region-copy h3{font-size:37px}.region-copy>p{font-size:11px;min-height:0}.region-facts{margin:17px 0}.region-copy .button{font-size:10px;min-height:46px}.pepites-section .section-head h2 br,.voyages-section .section-head h2 br,.pratique-section .section-head h2 br,.agencies-section .section-head h2 br{display:none}.wide-rail{gap:15px}.pepite-card,.pepite-card:first-child{flex-basis:82vw;min-width:0;max-width:365px}.pepite-image{height:435px}.pepite-caption{left:23px;right:23px;bottom:26px}.pepite-caption h3,.pepite-card:first-child h3{font-size:40px}.pepite-caption .pepite-desc{display:block;font-size:10px}.pepite-caption>p:first-child{font-size:8px}.pepite-link{font-size:10px}.rail-footer{gap:15px;margin-top:18px}.rail-footer>span{display:none}.rail-controls{gap:8px}.rail-controls [data-counter-for]{margin-right:6px}.rail-controls button{width:36px;height:36px}.market-cards{grid-template-columns:1fr;gap:25px}.market-photo{height:260px}.market-body{padding:26px 24px}.market-body h3{font-size:44px;min-height:0}.market-kicker{font-size:8px}.market-description{min-height:0;font-size:11px;margin-top:16px}.market-regions{font-size:9px;line-height:1.8;margin-top:22px;padding-top:18px}.market-actions{margin-top:22px;gap:20px}.market-price{width:auto;display:block;text-align:right;font-size:9px}.market-price strong{font-size:36px}.market-price small{font-size:8px}.market-actions .button{width:auto;order:0;font-size:9px;gap:12px;padding:13px 15px;flex:1}.trip-card{flex-basis:79vw;min-width:0;max-width:350px}.trip-photo{height:350px;margin-bottom:23px}.trip-card>h3{font-size:37px;min-height:2.05em}.trip-subtitle{font-size:10px;min-height:35px}.trip-bottom strong{font-size:36px}.trip-bottom b{font-size:11px}.trip-bottom{margin-top:17px}.season-image-panel{min-height:666px}.season-image-panel>img{object-position:61% center}.season-shade{background:linear-gradient(90deg,#0c2233c9,#0d263021),linear-gradient(0deg,#0c253467,transparent)}.season-intro{padding:42px var(--gutter) 145px}.season-intro h2{font-size:clamp(47px,12vw,66px)}.season-selected{margin-top:41px;padding-left:18px}.season-selected h3{font-size:69px}.season-selected>p:first-child{font-size:8px;letter-spacing:.12em}.season-selected #season-note{font-size:11px;margin-top:10px}.season-selected .button{margin-top:4px}.season-switches{display:flex;overflow-x:auto;scrollbar-width:none;padding:0 12px;scroll-snap-type:x proximity}.season-switches::-webkit-scrollbar{display:none}.season-switches button{flex:0 0 82px;min-height:104px;scroll-snap-align:center}.season-switches button>strong{font-size:24px}.season-switches button>span{font-size:8px}.season-bottom{display:block;padding-top:32px}.season-bottom h3{font-size:40px}.season-bottom>div>p{font-size:11px;line-height:1.95;margin-top:18px}.season-bottom .text-link{font-size:10px;margin-top:20px}.season-legend{margin-top:18px;gap:8px 15px;font-size:7px}.season-stories{margin-top:28px;gap:13px}.season-story-photo>img{height:146px}.season-story-photo>span{font-size:7px;left:8px;bottom:8px;padding:3px 6px}.season-story h4{font-size:24px;margin-top:12px}.envies-grid{grid-template-columns:1fr 1fr;grid-auto-rows:180px;gap:12px}.envie-tile:first-child{grid-column:span 2;grid-row:span 2}.envie-tile:nth-child(2),.envie-tile:nth-child(5),.envie-tile:nth-child(8){grid-column:span 2}.envie-tile>span{left:19px;right:17px;bottom:21px;gap:8px}.envie-tile h3{font-size:29px;line-height:1.04;max-width:250px}.envie-tile:first-child h3{font-size:65px;max-width:250px}.envie-arrow{width:25px;height:25px;font-size:16px}.envie-tile:first-child .envie-arrow{width:37px;height:37px}.pratique-grid{grid-template-columns:1fr}.pratique-item{padding:25px 21px;min-height:127px;grid-template-columns:31px 1fr 16px;gap:16px}.pratique-item h3{font-size:13px;margin-bottom:9px}.pratique-item p{font-size:11px}.pratique-icon>svg{width:30px;height:30px}.how-section h2>span{font-size:29px;line-height:1.1;margin-bottom:17px}.how-section h2{font-size:43px}.how-steps{display:block;margin-top:35px}.how-steps:before{top:25px;bottom:0;left:28px;right:auto;width:1px;height:auto}.how-step{padding:0 0 35px 83px;display:flex;min-height:235px}.step-number{position:absolute;left:0;top:0;width:57px;height:57px;font-size:31px;align-self:auto;margin:0}.step-illustration{height:80px;width:145px;align-self:flex-start;margin-bottom:20px}.step-role{font-size:8px;margin-bottom:12px}.step-copy h3{font-size:38px;min-height:0;margin-bottom:14px}.step-copy p{font-size:11px;line-height:1.95}.how-step:last-child{padding:27px 23px 29px 83px;margin-top:0}.how-step:last-child .step-number{top:26px;left:9px;width:54px;height:54px}.how-step:last-child .step-illustration{height:74px}.agencies-grid{grid-template-columns:1fr;gap:16px}.agency-card{padding:25px}.agency-card-head{margin-bottom:22px}.agency-card h3{font-size:38px}.agency-description{font-size:11px}.recits-section{padding-block:47px}.recits-grid{grid-template-columns:1fr;gap:40px}.recit-image>img,.recit-card:first-child .recit-image>img{height:265px}.recit-card h3{font-size:37px;margin-top:20px}.recit-card>p{font-size:11px;margin-top:12px}.conversion-section{padding-block:75px}.conversion-content h2{font-size:clamp(76px,19vw,108px);line-height:.92}.conversion-content h2 span{font-size:30px;margin-bottom:23px}.conversion-content>p:not(.overline){font-size:11px;margin-top:26px}.conversion-actions{flex-direction:column;gap:12px;margin-top:27px}.conversion-actions .button{font-size:11px}.conversion-line{left:15%;top:28%;width:140%;opacity:.3}.site-footer{padding-top:36px;padding-bottom:22px}.footer-brand{display:block;padding-bottom:26px}.footer-brand img{width:137px;height:65px}.footer-brand>p{font-size:10px;margin-top:23px}.footer-groups{grid-template-columns:1fr 1fr;gap:25px 22px;padding-block:29px}.footer-groups h3{font-size:10px;margin-bottom:16px}.footer-groups li{font-size:9px;margin-bottom:10px}.footer-legal{display:block;font-size:8px;padding-top:24px}.footer-legal>p:last-child{text-align:left;margin-top:20px}.mobile-bottom{position:fixed;z-index:85;left:0;right:0;bottom:0;display:grid;grid-template-columns:repeat(5,1fr);padding:9px 8px max(9px,env(safe-area-inset-bottom));min-height:70px;background:#0d2431f5;backdrop-filter:blur(12px);color:#d3e0e8;border-top:1px solid #496272;box-shadow:0 -5px 20px #061e2617}.mobile-bottom a{display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:8px;gap:5px;line-height:1.3}.mobile-bottom a>span{font-size:22px;line-height:1.1}.mobile-bottom a[aria-current]{color:#fff}.mobile-bottom a.mobile-compose{color:var(--saffron)}#search-dialog{max-width:calc(100vw - 20px);margin-top:12px;max-height:calc(100dvh - 24px)}.search-dialog-head{padding:17px 20px 10px}.search-dialog-head h2{font-size:30px}.search-input-wrap{margin-inline:20px;gap:12px;padding-bottom:11px}#search-input{font-size:16px}#search-results{padding-inline:20px;max-height:calc(100dvh - 220px)}.search-help{padding-inline:20px;font-size:8px}.search-result{font-size:11px;padding-block:13px}.search-result-meta{font-size:8px}.search-group h3{font-size:8px}.mobile-menu-head{padding-inline:22px}.mega-menu{display:none}}
@media(max-width:370px){.hero{min-height:1070px}.hero h1{font-size:79px}.hero h1>span{font-size:25px}.hero-editorial{padding-top:115px}.trace-card{padding:18px;grid-template-columns:1.2fr .7fr}.trace-card h2{font-size:25px}.trace-map{height:110px}.search-launch>span{font-size:23px}.section-head h2{font-size:38px}.region-copy h3{font-size:33px}.market-actions .button{padding-inline:10px;font-size:8px;gap:8px}.market-price strong{font-size:31px}.market-body h3{font-size:39px}.how-section h2{font-size:39px}.conversion-content h2{font-size:70px}}
/* Disclosure panels share the same editorial scale as the rest of the guide. */
.modal-open{overflow:hidden}.site-header:has(.mega-menu:not([hidden])){background:var(--paper);color:var(--ink);border-color:var(--line)}.site-header:has(.mega-menu:not([hidden])) .brand img{filter:brightness(0)}.site-header:has(.mega-menu:not([hidden])) .nav-cta{background:var(--navy);border-color:var(--navy);color:white}.hit-target{fill:transparent;stroke:none;pointer-events:all}.market-card:first-child .market-actions .button{background:var(--saffron);color:var(--ink)}.season-switches button>strong{font-weight:700}.mega-inner h2{font-size:28px;margin-bottom:18px;letter-spacing:-.025em}.mega-inner>div>a:not(.mega-small-link){display:block;font-size:11px;line-height:1.7;padding-block:5px}.mega-region-links small{display:block;color:var(--muted);font-size:9px}.mega-feature{background:#e6ece5;padding:25px;min-height:0}.mega-feature img{height:150px;margin:-25px -25px 18px;width:calc(100% + 50px);max-width:none}.mega-feature p{font-size:10px;line-height:1.8;margin-block:12px;color:#597078}.mega-feature>a{font-family:Cormorant,serif;font-size:25px!important;line-height:1.05!important}.mega-feature a span{position:static;display:inline;padding:0;background:none;color:inherit;font:inherit}.mega-feature small{font-size:9px}.mega-feature strong{font:700 27px Cormorant,serif}.mega-feature .mega-small-link{font:600 10px/1.7 Poppins,sans-serif!important;text-decoration:underline;text-underline-offset:5px}.mega-practice-links{display:block;grid-column:span 2}.mega-practice-links .mega-region-links{gap:18px 35px}.mega-inner>div>a:hover,.mega-region-links a:hover{color:var(--amber)}
@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* Voyage selection: four complete cards, following the approved composition. */
.voyages-layout {
  --trip-gap: 10px;
  --trip-columns: 4;
  position: relative;
  padding-top: 26px;
}
.voyages-layout::before {
  content: "";
  position: absolute;
  inset: 0 var(--gutter) auto;
  border-top: 1px solid var(--line);
}
.voyages-section .section-head {
  display: flex;
  align-items: flex-start;
  gap: 24px;
  margin-bottom: 26px;
}
.voyages-section .overline { color: #bd7309; margin-bottom: 11px; }
.voyages-section .section-head h2 {
  font-size: clamp(44px, 5.2vw, 76px);
  line-height: .98;
  letter-spacing: -.045em;
}
.voyages-section .section-head .text-link { margin-top: 36px; gap: 6px; font-size: 12px; padding-bottom: 3px; }
.voyages-section .section-head .text-link span { font-size: 17px; }
.voyages-section .voyages-rail {
  gap: var(--trip-gap);
  width: 100%;
  padding: 0;
  scroll-padding-inline: 0;
  overscroll-behavior-inline: contain;
  align-items: stretch;
}
.voyages-section .voyages-rail:focus-visible { outline-offset: 6px; }
.voyages-section .trip-card {
  flex: 0 0 calc((100% - (var(--trip-columns) - 1) * var(--trip-gap)) / var(--trip-columns));
  min-width: 0;
  max-width: none;
  display: flex;
  flex-direction: column;
  border: 1px solid #d2dce0;
  background: #fafbf8;
  scroll-snap-align: start;
  transition: border-color .2s, background .2s;
}
.voyages-section .trip-card:hover { border-color: #9cabb0; background: #fff; }
.voyages-section .trip-card:focus-visible { outline-offset: -3px; }
.voyages-section .trip-photo {
  flex: none;
  width: 100%;
  height: auto;
  aspect-ratio: .945;
  margin: 0;
  background: #dce4e2;
}
.voyages-section .trip-photo img { object-position: center; }
.voyages-section .trip-duration {
  top: 12px;
  left: 12px;
  max-width: calc(100% - 24px);
  padding: 4px 8px;
  background: #fafbf5ed;
  font-size: clamp(9px, .7vw, 10px);
  font-weight: 600;
  line-height: 1.5;
}
.voyages-section .trip-arrow {
  bottom: 12px;
  right: 12px;
  width: clamp(26px, 2.3vw, 34px);
  height: clamp(26px, 2.3vw, 34px);
  font-size: 20px;
}
.voyages-section .trip-copy {
  display: flex;
  flex-direction: column;
  flex: 1;
  min-width: 0;
  padding: 13px clamp(11px, 1.05vw, 16px) 12px;
}
.voyages-section .trip-copy h3 {
  font-size: clamp(22px, 2.27vw, 34px);
  line-height: 1.06;
  letter-spacing: -.045em;
  min-height: 0;
}
.voyages-section .trip-card-long .trip-copy h3 { font-size: clamp(20px, 2vw, 30px); }
.voyages-section .trip-subtitle {
  margin: 6px 0 15px;
  min-height: 1.4em;
  font-size: clamp(10px, .85vw, 12px);
  line-height: 1.4;
  color: #687a86;
}
.voyages-section .trip-bottom {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 8px;
  min-height: 53px;
  margin-top: auto;
  padding-top: 10px;
  border-color: #d2dce0;
}
.voyages-section .trip-bottom > p { font-size: 9px; line-height: 1.4; }
.voyages-section .trip-bottom > p > span { display: block; }
.voyages-section .trip-bottom b { margin-top: 3px; font-size: clamp(10px, .78vw, 11px); line-height: 1.35; }
.voyages-section .trip-bottom > div { padding-left: 12px; text-align: left; line-height: 1.1; }
.voyages-section .trip-bottom small { font-size: 9px; line-height: 1.25; }
.voyages-section .trip-bottom strong { font-size: clamp(27px, 2.8vw, 40px); line-height: 1; letter-spacing: -.045em; margin-top: 2px; }
body:has([data-currency="DZD"][aria-pressed="true"]) .voyages-section .trip-bottom {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
}
body:has([data-currency="DZD"][aria-pressed="true"]) .voyages-section .trip-bottom strong {
  font-size: clamp(18px, 1.7vw, 26px);
  white-space: normal;
  line-height: 1.15;
}
.voyages-section .rail-footer {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 13px 24px;
  margin-top: 26px;
}
.voyages-section .rail-progress {
  grid-column: 1 / -1;
  width: 100%;
  height: 2px;
  background: #cbd4d8;
}
.voyages-section .rail-progress-fill {
  top: -1px;
  width: 52px;
  height: 3px;
  background: #f6a11a;
  transition: transform .25s ease;
}
.voyages-section .rail-footer > .rail-caption { display: block; color: #76848d; font-size: 10px; line-height: 1.6; }
.voyages-section .rail-controls { gap: 14px; }
.voyages-section .rail-controls .rail-counter { font-size: 9px; font-weight: 600; letter-spacing: .12em; margin-right: 6px; }
.voyages-section .rail-controls button { width: 34px; height: 34px; border-color: #5b7282; font-size: 19px; }
.voyages-section .rail-controls button:disabled { opacity: .35; }
@media (max-width: 1100px) and (min-width: 900px) {
  .voyages-section .trip-copy { padding-inline: 10px; }
  .voyages-section .trip-copy h3 { font-size: 24px; }
  .voyages-section .trip-bottom { gap: 6px; }
  .voyages-section .trip-bottom > div { padding-left: 8px; }
  .voyages-section .trip-bottom b { font-size: 10px; }
  .voyages-section .trip-bottom strong { font-size: 28px; }
}
@media (max-width: 899px) {
  .voyages-layout { --trip-columns: 2; --trip-gap: 14px; }
  .voyages-section .section-head h2 { font-size: 43px; }
  .voyages-section .section-head .text-link { font-size: 10px; margin-top: 31px; }
  .voyages-section .trip-copy { padding: 17px 17px 15px; }
  .voyages-section .trip-copy h3 { font-size: 32px; }
  .voyages-section .trip-card-long .trip-copy h3 { font-size: 29px; }
  .voyages-section .trip-subtitle { font-size: 11px; }
  .voyages-section .trip-duration { font-size: 10px; }
  .voyages-section .trip-bottom { min-height: 61px; }
  .voyages-section .trip-bottom b { font-size: 11px; }
  .voyages-section .trip-bottom strong { font-size: 36px; }
  .voyages-section .trip-bottom small, .voyages-section .trip-bottom > p { font-size: 10px; }
}
@media (max-width: 720px) {
  .voyages-layout { padding-top: 23px; }
  .voyages-section .section-head { display: block; margin-bottom: 24px; }
  .voyages-section .section-head h2 { font-size: clamp(37px, 10vw, 50px); line-height: 1.02; }
  .voyages-section .section-head h2 br { display: initial; }
  .voyages-section .section-head .text-link { margin-top: 19px; font-size: 11px; }
  .voyages-section .voyages-rail { width: calc(100% + var(--gutter)); padding-right: var(--gutter); }
  .voyages-section .trip-card { flex-basis: min(100% - 20px, 350px); }
  .voyages-section .trip-copy h3 { font-size: clamp(28px, 7.6vw, 34px); }
  .voyages-section .trip-card-long .trip-copy h3 { font-size: clamp(23px, 6.6vw, 29px); }
  .voyages-section .trip-subtitle { min-height: 1.4em; margin-bottom: 18px; }
  .voyages-section .trip-arrow { width: 32px; height: 32px; }
  .voyages-section .rail-footer { gap: 12px; margin-top: 22px; }
  .voyages-section .rail-footer > .rail-caption { font-size: 9px; max-width: 245px; }
  .voyages-section .rail-controls { gap: 7px; }
  .voyages-section .rail-controls .rail-counter { font-size: 8px; margin-right: 3px; }
  .voyages-section .rail-controls button { width: 34px; height: 34px; }
  body:has([data-currency="DZD"][aria-pressed="true"]) .voyages-section .trip-bottom strong { font-size: 23px; }
}
@media (max-width: 420px) {
  .voyages-section .rail-footer { grid-template-columns: 1fr; }
  .voyages-section .rail-controls { grid-row: 2; margin-left: auto; }
  .voyages-section .rail-caption { grid-row: 3; max-width: none!important; }
  .voyages-section .rail-controls button { width: 40px; height: 40px; }
}
@media (prefers-reduced-motion: reduce) {
  .voyages-section .rail-progress-fill, .voyages-section .trip-card { transition: none; }
}

/* Full-home visual refinement — September 2026 */
/* A shared editorial rhythm, with a deliberately quieter single-line hero. */
:root { --space: clamp(72px, 7vw, 110px); }
.section-head .text-link { font-size: clamp(11px, .95vw, 14px); gap: 8px; padding-bottom: 5px; }
.section-head { margin-bottom: 32px; }
.section-head .overline { margin-bottom: 12px; }
.section-head h2 { line-height: 1; }
.utility-bar { font-size: 10px; }
.site-header .brand img { width: 142px; height: 66px; }
.desktop-nav a, .desktop-nav button { font-size: 12px; }
.nav-cta { font-size: 11px; min-height: 46px; }
.hero { height: clamp(660px, calc(100svh - 110px), 880px); min-height: 660px; }
.hero-editorial {
  top: clamp(156px, 26%, 225px);
  width: calc(100% - var(--gutter) * 2 - clamp(280px, 24vw, 360px) - 58px);
  max-width: 880px;
}
.hero-editorial .overline { font-size: 10px; margin-bottom: 24px; }
.hero .hero-editorial h1 {
  font-size: clamp(58px, 6.8vw, 108px);
  line-height: .98;
  letter-spacing: -.05em;
  white-space: nowrap;
}
.hero .hero-editorial h1 > span {
  font-size: clamp(29px, 3.05vw, 46px);
  font-weight: 400;
  line-height: 1.15;
  margin-bottom: 17px;
  letter-spacing: -.025em;
}
.hero-description { max-width: 390px; font-size: clamp(13px, 1.08vw, 16px); line-height: 1.85; margin-top: 25px; }
.hero-explore { font-size: 25px; margin-top: 29px; gap: 17px; }
.hero-explore .circle-arrow { width: 48px; height: 48px; }
.trace-card { top: clamp(132px, 18%, 190px); width: clamp(280px, 24vw, 360px); padding: 24px; border-color: #b7c7cc60; background: #102a37e8; }
.trace-card-top p { font: 600 10px/1.6 Poppins,sans-serif; letter-spacing: .2em; text-transform: uppercase; color: #ffd18b; }
.trace-card-top > span { font-size: 9px; color: #e2e8e9; border-color: #b7c7cc66; letter-spacing: .05em; }
.trace-card .trace-map { height: clamp(174px, 15.5vw, 231px); margin: 13px auto 16px; }
.trace-line { stroke-width: 4; stroke-dasharray: none; }
.trace-map text { font-size: 26px; }
.trace-card h2 { font-size: clamp(30px, 2.55vw, 38px); line-height: 1.03; margin-bottom: 21px; }
.trace-card .button { min-height: 48px; font-size: 11px; padding-inline: 16px; }
.trace-card .micro { font-size: 9px; text-align: left; margin-top: 11px; }
.hero-chapters button { font-size: 11px; min-width: 142px; }
.hero-caption { font-size: 11px; }
.hero-bottom { bottom: 26px; }
.trust-list { padding-block: 26px; }
.trust-icon svg { width: 29px; height: 29px; stroke: var(--navy); }
.trust-item { gap: 19px; }
.trust-item h3 { font-size: clamp(11px, 1.04vw, 14px); }
.search-section { padding-top: 30px; padding-bottom: 29px; }
.search-launch { height: 76px; padding-inline: 26px; gap: 27px; }
.search-launch > span { font-size: clamp(29px, 2.6vw, 38px); }
.search-launch > svg { width: 27px; }
.suggestions { gap: 14px 25px; margin-top: 17px; align-items: baseline; }
.suggestions::before { content: "Quelques pistes"; font-size: 11px; color: var(--muted); }
.suggestions button { border: 0; border-bottom: 1px solid transparent; padding: 2px 0 4px; border-radius: 0; font-size: clamp(10px, .88vw, 12px); }
.suggestions button span { margin-left: 7px; }
.suggestions button:hover { border-bottom-color: #e6bf7a; }
.regions-section > .wrap { padding-top: 32px; }
.regions-section .section-head { margin-bottom: 27px; }
.regions-section .section-head h2 { font-size: clamp(50px, 6vw, 86px); }
.regions-section .region-atlas { grid-template-columns: 1.1fr .96fr 1.17fr; gap: 28px; }
.regions-section .map-column { padding-top: 0; }
.regions-section .sea-label { margin: 0 0 4px 36%; font-size: 17px; }
.regions-section #atlas-map {
  height: 458px;
  max-height: none;
  background-image: linear-gradient(#557c8b0a 1px, transparent 1px), linear-gradient(90deg,#557c8b0a 1px,transparent 1px);
  background-size: 32px 32px;
}
.regions-section .country-land { fill: #e6eae0; }
.regions-section .country-outline { stroke: #71888e; stroke-width: 1.4; }
.regions-section .map-region { fill: transparent; stroke: none; opacity: 1; }
.regions-section .map-region.is-active { fill: #e7b351; opacity: .16; }
.regions-section .map-region:hover { fill: #e7b351; opacity: .12; }
.regions-section .map-marker { r: 16px; stroke: var(--paper); stroke-width: 1.5; }
.regions-section .map-number { font-size: 14px; }
.regions-section .map-point.is-active .map-marker { r: 18px; stroke: #f6a72d40; stroke-width: 22px; paint-order: stroke fill; }
.regions-section .map-point:focus-visible .map-marker { stroke: #193a4b; stroke-width: 4px; }
.regions-section .map-instructions { font-size: 10px; line-height: 1.6; margin-top: 9px; }
.regions-section .region-directory { padding-top: 0; }
.regions-section .region-directory button { min-height: 40px; padding: 9px 10px; font-size: clamp(10px, .83vw, 13px); line-height: 1.5; gap: 10px; }
.regions-section .region-directory button.is-active { background: #faf0df; font-weight: 600; }
.regions-section .region-number { font-size: 10px; }
.regions-section .region-row-arrow { font-size: 17px; }
.regions-section .region-photo::after { content: ""; position: absolute; inset: 0; background: linear-gradient(#0c243660,transparent 35%); pointer-events: none; }
.regions-section .region-photo img { height: auto; aspect-ratio: 1.62; width: 100%; }
.regions-section .region-photo > span { top: 15px; bottom: auto; left: 18px; padding: 0; background: none; color: white; font-size: 8px; font-weight: 600; letter-spacing: .2em; text-transform: uppercase; z-index: 1; }
.regions-section .region-copy { padding-top: 17px; }
.regions-section .region-copy .region-eyebrow { color: var(--amber); font-size: 9px; letter-spacing: .18em; text-transform: uppercase; min-height: 0; margin-bottom: 5px; }
.regions-section .region-copy h3 { font-size: clamp(32px, 3.35vw, 48px); margin-bottom: 8px; }
.regions-section .region-copy #region-desc { font-size: 12px; min-height: 0; }
.regions-section .region-facts { margin: 16px 0 0; padding: 14px 0; border-top: 1px solid var(--line); font-size: 11px; gap: 14px; }
.regions-section .region-facts > span { display: flex; align-items: center; gap: 8px; }
.regions-section .region-facts > span + span { padding-left: 14px; }
.regions-section .region-duration::before { content: "◷"; font-size: 23px; line-height: 1; color: var(--navy); }
.regions-section .region-season::before { content: "▦"; font-size: 22px; line-height: 1; color: var(--navy); }
.regions-section .region-copy .button { min-height: 48px; font-size: 12px; }
.agencies-section { padding-top: 34px; }
.agencies-grid { gap: 18px; }
.agency-card { padding: 29px; display: flex; flex-direction: column; }
.agency-card-head { margin-bottom: 25px; }
.agency-monogram { background: transparent; color: var(--navy); border: 1px solid #9caeb5; width: 51px; height: 51px; }
.agency-card:first-child .agency-monogram { background: var(--navy); border-color: var(--navy); color: white; }
.agency-card > p:not(.agency-description) { font-size: 9px; }
.agency-card h3 { font-size: clamp(31px, 2.8vw, 42px); line-height: 1.06; }
.agency-description { font-size: 12px; line-height: 1.85; max-width: 37ch; }
.recits-section { padding-block: 58px 65px; }
.recits-grid { gap: 24px; }
.recit-image > img, .recit-card:first-child .recit-image > img { height: clamp(245px, 22vw, 330px); }
.recit-card h3 { font-size: clamp(30px, 2.8vw, 40px); margin-top: 21px; }
.recit-card > p { font-size: 12px; line-height: 1.85; color: #c7d5dd; }
.recit-media { font-size: 9px; padding: 5px 9px; }
.conversion-section { padding-block: 96px; }
.conversion-content h2 { font-size: clamp(78px, 8vw, 116px); line-height: .94; }
.conversion-content h2 > span { font-size: clamp(31px, 3.3vw, 48px); margin-bottom: 20px; }
.conversion-content > p:not(.overline) { font-size: 13px; line-height: 1.9; max-width: 550px; }
.conversion-actions .button { font-size: 12px; }
.site-footer { padding-top: 43px; }
.footer-brand > p { font-size: 12px; }
.footer-groups h3 { font-size: 12px; }
.footer-groups li { font-size: 11px; margin-bottom: 10px; }
.footer-legal { font-size: 9px; }
@media (max-width: 1100px) {
  .desktop-nav { display: none; }
  .mobile-trigger { display: grid; }
  .hero-editorial { width: calc(100% - var(--gutter) * 2 - 315px); top: 190px; }
  .hero .hero-editorial h1 { font-size: clamp(48px, 6.3vw, 70px); }
  .hero .hero-editorial h1 > span { font-size: 31px; }
  .hero-description { font-size: 12px; max-width: 300px; }
  .trace-card { width: 270px; top: 148px; padding: 22px; }
  .trace-card .trace-map { height: 167px; margin-block: 12px; }
  .trace-card h2 { font-size: 30px; }
  .trace-card .button { font-size: 10px; }
  .trust-item { gap: 11px; padding-inline: 14px; }
  .trust-item h3 { font-size: 11px; }
  .suggestions { gap: 10px 20px; }
  .regions-section .region-atlas { grid-template-columns: 1fr 1fr; gap: 24px 32px; }
  .regions-section .map-column { grid-column: 1; grid-row: 1; }
  .regions-section #atlas-map { height: 360px; }
  .regions-section .region-directory { grid-column: 1; grid-row: 2; grid-template-columns: 1fr; gap: 0; }
  .regions-section .region-directory button { font-size: 11px; min-height: 37px; padding-block: 7px; }
  .regions-section .region-detail { grid-column: 2; grid-row: 1 / span 2; top: 108px; }
  .regions-section .region-photo img { aspect-ratio: 1.15; }
  .regions-section .region-copy h3 { font-size: 39px; }
  .regions-section .region-facts { font-size: 10px; flex-wrap: wrap; gap: 10px; }
  .agency-card { padding: 23px; }
  .agency-description { font-size: 11px; }
}
@media (min-width: 721px) and (max-width: 850px) {
  .hero-editorial { width: calc(100% - var(--gutter) * 2 - 280px); }
  .hero .hero-editorial h1 { font-size: 48px; }
  .hero .hero-editorial h1 > span { font-size: 26px; }
  .trace-card { width: 250px; padding: 19px; }
  .trace-card h2 { font-size: 29px; }
}
@media (max-width: 720px) {
  .site-header .brand img { width: 112px; height: 53px; }
  .utility-bar { font-size: 8px; }
  .hero { height: auto; min-height: 0; padding-bottom: 80px; }
  .hero-editorial { top: auto; padding: 120px var(--gutter) 0; width: 100%; max-width: none; }
  .hero-editorial .overline { font-size: 8px; margin-bottom: 26px; }
  .hero .hero-editorial h1 { font-size: clamp(42px, 11.6vw, 75px); line-height: 1; letter-spacing: -.05em; }
  .hero .hero-editorial h1 > span { font-size: clamp(26px, 6.6vw, 38px); margin-bottom: 15px; }
  .hero-description { max-width: 335px; font-size: 12px; line-height: 1.9; margin-top: 23px; }
  .hero-explore { margin-top: 25px; font-size: 24px; }
  .hero-explore .circle-arrow { width: 43px; height: 43px; }
  .trace-card { position: relative; top: auto; width: auto; margin: 35px var(--gutter) 0; padding: 18px 22px 21px; grid-template-columns: 1fr 105px; gap: 0 13px; }
  .trace-card-top { grid-column: 1; grid-row: 1; align-content: center; align-items: flex-start; flex-direction: column; justify-content: center; gap: 12px; margin: 0; }
  .trace-card-top p { font-size: 11px; }
  .trace-card-top > span { font-size: 8px; }
  .trace-card .trace-map { grid-column: 2; grid-row: 1; width: 105px; height: 104px; margin: 0; justify-self: end; }
  .trace-card h2 { grid-column: 1 / -1; grid-row: 2; font-size: 31px; line-height: 1.07; margin: 12px 0 21px; }
  .trace-card .button { grid-column: 1 / -1; grid-row: 3; font-size: 11px; min-height: 47px; }
  .trace-card .micro { grid-column: 1 / -1; grid-row: 4; font-size: 8px; text-align: center; }
  .hero-chapters button { font-size: 8px; min-width: 0; }
  .trust-list { padding-block: 21px; }
  .trust-item { padding-inline: 7px; gap: 9px; }
  .trust-item h3 { font-size: 9px; }
  .trust-icon svg { width: 25px; height: 25px; }
  .search-section { padding-top: 27px; padding-bottom: 27px; }
  .search-launch { height: 64px; padding-inline: 16px; gap: 13px; }
  .search-launch > svg { width: 22px; }
  .search-launch > span { font-size: 26px; }
  .suggestions { gap: 8px 15px; }
  .suggestions::before { display: block; width: 100%; font-size: 9px; }
  .suggestions button { font-size: 10px; }
  .regions-section > .wrap { padding-top: 29px; }
  .regions-section .section-head h2 { font-size: clamp(42px, 11vw, 62px); }
  .regions-section .section-head { margin-bottom: 24px; }
  .regions-section .region-atlas { display: flex; gap: 24px; }
  .regions-section #atlas-map { height: 330px; }
  .regions-section .sea-label { font-size: 16px; }
  .regions-section .map-instructions { font-size: 9px; }
  .regions-section .region-directory { display: grid; grid-template-columns: 1fr 1fr; gap: 0 10px; }
  .regions-section .region-directory button { font-size: 9px; gap: 5px; min-height: 47px; padding-inline: 5px; }
  .regions-section .region-number { font-size: 8px; min-width: 14px; }
  .regions-section .region-row-arrow { font-size: 13px; }
  .regions-section .region-detail { position: static; }
  .regions-section .region-photo img { aspect-ratio: 1.5; }
  .regions-section .region-copy h3 { font-size: 40px; }
  .regions-section .region-copy #region-desc { font-size: 12px; }
  .regions-section .region-facts { flex-wrap: nowrap; font-size: 10px; }
  .regions-section .region-copy .button { font-size: 11px; }
  .agencies-section { padding-top: 29px; }
  .agency-card { padding: 25px; }
  .agency-card h3 { font-size: 38px; }
  .agency-description { font-size: 12px; }
  .recits-section { padding-block: 45px; }
  .recits-grid { gap: 35px; }
  .recit-image > img, .recit-card:first-child .recit-image > img { height: auto; aspect-ratio: 1.32; }
  .recit-card h3 { font-size: 36px; }
  .recit-card > p { font-size: 12px; }
  .conversion-section { padding-block: 73px; }
  .conversion-content h2 { font-size: clamp(72px, 18.5vw, 106px); }
  .conversion-content h2 > span { font-size: 29px; }
  .conversion-content > p:not(.overline) { font-size: 12px; }
  .conversion-actions .button { font-size: 11px; }
  .footer-brand > p { font-size: 11px; }
  .footer-groups h3 { font-size: 11px; }
  .footer-groups li { font-size: 10px; }
  .footer-legal { font-size: 9px; }
}
@media (max-width: 370px) {
  .hero .hero-editorial h1 { font-size: 41px; }
  .hero .hero-editorial h1 > span { font-size: 25px; }
  .trace-card { padding-inline: 18px; }
  .trace-card h2 { font-size: 28px; }
  .search-launch > span { font-size: 23px; }
  .regions-section .region-copy h3 { font-size: 36px; }
  .regions-section .region-directory button { font-size: 8px; }
}

/*
 * Discovery refinement — append after the existing stylesheet.
 * Scope: Pépites and Grands voyages & escapades only.
 * References: exec-860ff275… (Pépites), exec-f4873632… (Formats).
 * No markup change required. Optional .market-location is styled below.
 */

.pepites-section {
  --pepite-gap: clamp(12px, 1.05vw, 17px);
  --pepite-column: calc((100% - 3 * var(--pepite-gap)) / 5);
}

.pepites-section .section-head {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: end;
  gap: 32px;
  padding-top: 32px;
  margin-bottom: clamp(30px, 3vw, 46px);
}

.pepites-section .section-head::before {
  content: '';
  position: absolute;
  top: 0;
  left: var(--gutter);
  right: var(--gutter);
  height: 1px;
  background: var(--line);
}

.pepites-section .section-head > div { min-width: 0; }
.pepites-section .overline { margin-bottom: 12px; color: var(--amber); }
.pepites-section .section-head h2 {
  max-width: none;
  font-size: clamp(46px, 5.35vw, 84px);
  line-height: 1;
  letter-spacing: -.047em;
}

.pepites-section .section-head .text-link {
  margin: 0 0 6px;
  gap: 14px;
  padding-bottom: 5px;
  font-size: 12px;
  white-space: nowrap;
}

.pepites-section .pepites-rail {
  width: calc(100% - 2 * var(--gutter));
  max-width: calc(var(--max) - 2 * var(--gutter));
  margin-inline: auto;
  padding: 0;
  gap: var(--pepite-gap);
  overflow-x: auto;
  overflow-y: hidden;
  scroll-padding-inline: 0;
  overscroll-behavior-inline: contain;
  align-items: stretch;
}

.pepites-section .pepite-card {
  flex: 0 0 var(--pepite-column);
  min-width: 0;
  max-width: none;
  position: relative;
}

.pepites-section .pepite-card:first-child {
  flex-basis: calc(var(--pepite-column) * 2);
  max-width: none;
}

.pepites-section .pepite-card:focus-visible { outline-offset: -4px; }
.pepites-section .pepite-image {
  height: clamp(390px, 35vw, 555px);
  border-radius: 0;
  isolation: isolate;
}

.pepites-section .pepite-image::after {
  background: linear-gradient(0deg, #061923f2 0%, #0a1b269e 19%, #14202814 55%, transparent 76%);
}

.pepites-section .pepite-image > img { object-position: center; }
.pepites-section .pepite-card-featured .pepite-image > img {
  object-position: center top;
  transform: scale(1.42);
  transform-origin: top center;
}

.pepites-section .pepite-card-featured:hover .pepite-image > img { transform: scale(1.46); }
.pepites-section .pepite-type {
  left: 14px;
  top: 15px;
  padding: 5px 10px;
  background: #fffdf4f5;
  color: var(--ink);
  font-size: 9px;
  line-height: 1.6;
  font-weight: 600;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.pepites-section .pepite-caption {
  left: clamp(18px, 1.7vw, 27px);
  right: clamp(18px, 1.7vw, 27px);
  bottom: 23px;
}

.pepites-section .pepite-caption > p:first-child {
  margin-bottom: 10px;
  font-size: 9px;
  font-weight: 600;
  letter-spacing: .18em;
  line-height: 1.6;
  color: #ffc459;
}

.pepites-section .pepite-caption h3 {
  font-size: clamp(29px, 2.65vw, 42px);
  line-height: 1.01;
  letter-spacing: -.037em;
  overflow-wrap: normal;
}

.pepites-section .pepite-card:first-child h3 { font-size: clamp(41px, 4vw, 62px); }
.pepites-section .pepite-caption .pepite-desc {
  display: none;
  margin-top: 12px;
  font-size: 12px;
  line-height: 1.65;
  color: #f0eee8;
}

.pepites-section .pepite-card:first-child .pepite-desc {
  display: block;
  max-width: 82%;
  font-size: clamp(12px, 1vw, 15px);
}

.pepites-section .pepite-link {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 12px;
  min-height: 24px;
  margin-top: 17px;
  padding-top: 0;
  border-top: 0;
  font-size: 12px;
  line-height: 1.4;
}

.pepites-section .pepite-link > span { font-size: 20px; }
.pepites-section .pepite-card:first-child .pepite-link > span {
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  flex: 0 0 42px;
  margin-left: auto;
  background: var(--saffron);
  color: var(--ink);
}

.pepites-section .rail-footer {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 15px 24px;
  margin-top: 32px;
}

.pepites-section .rail-progress {
  grid-column: 1 / -1;
  grid-row: 1;
  width: 100%;
  height: 1px;
  flex: none;
  min-width: 0;
}

.pepites-section .rail-progress-fill { background: var(--saffron); }
.pepites-section .rail-footer > span {
  display: block;
  grid-row: 2;
  font-size: 11px;
  line-height: 1.6;
  color: #75838c;
}

.pepites-section .rail-controls { grid-row: 2; gap: 16px; }
.pepites-section .rail-controls [data-counter-for] {
  margin-right: 4px;
  color: var(--navy);
  font-size: 10px;
  font-weight: 600;
  letter-spacing: .04em;
}

.pepites-section .rail-controls button {
  width: 40px;
  height: 40px;
  border-color: var(--navy);
  font-size: 20px;
}

.formats-section { position: relative; padding-top: 29px; }
.formats-section::before {
  content: '';
  position: absolute;
  top: 0;
  left: var(--gutter);
  right: var(--gutter);
  height: 1px;
  background: var(--line);
}

.formats-section > .overline { margin-bottom: 17px; color: var(--amber); }
.formats-section .market-cards {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 17px;
  align-items: stretch;
}

.formats-section .market-card {
  display: flex;
  flex-direction: column;
  min-width: 0;
  overflow: hidden;
  background: var(--navy-dark);
  border: 1px solid transparent;
  color: var(--paper);
}

.formats-section .market-card:nth-child(2) {
  background: #fbfcf8;
  color: var(--ink);
  border-color: #becbd0;
}

.formats-section .market-photo {
  position: relative;
  flex: 0 0 auto;
  width: 100%;
  height: auto;
  aspect-ratio: 1.65;
  overflow: hidden;
}

.formats-section .market-photo > img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.formats-section .market-photo::after {
  content: '';
  position: absolute;
  inset: 60% 0 0;
  pointer-events: none;
  background: linear-gradient(transparent, #081e304f);
}

.formats-section .market-duration {
  top: 20px;
  left: 20px;
  z-index: 1;
  padding: 6px 12px;
  color: var(--ink);
  background: #fffdf4f5;
  font-size: 10px;
  line-height: 1.6;
  font-weight: 600;
  letter-spacing: .16em;
  text-transform: uppercase;
}

/* Optional, if location captions from the reference are added to the markup. */
.formats-section .market-location {
  position: absolute;
  bottom: 16px;
  right: 21px;
  z-index: 1;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: white;
  font-size: 11px;
  line-height: 1.5;
}

.formats-section .market-location svg { width: 13px; height: 16px; }
.formats-section .market-body {
  display: flex;
  flex: 1;
  flex-direction: column;
  padding: 26px clamp(22px, 1.9vw, 30px) 29px;
}

.formats-section .market-kicker {
  margin-bottom: 12px;
  color: #ffc253;
  font-size: 10px;
  line-height: 1.6;
  font-weight: 600;
  letter-spacing: .23em;
}

.formats-section .market-card:nth-child(2) .market-kicker { color: var(--amber); }
.formats-section .market-body h3 {
  max-width: none;
  min-height: 2.05em;
  font-size: clamp(38px, 4.2vw, 66px);
  line-height: 1.01;
  letter-spacing: -.047em;
}

.formats-section .market-description {
  max-width: none;
  min-height: 3.3em;
  margin-top: 17px;
  font-size: clamp(12px, 1.08vw, 16px);
  line-height: 1.65;
  color: #e2e9eb;
}

.formats-section .market-card:nth-child(2) .market-description { color: #677884; }
.formats-section .market-regions {
  margin-top: 23px;
  padding-top: 14px;
  border-top: 1px solid #b8cbd07a;
  color: #d6e0e3;
  font-size: clamp(10px, .9vw, 13px);
  line-height: 1.7;
}

.formats-section .market-card:nth-child(2) .market-regions {
  color: #687a85;
  border-color: #c1ced1;
}

.formats-section .market-actions {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  align-items: end;
  gap: clamp(15px, 1.9vw, 30px);
  margin-top: auto;
  padding-top: 21px;
}

.formats-section .market-actions .button {
  order: 0;
  width: 100%;
  min-width: 0;
  min-height: 53px;
  padding: 13px 17px;
  gap: 13px;
  border-radius: 0;
  font-size: clamp(10px, .86vw, 13px);
  line-height: 1.45;
}

.formats-section .market-actions .button > span { flex: none; font-size: 22px; }
.formats-section .market-card:first-child .market-actions .button {
  color: var(--ink);
  background: var(--saffron);
}

.formats-section .market-card:first-child .market-actions .button:hover { background: #ffbb51; }
.formats-section .market-card:nth-child(2) .market-actions .button {
  color: white;
  background: var(--navy-dark);
}

.formats-section .market-card:nth-child(2) .market-actions .button:hover { background: #254759; }
.formats-section .market-price {
  display: block;
  width: auto;
  min-width: 0;
  padding-left: clamp(15px, 2.2vw, 35px);
  border-left: 1px solid #9ab0bb;
  text-align: left;
  white-space: nowrap;
  line-height: 1.4;
}

.formats-section .market-card:nth-child(2) .market-price { border-color: #c1ced1; }
.formats-section .market-price small { display: block; font-size: 10px; }
.formats-section .market-price strong {
  display: block;
  margin-top: 2px;
  font: 700 clamp(34px, 3.4vw, 54px)/1 Cormorant, Georgia, serif;
  letter-spacing: -.035em;
}

.formats-section .market-card:nth-child(2) .market-price strong {
  font-size: clamp(31px, 3.15vw, 50px);
  letter-spacing: -.04em;
}

@media (max-width: 1199px) {
  .pepites-section .section-head { gap: 20px; }
  .pepites-section .section-head h2 { font-size: clamp(44px, 5.3vw, 64px); }
  .pepites-section .section-head .text-link { font-size: 10px; gap: 9px; }
  .pepites-section { --pepite-column: calc((100% - 2 * var(--pepite-gap)) / 3.5); }
  .pepites-section .pepite-card:first-child { flex-basis: calc(var(--pepite-column) * 1.5); }
  .pepites-section .pepite-image { height: 445px; }
  .pepites-section .pepite-caption h3 { font-size: 34px; }
  .pepites-section .pepite-card:first-child h3 { font-size: 46px; }
  .pepites-section .pepite-caption > p:first-child { font-size: 8px; }
  .pepites-section .pepite-link { font-size: 11px; }
  .formats-section .market-actions .button { padding-inline: 12px; gap: 8px; }
  .formats-section .market-price { padding-left: 15px; }
}

@media (max-width: 900px) {
  .pepites-section .section-head { display: block; }
  .pepites-section .section-head h2 { font-size: clamp(44px, 6.9vw, 60px); }
  .pepites-section .section-head .text-link { margin-top: 19px; font-size: 11px; }
  .pepites-section { --pepite-column: calc((100% - var(--pepite-gap)) / 2.4); }
  .pepites-section .pepite-card:first-child { flex-basis: calc(var(--pepite-column) * 1.4); }
  .pepites-section .pepite-image { height: 465px; }
  .formats-section .market-cards { grid-template-columns: minmax(0, 1fr); gap: 25px; }
  .formats-section .market-photo { aspect-ratio: 1.8; }
  .formats-section .market-body { padding: 28px; }
  .formats-section .market-body h3 { font-size: clamp(43px, 7.2vw, 61px); min-height: 0; }
  .formats-section .market-description { font-size: 14px; min-height: 0; }
  .formats-section .market-regions { font-size: 12px; }
  .formats-section .market-actions { margin-top: 0; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 26px; }
  .formats-section .market-actions .button { min-height: 52px; padding-inline: 20px; font-size: 12px; }
  .formats-section .market-price { padding-left: 25px; }
  .formats-section .market-price strong,
  .formats-section .market-card:nth-child(2) .market-price strong { font-size: 47px; }
}

@media (max-width: 720px) {
  .pepites-section { --pepite-gap: 14px; }
  .pepites-section .section-head { padding-top: 25px; margin-bottom: 26px; }
  .pepites-section .section-head h2 { font-size: clamp(37px, 9.4vw, 57px); line-height: 1.02; }
  .pepites-section .section-head h2 br { display: none; }
  .pepites-section .section-head .text-link { margin: 19px 0 0; font-size: 11px; }
  .pepites-section .pepites-rail { padding-bottom: 1px; }
  .pepites-section .pepite-card,
  .pepites-section .pepite-card:first-child { flex-basis: min(86%, 365px); min-width: 0; max-width: none; }
  .pepites-section .pepite-image { height: clamp(415px, 112vw, 465px); }
  .pepites-section .pepite-caption { left: 21px; right: 21px; bottom: 24px; }
  .pepites-section .pepite-caption h3,
  .pepites-section .pepite-card:first-child h3 { font-size: clamp(35px, 9.4vw, 45px); }
  .pepites-section .pepite-caption .pepite-desc,
  .pepites-section .pepite-card:first-child .pepite-desc { display: block; max-width: none; font-size: 11px; }
  .pepites-section .pepite-caption > p:first-child { font-size: 8px; letter-spacing: .15em; }
  .pepites-section .pepite-link { font-size: 11px; }
  .pepites-section .pepite-card:first-child .pepite-link > span { width: 37px; height: 37px; flex-basis: 37px; }
  .pepites-section .rail-footer { margin-top: 24px; gap: 15px; }
  .pepites-section .rail-footer > span { max-width: 195px; font-size: 9px; }
  .pepites-section .rail-controls { gap: 9px; }
  .pepites-section .rail-controls [data-counter-for] { font-size: 9px; margin-right: 0; }
  .pepites-section .rail-controls button { width: 38px; height: 38px; font-size: 19px; }
  .formats-section { padding-top: 24px; }
  .formats-section > .overline { line-height: 1.8; margin-bottom: 17px; }
  .formats-section .market-photo { aspect-ratio: 1.38; }
  .formats-section .market-duration { left: 16px; top: 16px; padding: 5px 9px; font-size: 9px; }
  .formats-section .market-location { right: 16px; bottom: 14px; font-size: 10px; }
  .formats-section .market-body { padding: 24px 22px 25px; }
  .formats-section .market-kicker { font-size: 9px; margin-bottom: 12px; }
  .formats-section .market-body h3 { font-size: clamp(37px, 9.7vw, 54px); line-height: 1.03; letter-spacing: -.045em; }
  .formats-section .market-description { font-size: 12px; line-height: 1.8; margin-top: 17px; }
  .formats-section .market-regions { font-size: 10px; line-height: 1.8; margin-top: 21px; padding-top: 15px; }
  .formats-section .market-actions { gap: 18px; padding-top: 23px; }
  .formats-section .market-actions .button { padding-inline: 14px; font-size: 11px; }
  .formats-section .market-price { padding-left: 18px; }
  .formats-section .market-price strong,
  .formats-section .market-card:nth-child(2) .market-price strong { font-size: 39px; }
}

@media (max-width: 520px) {
  .pepites-section .rail-footer { grid-template-columns: minmax(0, 1fr) auto; gap: 15px 10px; }
  .pepites-section .rail-footer > span { grid-row: 3; grid-column: 1 / -1; max-width: none; }
  .pepites-section .rail-controls { grid-row: 2; grid-column: 1 / -1; margin-left: auto; }
  .formats-section .market-actions { grid-template-columns: minmax(0, 1fr); gap: 18px; }
  .formats-section .market-actions .button { order: 1; min-height: 50px; padding-inline: 17px; font-size: 12px; }
  .formats-section .market-price { order: 0; display: block; width: 100%; padding-left: 0; border-left: 0; }
  .formats-section .market-price small { font-size: 10px; }
  .formats-section .market-price strong,
  .formats-section .market-card:nth-child(2) .market-price strong { margin-top: 4px; font-size: 42px; }
}

@media (max-width: 370px) {
  .pepites-section .pepite-card,
  .pepites-section .pepite-card:first-child { flex-basis: 93%; }
  .pepites-section .pepite-caption { left: 18px; right: 18px; }
  .pepites-section .pepite-caption h3,
  .pepites-section .pepite-card:first-child h3 { font-size: 35px; }
  .formats-section .market-body { padding-inline: 19px; }
  .formats-section .market-body h3 { font-size: 35px; }
}

@media (prefers-reduced-motion: reduce) {
  .pepites-section .pepite-image > img,
  .pepites-section .rail-progress-fill,
  .formats-section .market-photo > img,
  .formats-section .market-actions .button { transition: none; }
}

/* Saisons et envies — composition des deux visuels validés.
   À charger après les styles actuels. Aucun changement de contenu requis. */

.season-section {
  --season-edge: max(var(--gutter), calc((100vw - var(--max)) / 2 + var(--gutter)));
}
.season-section .season-image-panel {
  min-height: 0;
  isolation: isolate;
  overflow: hidden;
}
.season-section .season-image-panel > img {
  height: calc(100% - 100px);
  object-position: center 52%;
}
.season-section .season-shade {
  bottom: 100px;
  background: linear-gradient(90deg, #0d2235df 0%, #142a3b96 30%, #18233214 69%), linear-gradient(0deg, #11263844, transparent 45%);
}
.season-section .season-intro {
  padding: clamp(35px, 3vw, 48px) var(--gutter) 28px;
  min-height: 505px;
}
.season-section .season-intro .overline {
  margin-bottom: 14px;
  color: var(--saffron);
  font-size: 10px;
  letter-spacing: .28em;
}
.season-section .season-intro h2 {
  max-width: 860px;
  font-size: clamp(66px, 6.1vw, 96px);
  line-height: .89;
  letter-spacing: -.04em;
  text-wrap: balance;
}
.season-section .season-selected {
  position: relative;
  margin-top: 31px;
  padding-left: 25px;
  border: 0;
}
.season-section .season-selected::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 71px;
  left: 0;
  width: 3px;
  background: var(--saffron);
}
.season-section .season-selected > p:first-child {
  margin-bottom: 6px;
  color: #edf2f4;
  font-size: 9px;
  letter-spacing: .22em;
  line-height: 1.5;
}
.season-section .season-selected h3 {
  font-size: clamp(66px, 6.1vw, 94px);
  line-height: .87;
  letter-spacing: -.04em;
}
.season-section .season-selected #season-note {
  margin: 6px 0 20px;
  font-size: clamp(13px, 1.2vw, 17px);
  line-height: 1.45;
  color: #f8fafb;
}
.season-section .season-selected .button {
  min-height: 49px;
  min-width: 218px;
  margin-left: -25px;
  padding: 13px 22px;
  font-size: 12px;
  gap: 27px;
}
.season-section .season-switches {
  position: relative;
  inset: auto;
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  padding-inline: var(--season-edge);
  background: #0c2535;
  backdrop-filter: none;
  overflow: visible;
}
.season-section .season-switches button {
  min-width: 0;
  min-height: 100px;
  padding: 15px 2px 12px;
  gap: 6px;
  border: 0;
  border-top: 3px solid transparent;
  justify-content: center;
  transition: background .2s, color .2s;
}
.season-section .season-switches button:not(:last-child)::after {
  content: "";
  position: absolute;
  top: 18px;
  right: 0;
  bottom: 17px;
  width: 1px;
  background: #ffffff38;
}
.season-section .season-switches button > strong {
  order: 0;
  font: 700 clamp(20px, 1.85vw, 29px)/1 Cormorant, Georgia, serif;
  letter-spacing: -.025em;
}
.season-section .season-switches button::before {
  position: static;
  order: 1;
  flex: none;
  width: 7px;
  height: 7px;
  margin: 1px 0;
  background: #f3c48d;
}
.season-section .season-switches button[data-period="L"]::before { background: #81c7eb; }
.season-section .season-switches button[data-period="C"]::before { background: #b0dfb3; }
.season-section .season-switches button > span {
  order: 2;
  color: #eff3f5;
  font-size: 10px;
  line-height: 1.25;
  white-space: nowrap;
}
.season-section .season-switches button[aria-pressed="true"] {
  color: var(--saffron);
  background: #f6a72d35;
  border-top-color: var(--saffron);
}
.season-section .season-switches button:hover { background: #ffffff12; }
.season-section .season-switches button[aria-pressed="true"]:hover { background: #f6a72d42; }
.season-section .season-switches button:focus-visible { outline-offset: -5px; }
.season-section .season-bottom {
  display: grid;
  grid-template-columns: minmax(0, 1.04fr) minmax(0, 1.56fr);
  align-items: start;
  gap: clamp(28px, 3.8vw, 60px);
  padding-top: 33px;
}
.season-section .season-bottom h3 {
  font-size: clamp(37px, 3.55vw, 56px);
  line-height: 1.01;
  letter-spacing: -.035em;
}
.season-section .season-bottom > div > p {
  max-width: 490px;
  margin-top: 21px;
  font-size: clamp(11px, .96vw, 14px);
  line-height: 1.6;
  color: #65738a;
}
.season-section .season-bottom .text-link {
  margin-top: 25px;
  padding-bottom: 3px;
  gap: 9px;
  font-size: 12px;
  font-weight: 400;
}
.season-section .season-legend { display: none; }
.season-section .season-stories {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(15px, 1.65vw, 26px);
  margin-top: 0;
  align-items: start;
}
.season-section .season-story { min-width: 0; }
.season-section .season-story-photo { aspect-ratio: 1.82; }
.season-section .season-story-photo > img {
  width: 100%;
  height: 100%;
  object-position: center;
}
.season-section .season-story-photo > span {
  top: 13px;
  left: 13px;
  bottom: auto;
  max-width: calc(100% - 26px);
  padding: 7px 10px;
  background: #fafaf3f5;
  font-size: 8px;
  font-weight: 600;
  line-height: 1.4;
  letter-spacing: .13em;
  text-transform: uppercase;
}
.season-section .season-story h4 {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  margin-top: 14px;
  font-size: clamp(22px, 2.12vw, 32px);
  line-height: 1.08;
  letter-spacing: -.035em;
}
.season-section .season-story h4 > span {
  flex: none;
  font: 400 22px/1 Poppins, sans-serif;
}

.envies-section {
  position: relative;
  padding-top: 25px;
}
.envies-section::before {
  content: "";
  position: absolute;
  inset: 0 var(--gutter) auto;
  border-top: 1px solid var(--line);
}
.envies-section .section-head {
  display: flex;
  align-items: flex-end;
  gap: 32px;
  margin-bottom: 26px;
}
.envies-section .overline { margin-bottom: 13px; }
.envies-section .section-head h2 {
  font-size: clamp(57px, 6.15vw, 98px);
  line-height: .88;
  letter-spacing: -.043em;
}
.envies-section .section-note {
  margin: 0 0 17px;
  font-size: clamp(11px, 1.1vw, 16px);
  color: #65718b;
}
.envies-section .envies-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  grid-template-rows: repeat(2, clamp(168px, 14.3vw, 230px)) clamp(184px, 15.6vw, 252px);
  grid-auto-rows: auto;
  gap: 11px;
  counter-reset: envie;
}
.envies-section .envie-tile {
  min-width: 0;
  min-height: 0;
  counter-increment: envie;
}
.envies-section .envie-tile:first-child { grid-column: 1 / span 2; grid-row: 1 / span 2; }
.envies-section .envie-tile:nth-child(2) { grid-column: 3 / span 2; grid-row: 1; }
.envies-section .envie-tile:nth-child(3) { grid-column: 3; grid-row: 2; }
.envies-section .envie-tile:nth-child(4) { grid-column: 4; grid-row: 2; }
.envies-section .envie-tile:nth-child(n+5) { grid-column: auto; grid-row: 3; }
.envies-section .envie-tile::before {
  content: counter(envie, decimal-leading-zero);
  position: absolute;
  top: 12px;
  left: 13px;
  z-index: 1;
  color: white;
  font: 400 13px/1.3 Poppins, sans-serif;
  text-shadow: 0 1px 10px #071c3a70;
}
.envies-section .envie-tile::after {
  background: linear-gradient(0deg, #061722d6 0%, #0617224a 26%, transparent 64%);
}
.envies-section .envie-tile > img { object-position: center; }
.envies-section .envie-tile > span {
  left: 18px;
  right: 17px;
  bottom: 19px;
  align-items: flex-end;
  gap: 8px;
}
.envies-section .envie-tile h3 {
  max-width: 100%;
  font-size: clamp(27px, 2.7vw, 42px);
  line-height: .96;
  letter-spacing: -.025em;
  text-wrap: balance;
}
.envies-section .envie-tile:first-child > span { left: 24px; bottom: 23px; }
.envies-section .envie-tile:first-child h3 {
  max-width: 100%;
  font-size: clamp(61px, 5.6vw, 87px);
  letter-spacing: -.035em;
}
.envies-section .envie-tile:nth-child(2) h3 { font-size: clamp(35px, 3.25vw, 51px); }
.envies-section .envie-arrow {
  width: 27px;
  height: 29px;
  background: transparent;
  color: white;
  font-size: 25px;
}
.envies-section .envie-tile:first-child .envie-arrow {
  width: 42px;
  height: 42px;
  background: var(--saffron);
  color: var(--ink);
  font-size: 25px;
}
.envies-section .envie-tile:focus-visible { outline-offset: -5px; }

@media (max-width: 1100px) {
  .season-section .season-intro { min-height: 477px; }
  .season-section .season-intro h2 { font-size: clamp(60px, 7vw, 75px); }
  .season-section .season-selected h3 { font-size: 75px; }
  .season-section .season-bottom { gap: 25px; grid-template-columns: .85fr 1.25fr; }
  .season-section .season-bottom h3 { font-size: 38px; }
  .season-section .season-story h4 { font-size: 25px; }
  .season-section .season-story-photo > span { top: 10px; left: 10px; font-size: 7px; padding: 6px 8px; }
  .envies-section .envie-tile > span { left: 14px; right: 12px; bottom: 16px; }
  .envies-section .envie-tile h3 { font-size: clamp(24px, 3.1vw, 31px); }
  .envies-section .envie-tile:first-child h3 { font-size: 65px; }
  .envies-section .envie-tile:nth-child(2) h3 { font-size: 37px; }
  .envies-section .envie-arrow { font-size: 20px; width: 22px; }
}

@media (max-width: 800px) {
  .season-section .season-switches {
    display: flex;
    overflow-x: auto;
    overflow-y: hidden;
    padding-inline: 12px;
    scrollbar-width: none;
    scroll-snap-type: x proximity;
    overscroll-behavior-inline: contain;
  }
  .season-section .season-switches button { flex: 0 0 82px; scroll-snap-align: center; }
  .season-section .season-switches button > strong { font-size: 25px; }
  .season-section .season-bottom { grid-template-columns: 1fr; gap: 28px; }
  .season-section .season-bottom > div > p { max-width: 620px; font-size: 12px; }
  .season-section .season-bottom h3 { font-size: 43px; }
  .season-section .season-stories { gap: 17px; }
  .season-section .season-story h4 { font-size: 28px; }
}

@media (max-width: 720px) {
  .season-section .season-intro {
    min-height: 488px;
    padding: 33px var(--gutter) 31px;
  }
  .season-section .season-image-panel > img { object-position: 61% center; }
  .season-section .season-shade {
    background: linear-gradient(90deg, #0b2339e0 0%, #152a3b75 64%, #152a3b32), linear-gradient(0deg, #0c253454, transparent 45%);
  }
  .season-section .season-intro .overline { font-size: 8px; margin-bottom: 18px; }
  .season-section .season-intro h2 {
    max-width: 540px;
    font-size: clamp(45px, 9.6vw, 66px);
    line-height: .97;
    letter-spacing: -.045em;
  }
  .season-section .season-selected { margin-top: 33px; padding-left: 19px; }
  .season-section .season-selected > p:first-child { font-size: 8px; letter-spacing: .13em; }
  .season-section .season-selected h3 { font-size: clamp(59px, 15vw, 76px); }
  .season-section .season-selected #season-note { font-size: 12px; margin: 9px 0 21px; }
  .season-section .season-selected .button { margin: 0 0 0 -19px; min-width: 212px; font-size: 11px; }
  .season-section .season-bottom { padding-top: 28px; }
  .season-section .season-bottom h3 { font-size: clamp(36px, 8.7vw, 43px); }
  .season-section .season-bottom > div > p { margin-top: 16px; font-size: 11px; line-height: 1.8; }
  .season-section .season-bottom .text-link { margin-top: 20px; font-size: 11px; }
  .season-section .season-story-photo { aspect-ratio: 1.45; }
  .season-section .season-story-photo > span { top: 8px; left: 8px; max-width: calc(100% - 16px); padding: 5px 6px; font-size: 6px; letter-spacing: .08em; }
  .season-section .season-story h4 { margin-top: 11px; font-size: clamp(21px, 4.7vw, 27px); line-height: 1.08; gap: 6px; }
  .season-section .season-story h4 > span { font-size: 17px; }
  .envies-section { padding-top: 22px; }
  .envies-section .section-head { display: block; margin-bottom: 23px; }
  .envies-section .overline { margin-bottom: 13px; }
  .envies-section .section-head h2 { font-size: clamp(46px, 11.4vw, 70px); line-height: .91; }
  .envies-section .section-note { margin: 18px 0 0; font-size: 11px; }
  .envies-section .envies-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-rows: auto;
    grid-auto-rows: clamp(168px, 42vw, 260px);
    gap: 10px;
  }
  .envies-section .envie-tile:first-child { grid-column: 1 / -1; grid-row: span 2; }
  .envies-section .envie-tile:nth-child(2) { grid-column: 1 / -1; grid-row: auto; }
  .envies-section .envie-tile:nth-child(n+3) { grid-column: auto; grid-row: auto; }
  .envies-section .envie-tile > span { left: 12px; right: 10px; bottom: 16px; gap: 6px; }
  .envies-section .envie-tile h3 { font-size: clamp(22px, 5.8vw, 36px); line-height: .99; }
  .envies-section .envie-tile:first-child > span { left: 19px; bottom: 22px; right: 18px; }
  .envies-section .envie-tile:first-child h3 { font-size: clamp(60px, 15vw, 82px); }
  .envies-section .envie-tile:nth-child(2) h3 { font-size: clamp(33px, 8vw, 47px); }
  .envies-section .envie-tile::before { top: 11px; left: 12px; font-size: 11px; }
  .envies-section .envie-arrow { width: 18px; height: 24px; font-size: 20px; }
  .envies-section .envie-tile:first-child .envie-arrow { width: 39px; height: 39px; font-size: 23px; }
}

@media (max-width: 370px) {
  .season-section .season-intro { min-height: 470px; }
  .season-section .season-intro h2 { font-size: 42px; }
  .season-section .season-selected { margin-top: 34px; }
  .season-section .season-stories { gap: 12px; }
  .season-section .season-story-photo > span { font-size: 6px; letter-spacing: .035em; padding: 5px; }
  .season-section .season-story h4 { font-size: 22px; }
  .envies-section .envies-grid { grid-auto-rows: 175px; gap: 8px; }
  .envies-section .envie-tile > span { left: 10px; right: 8px; gap: 4px; }
  .envies-section .envie-tile h3 { font-size: 23px; }
  .envies-section .envie-tile:nth-child(2) h3 { font-size: 32px; }
  .envies-section .envie-arrow { width: 16px; font-size: 18px; }
}

/* Pratique + Comment ça marche. Append after the shared stylesheet. */
/* References: open 3 × 3 directory, saffron itinerary, three editorial steps. */

.pratique-section {
  border-top: 0;
  padding-top: 0;
}

.pratique-section > .wrap {
  position: relative;
  padding-top: clamp(34px, 3.2vw, 48px);
}

.pratique-section > .wrap::before,
.how-section::before {
  content: "";
  position: absolute;
  top: 0;
  left: var(--gutter);
  right: var(--gutter);
  height: 1px;
  background: #b7c3c8;
}

.pratique-section .section-head {
  align-items: flex-end;
  gap: 30px;
  margin-bottom: 35px;
}

.pratique-section .overline,
.how-section .overline {
  color: #c77b0d;
  margin-bottom: 13px;
}

.pratique-section .section-head h2 {
  font-size: clamp(48px, 5.25vw, 80px);
  line-height: .99;
  letter-spacing: -.043em;
}

.pratique-section .section-head .text-link {
  flex-shrink: 0;
  margin-bottom: 7px;
  font-size: 12px;
  gap: 7px;
  white-space: nowrap;
}

.pratique-section .pratique-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border: 0;
}

.pratique-section .pratique-item {
  grid-template-columns: clamp(43px, 4.2vw, 62px) minmax(0, 1fr) 16px;
  gap: clamp(17px, 1.8vw, 28px);
  align-items: start;
  min-height: clamp(172px, 13.4vw, 210px);
  padding: 31px clamp(19px, 1.9vw, 30px);
  border: 0;
  border-right: 1px solid #d1d9dc;
  border-bottom: 1px solid #cbd5d9;
  box-shadow: none;
  transition: background-color .18s ease;
}

.pratique-section .pratique-item:nth-child(3n) { border-right: 0; }
.pratique-section .pratique-item:nth-last-child(-n + 3) { border-bottom: 0; }

.pratique-section .pratique-item:first-child {
  background: #fbf2e2;
  box-shadow: inset 4px 0 #f1a020;
}

.pratique-section .pratique-item:hover { background: #edf1eb; }
.pratique-section .pratique-item:first-child:hover { background: #f8ead1; }

.pratique-section .pratique-item:focus-visible {
  outline: 2px solid #b7790d;
  outline-offset: -3px;
}

.pratique-section .pratique-icon {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  padding-top: 1px;
}

.pratique-section .pratique-icon > svg {
  width: 100%;
  height: clamp(46px, 4.5vw, 66px);
  stroke: #142637;
  stroke-width: 1.05;
}

.pratique-section .pratique-item:first-child .pratique-icon > svg {
  stroke: #ec960d;
}

.pratique-section .pratique-icon .icon-accent { stroke: #ee9b16; }

.pratique-section .pratique-item h3 {
  max-width: 22ch;
  margin: 2px 0 12px;
  color: #132335;
  font-size: clamp(16px, 1.36vw, 21px);
  font-weight: 600;
  line-height: 1.24;
  letter-spacing: -.036em;
  overflow-wrap: normal;
}

.pratique-section .pratique-item p {
  max-width: 34ch;
  color: #5b6b78;
  font-size: clamp(12px, 1.02vw, 15px);
  line-height: 1.48;
  letter-spacing: -.015em;
}

.pratique-section .pratique-item > span:last-child {
  padding-top: 3px;
  font-size: 24px;
  line-height: 1;
  color: #132335;
}

/* A continuous itinerary connects the roles; only the agency has a solid panel. */
.how-section {
  --guidance-number: clamp(72px, 6vw, 92px);
  position: relative;
  padding-top: clamp(34px, 3.2vw, 48px);
  border-top: 0;
}

.how-section .section-head { margin-bottom: 27px; }

.how-section .section-head h2 {
  max-width: 1180px;
  font-size: clamp(50px, 5.65vw, 85px);
  line-height: .99;
  letter-spacing: -.04em;
}

.how-section .section-head h2 > span {
  font-size: clamp(30px, 3.05vw, 46px);
  line-height: 1.18;
  font-weight: 400;
  letter-spacing: -.025em;
  margin-bottom: 13px;
}

.how-section .how-steps {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(20px, 2vw, 32px);
  align-items: stretch;
  margin-top: 31px;
  isolation: isolate;
}

.how-section .how-steps::before {
  z-index: 2;
  top: calc(12px + var(--guidance-number) / 2 - 25px);
  bottom: auto;
  left: 16.6667%;
  right: 16.6667%;
  width: auto;
  height: 50px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1000 70' preserveAspectRatio='none'%3E%3Cpath d='M0 35 C135 -12 193 -3 322 35 S455 57 500 35 C650 74 723 2 853 26 S958 51 1000 35' fill='none' stroke='%23efa021' stroke-width='1.6' vector-effect='non-scaling-stroke'/%3E%3C/svg%3E") center / 100% 100% no-repeat;
  pointer-events: none;
}

.how-section .how-step {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  min-width: 0;
  min-height: 0;
  padding: 12px clamp(20px, 2.25vw, 35px) 30px;
}

.how-section .how-step:last-child {
  background: #102b3a;
  color: #f5f7f6;
}

.how-section .step-number {
  position: relative;
  z-index: 3;
  top: auto;
  left: auto;
  flex: none;
  align-self: center;
  width: var(--guidance-number);
  height: var(--guidance-number);
  margin: 0 0 20px;
  border: 1.5px solid #eea023;
  background: var(--paper);
  color: #132335;
  font-size: clamp(36px, 3.4vw, 49px);
  font-weight: 500;
  line-height: 1;
  letter-spacing: -.055em;
}

.how-section .how-step:last-child .step-number {
  background: #102b3a;
  color: #f5f7f6;
  border-color: #f4aa2c;
}

.how-section .step-illustration {
  order: 1;
  width: 100%;
  max-width: 256px;
  height: clamp(119px, 10.8vw, 164px);
  align-self: center;
  margin: 0 0 23px;
  color: #132335;
  stroke-width: 1.25;
}

.how-section .how-step:nth-child(2) .step-illustration { max-width: 280px; }
.how-section .how-step:first-child .step-illustration > path:first-of-type { stroke: #ec9b19; }
.how-section .how-step:last-child .step-illustration { color: #f5f7f6; }
.how-section .step-illustration .illustration-accent,
.how-section .step-illustration .illustration-route,
.how-section .how-step:last-child .step-illustration > path:nth-of-type(3),
.how-section .how-step:last-child .step-illustration > circle { stroke: #f2a51f; }

.how-section .step-role {
  order: 2;
  margin: 0 0 13px;
  color: #596b7b;
  font-size: clamp(8px, .75vw, 11px);
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: .24em;
}

.how-section .how-step:last-child .step-role { color: #f4b337; }
.how-section .step-copy { order: 3; width: 100%; }

.how-section .step-copy h3 {
  min-height: 0;
  margin-bottom: 21px;
  font-size: clamp(34px, 3.45vw, 53px);
  line-height: .98;
  letter-spacing: -.046em;
}

.how-section .how-step:nth-child(2) .step-copy h3 { max-width: 11ch; }

.how-section .step-copy p {
  max-width: 35ch;
  font-size: clamp(12px, 1.03vw, 15px);
  line-height: 1.5;
  color: #5d6d7c;
  letter-spacing: -.01em;
}

.how-section .how-step:last-child .step-copy p { color: #e0e9ed; }

.how-section .how-step:last-child .step-copy::after {
  content: "";
  display: block;
  height: 1px;
  margin-top: 22px;
  background: #b2c5ce;
}

@media (max-width: 1050px) {
  .pratique-section .section-head { display: block; }
  .pratique-section .section-head .text-link { margin-top: 21px; margin-bottom: 0; }
  .pratique-section .pratique-item { padding: 25px 17px; gap: 14px; grid-template-columns: 39px minmax(0, 1fr) 13px; }
  .pratique-section .pratique-icon > svg { height: 46px; }
  .pratique-section .pratique-item h3 { font-size: 16px; }
  .pratique-section .pratique-item p { font-size: 12px; }
  .how-section .how-step { padding-inline: 17px; }
  .how-section .step-copy h3 { font-size: 35px; }
  .how-section .step-copy p { font-size: 12px; }
}

@media (max-width: 800px) {
  .pratique-section .pratique-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pratique-section .pratique-item { min-height: 152px; }
  .pratique-section .pratique-item:nth-child(3n) { border-right: 1px solid #d1d9dc; }
  .pratique-section .pratique-item:nth-last-child(-n + 3) { border-bottom: 1px solid #cbd5d9; }
  .pratique-section .pratique-item:nth-child(2n) { border-right: 0; }
  .pratique-section .pratique-item:last-child { border-bottom: 0; }
  .how-section .section-head h2 { font-size: 53px; }
  .how-section .section-head h2 > span { font-size: 31px; }
  .how-section .how-steps { display: block; margin-top: 32px; }
  .how-section .how-steps::before { display: none; }
  .how-section .how-step { position: relative; padding: 0 12px 36px 80px; }
  .how-section .how-step:not(:last-child)::after { content: ""; position: absolute; top: 58px; bottom: 0; left: 28px; width: 1px; background: #e4ad47; }
  .how-section .step-number { position: absolute; left: 0; top: 0; width: 57px; height: 57px; margin: 0; font-size: 32px; }
  .how-section .step-illustration { height: 113px; width: 181px; max-width: 100%; margin-bottom: 19px; align-self: flex-start; }
  .how-section .step-role { font-size: 9px; margin-bottom: 12px; }
  .how-section .step-copy h3 { max-width: 17ch; margin-bottom: 17px; font-size: 42px; line-height: 1.02; }
  .how-section .how-step:nth-child(2) .step-copy h3 { max-width: 14ch; }
  .how-section .step-copy p { font-size: 13px; line-height: 1.6; max-width: 41ch; }
  .how-section .how-step:last-child { padding: 25px 25px 29px 80px; }
  .how-section .how-step:last-child .step-number { left: 0; top: 25px; width: 57px; height: 57px; }
  .how-section .how-step:last-child .step-illustration { height: 113px; }
}

@media (max-width: 580px) {
  .pratique-section .section-head { margin-bottom: 27px; }
  .pratique-section .section-head h2 { font-size: clamp(36px, 9.3vw, 49px); line-height: 1.03; }
  .pratique-section .section-head h2 br { display: none; }
  .pratique-section .section-head .text-link { font-size: 11px; }
  .pratique-section .pratique-grid { grid-template-columns: minmax(0, 1fr); }
  .pratique-section .pratique-item { padding: 24px 15px; grid-template-columns: 42px minmax(0, 1fr) 13px; gap: 15px; min-height: 128px; }
  .pratique-section .pratique-item:nth-child(n) { border-right: 0; border-bottom: 1px solid #cbd5d9; }
  .pratique-section .pratique-item:last-child { border-bottom: 0; }
  .pratique-section .pratique-item h3 { font-size: 16px; margin-bottom: 9px; }
  .pratique-section .pratique-item p { font-size: 12px; line-height: 1.5; }
  .pratique-section .pratique-item > span:last-child { font-size: 21px; }
  .how-section .section-head h2 { font-size: clamp(39px, 10vw, 53px); line-height: 1.02; }
  .how-section .section-head h2 > span { font-size: clamp(25px, 6.6vw, 33px); line-height: 1.18; margin-bottom: 15px; }
  .how-section .how-step { padding-left: 74px; padding-right: 0; }
  .how-section .step-illustration { width: 160px; height: 99px; }
  .how-section .step-copy h3 { font-size: clamp(33px, 8.3vw, 43px); }
  .how-section .step-copy p { font-size: 12px; line-height: 1.6; }
  .how-section .step-role { font-size: 8px; letter-spacing: .18em; }
  .how-section .how-step:last-child { padding-left: 74px; padding-right: 17px; }
  .how-section .how-step:last-child .step-illustration { height: 99px; }
}

@media (prefers-reduced-motion: reduce) {
  .pratique-section .pratique-item { transition: none; }
}


/* Selection is carried by the numbered marker; no artificial region boundaries. */
.regions-section .map-region.is-active { fill: transparent; }

@media (max-width: 720px) { .conversion-content h2 { font-size: clamp(51px, 16vw, 86px); } }
.envies-section .envie-tile:nth-child(4) img { object-position: 35% center; }


/* ——— Navigation épurée et en-tête compact au défilement — 2026-09-22 ——— */
.utility-bar { height: 30px; font-size: 10px; letter-spacing: .02em; color: #b7c4cb; }
.utility-bar a:hover { color: #fff; }
.currency button { font-size: 10px; letter-spacing: .04em; }
.site-header { gap: 32px; border-bottom: 1px solid #ffffff2e; transition: height .32s cubic-bezier(.2,.7,.2,1), margin .32s cubic-bezier(.2,.7,.2,1), background .25s, color .25s, border-color .25s; }
.site-header .brand img { transition: width .32s cubic-bezier(.2,.7,.2,1), height .32s cubic-bezier(.2,.7,.2,1), filter .25s; }
.site-header.is-scrolled { height: 62px; margin-bottom: -62px; background: #f5f6f2f2; -webkit-backdrop-filter: blur(16px); backdrop-filter: blur(16px); border-color: var(--line); }
.site-header.is-scrolled .brand img { width: 108px; height: 50px; }
.desktop-nav { gap: clamp(22px, 2.4vw, 40px); align-self: stretch; align-items: stretch; }
.desktop-nav a, .desktop-nav button { position: relative; display: inline-flex; align-items: center; gap: 7px; height: 100%; padding: 0; font-size: 12px; font-weight: 500; letter-spacing: .01em; color: inherit; transition: color .2s, opacity .2s; }
.desktop-nav a::after, .desktop-nav button::after { content: ''; position: absolute; left: 0; right: 0; bottom: -1px; height: 2px; background: var(--saffron); transform: scaleX(0); transform-origin: left; transition: transform .25s cubic-bezier(.2,.7,.2,1); }
.desktop-nav a:hover, .desktop-nav button:hover, .desktop-nav button[aria-expanded=true] { color: inherit; }
.desktop-nav a:hover::after, .desktop-nav button:hover::after, .desktop-nav button[aria-expanded=true]::after { transform: scaleX(1); }
.desktop-nav:hover > :not(:hover):not([aria-expanded=true]) { opacity: .6; }
.nav-chevron { width: 10px; height: 10px; fill: none; stroke: currentColor; stroke-width: 1.4; stroke-linecap: round; stroke-linejoin: round; opacity: .7; transition: transform .25s; }
.desktop-nav button[aria-expanded=true] .nav-chevron { transform: rotate(180deg); }
.nav-actions { gap: 10px; }
.nav-cta { min-height: 40px; padding: 8px 16px; font-size: 11px; gap: 14px; border-color: #ffffff66; }
.nav-cta span { font-size: 15px; }
.nav-cta:hover { background: #ffffff1a; transform: none; }
.site-header.is-scrolled .nav-cta, .site-header.has-menu .nav-cta, .site-header:has(.mega-menu:not([hidden])) .nav-cta { background: var(--ink); border-color: var(--ink); color: #fff; }
.site-header.is-scrolled .nav-cta:hover, .site-header:has(.mega-menu:not([hidden])) .nav-cta:hover { background: var(--navy); border-color: var(--navy); }
.icon-button { width: 40px; height: 40px; border-radius: 50%; transition: background .2s; }
.icon-button:hover { background: #ffffff1a; }
.site-header.is-scrolled .icon-button:hover, .site-header:has(.mega-menu:not([hidden])) .icon-button:hover { background: #0d243112; }

/* Mégamenu : panneau calme, colonnes aérées, repères en capitales, mise en avant sans boîte grise. */
@keyframes megaIn { from { opacity: 0; transform: translateY(-6px); } to { opacity: 1; transform: none; } }
.mega-menu { top: 100%; padding: 44px var(--gutter) 48px; border-top: 1px solid var(--line); box-shadow: 0 40px 60px -40px #082b3340; animation: megaIn .24s cubic-bezier(.2,.7,.2,1); }
.mega-inner { grid-template-columns: 1.25fr .9fr .85fr; gap: clamp(32px, 4vw, 72px); max-width: 1440px; }
.mega-inner h2 { font: 600 10px/1.6 Poppins, sans-serif; letter-spacing: .22em; text-transform: uppercase; color: var(--amber); margin-bottom: 14px; }
.mega-second-heading { margin-top: 30px; }
.mega-region-links { gap: 4px 28px; }
.mega-region-links a { font-size: 13px; line-height: 1.5; padding: 5px 0; display: block; }
.mega-region-links small { font-size: 10px; color: var(--muted); line-height: 1.5; }
.mega-inner > div > a:not(.mega-small-link) { font-size: 13px; line-height: 1.5; padding-block: 5px; }
.mega-inner > div > a:hover, .mega-region-links a:hover, .mega-practice-links a:hover { color: var(--amber); }
.mega-feature { background: transparent; padding: 0 0 0 clamp(24px, 3vw, 48px); border-left: 1px solid var(--line); }
.mega-feature img { height: 170px; width: 100%; margin: 0 0 18px; max-width: none; }
.mega-feature p { font-size: 11px; line-height: 1.8; color: #597078; margin-block: 8px; }
.mega-feature > p:first-child, .mega-feature > img + p { font: 600 10px/1.6 Poppins, sans-serif; letter-spacing: .22em; text-transform: uppercase; color: var(--amber); margin: 0 0 12px; }
.mega-feature > a:not(.mega-small-link) { display: block; font-family: Cormorant, serif; font-weight: 700; font-size: 28px !important; line-height: 1.05 !important; letter-spacing: -.02em; }
.mega-feature > a:not(.mega-small-link) span { font-size: 18px; margin-left: 4px; }
.mega-feature .mega-small-link { display: inline-block; margin-top: 8px; padding-bottom: 2px; font: 600 11px/1.7 Poppins, sans-serif !important; text-decoration: none; border-bottom: 1px solid currentColor; }
.mega-feature .mega-small-link + p { margin-top: 24px; padding-top: 20px; border-top: 1px solid var(--line); }
.mega-feature small { display: block; margin-top: 16px; font-size: 10px; color: var(--muted); }
.mega-feature br { display: none; }
.mega-feature strong { font: 700 30px/1.1 Cormorant, serif; letter-spacing: -.02em; }
.mega-practice-links .mega-region-links { grid-template-columns: 1fr 1fr; gap: 4px 28px; }
@media (max-width: 1100px) { .site-header.is-scrolled { height: 60px; margin-bottom: -60px; } .site-header.is-scrolled .brand img { width: 104px; height: 48px; } }


/* ——— Le Tracé : quatre itinéraires qui se dessinent en boucle (24 s), lentement — 2026-09-22 ——— */
.trace-map .trace-route path { fill: none; stroke: var(--saffron); stroke-width: 4; stroke-linecap: round; stroke-linejoin: round; stroke-dasharray: 1; stroke-dashoffset: 1; animation: traceDraw 24s cubic-bezier(.4,0,.2,1) infinite both; animation-delay: var(--d, 0s); }
.trace-map .trace-stop { opacity: 0; animation: traceStop0 24s ease infinite both; animation-delay: var(--d, 0s); }
.trace-map .trace-stop.s1 { animation-name: traceStop1; }
.trace-map .trace-stop.s2 { animation-name: traceStop2; }
.trace-map .trace-stop.s3 { animation-name: traceStop3; }
.trace-map .trace-stop.s4 { animation-name: traceStop4; }
.trace-map .trace-head { fill: #fff; stroke: var(--saffron); stroke-width: 3; opacity: 0; offset-rotate: 0deg; animation: traceHead 24s cubic-bezier(.4,0,.2,1) infinite both; animation-delay: var(--d, 0s); }
.trace-map .trace-caption { font: italic 400 26px Cormorant, Georgia, serif; fill: #c8d5dc; letter-spacing: .01em; }
@keyframes traceDraw { 0% { stroke-dashoffset: 1; opacity: 1; } 13.3% { stroke-dashoffset: 0; opacity: 1; } 21% { stroke-dashoffset: 0; opacity: 1; } 25%, 100% { stroke-dashoffset: 0; opacity: 0; } }
@keyframes traceHead { 0% { offset-distance: 0%; opacity: 0; } .2% { opacity: 1; } 13.3% { offset-distance: 100%; opacity: 1; } 14.8% { offset-distance: 100%; opacity: 0; } 100% { offset-distance: 100%; opacity: 0; } }
@keyframes traceStop0 { 0%, .3% { opacity: 0; transform: translateY(4px); } 2% { opacity: 1; transform: none; } 21% { opacity: 1; } 25%, 100% { opacity: 0; } }
@keyframes traceStop1 { 0%, 5.3% { opacity: 0; transform: translateY(4px); } 7% { opacity: 1; transform: none; } 21% { opacity: 1; } 25%, 100% { opacity: 0; } }
@keyframes traceStop2 { 0%, 6.6% { opacity: 0; transform: translateY(4px); } 8.3% { opacity: 1; transform: none; } 21% { opacity: 1; } 25%, 100% { opacity: 0; } }
@keyframes traceStop3 { 0%, 8.4% { opacity: 0; transform: translateY(4px); } 10.1% { opacity: 1; transform: none; } 21% { opacity: 1; } 25%, 100% { opacity: 0; } }
@keyframes traceStop4 { 0%, 12.6% { opacity: 0; transform: translateY(4px); } 14.3% { opacity: 1; transform: none; } 21% { opacity: 1; } 25%, 100% { opacity: 0; } }
@media (prefers-reduced-motion: reduce) { .trace-map .trace-route path { stroke-dashoffset: 0; } .trace-map .trace-stop { opacity: 1; } .trace-map .trace-route:not(:first-of-type), .trace-map .trace-head { display: none; } }

/* La pointe suit le tracé depuis l'origine (cx/cy = 0) ; masquée si offset-path n'est pas pris en charge. */
@supports not (offset-path: path('M0 0 L1 1')) { .trace-map .trace-head { display: none; } }
