:root{--black:#0b0b0b;--paper:#f3f0eb;--red:#bd1f2d;--serif:Georgia,'Times New Roman',serif;--sans:Arial,Helvetica,sans-serif;--max:1180px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:80px}body{margin:0;background:var(--paper);color:#171717;font:16px/1.7 var(--sans);-webkit-font-smoothing:antialiased}img{display:block;width:100%}a{color:inherit}.wrap{width:min(calc(100% - 48px),var(--max));margin:auto}.section{padding:115px 0}.skip{position:fixed;top:-60px;left:15px;background:#fff;padding:8px 14px;z-index:200}.skip:focus{top:15px}.hero{min-height:100svh;position:relative;display:flex;align-items:center;background:#080808;color:#fff;overflow:hidden}.heroimage{position:absolute;inset:0;background:url('../images/webp/book-photo-marrakech-hero.webp') center 25%/cover}.veil{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.9),rgba(0,0,0,.47) 52%,rgba(0,0,0,.08)),linear-gradient(0deg,rgba(0,0,0,.55),transparent)}.nav{position:absolute;top:0;left:50%;transform:translateX(-50%);height:80px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #ffffff35;z-index:10}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;text-transform:uppercase;font-size:11px;letter-spacing:.16em;line-height:1.4}.brand i{font:17px var(--serif);font-style:normal;border:1px solid var(--red);width:42px;height:42px;display:grid;place-items:center}.brand b{display:block;color:#999;font-weight:400}.nav ul{list-style:none;display:flex;gap:24px;align-items:center;margin:0;padding:0}.nav ul a{text-decoration:none;text-transform:uppercase;font-size:10px;letter-spacing:.14em;font-weight:bold}.nav ul a:hover{color:#e5525f}.navcta{border:1px solid var(--red);padding:11px 15px}.menu{display:none}.herotxt{position:relative;z-index:2;padding-top:90px}.overline{font-size:10px;text-transform:uppercase;letter-spacing:.3em;font-weight:bold;margin:0 0 20px}.accent{color:var(--red)}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(52px,7.2vw,108px);line-height:.88;letter-spacing:-.045em;text-transform:uppercase;margin:0 0 30px}h1 em,h2 em{font-family:var(--serif);font-weight:400;text-transform:none;color:var(--red)}.herolead{max-width:610px;font-size:18px;color:#ddd}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:32px}.btn{min-height:52px;display:inline-flex;align-items:center;justify-content:center;padding:13px 24px;border:1px solid transparent;text-decoration:none;text-transform:uppercase;letter-spacing:.12em;font-size:10px;font-weight:bold;cursor:pointer;transition:.2s}.btn:hover{transform:translateY(-2px)}.red{background:var(--red);color:#fff}.red:hover{background:#951723}.outline{border-color:#ffffff88;color:#fff}.outline:hover{background:#fff;color:#111}.black{background:#111;color:#fff}.proof{display:flex;gap:30px;flex-wrap:wrap;color:#aaa;font-size:10px;text-transform:uppercase;letter-spacing:.1em;margin-top:35px}.proof span:before{content:'•';color:var(--red);margin-right:9px}.dark{background:var(--black);color:#fff}.twocol{display:grid;grid-template-columns:.8fr 1.2fr;gap:9vw;align-items:center}.portrait{margin:0;position:relative}.portrait:before{content:'';position:absolute;inset:-18px 18px 38px -18px;border:1px solid #3b3b3b}.portrait img{position:relative;aspect-ratio:4/5;object-fit:cover;object-position:center top}.portrait figcaption{position:relative;margin-top:16px;text-transform:uppercase;font-size:10px;letter-spacing:.13em}.portrait figcaption span{display:block;color:#777}.copy h2,.heading h2,.contact h2{font-size:clamp(40px,5vw,70px);line-height:1.03;letter-spacing:-.04em;margin-bottom:30px}.lead{font-size:20px;color:#ddd}.copy>p:not(.overline):not(.lead):not(.signature){color:#999}.signature{font:italic 26px var(--serif);margin:28px 0}.textlink{font-size:11px;text-transform:uppercase;letter-spacing:.1em;text-decoration:none;border-bottom:1px solid var(--red);padding-bottom:6px}.heading{max-width:730px;margin-bottom:58px}.heading>p:last-child{color:#666}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.card{position:relative;background:#fff;border:1px solid #ddd;padding:40px 34px;display:flex;flex-direction:column;min-height:620px}.featured{background:#121212;color:#fff;transform:translateY(-18px)}.num{font:italic 18px var(--serif);color:var(--red)}.card h3{font-size:29px;line-height:1.12;text-transform:uppercase}.price{font:50px/1 var(--serif);color:var(--red);margin-bottom:10px}.price small{font:10px var(--sans);letter-spacing:.12em}.meta{text-transform:uppercase;letter-spacing:.1em;font-size:10px;color:#777;padding-bottom:20px;border-bottom:1px solid #ddd}.featured .meta{border-color:#333}.card ul{padding:10px 0;list-style:none;flex:1}.card li{font-size:14px;padding:8px 0 8px 19px;position:relative}.card li:before{content:'—';position:absolute;left:0;color:var(--red)}.note{font-size:11px;color:#777;min-height:42px}.popular{position:absolute;right:20px;top:20px;color:var(--red);text-transform:uppercase;font-size:9px;letter-spacing:.12em}.footnote{text-align:center;color:#777;font-size:11px;margin:28px 0 0}.gallerysection{background:var(--black);color:#fff}.gallery{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:280px;gap:8px}.tile{position:relative;overflow:hidden;background:#222}.tile.tall{grid-row:span 2}.tile.wide{grid-column:span 2}.tile img{height:100%;object-fit:cover;filter:grayscale(15%);transition:.7s}.tile:hover img{transform:scale(1.04);filter:none}.tile span{position:absolute;bottom:18px;left:20px;color:#fff;text-transform:uppercase;font-size:9px;letter-spacing:.18em;text-shadow:0 2px 8px #000}.process{background:#fff}.processgrid{display:grid;grid-template-columns:.8fr 1.2fr;gap:9vw;align-items:start}.process .heading{position:sticky;top:110px}.steps{list-style:none;margin:0;padding:0}.steps li{display:grid;grid-template-columns:65px 1fr;gap:20px;border-bottom:1px solid #ddd;padding-bottom:40px;margin-bottom:40px}.steps b{font:italic 27px var(--serif);color:var(--red)}.steps h3{text-transform:uppercase;font-size:19px}.steps p{color:#666;margin:0}.quote{background:linear-gradient(#000c,#000c),url('../images/webp/book-photo-marrakech-portrait-02.webp') center/cover fixed;color:#fff;text-align:center}.quote .wrap{max-width:880px}.quote b{font:100px/.4 var(--serif);color:var(--red)}.quote blockquote{font:italic clamp(26px,3.6vw,48px)/1.35 var(--serif);margin:36px 0}.quote p{text-transform:uppercase;letter-spacing:.2em;font-size:10px;color:#aaa}.faqgrid{display:grid;grid-template-columns:.85fr 1.15fr;gap:9vw}.faq details{border-top:1px solid #cec9c2;padding:24px 0}.faq details:last-child{border-bottom:1px solid #cec9c2}.faq summary{cursor:pointer;list-style:none;text-transform:uppercase;font-weight:bold;font-size:13px;letter-spacing:.04em;padding-right:38px;position:relative}.faq summary:after{content:'+';position:absolute;right:4px;font-size:24px;font-weight:normal;top:-10px}.faq details[open] summary:after{content:'−'}.faq details p{color:#666;margin:16px 35px 0 0}.contact{background:var(--black);color:#fff}.contactgrid{display:grid;grid-template-columns:.8fr 1.2fr;gap:9vw}.contactgrid>div>p:not(.overline){color:#999}.walink{border-left:2px solid var(--red);padding-left:17px;display:flex;flex-direction:column;text-decoration:none;margin:35px 0}.walink span{text-transform:uppercase;letter-spacing:.15em;font-size:9px;color:#888}.walink strong{font:25px var(--serif)}.contact small{color:#777}form{background:#171717;padding:40px}.formrow{display:grid;grid-template-columns:1fr 1fr;gap:18px}label{display:block;text-transform:uppercase;font-size:9px;letter-spacing:.14em;color:#aaa;margin-bottom:19px}input,select,textarea{width:100%;border:0;border-bottom:1px solid #555;background:transparent;color:#fff;padding:12px 0;font:16px var(--sans);outline:0;border-radius:0}select{color-scheme:dark}textarea{resize:vertical}input:focus,select:focus,textarea:focus{border-color:var(--red)}.status{font-size:12px;margin:16px 0 0}.status.error{color:#ff8d96}footer{background:#050505;color:#777;border-top:1px solid #222;padding:34px 0}.footer{display:flex;align-items:center;justify-content:space-between;gap:25px;font-size:10px}.footer p{margin:0}.footer p a{text-transform:uppercase;letter-spacing:.1em;text-decoration:none;margin-left:15px}.wafloat{position:fixed;z-index:80;right:24px;bottom:22px;background:#25d366;color:#07150b;border-radius:999px;padding:11px 17px 11px 12px;display:flex;align-items:center;gap:8px;text-decoration:none;font-size:10px;font-weight:bold;text-transform:uppercase;letter-spacing:.08em;box-shadow:0 8px 30px #0006}.wafloat svg{width:26px;fill:currentColor}.lightbox{position:fixed;inset:0;background:#000f;z-index:100;display:grid;place-items:center;padding:40px}.lightbox[hidden]{display:none}.lightbox img{max-width:90vw;max-height:90vh;width:auto}.lightbox button{position:absolute;right:25px;top:12px;background:none;border:0;color:#fff;font-size:42px;cursor:pointer}.reveal{opacity:0;transform:translateY(20px);transition:opacity .7s,transform .7s}.reveal.visible{opacity:1;transform:none}
@media(max-width:900px){.section{padding:82px 0}.menu{display:block;background:none;border:0;padding:9px;position:relative;z-index:2}.menu span{display:block;width:24px;height:1px;background:#fff;margin:5px}.menu em{position:absolute;clip:rect(0,0,0,0)}.nav ul{display:none;position:absolute;left:-24px;right:-24px;top:70px;background:#0b0b0b;padding:30px 25px 38px;flex-direction:column;align-items:flex-start}.nav ul.open{display:flex}.nav{height:70px}.twocol,.processgrid,.faqgrid,.contactgrid{grid-template-columns:1fr;gap:62px}.portrait{max-width:550px}.process .heading{position:static}.cards{grid-template-columns:1fr;max-width:620px;margin:auto}.featured{transform:none}.card{min-height:auto}.gallery{grid-template-columns:repeat(2,1fr)}.quote{background-attachment:scroll}.footer{flex-wrap:wrap}}
@media(max-width:600px){.wrap{width:calc(100% - 32px)}.section{padding:66px 0}.hero{min-height:740px}.heroimage{background-position:62% top}.veil{background:linear-gradient(90deg,#000e,#0004),linear-gradient(0deg,#000b,transparent)}h1{font-size:48px}.herolead{font-size:16px;max-width:90%}.actions{flex-direction:column;max-width:320px}.proof{font-size:8px;gap:12px}.copy h2,.heading h2,.contact h2{font-size:39px}.gallery{grid-template-columns:1fr;grid-auto-rows:360px}.tile.tall,.tile.wide{grid-column:auto;grid-row:auto}.formrow{grid-template-columns:1fr}form{padding:28px 22px}.footer{flex-direction:column;align-items:flex-start}.footer p a{margin:0 15px 0 0}.wafloat{right:13px;bottom:13px;padding:11px}.wafloat span{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}}

/* Palette bleu nuit et rouge vif fournie par le client */
:root{--black:#061c28;--paper:#d1cbcf;--red:#fa2547}
body{background:var(--paper);color:#061c28}.hero,.dark,.gallerysection,.contact{background:#061c28}.veil{background:linear-gradient(90deg,rgba(6,28,40,.96),rgba(6,28,40,.62) 52%,rgba(6,28,40,.12)),linear-gradient(0deg,rgba(6,28,40,.7),transparent)}.nav ul a:hover{color:#fa2547}.herolead,.lead{color:#d1cbcf}.proof,.copy>p:not(.overline):not(.lead):not(.signature),.contactgrid>div>p:not(.overline){color:#7c7f88}.card{background:#e6e1e3;border-color:#b6afb3}.card.featured{background:#061c28}.black{background:#061c28}.process{background:#e6e1e3}.steps p,.heading>p:last-child,.faq details p{color:#55666f}.gallery{grid-auto-rows:260px}.gallery .tile:nth-child(9n+1),.gallery .tile:nth-child(9n+6){grid-row:span 2}.gallery .tile:nth-child(9n+4){grid-column:span 2}.tile{background:#354954}.quote{background-image:linear-gradient(rgba(6,28,40,.84),rgba(6,28,40,.84)),url('../images/webp/book-photo-marrakech-portrait-02.webp')}form{background:#0a2633}footer{background:#04151e}.wafloat{background:#fa2547;color:#fff}
@media(max-width:600px){.gallery .tile:nth-child(9n+1),.gallery .tile:nth-child(9n+6){grid-row:auto}.gallery .tile:nth-child(9n+4){grid-column:auto}}

/* Fond blanc cassé de la section tarifs */
.offers{background:#f4f1ec}.offers .card:not(.featured){background:#fffdf9}

/* Monogramme JCL */
.brand i{font-family:Inter,Arial,sans-serif;font-style:normal;font-weight:800}

/* Navigation toujours visible, avec fond sur toute la largeur */
.nav{position:fixed;background:rgba(6,28,40,.92);border-bottom-color:rgba(209,203,207,.16);box-shadow:0 0 0 100vmax rgba(6,28,40,.92),0 8px 30px rgba(6,28,40,.18);clip-path:inset(0 -100vmax);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}
@media(max-width:900px){.nav ul{background:#061c28}}
