/* =========================================================
   amme — Page de présentation
   ========================================================= */

/* ---------------- HERO ---------------- */
.hero{ position:relative; padding:clamp(56px,8vw,96px) 0 clamp(70px,9vw,118px); overflow:hidden; }
.hero::before{
  content:""; position:absolute; inset:0; z-index:-1;
  background:
    radial-gradient(60% 55% at 86% 8%, rgba(233,98,40,.10) 0%, transparent 60%),
    radial-gradient(50% 60% at 4% 100%, rgba(149,79,74,.10) 0%, transparent 60%);
}
.hero-inner{ display:grid; grid-template-columns:1.08fr .92fr; gap:clamp(36px,6vw,80px); align-items:center; }
.hero-title{ margin:20px 0 0; }
.hero-sub{ color:var(--ink-soft); font-size:1.16rem; line-height:1.72; max-width:30em; margin-top:10px; }
.hero-sub strong{ color:var(--ink); font-weight:700; }
.hero-ctas{ display:flex; flex-wrap:wrap; gap:14px; margin-top:34px; }
.hero-trust{ display:flex; flex-direction:column; gap:13px; margin-top:42px; padding-top:32px; border-top:1px solid var(--line); }
.trust-item{ display:flex; align-items:center; gap:13px; font-size:.95rem; color:var(--ink-soft); }
.trust-ic{ width:34px; height:34px; flex-shrink:0; border-radius:50%; background:rgba(149,79,74,.1); color:var(--brick); display:grid; place-items:center; }
.trust-ic svg{ width:17px; height:17px; }

/* signature gradient disc */
.hero-visual{ position:relative; display:grid; place-items:center; min-height:420px; }
.hero-disc{
  position:relative; width:min(440px,86%); aspect-ratio:1; border-radius:50%;
  display:grid; place-items:center;
  box-shadow:0 50px 110px -42px rgba(150,60,40,.7), inset 0 2px 30px rgba(255,255,255,.25);
}
.hero-disc::after{ border-radius:50%; }
.hero-spiral{ width:46%; filter:brightness(0) invert(1); opacity:.96; animation:spin 60s linear infinite; }
@keyframes spin{ to{ transform:rotate(360deg); } }
.hero-ring{ position:absolute; border:1px dashed rgba(149,79,74,.34); border-radius:50%; }
.hero-ring.r1{ inset:-26px; }
.hero-ring.r2{ inset:-58px; border-style:solid; border-color:rgba(149,79,74,.14); }
.hero-orbit{ position:absolute; inset:-26px; animation:spin 28s linear infinite; }
.hero-orbit i{ position:absolute; top:50%; left:0; width:11px; height:11px; border-radius:50%; background:var(--orange); transform:translate(-50%,-50%); box-shadow:0 4px 14px rgba(233,98,40,.5); }
.hero-orbit i:nth-child(2){ left:auto; right:0; transform:translate(50%,-50%); background:var(--brick); width:8px; height:8px; }
.hero-badge{
  position:absolute; bottom:6%; left:-4%; background:var(--white); border-radius:var(--r-md);
  box-shadow:var(--shadow-md); padding:14px 18px; display:flex; align-items:center; gap:12px;
}
.hero-badge .num{ font-family:var(--display); font-size:2rem; color:var(--brick); line-height:1; }
.hero-badge .lbl{ font-size:.8rem; color:var(--ink-soft); line-height:1.3; max-width:11ch; }

/* ---------------- SERVICES ---------------- */
.cards-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.s-card{
  background:var(--white); border:1px solid var(--line-2); border-radius:var(--r-md);
  padding:34px 30px; box-shadow:var(--shadow-sm); transition:transform .4s var(--ease), box-shadow .4s var(--ease), border-color .4s;
  position:relative; overflow:hidden;
}
.s-card::before{ content:""; position:absolute; top:0; left:0; width:100%; height:3px; background:linear-gradient(90deg,var(--brick),var(--orange)); transform:scaleX(0); transform-origin:left; transition:transform .45s var(--ease); }
.s-card:hover{ transform:translateY(-7px); box-shadow:var(--shadow-md); border-color:transparent; }
.s-card:hover::before{ transform:scaleX(1); }
.s-ic{ width:56px; height:56px; border-radius:16px; background:linear-gradient(135deg,rgba(149,79,74,.12),rgba(233,98,40,.12)); color:var(--brick); display:grid; place-items:center; margin-bottom:22px; transition:.4s; }
.s-card:hover .s-ic{ background:linear-gradient(135deg,var(--brick),var(--orange)); color:#fff; }
.s-ic svg{ width:27px; height:27px; }
.s-card h3{ margin-bottom:10px; }
.s-card p{ color:var(--ink-soft); font-size:.97rem; }
.services-cta{ text-align:center; margin-top:50px; }

/* ---------------- ABOUT ---------------- */
.about-inner{ display:grid; grid-template-columns:.92fr 1.08fr; gap:clamp(40px,6vw,82px); align-items:center; }
.about-photo{ position:relative; }
.photo-frame{ position:relative; border-radius:var(--r-lg); overflow:hidden; aspect-ratio:4/5; box-shadow:var(--shadow-lg); }
.photo-slot{ width:100%; height:100%; }
.photo-deco{ position:absolute; border-radius:var(--r-lg); z-index:-1; }
.photo-deco.tl{ inset:-22px auto auto -22px; width:60%; height:60%; background:linear-gradient(135deg,rgba(233,98,40,.18),transparent); }
.photo-deco.br{ inset:auto -22px -22px auto; width:55%; height:55%; border:1.5px solid var(--brick); opacity:.4; border-radius:var(--r-lg); }
.about-photo .mark-float{ position:absolute; top:-28px; right:18px; width:74px; opacity:.92; filter:drop-shadow(0 10px 20px rgba(120,60,50,.25)); animation:bob 7s ease-in-out infinite; }
@keyframes bob{ 50%{ transform:translateY(-12px); } }
.about-content p{ color:var(--ink-soft); margin-bottom:18px; }
.about-list{ list-style:none; display:flex; flex-direction:column; gap:14px; margin:26px 0 32px; }
.about-list li{ display:flex; align-items:flex-start; gap:13px; font-size:1rem; color:var(--ink); }
.about-list .chk{ width:26px; height:26px; flex-shrink:0; border-radius:50%; background:var(--brick); color:#fff; display:grid; place-items:center; margin-top:1px; }
.about-list .chk svg{ width:14px; height:14px; }

/* ---------------- HYPNOSE / MYTHS ---------------- */
.myths-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:24px; max-width:980px; margin-inline:auto; }
.myth-card{ background:var(--white); border:1px solid var(--line-2); border-radius:var(--r-md); padding:32px 30px; box-shadow:var(--shadow-sm); }
.tag{ display:inline-block; font-size:.7rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; padding:5px 12px; border-radius:var(--r-pill); }
.tag-myth{ background:rgba(155,135,126,.16); color:var(--ink-mute); }
.tag-real{ background:rgba(149,79,74,.12); color:var(--brick); }
.myth-q{ font-family:var(--display); font-style:italic; font-size:1.3rem; color:var(--ink); margin:16px 0 20px; line-height:1.3; }
.myth-line{ display:flex; align-items:center; gap:10px; margin-bottom:14px; }
.myth-line .chk{ width:24px; height:24px; border-radius:50%; background:linear-gradient(135deg,var(--brick),var(--orange)); color:#fff; display:grid; place-items:center; }
.myth-line .chk svg{ width:13px; height:13px; }
.myth-card .real{ color:var(--ink-soft); font-size:.98rem; }

/* ---------------- TARIFS ---------------- */
.tarifs-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; align-items:start; }
.tarifs-grid.single{ grid-template-columns:minmax(0,440px); justify-content:center; }
.tarifs-grid.single .tarif-card.featured{ transform:none; }
.tarifs-grid.single .tarif-card.featured:hover{ transform:translateY(-6px); }
.tarif-card{ background:var(--white); border:1.5px solid var(--line); border-radius:var(--r-lg); padding:42px 36px; box-shadow:var(--shadow-sm); position:relative; transition:transform .4s var(--ease), box-shadow .4s var(--ease); }
.tarif-card:hover{ transform:translateY(-6px); box-shadow:var(--shadow-md); }
.tarif-card.featured{ color:#fff; border:none; box-shadow:var(--shadow-lg); transform:scale(1.03); }
.tarif-card.featured:hover{ transform:scale(1.03) translateY(-6px); }
.tarif-badge{ position:absolute; top:-14px; left:50%; transform:translateX(-50%); background:var(--brick); color:#fff; font-size:.72rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; padding:7px 18px; border-radius:var(--r-pill); white-space:nowrap; }
.tarif-label{ font-size:.8rem; font-weight:700; letter-spacing:.16em; text-transform:uppercase; color:var(--brick); }
.tarif-card.featured .tarif-label{ color:rgba(255,255,255,.85); }
.tarif-price{ font-family:var(--display); font-size:3.6rem; line-height:1; margin:14px 0 4px; color:var(--brick); }
.tarif-card.featured .tarif-price{ color:#fff; }
.tarif-price .cur{ font-size:1.6rem; vertical-align:super; }
.tarif-dur{ font-size:.92rem; color:var(--ink-soft); margin-bottom:26px; }
.tarif-card.featured .tarif-dur{ color:rgba(255,255,255,.82); }
.tarif-feats{ list-style:none; display:flex; flex-direction:column; gap:13px; margin-bottom:30px; }
.tarif-feats li{ display:flex; gap:11px; align-items:flex-start; font-size:.96rem; color:var(--ink-soft); }
.tarif-feats svg{ width:18px; height:18px; flex-shrink:0; stroke:var(--brick); margin-top:2px; }
.tarif-card.featured .tarif-feats li{ color:rgba(255,255,255,.9); }
.tarif-card.featured .tarif-feats svg{ stroke:#fff; }
.tarif-card .btn{ width:100%; }
.tarif-card.featured .btn-primary{ background:#fff; color:var(--brick); }
.tarif-card.featured .btn-primary:hover{ background:var(--ink); color:#fff; }
.tarif-note{ text-align:center; color:var(--ink-mute); font-size:.9rem; max-width:620px; margin:40px auto 0; }

/* payment methods note */
.pay-note{ display:flex; flex-direction:column; align-items:center; gap:18px; max-width:640px; margin:40px auto 0; }
.pay-label{ font-size:.74rem; font-weight:700; letter-spacing:.18em; text-transform:uppercase; color:var(--ink-mute); }
.pay-methods{ display:flex; align-items:center; justify-content:center; gap:16px; flex-wrap:wrap; }
.pay-method{ display:flex; align-items:center; gap:13px; background:var(--white); border:1.5px solid var(--line); border-radius:var(--r-pill); padding:12px 24px 12px 13px; box-shadow:var(--shadow-sm); transition:transform .3s var(--ease), box-shadow .3s var(--ease), border-color .3s; }
.pay-method:hover{ transform:translateY(-2px); border-color:var(--brick); box-shadow:var(--shadow-md); }
.pay-method .pay-ic{ width:44px; height:44px; flex-shrink:0; border-radius:50%; background:linear-gradient(135deg,var(--brick),var(--orange)); color:#fff; display:grid; place-items:center; box-shadow:0 6px 14px -6px rgba(149,79,74,.7); }
.pay-method .pay-ic svg{ width:23px; height:23px; }
.pay-txt{ display:flex; flex-direction:column; gap:2px; line-height:1.15; text-align:left; white-space:nowrap; }
.pay-txt strong{ font-size:1.02rem; font-weight:800; color:var(--ink); }
.pay-txt{ font-size:.82rem; color:var(--ink-mute); }
.pay-sep{ font-family:var(--display); font-style:italic; font-size:1.1rem; color:var(--ink-mute); }

.modalities{ display:grid; grid-template-columns:1fr 1fr; gap:22px; max-width:820px; margin:54px auto 0; }
.modality{ display:flex; gap:18px; align-items:flex-start; background:var(--white); border:1px solid var(--line-2); border-radius:var(--r-md); padding:26px 28px; }
.modality .m-ic{ width:48px; height:48px; flex-shrink:0; border-radius:14px; background:rgba(149,79,74,.1); color:var(--brick); display:grid; place-items:center; }
.modality .m-ic svg{ width:23px; height:23px; }
.modality h4{ margin-bottom:5px; }
.modality p{ font-size:.94rem; color:var(--ink-soft); }

/* ---------------- TÉMOIGNAGES ---------------- */
.testi-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:24px; max-width:920px; margin-inline:auto; }
.testi-card{ background:var(--white); border:1px solid var(--line-2); border-radius:var(--r-md); padding:32px 30px; box-shadow:var(--shadow-sm); position:relative; }
.testi-card .quote-mark{ font-family:var(--display); font-size:4rem; line-height:.6; color:rgba(233,98,40,.22); position:absolute; top:24px; right:26px; }
.stars{ display:flex; gap:3px; margin-bottom:16px; }
.stars svg{ width:17px; height:17px; fill:var(--orange); }
.testi-card .quote{ font-size:1.04rem; color:var(--ink); line-height:1.65; margin-bottom:22px; position:relative; z-index:1; }
.testi-foot{ display:flex; align-items:center; gap:13px; }
.testi-avatar{ width:46px; height:46px; border-radius:50%; background:linear-gradient(135deg,var(--brick),var(--orange)); color:#fff; display:grid; place-items:center; font-family:var(--display); font-size:1.3rem; }
.testi-name{ font-weight:700; color:var(--ink); }
.testi-ctx{ font-size:.85rem; color:var(--ink-mute); }
.testi-note{ text-align:center; color:var(--ink-mute); font-size:.86rem; margin-top:38px; }

/* ---------------- FAQ ---------------- */
.faq-list{ max-width:760px; margin-inline:auto; display:flex; flex-direction:column; gap:14px; }
.faq-item{ background:var(--white); border:1px solid var(--line-2); border-radius:var(--r-md); overflow:hidden; transition:box-shadow .3s, border-color .3s; }
.faq-item.is-open{ box-shadow:var(--shadow-sm); border-color:var(--line); }
.faq-q{ width:100%; display:flex; align-items:center; justify-content:space-between; gap:18px; padding:24px 28px; text-align:left; font-family:var(--display); font-size:1.2rem; color:var(--ink); }
.faq-arrow{ flex-shrink:0; width:30px; height:30px; border-radius:50%; background:rgba(149,79,74,.1); color:var(--brick); display:grid; place-items:center; transition:transform .35s var(--ease), background .3s; }
.faq-item.is-open .faq-arrow{ transform:rotate(180deg); background:var(--brick); color:#fff; }
.faq-arrow svg{ width:17px; height:17px; }
.faq-a{ max-height:0; overflow:hidden; transition:max-height .45s var(--ease); }
.faq-a-inner{ padding:0 28px 26px; color:var(--ink-soft); font-size:1rem; }
.faq-cta{ text-align:center; margin-top:44px; }
.faq-cta p{ color:var(--ink-soft); margin-bottom:16px; }

/* ---------------- CTA BANNER ---------------- */
.cta-banner{ text-align:center; overflow:hidden; }
.cta-banner h2{ color:#fff; max-width:16ch; margin:18px auto; }
.cta-banner p{ color:rgba(255,255,255,.9); font-size:1.12rem; max-width:46ch; margin:0 auto 36px; }
.cta-actions{ display:flex; flex-wrap:wrap; gap:16px; justify-content:center; align-items:center; }
.cta-spiral{ width:84px; filter:brightness(0) invert(1); opacity:.9; margin:0 auto; animation:spin 50s linear infinite; }

/* ---------------- CONTACT ---------------- */
.contact-grid{ display:grid; grid-template-columns:1.1fr .9fr; gap:clamp(40px,6vw,80px); }
.form-wrap{ }
.form-row{ display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.field{ margin-bottom:18px; }
.field label{ display:block; font-size:.86rem; font-weight:700; color:var(--ink); margin-bottom:8px; }
.field label .opt{ color:var(--ink-mute); font-weight:400; }
.input, .textarea{
  width:100%; font-family:var(--sans); font-size:1rem; color:var(--ink);
  background:var(--white); border:1.5px solid var(--line); border-radius:var(--r-sm);
  padding:13px 16px; transition:border-color .25s, box-shadow .25s;
}
.input:focus, .textarea:focus{ outline:none; border-color:var(--brick); box-shadow:0 0 0 4px rgba(149,79,74,.1); }
.textarea{ min-height:130px; resize:vertical; }
.check-row{ display:flex; gap:11px; align-items:flex-start; margin:6px 0 22px; font-size:.9rem; color:var(--ink-soft); }
.check-row input{ width:18px; height:18px; margin-top:3px; accent-color:var(--brick); flex-shrink:0; }
.check-row a{ color:var(--brick); text-decoration:underline; }
.form-submit{ width:100%; }
.form-note{ font-size:.85rem; color:var(--ink-mute); margin-top:14px; text-align:center; }

.contact-info{ }
.info-list{ list-style:none; display:flex; flex-direction:column; gap:26px; margin-top:8px; }
.info-item{ display:flex; gap:16px; align-items:flex-start; }
.info-ic{ width:48px; height:48px; flex-shrink:0; border-radius:14px; background:linear-gradient(135deg,rgba(149,79,74,.12),rgba(233,98,40,.12)); color:var(--brick); display:grid; place-items:center; }
.info-ic svg{ width:22px; height:22px; }
.info-item h4{ margin-bottom:4px; }
.info-item p, .info-item a{ color:var(--ink-soft); font-size:.97rem; line-height:1.55; }
.info-item a:hover{ color:var(--brick); }
.contact-card{ margin-top:30px; background:var(--white); border:1px solid var(--line-2); border-radius:var(--r-md); padding:26px 28px; box-shadow:var(--shadow-sm); }
.contact-card .btn{ width:100%; margin-top:16px; }

/* ---------------- PHOTO PLACEHOLDER ---------------- */
.photo-slot{ width:100%; height:100%; }
.photo-placeholder{ width:100%; height:100%; background:var(--mist); display:flex; align-items:center; justify-content:center; }
.photo-placeholder-inner{ display:flex; flex-direction:column; align-items:center; gap:14px; color:var(--ink-mute); text-align:center; padding:20px; }
.photo-placeholder-inner svg{ opacity:.5; }
.photo-placeholder-inner span{ font-size:.9rem; font-weight:600; line-height:1.5; }
.photo-placeholder-inner small{ font-weight:400; font-size:.8rem; }

/* ---------------- RESPONSIVE ---------------- */
@media (max-width:1000px){
  .cards-grid{ grid-template-columns:repeat(2,1fr); }
  .tarifs-grid{ grid-template-columns:1fr; max-width:460px; margin-inline:auto; }
  .tarif-card.featured{ transform:none; }
  .tarif-card.featured:hover{ transform:translateY(-6px); }
}
@media (max-width:860px){
  .hero-inner{ grid-template-columns:1fr; }
  .hero-visual{ order:-1; min-height:auto; }
  .hero-disc{ width:min(340px,72%); }
  .about-inner{ grid-template-columns:1fr; }
  .about-photo{ max-width:420px; margin-inline:auto; }
  .myths-grid, .testi-grid, .modalities{ grid-template-columns:1fr; }
  .contact-grid{ grid-template-columns:1fr; }
}
@media (max-width:600px){
  .cards-grid{ grid-template-columns:1fr; }
  .form-row{ grid-template-columns:1fr; }
  .hero-badge{ left:0; }
}
