/* Polices hébergées (aucun appel à Google) */
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:300;font-display:swap;src:url('../fonts/cormorant-garamond-v21-latin-300.woff2') format('woff2')}
@font-face{font-family:'Cormorant Garamond';font-style:italic;font-weight:300;font-display:swap;src:url('../fonts/cormorant-garamond-v21-latin-300italic.woff2') format('woff2')}
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/cormorant-garamond-v21-latin-regular.woff2') format('woff2')}
@font-face{font-family:'Cormorant Garamond';font-style:italic;font-weight:400;font-display:swap;src:url('../fonts/cormorant-garamond-v21-latin-italic.woff2') format('woff2')}
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:500;font-display:swap;src:url('../fonts/cormorant-garamond-v21-latin-500.woff2') format('woff2')}
@font-face{font-family:'Roboto Mono';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/roboto-mono-v31-latin-regular.woff2') format('woff2')}
@font-face{font-family:'Roboto Mono';font-style:normal;font-weight:500;font-display:swap;src:url('../fonts/roboto-mono-v31-latin-500.woff2') format('woff2')}
:root{
  --ecru:#fffbf4; --ecru-titre:#f3e9d7; --sable:#af9979; --beige:#d8c7af; --foret:#2a3421;
  --jaune:#fcca45;     /* le jaune de son Instagram, relevé sur sa capture : filets des liens et petits traits */
  --vert-titre:#3b4c36; /* vert forêt des grands titres, un peu moins sombre que le texte */
  --lac:#4a8c93;        /* turquoise du lac, peu saturé */
  --lac-fonce:#2f6b72;  /* même teinte, pour les petits textes */
  --vert-lac:#25382c;   /* vert sombre à peine bleuté, bandeau du bas */
  --serif:"Cormorant Garamond","Cormorant",Georgia,"Times New Roman",serif;
  --gut:clamp(18px,4vw,56px);
  --max:1320px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;font-size:108%}
body{margin:0;background:var(--ecru);color:var(--foret);font-family:var(--serif);font-weight:400;font-size:clamp(20px,1.62vw,24px);line-height:1.5;-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%;height:auto}
a{color:inherit}
em{font-style:italic}

/* ligne du haut, façon rubriques de magazine */
.topline{display:flex;flex-wrap:wrap;justify-content:center;padding:9px var(--gut);border-bottom:1px solid var(--sable);font-family:'Roboto Mono',ui-monospace,monospace;font-size:.72rem;letter-spacing:.07em;text-transform:uppercase;font-weight:400}
.topline span{padding:0 16px;border-left:1px solid var(--sable)}
.topline span:first-child{border-left:0}
.topline .welcome{color:var(--lac-fonce)}

header.nav{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:22px var(--gut) 18px;flex-wrap:wrap}
.wordmark{display:inline-flex;align-items:center;gap:14px;font-size:1.9rem;font-weight:300;letter-spacing:.01em;text-decoration:none;line-height:1}
.wordmark em{font-style:italic}
nav ul{list-style:none;display:flex;gap:30px;margin:0;padding:0;flex-wrap:wrap}
nav a{text-decoration:none;font-family:'Roboto Mono',ui-monospace,monospace;font-size:.78rem;letter-spacing:.06em;text-transform:uppercase;font-weight:400;padding-bottom:3px;border-bottom:1px solid transparent}
nav a:hover,nav a[aria-current]{border-bottom-color:var(--foret)}

/* en-tête : portrait sur la moitié droite, titre en haut qui enjambe la photo */
.hero{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:auto 1fr;position:relative;min-height:clamp(560px,calc(100svh - 118px),1000px)}
.hero-photo{grid-column:2;grid-row:1 / span 2;position:relative;margin:0;min-height:0}
.hero-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 50%}
.titre{grid-column:1 / -1;grid-row:1;position:relative;z-index:3;display:grid;grid-template-columns:1fr 1fr;align-self:start;margin:0;padding:clamp(6px,1.6vh,22px) 0 0;font-weight:300;font-size:clamp(4rem,10.6vw,16rem);line-height:.98;letter-spacing:-.015em;white-space:nowrap;pointer-events:none}
.titre .t1{text-align:right;padding-right:clamp(12px,1.9vw,34px);color:var(--vert-titre)}
.titre .t2{font-size:1.1em;line-height:.88;align-self:end;position:relative;top:-.07em;padding-left:clamp(12px,1.9vw,34px);color:var(--ecru-titre);text-shadow:0 0 28px rgba(20,28,18,.42),0 0 3px rgba(20,28,18,.22)}
.hero-text{grid-column:1;grid-row:2;justify-self:end;width:min(100%,56ch);display:flex;flex-direction:column;padding:clamp(24px,6vh,72px) clamp(40px,8.5vw,140px) 0 var(--gut)}
.hero-text .kicker{font-size:.8rem;letter-spacing:.18em;text-transform:uppercase;font-weight:500;color:var(--lac-fonce);margin:0 0 1.2em}
.hero-text p.corps{margin:0 0 1.6em;font-size:1.12rem;line-height:1.5}
.lien{white-space:nowrap;display:inline-block;align-self:flex-start;text-decoration:none;border-bottom:2px solid var(--jaune);padding-bottom:3px;font-size:.88rem;letter-spacing:.16em;text-transform:uppercase;font-weight:500}
.lien:hover{color:var(--lac-fonce);border-color:var(--lac-fonce)}

/* sommaire numéroté */
.sommaire{max-width:var(--max);margin:0 auto;padding:clamp(56px,9vw,120px) var(--gut) 0}
.sommaire ol{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--lac)}
.sommaire li{padding:22px 24px 8px 0}
.sommaire li+li{padding-left:24px;border-left:1px solid var(--sable)}
.sommaire .n{font-style:italic;font-size:2rem;color:var(--lac);display:block;line-height:1;font-weight:300}
.sommaire h2{font-weight:500;font-size:1.5rem;margin:.35em 0 .25em;line-height:1.1}
.sommaire h2 a{text-decoration:none}
.sommaire h2 a:hover{color:var(--lac-fonce)}
.sommaire p{margin:0;font-size:1.02rem;line-height:1.35}

/* galerie : grille de 12 colonnes, éléments décalés */
.galerie{max-width:var(--max);margin:0 auto;padding:clamp(56px,9vw,130px) var(--gut) 0;display:flex;flex-direction:column;gap:clamp(36px,6vw,96px)}
.rang{display:grid;grid-template-columns:repeat(12,1fr);column-gap:clamp(10px,1.6vw,24px);align-items:start}
.it{grid-column:var(--c) / span var(--s);grid-row:var(--r,auto);margin:var(--mt,0) 0 0}
.it.fin{align-self:end}
.it img{width:100%;height:auto}
figure.it{margin-bottom:0}

/* textes décalés */
.texte{font-size:1.12rem;line-height:1.5;max-width:30ch}
.texte p{margin:0}
.texte p+p{margin-top:.8em}
.texte .n{display:block;font-style:italic;color:var(--lac);font-size:1.5rem;line-height:1;margin-bottom:.4em}
.texte a{color:var(--foret);text-underline-offset:3px}
.texte em.mot{font-size:1.55em;line-height:.9;font-weight:300;padding:0 .04em}
.texte em.mot.long{font-size:1.3em;line-height:1.05}

/* exergues : petits blocs de couleur sur le côté */
.exergue{padding:clamp(22px,2.4vw,34px) clamp(18px,2vw,28px);font-style:italic;font-weight:300;font-size:clamp(1.35rem,2.1vw,1.95rem);line-height:1.1;position:relative}
.exergue::before{content:"";display:block;width:58px;height:1px;background:currentColor;margin-bottom:22px}
.exergue::after{content:"";display:block;width:26px;height:2px;background:var(--jaune);margin-top:22px;margin-left:34px}
.exergue.nu{padding:0}
.ex-foret{color:var(--foret)}
.exergue.long{font-size:clamp(1.6rem,2.9vw,2.7rem);line-height:1.1}
.texte.encart{background:var(--vert-lac);color:var(--ecru-titre);padding:clamp(20px,2vw,30px);max-width:none;font-size:1.12rem}
.ex-lacfonce{color:var(--lac-fonce)}

/* contact */
.contact{margin-top:clamp(72px,11vw,150px);background:var(--vert-lac);color:var(--ecru-titre);padding:clamp(56px,9vw,120px) var(--gut);text-align:center}
.contact h2{font-weight:300;font-size:clamp(2.4rem,5.2vw,4.4rem);margin:0 0 .35em;line-height:1}
.contact p{max-width:44ch;margin:0 auto 1.8em}
.contact .lien{border-color:var(--jaune);color:var(--ecru-titre);align-self:auto}
.contact .lien:hover{color:var(--beige)}

.logo-pied{width:44px;height:44px}
footer{max-width:var(--max);margin:0 auto;padding:30px var(--gut) 40px;font-size:.9rem;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px 28px;color:var(--foret)}
footer span:first-child{justify-self:start}
footer span:last-child{justify-self:end;text-align:right}
.logo-pied{justify-self:center}

@media (max-width:900px){
  .sommaire ol{grid-template-columns:repeat(2,1fr)}
  .sommaire li:nth-child(3){padding-left:0;border-left:0}
  .sommaire li:nth-child(n+3){border-top:1px solid var(--sable);margin-top:16px;padding-top:22px}
}
@media (max-width:760px){
  .hero{grid-template-columns:1fr;grid-template-rows:auto auto;min-height:0}
  .hero-photo{grid-column:1;grid-row:1;aspect-ratio:4/5}
  .titre{grid-column:1;grid-row:1;display:block;padding:7% var(--gut) 0;font-size:clamp(3rem,16.5vw,5.6rem);white-space:normal;line-height:.95}
  .titre .t2{font-size:1em;line-height:inherit;top:0}
  .titre .t1,.titre .t2{display:block;text-align:left;padding:0;color:var(--ecru-titre);text-shadow:0 0 28px rgba(20,28,18,.45),0 0 3px rgba(20,28,18,.25)}
  .hero-text{grid-column:1;grid-row:2;justify-self:stretch;width:auto;padding:28px var(--gut) 0}
  .topline span{padding:3px 12px;border-left:0}
  footer{grid-template-columns:1fr;justify-items:center;text-align:center;gap:16px}
  footer span:first-child,footer span:last-child{justify-self:center;text-align:center}
  .logo-pied{order:-1}
  nav ul{gap:16px}
  /* galerie en colonne : tailles conservées, décalage alterné */
  .rang{display:flex;flex-direction:column;gap:28px}
  .it{margin:0}
  .it.s{width:58%}.it.m{width:78%}.it.l{width:100%}
  .rang .it:nth-child(even){align-self:flex-end}
  .texte,.exergue{max-width:none;width:100%}
  .exergue{align-self:stretch!important}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.logo-nom{width:38px;height:38px;flex:none}

/* ---------- page À propos ---------- */
.ap-tete{display:grid;grid-template-columns:7fr 5fr;gap:clamp(20px,4vw,64px);max-width:var(--max);margin:0 auto;padding:clamp(18px,4vh,48px) var(--gut) 0;align-items:end}
.ap-titre h1{font-weight:300;font-size:clamp(4.4rem,11vw,11.5rem);line-height:.92;letter-spacing:-.015em;margin:0 0 .22em}
.ap-titre h1 em{display:block;color:var(--lac-fonce);padding-left:.55em}
.ap-lede{font-size:1.2rem;line-height:1.4;max-width:30ch;margin:0 0 1em clamp(0px,3vw,48px)}
.ap-portrait{margin:0;position:relative}
.ap-portrait img{width:100%;height:auto;max-height:78vh;object-fit:cover;object-position:50% 20%}
.ap-portrait figcaption,.rub{font-family:'Roboto Mono',ui-monospace,monospace;font-size:.72rem;letter-spacing:.07em;text-transform:uppercase}
.ap-portrait figcaption{margin-top:10px;color:var(--lac-fonce)}
.rub{display:flex;gap:.5ch;align-items:baseline;margin:0 0 1.1em!important;color:var(--lac-fonce);border-top:1px solid var(--lac);padding-top:12px}
.rub span{font-style:italic;font-family:var(--serif);font-size:1.5rem;letter-spacing:0;text-transform:none;line-height:1}
.page-apropos .texte{max-width:46ch;font-size:1.12rem}
.page-apropos .texte.intro{font-size:1.12rem;max-width:38ch}
.page-apropos .texte.encart .rub{color:var(--beige);border-color:var(--beige)}
.page-apropos .texte.encart .rub span{color:var(--ecru-titre)}
.lien-nues{margin-top:1.4em!important}
.lien-nues .lien{color:var(--lac-fonce);border-color:var(--jaune)}
.lien-nues .lien:hover{color:var(--foret);border-color:var(--foret)}
.page-apropos .exergue.long{font-size:clamp(1.6rem,2.9vw,2.7rem);line-height:1.1}
.page-apropos .exergue:not(.long){font-size:clamp(1.35rem,2.1vw,1.95rem)}
@media (max-width:760px){
  .ap-tete{grid-template-columns:1fr}
  .ap-titre h1{font-size:clamp(3.6rem,19vw,6rem)}
  .ap-lede{margin-left:0}
  .ap-portrait img{max-height:none}
  .page-apropos .texte{max-width:none}
}

/* emplacements de photos (en attendant le choix) */
.emplacement{width:100%;background:var(--beige);opacity:.55;display:flex;align-items:center;justify-content:center;border:1px dashed var(--sable)}
.emplacement span{font-family:'Roboto Mono',ui-monospace,monospace;font-size:1.6rem;color:var(--foret)}
.ap-portrait .emplacement{max-height:78vh}

/* À propos : portrait à gauche, « Qui » sur la photo, « regarde ? » à côté */
.ap-tete{display:grid;grid-template-columns:5fr 7fr;column-gap:0;grid-template-rows:auto 1fr;max-width:var(--max);margin:0 auto;padding:clamp(10px,2vh,28px) var(--gut) 0;align-items:start}
.ap-portrait{grid-column:1;grid-row:1 / span 2;margin:0}
.ap-portrait img{width:100%;height:auto;max-height:80vh;object-fit:cover;object-position:50% 20%}
.ap-tete h1{grid-column:1 / -1;grid-row:1;position:relative;z-index:3;display:grid;grid-template-columns:5fr 7fr;margin:0;padding-top:clamp(70px,14vh,170px);font-weight:300;font-size:clamp(4rem,9.4vw,10.5rem);line-height:.95;letter-spacing:-.015em;white-space:nowrap;pointer-events:none}
.ap-tete h1 .q{text-align:right;padding-right:clamp(12px,1.9vw,34px);color:var(--ecru-titre);text-shadow:0 0 28px rgba(20,28,18,.42),0 0 3px rgba(20,28,18,.22)}
.ap-tete h1 em{display:block;color:var(--vert-titre);padding-left:clamp(12px,1.9vw,34px)}
.ap-tete .ap-lede{grid-column:2;grid-row:2;align-self:start;margin:clamp(24px,5vh,56px) 0 0;padding-left:clamp(12px,1.9vw,34px);font-size:1.2rem;line-height:1.4;max-width:30ch}
@media (max-width:760px){
  .ap-tete{grid-template-columns:1fr;grid-template-rows:auto}
  .ap-portrait{grid-column:1;grid-row:1}
  .ap-tete h1{grid-column:1;grid-row:2;display:block;padding-top:22px;font-size:clamp(3.6rem,19vw,6rem);white-space:normal}
  .ap-tete h1 .q{display:inline;padding:0;color:var(--vert-titre);text-shadow:none}
  .ap-tete h1 em{display:inline;padding:0}
  .ap-tete .ap-lede{grid-column:1;grid-row:3;padding-left:0}
}

.ap-tete .ap-lede{padding-left:clamp(36px,5.2vw,96px)}
@media (max-width:760px){.ap-tete .ap-lede{padding-left:0}}

/* légende de photo et lien Instagram */
.legende{font-family:'Roboto Mono',ui-monospace,monospace;font-size:.7rem;letter-spacing:.06em;text-transform:uppercase;color:var(--lac-fonce);margin-top:10px;line-height:1.4}
nav a.nav-insta{display:inline-flex;align-items:center;padding:0 0 3px;border-bottom:1px solid transparent}
nav a.nav-insta:hover{color:var(--lac-fonce);border-bottom-color:var(--jaune)}
.insta{max-width:var(--max);margin:clamp(70px,10vw,140px) auto 0;padding:0 var(--gut);display:grid;grid-template-columns:repeat(12,1fr);column-gap:clamp(10px,1.6vw,24px)}
.insta .rub{grid-column:2 / span 4;margin-bottom:1.1em}
.insta p:not(.rub){grid-column:2 / span 4;margin:0 0 1.4em;font-size:1.12rem;max-width:52ch}
.insta .lien{grid-column:2 / span 4}
@media (min-width:761px){.insta{margin-top:-21vw}}
@media (max-width:760px){.insta .rub,.insta p:not(.rub),.insta .lien{grid-column:1 / -1}}
.insta .lien{justify-self:start}
nav ul{align-items:center}
nav a.nav-insta{position:relative;top:4px}

/* page « histoire » (blog Pic-Time intégré) */
.hi-tete{max-width:900px;margin:0 auto;padding:clamp(24px,5vh,56px) var(--gut) 0}
.hi-retour{margin:0 0 clamp(28px,5vh,48px)}
.hi-tete h1{font-weight:300;font-size:clamp(2.6rem,6vw,5.4rem);line-height:.98;letter-spacing:-.015em;margin:.1em 0 0;color:var(--vert-titre)}
.hi-sous{font-family:'Roboto Mono',monospace;text-transform:uppercase;letter-spacing:.16em;font-size:.95rem;margin:1.1em 0 0;color:var(--lac-fonce)}
.hi-intro{font-size:1.12rem;line-height:1.5;max-width:46ch;margin:1.6em 0 0}
.hi-blog{max-width:1180px;margin:clamp(36px,6vw,80px) auto 0;padding:0 var(--gut)}

/* page Histoires photographiques */
.hi-tete h1 em{font-style:italic;color:var(--lac-fonce)}
.hl-liste{max-width:1180px;margin:clamp(36px,6vw,80px) auto 0;padding:0 var(--gut);display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(40px,6vw,96px) clamp(28px,5vw,80px);align-items:start}
.hl-carte:nth-child(even){margin-top:clamp(60px,10vw,160px)}
@media (max-width:700px){.hl-liste{grid-template-columns:1fr}.hl-carte:nth-child(even){margin-top:0}}
.hl-carte a{display:block;text-decoration:none;color:inherit}
.hl-photo{aspect-ratio:4/5;overflow:hidden;background:var(--beige,#d8c7af);margin-bottom:1.2em}
.hl-photo img,.hl-photo .emplacement{width:100%;height:100%;object-fit:cover;object-position:50% 85%;display:flex;align-items:center;justify-content:center}
.hl-carte h2{font-weight:300;font-size:clamp(1.8rem,2.6vw,2.4rem);line-height:1.05;margin:.2em 0 0;color:var(--vert-titre)}
.hl-ini{font-family:'Roboto Mono',monospace;text-transform:uppercase;letter-spacing:.16em;font-size:.8rem;margin:.7em 0 0;color:var(--lac-fonce)}
.hl-phrase{font-size:1.1rem;line-height:1.4;margin:.9em 0 1em;max-width:34ch}

/* page Contact */
.ct-form{max-width:900px;margin:clamp(36px,6vw,72px) auto 0;padding:0 var(--gut) clamp(60px,9vw,120px)}
.ct-form form{display:grid;gap:clamp(22px,3vw,34px)}
.ct-ligne{display:grid;grid-template-columns:1fr 1fr;gap:clamp(22px,3vw,40px)}
.ct-form label,.ct-form legend{font-family:'Roboto Mono',monospace;text-transform:uppercase;letter-spacing:.12em;font-size:.78rem;color:var(--lac-fonce);display:block}
.ct-form .req{color:var(--vert-titre)}.ct-form .opt{text-transform:none;letter-spacing:0;opacity:.8}
.ct-form input[type=text],.ct-form input[type=email],.ct-form input[type=tel],.ct-form textarea{display:block;width:100%;margin-top:.5em;padding:.45em 0;font:inherit;font-family:'Cormorant Garamond',serif;font-size:1.3rem;letter-spacing:0;text-transform:none;color:var(--foret);background:transparent;border:0;border-bottom:1px solid var(--sable);border-radius:0;outline:0}
.ct-form textarea{border:1px solid var(--sable);padding:.6em .7em;resize:vertical}
.ct-form input:focus,.ct-form textarea:focus{border-color:var(--lac-fonce);box-shadow:0 2px 0 var(--jaune)}
.ct-form fieldset{border:0;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:.7em 1.6em}
.ct-form legend{padding:0;margin-bottom:.8em;width:100%}
.ct-choix{display:inline-flex!important;align-items:center;gap:.6em;cursor:pointer}
.ct-choix input,.ct-consent input{accent-color:var(--vert-titre);width:1.05em;height:1.05em}
.ct-choix span{font-family:'Cormorant Garamond',serif;font-size:1.25rem;text-transform:none;letter-spacing:0;color:var(--foret)}
.ct-consent{display:flex!important;gap:.8em;align-items:flex-start;text-transform:none!important;letter-spacing:0!important;font-family:'Cormorant Garamond',serif!important;font-size:1.05rem!important;color:var(--foret)!important}
.ct-envoyer{justify-self:start;font-family:'Roboto Mono',monospace;text-transform:uppercase;letter-spacing:.14em;font-size:.9rem;padding:1em 2.2em;color:#fffbf4;background:var(--vert-titre);border:0;cursor:pointer;transition:background .2s}
.ct-envoyer:hover,.ct-envoyer:focus-visible{background:#25382c}
.ct-piege{position:absolute;left:-9999px;height:0;overflow:hidden}
@media (max-width:700px){.ct-ligne{grid-template-columns:1fr}}
.ct-form select{display:block;width:100%;margin-top:.5em;padding:.45em 1.8em .45em 0;font-family:'Cormorant Garamond',serif;font-size:1.3rem;letter-spacing:0;text-transform:none;color:var(--foret);background:transparent;border:0;border-bottom:1px solid var(--sable);border-radius:0;outline:0;appearance:none;-webkit-appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none' stroke='%232f6b72' stroke-width='1.5'%3E%3Cpath d='M1 1.5l5 5 5-5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .2em center}
.ct-form select:focus{border-color:var(--lac-fonce);box-shadow:0 2px 0 var(--jaune)}
.ct-form .ct-aide{display:block;margin-top:.6em;font-family:'Cormorant Garamond',serif;font-style:italic;text-transform:none;letter-spacing:0;font-size:1.1rem;line-height:1.35;color:var(--lac-fonce)}
.ct-form .ct-sans{display:flex;align-items:center;gap:.6em;margin-top:.7em;font-family:'Cormorant Garamond',serif;font-size:1.05rem;text-transform:none;letter-spacing:0;color:var(--foret)}
.ct-form .ct-sans input{accent-color:var(--vert-titre);width:1em;height:1em;margin:0}
.ct-form input:disabled{opacity:.4}
/* menus déroulants personnalisés */
.cs{position:relative;margin-top:.5em}
.cs select{position:absolute;left:0;bottom:0;width:100%;height:1px;opacity:0;pointer-events:none;margin:0;padding:0;border:0}
.cs-btn{display:block;width:100%;text-align:left;padding:.45em 1.8em .45em 0;font-family:'Cormorant Garamond',serif;font-size:1.3rem;letter-spacing:0;text-transform:none;color:var(--foret);background:transparent;border:0;border-bottom:1px solid var(--sable);border-radius:0;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none' stroke='%232f6b72' stroke-width='1.5'%3E%3Cpath d='M1 1.5l5 5 5-5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .2em center}
.cs-btn.vide{opacity:.6;font-style:italic}
.cs-btn:focus-visible,.cs-btn[aria-expanded=true]{outline:0;border-color:var(--lac-fonce);box-shadow:0 2px 0 var(--jaune)}
.cs-btn.invalide{border-bottom-color:#a1503a}
.cs-liste{position:absolute;z-index:20;left:0;right:0;top:100%;margin:6px 0 0;padding:.4em 0;list-style:none;background:var(--ecru);border:1px solid var(--sable);box-shadow:0 14px 30px rgba(42,52,33,.12)}
.cs-liste[hidden]{display:none}
.cs-liste li{padding:.5em 1em;font-family:'Cormorant Garamond',serif;font-size:1.25rem;line-height:1.2;text-transform:none;letter-spacing:0;color:var(--foret);cursor:pointer}
.cs-liste li:hover,.cs-liste li:focus{outline:0;background:var(--ecru-titre);color:var(--vert-titre)}
/* contact : formulaire + informations pratiques */
.ct-grille{max-width:1180px;margin:clamp(36px,6vw,72px) auto 0;padding:0 var(--gut) clamp(60px,9vw,120px);display:grid;grid-template-columns:minmax(0,7fr) minmax(0,4fr);gap:clamp(40px,7vw,110px);align-items:start}
.ct-grille .ct-form{max-width:none;margin:0;padding:0}
.ct-infos{padding-top:.4em}
.ct-infos .rub{margin:2.2em 0 .6em;font-weight:500}
.ct-infos .rub:first-child{margin-top:0}
.ct-infos p{margin:0 0 .7em;line-height:1.45}
.ct-etapes{list-style:none;margin:0;padding:0}
.ct-etapes li{display:flex;gap:1em;align-items:baseline;padding:.55em 0;border-bottom:1px solid var(--sable)}
.ct-etapes li:first-child{border-top:1px solid var(--sable)}
.ct-etapes span{font-family:'Roboto Mono',monospace;font-size:.8rem;letter-spacing:.1em;color:var(--lac-fonce)}
@media (max-width:900px){.ct-grille{grid-template-columns:1fr}}
.ct-infos{font-size:.86em}
.teaser-bloc .rub{margin:0 0 .5em}
.teaser-bloc .teaser{font-style:italic;font-weight:300;font-size:clamp(1.8rem,3vw,2.8rem);line-height:1.1;margin:0;color:var(--lac-fonce)}
.rg-sep{margin-top:clamp(80px,12vw,180px)}
.rg-sep .rg-titre{font-weight:300;font-size:clamp(2.6rem,6vw,5.4rem);line-height:.98;letter-spacing:-.015em;margin:.1em 0 0;color:var(--vert-titre)}
.rg-sep .rg-titre em{font-style:italic;color:var(--lac-fonce)}
.rg-sep{margin-top:clamp(80px,12vw,180px)}
.rg-sep .rg-titre{font-weight:300;font-size:clamp(2.6rem,6vw,5.4rem);line-height:.98;letter-spacing:-.015em;margin:.1em 0 0;color:var(--vert-titre)}
.rg-sep .rg-titre em{font-style:italic;color:var(--lac-fonce)}
/* Regard : numéros précédents et teaser */
.rg-teaser{max-width:900px;margin:clamp(60px,9vw,120px) auto 0;padding:0 var(--gut)}
.rg-teaser .rub{margin:0 0 .5em}
.rg-teaser .teaser{display:block;font-style:italic;font-weight:300;font-size:clamp(1.8rem,3vw,2.8rem);line-height:1.1;margin:0 0 .6em;color:var(--lac-fonce);text-decoration:none}
.rg-teaser .teaser:hover{color:var(--vert-titre)}
.rg-autres{max-width:1180px;margin:clamp(70px,10vw,140px) auto 0;padding:0 var(--gut)}
.rg-cartes{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,230px));gap:clamp(24px,3vw,44px);margin-top:1em}
.rg-carte a{display:block;text-decoration:none;color:inherit}
.rg-cphoto{aspect-ratio:4/5;overflow:hidden;background:var(--beige)}
.rg-cphoto img,.rg-cphoto .emplacement{width:100%;height:100%;object-fit:cover;display:flex;align-items:center;justify-content:center}
.rg-carte .rub{margin:.9em 0 .2em}
.rg-carte h3{font-weight:300;font-size:1.35rem;line-height:1.1;margin:0;color:var(--vert-titre)}
.rg-carte h3 em{font-style:italic;color:var(--lac-fonce)}
.rg-carte a:hover h3{color:var(--lac-fonce)}
/* guide de préparation */
.liste-guide{list-style:none;margin:.2em 0 1em;padding:0}
.liste-guide li{padding:.45em 0 .45em 1.1em;position:relative;border-bottom:1px solid var(--sable);line-height:1.3}
.liste-guide li::before{content:"";position:absolute;left:0;top:1.05em;width:.5em;height:2px;background:var(--jaune)}
.liste-guide li:first-child{border-top:1px solid var(--sable)}
.encart .lien,.encart a.lien{color:var(--ecru-titre)}
.liste-guide.cols{columns:2;column-gap:2.2em}.liste-guide.cols li{break-inside:avoid}@media (max-width:700px){.liste-guide.cols{columns:1}}

.rub b{font-weight:inherit}
.liste-guide.cols{columns:3;column-gap:2em}@media (max-width:1100px){.liste-guide.cols{columns:2}}@media (max-width:700px){.liste-guide.cols{columns:1}}
.texte.large{max-width:none}.texte.large>p{max-width:36ch}.texte.large>.liste-guide{max-width:none}
.texte.large>p:first-child{margin-bottom:1.8em}.texte.large>.liste-guide+p{margin-top:2em}.texte.large>.liste-guide.cols{column-gap:3em}
.liste-guide.cols li:first-child{border-top:0}

/* flèche pour remonter en haut de page */
.haut{position:fixed;left:clamp(14px,2.2vw,32px);bottom:clamp(14px,2.2vw,32px);width:46px;height:46px;border-radius:50%;border:1px solid var(--foret);background:var(--ecru);color:var(--foret);display:flex;align-items:center;justify-content:center;cursor:pointer;opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity .3s,transform .3s,visibility .3s,background .2s,color .2s;z-index:50;padding:0}
.haut.visible{opacity:1;visibility:visible;transform:none}
.haut:hover,.haut:focus-visible{background:var(--foret);color:var(--ecru)}
@media print{.haut{display:none}}
.page-guide .exergue.long{font-size:clamp(1.5rem,2.6vw,2.4rem);line-height:1.12}
.contact .tel{margin:1.6em auto 0;font-family:'Roboto Mono',ui-monospace,monospace;font-size:.95rem;letter-spacing:.07em}
.contact .tel a{color:var(--ecru-titre);text-decoration:none;border-bottom:2px solid var(--jaune);padding-bottom:4px}
.contact .tel a:hover{color:var(--beige)}

/* page tarifs */
.etiq{font-family:'Roboto Mono',ui-monospace,monospace;font-size:.72rem;letter-spacing:.07em;text-transform:uppercase;color:var(--lac-fonce);margin:1.6em 0 .3em!important}
.etiq:first-child{margin-top:0!important}
.avis-t{font-style:italic;font-size:1.25rem;line-height:1.35;margin:0 0 .8em;color:var(--vert-titre)}
.avis-qui{font-family:'Roboto Mono',ui-monospace,monospace;font-size:.72rem;letter-spacing:.07em;text-transform:uppercase;color:var(--lac-fonce)}
.avis-bloc{border-top:1px solid var(--lac);padding-top:14px}
.aremplir{background:var(--beige);padding:.1em .45em;border:1px dashed var(--sable)}
.tf-grille{display:grid;grid-template-columns:repeat(2,minmax(0,22rem));gap:2.4em 5rem;margin:3.6em auto 0;justify-content:center;align-items:start}
.tf-grille>.tf-carte:nth-child(2){margin-top:7rem}
.tf-carte{border-top:1px solid var(--lac);padding-top:14px}
.tf-carte h3{font-weight:400;font-size:1.7rem;margin:0 0 .4em;color:var(--vert-titre)}
.tf-carte .prix{margin-top:.8em}
.tf-dep{margin-top:2.4em!important}
.texte.large>.tf-grille p{max-width:none}
@media (max-width:760px){.tf-grille{grid-template-columns:1fr}.tf-grille>.tf-carte:nth-child(2){margin-top:0}}
.tf-sous{font-family:'Roboto Mono',ui-monospace,monospace;font-size:.72rem;letter-spacing:.07em;text-transform:uppercase;color:var(--lac-fonce);margin:0 0 1.2em!important}
.tf-offre{margin:0 0 1.2em}
.tf-prix{font-size:2.2rem;font-weight:300;line-height:1.05;color:var(--vert-titre);margin:0 0 .15em!important}
.tf-barre{font-size:1rem;color:var(--sable);text-decoration:line-through;margin-left:.4em}
.tf-note{font-size:.95em;margin:.4em 0 0!important}
.tf-infos{max-width:56ch;margin-top:3em}
.texte.large>.tf-infos p{max-width:none}
.tf-extra{font-style:italic;color:var(--lac-fonce);margin:.2em 0 0!important;font-size:.95em}
.texte.avis-bloc{max-width:38ch}

/* mentions légales */
.legal{max-width:var(--max);margin:0 auto;padding:clamp(60px,8vw,110px) var(--gut) 0}
.legal h1{font-weight:300;font-size:clamp(2.6rem,6vw,5rem);line-height:.98;letter-spacing:-.015em;margin:0 0 .6em;color:var(--vert-titre)}
.legal h1 em{font-style:italic}
.legal>h1{max-width:none}
.legal .blocs{columns:3;column-gap:clamp(30px,4vw,64px)}
.legal .bloc{break-inside:avoid;margin:0 0 2.2em}
.legal .bloc h2{margin-top:0}
@media (max-width:1100px){.legal .blocs{columns:2}}
@media (max-width:700px){.legal .blocs{columns:1}}
.legal h2{font-family:'Roboto Mono',ui-monospace,monospace;font-weight:400;font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:var(--lac-fonce);border-top:1px solid var(--lac);padding-top:14px;margin-top:2.4em;margin-bottom:.8em}
.legal p{font-size:1.12rem;line-height:1.5;margin:0 0 1em}
.legal a{color:inherit;text-decoration:none;border-bottom:2px solid var(--jaune)}
footer a{color:inherit;text-decoration:none;border-bottom:1px solid var(--jaune)}

.legal ul{margin:0 0 1em;padding:0;list-style:none}
.legal li{font-size:1.12rem;line-height:1.5;margin:0 0 .6em;padding-left:1.1em;position:relative}
.legal li::before{content:'';position:absolute;left:0;top:.72em;width:.5em;height:1px;background:var(--lac-fonce)}
.legal .intro-legal{max-width:62rem;margin:0 0 2.6em}
.texte.encart .rub{color:var(--beige);border-color:var(--jaune)}
.texte.encart .rub span,.texte.encart .rub b{color:var(--jaune)}
.lien-txt{color:inherit;text-decoration:none;border-bottom:2px solid transparent;transition:border-color .2s}
.lien-txt:hover,.lien-txt:focus-visible{border-bottom-color:var(--jaune)}
.contact .autres-zones{margin-top:2.4em;font-size:.95rem;color:var(--beige)}
.contact .autres-zones .lien{margin:0 .4em;color:var(--ecru-titre);white-space:normal}
.lien-discret{color:inherit;text-decoration:none;cursor:text}

/* menu déployable (téléphone) */
.menu-bouton{display:none}
@media (max-width:760px){
  .topline{padding:8px var(--gut)}
  .topline{font-size:.62rem;letter-spacing:.05em}
  .topline span{text-align:center;padding:2px 8px}
  .topline span:nth-child(3){display:none}
  header.nav{flex-wrap:wrap;gap:0;padding:14px var(--gut) 12px}
  .nav.menu-js .wordmark{font-size:1.6rem}
  .nav.menu-js .menu-bouton{display:inline-flex;align-items:center;gap:9px;margin-left:auto;background:none;border:0;padding:8px 0 8px 12px;color:inherit;cursor:pointer;font-family:'Roboto Mono',ui-monospace,monospace;font-size:.74rem;letter-spacing:.08em;text-transform:uppercase}
  .menu-bouton .barres{display:inline-block;width:20px;height:11px;position:relative;border-top:1.4px solid currentColor;border-bottom:1.4px solid currentColor;transition:border-color .2s}
  .menu-bouton .barres::after{content:"";position:absolute;left:0;right:0;top:50%;border-top:1.4px solid currentColor;transform:translateY(-50%);transition:transform .2s}
  .nav.menu-js.ouvert .barres{border-color:transparent}
  .nav.menu-js.ouvert .barres::before,.nav.menu-js.ouvert .barres::after{content:"";position:absolute;left:0;right:0;top:50%;border-top:1.4px solid currentColor}
  .nav.menu-js.ouvert .barres::before{transform:rotate(45deg)}
  .nav.menu-js.ouvert .barres::after{transform:rotate(-45deg)}
  .nav.menu-js nav{display:none;width:100%;flex-basis:100%}
  .nav.menu-js.ouvert nav{display:block;margin-top:10px;border-top:1px solid var(--sable)}
  .nav.menu-js nav ul{flex-direction:column;align-items:stretch;gap:0}
  .nav.menu-js nav li{border-bottom:1px solid var(--beige)}
  .nav.menu-js nav a{display:block;padding:13px 0;border-bottom:0;font-size:.82rem}
  .nav.menu-js nav a[aria-current]{color:var(--lac-fonce)}
  .nav.menu-js nav a.nav-insta{display:flex;top:0;padding:13px 0}
}

br.mob{display:none}
@media (max-width:760px){br.mob{display:inline}}
