/* Direction photographique et éditoriale inspirée de la référence fournie. */
:root{--paper:#faf5ed;--ink:#382f29;--muted:#73665c;--orange:#945c38;--plum:#493c31;--peach:#f5dfca;--line:#dfd4c7}
body{padding:5px}h2,h3{font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-.04em}h2 em{color:var(--orange)}.brand{font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-.07em;font-size:2.75rem}.brand span{font-family:'Segoe UI',Arial,sans-serif;letter-spacing:.45em;font-size:.65rem;text-align:center;margin-top:14px;border-top:1px solid currentColor;padding-top:12px}.header{position:absolute;top:35px;left:4.5%;width:91%;max-width:none;z-index:5;color:white;border:0;padding:0;gap:35px}.header nav{gap:25px;font-size:1rem;text-shadow:0 1px 8px #0008}.header .brand{font-size:clamp(2.3rem,3.8vw,3.9rem)}.button,.button.small{border-radius:60px;background:#ffd4aa;color:#30271f;border-color:#ffd4aa;padding:18px 34px;font-size:1rem;font-weight:500;text-shadow:none;justify-content:center}.button:hover{background:#ffe2c5}.header .button{margin-left:10px;padding:17px 27px}.header nav>a:not(.button):hover{color:#ffd4aa}.hero.wrap{isolation:isolate;position:relative;width:100%;max-width:none;min-height:820px;height:calc(100svh - 10px);max-height:1100px;padding:190px 8% 210px;margin:0;display:flex;align-items:center;border-radius:24px;overflow:hidden;background:#39382f;color:white}.hero-photo{position:absolute;inset:0;z-index:-2;margin:0;padding:0;max-height:none;height:100%;width:100%}.hero-photo img{border-radius:0;object-fit:cover;object-position:center 33%;width:70%;margin-left:auto}.hero:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#39382f 0%,#39382f 30%,#32372e99 42%,transparent 66%),linear-gradient(0deg,#1619128c,transparent 38%)}.hero-copy{padding:0}.hero h1{font-family:Georgia,'Times New Roman',serif;font-weight:400;font-size:clamp(3.4rem,5.7vw,6rem);letter-spacing:-.045em;line-height:1.03;width:auto;margin:0 0 30px;padding:0;text-shadow:0 2px 20px #0003}.hero-kicker{font-size:clamp(.75rem,1.3vw,1.15rem);letter-spacing:.25em;margin:0 0 35px}.hero .actions{margin:0}.hero .button{min-width:270px}.hero-quote{position:absolute;left:4%;bottom:105px;margin:0;font:clamp(1rem,1.65vw,1.5rem)/1.6 Georgia,serif;max-width:85%;text-shadow:0 2px 12px #000}.scroll-cue{position:absolute;bottom:20px;left:calc(50% - 25px);width:50px;text-align:center;font-size:3rem;line-height:1}.genres{border-top:0;margin-top:15px;font-weight:400}.duo-photo img,.video-placeholder,.gallery img{border-radius:16px}.services{background:#f1e6d9}.service-grid h3{font-size:2rem}.quote{background:#493f34;border-radius:20px;margin:0 2%}.quote em{color:#ffd4aa}.contact{border-radius:22px;margin:0 1%}.contact .button{background:#493c31;color:white;border-color:#493c31}.contact .button:hover{background:#64503f}.values span{background:#f0e6d9;border:0}.eyebrow{font-weight:500}.header .menu-toggle{color:white;border-color:#ffffff80;border-radius:30px}.header nav.is-open{background:#38372ff5;border-radius:16px;padding:20px;text-shadow:none}.header nav.is-open a{padding:12px}.header nav.is-open .button{margin-left:0}.header nav.is-open>a:hover{color:#ffd4aa}.header nav.is-open>.button:hover{color:#30271f}
@media(max-width:1200px){.header nav{gap:15px;font-size:.875rem}.header .button{padding:14px 18px}.header{left:4%;width:92%;gap:20px}.hero.wrap{padding-left:6%}.hero h1{font-size:5.5vw}}
@media(max-width:1000px){.header{top:28px;align-items:center}.header .brand{font-size:2.7rem}.header nav{width:100%}.hero.wrap{min-height:760px}.hero h1{font-size:4.1rem}.hero-photo img{width:95%;object-position:57% 30%}.hero:after{background:linear-gradient(90deg,#242921d9,#25292175 40%,#24292112 80%),linear-gradient(0deg,#191b15b3,transparent 55%)}.hero-quote{bottom:85px}.hero-kicker{font-size:.8rem;letter-spacing:.18em}}
@media(max-width:700px){body{padding:4px}.header{top:23px;left:7%;width:86%;gap:15px}.header .brand{font-size:2rem}.brand span{font-size:.55rem;letter-spacing:.35em;padding-top:8px;margin-top:8px}.hero.wrap{border-radius:18px;min-height:850px;height:calc(100svh - 8px);max-height:none;padding:340px 7% 175px;align-items:flex-end}.hero-photo img{width:100%;height:auto;object-position:50% 0%;object-fit:contain}.hero:after{background:linear-gradient(0deg,#1e231ce8 0%,#24291fc9 26%,#252b2133 62%,#20251d80 100%)}.hero h1{font-size:clamp(2.6rem,10.8vw,4rem);line-height:1.08;letter-spacing:-.045em;margin-bottom:22px}.hero-kicker{font-size:.65rem;letter-spacing:.12em;margin-bottom:22px}.hero .button{min-width:235px;padding:15px 25px;font-size:.95rem}.hero-quote{left:7%;bottom:62px;max-width:86%;font-size:.86rem;line-height:1.5}.hero-quote br{display:none}.scroll-cue{font-size:2.2rem;bottom:12px}.header .menu-toggle{font-size:.8rem}.genres{margin-top:8px}.service-grid h3{font-size:1.8rem}.quote{margin-inline:0}.contact{margin-inline:0}.contact h2{font-size:2.8rem}.duo h2{font-size:2.8rem}footer .brand{font-size:2rem}}
@media(max-width:700px){.hero-photo img{mask-image:linear-gradient(to bottom,#000 70%,transparent 100%)}}

/* Même langage visuel, de la présentation au contact. */
main>.section:not(.hero){padding-block:100px}
main h2{font-size:clamp(2.7rem,4.8vw,4.7rem);line-height:1.08}
main h2 em{font-style:normal}
.eyebrow{letter-spacing:.23em;font-size:.75rem}
.genres{padding-block:30px;letter-spacing:.18em;color:#66584b}
.genres i{font-size:.75rem;color:#b68b63}
.duo{gap:8%;align-items:center}
.duo-photo{padding:0;position:relative}
.duo-photo img{height:650px;border-radius:24px;object-position:center 65%}
.duo-photo:after{content:'';position:absolute;inset:55% 0 0;background:linear-gradient(transparent,#25281cc9);border-radius:0 0 24px 24px;pointer-events:none}
.duo-photo figcaption{position:absolute;left:30px;bottom:30px;right:25px;z-index:1;color:white;font:1.35rem/1.4 Georgia,serif}
.duo p:not(.eyebrow){font-size:1rem;line-height:1.9}
.values{gap:12px;margin-top:32px}.values span{background:#f9dfc5;border:1px solid #e9ceb2;padding:10px 22px;font-size:.875rem}
.services{margin:0 1%;border-radius:26px;background:#efe4d5}
.services .section-heading{align-items:center}
.service-grid{gap:22px}
.service-grid article,.service-grid article:first-child,.service-grid article:last-child{border:0;border-radius:22px;padding:32px;overflow:hidden;background:#faf5ed}
.service-grid article:before{content:'';display:block;min-height:235px;margin:-32px -32px 28px;background-size:cover;background-position:center;border-radius:22px 22px 0 0}
.service-grid article:nth-child(1):before{background-image:url('assets/plage.jpg');background-position:center 62%}
.service-grid article:nth-child(2):before{background-image:url('assets/sortie.couleur.jpg');background-position:center 45%}
.service-grid article:nth-child(3):before{background-image:url('assets/eclipse.jpg');background-position:center 65%}
.service-number{display:none}
.service-grid h3{font-size:1.85rem;line-height:1.16}
.service-grid p{font-size:1rem}
.service-grid .tags{font-size:.875rem;line-height:1.7}
.service-grid a{border:1px solid #edd0b0;border-radius:40px;background:#ffd4aa;padding:13px 18px;font-size:.875rem;gap:12px;align-items:center}
.service-grid a:hover{background:#ffe3c8;color:var(--ink)}
.service-foot{text-align:center;font-size:.875rem;margin-top:35px}
.listen-grid{gap:25px;align-items:stretch}
.video-placeholder{min-height:490px;border-radius:24px}
.video-placeholder>div{left:35px;bottom:35px}
.video-placeholder h3{font-size:2.5rem;max-width:400px}
.video-placeholder:after{background:linear-gradient(transparent 15%,#24251dec)}
.audio-placeholder{background:#393b30;color:#fff7ef;border-radius:24px;padding:45px}
.audio-placeholder h3{font-size:2.8rem;font-weight:400}
.audio-placeholder .eyebrow{color:#ffdbb9}
.audio-placeholder .track{border-color:#ffffff30;padding-block:22px}
.audio-placeholder .track>span{color:#ffd4aa}
.audio-placeholder .track strong{font-size:1rem}
.audio-placeholder .track small,.audio-placeholder>p{color:#e4d8cb;font-size:.875rem}
.pill{font-size:.75rem;letter-spacing:.12em;padding:9px 16px}
.quote{position:relative;isolation:isolate;overflow:hidden;margin:0 1%;padding:125px 5%;border-radius:26px;background:#373a2c;color:white}
.quote:before{content:'';position:absolute;inset:0;z-index:-2;background:url('assets/la-fameuse.jpg') center 43%/cover}
.quote:after{content:'';position:absolute;inset:0;z-index:-1;background:#242b20b8}
.quote blockquote{font-size:clamp(2.2rem,4.5vw,4.5rem);font-family:Georgia,serif;line-height:1.15}
.quote p:not(.eyebrow){color:#fff4e9;font-size:1rem;max-width:700px;margin:30px auto}
.quote span{font-size:.8rem}
.gallery{grid-template-columns:1.35fr 1fr 1fr;gap:22px}
.gallery a{position:relative;border-radius:22px;isolation:isolate}
.gallery img{height:440px;border-radius:22px}
.gallery a:after{content:'';position:absolute;inset:55% 0 0;z-index:0;background:linear-gradient(transparent,#20261cce);pointer-events:none}
.gallery span{position:absolute;bottom:26px;left:26px;right:26px;z-index:1;color:#fff;font:1.5rem/1.3 Georgia,serif;padding:0;gap:12px}
.gallery b{font-family:Arial,sans-serif}
.testimonials{background:#f1e5d6;border:1px solid #e5d5c2;border-radius:26px;padding:70px 8%;margin-bottom:100px}
.testimonials h2{font-size:clamp(2.7rem,4.5vw,4.2rem)}
.testimonials .pill{border-color:#bd9f7e;color:#765735}
.testimonials>p:not(.eyebrow){font-size:1rem}
.contact{position:relative;isolation:isolate;overflow:hidden;background:#35392e;color:#fff8f0;margin:0 1%;border-radius:26px}
.contact:before{content:'';position:absolute;inset:0;z-index:-2;background:url('assets/silhouettes.png') left center/cover}
.contact:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#252b21b8,#303729f2 65%)}
.contact-grid{gap:7%;align-items:center}
.contact h2 em{color:#ffd4aa}
.contact p{color:#efe1d4;font-size:1rem}
.contact .eyebrow{font-size:.75rem;color:#ffdab7}
.contact form{border-radius:24px;padding:35px;background:#faf5ed;color:var(--ink)}
.contact form p{color:#6e5e50}
.form-grid label{font-size:.875rem;font-weight:400}
input,textarea,select{background:#fffaf4;border-color:#d4c1ae;border-radius:13px;padding:14px}
.contact .button{background:#ffd4aa;border-color:#ffd4aa;color:#30271f;width:100%}
.contact .button:hover{background:#ffe2c5}
.socials{gap:12px}.socials>*{padding:10px 18px;border:1px solid #ffffff60;border-radius:30px;font-size:.875rem}
footer{padding-block:55px}footer .brand{font-size:2.5rem}footer p{font:1.2rem Georgia,serif}footer>span{font-size:.875rem}
dialog{border-radius:22px;background:#faf5ed}dialog img{border-radius:10px}.close-lightbox{border-radius:30px;background:#ffd4aa;color:#30271f;font-size:.875rem}
@media(max-width:1000px){.service-grid{gap:15px}.service-grid article,.service-grid article:first-child,.service-grid article:last-child{padding:22px}.service-grid article:before{margin:-22px -22px 24px;min-height:200px}.service-grid h3{font-size:1.6rem}.audio-placeholder{padding:30px}.audio-placeholder h3{font-size:2.2rem}.gallery img{height:350px}.contact form{padding:24px}.duo-photo img{height:600px}}
@media(max-width:700px){main>.section:not(.hero){padding-block:60px}.duo-photo img{height:440px}.duo-photo figcaption{left:22px;bottom:24px;font-size:1.15rem}.services{margin:0;border-radius:20px}.service-grid{gap:24px}.service-grid article:before{min-height:250px}.service-grid h3{font-size:2rem}.service-grid a{padding:14px 20px}.section-heading>p{font-size:1rem}.video-placeholder{min-height:400px}.video-placeholder>div{left:25px;bottom:28px}.video-placeholder h3{font-size:2rem}.audio-placeholder{padding:30px 25px}.audio-placeholder h3{font-size:2.3rem}.quote{margin:0;padding:80px 5%;border-radius:20px}.quote blockquote{font-size:2.5rem}.gallery{grid-template-columns:1fr;gap:20px}.gallery .gallery-wide{grid-column:auto}.gallery img,.gallery-wide img{height:370px}.gallery span{font-size:1.5rem}.testimonials{padding:55px 7%;margin-bottom:60px}.testimonials .pill{font-size:.65rem;letter-spacing:.07em}.contact{margin:0;border-radius:20px}.contact-grid{gap:30px}.contact form{padding:25px 20px}.contact:after{background:#293023db}.socials>*{font-size:.8rem}.contact h2{font-size:2.8rem}footer{padding-block:40px}footer .brand{font-size:2rem}}
