    
    @font-face{font-family:Montserrat;src:url('assets/Montserrat-Regular.ttf')}@font-face{font-family:Montserrat;src:url('assets/Montserrat-Medium.ttf');font-weight:600}
:root{--teal:#008dae;--deep:#073f49;--orange:#ff9a00;--pale:#f1f7f8;--sand:#f7f1e8;--ink:#19333a;--muted:#64777b;--white:#fff;--radius:26px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:Montserrat,Arial,sans-serif;background:#fff;line-height:1.55}a{text-decoration:none;color:inherit}.container{width:min(1240px,calc(100% - 80px));margin:0 auto}.section{padding:112px 0}.topbar{height:38px;background:var(--deep);color:#d8e8ea;font-size:12px;letter-spacing:.02em}.topbar-inner{height:100%;display:flex;align-items:center;justify-content:space-between}.topbar-links{display:flex;gap:26px;align-items:center}.lang{padding-left:18px;border-left:1px solid rgba(255,255,255,.25)}.site-header{height:92px;background:#fff;position:relative;z-index:10;box-shadow:0 10px 30px rgba(0,49,58,.07)}.header-inner{height:100%;display:flex;align-items:center;gap:28px}.brand{width:225px;display:block}.brand img{width:100%;height:auto;object-fit:contain}.main-nav{margin-left:auto;display:flex;align-items:center;gap:24px;font-size:13px;font-weight:600;color:#29484f}.main-nav a{white-space:nowrap}.main-nav a:first-child{color:var(--teal)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;border-radius:999px;padding:15px 26px;font-size:13px;font-weight:600;letter-spacing:.01em;transition:.2s}.btn-primary{background:var(--orange);color:#fff;box-shadow:0 10px 24px rgba(255,154,0,.22)}.btn-small{padding:12px 18px;font-size:12px}.btn-ghost{border:1px solid rgba(255,255,255,.6);color:#fff}.hero{height:790px;position:relative;overflow:hidden;background:#3b453d}.hero-media{position:absolute;inset:0;background:url('assets/hero-baobabs.png') center/cover no-repeat}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,38,44,.77) 0%,rgba(4,38,44,.38) 45%,rgba(4,38,44,.02) 76%)}.hero-content{position:relative;z-index:2;color:#fff;padding-top:132px}.eyebrow{margin:0 0 18px;color:var(--teal);font-size:12px;font-weight:600;letter-spacing:.18em;text-transform:uppercase}.eyebrow.light{color:#b9e2e8}.hero h1,.section h2,.final-cta h2{font-size:68px;line-height:1.02;letter-spacing:-.045em;margin:0;font-weight:600}.hero h1{max-width:720px;font-size:72px}.hero h1 em,.section h2 em,.final-cta h2 em{font-style:normal;color:var(--orange)}.hero-copy{max-width:600px;font-size:17px;color:#e4eeee;margin:28px 0 30px}.hero-actions{display:flex;gap:14px}.hero-card{position:absolute;z-index:3;right:max(40px,calc((100vw - 1240px)/2));bottom:155px;width:310px;background:rgba(255,255,255,.94);backdrop-filter:blur(6px);border-radius:28px 28px 8px 28px;padding:28px 30px;box-shadow:0 20px 50px rgba(0,0,0,.16)}.hero-card:after{content:"";position:absolute;right:-14px;top:-14px;width:56px;height:56px;border:6px solid var(--orange);border-left:0;border-bottom:0;border-radius:0 28px 0 0}.hero-card-label{font-size:11px;text-transform:uppercase;letter-spacing:.15em;color:var(--teal)}.hero-card strong{display:block;font-size:23px;line-height:1.2;color:var(--deep);margin:10px 0}.hero-card p{font-size:13px;color:var(--muted);margin:0}.hero-wave{position:absolute;z-index:2;left:-1%;right:-1%;width:102%;bottom:-2px;height:175px}.dots{position:absolute;width:84px;height:84px;background-image:radial-gradient(var(--orange) 3px,transparent 4px);background-size:18px 18px}.hero-dots{z-index:3;left:70px;bottom:102px;transform:rotate(8deg)}.trust-strip{margin-top:-34px;position:relative;z-index:5}.trust-grid{display:grid;grid-template-columns:repeat(4,1fr);background:#fff;border-radius:18px;box-shadow:0 18px 54px rgba(0,55,65,.1);padding:26px 28px}.trust-item{display:flex;gap:14px;align-items:center;padding:0 18px;border-right:1px solid #dfebed}.trust-item:last-child{border:0}.trust-icon{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:var(--pale);color:var(--orange);font-weight:600}.trust-item strong,.trust-item small{display:block}.trust-item strong{font-size:13px;color:var(--deep)}.trust-item small{font-size:10px;color:var(--muted);margin-top:4px}.intro{padding-top:140px}.intro-grid{display:grid;grid-template-columns:360px 1fr 300px;gap:72px;align-items:center}.intro-mark{position:relative;height:370px;display:grid;place-items:center}.intro-mark img{width:325px;position:relative;z-index:2}.orange-orbit{position:absolute;width:310px;height:310px;border-radius:56% 44% 60% 40%;background:var(--pale);transform:rotate(-16deg)}.orange-orbit:before{content:"";position:absolute;width:215px;height:215px;border:2px solid var(--orange);border-radius:50%;left:-32px;top:-18px}.intro-copy h2,.split-heading h2,.centered h2{font-size:54px}.intro-copy>p:not(.eyebrow){font-size:15px;color:var(--muted);max-width:570px}.text-link{display:inline-flex;align-items:center;gap:14px;color:var(--teal);font-size:13px;font-weight:600;margin-top:16px}.text-link span{width:34px;height:34px;border-radius:50%;border:1px solid #b8d7dc;display:grid;place-items:center}.intro-statement{background:var(--deep);color:#fff;border-radius:4px 46px 4px 46px;padding:34px 30px;position:relative}.intro-statement:before{content:"";position:absolute;inset:-16px 16px 16px -16px;border:1px solid var(--orange);border-radius:4px 46px 4px 46px;z-index:-1}.intro-statement span{font-size:10px;text-transform:uppercase;letter-spacing:.15em;color:#a6d5dc}.intro-statement blockquote{margin:15px 0 0;font-size:22px;line-height:1.4}.intro-statement b{color:var(--orange)}.circuits{background:linear-gradient(180deg,#fff 0%,#f5f9fa 100%)}.split-heading{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:46px}.heading-side{max-width:410px;color:var(--muted);font-size:14px}.circuit-grid{display:grid;grid-template-columns:1.15fr .85fr .85fr;grid-template-rows:360px 330px;gap:20px}.tour-card{position:relative;overflow:hidden;border-radius:var(--radius);background:var(--image) center/cover no-repeat;color:#fff;min-height:320px}.tour-card:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 28%,rgba(2,28,33,.85) 100%)}.tour-card-large{grid-row:span 2}.tour-card-wide{grid-column:span 2}.tour-badge{position:absolute;z-index:2;top:22px;right:22px;background:#fff;color:var(--deep);border-radius:999px;padding:8px 13px;font-size:10px;font-weight:600}.tour-content{position:absolute;z-index:2;left:28px;right:28px;bottom:26px}.tour-content small{text-transform:uppercase;letter-spacing:.13em;color:#b9e2e8;font-size:9px}.tour-content h3{font-size:24px;margin:7px 0 3px}.tour-card-large h3{font-size:31px}.tour-content p{margin:0 0 18px;color:#e1ecee;font-size:12px}.tour-bottom{border-top:1px solid rgba(255,255,255,.25);padding-top:17px;display:flex;align-items:center;justify-content:space-between}.tour-bottom strong{font-size:12px}.round-arrow{width:34px;height:34px;border-radius:50%;background:var(--orange);display:grid;place-items:center}.price-note{font-size:10px;color:#87979a;text-align:right;margin:16px 0 0}.discover{position:relative;background:var(--deep);color:#fff;padding:165px 0 180px;overflow:hidden}.discover-wave{position:absolute;left:-5%;width:110%;height:110px;background:#fff}.discover-wave.top{top:-64px;border-radius:0 0 50% 55%;transform:rotate(-2deg)}.discover-wave.bottom{bottom:-76px;border-radius:55% 50% 0 0;transform:rotate(2deg)}.discover:before{content:"";position:absolute;width:420px;height:420px;border:1px solid rgba(255,154,0,.25);border-radius:50%;right:-160px;top:210px}.discover-grid{display:grid;grid-template-columns:1fr 570px;gap:90px;align-items:center}.map-copy h2{font-size:52px}.map-copy>p:not(.eyebrow){color:#bdd1d5;max-width:520px}.region-list{margin-top:32px;border-top:1px solid rgba(255,255,255,.18)}.region-list button{font:inherit;color:#fff;width:100%;background:none;border:0;border-bottom:1px solid rgba(255,255,255,.18);padding:16px 2px;display:flex;justify-content:space-between;text-align:left;cursor:pointer}.region-list button span{font-size:11px;color:#83b5bd}.region-list button.active{color:var(--orange);padding-left:18px}.map-card{height:610px;background:#f7fbfb;border-radius:90px 16px 90px 16px;position:relative;display:grid;place-items:center;color:var(--deep);box-shadow:0 25px 55px rgba(0,0,0,.18)}.map-card svg{height:510px}.island{fill:#dcecef;stroke:var(--teal);stroke-width:3}.region-line{fill:none;stroke:#fff;stroke-width:4;stroke-linecap:round}.map-pin{fill:var(--teal);stroke:#fff;stroke-width:4}.map-pin.active{fill:var(--orange);r:12}.map-label{position:absolute;top:28px;left:32px;font-size:10px;text-transform:uppercase;letter-spacing:.15em;color:#6e8c91}.map-result{position:absolute;right:-34px;bottom:36px;background:#fff;border-radius:18px;padding:19px 22px;width:245px;box-shadow:0 16px 35px rgba(0,62,72,.16)}.map-result span,.map-result strong,.map-result a{display:block}.map-result span{font-size:9px;text-transform:uppercase;letter-spacing:.12em;color:#789095}.map-result strong{font-size:18px;margin:5px 0}.map-result a{font-size:10px;color:var(--teal)}.centered{text-align:center;margin-bottom:52px}.theme-row{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}.theme-card{height:235px;background:var(--pale);border-radius:18px 18px 60px 18px;padding:25px 22px;position:relative;transition:.2s}.theme-card.featured{background:var(--teal);color:#fff;transform:translateY(-14px)}.theme-card span{font-size:11px;color:var(--orange)}.theme-card h3{font-size:18px;margin:58px 0 4px}.theme-card p{font-size:11px;color:var(--muted)}.theme-card.featured p{color:#c8e4e8}.theme-card i{font-style:normal;position:absolute;right:20px;bottom:19px;width:36px;height:36px;border-radius:50%;background:#fff;color:var(--teal);display:grid;place-items:center}.birding{position:relative;background:var(--teal);color:#fff;padding:125px 0;overflow:hidden}.birding-curve{position:absolute;left:-10%;top:-85px;width:120%;height:150px;background:#fff;border-radius:0 0 50% 48%;transform:rotate(1deg)}.birding-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:80px;align-items:center}.birding-photo{height:525px;position:relative}.birding-photo img{width:100%;height:100%;object-fit:cover;border-radius:12px 100px 12px 100px}.birding-photo:before{content:"";position:absolute;inset:-18px 28px 22px -18px;border:2px solid var(--orange);border-radius:12px 100px 12px 100px}.birding-photo span{position:absolute;bottom:15px;left:20px;background:rgba(0,0,0,.48);padding:6px 9px;border-radius:8px;font-size:9px}.birding-copy h2{font-size:52px}.birding-copy p{color:#d6e9ec}.birding-copy ul{list-style:none;padding:0;margin:28px 0}.birding-copy li{padding:11px 0;border-bottom:1px solid rgba(255,255,255,.16);font-size:13px}.birding-copy li:before{content:"✦";color:var(--orange);margin-right:12px}.why{padding-top:130px}.compact{margin-bottom:38px}.why-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.why-grid article{padding:34px 28px 36px;border:1px solid #dce8ea;border-radius:8px 38px 8px 38px}.why-grid span{color:var(--orange);font-size:11px}.why-grid h3{color:var(--deep);font-size:18px;margin:30px 0 12px}.why-grid p{font-size:12px;color:var(--muted)}.testimonial{background:var(--sand)}.testimonial-inner{text-align:center;max-width:860px;position:relative}.quote-mark{font-family:Georgia,serif;font-size:130px;line-height:.4;color:rgba(0,141,174,.16)}.testimonial blockquote{font-size:28px;line-height:1.55;margin:35px 0;color:var(--deep)}.testimonial-author{display:flex;align-items:center;justify-content:center;gap:12px}.avatar{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:var(--orange);color:#fff;font-size:12px}.testimonial-author strong,.testimonial-author small{display:block;text-align:left}.testimonial-author small{color:var(--muted);font-size:10px}.testimonial-nav{display:flex;justify-content:center;align-items:center;gap:16px;margin-top:30px}.testimonial-nav button{width:36px;height:36px;border-radius:50%;border:1px solid #d0dcde;background:transparent}.testimonial-nav span{font-size:10px;color:var(--muted)}.align-end{align-self:flex-end;margin-bottom:12px}.journal-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.journal-grid article{border-bottom:1px solid #dbe5e7;padding-bottom:22px}.journal-img{height:255px;background-position:center;background-size:cover;border-radius:12px 56px 12px 12px;margin-bottom:20px}.journal-grid small{font-size:9px;text-transform:uppercase;letter-spacing:.12em;color:var(--teal)}.journal-grid h3{font-size:20px;margin:10px 0 15px}.journal-grid a{font-size:11px;font-weight:600;color:var(--teal)}.final-cta{height:620px;position:relative;overflow:hidden;color:#fff}.final-cta-bg{position:absolute;inset:0;background:url('assets/coast-madagascar.png') center/cover no-repeat}.final-cta-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(2,46,54,.84),rgba(2,46,54,.2))}.cta-wave{position:absolute;top:-1px;width:102%;left:-1%;height:120px;z-index:2}.final-cta-content{position:relative;z-index:3;padding-top:165px}.final-cta h2{font-size:64px}.final-cta-content>p:not(.eyebrow){max-width:540px;color:#dcebed}.final-cta-content .btn{margin-right:10px}.footer{background:var(--deep);color:#fff;padding:70px 0 24px}.footer-grid{display:grid;grid-template-columns:1.5fr repeat(3,1fr);gap:70px}.footer-brand img{width:250px;filter:drop-shadow(0 0 12px rgba(255,255,255,.05));background:#fff;border-radius:14px;padding:12px}.footer-brand p{color:#a8c2c7;font-size:12px;max-width:260px}.footer h4{font-size:12px;color:var(--orange);text-transform:uppercase;letter-spacing:.13em;margin:0 0 20px}.footer a,.footer p{display:block;color:#bad0d4;font-size:11px;margin:10px 0}.footer-cta{color:#fff!important;margin-top:22px!important}.footer-bottom{display:flex;justify-content:space-between;border-top:1px solid rgba(255,255,255,.12);padding-top:22px;margin-top:55px;font-size:9px;color:#819fa5}
@media(max-width:1000px){.main-nav{display:none}.intro-grid,.discover-grid,.birding-grid{grid-template-columns:1fr}.circuit-grid{grid-template-columns:1fr 1fr}.tour-card-large{grid-row:auto}.tour-card-wide{grid-column:span 2}.theme-row,.why-grid{grid-template-columns:1fr 1fr}.footer-grid{grid-template-columns:1fr 1fr}}

/* Révision A — rythme éditorial, expériences photographiques et avis multiples */
.section{padding:90px 0}.intro{padding-top:116px;padding-bottom:90px}.circuits{padding-top:92px;padding-bottom:88px}.themes{padding:94px 0 108px;background:linear-gradient(180deg,#fff 0%,#f5f9fa 100%)}.themes-heading{margin-bottom:38px}.theme-mosaic{display:grid;grid-template-columns:1.28fr .86fr .86fr;grid-template-rows:260px 260px;gap:18px}.experience-card{--theme-image:none;position:relative;overflow:hidden;background:var(--theme-image) center/cover no-repeat;border-radius:16px 54px 16px 16px;color:#fff;min-height:240px}.experience-card:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(4,35,41,.03) 20%,rgba(3,32,38,.9) 100%)}.experience-featured{grid-row:span 2;border-radius:82px 16px 82px 16px}.experience-featured:after{background:linear-gradient(180deg,rgba(4,35,41,.02) 20%,rgba(3,32,38,.88) 100%)}.specialty-badge{position:absolute;z-index:2;top:24px;left:24px;border-radius:999px;background:var(--orange);color:#fff;padding:9px 14px;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.08em}.experience-copy{position:absolute;z-index:2;left:24px;right:24px;bottom:22px}.experience-copy small{font-size:9px;text-transform:uppercase;letter-spacing:.14em;color:#bde2e7}.experience-copy h3{font-size:22px;line-height:1.1;margin:7px 0 5px}.experience-copy p{font-size:11px;color:#dcebed;margin:0 42px 12px 0}.experience-copy a{position:absolute;right:0;bottom:0;width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:#fff;color:var(--teal);font-size:13px}.experience-featured .experience-copy{left:34px;right:34px;bottom:32px;max-width:510px}.experience-featured .experience-copy h3{font-size:35px;margin:8px 0 10px}.experience-featured .experience-copy p{font-size:13px;line-height:1.55;margin-right:0;max-width:470px}.experience-featured .experience-copy a{position:static;width:auto;height:auto;border-radius:0;background:none;color:#fff;display:inline-flex;gap:12px;align-items:center;font-size:11px;font-weight:600}.experience-featured .experience-copy a b{width:34px;height:34px;border-radius:50%;background:var(--orange);display:grid;place-items:center}.birding{padding:108px 0 98px}.why{padding-top:102px;padding-bottom:88px}.testimonial{padding:86px 0 82px}.testimonial-inner{max-width:1240px}.testimonial .quote-mark{position:absolute;left:12px;top:24px;font-size:112px}.testimonial h2{font-size:46px;margin:0 0 36px}.testimonial-track{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;text-align:left}.review-card{background:#fff;border:1px solid rgba(0,141,174,.12);border-radius:18px 50px 18px 18px;padding:28px 26px 25px;min-height:250px;display:flex;flex-direction:column;justify-content:space-between}.review-card.active{border:2px solid var(--teal);transform:translateY(-8px);box-shadow:0 16px 34px rgba(0,83,96,.08)}.review-stars{color:var(--orange);font-size:12px;letter-spacing:.12em}.testimonial .review-card blockquote{font-size:15px;line-height:1.65;margin:20px 0 25px;color:var(--deep)}.review-card .testimonial-author{justify-content:flex-start}.review-card .avatar{width:42px;height:42px}.testimonial-nav{margin-top:22px}.journal{padding-top:88px;padding-bottom:82px}.journal .split-heading{margin-bottom:34px}.final-cta{height:580px}.final-cta-content{padding-top:150px}

@media(max-width:1000px){.theme-mosaic{grid-template-columns:1fr 1fr;grid-template-rows:auto}.experience-featured{grid-column:span 2;grid-row:auto;height:500px}.experience-card{height:280px}.testimonial-track{grid-template-columns:1fr}.review-card.active{transform:none}}
.review-note{margin:12px 0 0;font-size:9px;color:#89999b}

/* Révision A.2 — bandeau courbe pour les circuits classiques */
.circuits{position:relative;overflow:hidden;background:var(--deep);padding-top:148px;padding-bottom:142px;color:#fff}
.circuits>.container{position:relative;z-index:2}
.circuits-wave{position:absolute;left:-1%;width:102%;height:120px;z-index:1;pointer-events:none}
.circuits-wave-top{top:-1px}
.circuits-wave-bottom{bottom:-1px}
.circuits .eyebrow{color:#9ed5dc}
.circuits .heading-side,.circuits .price-note{color:#c3d9dc}
.circuits .text-link{color:#fff}
.circuits .text-link span{border-color:rgba(255,255,255,.42);background:var(--orange);color:#fff}

/* Révision A.3 — traces de pinceau humide derrière les titres sur fond clair */
.intro-copy h2,.themes-heading h2,.why .centered h2,.testimonial h2,.journal .split-heading h2{position:relative;z-index:0;display:inline-block;isolation:isolate}
.intro-copy h2:before,.themes-heading h2:before,.why .centered h2:before,.testimonial h2:before,.journal .split-heading h2:before{content:"";position:absolute;z-index:-1;left:-28px;right:-38px;top:48%;height:92%;transform:translateY(-50%) rotate(-2.2deg);transform-origin:center;background:url("assets/bg-titre-hd.png") center/100% 100% no-repeat;opacity:1;pointer-events:none}
.testimonial h2:before{opacity:.68}

/* Révision A.4 — carte mosaïque dans l’introduction */
.intro-grid{grid-template-columns:450px 1fr 280px;gap:52px}
.intro-map{height:660px;position:relative;align-self:center}
.intro-map-art{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:center;transform:translateX(22px) scale(.98)}
.intro-map-logo{position:absolute;z-index:3;top:48px;left:-12px;width:285px;padding:8px 0;isolation:isolate}
.intro-map-logo:before{content:"";position:absolute;z-index:-1;width:154px;height:154px;left:-18px;top:-18px;border:2px solid var(--orange);border-radius:50%;background:rgba(255,255,255,.58)}
.intro-map-logo:after{content:"";position:absolute;z-index:-2;inset:-22px -34px -20px -28px;background:rgba(255,255,255,.9);clip-path:polygon(1% 20%,97% 0,91% 24%,100% 48%,93% 76%,98% 92%,4% 100%,9% 79%,0 58%,7% 39%);transform:rotate(-1.5deg)}
.intro-map-logo img{display:block;width:100%;height:auto;filter:drop-shadow(0 4px 12px rgba(255,255,255,.86))}
@media(max-width:1000px){.intro-grid{grid-template-columns:1fr}.intro-map{height:720px;max-width:520px;margin:0 auto}.intro-map-logo{left:0}}

/* ==========================================================================
   Révision B — Sticky header, mégamenu Circuits, animations & footer complet
   ========================================================================== */

/* --- Sticky header --------------------------------------------------------- */
.topbar{position:relative;z-index:118}
.site-header{position:sticky;top:0;z-index:120;transition:height .28s ease,box-shadow .28s ease}
.site-header.is-stuck{height:74px;box-shadow:0 12px 34px rgba(0,49,58,.14)}
.brand{transition:width .28s ease}
.site-header.is-stuck .brand{width:188px}

/* --- Mégamenu Circuits ----------------------------------------------------- */
.nav-item{display:flex;align-items:center}
.nav-item.has-mega{position:static}
.mega-trigger{font:inherit;font-size:13px;font-weight:600;color:#29484f;background:none;border:0;padding:0;cursor:pointer;display:inline-flex;align-items:center;gap:6px}
.mega-trigger .caret{font-size:12px;transition:transform .25s ease}
.nav-item.has-mega.open .mega-trigger{color:var(--teal)}
.nav-item.has-mega.open .caret{transform:rotate(180deg)}
.mega-panel{position:absolute;top:100%;left:0;width:100%;background:#fff;border-top:3px solid var(--orange);box-shadow:0 34px 60px rgba(0,49,58,.16);opacity:0;visibility:hidden;transform:translateY(-10px);transition:opacity .22s ease,transform .22s ease,visibility .22s;z-index:115}
.nav-item.has-mega.open .mega-panel{opacity:1;visibility:visible;transform:translateY(0)}
.mega-grid{display:grid;grid-template-columns:1fr 1fr 1.15fr;gap:44px;padding:42px 0 30px}
.mega-col h4{font-size:12px;text-transform:uppercase;letter-spacing:.12em;color:var(--teal);margin:0 0 16px}
.mega-col a{display:flex;justify-content:space-between;align-items:center;gap:14px;color:#20444b;font-size:14px;font-weight:600;padding:9px 0;border-bottom:1px solid #eef4f5;transition:color .18s ease,padding-left .18s ease}
.mega-col a:last-child{border-bottom:0}
.mega-col a:hover{color:var(--teal);padding-left:6px}
.mega-col a small{font-size:11px;font-weight:600;color:#93a7ab}
.mega-col a .spec{color:var(--orange);font-size:10px;text-transform:uppercase;letter-spacing:.06em}
.mega-feature{position:relative;overflow:hidden;border-radius:14px 44px 14px 44px;min-height:236px;background:var(--teal) var(--mega-image,none) center/cover no-repeat;color:#fff;display:flex;flex-direction:column;justify-content:flex-end;padding:26px}
.mega-feature:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(2,40,47,.12),rgba(2,40,47,.86))}
.mega-feature .spec-badge{position:absolute;z-index:2;top:18px;left:18px;background:var(--orange);color:#fff;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.07em;padding:7px 12px;border-radius:999px}
.mega-feature-body{position:relative;z-index:2}
.mega-feature h3{font-size:22px;margin:0 0 6px}
.mega-feature p{font-size:12px;color:#dcebed;margin:0 0 14px;max-width:270px}
.mega-feature .btn-small{background:var(--orange);color:#fff}
.mega-bar{border-top:1px solid #edf3f4;padding:16px 0;display:flex;justify-content:space-between;align-items:center}
.mega-bar a{font-size:13px;font-weight:600;color:var(--teal);display:inline-flex;align-items:center;gap:10px;transition:gap .2s ease}
.mega-bar a:hover{gap:15px}
.mega-bar a.mega-bar-cta{color:var(--orange)}
.mega-trigger:focus-visible,.mega-col a:focus-visible,.mega-bar a:focus-visible,.main-nav a:focus-visible,.to-top:focus-visible{outline:2px solid var(--teal);outline-offset:3px;border-radius:4px}

/* --- Reveals au scroll (gated .js, sans flash) ----------------------------- */
.js .reveal{opacity:0;transform:translateY(26px);transition:opacity .7s cubic-bezier(.22,.61,.36,1),transform .7s cubic-bezier(.22,.61,.36,1)}
.js .reveal.in{opacity:1;transform:none}

/* --- Micro-interactions hover ---------------------------------------------- */
.tour-card{transition:transform .3s ease,box-shadow .3s ease}
.tour-card:after{transition:opacity .3s ease}
.tour-card:hover{transform:translateY(-6px);box-shadow:0 24px 48px rgba(2,28,33,.3)}
.round-arrow{transition:transform .3s ease,background .3s ease}
.tour-card:hover .round-arrow{transform:rotate(45deg) scale(1.08)}
.experience-card{transition:transform .3s ease,box-shadow .3s ease}
.experience-card:hover{transform:translateY(-6px);box-shadow:0 22px 42px rgba(2,28,33,.26)}
.experience-copy a{transition:transform .25s ease,gap .2s ease}
.experience-card:hover .experience-copy>a{transform:translateX(3px)}
.why-grid article{transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease}
.why-grid article:hover{transform:translateY(-5px);border-color:#bfe0e5;box-shadow:0 16px 32px rgba(0,83,96,.08)}
.journal-grid article{transition:transform .25s ease}
.journal-grid article:hover{transform:translateY(-4px)}
.journal-img{transition:filter .3s ease}
.journal-grid article:hover .journal-img{filter:brightness(1.05) saturate(1.05)}
.text-link span,.text-link .caret{transition:transform .25s ease}
.text-link:hover span{transform:translateX(4px)}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 16px 32px rgba(255,154,0,.32)}
.btn-ghost:hover{background:rgba(255,255,255,.12)}

/* --- Animations d'icônes --------------------------------------------------- */
.trust-icon{transition:transform .3s ease,background .3s ease,color .3s ease}
.trust-item:hover .trust-icon{transform:translateY(-3px) rotate(-8deg);background:var(--orange);color:#fff}
@keyframes floaty{0%,100%{transform:rotate(8deg) translateY(0)}50%{transform:rotate(8deg) translateY(-6px)}}
.hero-dots{animation:floaty 6s ease-in-out infinite}

/* --- Bouton retour en haut -------------------------------------------------- */
.to-top{position:fixed;right:26px;bottom:26px;width:48px;height:48px;border-radius:50%;background:var(--orange);color:#fff;border:0;cursor:pointer;display:grid;place-items:center;font-size:18px;box-shadow:0 12px 26px rgba(255,154,0,.34);opacity:0;visibility:hidden;transform:translateY(10px);transition:opacity .3s ease,transform .3s ease,visibility .3s;z-index:90}
.to-top.show{opacity:1;visibility:visible;transform:none}
.to-top:hover{transform:translateY(-3px)}

/* --- Footer complet (standard Tsingy) -------------------------------------- */
.footer{background:var(--deep);color:#fff;padding:74px 0 26px}
.footer-top{display:grid;grid-template-columns:1.7fr 1fr 1fr 1fr 1.25fr;gap:46px}
.footer-brand img{width:182px;background:#fff;border-radius:14px;padding:12px;display:block}
.footer-brand p{color:#a8c2c7;font-size:12px;max-width:250px;margin:18px 0 20px;line-height:1.7}
.footer-social{display:flex;gap:12px}
.footer-social a{width:36px;height:36px;border-radius:50%;border:1px solid rgba(255,255,255,.22);display:grid;place-items:center;color:#cfe0e3;font-size:12px;transition:background .25s ease,border-color .25s ease,color .25s ease,transform .25s ease}
.footer-social a:hover{background:var(--orange);border-color:var(--orange);color:#fff;transform:translateY(-3px)}
.footer-social svg{width:16px;height:16px;display:block}
.footer-col h4{font-size:12px;color:var(--orange);text-transform:uppercase;letter-spacing:.13em;margin:0 0 18px}
.footer-col a{display:block;color:#bad0d4;font-size:12px;margin:11px 0;transition:color .2s ease,padding-left .2s ease}
.footer-col a:hover{color:#fff;padding-left:4px}
.footer-news{display:flex;gap:8px;margin-top:16px}
.footer-news input{flex:1;min-width:0;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.2);border-radius:999px;padding:10px 15px;color:#fff;font:inherit;font-size:12px}
.footer-news input::placeholder{color:#8fb0b5}
.footer-news button{border:0;background:var(--orange);color:#fff;border-radius:999px;padding:0 16px;font-weight:600;font-size:12px;cursor:pointer}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;border-top:1px solid rgba(255,255,255,.12);padding-top:22px;margin-top:54px;font-size:11px;color:#93b0b6}
.footer-credit a{color:#fff;font-weight:600; display: inline;}
.footer-credit a:hover{color:var(--orange)}

@media(max-width:1000px){
  .site-header.is-stuck{height:auto}
  .mega-grid{grid-template-columns:1fr;gap:26px}
  .footer-top{grid-template-columns:1fr 1fr}
  .footer-bottom{flex-direction:column;align-items:flex-start;gap:8px}
}

/* ==========================================================================
   Révision C — Responsive complet (tablette + mobile) & menu mobile
   ========================================================================== */

/* Le bouton burger et le CTA-drawer sont masqués sur desktop */
.nav-toggle{display:none}
.nav-drawer-cta{display:none}

/* --- Typo fluide (remplace les grandes tailles fixes) --------------------- */
@media(max-width:1024px){
  .hero h1{font-size:clamp(38px,6.4vw,72px)}
  .hero h1,.section h2,.final-cta h2,.intro-copy h2,.centered h2,.split-heading h2,
  .themes-heading h2,.birding-copy h2,.testimonial h2{font-size:clamp(30px,5vw,60px)}
  .section{padding:76px 0}
  .circuits{padding:100px 0 92px}
  .intro{padding-top:84px}
  .birding{padding:88px 0}
}

/* --- Bascule menu → burger + adaptations tablette (≤1000px) ---------------- */
@media(max-width:1000px){
  .container{width:min(1240px,calc(100% - 48px))}

  /* Burger */
  .nav-toggle{display:inline-flex;flex-direction:column;justify-content:center;gap:5px;
    width:44px;height:44px;margin-left:auto;padding:0;background:none;border:0;cursor:pointer;position:relative;z-index:100}
  .nav-toggle span{display:block;width:24px;height:2px;background:var(--deep);border-radius:2px;
    transition:transform .3s ease,opacity .25s ease}
  .nav-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
  .nav-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
  .nav-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
  .header-cta{display:none}

  /* Drawer */
  .main-nav{position:fixed;top:0;right:0;height:100vh;height:100dvh;width:min(360px,88vw);
    margin-left:0;flex-direction:column;align-items:stretch;gap:0;
    background:#fff;box-shadow:-24px 0 60px rgba(0,49,58,.2);
    padding:92px 26px 32px;overflow-y:auto;z-index:90;
    transform:translateX(100%);transition:transform .34s cubic-bezier(.4,0,.2,1);display:flex}
  .main-nav.open{transform:translateX(0)}
  body.nav-open{overflow:hidden}
  .nav-backdrop{position:fixed;inset:0;background:rgba(4,30,35,.5);z-index:30;
    opacity:0;visibility:hidden;transition:opacity .3s ease,visibility .3s}
  .nav-backdrop.open{opacity:1;visibility:visible}
  .main-nav>a{border-bottom:1px solid #eef4f5;padding:16px 2px;font-size:15px;white-space:normal}
  .main-nav a:first-child{color:#29484f}

  /* Mégamenu en accordéon dans le drawer */
  .nav-item.has-mega{flex-direction:column;align-items:stretch}
  .mega-trigger{width:100%;justify-content:space-between;padding:16px 2px;font-size:15px;
    border-bottom:1px solid #eef4f5}
  .mega-panel{position:static;width:auto;border-top:0;box-shadow:none;transform:none;
    opacity:1;visibility:visible;max-height:0;overflow:hidden;
    transition:max-height .34s ease}
  .nav-item.has-mega.open .mega-panel{max-height:1200px}
  .mega-panel .container{width:auto;padding:0}
  .mega-grid{grid-template-columns:1fr;gap:14px;padding:10px 0 8px}
  .mega-feature{display:none}
  .mega-bar{flex-direction:column;align-items:flex-start;gap:12px;padding:14px 0}
  .nav-drawer-cta{display:inline-flex;margin-top:24px;align-self:flex-start}

  /* Hero fluide */
  .hero{height:auto;min-height:auto;padding-bottom:150px}
  .hero-content{padding-top:56px}
  .hero-shade{background:linear-gradient(175deg,rgba(4,38,44,.42) 0%,rgba(4,38,44,.72) 100%)}
  .hero-copy{max-width:none}
  .hero-actions{flex-wrap:wrap}
  .hero-card{position:relative;z-index:4;width:auto;max-width:400px;margin:28px 0 0;backdrop-filter:none;
    background:rgba(255,255,255,.96); margin-left: 50px;}
  .hero-card:after{display:none}
  .hero-dots{display:none}

  /* Bande de réassurance */
  .trust-strip{margin-top:26px}
  .trust-grid{grid-template-columns:1fr 1fr;gap:22px 0;padding:24px 20px}
  .trust-item{padding:0 14px}
  .trust-item:nth-child(2){border-right:0}

  /* Intro : carte + statement empilés proprement */
  .intro-map{height:auto;max-width:440px}
  .intro-map-art{position:static;transform:none;width:100%;height:auto}
  .intro-map-logo{position:static;width:210px;margin:0 auto 6px}
  .intro-map-logo:before,.intro-map-logo:after{display:none}

  /* En-têtes de section : empilement */
  .split-heading{flex-direction:column;align-items:flex-start;gap:16px;margin-bottom:34px}
  .heading-side{max-width:none}
  .align-end{align-self:flex-start;margin-bottom:0}

  /* Ornithologie */
  .birding-photo{height:380px}
  .birding-photo:before{inset:-12px 20px 16px -12px}

  /* Carnet */
  .journal-grid{grid-template-columns:1fr 1fr}

  /* CTA final fluide */
  .final-cta{height:auto;min-height:auto;padding-bottom:40px}
  .final-cta-content{padding:110px 0 60px}
  .final-cta-overlay{background:linear-gradient(175deg,rgba(2,46,54,.6),rgba(2,46,54,.86))}
  .final-cta-content>div{display:flex;flex-wrap:wrap;gap:12px}
  .final-cta-content .btn{margin-right:0}
}

/* --- Mobile (≤600px) : tout en une colonne + typo resserrée --------------- */
@media(max-width:600px){
  .container{width:min(1240px,calc(100% - 34px))}
  .section{padding:56px 0}
  .circuits{padding:72px 0 68px}
  .brand{width:184px}

  .hero h1{font-size:clamp(31px,8.4vw,40px)}
  .section h2,.final-cta h2,.intro-copy h2,.centered h2,.split-heading h2,
  .themes-heading h2,.birding-copy h2,.testimonial h2{font-size:clamp(26px,7.2vw,34px)}
  .hero-copy{font-size:15px}

  /* Topbar allégée */
  .topbar{font-size:11px}
  .topbar-inner>span:first-child{display:none}
  .topbar-links{gap:12px}
  .topbar-links>span:nth-child(2){display:none}

  /* Grilles en 1 colonne */
  .trust-grid{grid-template-columns:1fr;gap:0}
  .trust-item{border-right:0;border-bottom:1px solid #dfebed;padding:14px 6px}
  .trust-item:last-child{border-bottom:0}

  .circuit-grid{grid-template-columns:1fr;grid-template-rows:auto;gap:16px}
  .tour-card,.tour-card-large,.tour-card-wide{grid-column:auto;grid-row:auto;min-height:290px}
  .tour-card-large h3{font-size:26px}

  .theme-mosaic{grid-template-columns:1fr;grid-template-rows:auto}
  .experience-featured{grid-column:auto;grid-row:auto;height:320px}
  .experience-card{height:230px}

  .why-grid{grid-template-columns:1fr}
  .journal-grid{grid-template-columns:1fr}
  .footer-top{grid-template-columns:1fr;gap:34px}
  .footer-news{max-width:320px}

  .birding-photo{height:300px}
  .testimonial blockquote{font-size:21px}
  .testimonial .quote-mark{font-size:80px;left:0}
  .intro-statement{border-radius:4px 34px 4px 34px}

  .to-top{right:16px;bottom:16px;width:44px;height:44px}
}


/* --- Accessibilité : mouvement réduit -------------------------------------- */
@media (prefers-reduced-motion: reduce){
  *,*:before,*:after{animation:none!important}
  .js .reveal{opacity:1!important;transform:none!important;transition:none!important}
  html{scroll-behavior:auto}
}

/* ==========================================================================
   Page type — Tous les circuits
   Ces composants prolongent la maquette d'accueil validée.
   ========================================================================== */
.inner-hero{height:clamp(360px,28vh,440px);min-height:360px;position:relative;overflow:hidden;color:#fff;background:#3b453d}
.inner-hero-media{position:absolute;inset:0;background:url('assets/hero-baobabs.png') center 49%/cover no-repeat}
.inner-hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,38,44,.84) 0%,rgba(4,38,44,.5) 48%,rgba(4,38,44,.14) 100%)}
.inner-hero-content{position:relative;z-index:2;padding-top:68px}
.inner-hero h1{font-size:clamp(44px,4.5vw,66px);line-height:1.04;letter-spacing:-.045em;margin:0;font-weight:600;max-width:820px}
.inner-hero h1 em{font-style:normal;color:var(--orange)}
.inner-hero-content>p{font-size:16px;line-height:1.65;color:#e4eeee;max-width:650px;margin:18px 0 0}
.breadcrumb{display:flex;align-items:center;gap:10px;margin:0 0 16px;font-size:12px;color:#cae2e5}
.breadcrumb a{transition:color .2s ease}
.breadcrumb a:hover{color:#fff}
.breadcrumb span[aria-hidden]{color:var(--orange)}
.inner-hero-wave{height:100px}

.catalog-intro{padding:82px 0 118px;background:#fff}
.catalog-intro-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:110px;align-items:start}
.catalog-intro h2,.catalog-heading h2,.custom-trip h2{font-size:clamp(38px,4vw,56px);line-height:1.07;letter-spacing:-.04em;margin:0;font-weight:600}
.catalog-intro h2 em,.catalog-heading h2 em,.custom-trip h2 em{font-style:normal;color:var(--orange)}
.catalog-intro-copy>p{font-size:15px;line-height:1.8;color:var(--muted);max-width:650px;margin:4px 0 24px}
.catalog-jumps{display:flex;border-top:1px solid #dbe7e9;border-bottom:1px solid #dbe7e9}
.catalog-jumps a{flex:1;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 18px 18px 0;color:var(--deep);font-size:14px;font-weight:600;transition:color .2s ease,padding-left .2s ease}
.catalog-jumps a+a{border-left:1px solid #dbe7e9;padding-left:24px}
.catalog-jumps a:hover{color:var(--teal);padding-left:8px}
.catalog-jumps a+a:hover{padding-left:30px}
.catalog-jumps span{color:var(--orange);font-size:12px}

.catalog-classics{position:relative;overflow:hidden;background:var(--deep);color:#fff;padding:144px 0 148px}
.catalog-classics>.container{position:relative;z-index:2}
.catalog-wave{position:absolute;left:-1%;width:102%;height:120px;z-index:1;pointer-events:none}
.catalog-wave-top{top:-1px}
.catalog-wave-bottom{bottom:-1px}
.catalog-heading{display:grid;grid-template-columns:1fr 410px;gap:80px;align-items:end;margin-bottom:46px}
.catalog-heading p{font-size:14px;line-height:1.7;color:#c3d9dc;margin:0 0 6px}
.catalog-heading-dark p{color:var(--muted)}
.listing-grid{display:grid;gap:20px}
.listing-grid-classics{grid-template-columns:repeat(2,minmax(0,1fr))}
.listing-card{position:relative;display:block;overflow:hidden;background:var(--card-image) center/cover no-repeat;color:#fff;isolation:isolate;transition:transform .32s cubic-bezier(.2,.75,.25,1),box-shadow .32s ease}
.listing-card:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(2,28,33,.03) 22%,rgba(2,28,33,.92) 100%);transition:background .32s ease}
.listing-card:hover{transform:translateY(-7px);box-shadow:0 26px 52px rgba(0,22,27,.32)}
.listing-card:hover:before{background:linear-gradient(180deg,rgba(2,28,33,.08) 12%,rgba(2,28,33,.96) 100%)}
.listing-card-classic{height:440px;border-radius:18px 66px 18px 18px}
.listing-duration,.listing-specialty{position:absolute;top:22px;right:22px;z-index:2;background:#fff;color:var(--deep);border-radius:999px;padding:9px 14px;font-size:12px;font-weight:600}
.listing-card-body{position:absolute;left:28px;right:28px;bottom:25px;display:block}
.listing-region{display:block;color:#bee1e6;font-size:12px;text-transform:uppercase;letter-spacing:.12em;margin-bottom:8px}
.listing-card-body>strong{display:block;font-size:26px;line-height:1.18;margin:0 0 8px;max-width:530px}
.listing-summary{display:block;color:#e1ecee;font-size:13px;line-height:1.5;margin-bottom:22px}
.listing-card-footer{display:flex;align-items:center;justify-content:space-between;border-top:1px solid rgba(255,255,255,.28);padding-top:18px}
.listing-card-footer b{font-size:13px;font-weight:600}
.listing-card-footer i{width:38px;height:38px;border-radius:50%;background:var(--orange);color:#fff;display:grid;place-items:center;font-size:15px;font-style:normal;transition:transform .3s ease,background .3s ease}
.listing-card:hover .listing-card-footer i{transform:rotate(45deg) scale(1.08)}
.catalog-price-note{font-size:12px;color:#9ab9be;text-align:right;margin:16px 0 0}

.catalog-themes{background:var(--pale);padding:94px 0 112px}
.catalog-heading-dark{color:var(--deep)}
.listing-grid-themes{grid-template-columns:1.25fr 1fr 1fr;grid-template-rows:310px 310px}
.listing-card-theme{border-radius:18px 18px 60px 18px}
.listing-card-featured{grid-row:span 2;border-radius:76px 18px 76px 18px}
.listing-card-theme .listing-card-body>strong{font-size:23px}
.listing-card-featured .listing-card-body{left:34px;right:34px;bottom:32px}
.listing-card-featured .listing-card-body>strong{font-size:34px}
.listing-card-featured .listing-summary{font-size:14px;max-width:520px}
.listing-specialty{right:auto;left:24px;background:var(--orange);color:#fff;text-transform:uppercase;letter-spacing:.08em}

.custom-trip{background:#fff;padding:92px 0 110px}
.custom-trip-card{position:relative;overflow:hidden;display:grid;grid-template-columns:1.3fr .7fr;gap:80px;align-items:center;background:#fff;border:1px solid #dbe8ea;border-radius:18px 74px 18px 74px;padding:62px 70px;box-shadow:0 20px 60px rgba(0,70,82,.08)}
.custom-trip-card:after{content:"";position:absolute;width:340px;height:340px;border:2px solid rgba(255,154,0,.34);border-radius:50%;right:-120px;top:-150px;pointer-events:none}
.custom-trip-copy{position:relative;z-index:1}
.custom-trip-copy>p{font-size:15px;line-height:1.75;color:var(--muted);max-width:670px;margin:20px 0 28px}
.custom-trip-promise{position:relative;z-index:1;padding-left:38px;border-left:1px solid #d4e4e7}
.custom-trip-promise strong{display:block;color:var(--deep);font-size:21px;padding:10px 0}
.custom-trip-promise strong:before{content:"✦";color:var(--orange);font-size:14px;margin-right:12px}

/* Limite typographique demandée : aucun texte desktop inférieur à 12 px. */
@media(min-width:1001px){
  .page-circuits-listing .topbar,
  .page-circuits-listing .btn-small,
  .page-circuits-listing .mega-trigger,
  .page-circuits-listing .mega-col h4,
  .page-circuits-listing .mega-col a small,
  .page-circuits-listing .mega-col a .spec,
  .page-circuits-listing .mega-feature .spec-badge,
  .page-circuits-listing .mega-feature p,
  .page-circuits-listing .footer-brand p,
  .page-circuits-listing .footer-col h4,
  .page-circuits-listing .footer-col a,
  .page-circuits-listing .footer-news input,
  .page-circuits-listing .footer-news button,
  .page-circuits-listing .footer-bottom,
  .page-circuits-listing .footer-credit a{font-size:12px}
}

@media(max-width:1000px){
  .inner-hero{height:380px;min-height:380px}
  .inner-hero-content{padding-top:58px}
  .catalog-intro-grid,.catalog-heading,.custom-trip-card{grid-template-columns:1fr;gap:28px}
  .catalog-intro{padding:68px 0 92px}
  .catalog-classics{padding:110px 0 118px}
  .listing-grid-themes{grid-template-columns:1fr 1fr;grid-template-rows:none;grid-auto-rows:310px}
  .listing-card-theme,.listing-card-featured{grid-column:auto;grid-row:auto}
  .listing-card-featured{grid-column:span 2;height:440px}
  .custom-trip-card{padding:48px}
  .custom-trip-promise{padding-left:0;padding-top:22px;border-left:0;border-top:1px solid #d4e4e7}
}

@media(max-width:600px){
  .inner-hero{height:350px;min-height:350px}
  .inner-hero-content{padding-top:44px}
  .inner-hero h1{font-size:clamp(34px,10vw,43px)}
  .inner-hero-content>p{font-size:14px;line-height:1.55;margin-top:14px}
  .inner-hero-wave{height:72px}
  .catalog-intro{padding:54px 0 74px}
  .catalog-intro h2,.catalog-heading h2,.custom-trip h2{font-size:clamp(29px,8vw,36px)}
  .catalog-jumps{flex-direction:column}
  .catalog-jumps a+a{border-left:0;border-top:1px solid #dbe7e9;padding-left:0}
  .catalog-jumps a+a:hover{padding-left:8px}
  .catalog-heading{margin-bottom:30px}
  .listing-grid-classics,.listing-grid-themes{grid-template-columns:1fr;grid-auto-rows:auto}
  .listing-card-classic,.listing-card-theme,.listing-card-featured{grid-column:auto;height:360px;border-radius:16px 50px 16px 16px}
  .listing-card-body{left:22px;right:22px;bottom:20px}
  .listing-card-featured .listing-card-body{left:22px;right:22px;bottom:20px}
  .listing-card-body>strong,.listing-card-theme .listing-card-body>strong,.listing-card-featured .listing-card-body>strong{font-size:23px}
  .catalog-price-note{text-align:left}
  .custom-trip{padding:62px 0 78px}
  .custom-trip-card{padding:38px 26px;border-radius:14px 46px 14px 46px}
  .custom-trip-promise strong{font-size:18px}
}

/* ==========================================================================
   Page type — Détail d'un circuit classique
   ========================================================================== */
.page-tour-detail [id]{scroll-margin-top:145px}
.tour-detail-hero{height:clamp(380px,30vh,460px);min-height:380px;position:relative;overflow:hidden;color:#fff;background:#3b453d}
.tour-detail-hero-media{position:absolute;inset:0;background:var(--tour-hero-image,url('assets/hero-baobabs.png')) center 53%/cover no-repeat}
.tour-detail-hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,38,44,.88) 0%,rgba(4,38,44,.5) 54%,rgba(4,38,44,.16) 100%)}
.tour-detail-hero-content{position:relative;z-index:2;padding-top:58px}
.tour-detail-hero h1{font-size:clamp(48px,5.4vw,76px);line-height:.98;letter-spacing:-.05em;margin:2px 0 8px;font-weight:600}
.tour-detail-hero-content>p:last-child{font-size:18px;color:#e1ecee;margin:0}
.tour-type{font-size:12px;text-transform:uppercase;letter-spacing:.14em;color:#b9e2e8;margin:0}
.tour-detail-wave{height:96px}

.tour-facts-wrap{position:relative;z-index:6;margin-top:-30px}
.tour-facts{display:grid;grid-template-columns:1fr 1.2fr 1fr 1.25fr 1.25fr;background:#fff;border-radius:18px;box-shadow:0 18px 54px rgba(0,55,65,.12);padding:22px 24px}
.tour-facts>div{min-width:0;display:flex;align-items:center;gap:12px;padding:0 18px;border-right:1px solid #dfebed}
.tour-facts>div:last-child{border-right:0}
.tour-facts p{margin:0;min-width:0}
.tour-facts small,.tour-facts strong{display:block}
.tour-facts small{font-size:12px;color:var(--muted);margin-bottom:3px}
.tour-facts strong{font-size:13px;color:var(--deep);line-height:1.35}
.tour-fact-icon{flex:0 0 auto;width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:var(--pale);color:var(--orange);font-size:16px}
.tour-price{justify-content:space-between!important;gap:16px!important}
.tour-price strong{color:var(--orange);font-size:15px}
.tour-price .btn{white-space:nowrap}

.tour-anchor-nav{position:sticky;top:74px;z-index:85;margin-top:34px;background:#fff;border-top:1px solid #edf3f4;border-bottom:1px solid #dbe7e9;box-shadow:0 8px 24px rgba(0,49,58,.06)}
.tour-anchor-inner{display:flex;justify-content:center;overflow-x:auto;scrollbar-width:none}
.tour-anchor-inner::-webkit-scrollbar{display:none}
.tour-anchor-inner a{position:relative;flex:0 0 auto;padding:17px 20px;font-size:13px;font-weight:600;color:#6c8084;transition:color .2s ease}
.tour-anchor-inner a:after{content:"";position:absolute;left:20px;right:20px;bottom:-1px;height:3px;background:var(--orange);transform:scaleX(0);transition:transform .25s ease}
.tour-anchor-inner a:hover,.tour-anchor-inner a.active{color:var(--deep)}
.tour-anchor-inner a.active:after,.tour-anchor-inner a:hover:after{transform:scaleX(1)}

.tour-overview{padding:92px 0 96px;background:#fff}
.tour-overview-grid{display:grid;grid-template-columns:.92fr 1.08fr;gap:105px;align-items:start}
.tour-overview h2,.route-heading h2,.program-intro h2,.gallery-heading h2,.included-heading h2,.testimonial-placeholder h2{font-size:clamp(38px,4vw,56px);line-height:1.07;letter-spacing:-.04em;margin:0;font-weight:600}
.tour-overview h2 em,.route-heading h2 em,.program-intro h2 em,.gallery-heading h2 em,.included-heading h2 em,.testimonial-placeholder h2 em{font-style:normal;color:var(--orange)}
.tour-overview-copy>p{font-size:15px;line-height:1.8;color:var(--muted);margin:0 0 18px}
.tour-overview-copy .tour-lead{font-size:20px;line-height:1.55;color:var(--deep)}
.tour-overview-actions{display:flex;align-items:center;gap:28px;flex-wrap:wrap;margin-top:28px}
.tour-overview-actions .text-link{margin-top:0}
.tour-highlights{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:66px}
.tour-highlights article{padding:30px 25px;border:1px solid #dce8ea;border-radius:8px 38px 8px 38px;transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease}
.tour-highlights article:hover{transform:translateY(-5px);border-color:#bfe0e5;box-shadow:0 16px 32px rgba(0,83,96,.08)}
.tour-highlights span{font-size:12px;color:var(--orange)}
.tour-highlights h3{font-size:18px;color:var(--deep);margin:24px 0 10px}
.tour-highlights p{font-size:13px;color:var(--muted);margin:0}

.route-section{position:relative;overflow:hidden;background:var(--deep);color:#fff;padding:148px 0 154px}
.route-section>.container{position:relative;z-index:2}
.route-heading{display:grid;grid-template-columns:1fr 490px;gap:80px;align-items:end;margin-bottom:44px}
.route-heading p{font-size:14px;line-height:1.7;color:#c3d9dc;margin:0}
.route-layout{display:grid;grid-template-columns:1fr 370px;gap:26px;align-items:stretch}
.route-map{position:relative;min-height:650px;overflow:hidden;background:#f7fbfb;border-radius:82px 18px 82px 18px;border:1px solid rgba(255,255,255,.35);box-shadow:0 28px 60px rgba(0,0,0,.2)}
.route-map:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(0,141,174,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(0,141,174,.055) 1px,transparent 1px);background-size:42px 42px}
.route-prototype{position:absolute;z-index:3;top:25px;left:30px;color:var(--teal);font-size:12px;text-transform:uppercase;letter-spacing:.13em}
.route-map-island{position:absolute;inset:56px 30px 30px;display:grid;place-items:center;pointer-events:none}
.route-map-island img{position:absolute;height:530px;width:auto;opacity:.14;filter:sepia(1) saturate(4) hue-rotate(135deg)}
.route-map-island svg{position:absolute;inset:0;width:100%;height:100%}
.route-track-shadow,.route-track{fill:none;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.route-track-shadow{stroke:#fff;stroke-width:8}
.route-track{stroke:var(--orange);stroke-width:4;stroke-dasharray:9 9;animation:route-dash 18s linear infinite}
@keyframes route-dash{to{stroke-dashoffset:-180}}
.route-pin{position:absolute;z-index:4;left:var(--x);top:var(--y);transform:translate(-50%,-50%);width:34px;height:34px;border-radius:50%;border:4px solid #fff;background:var(--teal);color:#fff;display:grid;place-items:center;cursor:pointer;box-shadow:0 8px 18px rgba(0,87,102,.25);transition:transform .22s ease,background .22s ease}
.route-pin span{font:600 12px Montserrat,Arial,sans-serif}
.route-pin:hover,.route-pin.active{background:var(--orange);transform:translate(-50%,-50%) scale(1.18)}
.route-map-card{position:absolute;z-index:5;right:26px;top:74px;width:255px;background:#fff;color:var(--deep);border-radius:18px 48px 18px 18px;padding:22px 24px;box-shadow:0 18px 38px rgba(0,64,75,.16)}
.route-map-card small,.route-map-card strong,.route-map-card span{display:block}
.route-map-card small{font-size:12px;text-transform:uppercase;letter-spacing:.1em;color:var(--teal)}
.route-map-card strong{font-size:21px;margin:8px 0 2px}
.route-map-card span{font-size:12px;color:var(--orange);font-weight:600}
.route-map-card p{font-size:13px;color:var(--muted);line-height:1.55;margin:12px 0 0}
.route-stops{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);border-radius:18px 56px 18px 18px;padding:12px 24px}
.route-stops button{width:100%;display:grid;grid-template-columns:38px 1fr auto;align-items:center;gap:10px;text-align:left;background:none;border:0;border-bottom:1px solid rgba(255,255,255,.15);padding:16px 0;color:#fff;font:inherit;cursor:pointer;transition:padding-left .2s ease,color .2s ease}
.route-stops button:last-child{border-bottom:0}
.route-stops button:hover,.route-stops button.active{padding-left:8px;color:var(--orange)}
.route-stops button>span{font-size:12px;color:#8fb8be}
.route-stops b{font-size:14px}
.route-stops small{font-size:12px;color:#a8c4c8}

/* Voyage à thème — bloc éditorial espèces et habitats */
.page-tour-theme .tour-detail-hero-media{background-position:center 45%}
.page-tour-theme .tour-detail-hero-shade{background:linear-gradient(90deg,rgba(4,38,44,.9) 0%,rgba(4,38,44,.52) 52%,rgba(4,38,44,.08) 100%)}
.species-section{background:#fff;padding:94px 0 104px}
.species-heading{display:grid;grid-template-columns:1fr 470px;gap:80px;align-items:end;margin-bottom:42px}
.species-heading h2{font-size:clamp(38px,4vw,56px);line-height:1.07;letter-spacing:-.04em;margin:0;font-weight:600}
.species-heading h2 em{font-style:normal;color:var(--orange)}
.species-heading p{font-size:14px;line-height:1.75;color:var(--muted);margin:0}
.species-grid{display:grid;grid-template-columns:1.15fr .925fr .925fr;gap:18px}
.species-card{--species-image:none;position:relative;overflow:hidden;min-height:380px;border-radius:16px 58px 16px 16px;background:var(--species-image) center/cover no-repeat;color:#fff;transition:transform .3s ease,box-shadow .3s ease}
.species-card-featured{border-radius:72px 16px 72px 16px}
.species-card:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(3,31,37,.02) 30%,rgba(3,31,37,.92) 100%)}
.species-card>div{position:absolute;z-index:2;left:26px;right:26px;bottom:24px}
.species-card small{font-size:12px;text-transform:uppercase;letter-spacing:.1em;color:#bfe3e8}
.species-card h3{font-size:23px;line-height:1.18;margin:8px 0 8px}
.species-card p{font-size:13px;line-height:1.6;color:#dcebed;margin:0}
.species-card:hover{transform:translateY(-6px);box-shadow:0 24px 48px rgba(2,28,33,.22)}

.program-section{background:#fff;padding:94px 0}
.program-layout{display:grid;grid-template-columns:360px 1fr;gap:90px;align-items:start}
.program-intro{position:sticky;top:155px}
.program-intro>p{font-size:14px;line-height:1.75;color:var(--muted);margin:22px 0 30px}
.program-summary{display:grid;grid-template-columns:auto 1fr;gap:8px 14px;align-items:center;padding-top:22px;border-top:1px solid #dbe6e8}
.program-summary strong{font-size:30px;color:var(--orange);line-height:1}
.program-summary span{font-size:13px;color:var(--deep)}
.program-accordion{border-top:1px solid #d7e4e6}
.program-day{border-bottom:1px solid #d7e4e6}
.program-day>button{width:100%;display:grid;grid-template-columns:88px 1fr 30px;gap:14px;align-items:center;text-align:left;background:none;border:0;padding:20px 4px;font:inherit;color:var(--deep);cursor:pointer}
.program-day>button span{font-size:12px;color:var(--teal);text-transform:uppercase;letter-spacing:.08em}
.program-day>button strong{font-size:16px}
.program-day>button i{font-style:normal;width:28px;height:28px;border:1px solid #bdd7dc;border-radius:50%;display:grid;place-items:center;color:var(--teal);transition:background .2s ease,color .2s ease,transform .2s ease}
.program-day>button:hover i,.program-day.open>button i{background:var(--orange);border-color:var(--orange);color:#fff}
.program-day>div{display:grid;grid-template-rows:0fr;transition:grid-template-rows .32s ease}
.program-day>div>p{overflow:hidden;font-size:14px;line-height:1.7;color:var(--muted);margin:0;padding:0 48px 0 106px;transition:padding .32s ease}
.program-day.open>div{grid-template-rows:1fr}
.program-day.open>div>p{padding-top:0;padding-bottom:22px}

.tour-gallery{background:var(--pale);padding:94px 0 106px}
.gallery-heading{display:grid;grid-template-columns:1fr 430px;gap:80px;align-items:end;margin-bottom:40px}
.gallery-heading p{font-size:13px;line-height:1.7;color:var(--muted);margin:0}
.gallery-mosaic{display:grid;grid-template-columns:1.2fr .8fr .8fr;grid-template-rows:280px 280px;gap:18px}
.gallery-item{position:relative;overflow:hidden;border:0;padding:0;background:#dce9eb;border-radius:16px 52px 16px 16px;cursor:zoom-in;color:#fff;text-align:left}
.gallery-item-large{grid-row:span 2;border-radius:72px 16px 72px 16px}
.gallery-item-wide{grid-column:span 2}
.gallery-item:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 48%,rgba(2,28,33,.78));transition:background .3s ease}
.gallery-item img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s cubic-bezier(.2,.7,.25,1)}
.gallery-item:hover img{transform:scale(1.045)}
.gallery-item:hover:after{background:linear-gradient(180deg,transparent 40%,rgba(2,28,33,.86))}
.gallery-item span{position:absolute;z-index:2;left:22px;bottom:19px;font:600 13px Montserrat,Arial,sans-serif}
.gallery-lightbox{position:fixed;inset:0;z-index:300;display:grid;place-items:center;padding:50px;background:rgba(2,28,33,.92);opacity:0;visibility:hidden;transition:opacity .25s ease,visibility .25s}
.gallery-lightbox.open{opacity:1;visibility:visible}
.gallery-lightbox img{max-width:min(1200px,92vw);max-height:86vh;border-radius:12px 54px 12px 54px;box-shadow:0 28px 70px rgba(0,0,0,.38)}
.gallery-close{position:absolute;right:28px;top:24px;width:46px;height:46px;border-radius:50%;border:1px solid rgba(255,255,255,.5);background:transparent;color:#fff;font-size:28px;cursor:pointer;transition:background .2s ease,transform .2s ease}
.gallery-close:hover{background:var(--orange);border-color:var(--orange);transform:rotate(8deg)}

.included-section{background:var(--sand);padding:92px 0 100px}
.included-heading{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:38px}
.included-heading>span{font-size:12px;color:var(--orange);border:1px solid rgba(255,154,0,.45);border-radius:999px;padding:8px 13px}
.included-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.included-card{background:#fff;border-radius:16px 52px 16px 16px;padding:36px 38px;border:1px solid rgba(0,141,174,.12)}
.included-card h3{font-size:22px;color:var(--deep);margin:0 0 24px}
.included-card h3:before{display:inline-grid;place-items:center;width:30px;height:30px;margin-right:12px;border-radius:50%;color:#fff;font-size:15px}
.included-yes h3:before{content:"✓";background:var(--teal)}
.included-no h3:before{content:"×";background:var(--orange)}
.included-card ul{list-style:none;padding:0;margin:0}
.included-card li{position:relative;padding:12px 0 12px 24px;border-bottom:1px solid #edf2f3;font-size:14px;color:var(--muted)}
.included-card li:last-child{border-bottom:0}
.included-card li:before{content:"•";position:absolute;left:2px;color:var(--orange)}
.prototype-note{font-size:12px;color:#7e8e91;margin-top:18px}

.tour-testimonials{background:#fff;padding:90px 0 104px}
.testimonial-placeholder{display:grid;grid-template-columns:1.05fr 1fr 1fr;gap:20px;align-items:stretch}
.testimonial-placeholder>div{padding:20px 40px 20px 0}
.testimonial-placeholder>div p{font-size:14px;line-height:1.7;color:var(--muted)}
.testimonial-placeholder article{display:flex;flex-direction:column;background:var(--pale);border:1px solid rgba(0,141,174,.12);border-radius:18px 50px 18px 18px;padding:30px 28px}
.testimonial-placeholder blockquote{font-size:15px;line-height:1.65;color:var(--deep);margin:20px 0 auto}
.testimonial-placeholder article>strong{font-size:13px;margin-top:24px}
.testimonial-placeholder article>small{font-size:12px;color:var(--muted);margin-top:3px}

@media(min-width:1001px){
  .page-tour-detail .topbar,.page-tour-detail .btn-small,.page-tour-detail .mega-trigger,
  .page-tour-detail .mega-col h4,.page-tour-detail .mega-col a small,.page-tour-detail .mega-col a .spec,
  .page-tour-detail .mega-feature .spec-badge,.page-tour-detail .mega-feature p,
  .page-tour-detail .footer-brand p,.page-tour-detail .footer-col h4,.page-tour-detail .footer-col a,
  .page-tour-detail .footer-news input,.page-tour-detail .footer-news button,.page-tour-detail .footer-bottom,
  .page-tour-detail .footer-credit a{font-size:12px}
}

@media(max-width:1100px){
  .tour-facts{grid-template-columns:repeat(4,1fr)}
  .tour-price{grid-column:1/-1;border-right:0!important;border-top:1px solid #dfebed;margin-top:18px;padding-top:18px!important}
  .route-layout{grid-template-columns:1fr 330px}
}

@media(max-width:1000px){
  .tour-detail-hero{height:390px;min-height:390px}
  .tour-detail-hero-content{padding-top:54px}
  .tour-anchor-nav{top:74px}
  .tour-anchor-inner{justify-content:flex-start}
  .tour-overview-grid,.route-heading,.program-layout,.gallery-heading,.species-heading{grid-template-columns:1fr;gap:26px}
  .tour-highlights{grid-template-columns:1fr 1fr}
  .route-section{padding:112px 0 120px}
  .route-layout{grid-template-columns:1fr}
  .route-stops{display:grid;grid-template-columns:1fr 1fr}
  .route-stops button:nth-child(odd){padding-right:18px}
  .route-stops button:nth-child(even){padding-left:18px;border-left:1px solid rgba(255,255,255,.15)}
  .species-grid{grid-template-columns:1fr 1fr}
  .species-card-featured{grid-column:span 2;min-height:440px}
  .program-intro{position:static}
  .gallery-mosaic{grid-template-columns:1fr 1fr;grid-template-rows:360px 260px 300px}
  .gallery-item-large{grid-column:span 2;grid-row:auto}
  .gallery-item-wide{grid-column:span 2}
  .testimonial-placeholder{grid-template-columns:1fr 1fr}
  .testimonial-placeholder>div{grid-column:span 2}
}

@media(max-width:700px){
  .tour-facts-wrap{margin-top:-18px}
  .tour-facts{grid-template-columns:1fr 1fr;padding:16px}
  .tour-facts>div{padding:14px 10px;border-right:0;border-bottom:1px solid #dfebed}
  .tour-facts>div:nth-child(odd){border-right:1px solid #dfebed}
  .tour-price{grid-column:1/-1;display:block!important;margin-top:0;padding-top:18px!important;border-bottom:0!important}
  .tour-price .btn{margin-top:13px;width:100%}
  .tour-anchor-nav{top:74px;margin-top:24px}
  .tour-anchor-inner a{padding:14px 15px;font-size:12px}
  .tour-anchor-inner a:after{left:15px;right:15px}
  .tour-overview{padding:64px 0 70px}
  .tour-overview h2,.route-heading h2,.program-intro h2,.gallery-heading h2,.included-heading h2,.testimonial-placeholder h2{font-size:clamp(29px,8vw,36px)}
  .tour-overview-copy .tour-lead{font-size:17px}
  .tour-highlights{grid-template-columns:1fr;margin-top:40px}
  .species-section{padding:66px 0 72px}
  .species-heading h2{font-size:clamp(29px,8vw,36px)}
  .species-grid{grid-template-columns:1fr}
  .species-card,.species-card-featured{grid-column:auto;min-height:340px;border-radius:14px 44px 14px 14px}
  .route-map{min-height:590px;border-radius:48px 14px 48px 14px}
  .route-map-island{inset:72px 4px 36px}
  .route-map-island img{height:430px}
  .route-map-card{top:auto;left:18px;right:18px;bottom:18px;width:auto;padding:18px 20px}
  .route-stops{grid-template-columns:1fr;padding:10px 20px}
  .route-stops button:nth-child(even){padding-left:0;border-left:0}
  .route-stops button:nth-child(odd){padding-right:0}
  .program-section{padding:66px 0}
  .program-day>button{grid-template-columns:70px 1fr 30px;padding:18px 0}
  .program-day>button strong{font-size:14px}
  .program-day>div>p{padding-left:84px;padding-right:24px}
  .gallery-mosaic{grid-template-columns:1fr;grid-template-rows:none}
  .gallery-item,.gallery-item-large,.gallery-item-wide{grid-column:auto;grid-row:auto;height:280px;border-radius:14px 44px 14px 14px}
  .gallery-lightbox{padding:20px}
  .included-heading{align-items:flex-start;flex-direction:column}
  .included-grid,.testimonial-placeholder{grid-template-columns:1fr}
  .included-card{padding:30px 24px}
  .testimonial-placeholder>div{grid-column:auto;padding-right:0}
}

/* Lot 1 — pages éditoriales : Découvrir Madagascar, Pourquoi Rufous, Voyage sur mesure */
.page-content [id]{scroll-margin-top:118px}
.page-content .content-hero{height:clamp(280px,50vh,360px);min-height:280px}
.page-content .content-hero .inner-hero-media{background:var(--content-hero) center/cover no-repeat;transform:scale(1.015)}
.page-content .content-hero .inner-hero-shade{background:linear-gradient(90deg,rgba(4,38,44,.88) 0%,rgba(4,38,44,.58) 48%,rgba(4,38,44,.16) 100%)}
.page-content .content-hero .inner-hero-content{padding-top:54px}
.page-content .content-hero h1{font-size:clamp(43px,4.15vw,62px);max-width:780px}
.page-content .content-hero p{font-size:15px;max-width:660px}
.page-content .breadcrumb{font-size:12px}
.page-content .section h2{font-size:clamp(38px,4vw,54px)}
.content-intro-grid,.feature-split,.culture-grid,.rufous-story-grid,.commitment-grid,.custom-intro-grid,.possibilities-grid{display:grid;grid-template-columns:1fr 1fr;gap:88px;align-items:center}
.content-intro-grid{grid-template-columns:.85fr 1.15fr;align-items:start}
.content-intro-grid h2,.content-heading h2,.feature-copy h2,.culture-copy h2,.rufous-story-copy h2,.commitment-copy h2,.custom-intro-grid h2,.possibilities-copy h2{position:relative;z-index:0;display:inline-block;isolation:isolate}
.content-intro-grid h2:before,.content-heading h2:before,.culture-copy h2:before,.rufous-story-copy h2:before,.commitment-copy h2:before,.custom-intro-grid h2:before,.possibilities-copy h2:before{content:"";position:absolute;z-index:-1;left:-25px;right:-38px;top:49%;height:90%;transform:translateY(-50%) rotate(-2deg);background:url('assets/bg-titre-hd.png') center/100% 100% no-repeat;pointer-events:none}
.content-intro-grid p,.content-heading p,.culture-copy>p,.rufous-story-copy p,.commitment-copy>p,.custom-intro-grid p,.possibilities-copy>p{font-size:14px;line-height:1.82;color:var(--muted)}
.content-lead{font-size:19px!important;line-height:1.62!important;color:var(--deep)!important;margin-top:0}
.content-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:60px;margin-bottom:42px}
.content-heading>p{max-width:440px;margin:0 0 8px}
.content-heading-centered{display:block;text-align:center;max-width:830px}
.content-heading-centered p{margin:18px auto 0;max-width:620px}

/* Découvrir Madagascar */
.content-feature-blue,.process-section,.mission-section{position:relative;overflow:hidden;background:var(--deep);color:#fff;padding:150px 0 155px}
.content-feature-blue>.container,.process-section>.container,.mission-section>.container{position:relative;z-index:2}
.feature-photo,.culture-photo,.custom-intro-photo,.commitment-photo{position:relative;height:520px}
.feature-photo:before,.culture-photo:before,.custom-intro-photo:before,.commitment-photo:before{content:"";position:absolute;inset:-16px 22px 18px -16px;border:2px solid var(--orange);border-radius:18px 92px 18px 92px}
.feature-photo img,.culture-photo img,.custom-intro-photo img,.commitment-photo img{position:relative;width:100%;height:100%;object-fit:cover;border-radius:18px 92px 18px 92px}
.feature-copy p{font-size:14px;line-height:1.8;color:#cae0e3;margin:22px 0}
.feature-list{list-style:none;padding:0;margin:25px 0 30px;display:grid;grid-template-columns:1fr 1fr;gap:0 22px}
.feature-list li{font-size:13px;padding:13px 0;border-bottom:1px solid rgba(255,255,255,.17)}
.feature-list li:before{content:"✦";color:var(--orange);margin-right:10px}
.landscape-section{padding-top:94px;padding-bottom:104px}
.landscape-grid{display:grid;grid-template-columns:1.2fr .8fr .8fr;grid-template-rows:285px 285px;gap:18px}
.landscape-card{position:relative;overflow:hidden;border-radius:16px 56px 16px 16px;background:var(--landscape) center/cover no-repeat;color:#fff;transition:transform .28s ease,box-shadow .28s ease}
.landscape-card:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 30%,rgba(2,35,41,.88) 100%)}
.landscape-card>div{position:absolute;z-index:2;left:25px;right:25px;bottom:23px}
.landscape-card span{font-size:12px;letter-spacing:.13em;text-transform:uppercase;color:#bce0e5}
.landscape-card h3{font-size:21px;line-height:1.25;margin:7px 0 0}
.landscape-large{grid-row:span 2;border-radius:74px 16px 74px 16px}
.landscape-wide{grid-column:auto}
.landscape-card:hover{transform:translateY(-5px);box-shadow:0 18px 36px rgba(5,57,67,.15)}
.culture-section{background:var(--sand)}
.culture-points{display:flex;flex-wrap:wrap;gap:10px;margin-top:27px}
.culture-points span{padding:11px 15px;background:#fff;border:1px solid rgba(0,141,174,.13);border-radius:999px;font-size:12px;color:var(--deep)}
.passions-section{background:linear-gradient(180deg,#f7fbfb,#fff)}
.passion-links{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}
.passion-links a{min-height:128px;border:1px solid #d8e7e9;border-radius:12px 42px 12px 12px;padding:23px 20px;display:flex;justify-content:space-between;align-items:flex-end;font-size:14px;font-weight:600;color:var(--deep);background:#fff;transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease}
.passion-links a span{width:35px;height:35px;display:grid;place-items:center;border-radius:50%;background:var(--pale);color:var(--teal);transition:background .25s,color .25s,transform .25s}
.passion-links a:hover{transform:translateY(-5px);border-color:var(--teal);box-shadow:0 16px 30px rgba(0,89,106,.08)}
.passion-links a:hover span{background:var(--orange);color:#fff;transform:rotate(10deg)}

/* Pourquoi Rufous */
.rufous-story{padding-top:96px}
.rufous-story-grid{grid-template-columns:.85fr 1.15fr}
.rufous-symbol{height:520px;display:grid;place-items:center;position:relative;background:var(--pale);border-radius:110px 18px 110px 18px;overflow:hidden}
.rufous-symbol:before{content:"";position:absolute;width:330px;height:330px;border:2px solid var(--orange);border-radius:50%;left:-70px;top:40px}
.rufous-symbol img{position:relative;width:82%;height:76%;object-fit:contain;z-index:1}
.rufous-symbol span{position:absolute;z-index:2;left:30px;bottom:25px;background:var(--deep);color:#fff;padding:13px 18px;border-radius:10px 28px 10px 10px;font-size:12px}
.rufous-symbol i{color:#b9dce1}
.promise-section{background:linear-gradient(180deg,#f4f9fa,#fff)}
.promise-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:17px}
.promise-grid article{min-height:300px;padding:30px 26px;border:1px solid #d8e7e9;border-radius:12px 48px 12px 12px;background:#fff;display:flex;flex-direction:column;transition:transform .25s,box-shadow .25s,border-color .25s}
.promise-grid article:hover{transform:translateY(-5px);box-shadow:0 18px 34px rgba(0,79,94,.08);border-color:#b8d9de}
.promise-grid article>span{font-size:12px;color:var(--orange);letter-spacing:.12em}
.promise-grid h3{font-size:20px;line-height:1.35;color:var(--deep);margin:34px 0 13px}
.promise-grid p{font-size:13px;line-height:1.7;color:var(--muted);margin:0 0 22px}
.promise-grid a{margin-top:auto;font-size:12px;font-weight:600;color:var(--teal)}
.mission-grid{grid-template-columns:1.12fr .88fr}
.mission-grid h2{color:#fff}
.mission-label,.brief-label{font-size:12px;text-transform:uppercase;letter-spacing:.16em;color:#a9d7dd;margin:0 0 18px}
.mission-statement{border-left:1px solid rgba(255,255,255,.24);padding:25px 0 25px 46px}
.mission-statement p{font-size:17px;line-height:1.75;color:#d2e6e9;margin:0 0 28px}
.mission-statement span{font-size:13px;color:var(--orange);font-weight:600}
.commitment-grid{align-items:start}
.commitment-list{margin-top:32px;border-top:1px solid #dbe7e9}
.commitment-list>div{display:grid;grid-template-columns:48px 1fr;gap:10px;padding:20px 0;border-bottom:1px solid #dbe7e9}
.commitment-list b{font-size:12px;color:var(--orange)}
.commitment-list strong,.commitment-list small{display:block}
.commitment-list strong{font-size:14px;color:var(--deep);margin-bottom:5px}
.commitment-list small{font-size:12px;line-height:1.55;color:var(--muted)}
.commitment-photo{height:650px}
.commitment-photo>div{position:absolute;z-index:2;right:-18px;bottom:25px;padding:24px 28px;background:var(--deep);color:#fff;border-radius:34px 10px 34px 10px;box-shadow:0 18px 34px rgba(0,45,53,.16)}
.commitment-photo>div span,.commitment-photo>div strong{display:block}
.commitment-photo>div span{font-size:12px;color:#a9d7dd;text-transform:uppercase;letter-spacing:.12em;margin-bottom:8px}
.commitment-photo>div strong{font-size:21px;line-height:1.35}
.license-section{padding:36px 0 102px;background:var(--sand)}
.license-card{display:grid;grid-template-columns:80px 1fr auto;gap:28px;align-items:center;background:#fff;border:1px solid #e2e9e8;border-radius:18px 56px 18px 18px;padding:34px 40px;box-shadow:0 15px 35px rgba(0,65,77,.06)}
.license-icon{width:62px;height:62px;border-radius:50%;display:grid;place-items:center;background:var(--teal);color:#fff;font-size:25px}
.license-card small{font-size:12px;color:var(--teal);text-transform:uppercase;letter-spacing:.12em}
.license-card h2{font-size:25px!important;margin:4px 0 5px}
.license-card p{font-size:12px;color:var(--muted);margin:0;max-width:650px}

/* Voyage sur mesure */
.custom-hero .inner-hero-media{background-position:center 62%!important}
.custom-intro-actions{display:flex;align-items:center;gap:24px;margin-top:28px}
.custom-intro-actions .text-link{margin:0}
.custom-intro-photo>div{position:absolute;z-index:2;left:-26px;bottom:26px;background:rgba(255,255,255,.96);border-radius:12px 40px 12px 12px;padding:20px 24px;box-shadow:0 16px 34px rgba(0,53,63,.14)}
.custom-intro-photo small,.custom-intro-photo strong{display:block}
.custom-intro-photo small{font-size:12px;color:var(--teal);text-transform:uppercase;letter-spacing:.12em}
.custom-intro-photo strong{font-size:20px;color:var(--deep);line-height:1.35;margin-top:6px}
.process-section .content-heading h2{color:#fff}
.process-section .content-heading h2:before{display:none}
.process-section .content-heading p{color:#c7dfe3}
.process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:48px}
.process-grid article{min-height:244px;padding:28px 25px;border:1px solid rgba(255,255,255,.18);border-radius:12px 46px 12px 12px;background:rgba(255,255,255,.04)}
.process-grid span{font-size:12px;color:var(--orange)}
.process-grid h3{font-size:18px;margin:38px 0 12px}
.process-grid p{font-size:12px;line-height:1.7;color:#c9dfe3;margin:0}
.inspiration-builder{background:var(--sand)}
.builder-grid{max-width:1030px;background:#fff;border:1px solid #e1e9e8;border-radius:24px 72px 24px 24px;padding:45px 48px;box-shadow:0 18px 44px rgba(0,67,79,.07)}
.builder-group{border:0;padding:0;margin:0 0 36px}
.builder-group:last-child{margin-bottom:0}
.builder-group legend{width:100%;font-size:15px;font-weight:600;color:var(--deep);padding:0 0 15px;border-bottom:1px solid #dce7e9;margin-bottom:18px}
.choice-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:11px}
.choice-grid label{cursor:pointer}
.choice-grid input{position:absolute;opacity:0;pointer-events:none}
.choice-grid span{display:flex;align-items:center;justify-content:center;min-height:52px;padding:12px;text-align:center;border:1px solid #d5e4e6;border-radius:10px 25px 10px 10px;background:#fff;color:var(--deep);font-size:12px;transition:.2s}
.choice-grid input:focus-visible+span{outline:3px solid rgba(0,141,174,.23);outline-offset:2px}
.choice-grid input:checked+span{background:var(--teal);border-color:var(--teal);color:#fff;box-shadow:0 8px 18px rgba(0,141,174,.17)}
.choice-grid label:hover span{border-color:var(--orange);transform:translateY(-2px)}
.custom-possibilities{background:#fff}
.possibilities-grid{grid-template-columns:.88fr 1.12fr}
.possibilities-photo{height:650px;background:var(--pale);border-radius:96px 18px 96px 18px;display:grid;place-items:center;overflow:hidden}
.possibilities-photo img{width:100%;height:100%;object-fit:contain;padding:12px}
.possibility-list{margin-top:32px;border-top:1px solid #dbe7e9}
.possibility-list>div{display:grid;grid-template-columns:50px 1fr;gap:10px;padding:19px 0;border-bottom:1px solid #dbe7e9}
.possibility-list span{font-size:12px;color:var(--orange)}
.possibility-list p{font-size:12px!important;line-height:1.6!important;margin:0}
.possibility-list strong{display:block;font-size:14px;color:var(--deep);margin-bottom:4px}
.brief-preview{background:var(--sand)}
.brief-card{display:grid;grid-template-columns:1fr 1fr;gap:70px;background:#fff;border-radius:22px 68px 22px 22px;padding:56px 62px;box-shadow:0 20px 48px rgba(0,66,78,.07)}
.brief-card h2{font-size:clamp(36px,3.6vw,50px)!important}
.brief-card>div>p:not(.brief-label){font-size:13px;line-height:1.75;color:var(--muted)}
.brief-checklist{display:grid;grid-template-columns:1fr 1fr;gap:11px}
.brief-checklist>span{position:relative;padding:12px 12px 12px 35px;border:1px solid #dce7e9;border-radius:9px;font-size:12px;color:var(--deep)}
.brief-checklist>span:before{content:"✓";position:absolute;left:13px;color:var(--teal);font-weight:600}
.brief-checklist .btn{grid-column:1/-1;margin-top:9px}
.brief-checklist small{grid-column:1/-1;font-size:12px;line-height:1.5;color:var(--muted);text-align:center}

@media(max-width:1100px){
  .content-intro-grid,.feature-split,.culture-grid,.rufous-story-grid,.commitment-grid,.custom-intro-grid,.possibilities-grid{gap:54px}
  .promise-grid,.process-grid{grid-template-columns:1fr 1fr}
  .passion-links{grid-template-columns:repeat(3,1fr)}
}

/* Seuil de lisibilité commun aux nouvelles pages éditoriales. */
@media(min-width:1001px){
  .page-content .topbar,.page-content .btn-small,.page-content .mega-trigger,
  .page-content .mega-col h4,.page-content .mega-col a small,.page-content .mega-col a .spec,
  .page-content .mega-feature .spec-badge,.page-content .mega-feature p,
  .page-content .footer-brand p,.page-content .footer-col h4,.page-content .footer-col a,
  .page-content .footer-news input,.page-content .footer-news button,.page-content .footer-bottom,
  .page-content .footer-credit a{font-size:12px}
}

@media(max-width:1000px){
  .page-content .content-hero .inner-hero-content{padding-top:44px}
  .content-intro-grid,.feature-split,.culture-grid,.rufous-story-grid,.commitment-grid,.custom-intro-grid,.possibilities-grid,.mission-grid,.brief-card{grid-template-columns:1fr;gap:42px}
  .content-intro-grid{align-items:start}
  .content-heading{display:block}
  .content-heading>p{margin-top:18px}
  .feature-photo,.culture-photo,.custom-intro-photo{height:460px}
  .feature-copy{order:-1}
  .landscape-grid{grid-template-columns:1fr 1fr;grid-template-rows:400px 260px 300px}
  .landscape-large{grid-column:span 2;grid-row:auto}
  .landscape-wide{grid-column:span 2}
  .culture-photo{order:-1}
  .rufous-symbol{height:480px}
  .mission-statement{padding-left:0;padding-top:28px;border-left:0;border-top:1px solid rgba(255,255,255,.24)}
  .commitment-photo{height:560px}
  .license-card{grid-template-columns:70px 1fr}
  .license-card .btn{grid-column:1/-1;justify-self:start}
  .possibilities-photo{height:580px}
  .brief-card{padding:48px}
}

@media(max-width:700px){
  .page-content .content-hero{height:280px;min-height:280px}
  .page-content .content-hero .inner-hero-content{padding-top:34px}
  .page-content .content-hero h1{font-size:clamp(32px,9.5vw,42px)}
  .page-content .content-hero p{font-size:13px;line-height:1.5;margin-top:12px}
  .page-content .section h2{font-size:clamp(30px,8.5vw,38px)}
  .content-intro-grid h2:before,.content-heading h2:before,.culture-copy h2:before,.rufous-story-copy h2:before,.commitment-copy h2:before,.custom-intro-grid h2:before,.possibilities-copy h2:before{left:-12px;right:-16px;height:78%}
  .content-lead{font-size:17px!important}
  .content-feature-blue,.process-section,.mission-section{padding:112px 0 118px}
  .feature-photo,.culture-photo,.custom-intro-photo{height:360px}
  .feature-list{grid-template-columns:1fr}
  .landscape-grid{grid-template-columns:1fr;grid-template-rows:none}
  .landscape-card,.landscape-large,.landscape-wide{grid-column:auto;height:270px;border-radius:14px 46px 14px 14px}
  .landscape-large{height:380px}
  .culture-points{gap:8px}
  .passion-links{grid-template-columns:1fr 1fr}
  .passion-links a{min-height:108px;padding:18px 16px;font-size:12px}
  .rufous-symbol{height:390px;border-radius:70px 14px 70px 14px}
  .rufous-symbol:before{width:260px;height:260px}
  .promise-grid,.process-grid{grid-template-columns:1fr}
  .promise-grid article,.process-grid article{min-height:auto}
  .commitment-photo{height:460px}
  .commitment-photo>div{right:-4px;left:24px}
  .license-section{padding:24px 0 72px}
  .license-card{grid-template-columns:1fr;padding:28px 24px}
  .license-card .btn{grid-column:auto;width:100%}
  .custom-intro-actions{align-items:flex-start;flex-direction:column}
  .custom-intro-photo>div{left:14px;right:14px;bottom:14px}
  .builder-grid{padding:30px 20px;border-radius:18px 46px 18px 18px}
  .choice-grid,.choice-grid-three{grid-template-columns:1fr 1fr}
  .possibilities-photo{height:500px;border-radius:68px 14px 68px 14px}
  .brief-card{padding:34px 22px;gap:34px;border-radius:16px 46px 16px 16px}
  .brief-checklist{grid-template-columns:1fr}
  .brief-checklist .btn,.brief-checklist small{grid-column:auto}
}

@media(max-width:420px){
  .passion-links,.choice-grid,.choice-grid-three{grid-template-columns:1fr}
  .feature-photo,.culture-photo,.custom-intro-photo{height:315px}
  .possibilities-photo{height:430px}
}

/* ==========================================================================
   Lot 2 — Carnet de voyage, article, contact et devis
   ========================================================================== */

/* Carnet de voyage — listing */
.journal-feature{padding-top:88px;padding-bottom:100px}
.journal-feature-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:82px;align-items:center}
.journal-feature-photo{position:relative;height:510px;display:block}
.journal-feature-photo:before{content:"";position:absolute;inset:-16px 20px 20px -16px;border:2px solid var(--orange);border-radius:18px 92px 18px 92px}
.journal-feature-photo img{position:relative;width:100%;height:100%;object-fit:cover;border-radius:18px 92px 18px 92px}
.journal-feature-photo>span{position:absolute;right:22px;top:22px;padding:9px 14px;border-radius:999px;background:#fff;color:var(--deep);font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.08em}
.journal-meta{font-size:12px!important;color:var(--teal)!important;text-transform:uppercase;letter-spacing:.12em;margin:0 0 15px!important}
.journal-feature-copy h2,.journal-index-head h2,.contact-intro h2,.contact-form-copy h2,.contact-reassurance h2{position:relative;z-index:0;display:inline-block;isolation:isolate}
.journal-feature-copy h2:before,.journal-index-head h2:before,.contact-intro h2:before,.contact-reassurance h2:before{content:"";position:absolute;z-index:-1;left:-24px;right:-36px;top:49%;height:88%;transform:translateY(-50%) rotate(-2deg);background:url('assets/bg-titre-hd.png') center/100% 100% no-repeat}
.journal-feature-copy>p:not(.journal-meta){font-size:14px;line-height:1.78;color:var(--muted)}
.journal-index{background:var(--pale);padding-top:94px;padding-bottom:108px}
.journal-index-head{display:grid;grid-template-columns:.82fr 1.18fr;gap:70px;align-items:end;margin-bottom:45px}
.journal-categories{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:9px}
.journal-categories a{font-size:12px;padding:10px 14px;border:1px solid #d5e5e7;border-radius:999px;background:#fff;color:var(--deep);transition:.22s}
.journal-categories a:hover,.journal-categories a.active{background:var(--teal);border-color:var(--teal);color:#fff}
.journal-list-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px 20px}
.journal-list-card{background:#fff;border:1px solid #dbe7e9;border-radius:16px 54px 16px 16px;overflow:hidden;transition:transform .28s ease,box-shadow .28s ease}
.journal-list-card:hover{transform:translateY(-6px);box-shadow:0 20px 40px rgba(0,69,81,.1)}
.journal-list-image{position:relative;display:block;height:245px;overflow:hidden}
.journal-list-image:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(3,35,41,.32))}
.journal-list-image img{width:100%;height:100%;object-fit:cover;transition:transform .45s ease}
.journal-list-card:hover .journal-list-image img{transform:scale(1.045)}
.journal-list-image span{position:absolute;z-index:2;left:18px;bottom:16px;padding:7px 11px;border-radius:999px;background:rgba(255,255,255,.94);font-size:12px;font-weight:600;color:var(--teal)}
.journal-list-card>div:last-child{padding:24px 23px 27px}
.journal-list-card h3{font-size:21px;line-height:1.32;color:var(--deep);margin:8px 0 12px}
.journal-list-card>div>p:not(.journal-meta){font-size:12px;line-height:1.7;color:var(--muted);min-height:62px;margin:0 0 18px}
.journal-read,.journal-soon{font-size:12px;font-weight:600;color:var(--teal)}
.journal-read{display:inline-flex;gap:12px;align-items:center}
.journal-read span{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:var(--pale)}
.journal-soon{color:#87999d}
.journal-promo{background:#fff}
.journal-promo-card{position:relative;overflow:hidden;display:flex;align-items:center;justify-content:space-between;gap:80px;background:var(--deep);color:#fff;border-radius:18px 72px 18px 72px;padding:52px 58px}
.journal-promo-card:after{content:"";position:absolute;width:300px;height:300px;border:1px solid rgba(255,154,0,.35);border-radius:50%;right:-90px;top:-150px}
.journal-promo-card>div{position:relative;z-index:1}
.journal-promo-card small{font-size:12px;color:#9fd3da;text-transform:uppercase;letter-spacing:.13em}
.journal-promo-card h2{font-size:clamp(34px,3.4vw,48px)!important;margin:12px 0}
.journal-promo-card p{font-size:13px;line-height:1.7;color:#c7dfe2;max-width:650px;margin:0}
.journal-promo-card>div:last-child{display:flex;align-items:center;gap:22px;min-width:max-content}
.journal-promo-card .text-link{color:#fff;margin:0}

/* Article */
.article-hero{min-height:40vh;position:relative;overflow:hidden;color:#fff;background:var(--deep)}
.article-hero-media{position:absolute;inset:0;background:url('assets/hero-baobabs.png') center 56%/cover no-repeat}
.article-hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,38,44,.9),rgba(4,38,44,.56) 55%,rgba(4,38,44,.15))}
.article-hero-content{position:relative;z-index:2;padding-top:22px}
.article-category{display:inline-flex;padding:7px 11px;border:1px solid rgba(255,255,255,.35);border-radius:999px;font-size:12px;text-transform:uppercase;letter-spacing:.12em;margin-bottom:12px}
.article-hero h1{font-size:clamp(40px,3.8vw,54px);line-height:1.02;letter-spacing:-.045em;margin:0;font-weight:600}
.article-hero h1 em{font-style:normal;color:var(--orange)}
.article-hero-content>p{font-size:13px;line-height:1.5;color:#e4eeee;max-width:640px;margin:9px 0 7px}
.article-byline{display:flex;gap:22px;color:#c1d9dd;font-size:12px}
.article-byline span+span{position:relative;padding-left:20px}
.article-byline span+span:before{content:"";position:absolute;left:0;top:50%;width:4px;height:4px;border-radius:50%;background:var(--orange)}
.article-hero-wave{height:82px}
.article-section{padding:92px 0 105px}
.article-layout{display:grid;grid-template-columns:270px minmax(0,790px);gap:90px;justify-content:center;align-items:start}
.article-aside{position:sticky;top:112px}
.article-toc{border-left:1px solid #cfdee1;padding-left:22px}
.article-toc>small{display:block;color:var(--teal);font-size:12px;text-transform:uppercase;letter-spacing:.12em;margin-bottom:13px}
.article-toc a{display:block;font-size:12px;color:var(--muted);padding:9px 0;transition:.2s}
.article-toc a:hover,.article-toc a.active{color:var(--deep);font-weight:600;padding-left:7px}
.article-help{margin-top:28px;padding:23px;background:var(--pale);border-radius:10px 38px 10px 10px}
.article-help strong{display:block;font-size:14px;color:var(--deep)}
.article-help p{font-size:12px;line-height:1.6;color:var(--muted)}
.article-help a{font-size:12px;font-weight:600;color:var(--teal)}
.article-content{min-width:0}
.article-lead{font-size:21px!important;line-height:1.72!important;color:var(--deep)!important;margin:0 0 32px!important}
.article-content>p{font-size:15px;line-height:1.85;color:#536a70;margin:0 0 26px}
.article-content>h2{font-size:clamp(34px,3.4vw,48px)!important;line-height:1.08;margin:68px 0 22px}
.article-summary{border-left:4px solid var(--orange);background:var(--pale);padding:24px 28px;margin:30px 0 45px;border-radius:0 30px 8px 0}
.article-summary span{display:block;font-size:12px;color:var(--teal);text-transform:uppercase;letter-spacing:.13em;margin-bottom:8px}
.article-summary p{font-size:14px;line-height:1.72;margin:0;color:var(--deep)}
.season-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px;margin:28px 0 40px}
.season-grid section{border:1px solid #d8e6e8;border-radius:14px 48px 14px 14px;padding:29px 27px}
.season-grid section:first-child{border-top:4px solid var(--orange)}
.season-grid section:last-child{border-top:4px solid var(--teal)}
.season-grid span{font-size:12px;color:var(--teal);text-transform:uppercase;letter-spacing:.1em}
.season-grid h3{font-size:21px;color:var(--deep);margin:10px 0 12px}
.season-grid p,.season-grid li{font-size:12px;line-height:1.65;color:var(--muted)}
.season-grid ul{padding-left:18px;margin:18px 0 0}
.season-grid li{margin:8px 0}
.article-image{margin:48px 0}
.article-image img{width:100%;height:430px;object-fit:cover;border-radius:15px 64px 15px 15px}
.article-image figcaption{font-size:12px;color:#7b8e92;margin-top:10px}
.experience-calendar{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid #d9e5e7;margin:30px 0 48px}
.experience-calendar>div{padding:24px 24px 24px 0;border-bottom:1px solid #d9e5e7}
.experience-calendar>div:nth-child(even){padding-left:24px;border-left:1px solid #d9e5e7}
.experience-calendar span,.experience-calendar strong{display:block}
.experience-calendar span{font-size:12px;color:var(--orange);text-transform:uppercase;letter-spacing:.1em}
.experience-calendar strong{font-size:16px;color:var(--deep);margin:7px 0}
.experience-calendar p{font-size:12px;line-height:1.65;color:var(--muted);margin:0}
.article-content blockquote{position:relative;margin:48px 0;padding:37px 42px;background:var(--deep);color:#fff;border-radius:16px 54px 16px 16px;font-size:21px;line-height:1.6}
.article-content blockquote:before{content:"“";position:absolute;right:24px;top:4px;font:90px/1 Georgia,serif;color:rgba(255,154,0,.26)}
.region-advice{border-top:1px solid #d9e5e7;margin:25px 0 45px}
.region-advice>div{display:grid;grid-template-columns:165px 1fr;gap:25px;padding:18px 0;border-bottom:1px solid #d9e5e7}
.region-advice span{font-size:13px;font-weight:600;color:var(--deep)}
.region-advice p{font-size:12px;line-height:1.65;color:var(--muted);margin:0}
.article-cta{display:flex;align-items:center;justify-content:space-between;gap:35px;padding:30px 34px;background:var(--sand);border-radius:12px 42px 12px 12px;margin:35px 0}
.article-cta small,.article-cta strong{display:block}
.article-cta small{font-size:12px;color:var(--teal);text-transform:uppercase;letter-spacing:.1em}
.article-cta strong{font-size:17px;color:var(--deep);margin-top:6px}
.article-footer{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #d9e5e7;padding-top:25px;margin-top:55px}
.article-tags{display:flex;gap:8px}
.article-tags span{font-size:12px;padding:7px 11px;border-radius:999px;background:var(--pale);color:var(--teal)}
.article-footer>a{font-size:12px;font-weight:600;color:var(--teal)}
.related-journal{background:var(--pale)}
.related-journal .content-heading{align-items:center}
.related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.related-grid article{background:#fff;border-radius:14px 48px 14px 14px;overflow:hidden;padding-bottom:24px}
.related-grid img{width:100%;height:220px;object-fit:cover}
.related-grid small,.related-grid h3,.related-grid a,.related-grid span{display:block;margin-left:22px;margin-right:22px}
.related-grid small{font-size:12px;color:var(--teal);text-transform:uppercase;letter-spacing:.1em;margin-top:20px}
.related-grid h3{font-size:19px;line-height:1.35;color:var(--deep);margin-top:9px;margin-bottom:17px}
.related-grid a,.related-grid span{font-size:12px;font-weight:600;color:var(--teal)}
.related-grid span{color:#87999d}

/* Formulaires communs */
.prototype-form label,.quote-form label{display:block;font-size:12px;font-weight:600;color:var(--deep)}
.prototype-form label>span,.quote-form label>span{color:var(--orange)}
.prototype-form input,.prototype-form select,.prototype-form textarea,.quote-form input,.quote-form select,.quote-form textarea{width:100%;font:inherit;font-size:13px;color:var(--deep);background:#fff;border:1px solid #cfdfe2;border-radius:9px;padding:14px 15px;margin-top:8px;outline:0;transition:border-color .2s,box-shadow .2s}
.prototype-form textarea,.quote-form textarea{resize:vertical;min-height:110px}
.prototype-form input:focus,.prototype-form select:focus,.prototype-form textarea:focus,.quote-form input:focus,.quote-form select:focus,.quote-form textarea:focus{border-color:var(--teal);box-shadow:0 0 0 3px rgba(0,141,174,.12)}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:20px}
.form-row-three{grid-template-columns:1fr 1fr 1fr}
.form-consent{display:flex!important;align-items:flex-start;gap:11px;font-weight:400!important;line-height:1.55;color:var(--muted)!important;margin:20px 0}
.form-consent input{width:18px!important;height:18px;margin:2px 0 0!important;flex:0 0 auto;accent-color:var(--teal)}
.form-consent>span{color:var(--muted)!important}
.form-success{display:none;margin-top:20px;padding:18px 20px;border-left:4px solid var(--teal);background:#e8f5f3;border-radius:0 22px 8px 0}
.form-success.show{display:block}
.form-success strong,.form-success span{display:block}
.form-success strong{font-size:14px;color:var(--deep)}
.form-success span{font-size:12px;color:var(--muted);margin-top:4px}

/* Contact */
.contact-intro{padding-top:90px}
.contact-intro-grid{display:grid;grid-template-columns:.82fr 1.18fr;gap:90px;align-items:start}
.contact-intro-grid>div:first-child>p{font-size:17px!important}
.contact-methods{display:grid;gap:12px}
.contact-methods a{display:grid;grid-template-columns:42px 105px 1fr 38px;gap:14px;align-items:center;border-bottom:1px solid #d8e5e7;padding:17px 0;transition:padding-left .2s,color .2s}
.contact-methods a:hover{padding-left:10px;color:var(--teal)}
.contact-methods a>span{font-size:12px;color:var(--orange)}
.contact-methods small{font-size:12px;color:var(--muted)}
.contact-methods strong{font-size:14px;color:var(--deep);overflow-wrap:anywhere}
.contact-methods i{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:var(--pale);color:var(--teal);font-style:normal}
.contact-main{position:relative;overflow:hidden;background:var(--deep);color:#fff;padding:150px 0 155px}
.contact-main>.container{position:relative;z-index:2}
.contact-layout{display:grid;grid-template-columns:.72fr 1.28fr;gap:85px;align-items:start}
.contact-form-copy{padding-top:24px}
.contact-form-copy>small{font-size:12px;color:#a9d7dd;text-transform:uppercase;letter-spacing:.14em}
.contact-form-copy h2{color:#fff;margin-top:16px}
.contact-form-copy>p{font-size:13px;line-height:1.75;color:#c5dde1}
.contact-route{margin-top:34px;padding:23px 0;border-top:1px solid rgba(255,255,255,.18);border-bottom:1px solid rgba(255,255,255,.18)}
.contact-route strong,.contact-route a{display:block}
.contact-route strong{font-size:13px;margin-bottom:9px}
.contact-route a{font-size:12px;color:var(--orange)}
.contact-form{background:#fff;color:var(--deep);border-radius:18px 64px 18px 18px;padding:42px 44px;box-shadow:0 25px 55px rgba(0,26,31,.2)}
.contact-form>.btn{margin-top:5px}
.contact-reassurance{background:#fff}
.contact-reassurance-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:85px;align-items:center}
.contact-reassurance-photo{height:590px;background:var(--pale);border-radius:90px 16px 90px 16px;display:grid;place-items:center;overflow:hidden}
.contact-reassurance-photo img{width:100%;height:100%;object-fit:contain;padding:18px}
.contact-reassurance-list{border-top:1px solid #d8e5e7;margin-top:30px}
.contact-reassurance-list>div{display:grid;grid-template-columns:50px 1fr;gap:10px;padding:20px 0;border-bottom:1px solid #d8e5e7}
.contact-reassurance-list span{font-size:12px;color:var(--orange)}
.contact-reassurance-list p{font-size:12px;line-height:1.65;color:var(--muted);margin:0}
.contact-reassurance-list strong{display:block;font-size:14px;color:var(--deep);margin-bottom:5px}

/* Devis multi-étapes */
.quote-hero .inner-hero-media{background-position:center 58%}
.quote-intro{position:relative;z-index:4;margin-top:-14px}
.quote-intro-grid{display:grid;grid-template-columns:repeat(3,1fr);background:#fff;border:1px solid #e0eaeb;border-radius:16px;box-shadow:0 16px 38px rgba(0,64,75,.09);padding:24px 26px}
.quote-intro-grid>div{padding:0 24px;border-right:1px solid #dce7e9}
.quote-intro-grid>div:last-child{border:0}
.quote-intro-grid strong,.quote-intro-grid span{display:block}
.quote-intro-grid strong{font-size:13px;color:var(--deep);margin-bottom:5px}
.quote-intro-grid span{font-size:12px;line-height:1.5;color:var(--muted)}
.quote-section{background:linear-gradient(180deg,#fff 0,#f2f7f8 100%);padding-top:88px}
.quote-layout{display:grid;grid-template-columns:285px minmax(0,850px);gap:65px;justify-content:center;align-items:start}
.quote-aside{position:sticky;top:108px}
.quote-aside-inner{background:var(--deep);color:#fff;border-radius:14px 54px 14px 14px;padding:29px 26px}
.quote-aside-inner>small{font-size:12px;color:#a7d5db;text-transform:uppercase;letter-spacing:.12em}
.quote-progress{display:flex;align-items:center;gap:14px;margin:20px 0 25px}
.quote-progress>i{position:relative;width:48px;height:48px;border:4px solid rgba(255,255,255,.17);border-radius:50%;display:grid;place-items:center;font-style:normal}
.quote-progress>i:after{content:"";width:8px;height:8px;border-radius:50%;background:var(--orange)}
.quote-progress strong,.quote-progress small{display:block}
.quote-progress strong{font-size:13px}.quote-progress strong em{font-style:normal;color:var(--orange)}
.quote-progress small{font-size:12px;color:#a8cdd2;margin-top:3px}
.quote-step-nav{border-top:1px solid rgba(255,255,255,.14)}
.quote-step-nav button{width:100%;display:grid;grid-template-columns:34px 1fr;gap:9px;text-align:left;background:none;color:#a9c7cc;border:0;border-bottom:1px solid rgba(255,255,255,.14);padding:13px 0;font:inherit;font-size:12px;cursor:pointer;transition:.2s}
.quote-step-nav button b{color:#6e9ca4;font-size:12px}.quote-step-nav button.active,.quote-step-nav button:hover{color:#fff;padding-left:7px}.quote-step-nav button.active b{color:var(--orange)}
.quote-aside-help{margin-top:23px}.quote-aside-help strong,.quote-aside-help a{display:block}.quote-aside-help strong{font-size:13px}.quote-aside-help a{font-size:12px;color:var(--orange);margin-top:6px}
.quote-form{background:#fff;border:1px solid #dbe7e9;border-radius:18px 70px 18px 18px;padding:48px 54px;box-shadow:0 22px 50px rgba(0,70,82,.08);min-height:680px}
.quote-selected-circuit{display:flex;align-items:center;gap:15px;background:var(--sand);border-left:4px solid var(--orange);padding:14px 16px;margin-bottom:28px;border-radius:0 22px 8px 0}
.quote-selected-circuit[hidden]{display:none}
.quote-selected-circuit span{font-size:12px;color:var(--muted)}.quote-selected-circuit strong{font-size:13px;color:var(--deep);margin-right:auto}.quote-selected-circuit button{width:28px;height:28px;border:0;border-radius:50%;background:#fff;color:var(--deep);cursor:pointer}
.quote-step{display:none;border:0;padding:0;margin:0;min-width:0}.quote-step.active{display:block;animation:quoteFade .32s ease}@keyframes quoteFade{from{opacity:0;transform:translateY(9px)}to{opacity:1;transform:none}}
.quote-step legend{width:100%;padding:0;margin:0 0 12px}.quote-step legend>span{display:block;font-size:12px;color:var(--orange);letter-spacing:.12em}.quote-step legend>small{display:block;font-size:12px;color:var(--teal);text-transform:uppercase;letter-spacing:.12em;margin:7px 0}.quote-step legend>strong{display:block;font-size:clamp(30px,3vw,42px);line-height:1.15;color:var(--deep)}
.quote-step>p{font-size:13px;line-height:1.7;color:var(--muted);margin:0 0 30px}
.form-subtitle{font-size:13px;font-weight:600;color:var(--deep);padding-bottom:11px;border-bottom:1px solid #dbe7e9;margin:28px 0 17px}
.number-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.number-grid-four{grid-template-columns:repeat(4,1fr)}
.form-choice-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.form-choice-grid-small{grid-template-columns:repeat(3,1fr)}
.form-choice-grid label,.comfort-choice label,.inline-choice label{cursor:pointer}.form-choice-grid input,.comfort-choice input,.inline-choice input{position:absolute;opacity:0;pointer-events:none}
.form-choice-grid label>span{display:flex;align-items:center;justify-content:center;min-height:56px;padding:11px;border:1px solid #d5e3e5;border-radius:10px 25px 10px 10px;text-align:center;font-size:12px;font-weight:500;color:var(--deep);transition:.2s}
.form-choice-grid label:hover>span{border-color:var(--orange);transform:translateY(-2px)}.form-choice-grid input:checked+span{background:var(--teal);border-color:var(--teal);color:#fff;box-shadow:0 8px 18px rgba(0,141,174,.16)}
.comfort-choice{display:grid;grid-template-columns:repeat(3,1fr);gap:11px}.comfort-choice label>span{min-height:145px;display:flex;flex-direction:column;padding:19px;border:1px solid #d5e3e5;border-radius:11px 35px 11px 11px;transition:.2s}.comfort-choice b{font-size:12px;color:var(--orange);margin-bottom:22px}.comfort-choice strong{font-size:14px;color:var(--deep);margin-bottom:7px}.comfort-choice small{font-size:12px;line-height:1.5;color:var(--muted)}.comfort-choice input:checked+span{background:var(--deep);border-color:var(--deep)}.comfort-choice input:checked+span strong{color:#fff}.comfort-choice input:checked+span small{color:#bfd6da}
.inline-choice{display:flex;gap:10px}.inline-choice label>span{display:block;padding:12px 17px;border:1px solid #d5e3e5;border-radius:999px;font-size:12px;font-weight:500}.inline-choice input:checked+span{background:var(--teal);border-color:var(--teal);color:#fff}
.quote-actions{display:flex;align-items:center;justify-content:space-between;gap:14px;border-top:1px solid #dbe7e9;padding-top:24px;margin-top:34px}.btn-light{background:var(--pale);color:var(--deep);border:1px solid #d6e4e6;box-shadow:none}.btn-light:hover{background:#e3f0f2}
.quote-review{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:26px 0}.quote-review>div{padding:18px;background:var(--pale);border-radius:9px 27px 9px 9px}.quote-review span,.quote-review strong{display:block}.quote-review span{font-size:12px;color:var(--teal);text-transform:uppercase;letter-spacing:.08em}.quote-review strong{font-size:13px;line-height:1.5;color:var(--deep);margin-top:7px}.quote-privacy{font-size:12px!important;margin:14px 0!important}.quote-success a{display:inline-block;font-size:12px;font-weight:600;color:var(--teal);margin-top:9px}

@media(max-width:1100px){
  .journal-feature-grid,.contact-intro-grid,.contact-reassurance-grid{gap:52px}
  .journal-list-grid{grid-template-columns:1fr 1fr}
  .article-layout{grid-template-columns:230px minmax(0,1fr);gap:50px}
  .contact-layout{grid-template-columns:.8fr 1.2fr;gap:50px}
  .quote-layout{grid-template-columns:250px minmax(0,1fr);gap:38px}
  .quote-form{padding:42px 38px}
}

@media(max-width:1000px){
  .journal-feature-grid,.journal-index-head,.contact-intro-grid,.contact-layout,.contact-reassurance-grid,.quote-layout{grid-template-columns:1fr}
  .journal-feature-photo{height:460px}.journal-feature-copy{order:-1}
  .journal-categories{justify-content:flex-start}
  .journal-promo-card{align-items:flex-start;flex-direction:column;gap:30px}
  .article-layout{grid-template-columns:1fr;gap:35px}.article-aside{position:static}.article-toc{display:none}.article-help{margin-top:0}
  .contact-main{padding:120px 0 125px}.contact-form-copy{padding-top:0}.contact-form{padding:40px}
  .contact-reassurance-photo{height:520px}
  .quote-aside{position:static}.quote-aside-inner{padding:24px}.quote-step-nav{display:grid;grid-template-columns:repeat(3,1fr);margin-top:18px}.quote-step-nav button{border-right:1px solid rgba(255,255,255,.14);padding:11px}.quote-aside-help{display:none}
  .quote-form{min-height:0}
}

@media(max-width:700px){
  .journal-feature{padding-top:62px}.journal-feature-photo{height:340px}.journal-feature-photo:before{inset:-9px 11px 11px -9px;border-radius:14px 52px 14px 52px}.journal-feature-photo img{border-radius:14px 52px 14px 52px}
  .journal-list-grid{grid-template-columns:1fr}.journal-list-image{height:230px}.journal-list-card>div>p:not(.journal-meta){min-height:0}
  .journal-promo-card{padding:36px 25px;border-radius:14px 48px 14px 48px}.journal-promo-card>div:last-child{align-items:flex-start;flex-direction:column;min-width:0}
  .article-hero{height:300px}.article-hero-content{padding-top:24px}.article-hero h1{font-size:clamp(31px,9vw,40px)}.article-hero-content>p{font-size:12px;line-height:1.45;margin:10px 0 8px}.article-byline{flex-wrap:wrap;gap:4px 12px}.article-byline span+span{padding-left:10px}.article-hero-wave{height:58px}
  .article-section{padding:62px 0 75px}.article-lead{font-size:18px!important}.article-content>p{font-size:14px}.article-content>h2{font-size:clamp(30px,8.5vw,38px)!important;margin-top:52px}.season-grid,.experience-calendar{grid-template-columns:1fr}.experience-calendar>div:nth-child(even){padding-left:0;border-left:0}.article-image img{height:280px}.article-content blockquote{padding:28px 24px;font-size:17px}.region-advice>div{grid-template-columns:1fr;gap:5px}.article-cta,.article-footer{align-items:flex-start;flex-direction:column}.related-grid{grid-template-columns:1fr}.related-grid img{height:210px}
  .form-row,.form-row-three{grid-template-columns:1fr}.contact-methods a{grid-template-columns:32px 1fr 35px}.contact-methods small{display:none}.contact-methods strong{font-size:12px}.contact-main{padding:108px 0 112px}.contact-form{padding:30px 20px;border-radius:15px 46px 15px 15px}.contact-reassurance-photo{height:430px}
  .quote-intro{margin-top:0}.quote-intro-grid{grid-template-columns:1fr;padding:16px 20px}.quote-intro-grid>div{border-right:0;border-bottom:1px solid #dce7e9;padding:14px 0}.quote-intro-grid>div:last-child{border-bottom:0}.quote-section{padding-top:58px}.quote-aside-inner{border-radius:12px 38px 12px 12px}.quote-step-nav{grid-template-columns:1fr 1fr}.quote-step-nav button{font-size:12px}.quote-form{padding:30px 20px;border-radius:14px 46px 14px 14px}.number-grid,.number-grid-four,.form-choice-grid,.form-choice-grid-small,.comfort-choice,.quote-review{grid-template-columns:1fr 1fr}.comfort-choice label>span{min-height:132px}.quote-actions{align-items:stretch;flex-direction:column-reverse}.quote-actions .btn{width:100%}.inline-choice{align-items:stretch;flex-direction:column}
}

@media(max-width:440px){
  .number-grid,.number-grid-four,.form-choice-grid,.form-choice-grid-small,.comfort-choice,.quote-review{grid-template-columns:1fr}
  .article-tags{flex-wrap:wrap}
}

/* Révision client D — programme et carte réunis, navigation Témoignages globale */
@media(min-width:1001px){
  .main-nav{gap:18px;font-size:12px}
}
.program-layout{grid-template-columns:minmax(420px,.92fr) minmax(0,1.08fr);gap:54px}
.program-map{position:sticky;top:145px;min-width:0}
.program-map-heading{display:grid;gap:4px;margin:0 0 18px;padding-left:4px}
.program-map-heading span{font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--teal)}
.program-map-heading strong{font-size:24px;line-height:1.25;color:var(--deep)}
.program-map-heading small{font-size:12px;line-height:1.55;color:var(--muted)}
.program-map .route-map{min-height:610px;border-color:#dbe8ea;box-shadow:0 22px 54px rgba(0,70,82,.12)}
.program-map .route-map-island{inset:44px 18px 24px}
.program-map .route-map-island img{height:500px}
.program-map .route-map-card{right:18px;top:22px;width:230px;padding:18px 20px}
.number-grid label>small{display:block;min-height:18px;margin:3px 0 8px;font-size:10px;font-weight:500;line-height:1.35;color:var(--muted)}

@media(max-width:1000px){
  .program-layout{grid-template-columns:1fr;gap:42px}
  .program-map{position:static}
  .program-map .route-map{min-height:620px}
}

@media(max-width:700px){
  .program-map-heading{margin-bottom:14px}
  .program-map-heading strong{font-size:21px}
  .program-map .route-map{min-height:570px}
  .program-map .route-map-island{inset:62px 2px 30px}
  .program-map .route-map-island img{height:420px}
  .program-map .route-map-card{top:auto;right:16px;bottom:16px;left:16px;width:auto}
}
