/*
Theme Name: French Riviera Photography
Author: Thomas Boyron
Description: Portfolio bilingue pour photographie corporate, hôtelière et gastronomique.
Version: 1.35.0
Text Domain: french-riviera-photography
*/

:root{--ink:#10212b;--deep:#0b1922;--cream:#f5f3ed;--white:#fff;--gold:#b69a6a;--muted:#64727b;--line:#d9dedc;--serif:Georgia,'Times New Roman',serif;--sans:Arial,Helvetica,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.55}img{display:block;max-width:100%}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button{cursor:pointer}section{scroll-margin-top:76px}.container{width:min(1280px,calc(100% - 64px));margin-inline:auto}.eyebrow{text-transform:uppercase;letter-spacing:.19em;font-size:.78rem;font-weight:700}.gold{color:var(--gold)}
.site-header{position:absolute;z-index:20;top:0;left:0;right:0;color:#fff}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:2rem;min-height:96px;border-bottom:1px solid rgba(255,255,255,.25)}.brand{display:flex;flex-direction:column;line-height:1.08;letter-spacing:.15em;text-transform:uppercase;font-weight:700;font-size:1.02rem;white-space:nowrap}.brand small{font-weight:400;font-size:.63rem;letter-spacing:.22em;margin-top:.48rem}.site-nav{display:flex;align-items:center;gap:1.6rem}.site-nav a,.lang a{font-size:.78rem;letter-spacing:.12em;text-transform:uppercase}.site-nav a:hover,.site-nav a:focus-visible,.lang a:hover{text-decoration:underline;text-underline-offset:6px}.lang{display:flex;gap:.5rem;border-left:1px solid rgba(255,255,255,.5);padding-left:1.1rem}.lang a{border:0;background:transparent;color:#fff;padding:0;opacity:.62}.lang a[aria-current=page]{opacity:1;color:#e9cc91}.menu-toggle{display:none;border:1px solid #fff8;border-radius:0;background:#10212b88;color:white;padding:.4rem .8rem}
.hero{position:relative;min-height:760px;height:min(900px,100svh);color:white;background:#111e25;display:flex;align-items:end;overflow:hidden}.hero-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 52%}.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,19,27,.69) 0%,rgba(5,19,27,.28) 55%,rgba(5,19,27,.1)),linear-gradient(0deg,rgba(5,19,27,.76),transparent 52%)}.hero-content{position:relative;z-index:1;padding-bottom:9vh}.hero h1{font-family:var(--serif);font-weight:400;font-size:clamp(3.1rem,6vw,6.8rem);line-height:1.02;letter-spacing:-.038em;max-width:950px;margin:.6rem 0 1.4rem}.hero p{font-size:clamp(1rem,1.6vw,1.25rem);max-width:620px;margin:0 0 2rem}.button{display:inline-flex;justify-content:center;align-items:center;min-height:48px;padding:.8rem 1.5rem;background:var(--gold);border:1px solid var(--gold);color:#111e25;font-size:.78rem;text-transform:uppercase;letter-spacing:.13em;font-weight:700;transition:.2s}.button:hover{background:#e3c994;border-color:#e3c994}.button-outline{background:transparent;color:#fff;border-color:#fff}.button-outline:hover{background:#fff;color:var(--ink)}.hero-caption{position:absolute;bottom:26px;right:32px;z-index:2;font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;opacity:.75}
.intro{padding:115px 0 105px}.intro-grid{display:grid;grid-template-columns:1fr 1.25fr;gap:10%;align-items:start}.intro h2,.section-title,.about h2,.contact h2{font-family:var(--serif);font-weight:400;letter-spacing:-.035em;line-height:1.12;font-size:clamp(2.4rem,4.5vw,4.6rem);margin:0}.intro-copy{font-size:1.18rem;max-width:650px;color:#46565e}.intro-copy p{margin:0 0 1.2rem}.intro-copy strong{color:var(--ink);font-weight:500}
.portfolio-section{padding:105px 0 115px;background:white}.portfolio-section.alt{background:#ecefeb}.section-top{display:grid;grid-template-columns:1fr 1fr;gap:7%;align-items:end;margin-bottom:45px}.section-top .eyebrow{margin:0 0 1rem}.section-top p{color:#46565e;max-width:520px;margin:0;font-size:1.07rem}.gallery{display:grid;grid-template-columns:repeat(12,1fr);gap:14px}.gallery button{grid-column:span 4;display:block;position:relative;overflow:hidden;border:0;padding:0;background:#e6e9e7;aspect-ratio:4/3;text-align:left}.gallery button:first-child{grid-column:span 8;grid-row:span 2;aspect-ratio:auto}.gallery button:nth-child(6n){grid-column:span 6;aspect-ratio:1.7}.gallery button:nth-child(6n+1):not(:first-child){grid-column:span 6;aspect-ratio:1.7}.gallery img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.gallery button:hover img,.gallery button:focus-visible img{transform:scale(1.035)}.gallery button:focus-visible{outline:3px solid var(--gold);outline-offset:3px}.gallery .photo-label{position:absolute;bottom:0;left:0;right:0;padding:2rem 1rem 1rem;color:white;background:linear-gradient(transparent,#0008);font-size:.75rem;text-transform:uppercase;letter-spacing:.12em;opacity:0;transition:opacity .2s}.gallery button:hover .photo-label,.gallery button:focus-visible .photo-label{opacity:1}
.about{background:var(--deep);color:#fff;padding:115px 0}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:12%;align-items:start}.about h2{margin:.7rem 0 0}.about p{font-size:1.12rem;color:#d2dcdf;margin:0 0 1.3rem}.about .signature{font-family:var(--serif);font-style:italic;font-size:1.6rem;color:#e0c79b;margin-top:2rem}
.contact{padding:110px 0 100px}.contact-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:10%}.contact h2{margin:.6rem 0 1rem}.contact p{color:#506069;max-width:440px}.contact-form{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem}.field{display:flex;flex-direction:column;gap:.4rem}.field.full{grid-column:1/-1}.field label{font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.11em}.field input,.field textarea{border:1px solid #b9c4c5;background:#fff;padding:.8rem .9rem;min-height:48px;color:var(--ink);border-radius:0}.field textarea{min-height:160px;resize:vertical}.field input:focus,.field textarea:focus{outline:2px solid var(--gold);outline-offset:1px}.contact-form .button{justify-self:start}.form-note{grid-column:1/-1;margin:0;font-size:.85rem!important}.form-status{grid-column:1/-1;padding:.8rem 1rem}.form-status.success{background:#e0eee1}.form-status.error{background:#f6e2df}.honeypot{position:absolute;left:-9999px;visibility:hidden}.site-footer{background:var(--deep);color:#d6dfe0;padding:48px 0}.footer-inner{display:flex;justify-content:space-between;gap:2rem;align-items:center;border-top:1px solid #ffffff35;padding-top:28px;font-size:.84rem}.footer-inner a{text-decoration:underline;text-underline-offset:4px}
.lightbox{position:fixed;inset:0;z-index:50;background:rgba(5,14,20,.96);color:#fff;display:none;align-items:center;justify-content:center;padding:65px 7vw}.lightbox.open{display:flex}.lightbox img{max-width:100%;max-height:calc(100vh - 130px);object-fit:contain}.lightbox button{position:absolute;border:1px solid #ffffff5c;background:#10212b;color:white;width:46px;height:46px;font-size:1.5rem}.lightbox-close{top:18px;right:18px}.lightbox-prev{left:18px}.lightbox-next{right:18px}.lightbox-counter{position:absolute;bottom:21px;font-size:.8rem;letter-spacing:.1em}
@media(max-width:900px){.header-inner{min-height:78px}.site-nav{display:none;position:absolute;top:78px;left:0;right:0;background:var(--deep);padding:25px 32px;flex-direction:column;align-items:start;gap:1.2rem}.site-nav.open{display:flex}.menu-toggle{display:block}.lang{border:0;padding:0}.hero{min-height:650px;height:85svh}.intro-grid,.section-top,.about-grid,.contact-grid{grid-template-columns:1fr;gap:2rem}.intro,.about,.contact,.portfolio-section{padding-top:80px;padding-bottom:80px}}
@media(max-width:600px){.container{width:calc(100% - 36px)}.brand{font-size:.82rem}.brand small{font-size:.52rem}.hero{min-height:620px;height:84svh}.hero-content{padding-bottom:80px}.hero h1{font-size:clamp(2.9rem,12vw,4.6rem)}.hero-caption{display:none}.intro-copy{font-size:1.04rem}.gallery{gap:8px}.gallery button,.gallery button:first-child,.gallery button:nth-child(6n),.gallery button:nth-child(6n+1):not(:first-child){grid-column:span 6;grid-row:auto;aspect-ratio:4/5}.gallery button:first-child{grid-column:span 12;aspect-ratio:1.15}.gallery .photo-label{display:none}.contact-form{grid-template-columns:1fr}.field{grid-column:1/-1}.footer-inner{flex-direction:column;align-items:start}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

/* 1.2 — white editorial portfolio */
:root{--ink:#202020;--deep:#202020;--cream:#fff;--gold:#585858;--muted:#686868;--line:#dedede}
body{background:#fff;color:var(--ink)}.site-header{position:relative;color:var(--ink);background:#fff}.header-inner{border-bottom:1px solid var(--line);min-height:88px}.brand{font-weight:500;letter-spacing:.08em}.brand small{letter-spacing:.15em}.site-nav a,.lang a{letter-spacing:.06em}.lang{border-color:var(--line)}.lang a{color:var(--ink)}.lang a[aria-current=page]{color:var(--ink);text-decoration:underline;text-underline-offset:5px}.menu-toggle{color:var(--ink);background:#fff;border-color:var(--ink)}
.hero{height:auto;min-height:0;background:#fff;color:var(--ink);display:block;overflow:visible}.hero-content{padding-top:clamp(72px,10vw,150px);padding-bottom:clamp(68px,9vw,135px)}.hero .eyebrow{color:#666;margin:0 0 2.5rem}.hero h1{max-width:1050px;font-size:clamp(3.7rem,8vw,8.5rem);line-height:.98;margin:0 0 3.6rem;letter-spacing:-.055em}.hero-bottom{display:flex;align-items:end;justify-content:space-between;gap:2rem;border-top:1px solid var(--line);padding-top:1.6rem}.hero-bottom p{max-width:520px;margin:0;font-size:1.1rem;color:#4c4c4c}.text-link{font-size:.8rem;text-transform:uppercase;letter-spacing:.09em;white-space:nowrap;border-bottom:1px solid currentColor;padding-bottom:.35rem}.text-link span{font-size:1.2rem;margin-left:1rem}.text-link:hover{color:#777}
.univers{padding:0 0 110px}.univers-heading{display:flex;justify-content:space-between;align-items:center;padding-bottom:20px;border-bottom:1px solid var(--line);margin-bottom:22px;font-size:.78rem;letter-spacing:.12em}.univers-heading .eyebrow{color:var(--ink)}.univers-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px}.univers-card{display:block;min-width:0}.univers-image{display:block;overflow:hidden;background:#eee;aspect-ratio:3/4}.univers-image img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.univers-card:hover img,.univers-card:focus-visible img{transform:scale(1.035)}.univers-meta{display:flex;justify-content:space-between;gap:.5rem;padding:13px 0;border-bottom:1px solid var(--line);font-size:.78rem;text-transform:uppercase;letter-spacing:.05em}.univers-meta span:last-child{font-size:1.15rem;line-height:1}.univers-card:focus-visible{outline:2px solid var(--ink);outline-offset:4px}
.intro{padding:55px 0 105px;border-top:1px solid var(--line)}.intro-copy,.intro-copy strong,.section-top p,.contact p{color:#4d4d4d}.portfolio-section,.portfolio-section.alt{background:#fff;border-top:1px solid var(--line);padding:100px 0 115px}.section-top{align-items:start;margin-bottom:38px}.gallery{gap:12px}.gallery button,.gallery button:first-child,.gallery button:nth-child(6n),.gallery button:nth-child(6n+1):not(:first-child){grid-column:span 4;grid-row:auto;aspect-ratio:4/3}.gallery button:first-child{grid-column:span 8;grid-row:span 2;aspect-ratio:auto}.gallery button:nth-child(4){grid-column:span 6;aspect-ratio:1.5}.gallery button:nth-child(5){grid-column:span 6;aspect-ratio:1.5}.gallery button:nth-child(6){grid-column:span 12;aspect-ratio:2.1}.about{background:#f5f5f3;color:var(--ink);border-top:1px solid var(--line)}.about p{color:#4d4d4d}.about .signature{color:#444}.contact{background:#fff}.button{background:var(--ink);border-color:var(--ink);color:#fff}.button:hover{background:#555;border-color:#555}.site-footer{background:#fff;color:var(--ink);border-top:1px solid var(--line)}.footer-inner{border-color:var(--line)}
@media(max-width:900px){.site-nav{background:#fff;border-bottom:1px solid var(--line);box-shadow:0 12px 20px #0001}.hero-content{padding-top:85px;padding-bottom:75px}.univers-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 12px}.univers{padding-bottom:70px}.portfolio-section,.portfolio-section.alt{padding:75px 0}}
@media(max-width:600px){.hero{min-height:0;height:auto}.hero-content{padding-top:66px;padding-bottom:65px}.hero .eyebrow{margin-bottom:1.7rem}.hero h1{font-size:clamp(3.5rem,13vw,5.7rem);margin-bottom:2.3rem}.hero-bottom{align-items:start;flex-direction:column;gap:1.8rem}.hero-bottom p{font-size:1rem}.univers-grid{gap:22px 9px}.univers-image{aspect-ratio:3/4}.univers-meta{font-size:.65rem;line-height:1.4}.intro{padding:60px 0}.gallery button,.gallery button:first-child,.gallery button:nth-child(4),.gallery button:nth-child(5),.gallery button:nth-child(6),.gallery button:nth-child(6n),.gallery button:nth-child(6n+1):not(:first-child){grid-column:span 6;grid-row:auto;aspect-ratio:4/5}.gallery button:first-child{grid-column:span 12;aspect-ratio:1.15}}

/* 1.3 — natural image proportions, masonry-like columns, soft corners */
.univers-image{aspect-ratio:auto;overflow:visible;background:transparent}
.univers-image img{height:auto;object-fit:initial;border-radius:7px}
.univers-card:hover img,.univers-card:focus-visible img{transform:none;opacity:.88}
.gallery{display:block;columns:3;column-gap:14px}
.gallery button,.gallery button:first-child,.gallery button:nth-child(4),.gallery button:nth-child(5),.gallery button:nth-child(6),.gallery button:nth-child(6n),.gallery button:nth-child(6n+1):not(:first-child){display:block;width:100%;height:auto;aspect-ratio:auto;grid-column:auto;grid-row:auto;break-inside:avoid;margin:0 0 14px;background:transparent;border-radius:7px;overflow:hidden}
.gallery img{display:block;width:100%;height:auto;object-fit:initial}
.gallery button:hover img,.gallery button:focus-visible img{transform:none;opacity:.88}
.gallery .photo-label{display:none}
.gallery button.has-reportage:after{content:"↗";position:absolute;right:11px;bottom:11px;display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#fff;color:#222;font-size:1.1rem;box-shadow:0 1px 5px #0002}
@media(max-width:900px){.gallery{columns:2;column-gap:11px}.gallery button,.gallery button:first-child,.gallery button:nth-child(4),.gallery button:nth-child(5),.gallery button:nth-child(6){margin-bottom:11px}}
@media(max-width:600px){.gallery{columns:2;column-gap:8px}.gallery button,.gallery button:first-child,.gallery button:nth-child(4),.gallery button:nth-child(5),.gallery button:nth-child(6),.gallery button:nth-child(6n),.gallery button:nth-child(6n+1):not(:first-child){width:100%;height:auto;aspect-ratio:auto;margin-bottom:8px}.univers-image img{height:auto}}

/* 1.4 — one story per portfolio image, when seven or eight photos are assigned */
.reportage{position:fixed;inset:0;z-index:60;background:rgba(20,20,20,.8);display:flex;align-items:center;justify-content:center;padding:24px}
.reportage[hidden]{display:none}
.reportage-panel{width:min(1120px,100%);max-height:calc(100dvh - 48px);overflow:auto;background:#fff;color:var(--ink);padding:24px 30px 20px;box-shadow:0 15px 60px #0004}
.reportage-head{display:flex;align-items:start;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);padding-bottom:15px;margin-bottom:18px}
.reportage-head .eyebrow{margin:0 0 5px;color:#777}.reportage-head h2{font-family:var(--serif);font-weight:400;font-size:clamp(1.5rem,3vw,2.3rem);line-height:1.1;margin:0}
.reportage-close{border:0;background:transparent;color:var(--ink);font-size:2rem;line-height:1;padding:0 5px}
.reportage-main{height:min(58dvh,650px);display:flex;align-items:center;justify-content:space-between;gap:14px;background:#f5f5f3}
.reportage-main img{width:auto;height:auto;max-width:calc(100% - 100px);max-height:100%;object-fit:contain;border-radius:6px}
.reportage-prev,.reportage-next{flex:none;border:0;background:transparent;color:var(--ink);font-size:2.5rem;width:36px;align-self:stretch}
.reportage-bottom{display:flex;align-items:start;gap:24px;padding-top:15px}.reportage-counter{white-space:nowrap;font-size:.82rem;color:#666;padding-top:12px}
.reportage-thumbs{display:flex;gap:8px;overflow-x:auto;padding:2px 2px 8px}.reportage-thumbs button{padding:0;border:2px solid transparent;background:transparent;flex:none;width:70px;height:58px;border-radius:5px;overflow:hidden}.reportage-thumbs button[aria-current=true]{border-color:var(--ink)}.reportage-thumbs img{width:100%;height:100%;object-fit:contain;background:#f3f3f3}
@media(max-width:600px){.reportage{padding:0}.reportage-panel{height:100dvh;max-height:100dvh;padding:18px 14px}.reportage-main{height:60dvh;gap:0}.reportage-main img{max-width:calc(100% - 62px)}.reportage-prev,.reportage-next{width:31px}.reportage-bottom{display:block}.reportage-counter{display:block;padding:0 0 8px}.reportage-thumbs button{width:58px;height:48px}}

/* 1.5 — sailing opening image and field report */
.hero-content{padding-bottom:70px}.hero-feature{margin:clamp(38px,5vw,70px) 0 0}.hero-feature img{display:block;width:100%;height:auto;border-radius:7px}.hero-feature figcaption{font-size:.72rem;text-transform:uppercase;letter-spacing:.12em;color:#777;text-align:right;padding-top:10px}
.voiles-feature{background:#fff;border-top:1px solid var(--line);padding:100px 0 110px}.voiles-gallery{columns:2;column-gap:14px}.voiles-gallery button,.voiles-gallery button:first-child,.voiles-gallery button:nth-child(2){width:100%;height:auto;aspect-ratio:auto;margin:0 0 14px}
@media(max-width:1100px){.site-nav{display:none;position:absolute;top:88px;left:0;right:0;background:#fff;border-bottom:1px solid var(--line);box-shadow:0 12px 20px #0001;padding:25px 32px;flex-direction:column;align-items:start;gap:1.2rem}.site-nav.open{display:flex}.menu-toggle{display:block}.lang{border:0;padding:0}}
@media(max-width:900px){.site-nav{top:78px}}
@media(max-width:600px){.hero-content{padding-bottom:50px}.hero-feature{margin-top:35px}.voiles-feature{padding:72px 0}.voiles-gallery{columns:1}.voiles-gallery button,.voiles-gallery button:first-child,.voiles-gallery button:nth-child(2){margin-bottom:10px}}

/* 1.6 — full-colour opening, aligned frames with no image cropping */
.hero{background:#fff;color:#202020}.hero:after{content:none}.hero-content{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(28px,5vw,78px);align-items:center;padding-top:clamp(50px,7vw,95px);padding-bottom:clamp(50px,7vw,95px)}
.hero .eyebrow{margin:0 0 24px}.hero h1{font-size:clamp(2.9rem,4.7vw,5.5rem);line-height:1.03;letter-spacing:-.047em;margin:0 0 27px}.hero-lead{max-width:450px;font-size:1.05rem;line-height:1.6;color:#4c4c4c;margin:0 0 38px}.hero-feature{margin:0;min-width:0}.hero-feature img{width:100%;height:auto;border-radius:7px;object-fit:contain}.hero-feature figcaption{padding-top:8px}
.univers-image{display:flex;align-items:center;justify-content:center;width:100%;aspect-ratio:3/2;overflow:hidden;background:#fff}.univers-image img{display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;border-radius:7px}.univers-image.portrait-pair{gap:6px}.univers-image.portrait-pair img{width:auto;height:100%;max-width:calc(50% - 3px);max-height:100%;object-fit:contain}
.about{background:#fff}
.portfolio-section .gallery,.voiles-feature .gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;columns:auto}
.portfolio-section .gallery button,.voiles-feature .gallery button{display:flex;align-items:center;justify-content:center;width:100%;height:260px;aspect-ratio:auto!important;grid-column:auto!important;grid-row:auto!important;margin:0!important;padding:0;background:#fff;border-radius:7px;overflow:visible}
.portfolio-section .gallery img,.voiles-feature .gallery img{width:auto!important;height:auto!important;max-width:100%;max-height:100%;object-fit:contain;border-radius:7px}
.portfolio-section#portraits .gallery{grid-template-columns:repeat(4,minmax(0,1fr))}.portfolio-section#portraits .gallery button{height:370px}
.voiles-feature .gallery{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:900px){.hero-content{grid-template-columns:1fr;gap:35px}.hero h1{max-width:680px}.hero-feature{max-width:760px}.portfolio-section .gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.portfolio-section .gallery button{height:230px}.portfolio-section#portraits .gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.portfolio-section#portraits .gallery button{height:330px}.voiles-feature .gallery button{height:230px}}
@media(max-width:600px){.hero-content{padding-top:55px;padding-bottom:60px}.hero h1{font-size:clamp(3.1rem,12vw,4.5rem)}.hero-lead{font-size:1rem;margin-bottom:30px}.univers-image{aspect-ratio:3/2}.univers-image.portrait-pair{gap:3px}.portfolio-section .gallery,.voiles-feature .gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.portfolio-section .gallery button,.voiles-feature .gallery button{height:110px}.portfolio-section#portraits .gallery button{height:240px}.voiles-feature .gallery button{height:125px}}
/* v1.8 — Références, photobooth et réseaux */
.univers-grid{grid-template-columns:repeat(5,minmax(0,1fr))}
.photobooth-section{background:#f7f7f5;border-top:1px solid var(--line);padding:88px 0}
.photobooth-grid{display:grid;grid-template-columns:1fr 1fr;gap:9%;align-items:center}
.photobooth-grid p:not(.eyebrow){font-size:1.13rem;line-height:1.65;color:#4d4d4d}
.photobooth-grid .text-link{color:var(--ink)}
.trusted{padding:95px 0 105px;border-top:1px solid var(--line);background:#fff}
.trusted h2{margin:12px 0 38px}
.trusted-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--line);border-left:1px solid var(--line)}
.trusted-item{min-height:112px;display:flex;align-items:center;justify-content:center;text-align:center;padding:20px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.trusted-item span{font-family:var(--serif);font-size:clamp(1rem,1.5vw,1.3rem);line-height:1.2;color:#343434}
.trusted-item img{display:block;max-width:85%;max-height:65px;width:auto;height:auto;object-fit:contain}
.rse{margin-top:60px;border-top:1px solid var(--line);padding-top:28px}
.rse h3{font-family:var(--serif);font-size:1.7rem;font-weight:400}
.rse-grid{display:flex;align-items:center;gap:40px;flex-wrap:wrap}
.rse-grid img{max-width:130px;max-height:80px;width:auto;height:auto;object-fit:contain}
.social-links,.footer-social{display:flex;flex-wrap:wrap;gap:14px 22px;margin-top:24px}
.social-links a{text-decoration:underline;text-underline-offset:4px}
.footer-social{margin:0}
@media(max-width:1350px){.site-nav{display:none;position:absolute;top:88px;left:0;right:0;background:#fff;border-bottom:1px solid var(--line);box-shadow:0 12px 20px #0001;padding:25px 32px;flex-direction:column;align-items:start;gap:1.2rem}.site-nav.open{display:flex}.menu-toggle{display:block}.lang{border:0;padding:0}}
@media(max-width:900px){.univers-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.trusted-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.photobooth-grid{grid-template-columns:1fr;gap:20px}}
@media(max-width:600px){.univers-grid{grid-template-columns:1fr 1fr}.trusted{padding:70px 0}.trusted-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.trusted-item{min-height:95px;padding:12px}.trusted-item span{font-size:.98rem}.photobooth-section{padding:70px 0}}

/* v1.10 — club de partenaires et engagement fourni */
.partner-membership{display:flex;align-items:center;gap:16px;margin-top:26px;color:#555;font-size:.9rem}.partner-membership img{display:block;width:72px;height:72px;object-fit:contain;border-radius:50%}.rse-grid img{max-width:140px;max-height:110px}

.social-links a,.footer-social a{display:inline-flex;align-items:center;gap:7px}.social-links svg,.footer-social svg{display:block;width:20px;height:20px;flex:none}.footer-social svg{width:17px;height:17px}

/* v1.11 — bandeau partenaires */
.trusted-carousel{overflow:hidden;max-width:100%;mask-image:linear-gradient(90deg,transparent,#000 3%,#000 97%,transparent)}
.trusted-track{display:flex;width:max-content;animation:frp-marquee 75s linear infinite}
.trusted-group{display:flex;flex:none;gap:14px;padding-right:14px}
.trusted-carousel .trusted-item{flex:none;width:220px;height:120px;min-height:0;border:1px solid var(--line);border-radius:7px}
.trusted-carousel .trusted-item img{max-width:92%;max-height:82px;width:auto;height:auto;object-fit:contain}
.trusted-carousel:hover .trusted-track,.trusted-carousel:focus-within .trusted-track,.trusted-carousel.is-paused .trusted-track{animation-play-state:paused}
.trusted-pause{display:block;margin:14px 0 0 auto;border:1px solid var(--line);border-radius:3px;background:#fff;color:var(--ink);padding:7px 12px;cursor:pointer}
.trusted-pause:hover,.trusted-pause:focus-visible{border-color:var(--ink)}
@keyframes frp-marquee{to{transform:translateX(-50%)}}
@media(max-width:600px){.trusted-carousel .trusted-item{width:175px;height:105px}.trusted-carousel .trusted-item img{max-height:70px}}
@media(prefers-reduced-motion:reduce){.trusted-carousel{overflow-x:auto;mask-image:none}.trusted-track{animation:none}.trusted-group[aria-hidden=true]{display:none}.trusted-pause{display:none}}

.univers-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.univers-placeholder{display:flex;align-items:center;justify-content:center;width:100%;height:100%;padding:18px;border:1px solid var(--line);border-radius:7px;color:#5a5550;font-family:var(--serif);font-size:clamp(1.2rem,2vw,2rem);text-align:center}.gallery-pending{margin:20px 0 0;color:#666}.gallery-pending a{text-decoration:underline;text-underline-offset:4px;margin-left:8px}
@media(max-width:900px){.univers-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

.portfolio-section#immobilier .gallery:empty{display:none}

/* v1.12 — galerie de la Méditerranée, photos entières */
.voiles-feature .gallery{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:900px){.voiles-feature .gallery{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* v1.13 — identité de l'agence et bleu officiel #1c80a5 */
:root{--gold:#1c80a5;--line:#d5e4ea}
.brand{display:inline-flex;flex-direction:row;align-items:center;gap:13px;letter-spacing:0;text-transform:none;font-size:1rem;white-space:normal;line-height:1.15;color:var(--ink)}
.brand img{display:block;width:76px;height:76px;object-fit:contain;flex:none}
.brand-text{display:flex;flex-direction:column;gap:3px;max-width:260px}
.brand-text small{font-size:.72rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);margin:0}
.brand-text strong{font-weight:700;font-size:1rem;letter-spacing:.015em}
.header-inner{min-height:104px}
.site-nav a:hover,.site-nav a:focus-visible,.lang a:hover,.lang a[aria-current=page]{color:var(--gold)}
.hero .eyebrow,.univers-heading .eyebrow,.gold{color:var(--gold)}
.text-link:hover,.social-links a:hover,.footer-social a:hover{color:var(--gold)}
.button{background:var(--gold);border-color:var(--gold);color:#fff}
.button:hover{background:#126889;border-color:#126889;color:#fff}
.photobooth-section{background:#f7fafb}
.site-footer{border-top:2px solid var(--gold)}
.footer-brand{display:flex;align-items:center;gap:12px;text-decoration:none!important;color:var(--ink);font-weight:700;line-height:1.25}
.footer-brand img{display:block;width:62px;height:62px;object-fit:contain}
.footer-brand small{display:block;font-weight:400;font-size:.76rem;margin-top:4px;color:#666}
@media(max-width:1350px){.site-nav{top:104px}}
@media(max-width:600px){.header-inner{min-height:82px}.brand{gap:8px}.brand img{width:55px;height:55px}.brand-text{max-width:180px}.brand-text small{font-size:.59rem}.brand-text strong{font-size:.8rem}.site-nav{top:82px}.footer-brand img{width:54px;height:54px}}
@media(max-width:380px){.brand-text{max-width:145px}.brand-text strong{font-size:.72rem}.brand img{width:48px;height:48px}}

/* v1.14 — logo d'accueil, menu compact, cadres uniformes */
.header-inner{min-height:90px;position:relative;gap:20px}.brand{flex:none;max-width:350px}.brand img{width:58px;height:58px}.brand-text{max-width:250px}.brand-text strong{font-size:.88rem}.brand-text small{font-size:.62rem}
.menu-toggle{display:inline-flex;align-items:center;gap:10px;background:#fff;border:1px solid var(--line);color:var(--ink);padding:8px 15px;font-size:.8rem;border-radius:5px}.menu-toggle:after{content:'☰';color:var(--gold)}
.site-nav{display:none;position:absolute;top:100%;right:0;left:auto;width:min(380px,100%);max-height:calc(100svh - 100px);overflow-y:auto;background:#fff;border:1px solid var(--line);box-shadow:0 14px 30px #0001;border-radius:0 0 8px 8px;padding:22px 25px;flex-direction:column;align-items:stretch;gap:0}.site-nav.open{display:flex}.site-nav>a{padding:10px 0;font-size:.75rem;line-height:1.35;letter-spacing:.05em}.site-nav .lang{margin-top:12px;padding:14px 0 0;border:0;border-top:1px solid var(--line)}
.hero-logo{display:block;width:180px;height:180px;object-fit:contain;margin:0 0 24px}.hero .eyebrow{font-size:.72rem;letter-spacing:.13em}.hero-content{padding-top:48px;align-items:center}
.portfolio-section .gallery,.portfolio-section#portraits .gallery,.voiles-feature .gallery{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch}
.portfolio-section .gallery button,.portfolio-section#portraits .gallery button,.voiles-feature .gallery button{height:280px;overflow:visible;border-radius:8px}
.portfolio-section .gallery img,.voiles-feature .gallery img,.univers-image img,.hero-feature img{border-radius:8px;object-fit:contain}
.gallery button:hover img,.gallery button:focus-visible img,.univers-card:hover img,.univers-card:focus-visible img{transform:none}
.univers-image{overflow:visible}.trusted-carousel .trusted-item img{width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain}
@media(max-width:900px){.portfolio-section .gallery,.portfolio-section#portraits .gallery,.voiles-feature .gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.portfolio-section .gallery button,.portfolio-section#portraits .gallery button,.voiles-feature .gallery button{height:240px}.hero-logo{width:155px;height:155px}.hero-content{padding-top:35px}}
@media(max-width:600px){.header-inner{min-height:82px}.brand{max-width:240px;gap:8px}.brand img{width:48px;height:48px}.brand-text{max-width:170px}.brand-text strong{font-size:.74rem}.brand-text small{font-size:.58rem}.site-nav{top:100%}.hero-logo{width:145px;height:145px;margin-bottom:24px}.hero .eyebrow{font-size:.65rem}.portfolio-section .gallery button,.portfolio-section#portraits .gallery button,.voiles-feature .gallery button{height:180px}}
@media(max-width:380px){.brand{max-width:200px}.brand-text{max-width:145px}.brand img{width:42px;height:42px}.menu-toggle{padding:7px 10px}.portfolio-section .gallery button,.portfolio-section#portraits .gallery button,.voiles-feature .gallery button{height:150px}}
@media(max-width:380px){.header-inner{gap:10px}.brand-text{max-width:135px}.menu-toggle{gap:5px;padding:7px 8px;font-size:.72rem}}

/* v1.15 — quatre portraits verticaux, Méditerranée plus généreuse */
.portfolio-section#portraits .gallery{grid-template-columns:repeat(4,minmax(0,1fr))}
.portfolio-section#portraits .gallery button{height:400px}
.voiles-feature .gallery{grid-template-columns:repeat(2,minmax(0,1fr))}
.voiles-feature .gallery button{height:400px}
@media(max-width:900px){.portfolio-section#portraits .gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.portfolio-section#portraits .gallery button{height:340px}.voiles-feature .gallery button{height:290px}}
@media(max-width:600px){.portfolio-section#portraits .gallery button{height:260px}.voiles-feature .gallery{grid-template-columns:1fr}.voiles-feature .gallery button{height:clamp(250px,85vw,400px)}}

/* Reserved architecture slots retain their gallery positions. */
#immobilier .gallery-empty-slot{height:280px;border:1px dashed #dbe5e9;border-radius:8px;display:flex;align-items:center;justify-content:center;background:#fafcfd;color:#819199;font-size:.75rem}
@media(max-width:900px){#immobilier .gallery-empty-slot{height:240px}}
@media(max-width:600px){#immobilier .gallery-empty-slot{height:180px}}
@media(max-width:380px){#immobilier .gallery-empty-slot{height:150px}}

/* v1.23 — navigation visible et langues accessibles */
.header-inner{display:grid;grid-template-columns:1fr auto;gap:12px;min-height:100px;padding-top:14px;padding-bottom:14px}
.header-inner>.brand{grid-column:1;grid-row:1}.header-inner>.lang{grid-column:2;grid-row:1;display:flex;border-left:1px solid var(--line);padding-left:14px;margin:0}
.header-inner>.menu-toggle{display:none}
.header-inner>.site-nav,.header-inner>.site-nav.open{grid-column:1 / -1;grid-row:2;display:flex;position:static;flex-direction:row;justify-content:space-between;align-items:center;width:100%;max-height:none;overflow:visible;padding:0;border:0;border-radius:0;box-shadow:none;gap:10px}
.header-inner>.site-nav>a{font-size:clamp(.58rem,.8vw,.72rem);letter-spacing:.025em;white-space:nowrap;padding:8px 0}
.photobooth-photo{grid-column:1 / -1;margin:20px 0 0}.photobooth-photo img{display:block;width:100%;max-height:520px;object-fit:contain;border-radius:8px}
@media(max-width:1000px){.header-inner{display:flex;gap:12px;min-height:82px}.header-inner>.brand{margin-right:auto}.header-inner>.menu-toggle{display:inline-flex}.header-inner>.lang{flex:none}.header-inner>.site-nav{display:none;position:absolute;top:100%;right:0;width:min(380px,100%);max-height:calc(100svh - 110px);overflow-y:auto;padding:20px 24px;background:white;border:1px solid var(--line);box-shadow:0 14px 30px #0001}.header-inner>.site-nav.open{display:flex;position:absolute;flex-direction:column;align-items:stretch;gap:0}.header-inner>.site-nav>a{font-size:.78rem;padding:10px 0}}
@media(max-width:480px){.header-inner>.brand .brand-text{display:none}.header-inner>.brand{max-width:60px}.header-inner>.lang{padding-left:8px;gap:8px}.header-inner>.lang a{font-size:.75rem}.header-inner>.menu-toggle{font-size:.72rem;padding:7px 9px}.photobooth-photo img{max-height:340px}}

/* v1.24 — cadres cohérents, quatre photos de mer centrées */
.voiles-feature .gallery{grid-template-columns:repeat(2,minmax(0,1fr));width:calc((100% - 28px) * 2 / 3 + 14px);margin-inline:auto;gap:14px}
.voiles-feature .gallery button{height:280px;margin:0;border-radius:8px}
.voiles-feature .gallery img{object-fit:contain;border-radius:8px}
.photobooth-photo{width:calc((100% - 28px) / 3);height:280px;justify-self:center;margin:20px 0 0;border-radius:8px}
.photobooth-photo img{width:100%;height:100%;max-height:none;object-fit:contain;border-radius:8px}
@media(max-width:900px){.voiles-feature .gallery{width:100%}.voiles-feature .gallery button{height:240px}.photobooth-photo{width:calc((100% - 14px) / 2);height:240px}}
@media(max-width:600px){.voiles-feature .gallery button{height:180px}.photobooth-photo{height:180px}}
@media(max-width:380px){.voiles-feature .gallery button{height:150px}.photobooth-photo{height:150px}}
.footer-inner>span{max-width:540px;line-height:1.7}

/* v1.25 — logo centré sur la signature de l’agence */
.hero-copy .hero-logo{margin-left:auto;margin-right:auto}
.hero-copy>.eyebrow{text-align:center}

/* v1.26 — signature, nouvelles galeries et espacements uniformes */
.hero-copy>.eyebrow .agency-name,.hero-copy>.eyebrow .photographer-name{display:block}
.hero-copy>.eyebrow .agency-name{font-size:clamp(1rem,1.4vw,1.2rem);letter-spacing:.045em;line-height:1.45;font-weight:700}
.hero-copy>.eyebrow .photographer-name{font-size:clamp(.95rem,1.2vw,1.1rem);letter-spacing:.08em;line-height:1.5;margin-top:6px}
.voiles-feature .gallery{width:100%;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.voiles-feature .gallery button:last-child{grid-column:2}
.photobooth-gallery{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:20px}
.photobooth-gallery button{height:280px;min-width:0;padding:0;border:0;border-radius:8px;background:transparent;overflow:hidden;cursor:pointer}
.photobooth-gallery button img{display:block;width:100%;height:100%;object-fit:contain;border-radius:8px}
@media(max-width:900px){.photobooth-gallery,.voiles-feature .gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.photobooth-gallery button{height:240px}.voiles-feature .gallery button:last-child,.photobooth-gallery button:last-child{grid-column:1/-1;width:calc((100% - 14px)/2);justify-self:center}}
@media(max-width:600px){.portfolio-section .gallery,.voiles-feature .gallery,.photobooth-gallery{gap:14px;row-gap:14px;column-gap:14px}.gallery button{margin:0}.photobooth-gallery button{height:180px}.hero-copy>.eyebrow .agency-name{font-size:1rem;letter-spacing:.025em}.hero-copy>.eyebrow .photographer-name{font-size:.95rem}}
@media(max-width:380px){.photobooth-gallery button{height:150px}}

/* v1.27 — identité sur trois lignes, dominante et centrée */
.hero-copy>.eyebrow{width:100%;max-width:none;text-transform:none;text-align:center}
.hero-copy>.eyebrow .agency-prefix{display:block;font-size:clamp(1.15rem,1.8vw,1.7rem);line-height:1.3;letter-spacing:.09em;font-weight:500;margin-bottom:10px}
.hero-copy>.eyebrow .agency-name{display:block;font-family:var(--serif);font-size:clamp(4.8rem,5.2vw,5.8rem);line-height:1.04;letter-spacing:-.035em;font-weight:400;overflow-wrap:normal}
.hero-copy>.eyebrow .photographer-name{display:block;font-size:clamp(1.1rem,1.65vw,1.6rem);line-height:1.4;letter-spacing:.04em;font-weight:500;margin-top:18px}
@media(max-width:600px){.hero-copy>.eyebrow .agency-name{font-size:clamp(2.8rem,12vw,4.8rem)}.hero-copy>.eyebrow .agency-prefix{font-size:1.2rem}.hero-copy>.eyebrow .photographer-name{font-size:1.15rem;margin-top:14px}}

/* v1.28 — retour à la police sans empattement de la signature */
.hero-copy>.eyebrow .agency-name{font-family:var(--sans);font-weight:700;letter-spacing:.025em}

/* v1.29 — trois lignes de signature, nom de l’agence sans retour */
.hero-copy{min-width:0;container-type:inline-size}
.hero-copy>.eyebrow .agency-prefix{font-size:clamp(1.5rem,5cqi,2rem);line-height:1.3;margin-bottom:12px}
.hero-copy>.eyebrow .agency-name{font-size:clamp(.9rem,5.2cqi,2.5rem);white-space:nowrap;letter-spacing:-.025em;line-height:1.15}
.hero-copy>.eyebrow .photographer-name{font-size:clamp(1.4rem,4.8cqi,1.9rem);line-height:1.4;margin-top:14px}
.section-title,.intro h2,.about h2,.contact h2{font-size:clamp(1.35rem,2vw,1.7rem)}
@media(max-width:600px){.section-title,.intro h2,.about h2,.contact h2{font-size:1.05rem}.hero-copy>.eyebrow .agency-prefix{font-size:1.5rem}.hero-copy>.eyebrow .photographer-name{font-size:1.4rem}}

/* v1.30 — identité pleine largeur et accroche plus discrète */
.hero-identity{grid-column:1/-1;min-width:0;width:100%;container-type:inline-size;text-align:center;margin-bottom:28px}
.hero-identity .hero-logo{margin:0 auto 22px}
.hero-identity>.eyebrow{width:100%;max-width:none;text-align:center;text-transform:none;margin:0}
.hero-identity .agency-prefix{display:block;font-family:var(--sans);font-weight:500;font-size:clamp(1.5rem,2.5cqi,2.1rem);letter-spacing:.07em;line-height:1.4}
.hero-identity .agency-name{display:block;white-space:nowrap;font-family:var(--sans);font-weight:700;font-size:clamp(.9rem,5.3cqi,4.25rem);letter-spacing:-.03em;line-height:1.2;margin:10px 0}
.hero-identity .photographer-name{display:block;font-family:var(--sans);font-weight:500;font-size:clamp(1.4rem,2.4cqi,2rem);letter-spacing:.04em;line-height:1.4}

@media(max-width:600px){.hero-identity{margin-bottom:18px}.hero-identity .agency-prefix{font-size:1.4rem}.hero-identity .photographer-name{font-size:1.3rem}}

/* v1.31 — nom complet sur une ligne, titres de la v1.29 */
.hero-identity .agency-name{font-size:clamp(.85rem,4.5cqi,3.6rem);white-space:nowrap}

/* v1.32 — signature mobile, arrondis sur les images et grille uniforme */
.photobooth-gallery button{display:flex;align-items:center;justify-content:center}
.photobooth-gallery button img{width:auto;height:auto;max-width:100%;max-height:100%;border-radius:8px;object-fit:contain}
@media(max-width:600px){
.hero-identity .agency-name{white-space:normal;font-size:clamp(2rem,10cqi,3rem);line-height:1.12}
.hero-identity .agency-mobile-line{display:block}
.hero-identity .photographer-name{font-size:1.1rem}
.portfolio-section .gallery,.voiles-feature .gallery,.photobooth-gallery{display:grid;gap:14px!important;row-gap:14px!important;column-gap:14px!important;align-items:start}
.portfolio-section .gallery button,.voiles-feature .gallery button,.photobooth-gallery button{margin:0!important;padding:0!important;height:auto!important;min-height:0;aspect-ratio:auto;display:flex;align-items:flex-start;justify-content:center}
.portfolio-section .gallery button img,.voiles-feature .gallery button img,.photobooth-gallery button img{display:block;width:100%;height:auto;max-height:none;aspect-ratio:auto;object-fit:contain;border-radius:8px}
}

/* v1.33 — six images de mer et accroche secondaire */
.hero .hero-copy h1{font-size:clamp(1.3rem,2.4vw,1.8rem);line-height:1.2}
.voiles-feature .gallery button:last-child{grid-column:auto;width:auto;justify-self:stretch}
@media(max-width:600px){.hero .hero-copy h1{font-size:1.2rem}.voiles-feature .gallery button:last-child{grid-column:auto;width:auto;justify-self:stretch}}

/* v1.34 — portrait du photographe, limité au format des portraits pro */
.about-portrait{margin:28px 0 0;width:calc((100vw - 106px)/4);max-width:309.5px}
.about-portrait img{display:block;width:auto;height:auto;max-width:100%;max-height:400px;border-radius:8px;object-fit:contain}
@media(max-width:900px){.about-portrait{width:calc((100vw - 78px)/2)}.about-portrait img{max-height:340px}}
@media(max-width:600px){.about-portrait{width:calc((100vw - 46px)/2);margin:22px auto 0}.about-portrait img{max-height:260px}}

/* v1.35 — portrait réduit et texte aligné sur son bord supérieur */
.about-grid{grid-template-columns:minmax(0,247.6px) minmax(0,1fr);gap:28px 7%;align-items:start}
.about-heading{grid-column:1/-1}
.about-grid .about-portrait{width:100%;max-width:247.6px;margin:0}
.about-grid .about-portrait img{max-height:320px}
.about-copy{align-self:start}
.about-copy p:first-child{margin-top:0}
.hero .hero-copy h1{font-size:clamp(1.56rem,2.88vw,2.16rem);line-height:1.2}
@media(max-width:900px){.about-grid{grid-template-columns:minmax(0,30%) minmax(0,1fr);gap:24px}.about-grid .about-portrait img{max-height:272px}}
@media(max-width:600px){.about-grid{grid-template-columns:1fr;gap:22px}.about-grid .about-portrait{width:calc((100vw - 46px)*.4);margin:0 auto}.about-grid .about-portrait img{max-height:208px}.hero .hero-copy h1{font-size:1.44rem}}
