/* ============================================================
   Morand — page des conditions
   Même grammaire, registre propre aux conditions
   ============================================================ */

body.cond{padding-top:0}

/* barre de progression */
.pbar{position:fixed;top:0;left:0;right:0;height:2px;z-index:130;background:transparent}
.pbar span{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--red),var(--copper))}

/* nav collante */
.cnav{
  position:sticky;top:0;z-index:100;background:rgba(242,236,226,.94);
  backdrop-filter:blur(14px) saturate(1.1);border-bottom:1px solid var(--line);
}
.cnav__in{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:20px;padding:12px var(--pad);max-width:var(--maxw);margin:0 auto}
.cnav__logo{color:var(--ink)}
.cnav__logo svg{height:38px;width:auto}
.cnav__links{display:flex;justify-content:center;gap:24px;flex-wrap:wrap}
.cnav__links a{
  font-size:11px;letter-spacing:.13em;text-transform:uppercase;color:var(--ink-soft);
  padding:6px 0;border-bottom:1px solid transparent;transition:color .25s,border-color .25s;white-space:nowrap
}
.cnav__links a:hover{color:var(--ink)}
.cnav__links a.is-active{color:var(--ink);border-color:var(--red)}
.cnav__cta{display:inline-flex;align-items:center;gap:8px;background:var(--red);color:#fff;border-radius:999px;padding:9px 18px;font-size:11px;letter-spacing:.13em;text-transform:uppercase;white-space:nowrap;transition:background .3s}
.cnav__cta:hover{background:#c01c0e}
@media (max-width:960px){
  .cnav__in{grid-template-columns:auto auto;justify-content:space-between}
  .cnav__links{display:none}
}

/* ouverture */
.copen{padding:clamp(46px,6vw,86px) 0 clamp(40px,5vw,70px)}
.copen__in{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(30px,5vw,76px);align-items:center}
.copen__rule{display:flex;align-items:center;gap:12px;font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-mute);margin:0 0 26px}
.copen__rule::before{content:"";width:42px;height:1px;background:currentColor;opacity:.6}
.copen h1{font-size:clamp(2rem,4.2vw,3.5rem);line-height:1.04;letter-spacing:-.028em;font-weight:600;margin:0}
.copen h1 em{display:block;font-family:var(--font-serif);font-style:italic;font-weight:400;color:var(--copper);font-size:.82em;letter-spacing:-.01em;margin-top:8px}
.copen p{margin:22px 0 0;color:var(--ink-soft);font-size:16.5px;line-height:1.65;max-width:52ch}
.copen__acts{display:flex;gap:10px;flex-wrap:wrap;margin-top:30px}
.copen__sig{margin:26px 0 0;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-mute)}
.collage{position:relative;min-height:420px}
.collage figure{position:absolute;margin:0;box-shadow:0 30px 60px -36px rgba(23,19,16,.6);background:#fff;padding:8px}
.collage figure img{width:100%;height:100%;object-fit:cover;display:block}
.collage .c1{width:52%;height:56%;top:0;left:2%;transform:rotate(-3.2deg);animation:float1 12s ease-in-out infinite}
.collage .c2{width:46%;height:44%;bottom:6%;left:0;transform:rotate(2.4deg);animation:float2 14s ease-in-out infinite}
.collage .c3{width:42%;height:58%;right:0;top:16%;transform:rotate(3.6deg);animation:float1 16s ease-in-out infinite reverse}
.collage .stamp{
  position:absolute;right:2%;bottom:2%;z-index:3;width:132px;height:132px;border-radius:50%;
  background:var(--dark);color:#fff;display:grid;place-items:center;text-align:center;
  font-size:9.5px;letter-spacing:.16em;text-transform:uppercase;line-height:1.45;padding:18px;
  transform:rotate(-8deg);box-shadow:0 18px 34px -20px rgba(0,0,0,.7)
}
@keyframes float1{0%,100%{transform:translateY(0) rotate(-3.2deg)}50%{transform:translateY(-12px) rotate(-2.4deg)}}
@keyframes float2{0%,100%{transform:translateY(0) rotate(2.4deg)}50%{transform:translateY(10px) rotate(3.2deg)}}

/* bande de repères */
.crep{background:var(--dark);color:#fff;padding:clamp(46px,6vw,76px) 0}
.crep__grid{display:grid;grid-template-columns:repeat(5,1fr);gap:clamp(16px,2.4vw,34px);margin-top:clamp(24px,3vw,38px)}
.crep__v{font-family:var(--font-serif);font-style:italic;font-size:clamp(1.9rem,3.4vw,2.9rem);line-height:1;color:var(--copper-l)}
.crep__u{font-size:10px;letter-spacing:.15em;text-transform:uppercase;color:rgba(255,255,255,.5);margin-top:8px}
.crep__n{margin:14px 0 0;font-size:10.5px;color:rgba(255,255,255,.35);letter-spacing:.06em}
.crep__foot{margin-top:clamp(24px,3vw,36px);font-size:13px;color:rgba(255,255,255,.55);max-width:70ch}
@media (max-width:900px){.crep__grid{grid-template-columns:repeat(2,1fr)}}

/* forfaits */
.forf{padding:clamp(56px,7vw,100px) 0}
.forf__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(16px,2vw,26px);margin-top:clamp(30px,4vw,48px);align-items:stretch}
.card{
  position:relative;background:var(--cream);border:1px solid var(--line);border-radius:20px;
  padding:clamp(22px,2.6vw,32px);display:flex;flex-direction:column;
  transition:transform .45s var(--ease),box-shadow .45s var(--ease),border-color .3s
}
.card:hover{transform:translateY(-6px);box-shadow:0 30px 60px -40px rgba(23,19,16,.5)}
.card--hi{border:1px solid rgba(228,35,18,.35);background:#fff}
.card--hi::before{
  content:"";position:absolute;inset:-1px;border-radius:21px;padding:1px;
  background:linear-gradient(130deg,rgba(228,35,18,.75),rgba(180,103,58,.35) 45%,rgba(228,35,18,0) 75%);
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none
}
.card__ghost{position:absolute;right:18px;top:8px;font-family:var(--font-serif);font-style:italic;font-size:74px;line-height:1;color:rgba(23,19,16,.05);pointer-events:none}
.card__badge{
  position:relative;display:inline-block;background:var(--red);color:#fff;border-radius:999px;
  padding:4px 10px;font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;margin-bottom:14px;align-self:flex-start
}
.card h3{font-size:1.22rem;margin:0 0 4px;letter-spacing:-.01em}
.card__price{font-family:var(--font-serif);font-style:italic;font-size:clamp(1.7rem,2.6vw,2.2rem);color:var(--copper);line-height:1.1}
.card__price small{display:block;font-family:var(--font-sans);font-style:normal;font-size:10.5px;letter-spacing:.13em;text-transform:uppercase;color:var(--ink-mute);margin-top:6px}
.card__situ{margin:16px 0 0;font-size:14.5px;line-height:1.55;color:var(--ink);min-height:66px}
.card__list{list-style:none;margin:18px 0 0;padding:0;border-top:1px solid var(--line)}
.card__list li{display:grid;grid-template-columns:88px 1fr;gap:12px;padding:10px 0;border-bottom:1px solid var(--line-soft);font-size:13px;line-height:1.45}
.card__list b{font-size:9.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-mute);padding-top:2px;font-weight:500}
.card__rem{margin:14px 0 0;font-size:12.5px;color:var(--ink-soft)}
.card__btn{margin-top:auto;padding-top:18px}
.card__btn .btn{width:100%}
.tlink{border-bottom:1px dotted var(--copper);color:var(--ink);cursor:help}
@media (max-width:980px){.forf__grid{grid-template-columns:1fr;gap:20px}.card__situ{min-height:0}}

/* tableau comparatif */
.cmp{padding:clamp(46px,6vw,84px) 0;background:var(--paper-2)}
.cmp__scroll{overflow-x:auto;position:relative;margin-top:clamp(24px,3vw,38px)}
table.cmp__t{width:100%;border-collapse:collapse;min-width:660px;background:var(--cream);border-radius:16px;overflow:hidden}
table.cmp__t th,table.cmp__t td{padding:14px 16px;text-align:center;border-bottom:1px solid var(--line-soft);font-size:13.5px}
table.cmp__t thead th{background:#fff;font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-mute);font-weight:500}
table.cmp__t thead th:nth-child(3){background:rgba(228,35,18,.06);color:var(--red)}
table.cmp__t tbody th{text-align:left;font-weight:400;font-size:13.5px;color:var(--ink);width:46%}
table.cmp__t td:nth-child(3){background:rgba(228,35,18,.04)}
table.cmp__t tr:last-child th,table.cmp__t tr:last-child td{border-bottom:0}
.dot{display:inline-block;width:9px;height:9px;border-radius:50%;background:var(--red)}
.dash{display:inline-block;color:var(--ink-mute)}

/* bandeau photo */
.cband{position:relative;height:clamp(280px,34vw,460px);overflow:hidden;background:#000}
.cband img{position:absolute;inset:-10% 0;width:100%;height:120%;object-fit:cover;opacity:.9;transform:translate3d(0,var(--py,0px),0)}
.cband::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,6,5,.55),rgba(8,6,5,.25) 40%,rgba(8,6,5,.75))}
.cband__in{position:relative;z-index:2;height:100%;display:flex;flex-direction:column;justify-content:flex-end;padding-bottom:clamp(30px,4vw,56px);color:#fff}
.cband__in .eyebrow{color:rgba(255,255,255,.7)}
.cband__t{font-size:clamp(1.5rem,3vw,2.6rem);line-height:1.1;letter-spacing:-.02em;font-weight:600;margin:0;max-width:22ch;text-shadow:0 2px 20px rgba(0,0,0,.5)}

/* visibilité */
.vis{padding:clamp(56px,7vw,100px) 0}
.vis__cards{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(16px,2vw,26px);margin-top:clamp(28px,3.6vw,44px)}
.vis__card{background:var(--cream);border:1px solid var(--line);border-radius:18px;padding:clamp(20px,2.4vw,30px)}
.vis__card h3{font-size:1.05rem;margin:16px 0 10px}
.vis__card p{margin:0;font-size:14px;line-height:1.6;color:var(--ink-soft)}
.vis__ico{width:34px;height:34px;color:var(--copper)}
.vis__ico svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.3}
.vis__res{margin-top:clamp(22px,3vw,34px);padding:18px 20px;border-left:2px solid var(--red);background:#fff;font-size:13.5px;line-height:1.6;color:var(--ink-soft)}
@media (max-width:900px){.vis__cards{grid-template-columns:1fr}}

/* déroulement */
.meth{padding:clamp(46px,6vw,84px) 0;background:var(--paper-2)}
.meth__steps{position:relative;display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(18px,3vw,40px);margin-top:clamp(30px,4vw,50px)}
.meth__line{position:absolute;left:0;right:0;top:26px;height:1px;background:var(--line)}
.meth__line i{display:block;height:1px;background:var(--red);width:0;transition:width 1.4s var(--ease)}
.meth__steps.is-in .meth__line i{width:100%}
.step{position:relative;padding-top:64px}
.step__n{
  position:absolute;top:8px;left:0;width:38px;height:38px;border-radius:50%;background:var(--paper-2);
  border:1px solid var(--ink);display:grid;place-items:center;font-family:var(--font-serif);font-style:italic;font-size:15px
}
.step h3{font-size:1.12rem;margin:0 0 8px}
.step p{margin:0;font-size:14px;line-height:1.6;color:var(--ink-soft);max-width:34ch}
@media (max-width:820px){
  .meth__steps{grid-template-columns:1fr;gap:8px}
  .meth__line{left:19px;right:auto;top:0;bottom:0;width:1px;height:auto}
  .meth__line i{width:1px;height:100%;transform-origin:top}
  .step{padding-top:0;padding-left:62px;padding-bottom:26px}
  .step__n{top:0}
}

/* questions */
.q{padding:clamp(56px,7vw,96px) 0}
.q__grid{display:grid;grid-template-columns:minmax(0,.42fr) minmax(0,1fr);gap:clamp(26px,4vw,64px);align-items:start}
.q__group{margin-bottom:34px}
.q__group h3{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-mute);margin:0 0 12px}
details.acc{border-bottom:1px solid var(--line)}
details.acc summary{
  list-style:none;cursor:pointer;padding:16px 34px 16px 0;position:relative;font-size:15px;font-weight:500;line-height:1.4
}
details.acc summary::-webkit-details-marker{display:none}
details.acc summary::after{
  content:"";position:absolute;right:6px;top:50%;width:10px;height:10px;margin-top:-7px;
  border-right:1px solid var(--ink);border-bottom:1px solid var(--ink);transform:rotate(45deg);transition:transform .35s var(--ease)
}
details.acc[open] summary::after{transform:rotate(-135deg);margin-top:-3px}
details.acc .acc__body{padding:0 34px 18px 0;font-size:14px;line-height:1.65;color:var(--ink-soft)}
details.acc .acc__body p{margin:0 0 10px}
details.acc .acc__body p:last-child{margin-bottom:0}
.defs{display:grid;gap:0;margin-top:8px}
.def{border-bottom:1px solid var(--line);padding:16px 0}
.def h4{margin:0 0 6px;font-size:14.5px;font-weight:600}
.def em{display:block;font-family:var(--font-serif);font-style:italic;font-size:15px;color:var(--copper);margin-bottom:8px}
.def p{margin:0;font-size:13.5px;line-height:1.6;color:var(--ink-soft)}
.def:target{background:rgba(228,35,18,.05);outline:2px solid rgba(228,35,18,.18);outline-offset:6px;border-radius:6px}
@media (max-width:900px){.q__grid{grid-template-columns:1fr}}

/* appel final */
.cend{position:relative;min-height:clamp(420px,52vw,560px);display:flex;align-items:center;color:#fff;overflow:hidden;background:#000}
.cend img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.55}
.cend::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,6,5,.5),rgba(8,6,5,.8))}
.cend__in{position:relative;z-index:2;padding:clamp(46px,6vw,80px) 0}
.cend h2{font-size:clamp(1.8rem,3.6vw,3rem);line-height:1.08;letter-spacing:-.025em;margin:0 0 18px;max-width:24ch}
.cend p{max-width:52ch;color:rgba(255,255,255,.75);margin:0}
.cend__acts{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}
.cend__mail{margin-top:20px;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.55)}
.cend__mail a{color:#fff;border-bottom:1px solid rgba(255,255,255,.4)}

/* pied */
.cfoot{background:var(--dark-2);color:rgba(255,255,255,.62);padding:clamp(34px,4vw,52px) 0 26px;font-size:12.5px}
.cfoot__in{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap;align-items:flex-start}
.cfoot__logo{color:#fff;margin-bottom:12px}
.cfoot__logo svg{height:44px;width:auto}
.cfoot p{margin:0;line-height:1.6}
.cfoot a{border-bottom:1px solid rgba(255,255,255,.25)}

.cfoot .rights{color:rgba(255,255,255,.45);font-size:11px;line-height:1.6;margin-top:22px;max-width:92ch}

/* ---------- adaptatif ---------- */
@media (max-width:980px){
  .copen__in{grid-template-columns:1fr;gap:34px}
  .copen{padding-top:34px}
  .collage{min-height:330px;order:-1}
  .collage .c1{width:46%;height:54%}
  .collage .c2{width:42%;height:40%}
  .collage .c3{width:38%;height:56%;top:10%}
  .collage .stamp{width:104px;height:104px;font-size:8px;padding:14px}
  .cmp__t{min-width:560px}
}
@media (max-width:720px){
  .copen__sig{letter-spacing:.1em;font-size:10px;line-height:1.8}
  .card__list{grid-template-columns:82px 1fr}
  .crep__grid{grid-template-columns:1fr 1fr;gap:22px}
  .cband{height:300px}
  .cend__acts .btn{width:100%}
  .cfoot__in{flex-direction:column}
  .cfoot__in > div:last-child{text-align:left}
}
