img{height:auto}
:root{color-scheme:light;box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}html{scroll-padding-top:env(safe-area-inset-top,0px)}body{margin:0;padding:0;font:14px -apple-system,BlinkMacSystemFont,sans-serif;background:#fff;color:#000}img{max-width:100%}[hidden]:not([hidden=until-found i]){display:none!important}
/* Ajouts légers V3 : le style initial et les photographies sont conservés */
.hero-keywords{font-size:.84rem;letter-spacing:.06em;color:var(--ink-soft);margin:12px auto 0;text-align:center}
.story-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-top:38px}
.story-card{background:var(--bg);border:1px solid var(--line);border-radius:18px;overflow:hidden;display:flex;flex-direction:column;min-width:0}
.story-card img{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;object-position:center center;background:#f8f1e5}
.story-card .story-body{padding:25px;display:flex;flex-direction:column;gap:12px;flex:1}
.story-card h3{font-size:1.45rem;margin:0}
.story-card p{margin:0;color:var(--ink-soft)}
.story-card .story-k{font-size:.72rem;text-transform:uppercase;letter-spacing:.15em;color:var(--sky)}
.story-card .story-note{font-size:.76rem;margin-top:auto;padding-top:12px}
.story-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}
.story-intro{max-width:760px}
@media(max-width:800px){.story-grid{grid-template-columns:1fr 1fr}.story-card img{aspect-ratio:4/5}}
@media(max-width:580px){.story-grid{grid-template-columns:1fr}.story-card img{aspect-ratio:4/5}.story-card .story-body{padding:22px}}

/* Retours des clientes — ajout V5, sans modification du style existant */
.client-feedback-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-top:38px}
.client-feedback{margin:0;background:var(--surface);border:1px solid var(--line);border-radius:24px;padding:clamp(22px,3vw,34px);display:flex;flex-direction:column;gap:14px}
.client-feedback-mark{font-family:Georgia,serif;font-size:4rem;line-height:.7;color:var(--gold)}
.client-feedback blockquote{margin:0;line-height:1.75;font-size:.94rem;color:var(--ink-soft);flex:1}
.client-feedback figcaption{padding-top:16px;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:3px;font-size:.9rem}
.client-feedback figcaption span{color:var(--ink-faint);font-size:.84rem}
@media(max-width:900px){.client-feedback-grid{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.client-feedback-grid{grid-template-columns:1fr}}

/* Harmonisation prémium V14 — page témoignages */
.anchor-pills{display:flex;flex-wrap:wrap;gap:12px;margin-top:10px}
.anchor-pills a{text-decoration:none;padding:10px 16px;border-radius:999px;border:1px solid var(--line);background:color-mix(in srgb,var(--surface) 88%, transparent);color:var(--ink);font-size:.9rem;letter-spacing:.02em;box-shadow:0 8px 24px rgba(11,35,71,.06)}
.anchor-pills a:hover{border-color:var(--gold-bright);transform:translateY(-1px)}
.testi-hero-panel{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.85fr);gap:28px;padding:clamp(24px,4vw,38px);border:1px solid var(--line);border-radius:28px;background:linear-gradient(180deg,color-mix(in srgb,var(--surface) 96%,transparent),color-mix(in srgb,var(--bg-2) 92%,transparent));box-shadow:0 18px 45px rgba(11,35,71,.08)}
.testi-hero-panel.alt{background:linear-gradient(180deg,color-mix(in srgb,var(--surface) 98%,transparent),color-mix(in srgb,#FBF3E0 56%,transparent))}
.testi-hero-panel .lead{font-size:1.22rem}
.testi-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;align-self:start}
.metric{background:color-mix(in srgb,var(--surface) 95%,transparent);border:1px solid var(--line);border-radius:20px;padding:18px 16px;display:flex;flex-direction:column;gap:6px;min-height:112px;justify-content:center}
.metric b{font-family:var(--f-display);font-size:1.9rem;line-height:1;color:var(--ink)}
.metric span{font-size:.88rem;line-height:1.45;color:var(--ink-soft)}
.story-grid.premium{margin-top:32px;gap:26px}
.story-card{border-radius:24px;box-shadow:0 16px 38px rgba(11,35,71,.08);transition:transform .22s ease, box-shadow .22s ease;position:relative}
.story-card::before{content:"";position:absolute;inset:0 0 auto 0;height:4px;background:linear-gradient(90deg,var(--gold-bright),transparent)}
.story-card:hover{transform:translateY(-3px);box-shadow:0 22px 44px rgba(11,35,71,.12)}
.story-card .story-body{padding:26px 24px 24px}
.story-card .story-k{display:inline-flex;align-items:center;gap:.5em;width:fit-content;padding:.4rem .72rem;border-radius:999px;background:color-mix(in srgb,var(--bg-2) 70%,transparent);font-size:.7rem;letter-spacing:.14em;color:var(--ink-soft)}
.story-card h3{font-size:1.9rem;line-height:1.02}
.story-card p{font-size:.98rem;line-height:1.72}
.story-card .story-note{margin-top:auto;padding-top:15px;border-top:1px solid var(--line);color:var(--ink-faint);font-size:.8rem}
.premium-note{margin-top:26px;padding:18px 20px;border-radius:18px;border:1px solid var(--line);background:color-mix(in srgb,var(--surface) 94%,transparent);font-size:.92rem;color:var(--ink-soft)}
.client-feedback-grid.premium{grid-template-columns:repeat(12,minmax(0,1fr));gap:24px;align-items:start}
.client-feedback{grid-column:span 4;border-radius:26px;box-shadow:0 14px 34px rgba(11,35,71,.08);position:relative;background:linear-gradient(180deg,color-mix(in srgb,var(--surface) 98%,transparent),color-mix(in srgb,var(--bg-2) 60%,transparent))}
.client-feedback::before{content:"";position:absolute;inset:0 auto auto 0;width:100%;height:4px;background:linear-gradient(90deg,var(--gold-bright),transparent);border-radius:26px 26px 0 0}
.client-feedback-mark{font-size:3.4rem;margin-top:6px}
.client-feedback blockquote{font-size:.98rem;line-height:1.8}
.client-feedback blockquote p + p{margin-top:1rem}
.client-feedback figcaption strong{font-family:var(--f-head);font-size:1.2rem;color:var(--ink)}
.client-feedback figcaption span{letter-spacing:.04em}
.client-feedback.compact blockquote{font-size:.94rem}
.client-feedback.wide{grid-column:span 5}
.client-feedback.featured{grid-column:span 7}
.section-title-row{display:flex;justify-content:space-between;align-items:end;gap:20px;flex-wrap:wrap}
.section-kicker{padding:10px 14px;border-radius:999px;background:color-mix(in srgb,var(--bg-2) 76%,transparent);border:1px solid var(--line);font-size:.82rem;color:var(--ink-soft)}
@media(max-width:1024px){.testi-hero-panel{grid-template-columns:1fr}.testi-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}.client-feedback-grid.premium{grid-template-columns:1fr 1fr}.client-feedback,.client-feedback.wide,.client-feedback.featured{grid-column:auto}}
@media(max-width:780px){.testi-metrics{grid-template-columns:1fr 1fr}.story-grid.premium{grid-template-columns:1fr 1fr}}
@media(max-width:580px){.anchor-pills{gap:10px}.anchor-pills a{width:100%;justify-content:center;text-align:center}.testi-metrics{grid-template-columns:1fr}.story-grid.premium{grid-template-columns:1fr}.client-feedback-grid.premium{grid-template-columns:1fr}}

/* V16 — intégration premium photographies complémentaires */
.story-grid.premium{align-items:stretch}
.photo-salon{margin-top:34px;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);gap:24px;align-items:stretch}
.salon-feature,.salon-mini,.salon-wide{background:linear-gradient(180deg,color-mix(in srgb,var(--surface) 98%,transparent),color-mix(in srgb,var(--bg-2) 56%,transparent));border:1px solid var(--line);border-radius:28px;overflow:hidden;box-shadow:0 18px 42px rgba(11,35,71,.08)}
.salon-feature img,.salon-mini img,.salon-wide img{width:100%;display:block;object-fit:cover}
.salon-feature img{aspect-ratio:4/5}
.salon-mini img{aspect-ratio:4/5}
.salon-wide img{aspect-ratio:5/3}
.salon-body{padding:22px 22px 24px}
.salon-body h3{font-family:var(--f-head);font-size:2rem;margin:0 0 10px;color:var(--ink)}
.salon-body p{margin:0;color:var(--ink-soft);line-height:1.7}
.salon-k{display:inline-flex;align-items:center;gap:.5em;width:fit-content;padding:.42rem .78rem;border-radius:999px;background:color-mix(in srgb,var(--bg-2) 76%,transparent);font-size:.72rem;letter-spacing:.14em;color:var(--ink-soft);margin-bottom:14px}
.photo-salon-stack{display:grid;grid-template-rows:auto auto;gap:24px}
.photo-salon-head{margin:30px 0 18px}
.photo-salon-head h3{font-family:var(--f-head);font-size:2rem;margin-bottom:8px;color:var(--ink)}
.photo-salon-head p{color:var(--ink-soft);max-width:58ch}
.salon-wide{margin-top:24px}
@media(max-width:960px){.photo-salon{grid-template-columns:1fr}.photo-salon-stack{grid-template-columns:1fr 1fr;grid-template-rows:none}.salon-wide{margin-top:20px}}
@media(max-width:640px){.photo-salon-stack{grid-template-columns:1fr}}
.story-card{overflow:hidden}.story-card img{transition:transform .35s ease}.story-card:hover img{transform:scale(1.018)}.story-card .story-body{display:flex;flex-direction:column;gap:10px}.story-card .story-note{margin-top:auto}.story-grid.premium{gap:26px}.salon-feature img,.salon-mini img{background:#f8f1e5}
/* V32 — Navigation desktop étendue sur toute la largeur du bandeau */
@media (min-width: 1121px) {
  .top .wrap {
    max-width: none;
    width: 100%;
    padding-inline: clamp(22px, 3vw, 42px);
    gap: clamp(18px, 2vw, 34px);
  }
  .top .brand {
    flex: 0 0 auto;
    gap: 14px;
  }
  .top .brand img { width: 46px; }
  .top .brand b { font-size: 1.08rem; }
  .top .brand small { font-size: .62rem; }
  .top .nav {
    flex: 1 1 auto;
    justify-content: space-between;
    gap: clamp(14px, 1.5vw, 26px);
    min-width: 0;
  }
  .top .nav a.nl {
    white-space: nowrap;
    font-size: clamp(.92rem, .95vw, 1.06rem);
    letter-spacing: .01em;
    line-height: 1.35;
    text-align: center;
  }
  .top .nav .btn {
    white-space: nowrap;
    flex-shrink: 0;
    padding: .84em 1.55em;
    font-size: .96rem;
    margin-left: clamp(10px, 1vw, 20px);
  }
}
@media (min-width: 1121px) and (max-width: 1350px) {
  .top .wrap { padding-inline: 18px; gap: 16px; }
  .top .nav { gap: 12px; }
  .top .nav a.nl { font-size: .92rem; }
  .top .brand { gap: 10px; }
  .top .brand b { font-size: 1rem; }
  .top .brand small { font-size: .56rem; }
}
/* Tablette : navigation mobile avant que les libellés ne se chevauchent */
@media (min-width: 921px) and (max-width: 1120px) {
  .top .menu-btn { display: inline-flex; }
  .top .nav { position: absolute; left: 0; right: 0; top: 100%; flex-direction: column; align-items: stretch; gap: 0; background: var(--bg); border-bottom: 1px solid var(--line); padding: 8px clamp(16px,4vw,40px) 20px; display: none; }
  .top .nav.open { display: flex; }
  .top .nav a.nl { padding-block: 14px; border-bottom: 1px solid var(--line); font-size: 1rem; }
  .top .nav .btn { margin-top: 16px; justify-content: center; }
}

/* V31 : recadrage vertical de Moon pour montrer tout le visage et les oreilles */
.grid4 img.moon-photo{object-fit:cover;object-position:50% 16%;}
/* V31 : Koko intégré au bloc équestre sans masquer l’image du portrait */
.koko-equine{margin-top:clamp(28px,4vw,54px)}
.koko-equine img{display:block;width:100%;height:auto;max-height:490px;object-fit:contain;border-radius:24px;background:#edf0f2}
.koko-equine figcaption{font-size:.88rem;color:var(--ink-soft);padding-top:10px;text-align:center}
/* Toutes les histoires sur une grille régulière avec texte intégral accessible */
.story-grid.premium{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;align-items:stretch}
.story-grid.premium .story-card{min-width:0;display:flex;flex-direction:column}
.story-grid.premium .story-card img{width:100%;aspect-ratio:16/10;object-fit:contain;background:#eef0ee}
.story-grid.premium .story-body{flex:1;overflow-wrap:anywhere}
.story-grid.premium .story-body p{line-height:1.65}
@media(max-width:760px){.story-grid.premium{grid-template-columns:1fr}}

/* V33 — Portrait professionnel de la fondatrice */
.bio-portrait {
  width: min(100%, 355px);
  float: right;
  margin: 0 0 28px 36px;
  border-radius: 22px;
  overflow: hidden;
  background: #f2f0ec;
  border: 1px solid var(--line);
  box-shadow: 0 18px 42px rgba(11,35,71,.08);
}
.bio-portrait img { display:block; width:100%; height:auto; aspect-ratio: 4/5; object-fit:cover; object-position:center 18%; }
.bio-portrait figcaption { padding: 13px 16px; text-align:center; font-size:.82rem; color:var(--ink-soft); }
@media(max-width:650px) { .bio-portrait { float:none; width:min(100%,360px); margin:0 auto 26px; } }


/* V34 — finitions */
[id]{scroll-margin-top:96px}
.skip{position:absolute;left:12px;top:-60px;z-index:100;background:var(--btn-bg);color:var(--btn-ink);padding:.7em 1.2em;border-radius:999px;text-decoration:none;font-size:.9rem}
.skip:focus{top:12px}
.fab-book{display:none}
@media(max-width:720px){
  .fab-book{display:inline-flex;position:fixed;right:16px;bottom:calc(16px + env(safe-area-inset-bottom,0px));z-index:60;box-shadow:0 14px 30px -10px rgba(11,35,71,.55)}
  .foot{padding-bottom:96px}
}
.print-btn{font:inherit}
@media print{
  .top,.foot,.fab-book,.skip,.story-actions,.btn{display:none!important}
  body{font-size:11pt;background:#fff;color:#000}
  .phero,.section{padding-block:12px!important;border:0}
  .legal{max-width:none}
}


/* Layout: one site, page switching by #route. Light = cream paper of the logos, dark = the navy night of the logos.
   Gold is used sparingly as the "ray of light"; sky blue only for small accents (animal emblem). */
:root{
  --bg:#FFFFFF; --bg-2:#F4F6F9; --surface:#FFFFFF;
  --ink:#0B2347; --ink-soft:#44587A; --ink-faint:#6E7D97;
  --gold:#9C7630; --gold-bright:#C9A04E; --sky:#5C88C7;
  --line:rgba(11,35,71,.14);
  --band:#0A2246; --band-2:#0F2D5A; --band-ink:#FBF3E0; --band-soft:#BFC9DC;
  --btn-bg:#0B2347; --btn-ink:#FEF7E6;
  --logo-light:block; --logo-dark:none;
  --f-display:"Cinzel","Trajan Pro",Georgia,serif;
  --f-head:"Cormorant Garamond","Garamond",Georgia,serif;
  --f-body:"Jost","Avenir Next","Segoe UI",system-ui,sans-serif;
  --wrap:1160px;
}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){
  --bg:#011E41; --bg-2:#04264E; --surface:#072B57;
  --ink:#F6EDD8; --ink-soft:#BAC5D8; --ink-faint:#8D9BB4;
  --gold:#D9B566; --gold-bright:#E6C57A; --sky:#8DB2E6;
  --line:rgba(246,237,216,.15);
  --band:#00142E; --band-2:#021B3B; --band-ink:#FBF3E0; --band-soft:#B4C0D5;
  --btn-bg:#E6C57A; --btn-ink:#011E41;
  --logo-light:none; --logo-dark:block; color-scheme:dark;
}}
:root[data-theme="dark"]{
  --bg:#011E41; --bg-2:#04264E; --surface:#072B57;
  --ink:#F6EDD8; --ink-soft:#BAC5D8; --ink-faint:#8D9BB4;
  --gold:#D9B566; --gold-bright:#E6C57A; --sky:#8DB2E6;
  --line:rgba(246,237,216,.15);
  --band:#00142E; --band-2:#021B3B; --band-ink:#FBF3E0; --band-soft:#B4C0D5;
  --btn-bg:#E6C57A; --btn-ink:#011E41;
  --logo-light:none; --logo-dark:block; color-scheme:dark;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--ink);font-family:var(--f-body);font-weight:400;font-size:17px;line-height:1.7;-webkit-font-smoothing:antialiased}
@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}
a{color:inherit}
img{max-width:100%;display:block}
.wrap{max-width:var(--wrap);margin-inline:auto;padding-inline:clamp(16px,4vw,40px)}
.lt{display:var(--logo-light)} .dk{display:var(--logo-dark)}

h1,h2,h3{font-family:var(--f-head);font-weight:500;line-height:1.12;text-wrap:balance;margin:0;color:var(--ink)}
h1{font-size:clamp(2.5rem,5.6vw,4.4rem);letter-spacing:-.01em}
h2{font-size:clamp(2rem,3.8vw,3rem)}
h3{font-size:1.65rem;font-weight:600}
p{margin:0;max-width:64ch}
.eyebrow{font-family:var(--f-display);font-size:.78rem;letter-spacing:.24em;text-transform:uppercase;color:var(--gold);display:flex;align-items:center;gap:.8em}
.eyebrow::before{content:"";width:28px;height:1px;background:currentColor}
.lead{font-family:var(--f-head);font-size:clamp(1.3rem,2vw,1.6rem);line-height:1.45;color:var(--ink-soft)}
em.g{font-style:italic;color:var(--gold)}
.muted{color:var(--ink-soft)}
.small{font-size:.88rem;color:var(--ink-faint)}
.stack{display:flex;flex-direction:column;gap:1.1rem}
.section{padding-block:clamp(64px,9vw,120px)}
.section.tint{background:var(--bg-2)}
.star{display:inline-block;width:14px;height:14px;background:var(--gold-bright);clip-path:polygon(50% 0,61% 39%,100% 50%,61% 61%,50% 100%,39% 61%,0 50%,39% 39%);flex:none}
.divider{display:flex;align-items:center;gap:14px;color:var(--gold-bright);margin-block:6px}
.divider::before,.divider::after{content:"";height:1px;flex:1;background:linear-gradient(90deg,transparent,var(--gold-bright),transparent);opacity:.7}

/* Buttons */
.btn{display:inline-flex;align-items:center;gap:.6em;font-family:var(--f-body);font-weight:500;font-size:.95rem;letter-spacing:.06em;text-decoration:none;padding:.95em 1.6em;border-radius:999px;border:1px solid transparent;cursor:pointer;transition:transform .2s ease, background .2s ease, color .2s ease}
.btn:hover{transform:translateY(-1px)}
.btn-primary{background:var(--btn-bg);color:var(--btn-ink)}
.btn-gold{background:var(--gold-bright);color:#0B2347}
.btn-ghost{border-color:var(--line);color:var(--ink);background:transparent}
.btn-ghost:hover{border-color:var(--gold-bright)}
.btn-ghost-band{border-color:rgba(251,243,224,.3);color:var(--band-ink)}
.btn .arr{transition:transform .2s}
.btn:hover .arr{transform:translateX(3px)}
:focus-visible{outline:2px solid var(--gold-bright);outline-offset:3px;border-radius:6px}
.link{color:var(--ink);text-decoration:none;border-bottom:1px solid var(--gold-bright);padding-bottom:2px;font-weight:500;letter-spacing:.03em}
.link:hover{color:var(--gold)}

/* Header */
.top{position:sticky;top:env(safe-area-inset-top,0px);z-index:50;background:color-mix(in srgb,var(--bg) 90%,transparent);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.top .wrap{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:76px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--ink)}
.brand img{width:46px;height:auto}
.brand b{font-family:var(--f-display);font-weight:600;font-size:1.06rem;letter-spacing:.16em;display:block;line-height:1.1}
.brand small{font-family:var(--f-display);font-size:.62rem;letter-spacing:.38em;color:var(--gold);display:block}
.nav{display:flex;align-items:center;gap:clamp(14px,2vw,30px)}
.nav a.nl{text-decoration:none;font-size:.92rem;letter-spacing:.04em;color:var(--ink-soft);padding-block:6px;border-bottom:1px solid transparent}
.nav a.nl:hover{color:var(--ink)}
.nav a.nl[aria-current="page"]{color:var(--ink);border-bottom-color:var(--gold-bright)}
.nav .btn{padding:.7em 1.25em;font-size:.86rem}
.menu-btn{display:none;background:none;border:1px solid var(--line);color:var(--ink);border-radius:999px;padding:.5em 1em;font:500 .85rem var(--f-body);letter-spacing:.08em;cursor:pointer}
@media (max-width:920px){
  .menu-btn{display:inline-flex}
  .nav{position:absolute;left:0;right:0;top:100%;flex-direction:column;align-items:stretch;gap:0;background:var(--bg);border-bottom:1px solid var(--line);padding:8px clamp(16px,4vw,40px) 20px;display:none}
  .nav.open{display:flex}
  .nav a.nl{padding-block:14px;border-bottom:1px solid var(--line);font-size:1rem}
  .nav .btn{margin-top:16px;justify-content:center}
}

/* Hero (home) */
.hero{position:relative;overflow:hidden;padding-block:clamp(48px,7vw,96px) clamp(56px,8vw,110px)}
.hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(32px,5vw,72px);align-items:center}
.hero-grid > *{min-width:0}
.hero h1 em{font-style:italic;color:var(--gold)}
.hero-cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:8px}
.hero-art{position:relative;aspect-ratio:1;max-width:520px;width:100%;justify-self:center}
.hero-art img{width:100%;height:100%;object-fit:contain;position:relative;z-index:1}
.hero-art::before{content:"";position:absolute;inset:8%;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--gold-bright) 28%,transparent),transparent 65%);animation:breathe 7s ease-in-out infinite;z-index:0}
@keyframes breathe{0%,100%{opacity:.55;transform:scale(.96)}50%{opacity:1;transform:scale(1.04)}}
.hero-trust{display:flex;flex-wrap:wrap;gap:8px 22px;margin-top:22px;padding-top:22px;border-top:1px solid var(--line);font-size:.9rem;color:var(--ink-soft)}
.hero-trust span{display:flex;align-items:center;gap:8px}
.hero-trust .star{width:10px;height:10px}
@media (max-width:860px){.hero-grid{grid-template-columns:1fr}.hero-art{max-width:340px;order:-1}}

/* Two universes */
.duo{display:grid;grid-template-columns:1fr 1fr;gap:clamp(16px,2.4vw,28px);margin-top:48px}
.uni{position:relative;border-radius:28px;padding:clamp(28px,4vw,48px);display:flex;flex-direction:column;gap:18px;overflow:hidden;min-width:0;text-decoration:none}
.uni-m{background:var(--band);color:var(--band-ink)}
.uni-m h3{color:var(--band-ink)}
.uni-m p{color:var(--band-soft)}
.uni-a{background:var(--surface);border:1px solid var(--line)}
.uni-a p{color:var(--ink-soft)}
.uni .logo{width:132px;height:132px;object-fit:contain}
.uni .logo.round{clip-path:circle(46.6% at 50% 50%)}
.tags{display:flex;flex-wrap:wrap;gap:8px;list-style:none;padding:0;margin:0}
.tags li{font-size:.8rem;letter-spacing:.05em;padding:.35em .9em;border-radius:999px;border:1px solid currentColor;opacity:.85}
.uni-m .tags li{color:var(--gold-bright)}
.uni-a .tags li{color:var(--sky)}
.uni .go{margin-top:auto;padding-top:10px;font-weight:500;letter-spacing:.06em;display:flex;align-items:center;gap:.5em}
.uni-m .go{color:var(--gold-bright)}
.uni-a .go{color:var(--ink)}
.uni:hover .go .arr{transform:translateX(4px)}
.go .arr{transition:transform .2s}
@media (max-width:820px){.duo{grid-template-columns:1fr}}

/* Split text block */
.split{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(28px,5vw,80px);align-items:start}
.split > *{min-width:0}
@media (max-width:820px){.split{grid-template-columns:1fr}}
.note{border-left:2px solid var(--gold-bright);padding:4px 0 4px 20px;color:var(--ink-soft);font-size:.95rem}

/* Steps (real sequence) */
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(20px,3vw,40px);margin-top:48px;counter-reset:s;list-style:none;padding:0}
.steps li{position:relative;padding-top:64px;min-width:0}
.steps li::before{counter-increment:s;content:counter(s);position:absolute;top:0;left:0;width:46px;height:46px;border-radius:50%;border:1px solid var(--gold-bright);display:grid;place-items:center;font-family:var(--f-display);color:var(--gold);font-size:1.05rem}
.steps li::after{content:"";position:absolute;top:23px;left:58px;right:-10px;height:1px;background:var(--line)}
.steps li:last-child::after{display:none}
.steps h3{font-size:1.45rem;margin-bottom:10px}
.steps p{color:var(--ink-soft);font-size:.98rem}
@media (max-width:820px){.steps{grid-template-columns:1fr}.steps li::after{display:none}}

/* About */
.about{display:grid;grid-template-columns:auto 1fr;gap:clamp(28px,5vw,72px);align-items:center}
.about > *{min-width:0}
.about .seal{width:clamp(180px,22vw,260px)}
.about .seal img{clip-path:circle(46.6% at 50% 50%)}
.about blockquote{margin:0;font-family:var(--f-head);font-style:italic;font-size:clamp(1.4rem,2.4vw,1.9rem);line-height:1.4;color:var(--ink)}
.sign{font-family:var(--f-display);letter-spacing:.2em;font-size:.82rem;color:var(--gold)}
@media (max-width:720px){.about{grid-template-columns:1fr}.about .seal{justify-self:center}}

/* CTA band */
.band{background:var(--band);color:var(--band-ink);position:relative;overflow:hidden}
.band::before{content:"";position:absolute;width:900px;height:900px;right:-300px;top:-420px;background:repeating-conic-gradient(from 200deg at 50% 50%, rgba(217,181,102,.16) 0deg .6deg, transparent .6deg 7deg);mask:radial-gradient(circle,#000 10%,transparent 62%);-webkit-mask:radial-gradient(circle,#000 10%,transparent 62%);pointer-events:none}
.band .wrap{position:relative;display:grid;grid-template-columns:1.2fr .8fr;gap:40px;align-items:center}
.band .wrap > *{min-width:0}
.band h2{color:var(--band-ink)}
.band p{color:var(--band-soft)}
.band .eyebrow{color:#E6C57A}
.band .actions{display:flex;flex-direction:column;gap:14px;align-items:flex-start}
@media (max-width:820px){.band .wrap{grid-template-columns:1fr}}

/* Page hero (inner pages) */
.phero{padding-block:clamp(48px,7vw,92px);border-bottom:1px solid var(--line)}
.phero-grid{display:grid;grid-template-columns:1.3fr .7fr;gap:clamp(28px,5vw,64px);align-items:center}
.phero-grid > *{min-width:0}
.phero .art{width:min(320px,100%);justify-self:center}
.phero .art img.round{clip-path:circle(46.6% at 50% 50%)}
.phero.night{background:var(--band);border-bottom:0}
.phero.night h1{color:var(--band-ink)}
.phero.night .lead{color:var(--band-soft)}
.phero.night .eyebrow{color:#E6C57A}
@media (max-width:820px){.phero-grid{grid-template-columns:1fr}.phero .art{width:220px;order:-1;justify-self:start}}

/* Situations grid */
.grid4{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:24px;overflow:hidden;margin-top:44px}
.grid4 > div{background:var(--bg);padding:clamp(24px,3vw,40px);display:flex;flex-direction:column;gap:10px;min-width:0}
.grid4 h3{font-size:1.5rem}
.grid4 p{color:var(--ink-soft);font-size:.98rem}
.grid4 .k{font-family:var(--f-display);font-size:.72rem;letter-spacing:.22em;color:var(--sky);text-transform:uppercase}
@media (max-width:720px){.grid4{grid-template-columns:1fr}}

/* Horse band */
.horse{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,5vw,72px);align-items:start}
.horse > *{min-width:0}
.checks{list-style:none;padding:0;margin:0;display:flex;flex-direction:column}
.checks li{display:flex;gap:14px;align-items:baseline;padding-block:14px;border-bottom:1px solid var(--line)}
.checks li:first-child{border-top:1px solid var(--line)}
.checks .star{width:10px;height:10px;transform:translateY(1px)}
@media (max-width:820px){.horse{grid-template-columns:1fr}}

/* Services list (medium) */
.services{margin-top:44px;display:flex;flex-direction:column}
.svc{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.3fr);gap:clamp(18px,4vw,60px);padding-block:36px;border-top:1px solid var(--line)}
.svc:last-child{border-bottom:1px solid var(--line)}
.svc h3{display:flex;gap:14px;align-items:baseline}
.svc h3 .star{transform:translateY(-2px)}
.svc .body{display:flex;flex-direction:column;gap:12px;color:var(--ink-soft)}
.svc .limit{font-size:.88rem;color:var(--ink-faint);font-style:italic}
@media (max-width:760px){.svc{grid-template-columns:1fr}}

/* Pricing */
.plans{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(14px,2vw,24px);margin-top:44px}
.plan{background:var(--surface);border:1px solid var(--line);border-radius:22px;padding:30px 28px;display:flex;flex-direction:column;gap:12px;min-width:0}
.plan.feat{border-color:var(--gold-bright);box-shadow:0 18px 40px -28px rgba(11,35,71,.45)}
.plan .fmt{font-family:var(--f-display);font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold)}
.plan h3{font-size:1.5rem}
.plan p{color:var(--ink-soft);font-size:.96rem}
.plan .price{font-family:var(--f-head);font-size:3rem;line-height:1;color:var(--ink);margin-top:auto;padding-top:14px;font-variant-numeric:tabular-nums}
.plan .price small{font-family:var(--f-body);font-size:.85rem;color:var(--ink-faint);margin-left:6px}
.plan .btn{justify-content:center;margin-top:8px}
@media (max-width:900px){.plans{grid-template-columns:1fr}}

.tarifs{margin-top:40px;border-top:1px solid var(--line)}
.tarifs .row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:20px;align-items:baseline;padding-block:22px;border-bottom:1px solid var(--line)}
.tarifs .tgroup{font-family:var(--f-display);font-size:.8rem;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);font-weight:500;padding-top:34px;padding-bottom:6px;border-bottom:1px solid var(--line)}
.tarifs .tgroup:first-child{padding-top:18px}
.tarifs .row b{font-family:var(--f-head);font-size:1.45rem;font-weight:600;display:block}
.tarifs .row span.d{color:var(--ink-soft);font-size:.95rem}
.tarifs .amt{font-family:var(--f-head);font-size:2rem;color:var(--ink);font-variant-numeric:tabular-nums;white-space:nowrap}
.tarifs .amt.sm{font-family:var(--f-body);font-size:.9rem;color:var(--ink-faint)}

/* FAQ */
.faq{margin-top:36px;border-top:1px solid var(--line);max-width:860px}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{list-style:none;cursor:pointer;padding:22px 44px 22px 0;position:relative;font-family:var(--f-head);font-size:1.35rem;font-weight:600;line-height:1.3}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:6px;top:18px;font-family:var(--f-body);font-weight:300;font-size:1.7rem;color:var(--gold);transition:transform .25s}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq .a{padding:0 0 24px;color:var(--ink-soft);display:flex;flex-direction:column;gap:10px}

/* Disclaimer */
.disclaimer{padding-block:36px;border-top:1px solid var(--line)}
.disclaimer p{font-size:.86rem;color:var(--ink-faint);max-width:90ch}

/* Contact */
.contact-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(14px,2vw,24px);margin-top:40px}
.cbox{border:1px solid var(--line);border-radius:22px;padding:28px;display:flex;flex-direction:column;gap:10px;background:var(--surface);min-width:0}
.cbox .k{font-family:var(--f-display);font-size:.72rem;letter-spacing:.2em;color:var(--gold);text-transform:uppercase}
.cbox .v{font-family:var(--f-head);font-size:1.45rem;font-weight:600;overflow-wrap:anywhere;user-select:all}
.cbox .row{display:flex;gap:10px;flex-wrap:wrap;margin-top:auto;padding-top:8px}
.mini{font:500 .8rem var(--f-body);letter-spacing:.06em;border:1px solid var(--line);background:transparent;color:var(--ink);padding:.5em 1em;border-radius:999px;cursor:pointer;text-decoration:none}
.mini:hover{border-color:var(--gold-bright)}
@media (max-width:860px){.contact-grid{grid-template-columns:1fr}}

/* Legal pages */
.legal{max-width:780px}
.legal h2{font-size:1.75rem;margin-top:44px;margin-bottom:12px}
.legal p,.legal li{color:var(--ink-soft);font-size:.98rem}
.legal p+p{margin-top:12px}
.legal ul{padding-left:1.2em;margin:10px 0}
.legal li+li{margin-top:6px}
.legal .box{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:22px 24px;margin-top:14px}
.legal .box p{margin:0}
.legal .meta{font-size:.9rem;color:var(--ink-faint)}
.legal a{color:var(--ink)}
.todo{background:color-mix(in srgb,var(--gold-bright) 22%,transparent);padding:0 .3em;border-radius:4px;color:var(--ink)}

/* Footer */
.foot{background:var(--band);color:var(--band-soft);padding-block:64px 36px;font-size:.92rem}
.foot .cols{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:36px}
.foot .cols > *{min-width:0}
.foot h4{font-family:var(--f-display);font-weight:500;font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;color:#E6C57A;margin:0 0 14px}
.foot ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}
.foot a{color:var(--band-soft);text-decoration:none}
.foot a:hover{color:var(--band-ink)}
.foot .fb{display:flex;align-items:center;gap:14px;color:var(--band-ink)}
.foot .fb img{width:58px}
.foot .fb b{font-family:var(--f-display);letter-spacing:.16em;font-weight:600;display:block}
.foot .fb small{font-family:var(--f-display);letter-spacing:.36em;font-size:.62rem;color:#E6C57A}
.foot .base{margin-top:48px;padding-top:22px;border-top:1px solid rgba(251,243,224,.14);display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;font-size:.82rem}
@media (max-width:860px){.foot .cols{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.foot .cols{grid-template-columns:1fr}}

/* Photos */
.photo{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:22px;display:block;max-width:100%}
.photo.wide{aspect-ratio:16/10}
.photo.tall{aspect-ratio:4/5}

/* Home photo hero with the two logos */
.hero-photo{background:linear-gradient(180deg,color-mix(in srgb,var(--bg) 62%,transparent) 0%,color-mix(in srgb,var(--bg) 80%,transparent) 55%,var(--bg) 100%),url("/img/a7554cf21953.webp") center 40%/cover no-repeat;text-align:center}
.hero-photo .stack{align-items:center}
.hero-photo .lead{margin-inline:auto;color:var(--ink)}
.hero-photo .eyebrow::after{content:"";width:28px;height:1px;background:currentColor}
.logos{display:grid;grid-template-columns:repeat(2,minmax(0,280px));justify-content:center;gap:clamp(20px,5vw,72px);margin-top:18px}
.logo-card{display:flex;flex-direction:column;align-items:center;gap:18px;text-decoration:none;color:var(--ink)}
.medal{width:100%;aspect-ratio:1;border-radius:50%;overflow:hidden;box-shadow:0 24px 50px -24px rgba(11,35,71,.55),0 0 0 6px color-mix(in srgb,var(--bg) 70%,transparent);transition:transform .35s ease}
.medal img{width:100%;height:100%;object-fit:cover;clip-path:circle(49.5% at 50% 50%)}
.medal img.ring{transform:scale(1.07)}
.logo-card:hover .medal{transform:translateY(-4px) scale(1.02)}
.logo-card .btn{min-width:min(100%,250px);justify-content:center}
.hero-photo .hero-trust{justify-content:center;border-top:0;margin-top:30px}
@media (max-width:560px){.logos{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.logo-card .btn{font-size:.8rem;padding:.8em .9em;min-width:0;width:100%}}

/* Cards with photos */
.uni{padding:0}
.uni .uni-photo{width:100%;aspect-ratio:16/9;object-fit:cover;display:block}
.uni .uni-body{padding:clamp(24px,3.4vw,40px);display:flex;flex-direction:column;gap:16px;flex:1}
.grid4 > div{padding:0}
.grid4 .g-photo{width:100%;aspect-ratio:3/2;object-fit:cover;display:block}
.grid4 .g-body{padding:clamp(22px,3vw,34px);display:flex;flex-direction:column;gap:10px}
.photo-badge{position:relative}
.photo-badge .badge{position:absolute;left:-18px;bottom:-22px;width:clamp(96px,14vw,140px);border-radius:50%;overflow:hidden;box-shadow:0 14px 30px -14px rgba(0,0,0,.5);border:4px solid var(--bg)}
.photo-badge .badge img{clip-path:circle(47% at 50% 50%);transform:scale(1.05)}
@media (max-width:820px){.photo-badge .badge{left:12px}}
.phero.photo-night{background:linear-gradient(90deg,rgba(0,20,46,.92) 0%,rgba(0,20,46,.78) 50%,rgba(0,20,46,.35) 100%),url("/img/de7de5c71c9a.webp") center 60%/cover no-repeat;padding-block:clamp(72px,10vw,140px)}
.phero.photo-night h1{color:#FBF3E0}
.phero.photo-night .lead{color:#D6DDEA}
.phero.photo-night .eyebrow{color:#E6C57A}
.phero.photo-night .mark{width:92px;border-radius:50%;overflow:hidden;border:2px solid rgba(230,197,122,.6)}
.phero.photo-night .mark img{transform:scale(1.25)}
.svc .from-p{font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;color:var(--gold);margin-top:-8px}
.svc .from-p a{color:inherit}
.svc .side{display:flex;flex-direction:column;gap:18px}
.svc .side .photo{aspect-ratio:3/2}

.hero-photo .eyebrow::before,.hero-photo .eyebrow::after{display:none}
.page{animation:fade .45s ease}
@keyframes fade{from{opacity:.4;transform:translateY(6px)}to{opacity:1;transform:none}}
.mt{margin-top:28px}
.center{text-align:center}
.center p{margin-inline:auto}
.center .eyebrow{justify-content:center}
.center .eyebrow::after{content:"";width:28px;height:1px;background:currentColor}

/* V34 — menu en ligne sur téléphone et tablette (plus de menu déroulant) */
@media (max-width:1120px){
  .top .menu-btn{display:none!important}
  .top .wrap{flex-wrap:wrap;min-height:0;padding-top:10px;gap:4px 16px}
  .top .nav{position:static;display:flex!important;flex-direction:row;align-items:center;flex-wrap:nowrap;overflow-x:auto;gap:6px;width:100%;background:none;border:0;padding:4px 0 10px;scrollbar-width:none;-webkit-overflow-scrolling:touch;-webkit-mask-image:linear-gradient(90deg,#000 88%,transparent);mask-image:linear-gradient(90deg,#000 88%,transparent)}
  .top .nav::-webkit-scrollbar{display:none}
  .top .nav a.nl{flex:none;white-space:nowrap;padding:7px 13px;border:1px solid var(--line);border-radius:999px;font-size:.86rem;line-height:1.3}
  .top .nav a.nl[aria-current="page"]{background:var(--btn-bg);color:var(--btn-ink);border-color:var(--btn-bg)}
  .top .nav .btn{flex:none;margin:0 24px 0 4px;padding:.55em 1.1em;font-size:.86rem}
  [id]{scroll-margin-top:130px}
}
@media (min-width:700px) and (max-width:1120px){
  .top .nav{flex-wrap:wrap;overflow:visible;-webkit-mask-image:none;mask-image:none}
  .top .nav .btn{margin-right:0}
}

.client-feedback.centered{grid-column:3 / span 8}
@media(max-width:1024px){.client-feedback.centered{grid-column:1 / -1}}
@media(max-width:640px){.client-feedback.centered{grid-column:auto}}

.testi-illus{margin:0;align-self:center;justify-self:center;width:min(100%,320px)}
.testi-illus svg{display:block;width:100%;height:auto}
@media(max-width:1024px){.testi-illus{width:min(70%,260px)}}

/* Témoignages : deux colonnes équilibrées */
.client-feedback-grid.premium{display:block;columns:2;column-gap:24px}
.client-feedback-grid.premium .client-feedback{break-inside:avoid;-webkit-column-break-inside:avoid;margin:0 0 24px;width:100%}
@media(max-width:760px){.client-feedback-grid.premium{columns:1}}

/* Tous les boutons « Réserver » en bleu */
.btn-book-dark{background:#3F6FB4;color:#fff;border-color:rgba(255,255,255,.18)}
.btn-book-dark:hover{background:#4A7CC4}
.mini-book{background:var(--btn-bg);color:var(--btn-ink);border-color:var(--btn-bg)}
.anchor-pills a[href*="reservio"]{background:var(--btn-bg);color:var(--btn-ink);border-color:var(--btn-bg)}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .anchor-pills a[href*="reservio"]{background:#3F6FB4;color:#fff;border-color:#3F6FB4}}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) a.btn.btn-primary[href*="reservio"],:root:not([data-theme="light"]) .mini-book{background:#3F6FB4;color:#fff;border-color:#3F6FB4}}
:root[data-theme="dark"] a.btn.btn-primary[href*="reservio"],:root[data-theme="dark"] .mini-book{background:#3F6FB4;color:#fff;border-color:#3F6FB4}

/* Bloc « Ce que nous traversons » (Accueil) */
.empreinte{max-width:760px;margin:clamp(48px,7vw,84px) auto 0;padding-top:clamp(36px,5vw,56px);border-top:1px solid var(--line);text-align:center;display:flex;flex-direction:column;gap:18px;align-items:center}
.empreinte p{color:var(--ink-soft);max-width:62ch}
.empreinte .empreinte-titre{font-family:var(--f-head);font-style:italic;font-size:clamp(1.6rem,3vw,2.3rem);line-height:1.3;color:var(--ink);max-width:none;margin-bottom:6px}
.empreinte .empreinte-sign{font-family:"Caveat",cursive;font-size:2rem;color:var(--gold);margin-top:4px}

/* Communication animale : autres situations */
.situ-intro{margin-top:clamp(40px,6vw,64px);max-width:none}
.situ-plus{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:26px;border-top:1px solid var(--gold-bright);border-left:1px solid var(--gold-bright);border-radius:2px}
.situ-plus > div{border-right:1px solid var(--gold-bright);border-bottom:1px solid var(--gold-bright);padding:clamp(22px,3vw,34px);text-align:center;display:flex;flex-direction:column;gap:10px;background:var(--surface);min-width:0}
.situ-plus h3{font-size:1.4rem}
.situ-plus p{color:var(--ink-soft);font-size:.95rem;margin-inline:auto}
@media(max-width:900px){.situ-plus{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.situ-plus{grid-template-columns:1fr}}

.testi-logo img{width:100%;height:auto;border-radius:50%;box-shadow:0 24px 50px -24px rgba(11,35,71,.45);clip-path:circle(49% at 50% 50%)}

.sign.sign-hand{font-family:"Caveat",cursive;font-size:2.4rem;letter-spacing:0;text-transform:none;line-height:1;margin-top:4px;color:var(--gold)}

.sign-question{margin-top:-6px;padding-left:4px}

.merci{text-align:center;margin:clamp(30px,5vw,56px) auto 8px;display:flex;flex-direction:column;align-items:center;gap:2px}
.merci .merci-texte{font-family:"Caveat",cursive;font-size:clamp(2.2rem,4.5vw,3rem);color:var(--gold);line-height:1.1;max-width:none}
.merci .sign{margin:0}
