/* =========================================================
   CONTACT PAGE — MYD GROUP CONSULTING
   Scope strict : body[data-page="contact"]
========================================================= */

body[data-page="contact"]{
  --contact-bg:#f7f1eb;
  --contact-bg-soft:#fbf7f2;
  --contact-bg-deep:#efe3d7;
  --contact-card:#ffffff;
  --contact-ink:#3f3027;
  --contact-muted:#6d5d51;
  --contact-muted-2:#89766a;
  --contact-brown:#3a2a20;
  --contact-gold:#b79068;
  --contact-gold-dark:#a77f58;
  --contact-border:rgba(92,70,52,.10);
  --contact-border-strong:rgba(92,70,52,.16);
  --contact-shadow:0 28px 70px rgba(70,49,31,.10);
  --contact-shadow-soft:0 18px 44px rgba(70,49,31,.06);

  background:
    radial-gradient(circle at 12% 8%, rgba(201,168,131,.14), transparent 34%),
    linear-gradient(180deg, var(--contact-bg) 0%, #f4ede6 48%, #f7f2ec 100%);
  color:var(--contact-ink);
  overflow-x:hidden;
}

body[data-page="contact"] *,
body[data-page="contact"] *::before,
body[data-page="contact"] *::after{
  box-sizing:border-box;
}

body[data-page="contact"] .contact-shell{
  width:min(1240px, calc(100% - 48px));
  margin-inline:auto;
}

body[data-page="contact"] .contact-eyebrow{
  margin:0 0 14px;
  display:inline-flex;
  align-items:center;
  gap:10px;
  font-size:.76rem;
  line-height:1;
  font-weight:800;
  letter-spacing:.19em;
  text-transform:uppercase;
  color:var(--contact-gold);
}

body[data-page="contact"] .contact-eyebrow::before{
  content:"";
  width:24px;
  height:1px;
  background:currentColor;
  opacity:.55;
}

/* =========================================================
   HERO CONTACT — MYD GROUP CONSULTING
   Version finale premium : desktop bloc-écran + mobile lisible
========================================================= */

body[data-page="contact"] .contact-hero,
body[data-page="contact"] .contact-hero *{
  box-sizing:border-box;
}

body[data-page="contact"] .contact-hero{
  position:relative;
  isolation:isolate;
  height:calc(100svh - 74px);
  min-height:620px;
  display:flex;
  align-items:center;
  overflow:hidden;
  background:
    radial-gradient(circle at 12% 10%, rgba(255,255,255,.58), transparent 31%),
    radial-gradient(circle at 86% 12%, rgba(185,133,86,.10), transparent 30%),
    linear-gradient(180deg, #f7f1eb 0%, #f2e8dd 100%);
  color:#231812;
}

body[data-page="contact"] .contact-hero::before{
  content:"";
  position:absolute;
  left:50%;
  bottom:-170px;
  z-index:-1;
  width:min(1080px, 88vw);
  height:350px;
  transform:translateX(-50%);
  border-radius:999px;
  background:rgba(185,133,86,.10);
  filter:blur(58px);
  pointer-events:none;
}

body[data-page="contact"] .contact-hero .contact-shell{
  width:min(calc(100% - 56px), 1240px);
  margin-inline:auto;
}

body[data-page="contact"] .contact-hero__grid{
  width:100%;
  display:grid;
  grid-template-columns:minmax(0, .92fr) minmax(460px, 1.08fr);
  gap:clamp(42px, 5vw, 76px);
  align-items:center;
}

body[data-page="contact"] .contact-hero__copy{
  max-width:680px;
}

body[data-page="contact"] .contact-hero .contact-eyebrow{
  margin:0 0 16px;
  display:flex;
  align-items:center;
  gap:10px;
  color:#a77b57;
  font-size:.72rem;
  line-height:1;
  font-weight:850;
  letter-spacing:.28em;
  text-transform:uppercase;
}

body[data-page="contact"] .contact-hero .contact-eyebrow::before{
  content:"";
  width:25px;
  height:1px;
  background:currentColor;
  opacity:.58;
}

body[data-page="contact"] .contact-hero__copy h1{
  max-width:10.5ch;
  margin:0;
  color:#1f1510;
  font-size:clamp(2.85rem, 4.25vw, 4.55rem);
  line-height:.94;
  letter-spacing:-.064em;
  font-weight:850;
  text-wrap:balance;
}

body[data-page="contact"] .contact-hero__lead{
  max-width:590px;
  margin:18px 0 0;
  color:rgba(39,28,21,.72);
  font-size:clamp(.98rem, 1vw, 1.06rem);
  line-height:1.56;
  font-weight:560;
  text-wrap:balance;
}

body[data-page="contact"] .contact-hero__proofs{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:0;
  margin:21px 0 0;
  padding:14px 0 0;
  border-top:1px solid rgba(90,62,43,.14);
}

body[data-page="contact"] .contact-hero__proofs span{
  position:relative;
  width:auto;
  padding:0;
  border:0;
  background:transparent;
  box-shadow:none;
  color:rgba(57,40,30,.68);
  font-size:.79rem;
  line-height:1.45;
  font-weight:780;
  white-space:nowrap;
}

body[data-page="contact"] .contact-hero__proofs span:not(:last-child)::after{
  content:"·";
  margin:0 9px;
  color:rgba(167,123,87,.72);
  font-weight:900;
}

body[data-page="contact"] .contact-hero__actions{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:13px;
  margin-top:22px;
}

body[data-page="contact"] .contact-btn{
  min-width:200px;
  min-height:48px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  padding:0 24px;
  border-radius:999px;
  text-decoration:none;
  font-size:.94rem;
  font-weight:850;
  line-height:1;
  white-space:nowrap;
  border:1px solid transparent;
  transition:
    transform .25s ease,
    box-shadow .25s ease,
    background .25s ease,
    border-color .25s ease,
    color .25s ease,
    filter .25s ease;
}

body[data-page="contact"] .contact-btn--primary{
  background:linear-gradient(180deg, #c79c72 0%, #a97855 100%);
  border-color:rgba(113,74,45,.18);
  color:#fff;
  box-shadow:0 14px 28px rgba(103,68,43,.18);
}

body[data-page="contact"] .contact-btn--ghost{
  background:rgba(255,255,255,.82);
  border-color:rgba(92,68,45,.16);
  color:#3b2e23;
  box-shadow:0 10px 24px rgba(43,28,16,.06);
}

body[data-page="contact"] .contact-btn:hover,
body[data-page="contact"] .contact-btn:focus-visible{
  transform:translateY(-1px);
  outline:none;
}

body[data-page="contact"] .contact-btn--primary:hover,
body[data-page="contact"] .contact-btn--primary:focus-visible{
  filter:brightness(1.03);
  box-shadow:0 18px 34px rgba(103,68,43,.24);
}

body[data-page="contact"] .contact-btn--ghost:hover,
body[data-page="contact"] .contact-btn--ghost:focus-visible{
  background:#fff;
  border-color:rgba(92,68,45,.22);
}

body[data-page="contact"] .contact-hero__visual{
  position:relative;
  height:clamp(430px, 56svh, 555px);
  min-height:0;
  overflow:hidden;
  border-radius:34px;
  background:
    linear-gradient(180deg, rgba(29,18,11,.06) 0%, rgba(29,18,11,.34) 100%),
    radial-gradient(circle at 18% 12%, rgba(255,255,255,.22), transparent 32%),
    url("../images/contact.jpg") center center / cover no-repeat;
  border:1px solid rgba(96,70,50,.14);
  box-shadow:
    0 32px 78px rgba(48,30,17,.14),
    inset 0 1px 0 rgba(255,255,255,.76);
}

body[data-page="contact"] .contact-hero__visual::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(90deg, rgba(247,241,233,.09) 0%, rgba(247,241,233,.02) 46%, rgba(47,32,23,.13) 100%),
    linear-gradient(180deg, rgba(255,250,244,.05) 0%, rgba(39,28,20,.18) 100%);
}

body[data-page="contact"] .contact-hero__badge{
  position:absolute;
  z-index:2;
  width:min(286px, calc(100% - 48px));
  padding:17px 18px 15px;
  border-radius:20px;
  color:#231812;
  background:linear-gradient(135deg, rgba(255,250,244,.965), rgba(246,236,224,.92));
  border:1px solid rgba(100,70,48,.15);
  box-shadow:
    0 22px 48px rgba(38,24,14,.14),
    inset 0 1px 0 rgba(255,255,255,.78);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
}

body[data-page="contact"] .contact-hero__badge strong{
  display:block;
  margin:0 0 6px;
  color:#1f1510;
  font-size:.94rem;
  line-height:1.22;
  font-weight:850;
  letter-spacing:-.025em;
}

body[data-page="contact"] .contact-hero__badge span{
  display:block;
  color:rgba(39,28,21,.70);
  font-size:.84rem;
  line-height:1.42;
  font-weight:560;
}

body[data-page="contact"] .contact-hero__badge--top{
  top:24px;
  left:24px;
}

body[data-page="contact"] .contact-hero__badge--bottom{
  right:24px;
  bottom:24px;
}

/* =========================================================
   HERO CONTACT — DESKTOP COURT
========================================================= */

@media (min-width:1181px) and (max-height:820px){
  body[data-page="contact"] .contact-hero{
    height:calc(100svh - 74px);
    min-height:560px;
  }

  body[data-page="contact"] .contact-hero__grid{
    gap:clamp(34px, 4vw, 58px);
  }

  body[data-page="contact"] .contact-hero__copy h1{
    font-size:clamp(2.48rem, 3.72vw, 3.92rem);
  }

  body[data-page="contact"] .contact-hero__lead{
    margin-top:15px;
    font-size:.94rem;
    line-height:1.46;
  }

  body[data-page="contact"] .contact-hero__proofs{
    margin-top:16px;
    padding-top:12px;
  }

  body[data-page="contact"] .contact-hero__actions{
    margin-top:18px;
  }

  body[data-page="contact"] .contact-btn{
    min-height:44px;
    font-size:.88rem;
  }

  body[data-page="contact"] .contact-hero__visual{
    height:clamp(400px, 54svh, 505px);
  }
}

/* =========================================================
   HERO CONTACT — TABLETTE
========================================================= */

@media (max-width:1180px){
  body[data-page="contact"] .contact-hero{
    height:auto;
    min-height:auto;
    display:block;
    overflow:visible;
    padding:42px 0 48px;
  }

  body[data-page="contact"] .contact-hero .contact-shell{
    width:min(calc(100% - 42px), 920px);
  }

  body[data-page="contact"] .contact-hero__grid{
    grid-template-columns:1fr;
    gap:28px;
  }

  body[data-page="contact"] .contact-hero__copy{
    max-width:100%;
  }

  body[data-page="contact"] .contact-hero__copy h1{
    max-width:12ch;
  }

  body[data-page="contact"] .contact-hero__visual{
    height:auto;
    min-height:440px;
  }
}

/* =========================================================
   HERO CONTACT — MOBILE FINAL
========================================================= */

@media (max-width:640px){
  body[data-page="contact"] .contact-hero{
    height:auto;
    min-height:auto;
    display:block;
    overflow:visible;
    padding:22px 0 26px;
  }

  body[data-page="contact"] .contact-hero .contact-shell{
    width:min(calc(100% - 24px), 390px);
  }

  body[data-page="contact"] .contact-hero__grid{
    display:grid;
    grid-template-columns:1fr;
    gap:16px;
  }

  body[data-page="contact"] .contact-hero__copy{
    width:100%;
    padding:0;
    background:transparent;
    border:0;
    box-shadow:none;
    transform:none;
  }

  body[data-page="contact"] .contact-hero .contact-eyebrow{
    margin-bottom:9px;
    font-size:.62rem;
    letter-spacing:.22em;
  }

  body[data-page="contact"] .contact-hero .contact-eyebrow::before{
    width:18px;
  }

  body[data-page="contact"] .contact-hero__copy h1{
    max-width:335px;
    color:#1f1510;
    font-size:clamp(1.94rem, 7.45vw, 2.26rem);
    line-height:1;
    letter-spacing:-.052em;
    font-weight:830;
    text-wrap:balance;
  }

  body[data-page="contact"] .contact-hero__lead{
    max-width:335px;
    margin-top:12px;
    color:rgba(39,28,21,.68);
    font-size:.83rem;
    line-height:1.48;
    font-weight:520;
  }

  body[data-page="contact"] .contact-hero__proofs{
    display:flex !important;
    flex-direction:row !important;
    flex-wrap:wrap !important;
    align-items:center;
    gap:0 !important;
    margin-top:13px;
    padding-top:10px;
    border-top:1px solid rgba(90,62,43,.12);
  }

  body[data-page="contact"] .contact-hero__proofs span{
    display:inline-flex !important;
    width:auto !important;
    flex:0 0 auto !important;
    min-height:auto !important;
    padding:0 !important;
    border:0 !important;
    background:transparent !important;
    box-shadow:none !important;
    color:rgba(57,40,30,.62);
    font-size:.6rem;
    line-height:1.4;
    font-weight:780;
    white-space:nowrap;
  }

  body[data-page="contact"] .contact-hero__proofs span:not(:last-child)::after{
    content:"·";
    margin:0 5px;
    color:rgba(167,123,87,.66);
  }

  body[data-page="contact"] .contact-hero__actions{
    display:grid !important;
    grid-template-columns:1fr 1fr !important;
    gap:9px;
    margin-top:14px;
  }

  body[data-page="contact"] .contact-btn{
    width:100% !important;
    min-width:0 !important;
    min-height:42px;
    padding:0 12px;
    border-radius:999px;
    font-size:.72rem;
    font-weight:820;
  }

  body[data-page="contact"] .contact-hero__visual{
    position:relative;
    height:auto;
    min-height:218px;
    border-radius:24px;
    background:
      linear-gradient(180deg, rgba(29,18,11,.05) 0%, rgba(29,18,11,.30) 100%),
      url("../images/contact.jpg") center 44% / cover no-repeat;
    box-shadow:
      0 22px 50px rgba(48,30,17,.13),
      inset 0 1px 0 rgba(255,255,255,.76);
  }

  body[data-page="contact"] .contact-hero__badge{
    display:none;
  }

  body[data-page="contact"] .contact-hero__badge--top{
    display:block;
    top:12px;
    left:12px;
    width:auto;
    max-width:220px;
    padding:10px 11px;
    border-radius:15px;
  }

  body[data-page="contact"] .contact-hero__badge--top strong{
    font-size:.76rem;
    margin-bottom:3px;
  }

  body[data-page="contact"] .contact-hero__badge--top span{
    font-size:.68rem;
    line-height:1.3;
  }
}

/* =========================================================
   HERO CONTACT — PETIT MOBILE
========================================================= */

@media (max-width:370px){
  body[data-page="contact"] .contact-hero{
    padding:20px 0 24px;
  }

  body[data-page="contact"] .contact-hero .contact-shell{
    width:min(calc(100% - 20px), 350px);
  }

  body[data-page="contact"] .contact-hero__copy h1{
    font-size:clamp(1.78rem, 7.5vw, 2.12rem);
  }

  body[data-page="contact"] .contact-hero__lead{
    font-size:.79rem;
    line-height:1.42;
  }

  body[data-page="contact"] .contact-hero__proofs span{
    font-size:.58rem;
  }

  body[data-page="contact"] .contact-btn{
    min-height:40px;
    font-size:.69rem;
  }

  body[data-page="contact"] .contact-hero__visual{
    min-height:205px;
  }
}

/* =========================================================
   HERO CONTACT — MOBILE BAS EN HAUTEUR
========================================================= */

@media (max-width:640px) and (max-height:740px){
  body[data-page="contact"] .contact-hero{
    padding:18px 0 22px;
  }

  body[data-page="contact"] .contact-hero__grid{
    gap:13px;
  }

  body[data-page="contact"] .contact-hero__copy h1{
    font-size:clamp(1.7rem, 7vw, 2.02rem);
  }

  body[data-page="contact"] .contact-hero__lead{
    margin-top:9px;
    font-size:.75rem;
    line-height:1.34;
  }

  body[data-page="contact"] .contact-hero__proofs{
    margin-top:10px;
    padding-top:8px;
  }

  body[data-page="contact"] .contact-hero__proofs span{
    font-size:.56rem;
  }

  body[data-page="contact"] .contact-hero__actions{
    margin-top:11px;
  }

  body[data-page="contact"] .contact-btn{
    min-height:38px;
  }

  body[data-page="contact"] .contact-hero__visual{
    min-height:185px;
  }
}

/* =========================================================
   CONTACT — FORMULAIRE + RÉASSURANCE
   Scope strict : body[data-page="contact"]
   Bloc écran desktop + mobile restauré
========================================================= */

body[data-page="contact"] .contact-intake,
body[data-page="contact"] .contact-intake *{
  box-sizing:border-box;
}

body[data-page="contact"] .contact-intake{
  --contact-bg:#f4eadf;
  --contact-bg-soft:#fbf7f1;
  --contact-card:#fffaf5;
  --contact-ink:#261c16;
  --contact-text:#403129;
  --contact-muted:rgba(64,49,41,.72);
  --contact-border:rgba(76,54,39,.13);
  --contact-gold:#bd895d;
  --contact-gold-dark:#9b6a45;
  --contact-brown:#3a271d;
  --contact-shadow:0 34px 90px rgba(49,35,25,.16);
  --contact-shadow-soft:0 16px 42px rgba(49,35,25,.1);

  position:relative;
  isolation:isolate;
  min-height:100svh;
  display:grid;
  align-items:center;
  padding:clamp(2.8rem, 4.2vw, 4.4rem) 0;
  overflow:hidden;
  background:
    radial-gradient(circle at 12% 22%, rgba(194,151,112,.2) 0 22%, transparent 48%),
    radial-gradient(circle at 86% 74%, rgba(108,70,45,.13) 0 24%, transparent 50%),
    linear-gradient(135deg, #f8f2eb 0%, #efe1d3 100%);
}

body[data-page="contact"] .contact-intake::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-2;
  background:
    linear-gradient(90deg, rgba(255,255,255,.28), transparent 36%, rgba(255,255,255,.18)),
    radial-gradient(circle at 50% 50%, rgba(255,255,255,.42), transparent 58%);
  pointer-events:none;
}

body[data-page="contact"] .contact-intake::after{
  content:"";
  position:absolute;
  inset:clamp(1rem, 2vw, 1.8rem);
  z-index:-1;
  border:1px solid rgba(80,58,42,.07);
  border-radius:clamp(1.8rem, 3vw, 3.4rem);
  pointer-events:none;
}

body[data-page="contact"] .contact-intake__container{
  width:min(100% - 2rem, 1340px);
  margin-inline:auto;
}

body[data-page="contact"] .contact-intake__panel{
  position:relative;
  min-height:clamp(590px, 72svh, 720px);
  display:grid;
  grid-template-columns:minmax(245px, .82fr) minmax(500px, 1.55fr) minmax(245px, .86fr);
  align-items:center;
  gap:clamp(2rem, 3.6vw, 3.6rem);
  padding:clamp(2.7rem, 4.4vw, 4.5rem) clamp(2.2rem, 4.3vw, 4.4rem);
  border:1px solid rgba(72,51,36,.12);
  border-radius:clamp(2rem, 3vw, 3.4rem);
  background:
    linear-gradient(115deg, rgba(255,252,248,.94) 0%, rgba(255,249,242,.86) 48%, rgba(245,232,219,.82) 100%);
  box-shadow:var(--contact-shadow);
  overflow:hidden;
}

body[data-page="contact"] .contact-intake__panel::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg, rgba(255,255,255,.68) 0%, rgba(255,255,255,.2) 36%, transparent 66%),
    radial-gradient(circle at 16% 18%, rgba(190,139,94,.17), transparent 32%),
    radial-gradient(circle at 92% 78%, rgba(73,49,34,.12), transparent 32%);
  pointer-events:none;
}

body[data-page="contact"] .contact-intake__panel::after{
  content:"";
  position:absolute;
  top:0;
  bottom:0;
  left:28%;
  width:1px;
  background:linear-gradient(
    to bottom,
    transparent,
    rgba(72,51,36,.12) 20%,
    rgba(72,51,36,.12) 78%,
    transparent
  );
  pointer-events:none;
}

body[data-page="contact"] .contact-intake__header,
body[data-page="contact"] .contact-form,
body[data-page="contact"] .contact-guidance{
  position:relative;
  z-index:1;
}

body[data-page="contact"] .contact-intake__header{
  max-width:330px;
}

body[data-page="contact"] .contact-intake__eyebrow,
body[data-page="contact"] .contact-guidance__eyebrow{
  display:flex;
  align-items:center;
  gap:.7rem;
  margin:0 0 .95rem;
  color:var(--contact-gold-dark);
  font-size:.72rem;
  line-height:1;
  font-weight:800;
  letter-spacing:.34em;
  text-transform:uppercase;
}

body[data-page="contact"] .contact-intake__eyebrow::before,
body[data-page="contact"] .contact-guidance__eyebrow::before{
  content:"";
  width:34px;
  height:1px;
  background:linear-gradient(90deg, rgba(155,106,69,.2), rgba(155,106,69,.9));
}

body[data-page="contact"] .contact-intake__title{
  margin:0;
  color:var(--contact-ink);
  font-size:clamp(3rem, 4.3vw, 4.9rem);
  line-height:.9;
  letter-spacing:-.07em;
  font-weight:850;
  text-wrap:balance;
}

body[data-page="contact"] .contact-intake__title span{
  display:block;
}

body[data-page="contact"] .contact-intake__lead{
  max-width:310px;
  margin:clamp(1.35rem, 1.8vw, 1.65rem) 0 0;
  color:rgba(47,36,30,.78);
  font-size:clamp(.98rem, .95vw, 1.06rem);
  line-height:1.7;
  font-weight:650;
}

body[data-page="contact"] .contact-intake__proof{
  display:grid;
  gap:.68rem;
  max-width:290px;
  margin-top:clamp(1.8rem, 2.6vw, 2.35rem);
  padding:.95rem 1.1rem;
  border:1px solid rgba(72,51,36,.1);
  border-radius:1.25rem;
  background:rgba(255,255,255,.54);
  box-shadow:0 18px 38px rgba(54,38,27,.07);
  backdrop-filter:blur(14px);
}

body[data-page="contact"] .contact-intake__proof span{
  position:relative;
  display:block;
  padding-left:1.05rem;
  color:rgba(53,40,32,.76);
  font-size:.9rem;
  line-height:1.25;
  font-weight:750;
}

body[data-page="contact"] .contact-intake__proof span::before{
  content:"";
  position:absolute;
  left:0;
  top:.38em;
  width:.42rem;
  height:.42rem;
  border-radius:999px;
  background:var(--contact-gold);
  box-shadow:0 0 0 4px rgba(189,137,93,.12);
}

body[data-page="contact"] .contact-form{
  width:100%;
  align-self:center;
}

body[data-page="contact"] .contact-form__hidden{
  position:absolute;
  width:1px;
  height:1px;
  overflow:hidden;
  clip:rect(0 0 0 0);
  white-space:nowrap;
}

body[data-page="contact"] .contact-form__grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:1rem;
}

body[data-page="contact"] .contact-form__field{
  min-width:0;
}

body[data-page="contact"] .contact-form__field--full{
  grid-column:1 / -1;
}

body[data-page="contact"] .contact-form label{
  display:block;
  margin:0 0 .48rem;
  color:rgba(47,36,30,.88);
  font-size:.86rem;
  line-height:1.1;
  font-weight:800;
  letter-spacing:-.01em;
}

body[data-page="contact"] .contact-form input,
body[data-page="contact"] .contact-form select,
body[data-page="contact"] .contact-form textarea{
  width:100%;
  border:1px solid rgba(63,46,35,.13);
  border-radius:1.05rem;
  background:rgba(255,255,255,.72);
  color:var(--contact-text);
  font:inherit;
  font-size:.98rem;
  font-weight:600;
  outline:none;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.8),
    0 10px 24px rgba(54,38,27,.045);
  transition:
    border-color .22s ease,
    box-shadow .22s ease,
    background-color .22s ease,
    transform .22s ease;
}

body[data-page="contact"] .contact-form input,
body[data-page="contact"] .contact-form select{
  height:56px;
  padding:0 1.08rem;
}

body[data-page="contact"] .contact-form textarea{
  min-height:138px;
  resize:vertical;
  padding:1rem 1.08rem;
  line-height:1.62;
}

body[data-page="contact"] .contact-form input::placeholder,
body[data-page="contact"] .contact-form textarea::placeholder{
  color:rgba(64,49,41,.42);
  font-weight:600;
}

body[data-page="contact"] .contact-form select{
  appearance:none;
  background-image:
    linear-gradient(45deg, transparent 50%, rgba(62,44,32,.62) 50%),
    linear-gradient(135deg, rgba(62,44,32,.62) 50%, transparent 50%);
  background-position:
    calc(100% - 1.35rem) 50%,
    calc(100% - 1rem) 50%;
  background-size:.36rem .36rem, .36rem .36rem;
  background-repeat:no-repeat;
  cursor:pointer;
}

body[data-page="contact"] .contact-form input:hover,
body[data-page="contact"] .contact-form select:hover,
body[data-page="contact"] .contact-form textarea:hover{
  border-color:rgba(155,106,69,.28);
  background:rgba(255,255,255,.84);
}

body[data-page="contact"] .contact-form input:focus,
body[data-page="contact"] .contact-form select:focus,
body[data-page="contact"] .contact-form textarea:focus{
  border-color:rgba(155,106,69,.56);
  background:rgba(255,255,255,.95);
  box-shadow:
    0 0 0 4px rgba(189,137,93,.13),
    0 14px 30px rgba(54,38,27,.07);
}

body[data-page="contact"] .contact-form__footer{
  display:grid;
  grid-template-columns:minmax(220px, 285px) minmax(0, 1fr);
  align-items:center;
  gap:1.2rem;
  margin-top:1.2rem;
}

body[data-page="contact"] .contact-form__submit{
  width:100%;
  min-height:55px;
  border:0;
  border-radius:999px;
  background:linear-gradient(135deg, #c39167 0%, #a9744d 100%);
  color:#fffaf5;
  font:inherit;
  font-size:.97rem;
  line-height:1;
  font-weight:850;
  letter-spacing:.02em;
  cursor:pointer;
  box-shadow:
    0 18px 36px rgba(141,91,56,.24),
    inset 0 1px 0 rgba(255,255,255,.24);
  transition:
    transform .22s ease,
    box-shadow .22s ease,
    filter .22s ease;
}

body[data-page="contact"] .contact-form__submit:hover{
  transform:translateY(-2px);
  filter:saturate(1.03);
  box-shadow:
    0 22px 44px rgba(141,91,56,.3),
    inset 0 1px 0 rgba(255,255,255,.28);
}

body[data-page="contact"] .contact-form__submit:focus-visible{
  outline:3px solid rgba(189,137,93,.34);
  outline-offset:4px;
}

body[data-page="contact"] .contact-form__note{
  margin:0;
  max-width:410px;
  color:rgba(64,49,41,.7);
  font-size:.94rem;
  line-height:1.48;
  font-weight:750;
}

body[data-page="contact"] .contact-guidance{
  align-self:center;
  padding:1.4rem 1.3rem 1.3rem;
  border:1px solid rgba(72,51,36,.12);
  border-radius:1.55rem;
  background:rgba(255,250,245,.58);
  box-shadow:var(--contact-shadow-soft);
  backdrop-filter:blur(16px);
}

body[data-page="contact"] .contact-guidance__eyebrow{
  margin-bottom:.72rem;
  font-size:.67rem;
  letter-spacing:.33em;
}

body[data-page="contact"] .contact-guidance__eyebrow::before{
  width:24px;
}

body[data-page="contact"] .contact-guidance__title{
  margin:0 0 1.1rem;
  color:var(--contact-ink);
  font-size:clamp(1.15rem, 1.25vw, 1.34rem);
  line-height:1.13;
  letter-spacing:-.045em;
  font-weight:850;
}

body[data-page="contact"] .contact-guidance__list{
  list-style:none;
  display:grid;
  gap:0;
  margin:0;
  padding:0;
}

body[data-page="contact"] .contact-guidance__list li{
  display:grid;
  grid-template-columns:34px minmax(0, 1fr);
  gap:.78rem;
  align-items:start;
  padding:.9rem 0;
  border-top:1px solid rgba(72,51,36,.1);
}

body[data-page="contact"] .contact-guidance__list li:first-child{
  border-top:0;
  padding-top:0;
}

body[data-page="contact"] .contact-guidance__list span{
  display:grid;
  place-items:center;
  width:32px;
  height:32px;
  border-radius:999px;
  background:rgba(189,137,93,.13);
  color:rgba(139,92,58,.82);
  font-size:.7rem;
  line-height:1;
  font-weight:850;
  letter-spacing:.04em;
}

body[data-page="contact"] .contact-guidance__list p{
  margin:0;
  color:rgba(52,40,32,.78);
  font-size:.92rem;
  line-height:1.43;
  font-weight:750;
}

body[data-page="contact"] .contact-guidance__availability{
  margin-top:1rem;
  padding:.95rem 1rem;
  border-radius:1rem;
  background:linear-gradient(135deg, #3a271d 0%, #2b1d16 100%);
  color:#fff7ef;
  box-shadow:0 18px 38px rgba(45,30,22,.22);
}

body[data-page="contact"] .contact-guidance__availability strong{
  display:block;
  margin-bottom:.3rem;
  font-size:.98rem;
  line-height:1.1;
  font-weight:850;
}

body[data-page="contact"] .contact-guidance__availability p{
  margin:0;
  color:rgba(255,247,239,.82);
  font-size:.84rem;
  line-height:1.42;
  font-weight:650;
}

/* =========================================================
   TABLETTE
========================================================= */

@media (max-width:1100px){
  body[data-page="contact"] .contact-intake{
    min-height:auto;
    padding:3.8rem 0;
  }

  body[data-page="contact"] .contact-intake__panel{
    grid-template-columns:1fr;
    min-height:auto;
    gap:2rem;
    padding:2.4rem;
  }

  body[data-page="contact"] .contact-intake__panel::after{
    display:none;
  }

  body[data-page="contact"] .contact-intake__header{
    max-width:720px;
  }

  body[data-page="contact"] .contact-intake__title{
    font-size:clamp(2.8rem, 7vw, 4.2rem);
    line-height:.95;
    letter-spacing:-.055em;
  }

  body[data-page="contact"] .contact-intake__title span{
    display:inline;
  }

  body[data-page="contact"] .contact-intake__title span + span::before{
    content:" ";
  }

  body[data-page="contact"] .contact-intake__lead{
    max-width:620px;
  }

  body[data-page="contact"] .contact-intake__proof{
    max-width:100%;
    grid-template-columns:repeat(3, minmax(0, 1fr));
  }

  body[data-page="contact"] .contact-guidance__list{
    grid-template-columns:repeat(3, minmax(0, 1fr));
    gap:1rem;
  }

  body[data-page="contact"] .contact-guidance__list li{
    border-top:0;
    padding:0;
  }
}

/* =========================================================
   MOBILE
========================================================= */

@media (max-width:700px){
  body[data-page="contact"] .contact-intake{
    min-height:100svh;
    height:100svh;
    display:grid;
    align-items:center;
    padding:0;
    overflow:hidden;
    background:
      radial-gradient(circle at 18% 14%, rgba(192,145,100,.18) 0 24%, transparent 52%),
      radial-gradient(circle at 88% 80%, rgba(89,58,39,.12) 0 26%, transparent 54%),
      linear-gradient(145deg, #f7efe6 0%, #eadbcd 100%);
  }

  body[data-page="contact"] .contact-intake::after{
    inset:.55rem;
    border-radius:1.45rem;
  }

  body[data-page="contact"] .contact-intake__container{
    width:min(100% - 1.15rem, 420px);
    margin-inline:auto;
  }

  body[data-page="contact"] .contact-intake__panel{
    display:grid;
    grid-template-columns:1fr;
    align-content:center;
    gap:.72rem;
    min-height:0;
    height:calc(100svh - 1.5rem);
    max-height:826px;
    padding:.82rem .82rem .88rem;
    border-radius:1.38rem;
    background:
      linear-gradient(145deg, rgba(255,252,248,.95) 0%, rgba(249,240,231,.91) 100%);
    box-shadow:0 20px 46px rgba(49,35,25,.16);
    overflow:hidden;
  }

  body[data-page="contact"] .contact-intake__panel::before{
    background:
      radial-gradient(circle at 10% 0%, rgba(190,139,94,.12), transparent 34%),
      linear-gradient(180deg, rgba(255,255,255,.56), transparent 58%);
  }

  body[data-page="contact"] .contact-intake__header{
    max-width:none;
    padding:0;
  }

  body[data-page="contact"] .contact-intake__eyebrow{
    gap:.5rem;
    margin-bottom:.38rem;
    font-size:.58rem;
    letter-spacing:.28em;
  }

  body[data-page="contact"] .contact-intake__eyebrow::before{
    width:24px;
  }

  body[data-page="contact"] .contact-intake__title{
    max-width:310px;
    font-size:clamp(1.78rem, 7.8vw, 2.08rem);
    line-height:1;
    letter-spacing:-.045em;
    word-spacing:.05em;
  }

  body[data-page="contact"] .contact-intake__title span{
    display:block;
  }

  body[data-page="contact"] .contact-intake__title span + span::before{
    content:none;
  }

  body[data-page="contact"] .contact-intake__lead{
    max-width:none;
    margin-top:.42rem;
    font-size:.76rem;
    line-height:1.34;
    font-weight:700;
  }

  body[data-page="contact"] .contact-intake__proof{
    display:none;
  }

  body[data-page="contact"] .contact-form__grid{
    grid-template-columns:1fr;
    gap:.47rem;
  }

  body[data-page="contact"] .contact-form label{
    margin-bottom:.25rem;
    font-size:.67rem;
    line-height:1.05;
    font-weight:850;
  }

  body[data-page="contact"] .contact-form input,
  body[data-page="contact"] .contact-form select,
  body[data-page="contact"] .contact-form textarea{
    border-radius:.84rem;
    font-size:.8rem;
    font-weight:650;
  }

  body[data-page="contact"] .contact-form input,
  body[data-page="contact"] .contact-form select{
    height:37px;
    padding:0 .82rem;
  }

  body[data-page="contact"] .contact-form textarea{
    min-height:56px;
    max-height:66px;
    padding:.54rem .82rem;
    line-height:1.3;
    resize:none;
  }

  body[data-page="contact"] .contact-form select{
    background-position:
      calc(100% - 1.05rem) 50%,
      calc(100% - .78rem) 50%;
    background-size:.3rem .3rem, .3rem .3rem;
  }

  body[data-page="contact"] .contact-form__footer{
    grid-template-columns:1fr;
    gap:.4rem;
    margin-top:.54rem;
  }

  body[data-page="contact"] .contact-form__submit{
    min-height:39px;
    font-size:.8rem;
    box-shadow:
      0 14px 26px rgba(141,91,56,.2),
      inset 0 1px 0 rgba(255,255,255,.24);
  }

  body[data-page="contact"] .contact-form__note{
    display:none;
  }

  body[data-page="contact"] .contact-guidance{
    padding:.68rem .74rem .7rem;
    border-radius:1.02rem;
    background:rgba(255,250,245,.73);
    box-shadow:0 12px 26px rgba(49,35,25,.08);
  }

  body[data-page="contact"] .contact-guidance__eyebrow{
    gap:.46rem;
    margin-bottom:.32rem;
    font-size:.54rem;
    letter-spacing:.26em;
  }

  body[data-page="contact"] .contact-guidance__eyebrow::before{
    width:20px;
  }

  body[data-page="contact"] .contact-guidance__title{
    margin-bottom:.4rem;
    font-size:.94rem;
    line-height:1.08;
    letter-spacing:-.035em;
  }

  body[data-page="contact"] .contact-guidance__list{
    grid-template-columns:1fr;
  }

  body[data-page="contact"] .contact-guidance__list li{
    display:grid;
    grid-template-columns:25px minmax(0, 1fr);
    gap:.52rem;
    padding:.42rem 0;
    border-top:1px solid rgba(72,51,36,.085);
  }

  body[data-page="contact"] .contact-guidance__list li:first-child{
    border-top:0;
    padding-top:0;
  }

  body[data-page="contact"] .contact-guidance__list span{
    width:23px;
    height:23px;
    font-size:.55rem;
  }

  body[data-page="contact"] .contact-guidance__list p{
    font-size:.67rem;
    line-height:1.25;
    font-weight:780;
  }

  body[data-page="contact"] .contact-guidance__availability{
    margin-top:.44rem;
    padding:.6rem .7rem;
    border-radius:.82rem;
  }

  body[data-page="contact"] .contact-guidance__availability strong{
    margin-bottom:.18rem;
    font-size:.8rem;
  }

  body[data-page="contact"] .contact-guidance__availability p{
    font-size:.65rem;
    line-height:1.24;
  }
}

/* =========================================================
   PETITS MOBILES — 360/375px
========================================================= */

@media (max-width:380px){
  body[data-page="contact"] .contact-intake__container{
    width:min(100% - .9rem, 360px);
  }

  body[data-page="contact"] .contact-intake__panel{
    height:calc(100svh - 1.2rem);
    padding:.68rem;
    gap:.56rem;
    border-radius:1.25rem;
  }

  body[data-page="contact"] .contact-intake__eyebrow{
    margin-bottom:.26rem;
    font-size:.51rem;
  }

  body[data-page="contact"] .contact-intake__title{
    max-width:280px;
    font-size:1.64rem;
    line-height:.98;
    letter-spacing:-.04em;
  }

  body[data-page="contact"] .contact-intake__lead{
    margin-top:.32rem;
    font-size:.71rem;
    line-height:1.28;
  }

  body[data-page="contact"] .contact-form__grid{
    gap:.38rem;
  }

  body[data-page="contact"] .contact-form label{
    font-size:.63rem;
  }

  body[data-page="contact"] .contact-form input,
  body[data-page="contact"] .contact-form select{
    height:34px;
  }

  body[data-page="contact"] .contact-form textarea{
    min-height:51px;
    max-height:57px;
  }

  body[data-page="contact"] .contact-form__submit{
    min-height:36px;
  }

  body[data-page="contact"] .contact-guidance{
    padding:.6rem .64rem;
  }

  body[data-page="contact"] .contact-guidance__title{
    font-size:.88rem;
  }

  body[data-page="contact"] .contact-guidance__list li{
    grid-template-columns:22px minmax(0, 1fr);
    gap:.45rem;
    padding:.34rem 0;
  }

  body[data-page="contact"] .contact-guidance__list span{
    width:21px;
    height:21px;
    font-size:.5rem;
  }

  body[data-page="contact"] .contact-guidance__list p{
    font-size:.61rem;
    line-height:1.21;
  }

  body[data-page="contact"] .contact-guidance__availability{
    margin-top:.34rem;
    padding:.54rem .6rem;
  }

  body[data-page="contact"] .contact-guidance__availability strong{
    font-size:.74rem;
  }

  body[data-page="contact"] .contact-guidance__availability p{
    font-size:.6rem;
  }
}


/* =========================================================
   FOOTER CONTACT
========================================================= */

body[data-page="contact"] .contact-footer{
  margin:0;
  padding:48px 0 20px;
  background:#e7d7c7;
  color:#4b3a2a;
}

body[data-page="contact"] .contact-footer__grid{
  display:grid;
  grid-template-columns:1fr 1fr 1fr;
  gap:28px;
  align-items:start;
}

body[data-page="contact"] .contact-footer__brand strong,
body[data-page="contact"] .contact-footer__nav strong{
  display:block;
  margin-bottom:10px;
  color:#3b2e23;
  font-weight:800;
}

body[data-page="contact"] .contact-footer__brand p{
  margin:0 0 16px;
  max-width:310px;
  color:rgba(59,46,35,.86);
  line-height:1.55;
}

body[data-page="contact"] .contact-footer__brand span{
  display:block;
  margin-bottom:10px;
  color:#3b2e23;
  font-size:.86rem;
  font-weight:800;
  letter-spacing:.04em;
  text-transform:uppercase;
}

body[data-page="contact"] .contact-footer__socials{
  display:flex;
  gap:12px;
  align-items:center;
  flex-wrap:wrap;
}

body[data-page="contact"] .contact-footer__socials a{
  width:42px;
  height:42px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(0,0,0,.08);
  border-radius:999px;
  background:#fff;
  text-decoration:none;
  box-shadow:0 1px 0 rgba(0,0,0,.03);
  transition:transform .18s ease, filter .18s ease;
}

body[data-page="contact"] .contact-footer__socials a:hover{
  transform:translateY(-2px);
  filter:brightness(.96);
}

body[data-page="contact"] .contact-footer svg{
  display:block;
}

body[data-page="contact"] .contact-footer__nav{
  text-align:center;
}

body[data-page="contact"] .contact-footer__nav--right{
  text-align:right;
}

body[data-page="contact"] .contact-footer__nav ul{
  margin:0;
  padding:0;
  list-style:none;
}

body[data-page="contact"] .contact-footer__nav li{
  margin:7px 0;
}

body[data-page="contact"] .contact-footer__nav a{
  color:rgba(59,46,35,.9);
  text-decoration:none;
}

body[data-page="contact"] .contact-footer__nav a:hover{
  text-decoration:underline;
  text-underline-offset:3px;
}

body[data-page="contact"] .contact-footer__bottom{
  margin-top:30px;
  padding-top:16px;
  border-top:1px solid rgba(0,0,0,.08);
  text-align:center;
  color:rgba(59,46,35,.82);
  font-size:.9rem;
}

/* =========================================================
   ACCESSIBILITÉ
========================================================= */

body[data-page="contact"] a:focus-visible,
body[data-page="contact"] button:focus-visible,
body[data-page="contact"] input:focus-visible,
body[data-page="contact"] select:focus-visible,
body[data-page="contact"] textarea:focus-visible{
  outline:3px solid rgba(183,144,104,.45);
  outline-offset:3px;
}

/* =========================================================
   RESPONSIVE
========================================================= */

@media (max-width:1180px){
  body[data-page="contact"] .contact-hero__grid{
    grid-template-columns:1fr;
    gap:30px;
    min-height:auto;
  }

  body[data-page="contact"] .contact-hero__copy{
    max-width:100%;
  }

  body[data-page="contact"] .contact-hero__copy h1{
    max-width:12ch;
  }

  body[data-page="contact"] .contact-hero__visual{
    min-height:500px;
  }

  body[data-page="contact"] .contact-intake__grid{
    grid-template-columns:1fr;
  }

  body[data-page="contact"] .contact-trust h2{
    max-width:18ch;
  }

  body[data-page="contact"] .contact-process__inner{
    grid-template-columns:1fr;
  }

  body[data-page="contact"] .contact-process__head h2{
    max-width:18ch;
  }
}

@media (max-width:860px){
  body[data-page="contact"] .contact-process__steps{
    grid-template-columns:1fr;
  }

  body[data-page="contact"] .contact-process__steps li{
    min-height:auto;
  }
}

@media (max-width:768px){
  body[data-page="contact"] .contact-shell{
    width:min(100% - 28px, 1240px);
  }

  body[data-page="contact"] .contact-hero{
    padding:32px 0 26px;
  }

  body[data-page="contact"] .contact-eyebrow{
    margin-bottom:12px;
    font-size:.72rem;
    letter-spacing:.17em;
  }

  body[data-page="contact"] .contact-eyebrow::before{
    width:20px;
  }

  body[data-page="contact"] .contact-hero__grid{
    gap:24px;
  }

  body[data-page="contact"] .contact-hero__copy h1{
    max-width:100%;
    margin-bottom:16px;
    font-size:clamp(2.22rem, 9vw, 3.28rem);
    line-height:1;
    letter-spacing:-.052em;
  }

  body[data-page="contact"] .contact-hero__lead{
    margin-bottom:20px;
    font-size:1rem;
    line-height:1.72;
  }

  body[data-page="contact"] .contact-hero__proofs{
    display:grid;
    grid-template-columns:1fr;
    gap:10px;
    margin-bottom:20px;
  }

  body[data-page="contact"] .contact-hero__proofs span{
    width:100%;
    min-height:40px;
    padding:0 14px;
    white-space:normal;
    font-size:.9rem;
  }

  body[data-page="contact"] .contact-hero__actions{
    display:grid;
    grid-template-columns:1fr;
    gap:10px;
  }

  body[data-page="contact"] .contact-btn{
    width:100%;
    min-height:54px;
  }

  body[data-page="contact"] .contact-hero__visual{
    min-height:340px;
    border-radius:24px;
  }

  body[data-page="contact"] .contact-hero__badge{
    width:calc(100% - 28px);
    padding:14px;
    border-radius:16px;
  }

  body[data-page="contact"] .contact-hero__badge strong{
    font-size:.92rem;
  }

  body[data-page="contact"] .contact-hero__badge span{
    font-size:.84rem;
    line-height:1.45;
  }

  body[data-page="contact"] .contact-hero__badge--top{
    top:14px;
    left:14px;
  }

  body[data-page="contact"] .contact-hero__badge--bottom{
    right:14px;
    bottom:14px;
  }

  body[data-page="contact"] .contact-intake{
    padding:4px 0 56px;
  }

  body[data-page="contact"] .contact-trust,
  body[data-page="contact"] .contact-form-card,
  body[data-page="contact"] .contact-process__inner{
    border-radius:24px;
    padding:24px 20px;
  }

  body[data-page="contact"] .contact-trust h2,
  body[data-page="contact"] .contact-form-card__head h2,
  body[data-page="contact"] .contact-process__head h2{
    font-size:clamp(1.85rem, 7vw, 2.32rem);
    line-height:1.08;
  }

  body[data-page="contact"] .contact-trust__intro,
  body[data-page="contact"] .contact-form-card__head p{
    font-size:.98rem;
    line-height:1.7;
  }

  body[data-page="contact"] .contact-trust__list{
    margin-top:22px;
    gap:12px;
  }

  body[data-page="contact"] .contact-trust__item{
    grid-template-columns:46px 1fr;
    gap:12px;
    padding:14px;
    border-radius:17px;
  }

  body[data-page="contact"] .contact-trust__number{
    width:46px;
    height:46px;
    border-radius:14px;
  }

  body[data-page="contact"] .contact-direct,
  body[data-page="contact"] .contact-form__row{
    grid-template-columns:1fr;
  }

  body[data-page="contact"] .contact-form-card__head{
    margin-bottom:20px;
  }

  body[data-page="contact"] .contact-field input,
  body[data-page="contact"] .contact-field select{
    min-height:54px;
  }

  body[data-page="contact"] .contact-field textarea{
    min-height:158px;
  }

  body[data-page="contact"] .contact-form__actions{
    flex-direction:column;
    align-items:stretch;
    gap:12px;
  }

  body[data-page="contact"] .contact-submit{
    width:100%;
  }

  body[data-page="contact"] .contact-form__actions p{
    max-width:none;
    text-align:left;
  }

  body[data-page="contact"] .contact-process{
    padding-bottom:66px;
  }

  body[data-page="contact"] .contact-process__inner{
    gap:24px;
  }

  body[data-page="contact"] .contact-process__steps li{
    padding:18px;
    border-radius:20px;
  }

  body[data-page="contact"] .contact-footer{
    padding:42px 0 18px;
  }

  body[data-page="contact"] .contact-footer__grid{
    grid-template-columns:1fr;
    gap:28px;
    text-align:center;
  }

  body[data-page="contact"] .contact-footer__brand p{
    max-width:none;
  }

  body[data-page="contact"] .contact-footer__socials{
    justify-content:center;
  }

  body[data-page="contact"] .contact-footer__nav,
  body[data-page="contact"] .contact-footer__nav--right{
    text-align:center;
  }
}

@media (max-width:420px){
  body[data-page="contact"] .contact-shell{
    width:min(100% - 24px, 1240px);
  }

  body[data-page="contact"] .contact-hero__visual{
    min-height:315px;
  }

  body[data-page="contact"] .contact-trust,
  body[data-page="contact"] .contact-form-card,
  body[data-page="contact"] .contact-process__inner{
    padding:22px 18px;
  }

  body[data-page="contact"] .contact-footer__socials a{
    width:38px;
    height:38px;
  }
}
