
    :root { color-scheme: light; --ink:#122733; --muted:#4c626c; --cream:#f7f4ee; --paper:#fffdfa; --sand:#e8ddd0; --accent:#d99a58; --line:#d9d8d0; }
    * { box-sizing:border-box; }
    html { scroll-behavior:smooth; }
    body { margin:0; background:var(--cream); color:var(--ink); font:400 17px/1.65 system-ui,-apple-system,"Segoe UI",sans-serif; }
    button,a { -webkit-tap-highlight-color:transparent; }
    a { color:inherit; }
    a:focus-visible,button:focus-visible { outline:3px solid var(--accent); outline-offset:4px; }
    .container { width:min(1180px,calc(100% - 48px)); margin-inline:auto; }
    .top { background:var(--ink); color:#fff; }
    .nav { min-height:86px; display:flex; align-items:center; gap:28px; }
    .logo { display:flex; align-items:center; gap:12px; font-weight:750; font-size:18px; line-height:1.05; letter-spacing:.015em; text-decoration:none; margin-right:auto; }
    .logo svg { width:38px; height:38px; flex:none; }
    .logo small { display:block; font:500 10px/1.5 system-ui,sans-serif; letter-spacing:.25em; text-transform:uppercase; color:#d9b590; }
    .navlinks { display:flex; gap:28px; align-items:center; }
    .navlinks a { text-decoration:none; font-size:14px; font-weight:600; color:#e1e9e8; }
    .navlinks a:hover { color:#edb986; }
    .lang { border:1px solid #789096; background:transparent; color:#fff; padding:9px 13px; border-radius:99px; cursor:pointer; font:700 13px system-ui,sans-serif; white-space:nowrap; }
    .lang:hover { background:#29434e; }
    .hero { display:grid; grid-template-columns:1.04fr .96fr; min-height:640px; }
    .hero-copy { padding:82px 7vw 84px max(24px,calc((100vw - 1180px)/2)); display:flex; flex-direction:column; justify-content:center; }
    .eyebrow { color:#dca66e; font-weight:750; font-size:12px; letter-spacing:.19em; text-transform:uppercase; margin:0 0 25px; }
    h1,h2,h3,p { margin-top:0; }
    h1,h2,h3 { font-family:Georgia,"Times New Roman",serif; font-weight:400; letter-spacing:-.035em; }
    h1 { font-size:clamp(47px,5.2vw,79px); line-height:1.07; max-width:700px; margin-bottom:25px; }
    .hero-copy>p:not(.eyebrow) { max-width:545px; color:#d7e2e1; font-size:19px; line-height:1.6; margin-bottom:32px; }
    .button { display:inline-flex; justify-content:center; align-items:center; min-height:52px; padding:12px 24px; border-radius:4px; background:var(--accent); color:#122733; font-weight:750; font-size:15px; text-decoration:none; transition:transform .2s,background .2s; }
    .button:hover { background:#edb67b; transform:translateY(-2px); }
    .button.light { background:var(--ink); color:white; }
    .button.light:hover { background:#254552; }
    .hero-actions { display:flex; gap:16px; align-items:center; flex-wrap:wrap; }
    .text-link { font-size:15px; font-weight:650; text-underline-offset:5px; }
    .hero-image { min-height:640px; position:relative; background:linear-gradient(140deg,#637f84,#d9b690 70%,#8f785e); overflow:hidden; }
    .hero-image img { width:100%; height:100%; object-fit:cover; display:block; position:absolute; inset:0; }
    .hero-image:after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(18,39,51,.14),transparent 40%); pointer-events:none; }
    .image-caption { position:absolute; z-index:1; bottom:26px; right:30px; color:white; font-size:12px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; text-shadow:0 1px 8px #1b2b30; }
    .intro { padding:96px 0 92px; display:grid; grid-template-columns:.83fr 1.17fr; gap:9%; align-items:start; }
    .section-number { color:#9b6b42; font-size:12px; font-weight:800; letter-spacing:.18em; text-transform:uppercase; margin-bottom:17px; }
    h2 { font-size:clamp(36px,4vw,56px); line-height:1.13; margin-bottom:26px; }
    .intro .lead { font-size:22px; line-height:1.5; color:#334c56; margin:7px 0 21px; }
    .intro p:last-child { margin-bottom:0; }
    .services { background:var(--paper); padding:94px 0 105px; }
    .section-heading { display:flex; justify-content:space-between; align-items:end; gap:35px; margin-bottom:38px; }
    .section-heading h2 { max-width:680px; margin:0; }
    .section-heading>p { max-width:315px; color:var(--muted); margin:0 0 6px; }
    .service-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
    .service { background:var(--cream); border-top:3px solid var(--accent); padding:36px 33px 31px; min-height:300px; }
    .service .count { color:#9b6b42; font-size:13px; font-weight:800; letter-spacing:.12em; }
    .service h3 { font-size:31px; line-height:1.18; margin:33px 0 16px; }
    .service p { color:var(--muted); margin:0; font-size:16px; }
    .destinations { background:#e9eee9; padding:95px 0; }
    .destination-layout { display:grid; grid-template-columns:1fr 1.12fr; gap:8%; align-items:start; }
    .destination-layout p { color:var(--muted); max-width:450px; }
    .destination-list { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
    .destination-list span { padding:19px 17px; border-bottom:1px solid #b9c8c5; font-family:Georgia,serif; font-size:24px; line-height:1.2; }
    .destination-list span:last-child { grid-column:1/-1; }
    .travel-photos { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; margin-top:52px; }
    .travel-photos figure { margin:0; background:var(--paper); }
    .travel-photos img { display:block; width:100%; height:290px; object-fit:cover; }
    .travel-photos figcaption { padding:13px 17px 16px; font-size:15px; font-weight:650; color:var(--ink); }
    .process { padding:100px 0 105px; }
    .steps { display:grid; grid-template-columns:repeat(3,1fr); gap:38px; margin-top:45px; }
    .step { border-top:1px solid #abb7b6; padding-top:19px; }
    .step b { display:block; font:750 13px system-ui,sans-serif; color:#9b6b42; letter-spacing:.1em; margin-bottom:32px; }
    .step h3 { font-size:29px; line-height:1.22; margin-bottom:13px; }
    .step p { color:var(--muted); font-size:16px; margin:0; }
    .note { margin-top:60px; padding:26px 32px; border-left:3px solid var(--accent); background:#eee9df; max-width:920px; color:#38505a; font-size:15px; }
    .contact { background:var(--ink); color:white; padding:94px 0 100px; }
    .contact-inner { display:grid; grid-template-columns:1fr .85fr; gap:10%; align-items:end; }
    .contact h2 { max-width:710px; margin-bottom:18px; }
    .contact p { color:#d2dfdf; max-width:590px; margin:0; }
    .contact-action { display:flex; flex-direction:column; align-items:start; gap:16px; }
    .contact-action small { color:#b9cccc; font-size:14px; }
    footer { background:#0c1d26; color:#a8bdc2; padding:29px 0; font-size:13px; }
    .footer-inner { display:flex; justify-content:space-between; gap:18px; flex-wrap:wrap; }
    footer a { color:#e0ebea; text-underline-offset:3px; }
    @media(max-width:900px) { .navlinks { display:none; } .hero { grid-template-columns:1fr 42%; min-height:550px; } .hero-copy { padding:65px 35px 70px 24px; } .hero-image { min-height:550px; } .intro,.destination-layout { gap:5%; } .service { padding:30px 23px; } }
    @media(max-width:700px) { .container { width:min(100% - 36px,1180px); } .nav { min-height:70px; } .hero { display:flex; flex-direction:column; } .hero-copy { padding:58px 18px 64px; } .hero-copy>p:not(.eyebrow) { font-size:17px; } .hero-image { min-height:310px; } .image-caption { right:18px; bottom:17px; } .intro,.destination-layout,.contact-inner { display:block; } .intro,.services,.destinations,.process,.contact { padding:70px 0; } .intro h2 { margin-bottom:22px; } .section-heading { display:block; } .section-heading>p { margin-top:17px; } .service-grid,.steps,.travel-photos { grid-template-columns:1fr; gap:12px; } .travel-photos { margin-top:34px; } .travel-photos img { height:260px; } .service { min-height:auto; } .service h3 { margin-top:24px; } .destination-list { margin-top:28px; } .destination-list span { font-size:20px; } .steps { margin-top:30px; gap:28px; } .step b { margin-bottom:17px; } .note { margin-top:40px; } .contact-action { margin-top:31px; } }
    @media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } .button { transition:none; } }
  
body{min-height:100vh;display:flex;flex-direction:column}main{flex:1}.page-next{margin:30px auto 60px}.page-heading{font-size:clamp(36px,4vw,56px);line-height:1.13}.navlinks a[aria-current]{color:#edb986;text-decoration:underline}@media(max-width:900px){.nav{flex-wrap:wrap;padding-block:18px;gap:18px}.navlinks{display:flex;order:3;flex-basis:100%;flex-wrap:wrap;gap:12px 20px}}


/* Navigation légale du pied de page */
.legal-footer{
    display:flex;
    flex-wrap:wrap;
    gap:10px 24px;
    width:min(1180px,calc(100% - 48px));
    margin:22px auto 0;
    padding-top:18px;
    border-top:1px solid #45606b;
}
.legal-footer a{
    display:inline-block;
    color:#e0ebea;
    text-decoration:underline;
    text-underline-offset:3px;
    line-height:1.5;
}
@media(max-width:700px){
    .legal-footer{width:min(1180px,calc(100% - 36px))}
}

/* 2027 availability teaser */
.availability-teaser{background:#efe4d5;padding:64px 0}.availability-teaser-inner{display:flex;justify-content:space-between;align-items:center;gap:32px}
.availability-teaser h2{font-size:clamp(32px,3.5vw,48px);margin-bottom:10px}.availability-teaser p:last-child{color:#38505a;margin:0}
.availability-teaser .button{flex:none}@media(max-width:700px){.availability-teaser-inner{display:block}.availability-teaser .button{margin-top:24px}}

/* Photos issues de l'album, pages intérieures */
.story-gallery {
    padding-top: 38px;
    padding-bottom: 48px;
}
.story-gallery-head {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 19px;
}
.story-gallery-head h2 {
    font-size: clamp(29px, 3vw, 39px);
    margin: 0;
}
.story-gallery-head a {
    font-size: 15px;
    font-weight: 700;
    color: #126479;
    text-underline-offset: 4px;
    white-space: nowrap;
}
.story-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 15px;
}
.story-grid:has(> figure:only-child) {
    grid-template-columns: 1fr;
}
.story-photo, .guide-photo {
    margin: 0;
    background: #fffdfa;
    overflow: hidden;
}
.story-photo img {
    display: block;
    width: 100%;
    height: 310px;
    object-fit: cover;
}
.story-grid:has(> figure:only-child) img {
    height: 290px;
}
.story-photo figcaption, .guide-photo figcaption {
    padding: 12px 16px;
    color: #38505a;
    font-size: 14px;
    font-weight: 650;
}
.guide-photo {
    margin: 30px 0 48px;
}
.guide-photo img {
    display: block;
    width: 100%;
    height: 360px;
    object-fit: cover;
}
html[lang="fr"] .story-en,
html[lang="en"] .story-fr {
    display: none;
}
@media (max-width: 700px) {
    .story-gallery {
        padding-top: 24px;
        padding-bottom: 38px;
    }
    .story-gallery-head {
        align-items: start;
        flex-direction: column;
        gap: 5px;
    }
    .story-grid {
        grid-template-columns: 1fr;
    }
    .story-photo img,
    .story-grid:has(> figure:only-child) img {
        height: 230px;
    }
    .guide-photo img {
        height: 250px;
    }
}


/* Photo entière du guide */
.guide-photo {
    max-width: 950px;
    margin: 30px auto 48px;
}
.guide-photo img {
    display: block;
    width: 100%;
    height: auto !important;
    max-height: none !important;
    object-fit: contain !important;
}

/* Cadrage compact du guide */
.guide-body .guide-photo {
    width: min(100%, 680px);
    max-width: 680px;
    margin: 28px auto 44px;
    border-radius: 6px;
    box-shadow: 0 10px 28px rgba(18, 39, 51, .12);
}
.guide-body .guide-photo img {
    display: block;
    width: 100%;
    height: auto !important;
    max-height: none !important;
    object-fit: contain !important;
}
.guide-body .guide-photo figcaption {
    background: #fffdfa;
}
