/* Six Fumaison — accueil (aussi chargé sur Professionnels) : hero, maison, savoir-faire, mini FAQ, avis */

/* Hero */
.hero{position:relative;min-height:min(860px,calc(100vh - 120px));display:flex;align-items:flex-end;overflow:hidden;background:var(--navy);color:#f3f2f2}
.hero-media{position:absolute;inset:0}
.hero-video{position:absolute;inset:0;width:100%;height:115%;object-fit:cover;display:block;will-change:transform}
.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(21,48,61,.82) 0%,rgba(21,48,61,.55) 45%,rgba(21,48,61,.1) 100%)}
.hero-in{position:relative;width:100%;padding-top:72px;padding-bottom:84px;display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:56px}
.hero-copy{display:flex;flex-direction:column;gap:var(--s6);max-width:720px}
.hero h1{font-weight:400;font-size:clamp(42px,5.4vw,76px);line-height:1.04;letter-spacing:-.015em;margin:0;text-wrap:balance;color:#fff}
.hero-lead{font-size:20px;line-height:1.6;max-width:34em;margin:0;color:#f3f2f2;text-wrap:pretty}
.hero-cta{display:flex;gap:var(--s3);flex-wrap:wrap}
.hero-badge{position:relative;width:clamp(150px,16vw,210px);flex:none}
.hero-badge .ecusson{width:100%;display:block;filter:drop-shadow(0 12px 24px rgba(21,48,61,.3))}
.smoke{position:absolute;left:38%;top:-44px;display:flex;gap:10px}
.smoke span{width:8px;height:40px;border-radius:8px;background:#fff;filter:blur(5px);animation:sf-smoke 3.4s ease-out infinite}
.hero-scroll{position:absolute;left:50%;bottom:24px;transform:translateX(-50%);color:#fff;font-size:28px;animation:sf-bob 2s ease-in-out infinite}
.hero-scroll:hover{color:var(--coral)}
@media (max-width:759px){
  .hero{display:block;min-height:0}
  .hero-media{position:relative;height:72vw;overflow:hidden}
  .hero-video{height:100%}
  .hero-shade{background:linear-gradient(180deg,rgba(21,48,61,.1) 30%,rgba(21,48,61,.9) 100%)}
  .hero-in{position:static;padding-top:var(--s6);padding-bottom:var(--s8);gap:var(--s6)}
  .hero h1{font-size:clamp(30px,8vw,40px)}
  .hero-lead{font-size:17px}
  .hero-badge{position:absolute;right:16px;top:16px;width:72px}
  .hero-scroll{display:none}
}

/* Mots défilants */
.ticker{background:var(--navy);color:#f3f2f2;overflow:hidden;padding:var(--s6)}
.ticker-in{max-width:var(--maxw);margin:0 auto;display:flex;align-items:center;justify-content:center;gap:var(--s4);height:44px;font-size:clamp(24px,2.6vw,34px)}
.ticker-star{color:var(--coral);font-size:18px;flex:none}
.ticker-word{position:relative;display:flex;justify-content:center;min-width:min(70vw,520px);overflow:hidden}
.ticker-word span{display:block;white-space:nowrap;animation:sf-word 2.8s cubic-bezier(.2,.7,.2,1) both}

/* La maison */
.band-maison{background-color:var(--cream);background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22160%22%20height%3D%22120%22%20viewBox%3D%220%200%20160%20120%22%3E%3Cg%20fill%3D%22none%22%20stroke%3D%22%2315303d%22%20stroke-width%3D%221.6%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20opacity%3D%22.045%22%3E%3Cpath%20d%3D%22M14%2034c10-12%2030-12%2040%200-10%2012-30%2012-40%200z%22%2F%3E%3Cpath%20d%3D%22M54%2034l10-8v16z%22%2F%3E%3Ccircle%20cx%3D%2224%22%20cy%3D%2232%22%20r%3D%221.4%22%20fill%3D%22%2315303d%22%2F%3E%3Cpath%20d%3D%22M96%2092c10-12%2030-12%2040%200-10%2012-30%2012-40%200z%22%2F%3E%3Cpath%20d%3D%22M136%2092l10-8v16z%22%2F%3E%3Ccircle%20cx%3D%22106%22%20cy%3D%2290%22%20r%3D%221.4%22%20fill%3D%22%2315303d%22%2F%3E%3Cpath%20d%3D%22M100%2022c4-4%208-4%2012%200M106%2016c4-4%208-4%2012%200%22%2F%3E%3Cpath%20d%3D%22M20%2090c4-4%208-4%2012%200M26%2084c4-4%208-4%2012%200%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E");background-size:160px 120px}
.maison{padding-top:96px;padding-bottom:72px;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:72px;align-items:center}
.slices{position:relative;margin:24px 0}
.slice{position:absolute;inset:0;background-size:cover;background-position:center;clip-path:var(--clip);transform:translateY(var(--y));filter:saturate(.8) contrast(1.05) sepia(.1);transition:transform 1.1s cubic-bezier(.65,0,.25,1) var(--d),filter 1.1s var(--d)}
.slices.is-align .slice{transform:none;filter:none}
.maison-copy{display:flex;flex-direction:column;gap:var(--s6)}
.engagements{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--s6) var(--s8);margin-top:var(--s4)}
.engagement{display:flex;gap:var(--s3);align-items:flex-start}
.engagement>i{font-size:34px;color:var(--navy)}
.engagement div{display:flex;flex-direction:column;gap:var(--s1)}
.engagement strong{font-weight:400;font-size:19px}
.engagement span{font-size:16px;line-height:1.5;color:var(--n600)}

/* Savoir-faire */
.band-savoir{position:relative;background:var(--navy) url('../img/fond-savoir-faire.webp') center/cover no-repeat;background-attachment:fixed;color:#fff}
.band-savoir::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(21,48,61,.88),rgba(21,48,61,.78))}
.savoir{position:relative;padding-top:96px;padding-bottom:96px}
.savoir-head{display:flex;flex-direction:column;gap:var(--s4);max-width:720px;margin-bottom:72px}
.savoir .h2{color:#fff}
.steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--s8) 40px}
.step{display:flex;flex-direction:column;gap:var(--s3);min-width:0}
.step-top{display:flex;align-items:center;justify-content:space-between;gap:var(--s3)}
.step-n{font-size:56px;line-height:1;color:var(--coral)}
.step-ico{width:64px;height:64px;flex:none;border-radius:50%;border:1px solid rgba(255,255,255,.35);display:flex;align-items:center;justify-content:center;font-size:32px;color:#fff}
.step h3{font-weight:400;font-size:24px;margin:0;color:#fff}
.step p{font-size:17px;line-height:1.6;margin:0;color:#f3f2f2;text-wrap:pretty}
@media (max-width:999px){.steps{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:639px){.steps{grid-template-columns:1fr}.savoir,.maison{padding-top:64px;padding-bottom:56px}.band-savoir{background-attachment:scroll}}

/* Mini FAQ */
.minifaq{position:relative;padding-top:96px;padding-bottom:72px;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,400px),1fr));gap:64px;align-items:center}
.minifaq-list{display:flex;flex-direction:column;gap:var(--s4);min-width:0}
.minifaq-list .h2{margin-bottom:var(--s4)}
.pill{display:flex;align-items:center;gap:var(--s4);width:100%;text-align:left;cursor:pointer;padding:var(--s4) var(--s6);border-radius:999px;font-size:19px;line-height:1.3;transition:background .4s,color .4s,transform .4s;border:1px solid var(--navy);background:transparent;color:var(--navy)}
.pill-ico{width:44px;height:44px;flex:none;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:22px;background:var(--cream);color:var(--navy);transition:background .4s}
.pill-q{flex:1;min-width:0}
.pill-go{font-size:20px;flex:none;opacity:.35;transition:transform .4s,opacity .4s}
.pill.is-on{background:var(--navy);color:#fff;transform:translateX(8px)}
.pill.is-on .pill-ico{background:#fff}
.pill.is-on .pill-go{opacity:1}
.phone-wrap{display:flex;justify-content:center;min-width:0}
.phone{position:relative;width:340px;max-width:100%;height:653px;border-radius:52px;background:var(--navy);padding:12px;box-shadow:0 40px 80px rgba(21,48,61,.28),inset 0 0 0 2px #2a4a59;transform:rotate(-3deg)}
.phone-btn{position:absolute;width:3px;border-radius:2px;background:var(--navy-2)}
.phone-btn-r{right:-3px;top:150px;height:64px}
.phone-btn-l{left:-3px;top:130px;height:40px}
.phone-screen{position:relative;width:100%;height:100%;border-radius:42px;overflow:hidden;background:var(--paper);display:flex;flex-direction:column}
.phone-status{display:flex;justify-content:space-between;align-items:center;padding:14px 26px 0;font-size:14px;height:40px}
.phone-notch{position:absolute;left:50%;top:10px;transform:translateX(-50%);width:96px;height:28px;border-radius:999px;background:var(--navy)}
.phone-icons{display:flex;gap:4px;font-size:15px}
.phone-head{display:flex;align-items:center;gap:var(--s3);padding:var(--s3) var(--s6);border-bottom:1px solid var(--cream)}
.phone-head>i{font-size:20px}
.phone-call{margin-left:auto}
.phone-avatar{width:40px;height:40px;border-radius:50%;background:var(--cream);display:flex;align-items:center;justify-content:center;flex:none}
.phone-avatar img{width:30px;height:auto;display:block}
.phone-name{display:flex;flex-direction:column;line-height:1.25;min-width:0}
.phone-name strong{font-weight:400;font-size:16px}
.phone-name span{font-size:12px;color:var(--n600);display:flex;align-items:center;gap:5px}
.phone-name span i{width:7px;height:7px;border-radius:50%;background:#3fa36b;display:block}
.phone-chat{flex:1;padding:var(--s6) var(--s4);display:flex;flex-direction:column;gap:var(--s3);justify-content:flex-end;overflow:hidden}
.phone-day{align-self:center;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--n500)}
.bubble{padding:12px 16px;font-size:15px;line-height:1.5;transition:opacity .5s,transform .5s cubic-bezier(.2,.7,.2,1)}
.bubble-q{align-self:flex-end;max-width:82%;background:var(--navy);color:#fff;border-radius:20px 20px 4px 20px}
.bubble-a{align-self:flex-start;max-width:88%;background:var(--cream);border-radius:20px 20px 20px 4px;text-wrap:pretty}
.bubble-dots{align-self:flex-start;display:flex;gap:5px;align-items:center;padding:0 16px;background:var(--cream);border-radius:20px 20px 20px 4px;height:0;opacity:0;overflow:hidden}
.bubble-dots span{width:8px;height:8px;border-radius:50%;background:var(--navy);display:block;animation:sf-dot 1s ease-in-out infinite}
.bubble-dots span:nth-child(2){animation-delay:.15s}
.bubble-dots span:nth-child(3){animation-delay:.3s}
.bubble.is-hidden{opacity:0;transform:translateY(16px)}
.bubble-dots.is-on{height:40px;opacity:1}
.phone-input{display:flex;align-items:center;gap:var(--s3);margin:0 var(--s4) var(--s6);padding:10px 10px 10px 18px;border-radius:999px;background:#fff;border:1px solid #e3ddd6;color:var(--n500);font-size:14px}
.phone-input>span:first-child{flex:1}
.phone-send{width:34px;height:34px;border-radius:50%;background:var(--coral);color:#fff;display:flex;align-items:center;justify-content:center;font-size:17px;flex:none}
.phone-bar{align-self:center;width:120px;height:5px;border-radius:3px;background:var(--navy);opacity:.8;margin-bottom:8px}
@media (max-width:759px){.phone{height:545px}.pill{padding:var(--s3) var(--s4);font-size:17px}.minifaq{padding-top:64px}}

/* Avis */
.avis{background-color:var(--navy);background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22160%22%20height%3D%22120%22%20viewBox%3D%220%200%20160%20120%22%3E%3Cg%20fill%3D%22none%22%20stroke%3D%22%23ffffff%22%20stroke-width%3D%221.6%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20opacity%3D%22.05%22%3E%3Cpath%20d%3D%22M14%2034c10-12%2030-12%2040%200-10%2012-30%2012-40%200z%22%2F%3E%3Cpath%20d%3D%22M54%2034l10-8v16z%22%2F%3E%3Cpath%20d%3D%22M96%2092c10-12%2030-12%2040%200-10%2012-30%2012-40%200z%22%2F%3E%3Cpath%20d%3D%22M136%2092l10-8v16z%22%2F%3E%3Cpath%20d%3D%22M100%2022c4-4%208-4%2012%200M106%2016c4-4%208-4%2012%200%22%2F%3E%3Cpath%20d%3D%22M20%2090c4-4%208-4%2012%200M26%2084c4-4%208-4%2012%200%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E");background-size:160px 120px;color:#f3f2f2;padding:90px 0;overflow:hidden}
.avis-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,400px),1fr));gap:64px;align-items:center}
.avis-copy{display:flex;flex-direction:column;gap:var(--s6)}
.avis .h2{color:#fff}
.avis-avatars{display:flex;gap:var(--s3);flex-wrap:wrap;margin-top:var(--s2)}
.avis-avatars button{width:52px;height:52px;border-radius:50%;cursor:pointer;font-size:20px;display:flex;align-items:center;justify-content:center;transition:all .35s;border:1px solid rgba(243,242,242,.35);background:transparent;color:#f3f2f2}
.avis-avatars button.is-on{background:var(--coral);border-color:var(--coral);color:var(--navy);transform:scale(1.12)}
.avis-avatars,.avis-ctrl{position:relative;z-index:10}
.avis-ctrl{display:flex;align-items:center;gap:var(--s4);margin-top:var(--s2)}
.avis-nav{width:48px;height:48px;border-radius:50%;border:1px solid rgba(243,242,242,.4);background:transparent;color:#f3f2f2;cursor:pointer;font-size:20px;display:flex;align-items:center;justify-content:center;transition:all .25s}
.avis-nav:hover{background:#f3f2f2;color:var(--navy)}
.avis-counter{font-size:18px;letter-spacing:.1em;min-width:72px;text-align:center}
.avis-progress{flex:1;max-width:160px;height:2px;background:rgba(243,242,242,.2);position:relative;overflow:hidden}
.avis-progress span{position:absolute;inset:0;background:var(--coral);transform-origin:left;animation:sf-progress 6s linear both}
.avis-progress.is-paused span{animation-play-state:paused}
.avis-stack{position:relative;height:440px;margin-right:56px}
.avis-card{position:absolute;inset:0 0 40px 0;margin:0;background:var(--paper);color:var(--navy);border-radius:var(--r);padding:48px 44px 36px;display:flex;flex-direction:column;gap:var(--s4);box-shadow:0 24px 48px rgba(0,0,0,.28);transform-origin:bottom left;transition:transform .8s cubic-bezier(.65,0,.25,1),opacity .6s}
.avis-card:not(:first-child){opacity:0}
.avis-quote{position:absolute;right:32px;top:-18px;font-family:Georgia,serif;font-size:160px;line-height:1;color:var(--coral);opacity:.9}
.avis-stars{display:flex;gap:3px;color:var(--coral);font-size:20px}
.avis-card blockquote{margin:0;flex:1;font-size:clamp(20px,2.2vw,26px);line-height:1.4;text-wrap:pretty;overflow:hidden}
.avis-card figcaption{display:flex;align-items:center;gap:var(--s3);padding-top:var(--s4);border-top:1px dashed rgba(21,48,61,.25)}
.avis-initial{width:44px;height:44px;border-radius:50%;background:var(--navy);color:#fff;display:flex;align-items:center;justify-content:center;font-size:18px;flex:none}
.avis-who{display:flex;flex-direction:column;line-height:1.3;min-width:0}
.avis-who strong{font-weight:400;font-size:18px}
.avis-who span{font-size:14px;color:var(--n600);display:flex;gap:4px;align-items:center}
.avis-type{margin-left:auto;font-size:12px;letter-spacing:.14em;text-transform:uppercase;padding:6px 10px;border-radius:999px;background:var(--cream)}
@media (max-width:759px){
  .avis{padding:64px 0}
  .avis-stack{margin-right:0;height:470px}
  .avis-card{padding:40px 24px 28px}
  .avis-type{display:none}
}
