html{-webkit-text-size-adjust:100%}body{margin:0;background:#050506}*{box-sizing:border-box}img,video{max-width:100%}
a{color:#f5f1e8;text-decoration:none}a:hover{color:#c6a96b}
input::placeholder,textarea::placeholder{color:#8a857c}
input:focus,textarea:focus,button:focus-visible,a:focus-visible{outline:2px solid #c6a96b;outline-offset:3px}
@keyframes ps-rise{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:none}}
@keyframes ps-zoom{from{transform:scale(1.05)}to{transform:scale(1)}}
@keyframes ps-sweep{0%{transform:translateX(-120%)}55%,100%{transform:translateX(120%)}}
@keyframes ps-marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@keyframes ps-line{0%{transform:scaleY(0);transform-origin:top}45%{transform:scaleY(1);transform-origin:top}55%{transform:scaleY(1);transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom}}
@keyframes ps-glow{0%,100%{opacity:.35}50%{opacity:.9}}
.ps-rise{opacity:0;animation:ps-rise 1.1s cubic-bezier(.2,.7,.1,1) forwards}
.ps-d1{animation-delay:.2s}.ps-d2{animation-delay:.45s}.ps-d3{animation-delay:.7s}.ps-d4{animation-delay:.95s}
.ps-zoom{animation:ps-zoom 9s cubic-bezier(.2,.7,.1,1) forwards}
.ps-sweep{animation:ps-sweep 7s ease-in-out 1.2s infinite}
.ps-marquee{animation:ps-marquee 40s linear infinite}
.ps-line{animation:ps-line 2.4s ease-in-out infinite}
.ps-glow{animation:ps-glow 4s ease-in-out infinite}
.ps-lift{transition:transform .8s cubic-bezier(.2,.7,.1,1)}
.ps-lift:hover{transform:scale(1.04)}
.ps-card:hover .ps-arrow{transform:translateX(6px)}
.ps-arrow{display:inline-block;transition:transform .4s ease}
.ps-mbar{display:none}
@media (max-width:760px){
.ps-navlink{display:none!important}
.ps-pad{padding-left:20px!important;padding-right:20px!important}
.ps-hero{min-height:640px!important;height:100svh!important}
.ps-heroimg{object-position:58% 62%!important}
.ps-herobottom{padding-bottom:120px!important;gap:20px!important}
.ps-herocta{width:100%}
.ps-herocta a:first-child{flex:1;text-align:center}
.ps-gap{padding-top:120px!important}
.ps-mount{aspect-ratio:4/5!important;object-position:30% center}
.ps-mounttext{left:24px!important;right:24px!important;top:28px!important}
.ps-mountp{display:none}
.ps-hidem{display:none!important}
.ps-mbar{display:flex;position:fixed;left:12px;right:12px;bottom:12px;z-index:50;gap:8px;padding:8px;border-radius:999px;background:rgba(15,15,17,.82);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid rgba(255,255,255,.1)}
.ps-mbar a{flex:1;min-height:48px;display:flex;align-items:center;justify-content:center;border-radius:999px;font-size:15px;font-weight:600}
.ps-foot{padding-bottom:110px!important}
}
@media (prefers-reduced-motion:reduce){.ps-rise,.ps-zoom,.ps-sweep,.ps-marquee,.ps-line,.ps-glow{animation:none;opacity:1;transform:none}}

.ps-reveal{opacity:0;transform:translateY(32px);transition:opacity 1s cubic-bezier(.2,.7,.1,1),transform 1s cubic-bezier(.2,.7,.1,1)}
.ps-reveal.is-in{opacity:1;transform:none}
.ps-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.ps-status{grid-column:1/-1;margin:0;font-size:15px;line-height:1.5;color:#c9c3b6;min-height:1.5em}
.ps-status.is-ok{color:#c6a96b}.ps-status.is-err{color:#f0a48a}
button[disabled]{opacity:.6;cursor:wait}
@media (prefers-reduced-motion:reduce){.ps-reveal{opacity:1;transform:none;transition:none}}

/* --- 10 nov. : netteté et fluidité --- */
.ps-heroimg{image-rendering:auto;-webkit-backface-visibility:hidden;backface-visibility:hidden}
.ps-zoom{will-change:transform}
.ps-mbar{transform:translateY(160%);transition:transform .45s cubic-bezier(.2,.7,.1,1)}
.ps-mbar.is-on{transform:none}
@media (max-width:760px){
.ps-hero{height:auto!important;min-height:0!important}
.ps-hero>header{order:0}
.ps-hero>.ps-herobottom{order:1;flex:0 0 auto!important;justify-content:flex-start!important;padding-top:40px!important;padding-bottom:28px!important}
.ps-hero>.ps-zoom{order:2;position:relative!important;inset:auto!important;margin:0 20px 8px;aspect-ratio:16/9;border-radius:20px;overflow:hidden;animation:none!important;transform:none!important;background:#000}
.ps-hero>.ps-shade,.ps-hero>[aria-hidden="true"]:not(.ps-zoom){display:none!important}
.ps-heroimg{filter:none!important;object-position:center!important}
.ps-herocta{flex-wrap:nowrap!important;gap:16px!important}
.ps-herocta a:first-child{padding:16px 20px!important;white-space:nowrap}
.ps-herocta a:last-child{white-space:nowrap}
.ps-mbar{-webkit-backdrop-filter:blur(10px)!important;backdrop-filter:blur(10px)!important}
.ps-hero .ps-herobottom h1{font-size:clamp(44px,12vw,56px)!important}
}

/* --- 10 nov. (v3) : haut de page « texte puis photo », net à toutes les tailles --- */
.ps-hero{height:auto!important;min-height:0!important;padding-bottom:24px}
.ps-hero>header{order:0}
.ps-hero>.ps-herobottom{order:1;flex:0 0 auto!important;justify-content:flex-start!important;padding-top:clamp(40px,9vh,110px)!important;padding-bottom:clamp(32px,5vh,56px)!important}
.ps-hero>.ps-media{order:2;position:relative!important;inset:auto!important;width:min(1280px,calc(100% - 64px));margin:0 auto;aspect-ratio:2912/1632;border-radius:28px;overflow:hidden;background:#000;animation:ps-zoom 1.6s cubic-bezier(.2,.7,.1,1) both}
.ps-hero>.ps-shade,.ps-hero>[aria-hidden="true"]{display:none!important}
.ps-media .ps-heroimg{width:100%!important;height:100%!important;object-fit:cover;filter:none!important;display:block}
.ps-media::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(105deg,transparent 38%,rgba(255,236,205,.13) 50%,transparent 62%);transform:translateX(-110%);animation:ps-sweep 9s ease-in-out 1.8s infinite}
.ps-media::before{content:"";position:absolute;inset:0;pointer-events:none;border-radius:inherit;box-shadow:inset 0 0 0 1px rgba(255,255,255,.06);z-index:1}
.ps-hero .ps-herobottom h1{font-size:clamp(44px,7vw,104px)!important}
@media (max-width:760px){
.ps-hero>.ps-media{width:calc(100% - 40px);border-radius:20px}
.ps-hero>.ps-herobottom{padding-top:36px!important;padding-bottom:28px!important}
}
@media (prefers-reduced-motion:reduce){.ps-media,.ps-media::after{animation:none!important}}
@media (max-width:420px){.ps-hero>header{flex-wrap:nowrap!important;gap:10px!important}.ps-hero>header>a:first-child{gap:9px!important;min-width:0}.ps-hero>header>a:first-child svg{width:38px;height:38px;flex:0 0 auto}.ps-hero>header>a:first-child span span:first-child{font-size:16px!important}.ps-hero>header>a:first-child span span:last-child{font-size:11px!important;white-space:nowrap}.ps-hero>header nav{flex-wrap:nowrap!important;flex:0 0 auto}.ps-hero>header nav a[href="/#quote"]{padding:9px 14px!important;font-size:13px;white-space:nowrap}}
@media (max-width:350px){.ps-hero>header>a:first-child span span:last-child{display:none}}
/* Formulaire : erreurs par champ, bouton position */
.ps-field{display:flex;flex-direction:column;min-width:0}
.ps-err{margin:8px 0 0;font-size:13px;line-height:1.4;color:#e8a092;min-height:0}
.ps-err:empty{display:none}
.ps-field.is-bad input{border-bottom-color:#e8a092!important}
.ps-field.is-ok input{border-bottom-color:rgba(198,169,107,.7)!important}
.ps-geo{align-self:flex-start;margin-top:10px;display:inline-flex;align-items:center;gap:8px;background:none;border:1px solid rgba(245,241,232,.22);color:#f5f1e8;border-radius:999px;padding:8px 14px;font:500 13px/1 inherit;font-family:inherit;cursor:pointer;transition:border-color .2s,background .2s}
.ps-geo::before{content:"";width:8px;height:8px;border-radius:50%;background:#c6a96b;box-shadow:0 0 0 3px rgba(198,169,107,.25)}
.ps-geo:hover{border-color:#c6a96b}
.ps-geo[aria-busy="true"]{opacity:.6}
#quote-form input:focus{outline:none;border-bottom-color:#c6a96b!important}
.ps-err.is-hint{color:#c6a96b;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
