:root{
  --ink:#1E1B18;
  --ink-soft:#26221D;
  --sand:#F6EFE3;
  --sand-deep:#E7D6B4;
  --lagoon:#1D6F72;
  --lagoon-light:#3E9C9F;
  --gold:#C89B4A;
  --shadow: 0 10px 30px rgba(30,27,24,.10);
  --shadow-soft: 0 4px 14px rgba(30,27,24,.06);
  --serif:'Instrument Serif', Georgia, serif;
  --sans:'IBM Plex Sans', -apple-system, sans-serif;
  --mono:'IBM Plex Mono', monospace;
}
*{box-sizing:border-box; margin:0; padding:0;}
body{
  font-family:var(--sans); color:var(--sand); line-height:1.6;
  background:
    radial-gradient(1000px 500px at 12% -5%, rgba(200,155,74,.14), transparent 60%),
    radial-gradient(900px 500px at 100% 10%, rgba(29,111,114,.18), transparent 55%),
    var(--ink);
  min-height:100vh;
}
.wrap{max-width:980px; margin:0 auto; padding:48px 24px;}
h1,h2,h3{font-family:var(--serif); font-weight:400; letter-spacing:.01em; color:var(--sand);}
.eyebrow{font-family:var(--mono); font-size:.72rem; letter-spacing:.16em; text-transform:uppercase; color:var(--lagoon-light);}
a{color:var(--lagoon-light);}

/* ---------- NAV ---------- */
nav{
  display:flex; justify-content:space-between; align-items:center; padding:18px 28px;
  background:var(--ink); color:var(--sand); border-radius:0 0 28px 28px;
  flex-wrap:wrap; gap:14px;
}
nav .brand{font-family:var(--serif); font-size:1.4rem; letter-spacing:.01em;}
nav .brand span{color:var(--gold);}
.nav-links{display:flex; gap:22px; flex-wrap:wrap; font-size:.86rem; font-weight:500;}
.nav-links a{color:var(--sand); text-decoration:none; opacity:.85; padding:6px 4px;}
.nav-links a:hover, .nav-links a.active{opacity:1; border-bottom:2px solid var(--gold);}

/* ---------- HERO ---------- */
.hero{
  position:relative; text-align:center; padding:20px 0 44px; overflow:hidden;
}
.hero .eyebrow{display:block; margin-bottom:10px;}
.hero h1{font-size:clamp(2rem,5vw,3rem); max-width:640px; margin:0 auto 16px;}
.hero p{color:#c9c1b3; max-width:520px; margin:0 auto; font-size:1.02rem;}

/* Ligne de marée — signature visuelle reprise du site vitrine */
.tide{line-height:0; margin:8px 0 36px;}
.tide svg{width:100%; height:auto; display:block;}

/* ---------- BOUTONS — décontracté = tout en pilule ---------- */
.btn{
  font-family:var(--sans); font-weight:600; font-size:.92rem;
  padding:14px 28px; border-radius:999px; border:none; cursor:pointer;
  display:inline-flex; align-items:center; gap:8px; text-decoration:none;
  transition:transform .18s ease, box-shadow .18s ease, background .18s ease;
}
.btn-primary{background:var(--gold); color:var(--ink); box-shadow:var(--shadow-soft);}
.btn-primary:hover{background:#dbae5c; transform:translateY(-2px); box-shadow:var(--shadow);}
.btn-primary:disabled{opacity:.5; cursor:not-allowed; transform:none; box-shadow:none;}
.btn:focus-visible{outline:2px solid var(--lagoon); outline-offset:3px;}

/* ---------- CARTES ---------- */
.card{
  background:#fffdf8; border:1px solid var(--sand-deep); border-radius:24px;
  padding:32px; box-shadow:0 20px 50px rgba(0,0,0,.35);
}
.card h1, .card h2, .card h3{color:var(--ink);}
.card > p{color:#4a453e;}
.grid{display:grid; gap:26px; grid-template-columns:1fr;}
@media(min-width:700px){.grid{grid-template-columns:repeat(3,1fr);}}

.exp-card{
  background:var(--ink-soft); color:var(--sand); border-radius:24px; padding:30px;
  box-shadow:var(--shadow-soft); transition:transform .25s ease, box-shadow .25s ease;
}
.exp-card:hover{transform:translateY(-6px); box-shadow:var(--shadow);}
.exp-card h3{font-size:1.4rem; margin:8px 0;}
.exp-card p{color:#c9c1b3; font-size:.92rem; margin-bottom:18px;}
.exp-card .price{font-family:var(--mono); color:var(--gold); font-size:1.15rem;}

/* ---------- FORMULAIRES ---------- */
label{display:block; font-family:var(--mono); font-size:.72rem; text-transform:uppercase; letter-spacing:.08em; color:#6b6255; margin-bottom:6px;}
input, select, textarea{
  width:100%; font-family:var(--sans); font-size:.96rem; padding:13px 16px;
  border:1px solid var(--sand-deep); border-radius:14px; margin-bottom:16px; background:#fff;
}
input:focus-visible, select:focus-visible, textarea:focus-visible{outline:2px solid var(--lagoon); outline-offset:1px;}
.slot-option{padding:12px 16px; border:1px solid var(--sand-deep); border-radius:14px; margin-bottom:8px; cursor:pointer; color:var(--ink); transition:border-color .15s ease, background .15s ease;}
.slot-option:hover{border-color:var(--gold);}
.slot-option.selected{border-color:var(--gold); background:#fff8ea;}

/* ---------- TABLEAUX (back-office) ---------- */
table{width:100%; border-collapse:collapse; margin-top:20px; background:#fffdf8; border-radius:16px; overflow:hidden; color:var(--ink);}
th, td{text-align:left; padding:12px 14px; border-bottom:1px solid var(--sand-deep); font-size:.88rem;}
th{font-family:var(--mono); text-transform:uppercase; font-size:.7rem; letter-spacing:.06em; color:#6b6255; background:var(--sand-deep);}

.tag-active{color:var(--lagoon); font-weight:600;}
.tag-inactive{color:#a89b86;}

/* ---------- HERO IMAGE (page d'accueil) ---------- */
.hero-image{
  position:relative;
  background-image:url('/assets/hero-bg.svg');
  background-size:cover;
  background-position:center 40%;
  min-height:88vh;
  display:flex; align-items:center; justify-content:center;
  overflow:hidden;
}
.hero-image-overlay{
  position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(18,16,13,.55) 0%, rgba(18,16,13,.25) 45%, rgba(18,16,13,.65) 100%);
  z-index:1;
}
@media(max-width:700px){
  .hero-image{min-height:76vh; background-position:65% center;}
}

.form-row{display:flex; gap:14px; flex-wrap:wrap;}
.form-row > *{flex:1 1 160px;}

/* ================================================================
   NOUVELLES SECTIONS DE CONTENU (accueil enrichi, à propos, services)
   ================================================================ */

/* Blobs décoratifs — formes rondes, très douces, en fond de section */
.blob{position:absolute; border-radius:50%; filter:blur(6px); opacity:.18; z-index:0; pointer-events:none;}

section.content{position:relative; padding:80px 0; overflow:hidden;}
section.content .wrap{position:relative; z-index:2; padding:0 24px;}
.section-head{max-width:640px; margin:0 auto 44px; text-align:center;}
.section-head h2{font-size:clamp(1.7rem,4vw,2.4rem); margin-top:8px;}
.section-head p{color:#c9c1b3; margin-top:14px;}

/* Sections claires (façon carte géante posée sur le fond sombre) */
.section-light{background:#fffdf8; color:var(--ink); border-radius:40px; margin:0 auto; max-width:1100px;}
.section-light .section-head p{color:#4a453e;}
.section-light h2, .section-light h3{color:var(--ink);}

.feature-grid{display:grid; gap:28px; grid-template-columns:1fr;}
@media(min-width:760px){.feature-grid{grid-template-columns:repeat(3,1fr);}}
.feature-card{
  background:var(--ink-soft); color:var(--sand); border-radius:28px; padding:32px;
  box-shadow:var(--shadow-soft);
}
.section-light .feature-card{background:var(--sand); color:var(--ink); box-shadow:none; border:1px solid var(--sand-deep);}
.feature-card .icon-circle{
  width:52px; height:52px; border-radius:50%; background:var(--gold); color:var(--ink);
  display:flex; align-items:center; justify-content:center; font-size:1.3rem; margin-bottom:16px;
}
.feature-card h3{font-size:1.2rem; margin-bottom:10px;}
.feature-card p{font-size:.92rem; color:#c9c1b3;}
.section-light .feature-card p{color:#4a453e;}

.about-split{display:grid; gap:40px; grid-template-columns:1fr; align-items:center;}
@media(min-width:800px){.about-split{grid-template-columns:1.1fr .9fr;}}
.about-split p{color:#c9c1b3; margin-top:16px; line-height:1.75;}
.about-split .stat-row{display:flex; gap:32px; margin-top:28px; flex-wrap:wrap;}
.about-split .stat{background:var(--ink-soft); border-radius:20px; padding:18px 22px; text-align:center;}
.about-split .stat .num{font-family:var(--mono); color:var(--gold); font-size:1.4rem; display:block;}
.about-split .stat .lbl{font-size:.72rem; text-transform:uppercase; letter-spacing:.06em; color:#c9c1b3;}

.steps-round{display:grid; gap:28px; grid-template-columns:1fr;}
@media(min-width:760px){.steps-round{grid-template-columns:repeat(3,1fr);}}
.step-round{text-align:center; padding:12px;}
.step-round .num-circle{
  width:56px; height:56px; border-radius:50%; background:var(--gold); color:var(--ink);
  display:flex; align-items:center; justify-content:center; margin:0 auto 18px;
  font-family:var(--serif); font-size:1.4rem;
}
.step-round h3{font-size:1.15rem; margin-bottom:8px;}
.step-round p{font-size:.9rem;}

footer.site-footer{
  background:var(--ink); color:#9d9585; padding:44px 24px; font-size:.85rem;
  border-radius:28px 28px 0 0; margin-top:20px;
}
footer.site-footer .wrap{display:flex; flex-wrap:wrap; justify-content:space-between; gap:20px; padding:0;}
footer.site-footer a{color:#c9c1b3; text-decoration:none;}
footer.site-footer .cols{display:flex; gap:60px; flex-wrap:wrap;}
footer.site-footer .cols div h4{font-family:var(--serif); font-weight:400; color:var(--sand); margin-bottom:10px; font-size:1rem;}
footer.site-footer .cols div p, footer.site-footer .cols div a{display:block; margin-bottom:6px;}
