/* ==========================================================================
   CSee.Production — feuille de style (maquette locale, non publiée)
   Couleurs : crème du logo #FCF7EF · noir chaud · or rosé #B4746F (comme les reflets du logo rosé)
   ========================================================================== */
@font-face{font-family:"Cormorant Garamond";src:url(../fonts/CormorantGaramond.ttf) format("truetype");font-weight:300 700;font-style:normal;font-display:swap}
@font-face{font-family:"Cormorant Garamond";src:url(../fonts/CormorantGaramond-Italic.ttf) format("truetype");font-weight:300 700;font-style:italic;font-display:swap}
@font-face{font-family:"Jost";src:url(../fonts/Jost.ttf) format("truetype");font-weight:100 900;font-display:swap}

:root{
  --fond:#FCF7EF;      /* crème du logo officiel (mode + moyenne des bords du PNG) */
  --noir:#14120D;      /* noir chaud, repris du noir du logo (#0F0E09 mesuré) */
  --or:#B4746F;        /* or rosé (rose-mauve) : filets, icônes, soulignés, grands titres italiques ; 3,5:1, jamais pour le petit texte */
  --or-logo:#D28D81;   /* rosé moyen des reflets du logo recoloré (référence, non utilisé pour du texte) */
  --or-voile:rgba(180,116,111,.35);
  --fond-2:#F5EDE1;    /* même crème, un ton plus soutenu (cadres « à venir », alternance) */
  --gris:#6B6560;      /* noir adouci pour textes secondaires et [à compléter] (5,1:1) */
  --serif:"Cormorant Garamond",Garamond,"Times New Roman",serif;
  --sans:"Jost","Helvetica Neue",Arial,sans-serif;
  --wrap:1200px;
  --gut:clamp(22px,5vw,64px);
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--fond);color:var(--noir);font-family:var(--sans);font-weight:300;font-size:17px;line-height:1.75;letter-spacing:.01em}
img{display:block;max-width:100%;height:auto}
a{color:inherit}
h1,h2,h3{font-family:var(--serif);font-weight:300;line-height:1.08;margin:0 0 .45em;letter-spacing:-.005em}
h1{font-size:clamp(46px,6.6vw,96px)}
h2{font-size:clamp(36px,4.4vw,62px)}
h3{font-size:clamp(24px,2.2vw,30px);font-weight:400}
h1 em,h2 em,h3 em{font-style:italic;color:var(--or)}
p{margin:0 0 1.1em}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 var(--gut)}
.narrow{max-width:760px;margin-left:auto;margin-right:auto}
.center{text-align:center}
.kicker{display:inline-block;font-family:var(--sans);font-weight:400;font-size:12px;letter-spacing:.32em;text-transform:uppercase;color:var(--noir);margin-bottom:20px}
.kicker::after{content:"";display:block;width:36px;height:1px;background:var(--or);margin-top:14px}
.center .kicker::after{margin-left:auto;margin-right:auto}
.lead{font-size:clamp(18px,1.5vw,21px);line-height:1.7;color:var(--noir);max-width:44ch}
.center .lead{margin-left:auto;margin-right:auto}
.ph{font-family:var(--serif);font-style:italic;font-size:.95em;color:var(--gris);border-bottom:1px dotted var(--or-voile)}
.small{font-size:14px;color:var(--gris)}

/* Bandeau maquette */
.mockbar{text-align:center;font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--gris);padding:9px 12px;border-bottom:1px solid var(--or-voile);font-weight:400}

/* En-tête */
.site-head{position:sticky;top:0;z-index:40;background:rgba(252,247,239,.95);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.site-head .wrap{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;height:96px}
.nav{display:flex;gap:30px}
.nav.r{justify-content:flex-end}
.nav a{font-size:12.5px;letter-spacing:.2em;text-transform:uppercase;text-decoration:none;font-weight:400;padding:6px 0;background:linear-gradient(var(--or),var(--or)) left bottom/0 1px no-repeat;transition:background-size .3s}
.nav a:hover,.nav a[aria-current=page]{background-size:100% 1px}
.logo{display:flex;flex-direction:column;align-items:center;text-decoration:none;line-height:1}
.logo .w{font-family:var(--serif);font-weight:300;font-size:36px;letter-spacing:.06em;white-space:nowrap}
.logo .w i{font-style:italic;color:var(--or);letter-spacing:.02em;padding:0 .02em}
.logo .s{display:flex;align-items:center;gap:10px;font-family:var(--sans);font-size:9px;letter-spacing:.42em;text-transform:uppercase;margin-top:8px;color:var(--noir);padding-left:.42em}
.logo .s::before,.logo .s::after{content:"";width:16px;height:1px;background:var(--or)}
.menu-toggle,.menu-btn{display:none}
.site-head::after{content:"";display:block;height:1px;background:linear-gradient(90deg,transparent,var(--or-voile) 20%,var(--or-voile) 80%,transparent)}

/* Boutons */
.btn{display:inline-flex;align-items:center;gap:12px;font-family:var(--sans);font-size:12.5px;font-weight:400;letter-spacing:.24em;text-transform:uppercase;text-decoration:none;color:var(--noir);padding:17px 30px;border:1px solid var(--noir);transition:.25s}
.btn:hover{background:var(--noir);color:var(--fond)}
.btn.or{border-color:var(--or)}
.btn.or:hover{background:var(--or);color:#fff}
.link{font-size:12.5px;letter-spacing:.24em;text-transform:uppercase;text-decoration:none;font-weight:400;padding-bottom:6px;border-bottom:1px solid var(--or)}
.btns{display:flex;flex-wrap:wrap;gap:16px;align-items:center}
.center .btns{justify-content:center}

/* Sections */
section{padding:clamp(80px,11vw,160px) 0}
.alt{background:var(--fond-2)}
.sep{display:flex;align-items:center;justify-content:center;gap:16px;color:var(--or);margin:0 auto}
.sep::before,.sep::after{content:"";width:70px;height:1px;background:var(--or-voile)}
.sep svg{width:14px;height:14px}

/* Photos */
.ph-fig{position:relative;margin:0;overflow:hidden;background:var(--fond-2)}
.ph-fig img{width:100%;height:100%;object-fit:cover}
.credit{position:absolute;right:12px;bottom:10px;font-family:var(--serif);font-style:italic;font-size:13px;color:rgba(255,255,255,.88);text-shadow:0 1px 4px rgba(0,0,0,.45)}
.tag-conf{position:absolute;left:10px;top:10px;font-family:var(--serif);font-style:italic;font-size:13px;background:rgba(246,241,234,.92);color:var(--gris);padding:2px 9px}
.cap{font-family:var(--serif);font-style:italic;font-size:16px;color:var(--gris);margin-top:12px}
.framed{padding:14px;background:#fff;box-shadow:0 0 0 1px var(--or-voile)}
.todo{margin:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:var(--fond-2);border:1px solid var(--or-voile);color:var(--gris);padding:24px;min-height:200px}
.todo svg{width:26px;height:26px;color:var(--or);margin-bottom:12px}
.todo .t1{font-size:11px;letter-spacing:.28em;text-transform:uppercase;font-weight:400}
.todo .t2{font-family:var(--serif);font-style:italic;font-size:22px;color:var(--noir);margin-top:6px}
.todo .t3{font-family:var(--serif);font-style:italic;font-size:15px;margin-top:4px}

/* Hero accueil */
.hero{padding:clamp(44px,4.5vw,64px) 0 clamp(70px,9vw,130px)}
.hero h1{max-width:22ch;margin-left:auto;margin-right:auto;font-size:clamp(46px,5.4vw,80px)}
.hero .lead{max-width:60ch}

/* Page hero simple */
.phero{padding:clamp(60px,8vw,110px) 0 clamp(40px,5vw,70px)}
.phero-img{aspect-ratio:21/9}
.phero-grid{display:grid;grid-template-columns:5fr 7fr;gap:clamp(30px,6vw,90px);align-items:center}

/* Duo savoir-faire */
.duo{display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,6vw,100px)}
.duo .it{text-align:center}
.duo .ico{width:44px;height:44px;color:var(--or);margin:0 auto 18px}
.duo p{max-width:38ch;margin-left:auto;margin-right:auto}

/* Cartes univers */
.cards{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,4vw,60px)}
.card{text-decoration:none;display:block}
.card .ph-fig{aspect-ratio:4/5}
.card .ph-fig img{transition:transform 1.2s ease}
.card:hover .ph-fig img{transform:scale(1.03)}
.card h3{font-size:clamp(30px,3vw,42px);margin:24px 0 8px}
.card p{color:var(--gris);margin-bottom:16px;max-width:42ch}

/* Galeries */
.grid{display:grid;grid-template-columns:repeat(12,1fr);gap:clamp(12px,1.8vw,26px)}
.g4{grid-column:span 4}.g5{grid-column:span 5}.g6{grid-column:span 6}.g7{grid-column:span 7}.g8{grid-column:span 8}.g12{grid-column:span 12}
.grid .ph-fig{aspect-ratio:3/2}
.grid .tall .ph-fig,.grid .tall.todo{aspect-ratio:4/5}
.grid .todo{aspect-ratio:3/2;min-height:0}
.grid .g12 .ph-fig{aspect-ratio:21/9}
.grid [data-photo]{cursor:zoom-in}

/* Citation */
.quote{font-family:var(--serif);font-weight:300;font-style:italic;font-size:clamp(34px,4.6vw,64px);line-height:1.15;max-width:18ch;margin:28px auto}
.quote em{color:var(--or)}

/* Étapes */
.steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,1fr);gap:28px;counter-reset:s}
.steps li{text-align:center;padding-top:26px;border-top:1px solid var(--or-voile);position:relative}
.steps li::before{counter-increment:s;content:counter(s,decimal-leading-zero);position:absolute;top:-17px;left:50%;transform:translateX(-50%);background:var(--fond);padding:0 10px;font-family:var(--serif);font-style:italic;color:var(--or);font-size:26px;line-height:1.2}
.alt .steps li::before{background:var(--fond-2)}
.steps h3{font-size:24px;margin-bottom:8px}
.steps p{font-size:15px;color:var(--gris);margin:0}

/* Vidéos */
.vgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(18px,2.6vw,36px)}
.vgrid.two{grid-template-columns:repeat(2,1fr)}
.v-card{display:block;text-decoration:none;color:inherit;cursor:pointer}
.v-card .thumb{position:relative;aspect-ratio:16/9;overflow:hidden;background:var(--fond-2)}
.v-card .thumb img{width:100%;height:100%;object-fit:cover;transition:transform 1s ease}
.v-card:hover .thumb img{transform:scale(1.04)}
.v-card .thumb::after{content:"";position:absolute;inset:0;background:rgba(26,26,26,.18);transition:.3s}
.v-card.soon .thumb::after{background:rgba(246,241,234,.55)}
.v-card .play{position:absolute;left:50%;top:50%;width:76px;height:76px;margin:-38px 0 0 -38px;border-radius:50%;border:1px solid rgba(255,255,255,.9);display:grid;place-items:center;z-index:2;transition:.3s;backdrop-filter:blur(2px)}
.v-card .play svg{width:20px;height:20px;color:#fff;margin-left:4px}
.v-card:hover .play{background:var(--or);border-color:var(--or)}
.v-card.soon .play{border-color:var(--or)}
.v-card.soon .play svg{color:var(--or)}
.v-card .badge{position:absolute;left:12px;top:12px;z-index:2;font-size:10.5px;letter-spacing:.22em;text-transform:uppercase;font-weight:400;background:var(--fond);color:var(--noir);padding:5px 10px}
.v-card h3{font-size:24px;margin:18px 0 4px}
.v-card .m{font-family:var(--serif);font-style:italic;color:var(--gris);font-size:16px}
.v-feature .thumb{aspect-ratio:16/9}
.v-feature .play{width:96px;height:96px;margin:-48px 0 0 -48px}

/* Fenêtre (modale) */
.modal{position:fixed;inset:0;z-index:100;display:none;align-items:center;justify-content:center;padding:clamp(14px,4vw,60px);background:rgba(26,26,26,.82);backdrop-filter:blur(3px)}
.modal.open{display:flex}
.modal .box{position:relative;width:min(1100px,100%);background:var(--fond);padding:clamp(10px,1.4vw,18px);box-shadow:0 30px 80px rgba(0,0,0,.35)}
.modal .frame{position:relative;aspect-ratio:16/9;background:#000}
.modal .frame iframe,.modal .frame video{position:absolute;inset:0;width:100%;height:100%;border:0}
.modal .frame.img{aspect-ratio:auto;background:transparent;text-align:center}
.modal .frame.img img{max-height:78vh;margin:0 auto;width:auto}
.modal .frame.soon{background:var(--fond-2);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:30px}
.modal .frame.soon h3{font-size:clamp(28px,3vw,40px)}
.modal .frame.soon p{color:var(--gris);max-width:46ch}
.modal .title{display:flex;justify-content:space-between;gap:20px;align-items:baseline;padding:14px 4px 4px;font-family:var(--serif);font-style:italic;font-size:18px}
.modal .title small{font-family:var(--sans);font-style:normal;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--gris)}
.modal .close{position:absolute;z-index:5;top:-16px;right:-16px;width:44px;height:44px;border-radius:50%;border:1px solid var(--or);background:var(--fond);color:var(--noir);font-size:22px;line-height:1;cursor:pointer;display:grid;place-items:center}
.modal .close:hover{background:var(--or);color:#fff}
body.modal-open{overflow:hidden}

/* Filtres photos */
.filters{display:flex;justify-content:center;flex-wrap:wrap;gap:8px 28px;margin-bottom:50px}
.filters label{font-size:12.5px;letter-spacing:.22em;text-transform:uppercase;cursor:pointer;padding-bottom:6px;font-weight:400;border-bottom:1px solid transparent}
.pf-radio{position:absolute;opacity:0;pointer-events:none}
#f-all:checked~.filters label[for=f-all],#f-mariages:checked~.filters label[for=f-mariages],#f-concerts:checked~.filters label[for=f-concerts],#f-portraits:checked~.filters label[for=f-portraits],#f-details:checked~.filters label[for=f-details]{border-bottom-color:var(--or)}
.masonry{columns:3;column-gap:24px}
.masonry figure{break-inside:avoid;margin:0 0 30px}
#f-mariages:checked~.masonry figure:not([data-cat~=mariages]),#f-concerts:checked~.masonry figure:not([data-cat~=concerts]),#f-portraits:checked~.masonry figure:not([data-cat~=portraits]),#f-details:checked~.masonry figure:not([data-cat~=details]){display:none}

/* À propos */
.about{display:grid;grid-template-columns:5fr 6fr;gap:clamp(36px,7vw,110px);align-items:center}
.about .ph-fig{aspect-ratio:4/5}
.note-portrait{font-family:var(--serif);font-style:italic;font-size:15px;color:var(--gris);margin-top:12px;border-left:1px solid var(--or);padding-left:12px}
.facts{list-style:none;padding:0;margin:30px 0 0;border-top:1px solid var(--or-voile)}
.facts li{display:grid;grid-template-columns:150px 1fr;gap:20px;padding:15px 0;border-bottom:1px solid var(--or-voile);font-size:15.5px}
.facts b{font-weight:400;font-size:11.5px;letter-spacing:.22em;text-transform:uppercase;padding-top:3px}

/* Contact */
.contact{display:grid;grid-template-columns:7fr 4fr;gap:clamp(36px,6vw,90px)}
.form{display:grid;grid-template-columns:1fr 1fr;gap:26px 28px}
.form .full{grid-column:1/-1}
.form label{display:block;font-size:11.5px;letter-spacing:.22em;text-transform:uppercase;margin-bottom:6px;font-weight:400}
.form input,.form select,.form textarea{width:100%;border:0;border-bottom:1px solid rgba(26,26,26,.35);background:transparent;font:inherit;font-size:16px;color:var(--noir);padding:10px 0;border-radius:0;-webkit-appearance:none;appearance:none}
.form textarea{min-height:120px;resize:vertical}
.form input:focus,.form select:focus,.form textarea:focus{outline:none;border-bottom-color:var(--or)}
.form .chips{display:flex;flex-wrap:wrap;gap:10px}
.form .chips span{border:1px solid var(--or-voile);padding:7px 16px;font-size:14px}
.form button[disabled]{opacity:.55;cursor:not-allowed}
.coords{border:1px solid var(--or-voile);padding:34px}
.coords li{list-style:none;display:flex;gap:14px;padding:12px 0;border-bottom:1px solid var(--or-voile);font-size:15.5px}
.coords li:last-child{border-bottom:0}
.coords ul{margin:0;padding:0}
.coords svg{width:18px;height:18px;color:var(--or);flex:none;margin-top:5px}

/* Fil d'Ariane (pages villes) */
.crumbs{font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--gris);margin-bottom:26px}
.crumbs a{text-decoration:none;border-bottom:1px solid var(--or-voile)}

/* Pied */
.site-foot{padding:80px 0 40px;text-align:center;border-top:1px solid var(--or-voile)}
.site-foot .logo{margin-bottom:22px}
.site-foot nav{display:flex;justify-content:center;flex-wrap:wrap;gap:10px 28px;margin:26px 0}
.site-foot nav a{font-size:12px;letter-spacing:.2em;text-transform:uppercase;text-decoration:none;font-weight:400}
.social{display:flex;justify-content:center;gap:18px;margin:10px 0}
.social span{display:inline-flex;align-items:center;gap:8px;font-size:14px;color:var(--gris)}
.social svg{width:18px;height:18px;color:var(--or)}
.site-foot .base{margin-top:40px;font-size:12.5px;color:var(--gris)}

/* Responsive */
@media (max-width:980px){
  .site-head .wrap{grid-template-columns:auto 1fr;height:80px}
  .logo{align-items:flex-start}.logo .w{font-size:32px}
  .menu-btn{display:flex;justify-self:end;flex-direction:column;gap:7px;cursor:pointer;padding:10px}
  .menu-btn span{width:28px;height:1px;background:var(--noir);display:block}
  .navs{display:none;position:absolute;top:80px;left:0;right:0;background:var(--fond);padding:20px var(--gut) 30px;border-bottom:1px solid var(--or-voile)}
  .menu-toggle:checked~.navs{display:block}
  .navs .nav{flex-direction:column;gap:6px}
  .navs .nav a{font-size:14px}
  .steps{grid-template-columns:repeat(2,1fr);row-gap:44px}
  .vgrid{grid-template-columns:repeat(2,1fr)}
  .masonry{columns:2}
}
@media (min-width:981px){.navs{display:contents}}
@media (max-width:760px){
  body{font-size:16px}
  .duo,.cards,.about,.contact,.phero-grid{grid-template-columns:1fr}
  .grid .g4,.grid .g5,.grid .g6,.grid .g7,.grid .g8{grid-column:span 12}
  .grid .half{grid-column:span 6}
  .grid .g12 .ph-fig{aspect-ratio:3/2}
  .vgrid,.vgrid.two{grid-template-columns:1fr}
  .steps{grid-template-columns:1fr}
  .masonry{columns:1}
  .form{grid-template-columns:1fr}
  .facts li{grid-template-columns:1fr;gap:2px}
  .modal .close{top:-12px;right:-6px}
  .phero-img{aspect-ratio:4/3}
  .mockbar{font-size:9.5px;letter-spacing:.16em}
}
@media (min-width:981px){.site-head .logo{grid-column:2;grid-row:1}.nav.l{grid-column:1;grid-row:1}.nav.r{grid-column:3;grid-row:1}}
@media (max-width:980px){.site-head .logo{grid-column:1;grid-row:1}.menu-btn{grid-column:2;grid-row:1}}

.modal .title .yt-out{color:var(--noir);text-decoration:none;border-bottom:1px solid var(--or);font-family:var(--sans);font-style:normal;font-size:11px;letter-spacing:.18em;text-transform:uppercase;white-space:nowrap}
.modal .title .r{display:flex;gap:18px;align-items:baseline;flex-wrap:wrap;justify-content:flex-end}
/* v2 corrections après relecture des captures */
.phero-grid h1{font-size:clamp(42px,4.6vw,68px)}
.cta .cta-box{border:1px solid var(--or-voile);outline:1px solid var(--or-voile);outline-offset:10px;padding:clamp(50px,7vw,96px) clamp(22px,5vw,80px);text-align:center;max-width:900px;margin:0 auto;background:var(--fond)}
.cta .cta-box .lead{margin-left:auto;margin-right:auto}
.cta .cta-box .btns{justify-content:center}
.cards .card .ph-fig{aspect-ratio:3/2}
.test-block{display:grid;grid-template-columns:5fr 7fr;gap:clamp(30px,5vw,70px);align-items:center}
@media (max-width:760px){.test-block{grid-template-columns:1fr}.cta .cta-box{outline-offset:6px}}
@media (max-width:760px){.modal .title{flex-direction:column;gap:6px;align-items:flex-start}.modal .title .r{justify-content:flex-start}}

/* ---- Emplacements vides (« photo / portrait / vidéo à venir ») ---- */
.vide{background:var(--fond-2);display:flex;align-items:center;justify-content:center;text-align:center}
.vide::before{content:"";position:absolute;inset:12px;border:1px solid var(--or-voile);border-radius:inherit;pointer-events:none}
.vide-in{display:flex;flex-direction:column;align-items:center;gap:8px;color:var(--gris);padding:20px;position:relative;z-index:1}
.vide-in svg{width:26px;height:26px;color:var(--or)}
.vide-in .v1{font-size:10.5px;letter-spacing:.3em;text-transform:uppercase;font-weight:400;color:var(--gris)}
.vide-in .v2{font-family:var(--serif);font-style:italic;font-size:20px;color:var(--noir);line-height:1.2}
.ph-fig.vide.r45{aspect-ratio:4/5}.ph-fig.vide.r32{aspect-ratio:3/2}
.pano .ph-fig{aspect-ratio:16/9}
.about .vide .vide-in .v2{font-size:26px}
.slot{margin:0}
/* vignette vidéo vide */
.v-card.soon .thumb{background:var(--fond-2);display:flex;align-items:center;justify-content:center}
.v-card.soon .thumb::after{background:none;inset:12px;border:1px solid var(--or-voile)}
.v-card.soon .vide-in{gap:14px}
.v-card.soon .play{position:static;margin:0;width:64px;height:64px;backdrop-filter:none}
.v-feature.soon .play{width:84px;height:84px}
.v-card.soon:hover .play{background:var(--or)}
.v-card.soon:hover .play svg{color:#fff}
@media (max-width:760px){.pano .ph-fig{aspect-ratio:4/3}.logo .w{font-size:30px}.vide-in .v2{font-size:17px}}
.alt .vide,.alt .v-card.soon .thumb{background:var(--fond)}
@media (max-width:760px){.kdot{display:block;height:2px;font-size:0}}
.framed .vide{aspect-ratio:3/2}
.framed.pano .vide{aspect-ratio:16/9}
.about .framed .vide{aspect-ratio:4/5}
@media (max-width:760px){.framed.pano .vide{aspect-ratio:4/3}}

/* ---- v3.1 : cadres rectangulaires (plus aucune arche) ---- */
section{--sec:var(--fond)} .alt{--sec:var(--fond-2)}
.ph-fig{border-radius:1px}
/* tirage photo : marge blanche + filet or rosé décalé */
.framed{position:relative;box-shadow:0 0 0 1px var(--or-voile),14px 14px 0 -1px var(--sec),14px 14px 0 0 var(--or-voile)}
.hero-frames{display:grid;grid-template-columns:8fr 4fr;gap:clamp(18px,2.4vw,34px);margin:clamp(40px,4vw,56px) 14px 0 0;text-align:left}
.hero-frames .main .ph-fig{aspect-ratio:3/2}
.hero-frames .stack{display:flex;flex-direction:column;gap:clamp(18px,2.4vw,34px)}
.hero-frames .stack .slot{flex:1;display:flex}
.hero-frames .stack .ph-fig{flex:1;width:100%}
@media (max-width:760px){
 .hero-frames{grid-template-columns:1fr;margin-right:10px}
 .hero-frames .stack{flex-direction:row;gap:12px}
 .hero-frames .stack .slot{flex:1}
 .hero-frames .stack .ph-fig{aspect-ratio:3/2;flex:none}
 .framed{box-shadow:0 0 0 1px var(--or-voile),9px 9px 0 -1px var(--sec),9px 9px 0 0 var(--or-voile)}
}
.grid .p .slot,.grid .p .ph-fig{height:100%}
.grid .p .ph-fig{aspect-ratio:auto;min-height:100%}
@media (max-width:760px){.grid .p .ph-fig{aspect-ratio:4/5;height:auto}}

/* ---- Logo officiel (images recadrées du PNG fourni, fond transparent = fond du site) ---- */
.logo{display:block;line-height:0}
.logo img{display:block;width:auto}
.site-head .logo img{height:54px}
.site-foot .logo img{height:auto;width:210px;margin:0 auto}
.hero-logo{display:block;width:150px;height:auto;margin:0 auto 26px}
@media (max-width:980px){.site-head .logo img{height:44px}}
@media (max-width:760px){.site-head .logo img{height:40px}.site-foot .logo img{width:180px}.hero-logo{width:120px;margin-bottom:20px}}
/* ---- finalisation 19/10 : accessibilité + nouvelles briques ---- */
.skip{position:absolute;left:-9999px;top:0;z-index:999;background:#14120D;color:#FCF7EF;padding:12px 18px}
.skip:focus{left:12px;top:12px}
a:focus-visible,button:focus-visible,[tabindex]:focus-visible,select:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible{outline:2px solid #B4746F;outline-offset:3px}
.menu-toggle{position:absolute;opacity:0;width:1px;height:1px;pointer-events:none}
.menu-toggle:focus-visible+.menu-btn{outline:2px solid #B4746F;outline-offset:2px}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.empty,.soon-panel{border:1px solid rgba(180,116,111,.45);outline:1px solid rgba(180,116,111,.2);outline-offset:10px;padding:clamp(40px,7vw,90px) clamp(22px,6vw,80px);text-align:center;max-width:880px;margin:0 auto;background:rgba(255,255,255,.35)}
.empty h3,.soon-panel h2{margin:26px 0 14px}
.empty .btns{justify-content:center}
.cards.one{grid-template-columns:1fr;max-width:820px;margin:0 auto}
.prestas{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:28px}
.prestas .pr{border:1px solid rgba(180,116,111,.35);padding:34px 26px;background:rgba(255,255,255,.3)}
.prestas .ico{width:44px;color:#B4746F;margin-bottom:12px}
.form fieldset{border:0;padding:0;margin:0}
.form legend{font-size:11.5px;letter-spacing:.22em;text-transform:uppercase;margin-bottom:10px}
.form .chips label{display:inline-flex;gap:8px;align-items:center;border:1px solid rgba(180,116,111,.45);padding:7px 16px;font-size:14px;letter-spacing:0;text-transform:none;cursor:pointer;margin:0}
.form .chips input{width:auto;-webkit-appearance:auto;appearance:auto;accent-color:#B4746F}
.h-coords{font-size:28px;margin:0 0 18px}
.legal h2{font-size:26px;margin:44px 0 10px}
.legal p{overflow-wrap:anywhere}
@media (max-width:760px){.grid .p .ph-fig{aspect-ratio:3/2;min-height:0;width:100%}.empty,.soon-panel{outline-offset:5px}}
@media (min-width:761px){.grid .p .slot{display:flex;flex-direction:column}.grid .p .ph-fig{min-height:0;flex:1}}
.prestas .fo .prix{font-size:1.15em;color:#B4746F;margin:4px 0 10px}
.prestas .fo .acc{font-style:italic;margin-top:0}
.prestas .fo .pts{list-style:none;padding:0;margin:14px 0 0}
.prestas .fo .pts li{padding:7px 0;border-top:1px solid rgba(180,116,111,.25);font-size:.95em}
