/* Refonte vitrine (nov. 2026) : rythme, hero équilibré, grilles régulières, carrousels mobiles. Chargé après site.css. */
:root{--sec-y:56px;--sec-y-m:36px;--surface:#fff;--on-primary:#fff;--shadow-color:rgba(92,43,56,.35)}
.sec{padding:var(--sec-y) 0}
.sec h2{font-size:46px}
.sec-head{margin-bottom:28px;gap:8px}
.sec+.sec:not(.band-white):not(.dark):not(.about):not(.contact):not(.mq):not(.bridesec):not(.epi):not(.paysec){padding-top:calc(var(--sec-y) * .5)}

/* En-tête fixe, compact */
header{position:sticky;top:0;z-index:20;background:var(--surface);backdrop-filter:saturate(1.2) blur(8px)}
.brand{flex:none}.brand-img{width:180px;height:46px;object-fit:contain}.bar{flex-wrap:nowrap;padding:10px 24px;gap:20px}
nav{flex-wrap:nowrap;gap:4px 22px;font-size:14.5px;letter-spacing:.2px}
nav a{padding:12px 0;min-height:44px;display:inline-flex;align-items:center;white-space:nowrap}
nav a.cta{padding:0 24px}
@media (max-width:1180px){nav a[href="#politique"],nav a[href="#paiement"]{display:none}}

/* Hero équilibré */
.hero{display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:48px;padding-top:48px;padding-bottom:56px}
.hero-text{gap:20px}
.hero h1{font-size:64px}
.hero p{font-size:18px}
.hero-more{color:var(--plum);font-weight:500;text-decoration:underline;text-underline-offset:4px;align-self:flex-start;min-height:44px;display:inline-flex;align-items:center}
.scene-col{gap:0}
.scene{height:540px}
.arch{height:530px;width:82%}
.seal{width:150px;height:150px;bottom:10px}

/* Barre de réassurance */
.trust{background:var(--surface);border-bottom:1px solid var(--line)}
.trust-in{display:grid;grid-template-columns:repeat(4,1fr);gap:0}
.trust-in a{display:flex;flex-direction:column;gap:2px;padding:16px 18px;text-decoration:none;color:var(--ink);border-left:1px solid var(--line);min-height:44px}
.trust-in a:first-child{border-left:0}
.trust-in b{font-size:11.5px;letter-spacing:2.5px;text-transform:uppercase;color:var(--goldtext);font-weight:500}
.trust-in span{font-size:15px}
.strip .wrap{padding-top:14px;padding-bottom:14px;font-size:13px}

/* Fondatrice : bloc horizontal compact */
.founder .hero-bio{max-width:none;background:transparent;border:0;border-radius:0;padding:0;display:grid;grid-template-columns:minmax(220px,.8fr) 1.6fr;column-gap:40px;row-gap:12px;align-items:start}
.founder .hero-bio>.eyebrow,.founder .hero-bio>.hb-name,.founder .hero-bio>.hb-role{grid-column:1}
.founder .hero-bio>p,.founder .hero-bio>.hb-qual,.founder .hero-bio>.hb-chips{grid-column:2}
.founder .hero-bio>p{grid-row:1/span 3}
.founder .hero-bio>.btn{grid-column:1;grid-row:4}
.founder .hb-name{font-size:60px}

/* Carte : un univers à la fois */
.tabs{gap:8px;margin-bottom:20px}
.tab{padding:10px 20px}
.row{padding:16px 0}
.row h3{font-size:24px}

/* Réalisations : cadrage d’origine, maquillage au format paysage. */
.grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px;grid-auto-flow:dense;align-items:start}
.tile.wide{grid-column:span 2}
.tile img{aspect-ratio:4/5;height:auto;object-fit:cover}
.tile img.mk{aspect-ratio:2/1}

/* Vidéos : grilles régulières */
.vids{gap:16px;align-items:stretch}
#vidList{grid-template-columns:repeat(4,1fr)}
#vidList video,#vidList .vz{aspect-ratio:4/5;width:100%;height:auto;object-fit:cover;border-radius:20px}
#vidList .vz video{height:100%;aspect-ratio:auto}
#mqList{grid-template-columns:repeat(4,minmax(0,1fr))}
#mqList figure,#mqList figure.port{grid-column:auto;grid-row:auto;margin:0}
#mqList .vz,#mqList figure.port .vz{aspect-ratio:4/5;height:auto}
#mqList .vz video{height:100%;object-fit:cover}
.epgrid{grid-template-columns:1fr 1fr;align-items:stretch}
.epph{margin:0}.epph img{aspect-ratio:4/5;height:auto;max-height:560px;object-fit:cover}
#epList .vz{aspect-ratio:4/5;height:auto}#epList .vz video{height:100%}
#epList{grid-template-columns:1fr}
@media (max-width:1000px){#vidList{grid-template-columns:repeat(3,1fr)}}

/* Accessibilité */
a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--goldtext);outline-offset:3px;border-radius:6px}
.btn,.tab,.rg-link,.bride-open,summary{min-height:44px}

/* Bouton Réserver mobile toujours visible */
.m-book{display:none}

/* Tablette */
@media (max-width:900px){
  .bar{flex-wrap:wrap;gap:4px}nav{width:100%;overflow-x:auto;gap:20px}.hero{grid-template-columns:1fr 1fr;gap:24px;padding-top:32px}.hero h1{font-size:48px}
  .scene{height:420px;max-width:520px;margin:0 auto}
  .arch{height:410px;width:100%}
  .trust-in{grid-template-columns:1fr 1fr}
  .trust-in a:nth-child(3){border-left:0}
  .trust-in a:nth-child(n+3){border-top:1px solid var(--line)}
  .founder .hero-bio{grid-template-columns:1fr;padding:26px}
  .founder .hero-bio>*{grid-column:1!important;grid-row:auto!important}
}

/* Mobile */
@media (max-width:700px){
  .sec{padding:var(--sec-y-m) 0}
  .sec+.sec:not(.band-white):not(.dark):not(.about):not(.contact):not(.mq):not(.bridesec):not(.epi):not(.paysec){padding-top:calc(var(--sec-y-m) * .6)}
  section[id]{scroll-margin-top:120px}
  .bar{flex-wrap:wrap;padding:8px 16px 0;gap:0}
  .brand-img{width:150px;height:34px}
  nav{width:100%;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;gap:20px;font-size:14px;mask-image:linear-gradient(90deg,#000 88%,transparent)}
  nav::-webkit-scrollbar{display:none}
  nav a.cta{display:none}
  nav a[href="#politique"],nav a[href="#paiement"]{display:inline-flex}
  .m-book{display:flex;position:fixed;z-index:30;right:16px;bottom:16px;align-items:center;justify-content:center;min-height:52px;padding:0 28px;border-radius:999px;background:var(--plum);color:var(--on-primary);text-decoration:none;font-weight:500;box-shadow:0 10px 30px var(--shadow-color)}
  body{padding-bottom:0}
  .hero{grid-template-columns:1fr;padding-top:20px;padding-bottom:24px;gap:16px}
  .hero h1{font-size:44px}
  .hero p{font-size:16.5px}
  .btns .btn{flex:1 1 auto;text-align:center;padding-left:20px;padding-right:20px}
  .scene{height:400px}
  .arch{height:390px;width:88%}
  .seal{width:112px;height:112px}
  .trust-in a{padding:12px 12px}
  .trust-in span{font-size:13.5px}
  .tabs{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin-left:-16px;margin-right:-16px;padding:0 16px 4px}
  .tabs::-webkit-scrollbar{display:none}
  .tab{flex:none}
  /* Carrousels horizontaux */
  .grid,#vidList,#mqList,#epList{display:grid;grid-auto-flow:column;grid-template-columns:none;grid-template-rows:none;grid-auto-columns:72%;overflow-x:auto;scroll-snap-type:x mandatory;gap:12px;margin-left:-24px;margin-right:-24px;padding:0 24px 8px;scroll-padding:0 24px;scrollbar-width:thin}
  .grid>*,#vidList>*,#mqList>*,#epList>*{scroll-snap-align:start}
  .grid .tile.wide{grid-column:auto}
  #mqList figure,#mqList figure.port{grid-column:auto;grid-row:auto}
  #mqList .vz,#mqList figure.port .vz{aspect-ratio:9/16;flex:none}
  .epgrid{grid-template-columns:1fr;gap:12px}
  .epph img{aspect-ratio:4/5}
  #epList{grid-auto-columns:72%}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Dimensions bornées : les vidéos et portraits ne prolongent pas la page. */
*{letter-spacing:0}
.bride{max-width:440px;aspect-ratio:4/5;border-radius:8px}
.about-arch{height:520px;max-width:360px}.about-arch img{height:100%;object-fit:cover}
#soinsList{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 32px}
.row{min-width:0}.row-top{flex-wrap:wrap}.row h3{overflow-wrap:anywhere}.price{white-space:normal}
.pdlg{max-height:calc(100dvh - 24px);overflow-y:auto}
.founder .gold3d{animation:none;filter:none;background:none;color:var(--plum);-webkit-text-fill-color:currentColor}
:root{--signature-gold:#B8902B;--signature-metal:linear-gradient(110deg,#8A6A1F 0%,#D4AF37 25%,#F3DC8A 38%,#B8902B 52%,#7A5A12 65%,#D4AF37 85%,#8A6A1F 100%);--signature-relief:drop-shadow(-.4px -.4px .1px #F3DC8A) drop-shadow(1px 1px .2px #7A5A12) drop-shadow(2px 3px 2px #8A6A1F55)}
.founder .hb-name{animation:none;background:none;color:var(--signature-gold);-webkit-text-fill-color:currentColor;text-shadow:none;filter:var(--signature-relief);text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}
@supports ((background-clip:text) or (-webkit-background-clip:text)){
 .founder .hb-name{background-image:var(--signature-metal);background-size:220% 100%;background-repeat:no-repeat;background-clip:text;-webkit-background-clip:text;color:transparent;-webkit-text-fill-color:transparent;animation:signature-shine 6s ease-in-out infinite}
}
@keyframes signature-shine{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}
@media(prefers-reduced-motion:reduce){.founder .hb-name{animation:none}}
.pay-step,.step,.how,.pol-grid>*,.rev{border-radius:8px}
@media(max-width:900px){#mqList{grid-template-columns:repeat(4,minmax(0,1fr))}.about-arch{height:400px}.hero p{font-size:16px}}
@media(max-width:700px){.sec h2{font-size:34px}.hb-role{overflow-wrap:anywhere}#soinsList{grid-template-columns:1fr}.about-arch{height:340px}.founder .hero-bio{padding:0}.grid,#vidList,#mqList,#epList{grid-template-columns:none}.row h3{font-size:23px}.trust-in b{font-size:11px}.strip .wrap{gap:10px}.pay-step{padding:18px}.about .wrap{gap:24px}}
/* Le champ e-mail conserve exactement le traitement des autres champs. */
.rg-f input[type=email]{font:inherit;font-size:16px;padding:12px 14px;border:1.5px solid var(--line);border-radius:12px;background:var(--blush);color:var(--ink);width:100%;box-sizing:border-box}
.rg-f.bad input[type=email]{border-color:var(--form-error)}
:root{--form-error:#b3261e}
/* Un seul défilement pour atteindre la validation, même sur écran court. */
.rgdlg{overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
.rgdlg .rg-wrap{max-height:none;overflow:visible}
.rgdlg .rg-main{min-height:0;overflow:visible;padding-bottom:32px}
/* Vidéos entières, sans recadrage ni agrandissement progressif. */
#vidList video,#mqList .vz video,#epList .vz video{object-fit:contain;transform:none!important}
#mqList .vz{aspect-ratio:196/89}
#mqList figure.port .vz{aspect-ratio:9/16}
#mqList{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}
#mqList figure.port{width:min(100%,320px)}
@media(max-width:700px){
  #vidList,#mqList,#epList{grid-auto-columns:min(62%,240px)}
  #mqList{grid-template-columns:none;grid-auto-columns:88%}
  #mqList figure.port{width:100%;max-width:280px}
}
