/* coach.marignol.com – couleurs reprises du site Wix (vert tendre, ocre), sans dépendance */
@font-face{font-family:"Cormorant";src:url(/assets/fonts/cg-latin-500.woff2) format("woff2");font-weight:500;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+2000-206F,U+20AC}
@font-face{font-family:"Cormorant";src:url(/assets/fonts/cg-latin-ext-500.woff2) format("woff2");font-weight:500;font-display:swap;unicode-range:U+0100-02AF,U+1E00-1E9F,U+A720-A7FF}
@font-face{font-family:"Cormorant";src:url(/assets/fonts/cg-latin-600.woff2) format("woff2");font-weight:600;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+2000-206F,U+20AC}
@font-face{font-family:"Cormorant";src:url(/assets/fonts/cg-latin-500i.woff2) format("woff2");font-weight:500;font-style:italic;font-display:swap}
@font-face{font-family:"Source Sans";src:url(/assets/fonts/ss-latin-400.woff2) format("woff2");font-weight:400;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+2000-206F,U+20AC}
@font-face{font-family:"Source Sans";src:url(/assets/fonts/ss-latin-ext-400.woff2) format("woff2");font-weight:400;font-display:swap;unicode-range:U+0100-02AF,U+1E00-1E9F,U+A720-A7FF}
@font-face{font-family:"Source Sans";src:url(/assets/fonts/ss-latin-600.woff2) format("woff2");font-weight:600;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+2000-206F,U+20AC}

:root{--bg:#f3f6ee;--bg2:#e4eedc;--card:#fbfcf8;--line:#cbd9c0;--text:#2e3b30;--muted:#5f6e60;
  --ocre:#a2602a;--ocre2:#8a4f1f;--green:#5c8a5a;
  --serif:"Cormorant",Georgia,serif;--sans:"Source Sans",-apple-system,"Segoe UI",Roboto,Arial,sans-serif;--w:68rem}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;color:var(--text);font:400 1.0625rem/1.75 var(--sans);
  background:linear-gradient(180deg,#e2eedb 0,var(--bg) 22rem,#f6f1e4 100%) fixed}
img{max-width:100%;height:auto;display:block}
a{color:var(--ocre2);text-underline-offset:.18em}
a:hover{color:var(--green)}
h1,h2,h3{font-family:var(--serif);font-weight:600;line-height:1.2;color:var(--ocre)}
h2{font-size:clamp(1.6rem,3vw,2rem);margin:2.4rem 0 .8rem}
h3{font-size:1.35rem;margin:1.6rem 0 .5rem}
.vh{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.skip{position:absolute;left:-999px;top:0;background:var(--ocre);color:#fff;padding:.5rem 1rem;z-index:20}
.skip:focus{left:0}
:focus-visible{outline:2px solid var(--ocre);outline-offset:3px}

.top{position:sticky;top:0;z-index:10;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:.4rem 1.5rem;
  padding:.6rem clamp(1rem,4vw,2.5rem);background:rgba(243,246,238,.94);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.brand{display:flex;align-items:center;gap:.8rem;text-decoration:none}
.brand img{width:64px;height:auto}
.brand .name{display:block;font-family:var(--serif);font-size:1.5rem;font-weight:600;color:var(--text);line-height:1.1}
.brand .tag{display:block;font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ocre)}
.tel{font-size:.88rem;color:var(--muted);justify-self:end;grid-column:2/4}
.tel a{color:var(--text);text-decoration:none;white-space:nowrap}
nav{grid-column:1/-1;display:flex;align-items:center;justify-content:center;gap:1.5rem;border-top:1px solid var(--line);padding-top:.45rem}
nav ul{list-style:none;display:flex;flex-wrap:wrap;gap:.3rem 1.6rem;margin:0;padding:0}
nav ul a{text-decoration:none;color:var(--text);font-size:.85rem;letter-spacing:.1em;text-transform:uppercase;padding:.2rem 0;border-bottom:2px solid transparent}
nav ul a:hover,nav ul a[aria-current]{color:var(--ocre);border-bottom-color:var(--ocre)}
.langs{display:flex;gap:.2rem;border-left:1px solid var(--line);padding-left:1rem}
.langs a{font-size:.78rem;letter-spacing:.1em;text-decoration:none;color:var(--muted);padding:.15rem .45rem;border-radius:3px}
.langs a[aria-current]{background:var(--ocre);color:#fff}
.burger{display:none;background:none;border:0;padding:.5rem;cursor:pointer}
.burger span{display:block;width:24px;height:2px;background:var(--text);margin:5px 0}

main{max-width:var(--w);margin:0 auto;padding:0 clamp(1rem,4vw,2.5rem) 3rem}
.ph{text-align:center;margin:2.5rem 0 1.5rem}
.ph h1{font-size:clamp(2.3rem,5vw,3.3rem);margin:0}
.ph h1::after{content:"";display:block;width:3rem;height:2px;background:var(--green);margin:.7rem auto 0;opacity:.6}
.prose{max-width:46rem;margin:0 auto}
.prose p{margin:0 0 1.1rem}
.lead{font-size:1.15rem}
.center{text-align:center}
.note{max-width:46rem;margin:0 auto 1.5rem;color:var(--muted);font-size:.92rem;text-align:center}
.btn{display:inline-block;border:1px solid var(--ocre);color:var(--ocre2);text-decoration:none;padding:.5rem 1.1rem;border-radius:999px;font-size:.9rem;letter-spacing:.04em;margin:.25rem .2rem;transition:.15s}
.btn:hover{background:var(--ocre);color:#fff}
.btn-solid{background:var(--ocre);color:#fff}
.btn-solid:hover{background:var(--ocre2);color:#fff}

.hero{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,2fr);gap:clamp(1.5rem,5vw,4rem);align-items:center;padding:clamp(2rem,5vw,3.5rem) 0 1rem}
.quotes blockquote{margin:0 0 1.3rem;font-family:var(--serif);font-style:italic;font-size:clamp(1.35rem,2.6vw,1.75rem);line-height:1.35;color:var(--ocre2)}
.art{margin:0}
.art img{border-radius:6px;box-shadow:0 14px 40px rgba(60,80,50,.18)}
.tems{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:1.5rem clamp(1rem,4vw,2.5rem) 1.2rem;margin:2.5rem 0}
.tems h2{text-align:center;margin-top:0;letter-spacing:.08em;text-transform:uppercase;font-size:1.5rem}
.tem-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem}
.tem{margin:0}
.tem blockquote{margin:0 0 .6rem;font-size:.97rem;color:var(--text)}
.tem blockquote::before{content:"“";font-family:var(--serif);font-size:3rem;line-height:0;vertical-align:-.45em;color:var(--green);margin-right:.15rem}
.tem figcaption{font-size:.88rem;color:var(--muted)}
.blk h2{text-transform:uppercase;letter-spacing:.05em;font-size:1.55rem}

.card{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:1.3rem 1.6rem;margin:1rem 0}
.card h2,.card h3{margin-top:0}
.split{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:2.5rem;align-items:start}
.side{position:sticky;top:9rem}
.offer{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:1.2rem 1.6rem;margin:1rem 0 1.4rem}
.oh{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.2rem 1rem;border-bottom:1px solid var(--line);margin-bottom:.6rem}
.oh h3{margin:.2rem 0 .4rem}
.price{margin:0;display:flex;gap:.8rem;align-items:baseline}
.price span{color:var(--muted);font-size:.92rem}
.price b{font-family:var(--serif);font-size:1.8rem;color:var(--green)}
.offer ul{margin:.4rem 0 .6rem;padding-left:1.2rem}
.offer li{margin:.25rem 0}
.grille{border-collapse:collapse;margin:0 0 1.5rem}
.grille td{padding:.35rem 1.5rem .35rem 0;border-bottom:1px solid var(--line)}
.grille td:last-child{font-weight:600;color:var(--green)}
.cgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:1.2rem;margin-bottom:1rem}
.cgrid .card{margin:0}
address{font-style:normal}
.legal h2{border-top:1px solid var(--line);padding-top:1.8rem}
.legal h2:first-child{border:0;padding-top:0}

.foot{border-top:1px solid var(--line);padding:1.8rem clamp(1rem,4vw,2.5rem);text-align:center;color:var(--muted);font-size:.9rem}
.foot div{margin:.3rem 0}
.foot a{color:var(--muted)}
.disc{max-width:40rem;margin:0 auto .8rem;font-style:italic}

@media (max-width:900px){
  .top{grid-template-columns:1fr auto}
  .tel{display:none}
  .burger{display:block}
  nav{display:none;flex-direction:column;align-items:stretch;gap:0;border-top:1px solid var(--line);padding:.3rem 0 1rem}
  nav.open{display:flex}
  nav ul{flex-direction:column;gap:0}
  nav ul a{display:block;padding:.75rem 0;border-bottom:1px solid var(--line);font-size:.95rem}
  .langs{border:0;padding:.8rem 0 0;gap:.5rem}
  .langs a{border:1px solid var(--line);padding:.35rem .8rem;font-size:.95rem}
  .hero,.split{grid-template-columns:1fr}
  .art{max-width:22rem;margin:0 auto}
  .side{position:static}
}
