:root{--earth:#926044;--copper:#B68A65;--sand:#F5F1EB;--ink:#272724;--muted:#6f6d66;--line:#ded8ce;--white:#fff;--serif:Georgia,'Times New Roman',serif;--sans:Arial,Helvetica,sans-serif}*{box-sizing:border-box}html{scroll-behavior:auto;scroll-padding-top:110px}body{margin:0;color:var(--ink);background:#fff;font:16px/1.65 var(--sans);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--copper);outline-offset:5px}img{max-width:100%;display:block}button{cursor:pointer}h1,h2,h3,p{margin-top:0}h1,h2{font-family:var(--serif);font-weight:400;line-height:1.08;letter-spacing:-.035em}h1{font-size:clamp(42px,5.2vw,76px);margin-bottom:28px}h2{font-size:clamp(34px,3.5vw,52px);margin-bottom:24px}h3{font-family:var(--serif);font-weight:400;font-size:26px;line-height:1.18}h1 em,h2 em{font-weight:400;color:var(--earth)}p{margin-bottom:20px}.container{width:min(1220px,calc(100% - 96px));margin-inline:auto}.section{padding-block:92px}.section-topless{padding-top:0}.sand{background:var(--sand)}.eyebrow{font:600 11px/1.5 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--earth);margin-bottom:20px}.eyebrow.light{color:#eee1d3}.button{display:inline-flex;justify-content:center;align-items:center;gap:32px;background:var(--earth);color:#fff;min-height:54px;padding:15px 24px;border:1px solid var(--earth);font-size:14px;font-weight:600;line-height:1.3;}.button:hover{background:#774b33;border-color:#774b33}.button span{font-size:20px}.button-small{min-height:44px;padding:11px 18px;gap:18px;font-size:12px}.button-white{background:#fff;color:var(--earth);border-color:#fff}.button-white:hover{color:#fff}.button:disabled{opacity:.5;cursor:not-allowed;transform:none}.text-link{display:inline-flex;gap:28px;align-items:center;font-size:14px;font-weight:600;border-bottom:1px solid var(--copper);padding-bottom:8px;white-space:nowrap}.text-link span{font-size:24px;color:var(--earth)}.skip-link{position:fixed;z-index:100;top:-100px;left:20px;background:#fff;padding:12px}.skip-link:focus{top:10px}.contact-strip{background:var(--sand);border-bottom:1px solid #ece6dc;font-size:10px;letter-spacing:.05em}.contact-strip .container{display:flex;justify-content:space-between;align-items:center;min-height:33px}.site-header{position:sticky;top:0;z-index:30;background:#fffc;backdrop-filter:blur(16px);border-bottom:1px solid #e7e2da}.header-inner{display:flex;align-items:center;justify-content:space-between;min-height:96px;gap:25px}.brand{display:flex;align-items:center;gap:13px;flex-shrink:0}.brand-emblem{font:24px/1 var(--serif);letter-spacing:-.1em;border:1px solid var(--copper);height:48px;width:48px;border-radius:50%;display:grid;place-items:center;color:var(--earth);padding-right:3px}.brand-name{font:18px/1.2 var(--serif);letter-spacing:.02em}.brand-name small{display:block;font:9px/1.6 var(--sans);letter-spacing:.13em;text-align:center;margin-top:5px}#main-nav{display:flex;align-items:center;gap:28px;font-size:12px}#main-nav>a:not(.button){padding-block:10px}#main-nav>a.active,#main-nav>a:not(.button):hover{color:var(--earth)}.menu-toggle{display:none;background:transparent;border:1px solid var(--line);padding:9px 12px;font-size:12px;gap:12px}.hero{height:680px;min-height:520px;max-height:calc(100svh - 129px);position:relative;isolation:isolate;overflow:hidden;color:#fff;background:#5f5748}.hero-photo{width:100%;height:100%;object-fit:cover;position:absolute;inset:0;z-index:-3}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,#171714a6 0%,#211b1460 50%,#211b1418 100%);z-index:-2}.hero-content{padding-top:85px;position:relative}.hero h1{font-size:clamp(52px,5.2vw,76px);max-width:720px;margin-bottom:24px;color:#fff;text-shadow:0 2px 12px #0002}.hero h1 em{color:#ead5c2}.hero p:not(.eyebrow){font-size:16px;line-height:1.7;color:#faf8f4}.hero .button{margin-top:10px}.hero-caption{position:absolute;bottom:30px;left:48px;right:48px;display:flex;justify-content:space-between;border-top:1px solid #ffffff4a;padding-top:20px;font-size:11px;letter-spacing:.09em}.hero-caption a{display:flex;gap:20px}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:60px;margin-bottom:40px}.section-heading h2{margin-bottom:0}.section-heading>p{max-width:330px;color:var(--muted);font-size:14px;margin-bottom:3px}.universe-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.universe-tile{position:relative;isolation:isolate;overflow:hidden;min-height:310px;color:#fff;background:#787061;display:flex;align-items:flex-end;padding:28px}.universe-tile img{position:absolute;inset:0;z-index:-3;object-fit:cover;width:100%;height:100%;}.tile-shade{position:absolute;inset:0;z-index:-2;background:linear-gradient(0deg,#171714b8 0%,#1717140a 75%)}.tile-number{position:absolute;top:24px;left:28px;font-size:11px;letter-spacing:.2em;border-bottom:1px solid #ffffff70;padding-bottom:5px}.universe-tile>div:last-child{width:100%}.universe-tile h3{font-size:33px;margin-bottom:10px}.universe-tile div>span{display:flex;justify-content:space-between;font-size:11px;letter-spacing:.09em}.universe-tile b{font-size:24px;font-weight:400;line-height:1}.trip-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px 24px}.trip-card{background:#fff;border:1px solid var(--line);min-width:0;display:flex;flex-direction:column}.card-photo{position:relative;display:block;overflow:hidden;aspect-ratio:1.42;background:#cac1b5}.card-photo img{height:100%;width:100%;object-fit:cover;}.image-tag{position:absolute;top:16px;left:16px;background:#ffffffed;color:var(--ink);font-size:9px;letter-spacing:.09em;padding:5px 10px}.card-body{padding:25px;display:flex;flex-direction:column;flex:1}.card-body .eyebrow{font-size:10px;letter-spacing:.09em;margin-bottom:11px}.card-body h3{margin-bottom:14px;font-size:27px}.card-description{font-size:13px;color:var(--muted);display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;line-height:1.65;max-height:65px;margin-bottom:24px}.card-bottom{display:flex;align-items:flex-end;justify-content:space-between;gap:15px;border-top:1px solid var(--line);padding-top:19px;margin-top:auto}.price-label{font-size:10px;display:block;color:var(--muted)}.price{display:block;font-family:var(--serif);font-weight:400;font-size:28px;line-height:1.3;color:var(--earth)}.arrow-link{font-size:11px;white-space:nowrap;display:flex;gap:12px;align-items:center}.arrow-link span{font-size:22px;color:var(--earth)}.agency-block{display:grid;grid-template-columns:1.05fr 1fr;gap:90px;align-items:center}.agency-photo{height:480px}.agency-photo img{height:100%;width:100%;object-fit:cover}.agency-copy>p:not(.eyebrow){font-size:15px;max-width:430px;color:var(--muted)}.contact-inline{border-top:1px solid var(--line);padding-top:20px;margin-top:35px;display:flex;justify-content:space-between;gap:15px;font-size:12px}.contact-inline a{color:var(--earth)}.contact-cta{padding:60px 0;background:var(--earth);color:#fff}.contact-cta>.container{display:flex;align-items:center;justify-content:space-between;gap:40px}.contact-cta h2{font-size:43px;margin-bottom:0}.contact-cta h2 em{color:#ead5c2}.site-footer{background:var(--sand);padding-top:65px;font-size:12px}.footer-grid{display:grid;grid-template-columns:1.2fr .7fr .7fr 1.1fr;gap:55px;padding-bottom:50px}.footer-brand{margin-bottom:25px;display:inline-flex}.footer-grid h3{font-family:var(--sans);font-size:12px;font-weight:600;margin-bottom:23px}.footer-grid p{font-size:11px;color:var(--muted);line-height:1.8}.footer-grid>div>a:not(.brand){display:block;font-size:11px;line-height:1.7;margin-bottom:9px}.email-link{overflow-wrap:anywhere}.footer-bottom{border-top:1px solid var(--line);padding:24px 0;display:flex;gap:25px;justify-content:space-between;font-size:10px;color:var(--muted)}.footer-bottom>div{display:flex;flex-wrap:wrap;gap:20px}.page-intro{padding-top:75px;padding-bottom:55px}.page-intro>p:not(.eyebrow){max-width:550px;color:var(--muted);font-size:15px}.filters{display:flex;align-items:center;gap:18px;background:var(--sand);padding:20px 24px;margin-bottom:35px}.filters label{font-size:12px;font-weight:600}.filters select{min-width:230px}.destination-hero{height:510px;position:relative;isolation:isolate;color:#fff;background:#787061;display:flex;align-items:flex-end;padding-bottom:60px}.destination-hero h1{margin-bottom:20px}.destination-hero p:not(.eyebrow){font-size:18px}.destination-description{display:grid;grid-template-columns:1fr 2fr;gap:60px}.prose{font-size:15px;line-height:1.95;max-width:76ch;overflow-wrap:break-word}.prose h2{font-size:29px;margin-top:30px}.prose a{text-decoration:underline;text-underline-offset:3px}.prose p{margin-bottom:20px}.trip-intro{padding-top:35px;padding-bottom:40px}.breadcrumbs{font-size:11px;color:var(--muted);margin-bottom:32px;display:flex;gap:15px;flex-wrap:wrap}.breadcrumbs a{text-decoration:underline;text-underline-offset:4px}.trip-intro h1{font-size:clamp(38px,4.3vw,62px);max-width:980px}.trip-intro .subtitle{color:var(--muted)}.trip-facts{display:flex;gap:28px;font-size:14px}.trip-facts span+span{border-left:1px solid var(--line);padding-left:28px}.trip-facts strong{font-weight:400;font-family:var(--serif);font-size:22px;color:var(--earth)}.trip-cover{height:500px}.trip-cover img{width:100%;height:100%;object-fit:cover}.trip-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:70px;align-items:start}.trip-tabs{display:flex;gap:26px;border-bottom:1px solid var(--line);padding-bottom:20px;font-size:12px;flex-wrap:wrap}.trip-tabs a:hover{color:var(--earth)}.trip-section{padding-top:55px;scroll-margin-top:105px}.trip-section h2{font-size:39px}.quote-card{position:sticky;top:130px;background:var(--sand);padding:30px}.quote-card h3{font-size:28px;margin-bottom:20px}.quote-card>p:not(.eyebrow){font-size:12px}.quote-card .price{font-size:36px;margin-bottom:24px}.quote-card .button{width:100%;font-size:12px;padding-inline:15px;gap:15px}.small-note{font-size:11px;line-height:1.7;color:var(--muted)}.quote-card .small-note{margin:15px 0 25px}.quote-card>span{font-size:11px}.phone-link{display:block;font-size:14px;font-weight:600;color:var(--earth);margin-top:7px}.quote-card hr,.project-aside hr{border:0;border-top:1px solid var(--line);margin:25px 0}.program-list{border-top:1px solid var(--line)}.program-list details{border-bottom:1px solid var(--line)}.program-list summary{display:flex;align-items:center;gap:18px;list-style:none;padding:22px 0;font-size:14px;cursor:pointer}.program-list summary::-webkit-details-marker{display:none}.day-number{color:var(--copper);font:26px var(--serif)}.program-list summary b{margin-left:auto;font-size:20px;font-weight:400;color:var(--earth)}.program-list details[open] summary b{transform:rotate(45deg)}.program-list .prose{font-size:14px;padding:0 0 25px 46px}.inclusions{display:grid;grid-template-columns:1fr 1fr;gap:30px}.inclusions>div{background:var(--sand);padding:25px}.inclusions h3{font-size:23px;margin-bottom:20px}.inclusions ul{padding-left:17px;font-size:12px;line-height:1.8}.inclusions li{padding-left:3px;margin-bottom:10px}.inclusions li::marker{color:var(--earth)}.inclusions p{font-size:13px}.gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.gallery button{padding:0;border:0;background:var(--sand);aspect-ratio:1.45;overflow:hidden}.gallery img{width:100%;height:100%;object-fit:cover;}dialog{border:0;padding:45px 15px 15px;max-width:90vw;max-height:90vh;background:#fff}dialog::backdrop{background:#000a}dialog img{max-height:78vh;width:auto;margin:auto}dialog>button{position:absolute;right:15px;top:9px;background:none;border:0;font-size:12px;padding:5px}.preview-bar{background:var(--ink);color:#fff;padding:12px 24px;text-align:center;font-size:12px}.preview-bar a{text-decoration:underline}.quote-layout{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(250px,1fr);gap:90px}.quote-form label{display:block;font-size:12px;font-weight:600;margin-bottom:8px}.quote-form input:not([type=checkbox]),.quote-form select,.quote-form textarea,.filters select{width:100%;border:1px solid #d7d0c5;border-radius:0;background:#fff;color:var(--ink);padding:13px 14px;min-height:48px;font-size:14px;max-width:100%}.quote-form>input,.quote-form>select,.quote-form>textarea{margin-bottom:22px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin:0 0 22px}.checkbox{display:flex!important;align-items:flex-start;gap:12px;font-weight:400!important;margin-top:10px;margin-bottom:25px!important}.checkbox input{margin-top:5px;accent-color:var(--earth);width:16px;height:16px;flex-shrink:0}.checkbox a{text-decoration:underline}.honeypot{position:absolute!important;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}.quote-form .small-note{margin-top:15px}.project-aside{background:var(--sand);padding:28px;align-self:start}.project-aside>img{width:100%;height:205px;object-fit:cover;margin-bottom:25px}.project-aside h2{font-size:32px}.project-aside p{font-size:13px;margin-bottom:12px}.project-aside .phone-link{margin-bottom:24px}.project-aside .email-link{font-size:11px;text-decoration:underline}.notice,.form-error{background:var(--sand);border-left:3px solid var(--earth);padding:18px 22px;font-size:13px;margin-bottom:28px}.form-error{background:#f8ece7;color:#74391f}.confirmation{padding-block:90px;text-align:center;max-width:850px}.confirmation h1{font-size:54px}.confirmation p{font-size:15px}.confirmation .button{margin-top:20px}.confirmation-mark{display:inline-grid;place-items:center;width:55px;height:55px;background:var(--sand);color:var(--earth);font-size:24px;border-radius:50%;margin-bottom:25px}.content-page{max-width:950px}.content-page .prose{max-width:none;white-space:normal}.agency-contacts{margin-top:50px;padding:35px;background:var(--sand)}.agency-contacts h2{font-size:32px}.agency-contacts a{color:var(--earth);overflow-wrap:anywhere}.empty-state{padding:40px;background:var(--sand);text-align:center}
@media(min-width:1600px){.hero-content{padding-top:110px}.hero{height:740px}}@media(max-width:1100px){.container{width:calc(100% - 64px)}#main-nav{gap:17px;font-size:11px}.brand-name{font-size:16px}.brand-emblem{width:42px;height:42px;font-size:22px}.header-inner{min-height:85px}.trip-layout{gap:40px;grid-template-columns:minmax(0,1fr) 290px}.agency-block{gap:50px}.footer-grid{gap:28px}.quote-layout{gap:50px}.hero-caption{left:32px;right:32px}}
@media(max-width:1050px){.contact-strip .container>span{display:none}.contact-strip .container{justify-content:center}.header-inner{min-height:80px;position:relative}.menu-toggle{display:flex;align-items:center}#main-nav{display:none;position:absolute;left:-32px;right:-32px;top:80px;background:#fff;padding:25px 32px;box-shadow:0 12px 20px #0001;flex-direction:column;align-items:stretch;gap:8px;font-size:14px}#main-nav.open{display:flex}.hero{height:610px;max-height:none}.hero-content{padding-top:80px}.trip-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.universe-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.section-heading{gap:30px}.section-heading>p{max-width:270px}.agency-block{gap:35px}.agency-photo{height:380px}.footer-grid{grid-template-columns:1fr 1fr;gap:40px}.trip-layout{grid-template-columns:1fr;gap:35px}.quote-card{position:static;grid-row:1;display:grid;grid-template-columns:1fr 1fr;gap:0 25px}.quote-card h3{grid-column:1}.quote-card .eyebrow{grid-column:1/-1}.quote-card .button{grid-column:2;grid-row:2/4;align-self:center}.quote-card .small-note{grid-column:2;grid-row:4/6}.quote-card>hr,.quote-card>span:not(.price-label),.quote-card>.phone-link{display:none}.trip-cover{height:440px}.destination-description{grid-template-columns:1fr;gap:10px}.quote-layout{gap:35px;grid-template-columns:minmax(0,1.4fr) minmax(230px,1fr)}.contact-cta h2{font-size:37px}}
@media(max-width:600px){.container{width:calc(100% - 40px)}.section{padding-block:58px}.section-topless{padding-top:0}.brand-name{font-size:15px}.brand-emblem{width:38px;height:38px;font-size:20px}.brand{gap:9px}.header-inner{min-height:73px}.contact-strip{font-size:9px}.contact-strip .container{min-height:28px}#main-nav{top:73px;left:-20px;right:-20px;padding:20px}.hero{height:590px;min-height:0}.hero-photo{object-position:60% 50%}.hero-shade{background:linear-gradient(90deg,#1717149c,#211b144f)}.hero-content{padding-top:70px}.hero h1{font-size:51px;margin-bottom:22px}.hero .eyebrow{font-size:9px;letter-spacing:.18em}.hero p:not(.eyebrow){font-size:13px}.hero-caption{left:20px;right:20px;bottom:23px;font-size:9px;letter-spacing:.02em}.hero .button{min-height:50px;font-size:12px;gap:25px}.eyebrow{font-size:10px;letter-spacing:.16em;margin-bottom:16px}.section-heading{display:block;margin-bottom:28px}.section-heading h2{font-size:36px}.section-heading>p{max-width:none;margin-top:22px;font-size:13px}.section-heading>.text-link{margin-top:22px}.universe-grid{gap:12px}.universe-tile{min-height:230px;padding:18px}.universe-tile h3{font-size:26px;line-height:1.07}.universe-tile div>span{font-size:9px;letter-spacing:.03em}.universe-tile .tile-number{top:17px;left:18px;font-size:9px}.trip-grid{grid-template-columns:1fr;gap:22px}.card-body{padding:24px}.card-photo{aspect-ratio:1.5}.card-body h3{font-size:28px}.card-description{font-size:13px}.agency-block{grid-template-columns:1fr;gap:35px}.agency-photo{height:330px}.agency-copy h2{font-size:36px}.contact-inline{font-size:11px;flex-wrap:wrap}.contact-cta{padding:45px 0}.contact-cta>.container{display:block}.contact-cta h2{font-size:35px}.contact-cta .button{margin-top:25px;font-size:12px}.site-footer{padding-top:42px}.footer-grid{grid-template-columns:1fr 1fr;gap:35px 20px;padding-bottom:35px}.footer-grid>div:first-child,.footer-grid>div:last-child{grid-column:1/-1}.footer-bottom{display:block;font-size:9px}.footer-bottom>div{gap:12px 16px;margin-top:15px}.page-intro{padding-top:45px;padding-bottom:30px}.page-intro h1{font-size:42px}.page-intro>p:not(.eyebrow){font-size:13px}.filters{flex-wrap:wrap;padding:17px;gap:12px}.filters label{width:100%}.filters select{min-width:0;flex:1;width:auto}.filters button{padding-inline:15px}.destination-hero{height:420px;padding-bottom:40px}.destination-hero h1{font-size:45px}.destination-hero p:not(.eyebrow){font-size:15px}.prose{font-size:14px;line-height:1.85}.trip-intro{padding-top:23px;padding-bottom:28px}.breadcrumbs{font-size:10px;margin-bottom:28px}.trip-intro h1{font-size:39px}.trip-facts{gap:14px;font-size:11px;flex-wrap:wrap}.trip-facts span+span{padding-left:14px}.trip-facts strong{font-size:19px}.trip-cover{height:300px;width:100%}.trip-layout{gap:12px}.trip-tabs{gap:15px;font-size:11px;padding-bottom:17px}.trip-section{padding-top:40px}.trip-section h2{font-size:34px}.quote-card{padding:24px;column-gap:16px}.quote-card h3{font-size:23px}.quote-card .button{font-size:10px;gap:9px;padding-inline:8px}.quote-card .price{font-size:28px;margin-bottom:5px}.quote-card .small-note{font-size:10px;margin-top:6px}.quote-card .eyebrow{font-size:9px}.program-list summary{font-size:12px;gap:14px}.day-number{font-size:23px}.program-list .prose{padding-left:37px;font-size:13px}.inclusions{grid-template-columns:1fr;gap:15px}.gallery{gap:10px}.quote-layout{grid-template-columns:1fr;gap:28px}.project-aside{grid-row:1;padding:23px}.project-aside>img{height:160px}.project-aside h2{font-size:28px}.project-aside .phone-link{margin-bottom:14px}.form-grid{gap:18px;grid-template-columns:1fr}.quote-form input:not([type=checkbox]),.quote-form select,.quote-form textarea{font-size:16px}.quote-form .button{width:100%}.confirmation{padding-block:65px}.confirmation h1{font-size:40px}.confirmation p{font-size:13px}.content-page .prose{font-size:13px}.agency-contacts{padding:25px;font-size:13px}.agency-contacts h2{font-size:28px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{}}

.brand-logo{display:block;width:250px;height:auto;object-fit:contain}.footer-brand .brand-logo{width:240px}@media(max-width:1100px){.brand-logo{width:220px}}@media(max-width:600px){.brand-logo{width:210px}.footer-brand .brand-logo{width:230px}}


/* Finition publique : lecture Montserrat, titres éditoriaux conservés. */
@font-face {
  font-family: 'Montserrat';
  src: url('../fonts/montserrat-regular.ttf') format('truetype');
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}
@font-face {
  font-family: 'Montserrat';
  src: url('../fonts/montserrat-medium.ttf') format('truetype');
  font-style: normal;
  font-weight: 500;
  font-display: swap;
}
@font-face {
  font-family: 'Montserrat';
  src: url('../fonts/montserrat-semibold.ttf') format('truetype');
  font-style: normal;
  font-weight: 600;
  font-display: swap;
}
@font-face {
  font-family: 'Montserrat';
  src: url('../fonts/montserrat-bold.ttf') format('truetype');
  font-style: normal;
  font-weight: 700;
  font-display: swap;
}
:root { --sans: 'Montserrat', Arial, Helvetica, sans-serif; }
body { font-weight: 400; }
html { scroll-behavior: auto; }
*, *::before, *::after { animation: none !important; transition: none !important; }
a:focus-visible, button:focus-visible, input:focus-visible,
select:focus-visible, textarea:focus-visible, summary:focus-visible {
  outline: 3px solid var(--earth);
  outline-offset: 4px;
}
.hero a:focus-visible, .contact-cta a:focus-visible,
.universe-tile:focus-visible { outline-color: var(--white); }
.universe-tile:focus-visible { outline-offset: -5px; }
.eyebrow, .card-body .eyebrow, .hero .eyebrow, .quote-card .eyebrow {
  font: 600 12px/1.6 var(--sans);
  letter-spacing: .1em;
}
.hero p:not(.eyebrow), .page-intro > p:not(.eyebrow),
.section-heading > p, .agency-copy > p:not(.eyebrow) {
  font-size: 16px;
  font-weight: 400;
  line-height: 1.8;
}
.page-intro > p:not(.eyebrow) { max-width: 64ch; }
.agency-copy > p:not(.eyebrow) { max-width: 52ch; }
.contact-strip { font-size: 12px; font-weight: 500; letter-spacing: .015em; }
.contact-strip .container { min-height: 36px; }
.contact-strip a { display: inline-flex; align-items: center; min-height: 36px; }

/* Deux espaces égaux de part et d'autre des quatre liens, hors CTA. */
@media (min-width: 1051px) {
  .header-inner { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 0; min-height: 96px; }
  /* Le PNG contient 19,56 % de vide à droite : réserver le dessin visible. */
  .header-inner .brand { width: 201.1px; }
  .header-inner .brand-logo { width: 250px; max-width: none; flex-shrink: 0; }
  #main-nav {
    display: grid;
    grid-template-columns: minmax(0, 1fr) repeat(4, max-content) minmax(0, 1fr) max-content;
    gap: 0;
    align-items: center;
    font-size: 16px;
    font-weight: 600;
  }
  #main-nav > a:nth-child(1) { grid-column: 2; }
  #main-nav > a:nth-child(2) { grid-column: 3; }
  #main-nav > a:nth-child(3) { grid-column: 4; }
  #main-nav > a:nth-child(4) { grid-column: 5; }
  #main-nav > .button { grid-column: 7; margin: 0; }
  #main-nav > a:not(.button) { padding: 14px 12px; min-height: 52px; white-space: nowrap; }
}
#main-nav > a.active { font-weight: 600; }
.menu-toggle {
  min-height: 46px;
  min-width: 90px;
  padding: 10px 12px;
  font: 600 15px/1.4 var(--sans);
  color: var(--ink);
  border-color: var(--muted);
  align-items: center;
  justify-content: center;
  gap: 10px;
}
.menu-toggle span { font-size: 19px; line-height: 1; }

/* Une géométrie commune pour les boutons, y compris dans les sidebars. */
.button, .button-small, .hero .button, .contact-cta .button, .quote-card .button {
  min-height: 52px;
  padding: 14px 24px;
  gap: 18px;
  border: 1px solid var(--earth);
  border-radius: 2px;
  background: var(--earth);
  color: var(--white);
  font: 700 15px/1.4 var(--sans);
  text-align: center;
  box-shadow: none;
  transform: none;
}
.button:hover { background: #774b33; border-color: #774b33; transform: none; }
.button span, .text-link span, .arrow-link span {
  font-size: 22px;
  font-weight: 500;
  line-height: 1;
  flex-shrink: 0;
}
.button-white, .contact-cta .button-white {
  background: var(--sand);
  border-color: var(--sand);
  color: var(--earth);
}
.button-white:hover, .contact-cta .button-white:hover {
  background: var(--white);
  border-color: var(--white);
  color: var(--earth);
}
.button:disabled { opacity: .65; transform: none; }
.text-link, .arrow-link {
  min-height: 44px;
  font: 600 14px/1.5 var(--sans);
  gap: 14px;
  color: var(--earth);
}
.text-link { padding-block: 9px; }
.arrow-link { padding-block: 8px; text-decoration: underline; text-underline-offset: 5px; text-decoration-thickness: 1px; }
.text-link:hover, .arrow-link:hover { color: #774b33; }
.hero-caption { font-size: 12px; letter-spacing: .025em; }
.hero-caption a { min-height: 44px; align-items: center; font-weight: 600; }
.tile-number { font-size: 12px; font-weight: 500; }
.universe-tile div > span { font-size: 13px; font-weight: 600; letter-spacing: .025em; align-items: center; min-height: 36px; }
.universe-tile b { font-size: 22px; font-weight: 500; }

/* Cartes : durée, titre, lecture, prix et action restent à leur place. */
.image-tag { font-size: 12px; font-weight: 500; letter-spacing: .025em; }
.card-body .eyebrow { font-size: 13px; font-weight: 500; letter-spacing: .035em; margin-bottom: 12px; }
.card-body h3 { font: 600 23px/1.3 var(--sans); margin-bottom: 14px; letter-spacing: -.02em; }
.card-description {
  display: block;
  -webkit-line-clamp: unset;
  max-height: none;
  overflow: visible;
  font: 400 15px/1.8 var(--sans);
  color: var(--muted);
  margin-bottom: 24px;
}
.card-bottom { align-items: center; gap: 12px; }
.price-label { font: 500 12px/1.6 var(--sans); }
.price { font: 700 27px/1.35 var(--sans); letter-spacing: -.025em; }
.contact-inline { font-size: 14px; font-weight: 500; flex-wrap: wrap; }
.contact-inline a { display: inline-flex; align-items: center; min-height: 36px; }

/* Lecture des fiches et informations pratiques. */
.prose, .content-page .prose { font: 400 16px/1.85 var(--sans); max-width: 68ch; }
.prose h2 { font: 600 24px/1.4 var(--sans); letter-spacing: -.02em; }
.prose p { margin-bottom: 24px; }
.breadcrumbs { font-size: 13px; font-weight: 500; gap: 12px; line-height: 1.8; }
.breadcrumbs a { min-height: 32px; }
.trip-intro .subtitle { font-size: 16px; line-height: 1.8; max-width: 68ch; }
.trip-facts { font-size: 15px; font-weight: 500; align-items: baseline; flex-wrap: wrap; }
.trip-facts strong { font: 700 24px/1.4 var(--sans); }
.trip-tabs { gap: 8px 18px; padding-bottom: 14px; font: 600 15px/1.5 var(--sans); }
.trip-tabs a { display: inline-flex; align-items: center; min-height: 44px; padding: 10px 4px; }
.quote-card { padding: 28px; }
.quote-card h3 { font: 600 23px/1.35 var(--sans); letter-spacing: -.02em; margin-bottom: 16px; }
.quote-card > p:not(.eyebrow):not(.small-note) { font-size: 15px; font-weight: 500; margin-bottom: 16px; }
.quote-card .price { font-size: 32px; margin-bottom: 24px; }
.quote-card .button { padding-inline: 16px; gap: 12px; font-size: 14px; }
.small-note, .quote-card .small-note { font: 400 13px/1.8 var(--sans); }
.quote-card > span:not(.price) { font-size: 13px; font-weight: 500; }
.phone-link { font-size: 15px; line-height: 1.6; display: flex; align-items: center; min-height: 44px; }
.program-list summary { font: 600 16px/1.55 var(--sans); gap: 18px; padding: 22px 0; }
.program-list summary > span:nth-child(2) { min-width: 0; }
.day-number { font: 700 26px/1.3 var(--sans); color: var(--earth); min-width: 2ch; flex-shrink: 0; }
.program-list summary b { flex-shrink: 0; }
.program-list .prose { font: 400 15px/1.85 var(--sans); padding-left: 54px; padding-bottom: 26px; }
.inclusions h3 { font: 600 18px/1.5 var(--sans); margin-bottom: 18px; }
.inclusions ul, .inclusions p { font: 400 15px/1.8 var(--sans); }
.inclusions ul { margin-bottom: 0; }
.inclusions li { margin-bottom: 12px; }
.inclusions li:last-child { margin-bottom: 0; }
dialog > button { font-size: 14px; font-weight: 600; min-height: 36px; }

/* Formulaire : champs, consentement et indications lisibles. */
.filters { flex-wrap: wrap; }
.filters label, .quote-form label { font: 600 14px/1.6 var(--sans); }
.filters select { flex: 1; width: auto; min-width: 200px; }
.quote-form input:not([type=checkbox]), .quote-form select, .quote-form textarea, .filters select {
  font: 400 16px/1.5 var(--sans);
  min-height: 52px;
  border-color: var(--muted);
}
.quote-form input::placeholder, .quote-form textarea::placeholder { color: var(--muted); opacity: 1; }
.checkbox { min-height: 44px; font-size: 14px; line-height: 1.8; }
.checkbox input { width: 20px; height: 20px; margin-top: 3px; }
.project-aside h2 { font: 600 24px/1.4 var(--sans); letter-spacing: -.02em; }
.project-aside p { font-size: 15px; line-height: 1.8; }
.project-aside p strong { font-weight: 700; font-size: 22px; color: var(--earth); }
.project-aside .email-link { font-size: 13px; line-height: 1.8; display: inline-flex; align-items: center; min-height: 44px; }
.notice, .form-error { font-size: 15px; line-height: 1.8; }
.confirmation p { font-size: 16px; line-height: 1.8; }

/* Footer : mêmes graisses et contraste que les informations secondaires. */
.footer-grid { grid-template-columns: minmax(0, 1.2fr) minmax(0, .7fr) minmax(0, .7fr) minmax(0, 1.1fr); gap: 36px; }
.footer-grid h3 { font: 600 14px/1.6 var(--sans); margin-bottom: 18px; }
.footer-grid p { font-size: 13px; font-weight: 400; line-height: 1.85; }
.footer-grid > div > a:not(.brand) { font-size: 14px; font-weight: 500; line-height: 1.7; min-height: 36px; padding-block: 6px; margin-bottom: 3px; }
.footer-bottom { font-size: 12px; line-height: 1.8; gap: 18px; flex-wrap: wrap; }
.footer-bottom a { display: inline-flex; align-items: center; min-height: 36px; }
.footer-grid a:not(.brand):hover, .footer-bottom a:hover { color: var(--earth); }

@media (min-width: 1051px) and (max-width: 1199px) {
  .header-inner .brand { width: 176.97px; }
  .header-inner .brand-logo { width: 220px; }
  #main-nav { font-size: 15px; }
  #main-nav > a:not(.button) { padding-inline: 9px; }
  #main-nav > .button { font-size: 14px; padding-inline: 18px; gap: 12px; }
}
@media (max-width: 1050px) {
  .header-inner { gap: 20px; }
  #main-nav { font: 600 16px/1.5 var(--sans); }
  #main-nav > a:not(.button) { min-height: 48px; padding: 12px 8px; }
  #main-nav > .button { margin-top: 8px; }
  .footer-grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .quote-card .button { padding-inline: 20px; }
}
@media (max-width: 600px) {
  .header-inner { min-height: 80px; gap: 12px; }
  #main-nav { top: 80px; }
  .brand-logo { width: 200px; }
  .contact-strip { font-size: 12px; letter-spacing: 0; }
  .hero p:not(.eyebrow), .page-intro > p:not(.eyebrow), .section-heading > p,
  .agency-copy > p:not(.eyebrow), .trip-intro .subtitle,
  .prose, .content-page .prose, .confirmation p { font-size: 15px; line-height: 1.85; }
  .hero-caption { font-size: 12px; letter-spacing: 0; gap: 14px; align-items: center; padding-top: 12px; }
  .hero-caption a { gap: 10px; }
  .universe-tile div > span { font-size: 12px; }
  .universe-tile .tile-number { font-size: 12px; }
  .trip-facts { font-size: 14px; gap: 12px; }
  .trip-facts span + span { padding-left: 12px; }
  .trip-facts strong { font-size: 23px; }
  .trip-tabs { gap: 4px 14px; font-size: 14px; }
  .quote-card { display: block; padding: 24px; }
  .quote-card h3 { font-size: 23px; }
  .quote-card .price { font-size: 30px; margin-bottom: 20px; }
  .quote-card .button { width: 100%; font-size: 15px; }
  .quote-card .small-note { margin: 14px 0 0; font-size: 13px; }
  .program-list summary { font-size: 15px; gap: 14px; }
  .day-number { font-size: 24px; }
  .program-list .prose { font-size: 15px; padding-left: 0; }
  .inclusions > div { padding: 24px; }
  .project-aside h2 { font-size: 23px; }
  .filters select { min-width: 0; }
  .filters .button { padding-inline: 18px; }
  .footer-grid { gap: 30px 20px; }
  .footer-grid > div > a:not(.brand), .footer-bottom a { min-height: 44px; }
  .footer-bottom { font-size: 12px; }
}
@media (max-width: 359px) {
  .brand-logo { width: 175px; }
  .menu-toggle { min-width: 82px; padding-inline: 10px; }
  .contact-strip { font-size: 11px; }
  .hero h1 { font-size: 44px; }
  .card-bottom { flex-wrap: wrap; }
}
@media (min-width: 1051px) and (max-height: 800px) {
  .hero-content { padding-top: 48px; }
}
@media (min-width: 1051px) and (max-height: 740px) {
  .hero { max-height: none; }
}


/* Retour Nordine : bandeau et espacements de l'accueil plus compacts. */
@media (min-width: 1051px) {
  .header-inner { min-height: 84px; }
  .hero { max-height: calc(100svh - 121px); }
}
#univers.section { padding-top: 72px; padding-bottom: 60px; }
#univers + .section, .agency-block.section { padding-block: 72px; }

/* Logos fournis, conservés dans leurs couleurs et proportions. */
.footer-assurances {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 180px));
  justify-content: center;
  align-items: center;
  gap: 24px;
  border-top: 1px solid var(--line);
  padding-block: 24px;
}
.professional-logo {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 0;
  height: 112px;
  background: var(--white);
  border-radius: 2px;
  overflow: hidden;
}
.professional-logo img { max-width: none; flex-shrink: 0; height: auto; }
.professional-logo-atout img { width: 190px; }
.professional-logo-apst img { width: 124px; }
.professional-logo-marsh img { width: 210px; }
@media (max-width: 1050px) {
  .header-inner { min-height: 74px; }
  #main-nav { top: 74px; }
}
@media (max-width: 600px) {
  #univers.section { padding-top: 48px; padding-bottom: 40px; }
  #univers + .section, .agency-block.section { padding-block: 48px; }
  .footer-assurances { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; padding-block: 20px; }
  .professional-logo { height: 94px; }
  .professional-logo-atout img { width: 120px; }
  .professional-logo-apst img { width: 110px; }
  .professional-logo-marsh img { width: 140px; }
}
@media (max-width: 359px) {
  .professional-logo-atout img { width: 96px; }
  .professional-logo-apst img { width: 96px; }
  .professional-logo-marsh img { width: 114px; }
}
@media (min-width: 1051px) and (max-height: 740px) {
  .hero { max-height: none; }
}


/* Contenus administrables : conserver les proportions des images importées. */
.header-inner .brand.brand-custom { width: 250px; }
.brand-custom .brand-logo { width: 250px; height: 56px; max-width: 100%; object-fit: contain; object-position: left center; }
.footer-brand.brand-custom .brand-logo { width: 240px; height: 76px; }
.professional-logo-custom img { width: auto; max-width: calc(100% - 20px); max-height: calc(100% - 16px); object-fit: contain; }
.hero.hero-custom { height: auto; max-height: none; }
.hero-custom .hero-content { padding-bottom: 140px; }
@media (min-width: 1051px) {
  #main-nav { grid-template-columns: minmax(0, 1fr) repeat(4, minmax(0, max-content)) minmax(0, 1fr) max-content; }
  #main-nav > a:not(.button) { white-space: normal; text-align: center; overflow-wrap: anywhere; }
  #main-nav > .button { max-width: 260px; overflow-wrap: anywhere; }
}
@media (min-width: 1051px) and (max-width: 1199px) {
  .header-inner .brand.brand-custom { width: 220px; }
  .brand-custom .brand-logo { width: 220px; }
}
@media (max-width: 1050px) {
  .header-inner .brand.brand-custom { width: 220px; max-width: calc(100% - 110px); }
}
@media (max-width: 600px) {
  .header-inner .brand.brand-custom { width: 200px; }
  .brand-custom .brand-logo { width: 200px; height: 48px; }
}

/* Pages éditoriales : mêmes gabarits, états immédiats et menu de taille stable. */
.page-intro h1, .destination-hero h1, .universe-tile h3 { overflow-wrap: anywhere; }
.editorial-page-photo { margin-bottom: 32px; background: var(--sand); }
.editorial-page-photo img { width: 100%; max-height: 520px; aspect-ratio: 16 / 9; object-fit: cover; }
.editorial-menu { position: relative; min-width: 0; }
.editorial-menu > summary { cursor: pointer; min-height: 52px; padding: 14px 10px; display: flex; align-items: center; justify-content: center; gap: 7px; font-weight: 600; }
.editorial-menu > summary::after { content: '+'; color: var(--earth); font-size: 18px; }
.editorial-menu[open] > summary::after { content: '−'; }
.editorial-menu > summary:hover, .editorial-menu[open] > summary { color: var(--earth); }
.editorial-menu-links { position: absolute; z-index: 40; top: 100%; right: 0; width: 300px; max-width: calc(100vw - 40px); max-height: min(60vh, 440px); overflow: auto; border: 1px solid var(--line); background: #fff; box-shadow: 0 8px 20px #0001; padding: 8px; }
.editorial-menu-links > a { display: block; padding: 12px; min-height: 46px; font-size: 15px; line-height: 1.5; overflow-wrap: anywhere; }
.editorial-menu-links > a:hover, .editorial-menu-links > a.active { color: var(--earth); background: var(--sand); }
@media (min-width: 1051px) {
  #main-nav.has-editorial-pages { grid-template-columns: minmax(0, 1fr) repeat(5, minmax(0, max-content)) minmax(0, 1fr) max-content; }
  #main-nav.has-editorial-pages > .editorial-menu { grid-column: 6; }
  #main-nav.has-editorial-pages > .button { grid-column: 8; }
}
@media (max-width: 1050px) {
  #main-nav { max-height: calc(100dvh - 110px); overflow-y: auto; }
  .editorial-menu > summary { justify-content: space-between; padding: 12px 8px; min-height: 48px; }
  .editorial-menu-links { position: static; width: 100%; max-width: 100%; max-height: 260px; box-shadow: none; }
}
@media (max-width: 600px) {
  .editorial-page-photo { margin-bottom: 24px; }
}

/* Documents et liens : mêmes styles, libellés lisibles même sur petit écran. */
.content-resources { min-width: 0; }
.content-resources .text-link { white-space: normal; overflow-wrap: anywhere; flex-wrap: wrap; gap: 10px; max-width: 100%; }
.content-resources .text-link .small-note { font-size: 14px; line-height: 1.6; }
