:root{--ink:#172026;--muted:#57656b;--red:#dd2826;--orange:#f5891f;--blue:#199cad;--cream:#f8f5f0;--paper:#fff;--line:#e6e9e8;--w:1190px;scroll-behavior:smooth}*{box-sizing:border-box}html{scroll-padding-top:94px}body{margin:0;background:var(--paper);color:var(--ink);font-family:"Trebuchet MS",Arial,sans-serif;-webkit-font-smoothing:antialiased}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--blue);outline-offset:4px}.shell{width:min(var(--w),calc(100% - 72px));margin:auto}.skip{position:absolute;top:-90px;left:10px;padding:12px;background:white;z-index:20}.skip:focus{top:10px}.header{height:90px;background:#fff;border-bottom:1px solid #f2f2f2;position:sticky;top:0;z-index:10}.nav{height:100%;display:flex;align-items:center;justify-content:space-between;gap:32px}.brand img{width:168px;height:66px;object-fit:contain}.nav nav{display:flex;align-items:center;gap:32px;font-size:14px;font-weight:700}.nav nav>a{transition:color .2s}.nav nav>a:hover{color:var(--red)}.nav .nav-order{background:var(--ink);color:#fff;border-radius:100px;padding:15px 23px}.nav .nav-order:hover{background:var(--red);color:white}.nav-toggle{display:none}.hero{padding:78px 0 95px;display:grid;grid-template-columns:1fr 1.08fr;gap:52px;align-items:center}.hero-copy{padding-bottom:16px}.eyebrow{color:var(--red);text-transform:uppercase;font-size:12px;font-weight:900;letter-spacing:.15em;margin:0 0 24px;display:flex;align-items:center;gap:12px}.dots{display:inline-flex;gap:5px}.dots i{display:block;width:7px;height:7px;border-radius:50%;background:var(--red)}.dots i:nth-child(2){background:var(--orange)}.dots i:nth-child(3){background:var(--blue)}h1,h2,h3,p{margin-top:0}h1,h2{letter-spacing:-.055em;line-height:1;}h1{font-size:clamp(44px,4.8vw,73px);margin-bottom:27px;font-weight:900}h2{font-size:clamp(37px,4.25vw,62px);font-weight:900;margin-bottom:27px}h1 em,h2 em{color:var(--blue);font-style:normal}.hero-lead{font-size:18px;line-height:1.75;color:var(--muted);max-width:520px}.actions{display:flex;align-items:center;gap:26px;flex-wrap:wrap;margin:36px 0 26px}.btn{display:inline-flex;justify-content:space-between;align-items:center;gap:24px;border:0;border-radius:100px;padding:19px 27px;font-size:14px;font-weight:900;transition:transform .2s,background .2s}.btn:hover{transform:translateY(-3px)}.btn-main{background:var(--red);color:white}.btn-main:hover{background:#b91b18}.sub-link,.text-link{font-size:14px;font-weight:900;border-bottom:1px solid currentColor;padding-bottom:5px}.sub-link:hover,.text-link:hover{color:var(--blue)}.hero-micro{font-size:12px;letter-spacing:.035em;color:#7b8487}.hero-micro span{margin:0 7px}.hero-media{position:relative;padding:10px 10px 30px 0}.hero-photo{overflow:hidden;border-radius:9px 100px 9px 95px;aspect-ratio:1.02;background:#eee}.hero-photo img{width:100%;height:100%;object-fit:cover}.round-tag{position:absolute;right:-28px;bottom:-28px;background:var(--orange);color:#fff;width:142px;height:142px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;font-weight:900;font-size:13px;line-height:1.35;transform:rotate(9deg);box-shadow:0 12px 35px #79430a22}.round-tag svg{width:35px;height:35px}.flow-band{background:var(--blue);color:#fff;overflow:hidden;padding:19px 0;font-size:14px;font-weight:900;letter-spacing:.17em;white-space:nowrap}.flow-band div{width:max-content;animation:flow 32s linear infinite}.flow-band span{margin:0 25px;color:#d6f0ec}@keyframes flow{to{transform:translateX(-32%)}}.section{padding-top:116px;padding-bottom:116px}.section-intro{max-width:800px;margin:0 auto 60px;text-align:center}.section-intro .eyebrow{justify-content:center}.section-intro>p:last-child{line-height:1.7;color:var(--muted);font-size:18px}.three-ways{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.way{border-top:1px solid var(--line);padding:35px 24px 20px 0}.way-icon{width:55px;height:55px;display:grid;place-items:center;border-radius:50%;color:white;font-size:19px;font-weight:900;margin-bottom:26px}.red{background:var(--red)}.orange{background:var(--orange)}.blue{background:var(--blue)}h3{font-size:24px;letter-spacing:-.04em;margin-bottom:14px}.way p,.audience-card p{font-size:15px;line-height:1.75;color:var(--muted)}.card-section{background:var(--cream)}.split{display:grid;grid-template-columns:1.06fr 1fr;align-items:center;gap:90px}.feature-image{position:relative}.feature-image>img{width:100%;aspect-ratio:1.1;object-fit:cover;border-radius:9px 80px 9px 9px;height: 500px;}.image-sticker{position:absolute;bottom:-19px;right:0px;background:var(--orange);color:#fff;transform:rotate(-9deg);width:114px;height:114px;border-radius:50%;display:grid;place-content:center;text-align:center;font-size:19px;line-height:1.15;font-weight:900}.feature-copy>p:not(.eyebrow,.fine-print,.signature,.credits){line-height:1.8;color:var(--muted);font-size:17px}.check-list{padding:0;list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:13px 22px;margin:31px 0}.check-list li{font-size:14px;font-weight:800}.check-list li:before{content:'✳';color:var(--orange);margin-right:9px}.gallery-top{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:35px}.gallery-top h2{margin-bottom:0}.gallery-top>p{max-width:300px;line-height:1.7;color:var(--muted);font-size:16px}.gallery-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:16px}.gallery-photo{padding:0;border:0;background:#eee;border-radius:12px;overflow:hidden;aspect-ratio:.75;position:relative}.gallery-photo.photo-wide{aspect-ratio:1.52}.gallery-photo img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.gallery-photo:hover img{transform:scale(1.045)}.composition{background:#f5fafb}.composition .reverse{grid-template-columns:1fr 1.06fr}.composition .feature-image img{border-radius:90px 9px 9px 9px}.stats{display:grid;grid-template-columns:1fr 1fr;gap:25px;margin-top:32px}.stats>div{display:flex;align-items:center;gap:13px;border-top:1px solid #d9e3e5;padding-top:19px}.stats strong{font-size:37px;color:var(--blue);letter-spacing:-.05em}.stats span{font-size:12px;line-height:1.5;font-weight:700}.fine-print{font-size:12px;color:#69757a;line-height:1.7;margin-top:20px}.audience-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.audience-card{background:#faf8f5;border-radius:9px;padding:31px 22px 22px;min-height:260px}.audience-card:nth-child(2){background:#f5fafa}.audience-card:nth-child(3){background:#fff4f1}.audience-card:nth-child(4){background:#fef9ed}.audience-card>span{font-size:24px;color:var(--red);display:block;margin-bottom:35px}.audience-card h3{font-size:20px}.story{background:#fcf9f5}.story-photo{max-width:480px}.story-photo img{width:100%;/*! aspect-ratio:3/5; */object-fit:cover;object-position:center 39%;border-radius:130px 9px 9px 9px;height: 636px;}.story .feature-copy{max-width:510px}.story .signature{font-size:26px;color:var(--red);font-weight:900;margin:30px 0 0}.story .fine-print{margin:8px 0 0}.story .credits{font-size:12px;color:#758187;line-height:1.6;border-top:1px solid #d9dbdb;margin-top:22px;padding-top:18px}.order{padding-top:135px}.order-panel{display:grid;grid-template-columns:.88fr 1.12fr;background:#f7faf9;border-radius:18px;overflow:hidden}.order-image{min-height:720px}.order-image img{width:100%;height:100%;object-fit:cover}.order-copy{padding:58px 64px}.order h2{font-size:clamp(31px,3vw,46px)}.order-copy>p:not(.eyebrow){color:var(--muted);line-height:1.7}.price{font-size:52px;font-weight:900;color:var(--red);margin:24px 0 35px;letter-spacing:-.055em}.price span{font-size:13px;letter-spacing:0;color:var(--muted);font-weight:500}.fields{display:grid;grid-template-columns:1fr 1fr;gap:14px}.fields label{display:flex;flex-direction:column;gap:7px;font-size:12px;font-weight:800}.fields .full{grid-column:1/-1}.fields input,.fields select,.fields textarea{border:1px solid #dbe2e3;border-radius:6px;background:white;padding:12px;color:#18292d;width:100%;min-width:0;font-size:14px}.fields textarea{resize:vertical}.total-line{margin:20px 0 16px;font-size:14px}.total-line strong{color:var(--red);font-size:20px}.form-help{color:#697579;font-size:12px;line-height:1.5}.payment-note{border-top:1px solid #d7e0e1;margin-top:28px;padding-top:21px}.payment-note h3{font-size:17px}.payment-note p{font-size:12px;line-height:1.75;color:var(--muted);overflow-wrap:anywhere}.outro{text-align:center;padding:60px 0 120px}.outro p{color:var(--muted);font-size:20px;margin-bottom:6px}.outro h2{font-size:clamp(60px,9vw,130px);margin:0 0 37px}.back-top{font-size:13px;font-weight:900;border-bottom:1px solid}.footer{border-top:1px solid var(--line);padding:35px 0}.footer-row{display:flex;align-items:center;justify-content:space-between;gap:25px}.footer-logo img{width:135px}.footer-row p,.footer-row span,.footer-links{font-size:12px;color:var(--muted);line-height:1.65}.footer-links{display:flex;gap:16px}.footer-links a:hover{color:var(--red)}.lightbox{border:0;padding:14px;background:white;border-radius:10px;max-width:min(96vw,1100px);max-height:96vh}.lightbox::backdrop{background:#081116dc}.lightbox img{max-height:85vh;max-width:100%;object-fit:contain}.lightbox-close{position:absolute;right:14px;top:14px;border:0;border-radius:50%;background:#fff;width:42px;height:42px;font-size:27px;box-shadow:0 2px 14px #0004}.reveal{opacity:0;transform:translateY(26px);transition:opacity .7s ease,transform .7s ease}.reveal.visible{opacity:1;transform:none}.legal-page{padding:90px 0 140px;max-width:760px}.legal-page h1{font-size:52px}.legal-page h2{font-size:24px;margin-top:35px;letter-spacing:-.03em}.legal-page p,.legal-page li{line-height:1.8;color:var(--muted)}
@media(max-width:1040px){.shell{width:min(var(--w),calc(100% - 46px))}.nav nav{gap:19px}.hero{gap:25px}.split{gap:43px}.order-copy{padding:43px 35px}.audience-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){html{scroll-padding-top:72px}.header{height:72px}.brand img{width:133px;height:55px}.nav-toggle{display:grid;gap:5px;border:0;background:transparent;padding:12px;margin-right:-10px}.nav-toggle span{width:25px;height:2px;background:var(--ink);border-radius:2px}.nav nav{display:none;position:absolute;top:72px;left:0;right:0;background:white;padding:22px 25px 30px;box-shadow:0 20px 24px #13131313;flex-direction:column;align-items:stretch;gap:0}.nav nav.open{display:flex}.nav nav>a{padding:15px 5px;border-bottom:1px solid var(--line)}.nav .nav-order{text-align:center;margin-top:14px;border:0}.shell{width:calc(100% - 36px)}.hero{padding:41px 0 70px;grid-template-columns:1fr;gap:30px}.hero-copy{padding:0}.hero h1{font-size:clamp(40px,10vw,57px)}.hero-lead{font-size:16px}.hero-media{padding:0 15px 22px 0}.round-tag{right:-5px;bottom:-19px;width:105px;height:105px;font-size:10px}.round-tag svg{width:27px;height:27px}.flow-band{padding:15px 0;font-size:11px}.section{padding-top:79px;padding-bottom:79px}.section-intro{margin-bottom:40px}.three-ways,.split,.composition .reverse,.order-panel{grid-template-columns:1fr}.way{padding:21px 0 10px}.way-icon{margin-bottom:14px}.feature-copy{padding-top:20px}.feature-image>img{aspect-ratio:1.18}.gallery-top{display:block}.gallery-top>p{margin-top:20px}.gallery-grid{grid-template-columns:1fr 1fr;gap:10px}.gallery-photo.photo-wide{grid-column:1/-1;aspect-ratio:1.4}.gallery-photo{aspect-ratio:.85}.story-photo{max-width:390px;margin:auto}.story .feature-copy{padding-top:5px}.order{padding-top:85px}.order-image{min-height:0;aspect-ratio:1.5}.order-copy{padding:35px 24px 45px}.order h2{font-size:38px}.footer-row{flex-wrap:wrap;justify-content:space-between}.footer-links{width:100%}.outro{padding:35px 0 90px}.outro p{font-size:16px}.legal-page{padding-top:60px}.legal-page h1{font-size:39px}}
@media(max-width:430px){.actions{align-items:flex-start;gap:19px}.hero-photo{border-radius:9px 55px 9px 55px}.audience-grid{grid-template-columns:1fr}.audience-card{min-height:0}.stats{gap:14px}.stats strong{font-size:31px}.fields{grid-template-columns:1fr}.fields .full{grid-column:auto}.price{font-size:44px}.price span{display:block}.footer-row p{width:calc(100% - 160px)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.flow-band div{animation:none}.reveal{opacity:1;transform:none;transition:none}*{scroll-behavior:auto!important}}


/* MUEVO v2 — améliorations sans modifier le langage visuel du modèle fourni */
[hidden]{display:none!important}
body{overflow-x:clip}
.hero-photo,.feature-image>img,.story-photo img{background:#f4f1ed}
/* Bandeau animé en boucle parfaitement raccordée, texte centré quand animation désactivée */
.flow-band{width:100%;overflow:hidden;text-align:center}
.flow-track{display:flex!important;align-items:center;width:max-content;white-space:nowrap;animation:marquee 44s linear infinite!important;will-change:transform}
.flow-copy{display:block;flex:0 0 auto;white-space:pre;min-width:max-content;font-size:inherit}
@keyframes marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
/* Menu fluide; croix animée avec les trois traits */
.nav-toggle{position:relative;z-index:2;align-items:center;justify-items:center}
.nav-toggle span{display:block;transition:transform .3s ease,opacity .2s ease,background .25s ease;transform-origin:center}
.nav-toggle[aria-expanded="true"] span:first-child{transform:translateY(7px) rotate(45deg)}
.nav-toggle[aria-expanded="true"] span:nth-child(2){opacity:0;transform:scaleX(.3)}
.nav-toggle[aria-expanded="true"] span:last-child{transform:translateY(-7px) rotate(-45deg)}
/* Bouton de retour flottant, réellement visible après une hauteur d'écran */
.to-top{position:fixed;right:25px;bottom:25px;z-index:30;background:var(--ink);color:white;border:0;border-radius:50%;height:52px;width:52px;display:grid;place-items:center;font-size:25px;opacity:0;transform:translateY(14px) scale(.95);pointer-events:none;transition:opacity .25s,transform .25s,background .25s;box-shadow:0 9px 27px #17202635}
.to-top.visible{opacity:1;transform:none;pointer-events:auto}
.to-top:hover{background:var(--red)}
/* Photo non-carrées, cohérentes avec la proposition originale */
.gallery-photo.photo-wide{aspect-ratio:1.52}.gallery-photo:not(.photo-wide){aspect-ratio:.75}
/* Un formulaire fonctionnel mais visuellement intégré au modèle éditorial */
.order-copy .fields{align-items:start}
.order-copy .fields label{position:relative;display:flex;flex-direction:column;gap:8px;line-height:1.5}
.optional{font-weight:400;color:var(--muted);font-size:11px}
.fields input,.fields textarea,.fields select,.message-label textarea{min-height:47px;border:1px solid #d8e1df;border-radius:8px;transition:border-color .2s,box-shadow .2s;outline:none}
.fields input:focus,.fields textarea:focus,.fields select:focus,.message-label textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px #199cad18}
.address-fields{border:0;padding:15px 0 0;margin:13px 0 0}
.address-fields legend{padding:0;font-size:14px;font-weight:900;margin-bottom:12px}
.message-label{font-size:12px;font-weight:800;display:flex;flex-direction:column;gap:9px;margin-top:16px}
.message-label textarea{width:100%;background:#fff;padding:13px;min-height:90px;resize:vertical}
.order-summary{margin:22px 0 23px;padding:20px 0 3px;border-top:1px solid #d8e1df;border-bottom:1px solid #d8e1df}
.order-summary>div{display:flex;justify-content:space-between;gap:14px;align-items:baseline;margin-bottom:10px;color:var(--muted);font-size:14px}
.order-summary>div strong{color:var(--ink);font-weight:800}
.order-summary>.total-line{padding-top:12px;border-top:1px solid #d8e1df;margin:15px 0 14px;color:var(--ink);font-weight:800}
.order-summary>.total-line strong{font-size:23px;color:var(--red)}
#shipping-note{font-size:12px;line-height:1.55;margin:0 0 12px;color:#8a4c16}
.consent{display:flex;align-items:start;gap:12px;font-size:12px;line-height:1.6;color:var(--muted);cursor:pointer;margin:0 0 20px}
.consent input{margin-top:3px;flex-shrink:0;accent-color:var(--blue);width:17px;height:17px}
.consent a{text-decoration:underline;text-underline-offset:3px}
.consent a:hover{color:var(--blue)}
.spam-trap{position:absolute!important;left:-9999px;top:auto;height:1px;overflow:hidden}
.form-feedback:empty{display:none}
.form-feedback{margin-top:16px!important;padding:12px 15px;border-radius:8px;background:#f1f8fa;font-size:13px!important;line-height:1.6!important}
.form-feedback.error{background:#fff0ee;color:#9c2621!important}
.form-feedback.success{background:#eff8ef;color:#24633c!important}
#submit-order:disabled{opacity:.65;cursor:wait;transform:none}
/* Les pages légales partagent les mêmes titres et typographie */
.legal-page{width:min(780px,calc(100% - 72px));margin-inline:auto}
.legal-page h1{max-width:100%}
.legal-page a:not(.btn){text-decoration:underline;text-underline-offset:3px}
.legal-warning{background:#fff7ea;border-left:4px solid var(--orange);padding:18px 20px;margin:28px 0;line-height:1.7;color:var(--ink)}
/* Apparitions uniquement lorsque JS a correctement été initialisé */
.reveal{opacity:1;transform:none}
.js .reveal{opacity:0;transform:translateY(25px);transition:opacity .7s ease,transform .7s ease}
.js .reveal.visible{opacity:1;transform:none}
@media(max-width:760px){
 .header .nav nav{display:flex;visibility:hidden;opacity:0;pointer-events:none;transform:translateY(-14px);position:absolute;top:72px;left:0;right:0;background:white;padding:17px 24px 27px;box-shadow:0 20px 35px #10191d19;flex-direction:column;align-items:stretch;gap:0;transition:opacity .28s ease,transform .28s ease,visibility .28s}
 .header .nav nav.open{visibility:visible;opacity:1;pointer-events:auto;transform:translateY(0)}
 .header .nav nav a{display:block}
 .feature-image>img{height:clamp(245px,68vw,390px);aspect-ratio:auto}
 .story-photo img{height:clamp(360px,105vw,530px);aspect-ratio:auto}
 .order-panel{overflow:hidden}
 .order-image{max-height:380px}
 .order-image img{object-position:center 45%}
 .gallery-photo.photo-wide{aspect-ratio:1.5}
 .gallery-photo:not(.photo-wide){aspect-ratio:.83}
 .to-top{right:17px;bottom:17px;height:47px;width:47px}
 .legal-page{width:calc(100% - 36px)}
 .flow-band{padding:16px 0}
}
@media(max-width:430px){.order-image{max-height:285px}.fields{grid-template-columns:1fr}.order-copy{padding:32px 22px 36px}}
@media(prefers-reduced-motion:reduce){.flow-track{animation:none!important;justify-content:center;transform:none!important}.flow-copy:not(:first-child){display:none}.js .reveal{opacity:1;transform:none;transition:none}.header .nav nav,.to-top,.nav-toggle span{transition:none!important}}

/* MUEVO — facturation et contact */
.billing-fields{border:0;padding:22px 0 4px;margin:22px 0 0;border-top:1px solid #d8e1df}
.billing-fields legend{font-weight:900;font-size:17px;padding:0 0 6px}
.billing-question{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin:8px 0 17px;font-size:14px;font-weight:700}
.radio-choices{display:flex;align-items:center;gap:20px}.radio-choices label{display:flex;align-items:center;gap:7px;font-size:14px;cursor:pointer;font-weight:600}
.radio-choices input{accent-color:var(--red);width:17px;height:17px}
#invoice-details{padding:13px 0 7px}.billing-address{padding-top:18px}.small-section-title{font-size:13px;font-weight:900}
.billing-hint{font-size:12px;line-height:1.6;color:var(--muted);margin:12px 0}
.contact-main{padding:90px 0 110px}.contact-intro{max-width:750px}.contact-lead{font-size:19px;line-height:1.7;color:var(--muted)}
.contact-layout{display:grid;grid-template-columns:0.9fr 1.1fr;gap:70px;align-items:start;margin-top:45px}
.contact-photo img{height:480px;width:100%;object-fit:cover;border-radius:9px 100px 9px 95px}
.contact-copy{padding:15px 0}.contact-copy h2{font-size:clamp(30px,3vw,45px)}.contact-copy>p{color:var(--muted);line-height:1.7}
.contact-form .fields{margin:25px 0 19px}.contact-form .fields .full{grid-column:1/-1}
.contact-form .fields textarea{min-height:155px;resize:vertical}
.contact-form button{margin-top:10px}
@media(max-width:760px){.contact-main{padding:55px 0 75px}.contact-layout{grid-template-columns:1fr;gap:25px;margin-top:30px}.contact-photo img{height:clamp(230px,65vw,370px);border-radius:9px 65px 9px 60px}}

/* Pied de page commun */
.footer-row a:hover{color:var(--red)} .footer-credit{font-size:12px;color:var(--muted)}.footer-credit a{font-weight:800;text-decoration:underline;text-underline-offset:3px}.credit-separator{margin:0 5px}

/* Version commande séparée : conserve le style éditorial initial */
.order-teaser .order-copy{display:flex;flex-direction:column;align-items:flex-start;justify-content:center}
.order-teaser .price{margin-bottom:30px}
@media(min-width:761px){.order-teaser .order-image{min-height:520px}}
