/* ===========================================================
   COMPAGNIE DES DONNEUSES D'EAUX DE VICHY
   École : Belle Époque thermale — Didone, céladon d'eau, or, ornements
   =========================================================== */
:root{
  --eau:#6FB3AE;
  --eau-d:#3E807B;
  --eau-l:#E4F0EE;
  --gold:#BD9F5B;
  --gold-d:#9c8042;
  --rose:#C98A86;
  --cream:#F7F2E7;
  --cream-2:#FBF7EC;
  --paper:#FFFDF7;
  --ink:#2B3A38;
  --muted:#6c7672;
  --line:#e4ddc8;
  --maxw:1080px; --measure:680px;
  --disp:"Playfair Display",Georgia,serif;
  --body:"EB Garamond",Georgia,serif;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--body);background:var(--cream);color:var(--ink);line-height:1.7;font-size:18px;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}a{color:var(--eau-d)}
h1,h2,h3,h4{font-family:var(--disp);font-weight:700;line-height:1.18;color:var(--eau-d)}
h1{font-size:clamp(2.4rem,5vw,3.8rem)}h2{font-size:clamp(1.8rem,3.4vw,2.6rem)}h3{font-size:1.3rem}
p{margin-bottom:1rem}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 26px}
.measure{max-width:var(--measure);margin:0 auto}
.muted{color:var(--muted)}.center{text-align:center}.small{font-size:.86rem}
section{padding:80px 0}
.kicker{font-family:var(--body);font-variant:small-caps;letter-spacing:.28em;font-size:.92rem;color:var(--gold-d);text-transform:lowercase}
.lead{font-size:1.3rem;font-style:italic;color:var(--ink)}
/* ornament rule */
.orn{display:flex;align-items:center;justify-content:center;gap:14px;margin:14px 0;color:var(--gold)}
.orn::before,.orn::after{content:"";height:1px;width:64px;background:linear-gradient(90deg,transparent,var(--gold))}
.orn::after{background:linear-gradient(90deg,var(--gold),transparent)}
.orn span{font-size:1rem}
.gold-line{width:70px;height:2px;background:var(--gold);margin:16px auto}
.gold-line.l{margin:16px 0}

a.btn,.btn{display:inline-block;font-family:var(--body);font-variant:small-caps;letter-spacing:.12em;font-size:1rem;padding:11px 28px;background:var(--eau-d);color:#fff;text-decoration:none;border:1px solid var(--eau-d);transition:.16s}
.btn:hover{background:var(--ink);border-color:var(--ink);color:#fff}
.btn-gold{background:var(--gold);border-color:var(--gold-d);color:#3a3320}.btn-gold:hover{background:var(--gold-d);color:#fff}
.btn-out{background:transparent;color:var(--eau-d)}.btn-out:hover{background:var(--eau-d);color:#fff}

/* header */
.hdr{background:var(--cream-2);border-bottom:1px solid var(--gold);position:sticky;top:0;z-index:60}
.bar{height:3px;background:linear-gradient(90deg,var(--eau),var(--gold),var(--eau))}
.nav{display:flex;align-items:center;justify-content:space-between;padding:14px 26px;max-width:var(--maxw);margin:0 auto}
.brand{display:flex;align-items:center;gap:13px}
.brand img{width:50px;height:50px}
.brand b{font-family:var(--disp);font-weight:700;font-size:1.2rem;color:var(--eau-d);line-height:1.05}
.brand small{display:block;font-family:var(--body);font-variant:small-caps;letter-spacing:.16em;color:var(--gold-d);font-size:.74rem}
.nav-links{display:flex;gap:2px;list-style:none;align-items:center}
.nav-links a{font-family:var(--body);font-variant:small-caps;letter-spacing:.08em;font-size:1rem;color:var(--ink);text-decoration:none;padding:8px 13px}
.nav-links a:hover,.nav-links a.active{color:var(--gold-d)}
.nav-links .cta{border:1px solid var(--gold);color:var(--gold-d);padding:8px 16px}
.nav-links .cta:hover{background:var(--gold);color:#fff}
.burger{display:none;width:44px;height:38px;border:1px solid var(--gold);background:transparent;cursor:pointer}
.burger span{display:block;width:18px;height:1.5px;background:var(--gold-d);margin:4px auto}

/* hero */
.hero{background:radial-gradient(120% 80% at 50% 0%,var(--eau-l),var(--cream) 60%);text-align:center;border-bottom:1px solid var(--gold);position:relative}
.hero .emblem{width:96px;height:96px;margin:0 auto 18px}
.hero .kicker{display:block;margin-bottom:10px}
.hero h1{margin:0 auto;max-width:16ch}
.hero .sub{font-size:1.35rem;font-style:italic;max-width:44ch;margin:18px auto 0;color:var(--ink)}
.hero .acts{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin-top:30px}
.hero .since{margin-top:24px;font-variant:small-caps;letter-spacing:.18em;color:var(--gold-d);font-size:.86rem}

/* mission */
.mission{background:var(--eau-d);color:#fff;text-align:center}
.mission .kicker{color:#dfeeec}
.mission h2{color:#fff}
.mission .stmt{font-family:var(--disp);font-size:clamp(1.5rem,3vw,2.2rem);font-style:italic;line-height:1.35;max-width:24ch;margin:0 auto;color:#fff}
.mission .note{color:#dceeeb;max-width:54ch;margin:16px auto 0}
.mission .orn{color:#9fd0cb}.mission .orn::before{background:linear-gradient(90deg,transparent,#9fd0cb)}.mission .orn::after{background:linear-gradient(90deg,#9fd0cb,transparent)}

/* two-col elegant */
.split{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center}
.split.rev .fig{order:2}
.fig-frame{border:1px solid var(--gold);padding:10px;background:var(--paper)}
.fig-frame .inner{border:1px solid var(--eau);padding:28px;background:var(--eau-l);text-align:center}
.fig-frame .big{font-family:var(--disp);font-size:3.2rem;color:var(--eau-d);line-height:1}
.fig-frame .lab{font-variant:small-caps;letter-spacing:.16em;color:var(--gold-d);margin-top:6px}

/* sources list */
.sources{display:grid;grid-template-columns:repeat(2,1fr);gap:0;border:1px solid var(--gold)}
.sources .s{padding:24px 26px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--paper)}
.sources .s:nth-child(2n){border-right:0}
.sources .s h3{font-size:1.25rem;margin-bottom:4px}
.sources .s .t{font-variant:small-caps;letter-spacing:.12em;color:var(--gold-d);font-size:.84rem;margin-bottom:8px}
.sources .s p{margin:0;color:var(--muted);font-size:.96rem}

/* feature cards (3) elegant */
.trio{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.tcard{background:var(--paper);border:1px solid var(--line);border-top:3px solid var(--gold);padding:30px 26px;text-align:center}
.tcard .num{font-family:var(--disp);font-size:1.6rem;color:var(--eau);font-style:italic}
.tcard h3{margin:8px 0 8px}.tcard p{margin:0;color:var(--muted);font-size:.98rem}

/* program */
.prog{border-top:2px solid var(--gold)}
.prog .it{display:grid;grid-template-columns:160px 1fr;gap:24px;padding:18px 4px;border-bottom:1px solid var(--line);align-items:baseline}
.prog .when{font-family:var(--disp);font-style:italic;color:var(--gold-d);font-size:1.05rem}
.prog h3{margin:0 0 2px;font-size:1.2rem}.prog p{margin:0;color:var(--muted);font-size:.95rem}

/* quote band */
.band{background:var(--eau-l);border-top:1px solid var(--gold);border-bottom:1px solid var(--gold);text-align:center}
.band blockquote{font-family:var(--disp);font-style:italic;font-size:clamp(1.5rem,3vw,2.1rem);color:var(--eau-d);max-width:26ch;margin:0 auto;line-height:1.35}
.band .who{font-variant:small-caps;letter-spacing:.16em;color:var(--gold-d);margin-top:14px}

/* page hero */
.page-hero{background:radial-gradient(120% 80% at 50% 0%,var(--eau-l),var(--cream) 70%);text-align:center;padding:64px 0 50px;border-bottom:1px solid var(--gold)}
.page-hero h1{margin-top:6px}
.page-hero p{font-style:italic;font-size:1.2rem;max-width:56ch;margin:10px auto 0}

/* prose */
.prose{max-width:var(--measure);margin:0 auto}
.prose h2{margin:28px 0 8px}.prose h3{margin:22px 0 6px}
.prose p,.prose li{color:#36433f}
.prose .dropcap::first-letter{font-family:var(--disp);float:left;font-size:3.4rem;line-height:.8;padding:8px 10px 0 0;color:var(--gold-d)}
.prose ul{padding-left:20px;margin:10px 0;display:grid;gap:7px}
.prose blockquote{border-left:3px solid var(--gold);padding-left:18px;font-style:italic;color:var(--eau-d);margin:18px 0}

/* table */
.tbl{width:100%;border-collapse:collapse;font-size:.98rem;margin:.4rem 0;border-top:2px solid var(--gold)}
.tbl th,.tbl td{border-bottom:1px solid var(--line);padding:11px 10px;text-align:left;vertical-align:top}
.tbl th{font-family:var(--disp);font-size:.95rem;color:var(--eau-d);width:34%}

/* contact / legal */
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:start}
.legal{border:1px solid var(--gold);background:var(--paper)}
.legal .h{background:var(--eau-d);color:#fff;font-family:var(--disp);font-size:1.1rem;padding:12px 18px}
.legal .b{padding:8px 18px 14px}
.legal .row{display:flex;justify-content:space-between;gap:14px;padding:10px 0;border-bottom:1px solid var(--line);font-size:.94rem}
.legal .row:last-child{border:0}.legal .row span:first-child{font-variant:small-caps;letter-spacing:.08em;color:var(--muted)}
.legal .row span:last-child{text-align:right}
.field{margin-bottom:14px}.field label{display:block;font-variant:small-caps;letter-spacing:.1em;font-size:.92rem;color:var(--eau-d);margin-bottom:5px}
.field input,.field textarea,.field select{width:100%;padding:11px 13px;border:1px solid var(--gold);background:var(--paper);font:inherit;font-size:1rem}
.field input:focus,.field textarea:focus,.field select:focus{outline:2px solid var(--eau);outline-offset:-2px}
.field textarea{min-height:120px;resize:vertical}
.consent{display:flex;gap:8px;font-size:.85rem;color:var(--muted)}.consent input{width:auto;margin-top:5px}
.map{border:1px solid var(--gold);padding:6px;background:var(--paper);width:100%;height:260px;margin-top:14px}
.okmsg{display:none;color:var(--eau-d);font-style:italic;margin-top:10px}

/* footer */
.ftr{background:var(--ink);color:#cdd6d3;padding:56px 0 24px}
.ftr .bar{margin-bottom:40px}
.ftr-grid{display:grid;grid-template-columns:1.8fr 1fr 1.3fr;gap:34px}
.ftr .brand{margin-bottom:10px}.ftr .brand b{color:#fff}.ftr .brand small{color:var(--gold)}
.ftr h4{font-family:var(--disp);color:var(--gold);font-size:1.05rem;margin-bottom:12px}
.ftr ul{list-style:none;display:grid;gap:8px}.ftr a,.ftr li{color:#cdd6d3;font-size:.95rem}.ftr a:hover{color:#fff}
.ftr-bottom{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;margin-top:36px;padding-top:16px;border-top:1px solid #3a4a47;font-size:.85rem;color:#8a9794}
.ftr-bottom a{color:#cdd6d3}

.reveal{opacity:0;transform:translateY(16px);transition:.6s}.reveal.in{opacity:1;transform:none}

@media(max-width:860px){
  .split,.contact-grid{grid-template-columns:1fr}.split.rev .fig{order:0}
  .trio{grid-template-columns:1fr}.sources{grid-template-columns:1fr}.sources .s{border-right:0}
  .ftr-grid{grid-template-columns:1fr}
}
@media(max-width:560px){
  .nav-links{position:fixed;inset:auto 0 auto 0;top:73px;background:var(--cream-2);flex-direction:column;align-items:stretch;padding:12px;border-bottom:1px solid var(--gold);transform:translateY(-150%);transition:.3s}
  .nav-links.open{transform:none}.burger{display:block}
  .prog .it{grid-template-columns:1fr;gap:4px}
  section{padding:56px 0}
}
@media(prefers-reduced-motion:reduce){*{transition:none!important}.reveal{opacity:1;transform:none}}
