/* ============================================================
   proto.css — direction visuelle « portfolio » (prototypes sept. 2026)
   Pages : /prestations/animaux, /prestations/iris, /blog/, /contact
   Règle absolue : aucune photographie n'est recadrée par le site
   (largeur 100 %, hauteur automatique, ratio d'origine).
   ============================================================ */
:root{--px-ink:#151310;--px-ink-2:#1f1c18;--px-white:#fff;--px-line:rgba(28,25,22,.12);--px-line-d:rgba(255,255,255,.14);--px-gold:#B8914A;--px-gold-l:#D9BE85}

/* ── Hero éditorial : aligné à gauche, pas de bandeau beige ── */
.px-hero{background:var(--px-white);padding:calc(var(--nav-h) + 3.2rem) 0 2.2rem}
.px-hero .container{max-width:1240px}
.px-crumb{font-size:.72rem;color:var(--muted);margin-bottom:1.4rem;letter-spacing:.02em}
.px-crumb a{color:var(--muted)}
.px-crumb a:hover{color:var(--gold-h)}
.px-crumb span{margin:0 .45rem;opacity:.5}
.px-hero h1{font-size:clamp(2.5rem,6vw,5.2rem);font-weight:200;letter-spacing:-.035em;line-height:1;max-width:20ch;margin:0}
.px-hero .px-sub{margin-top:1.1rem;max-width:34rem;font-size:1.05rem;line-height:1.6;color:var(--muted)}
.px-rule{display:block;width:48px;height:1px;background:var(--px-gold);margin:1.4rem 0 0}
.px-hero.dark{background:var(--px-ink);color:#fff}
.px-hero.dark h1{color:#fff}
.px-hero.dark .px-sub,.px-hero.dark .px-crumb,.px-hero.dark .px-crumb a{color:rgba(255,255,255,.62)}

/* ── Sections ── */
.px-sec{padding:clamp(3rem,7vw,5.5rem) 0;background:var(--px-white)}
.px-sec .container,.px-wide{max-width:1240px}
.px-sec.cream{background:var(--cream)}
.px-sec.ink{background:var(--px-ink);color:#fff}
.px-sec.ink h2,.px-sec.ink h3{color:#fff}
.px-sec.tight{padding-top:0}
.px-kicker{display:block;font-size:.66rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-h);margin-bottom:.9rem}
.px-sec.ink .px-kicker{color:var(--px-gold-l)}
.px-h2{font-size:clamp(2rem,3.6vw,3rem);font-weight:200;letter-spacing:-.03em;line-height:1.05;margin:0 0 1.2rem}

/* Deux colonnes : texte + informations en lignes (pas de cartes) */
.px-split{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:clamp(2rem,6vw,6rem);align-items:start}
.px-prose p{font-size:1.04rem;line-height:1.8;color:var(--ink);margin:0 0 1.1rem;max-width:38rem}
.px-prose p:last-child{margin-bottom:0}
.px-prose strong{font-weight:600}
.px-sec.ink .px-prose p{color:rgba(255,255,255,.82)}
.px-lines{list-style:none;margin:0;padding:0;border-top:1px solid var(--px-line)}
.px-lines li{display:grid;grid-template-columns:2.2rem 1fr;gap:.2rem 1rem;padding:1.1rem 0;border-bottom:1px solid var(--px-line)}
.px-lines .n{font-family:'Cormorant Garamond',serif;font-size:1.25rem;color:var(--px-gold);line-height:1.3}
.px-lines h3{font-family:'Instrument Sans',sans-serif;font-size:.98rem;font-weight:600;letter-spacing:0;line-height:1.35;margin:0 0 .25rem}
.px-lines p{font-size:.92rem;line-height:1.65;color:var(--muted);margin:0}
.px-lines a{color:var(--gold-h);text-decoration:underline;text-underline-offset:2px}
.px-sec.ink .px-lines,.px-sec.ink .px-lines li{border-color:var(--px-line-d)}
.px-sec.ink .px-lines p{color:rgba(255,255,255,.66)}

/* Tarif : lignes, pas de boîte */
.px-price-wrap{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(2rem,6vw,6rem);align-items:start}
.px-price-wrap .px-lede{color:var(--muted);font-size:.98rem;line-height:1.7;max-width:26rem}
.px-rows{list-style:none;margin:0;padding:0;border-top:1px solid var(--ink)}
.px-rows li{display:flex;justify-content:space-between;align-items:baseline;gap:1.5rem;padding:1rem 0;border-bottom:1px solid var(--px-line)}
.px-rows .n{font-weight:600;font-size:.98rem}
.px-rows .s{display:block;font-weight:400;font-size:.84rem;color:var(--muted);margin-top:.15rem}
.px-rows .p{font-family:'Cormorant Garamond',serif;font-size:1.65rem;font-weight:500;color:var(--gold-h);white-space:nowrap;line-height:1}
.px-note{font-size:.88rem;line-height:1.65;color:var(--muted);margin:1rem 0 0}
.px-note strong{color:var(--ink)}
.px-actions{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:1.6rem}
.px-sec.ink .px-rows{border-top-color:#fff}
.px-sec.ink .px-rows li{border-color:var(--px-line-d)}
.px-sec.ink .px-rows .p{color:var(--px-gold-l)}
.px-sec.ink .px-rows .s,.px-sec.ink .px-note,.px-sec.ink .px-price-wrap .px-lede{color:rgba(255,255,255,.62)}
.px-sec.ink .px-note strong{color:#fff}
.px-sec.ink .btn-outline,.px-final .btn-outline{color:#fff;border-color:rgba(255,255,255,.45)}
.px-sec.ink .btn-outline:hover,.px-final .btn-outline:hover{background:#fff;color:var(--ink);border-color:#fff}

/* Témoignage */
.px-quote{max-width:52rem;margin:0;padding-left:clamp(1rem,3vw,2rem);border-left:1px solid var(--px-gold)}
.px-quote p{font-family:'Cormorant Garamond',serif;font-style:italic;font-weight:300;font-size:clamp(1.45rem,2.6vw,2.1rem);line-height:1.35;margin:0}
.px-quote cite{display:block;margin-top:1rem;font-style:normal;font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-h)}

/* FAQ : titre à gauche, questions à droite */
.px-faq-wrap{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(2rem,6vw,6rem);align-items:start}
.px-faq details{border-bottom:1px solid var(--px-line)}
.px-faq details:first-child{border-top:1px solid var(--px-line)}
.px-faq summary{cursor:pointer;list-style:none;padding:1.15rem 2.4rem 1.15rem 0;position:relative;font-weight:600;font-size:1rem;line-height:1.4}
.px-faq summary::-webkit-details-marker{display:none}
.px-faq summary::after{content:'';position:absolute;right:.35rem;top:1.45rem;width:9px;height:9px;border-right:1px solid var(--px-gold);border-bottom:1px solid var(--px-gold);transform:rotate(45deg);transition:transform .2s}
.px-faq details[open] summary::after{transform:rotate(225deg);top:1.7rem}
.px-faq summary:focus-visible{outline:2px solid var(--px-gold);outline-offset:3px}
.px-faq details p{color:var(--muted);font-size:.95rem;line-height:1.75;margin:0;padding:0 0 1.2rem;max-width:40rem}
.px-faq details p a{color:var(--gold-h);text-decoration:underline}
.px-more{margin-top:1.4rem;font-size:.9rem;color:var(--muted)}
.px-more a{color:var(--gold-h);font-weight:600}

/* Appel final */
.px-final{background:var(--px-ink);color:#fff;padding:clamp(3rem,7vw,5rem) 0}
.px-final .container{max-width:1240px;display:flex;justify-content:space-between;align-items:flex-end;gap:2rem;flex-wrap:wrap}
.px-final h2{color:#fff;font-size:clamp(2rem,4vw,3.2rem);font-weight:200;letter-spacing:-.03em;margin:0 0 .6rem;max-width:18ch}
.px-final p{color:rgba(255,255,255,.62);margin:0;max-width:32rem;line-height:1.6}
.px-final .px-actions{margin-top:0}

/* ── Images : jamais recadrées ── */
.px-fig{margin:0;position:relative}
.px-fig img{display:block;width:100%;height:auto;max-width:100%}
.px-zoom{cursor:zoom-in}
.px-zoom img{transition:transform .45s var(--ease)}
@media (hover:hover){.px-zoom:hover img{transform:scale(1.015)}}
.px-zoom:focus-visible{outline:2px solid var(--px-gold);outline-offset:4px}

/* ── Mosaïque éditoriale (Animaux) ── */
.px-mosaic{display:flex;flex-direction:column;gap:clamp(.7rem,1.4vw,1.1rem)}
.px-row{display:flex;gap:clamp(.7rem,1.4vw,1.1rem);align-items:flex-start}
.px-row>*{min-width:0}
.px-col{display:flex;flex-direction:column;gap:clamp(.7rem,1.4vw,1.1rem)}
.px-cap{align-self:flex-end;padding:0 0 .4rem}
.px-cap p{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:clamp(1.25rem,2vw,1.6rem);line-height:1.35;color:var(--ink);margin:0}
.px-cap small{display:block;margin-top:.8rem;font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gold-h);font-style:normal;font-family:'Instrument Sans',sans-serif}
.px-row.offset{justify-content:space-between;align-items:flex-start}
.px-row.offset>:last-child{margin-top:clamp(2rem,7vw,6rem)}
.px-row.right{justify-content:flex-end}
@media(max-width:760px){
  .px-row{flex-wrap:wrap}
  .px-row>*{flex:1 1 100%!important;width:100%!important;margin-top:0!important}
  .px-row .px-col{flex-direction:row}
  .px-row .px-col>*{flex:1 1 0}
  .px-row.offset>:first-child{width:92%!important;flex:0 0 92%!important}
  .px-row.offset>:last-child{width:80%!important;flex:0 0 80%!important;margin-left:auto!important}
  .px-row.right>*{width:88%!important;flex:0 0 88%!important}
  .px-cap{order:-1;padding:.6rem 0 .2rem}
}

/* ── Diaporama immersif (Iris) ── */
.px-show{background:#000;color:#fff;padding:0 0 clamp(1.6rem,4vw,2.6rem);position:relative}
.px-stage{position:relative;height:min(52vh,560px);min-height:360px;overflow:hidden;touch-action:pan-y}
.px-slide{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;opacity:0;transform:translateX(26px);transition:opacity .28s ease,transform .32s var(--ease);pointer-events:none}
.px-slide.is-prev{transform:translateX(-26px)}
.px-slide.is-on{opacity:1;transform:none;pointer-events:auto}
.px-slide img{max-width:min(94vw,1500px);max-height:100%;width:auto;height:auto;object-fit:contain;display:block}
.px-nav{position:absolute;top:50%;transform:translateY(-50%);width:52px;height:52px;border-radius:50%;border:1px solid rgba(255,255,255,.28);background:rgba(0,0,0,.35);color:#fff;display:flex;align-items:center;justify-content:center;z-index:3;transition:border-color .2s,background .2s}
.px-nav:hover{border-color:var(--px-gold-l);background:rgba(0,0,0,.6)}
.px-nav:focus-visible{outline:2px solid var(--px-gold-l);outline-offset:3px}
.px-nav svg{width:20px;height:20px}
.px-nav.prev{left:clamp(.6rem,2.5vw,2rem)}
.px-nav.next{right:clamp(.6rem,2.5vw,2rem)}
.px-bar{max-width:1240px;margin:0 auto;padding:1rem clamp(1rem,4vw,2rem) 0;display:flex;align-items:center;gap:1.4rem}
.px-count{font-family:'Cormorant Garamond',serif;font-size:1.15rem;letter-spacing:.06em;color:rgba(255,255,255,.8);min-width:3.6rem}
.px-count b{color:#fff;font-weight:500}
.px-thumbs{display:flex;gap:.45rem;overflow-x:auto;scrollbar-width:none;padding:.2rem}
.px-thumbs::-webkit-scrollbar{display:none}
.px-thumbs button{flex:0 0 auto;height:44px;padding:0;border:0;background:none;opacity:.42;transition:opacity .2s;outline-offset:2px}
.px-thumbs button img{height:44px;width:auto;display:block}
.px-thumbs button[aria-current="true"]{opacity:1;box-shadow:0 1px 0 var(--px-gold-l)}
.px-thumbs button:hover{opacity:.85}
.px-thumbs button:focus-visible{outline:2px solid var(--px-gold-l)}
@media(max-width:760px){
  .px-stage{height:clamp(360px,100vw,430px);min-height:0}
  .px-nav{width:42px;height:42px;background:rgba(0,0,0,.5)}
  .px-thumbs{display:none}
  .px-bar{justify-content:center}
}

/* ── Lightbox ── */
.px-lb{position:fixed;inset:0;z-index:1000;background:rgba(8,7,6,.97);display:none;align-items:center;justify-content:center;touch-action:pan-y}
.px-lb.open{display:flex}
.px-lb img{max-width:92vw;max-height:86vh;width:auto;height:auto;object-fit:contain;display:block}
.px-lb button{position:absolute;background:none;border:1px solid rgba(255,255,255,.25);color:#fff;border-radius:50%;width:48px;height:48px;display:flex;align-items:center;justify-content:center;cursor:pointer}
.px-lb button:hover{border-color:var(--px-gold-l)}
.px-lb button:focus-visible{outline:2px solid var(--px-gold-l);outline-offset:3px}
.px-lb button svg{width:20px;height:20px}
.px-lb .x{top:1rem;right:1rem}
.px-lb .pv{left:1rem;top:50%;transform:translateY(-50%)}
.px-lb .nx{right:1rem;top:50%;transform:translateY(-50%)}
.px-lb .ct{position:absolute;bottom:1.1rem;left:50%;transform:translateX(-50%);font-family:'Cormorant Garamond',serif;color:rgba(255,255,255,.75);font-size:1.05rem;letter-spacing:.06em}
@media(max-width:760px){.px-lb .pv,.px-lb .nx{top:auto;bottom:.8rem;transform:none}.px-lb img{max-width:100vw;max-height:78vh}}

/* ── Animations de texte (reprises de l'accueil V6) ──
   L'état caché n'existe que si le script est actif (html.rv-on). */
:root{--ease-rv:cubic-bezier(.2,.7,.2,1)}
html.rv-on .rv:not(.is-in){opacity:0;transform:translate3d(0,22px,0);transition:none}
html.rv-on .rv.from-top:not(.is-in){transform:translate3d(0,-22px,0)}
html.rv-on .rv.is-in{opacity:1;transform:none;transition:opacity .65s var(--ease-rv),transform .65s var(--ease-rv);transition-delay:var(--d,0s)}
html.rv-on .rv-title:not(.is-in){opacity:0;transform:translate3d(0,26px,0);letter-spacing:.02em;clip-path:inset(-30% 100% -30% -2%);transition:none}
html.rv-on .rv-title.from-top:not(.is-in){transform:translate3d(0,-26px,0)}
html.rv-on .rv-title.is-in{opacity:1;transform:none;clip-path:inset(-30% -8% -30% -8%);transition:opacity .7s var(--ease-rv),transform .7s var(--ease-rv),letter-spacing .7s var(--ease-rv),clip-path .75s var(--ease-rv)}
html.rv-on .rv-now{transition:none!important}

@media(max-width:860px){
  .px-split,.px-price-wrap,.px-faq-wrap{grid-template-columns:minmax(0,1fr)}
  .px-final .container{flex-direction:column;align-items:flex-start}
}
@media(max-width:600px){
  .px-actions .btn{width:100%;text-align:center}
  .px-rows .p{font-size:1.4rem}
}
@media (prefers-reduced-motion:reduce){
  html.rv-on .rv,html.rv-on .rv-title{opacity:1!important;transform:none!important;clip-path:none!important;transition:none!important}
  .px-slide{transition:none!important;transform:none!important}
  .px-zoom img{transition:none!important;transform:none!important}
}

/* ── Page Conseils (magazine) ── */
.px-filters{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1.8rem}
.px-filters button{background:none;border:1px solid var(--px-line);color:var(--ink);font-size:.8rem;padding:.55rem 1rem;border-radius:999px;transition:border-color .2s,background .2s,color .2s}
.px-filters button:hover{border-color:var(--px-gold)}
.px-filters button[aria-pressed="true"]{background:var(--px-ink);border-color:var(--px-ink);color:#fff}
.px-filters button:focus-visible{outline:2px solid var(--px-gold);outline-offset:2px}
.px-feat{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:clamp(1.6rem,5vw,4.5rem);align-items:center}
.px-art-meta{display:block;font-size:.66rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--gold-h);margin-bottom:.8rem}
.px-feat h2{font-size:clamp(2rem,3.8vw,3.2rem);font-weight:200;letter-spacing:-.03em;line-height:1.05;margin:0 0 1rem}
.px-feat p,.px-sec2 p{color:var(--muted);line-height:1.7;margin:0 0 1.2rem;max-width:32rem}
.px-read{display:inline-flex;align-items:center;gap:.5rem;font-size:.72rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--ink);border-bottom:1px solid var(--px-gold);padding-bottom:.25rem}
.px-art a.px-cover{display:block}
.px-art a.px-cover img{display:block;width:100%;height:auto;transition:transform .45s var(--ease)}
@media (hover:hover){.px-art a.px-cover:hover img{transform:scale(1.015)}}
.px-art h2 a:hover,.px-art h3 a:hover{color:var(--gold-h)}
.px-sec2{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.3fr);gap:clamp(1.6rem,5vw,4rem);align-items:start}
.px-sec2 .px-art:first-child{padding-top:clamp(0rem,6vw,5rem)}
.px-sec2 h3{font-size:clamp(1.6rem,2.6vw,2.2rem);font-weight:300;letter-spacing:-.02em;line-height:1.1;margin:1.2rem 0 .7rem}
.px-list{display:grid;grid-template-columns:1fr 1fr;gap:0 clamp(2rem,5vw,4.5rem);border-top:1px solid var(--px-line)}
.px-list .px-art{display:grid;grid-template-columns:104px 1fr;gap:1.1rem;align-items:center;padding:1.2rem 0;border-bottom:1px solid var(--px-line)}
.px-list .px-art img{width:104px;height:auto;display:block}
.px-list h3{font-family:'Instrument Sans',sans-serif;font-size:1rem;font-weight:600;letter-spacing:0;line-height:1.35;margin:0}
.px-list .px-art-meta{margin-bottom:.35rem}
.px-also{list-style:none;margin:1.6rem 0 0;padding:0;display:flex;flex-wrap:wrap;gap:.4rem 2rem}
.px-also a{font-size:.92rem;color:var(--ink);border-bottom:1px solid var(--px-line)}
.px-also a:hover{border-color:var(--px-gold);color:var(--gold-h)}
.px-local{font-size:.86rem;color:var(--muted);line-height:1.8}
.px-local a{color:var(--ink);border-bottom:1px solid var(--px-line);margin-right:1.2rem}
.px-local a:hover{border-color:var(--px-gold)}
@media(max-width:860px){.px-feat,.px-sec2{grid-template-columns:1fr}.px-sec2 .px-art:first-child{padding-top:0}.px-list{grid-template-columns:1fr}}
.px-final .btn-primary,.px-sec.ink .btn-primary{background:var(--px-gold);border-color:var(--px-gold);color:#fff}
.px-final .btn-primary:hover,.px-sec.ink .btn-primary:hover{background:#fff;border-color:#fff;color:var(--ink)}

/* ── Contact (palette chaude : taupe, sable, blanc cassé) ── */
:root{--c-taupe:#463F37;--c-sand:#D8CCBC;--c-sand-l:#E7DED2;--c-offw:#FCFAF6;--c-gold-d:#7E5F2A}
.px-chero{background:var(--c-taupe);color:#fff;padding-top:var(--nav-h);overflow:hidden}
.px-chero .px-cin{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(1.5rem,4vw,3.5rem);align-items:center;padding-left:max(1.5rem,calc((100vw - 1240px)/2 + 1.5rem))}
.px-chero .px-ctext{padding:clamp(2rem,4vw,3rem) 0}
.px-chero h1{color:#fff;font-size:clamp(2.6rem,5.2vw,4.6rem);font-weight:200;letter-spacing:-.035em;line-height:1;margin:0}
.px-chero .px-sub{color:rgba(255,255,255,.82);font-size:1.08rem;line-height:1.6;margin:1.1rem 0 0;max-width:30rem}
.px-chero .px-quick{display:flex;flex-wrap:wrap;gap:.6rem 1.6rem;margin-top:1.8rem}
.px-chero .px-quick a{color:#fff;font-size:.95rem;border-bottom:1px solid var(--px-gold-l);padding-bottom:.15rem}
.px-chero .px-quick a:hover{color:var(--px-gold-l)}
.px-chero figure{margin:0;align-self:stretch;display:flex;align-items:flex-end}
.px-chero figure img{display:block;width:100%;height:auto}
.px-cgrid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.9fr);gap:0}
.px-form{background:var(--c-offw);padding:clamp(2rem,5vw,4rem) clamp(1.5rem,4vw,4rem) clamp(2rem,5vw,4rem) max(1.5rem,calc((100vw - 1240px)/2 + 1.5rem))}
.px-form>*{max-width:640px}
.px-form .px-lede{color:#5f574d;line-height:1.7;margin:0 0 1.8rem;max-width:34rem}
.px-form .fg{margin-bottom:1.25rem}
.px-form .fg2{display:grid;grid-template-columns:1fr 1fr;gap:0 1.2rem}
.px-form label{display:block;font-size:.78rem;font-weight:600;letter-spacing:.04em;color:var(--ink);margin-bottom:.45rem}
.px-form label span{font-weight:400;color:#6b6258}
.px-form input,.px-form select,.px-form textarea{width:100%;font:inherit;font-size:1rem;color:var(--ink);background:transparent;border:0;border-bottom:1px solid rgba(28,25,22,.32);padding:.7rem 0;border-radius:0;transition:border-color .2s}
.px-form textarea{min-height:140px;resize:vertical;border:1px solid rgba(28,25,22,.26);padding:.8rem .9rem;background:#fff}
.px-form select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--c-gold-d) 50%),linear-gradient(135deg,var(--c-gold-d) 50%,transparent 50%);background-position:calc(100% - 12px) 55%,calc(100% - 7px) 55%;background-size:5px 5px;background-repeat:no-repeat;padding-right:1.6rem}
.px-form input:focus,.px-form select:focus,.px-form textarea:focus{outline:none;border-color:var(--px-gold)}
.px-form input:focus-visible,.px-form select:focus-visible,.px-form textarea:focus-visible{box-shadow:0 2px 0 0 var(--px-gold)}
.px-form .form-submit{margin-top:.6rem}
.px-form .form-msg{display:none;margin-top:1rem;font-size:.92rem}
.px-form .form-msg.success{color:#2f6b3a}
.px-form .form-msg.error{color:#a33}
.px-info{background:var(--c-sand);color:var(--ink);padding:clamp(2rem,5vw,4rem) max(1.5rem,calc((100vw - 1240px)/2 + 1.5rem)) clamp(2rem,5vw,4rem) clamp(1.5rem,4vw,3.5rem)}
.px-info>*{max-width:460px}
.px-info h2{color:var(--ink);font-size:1.9rem;font-weight:300;margin:0 0 1.4rem}
.px-info ul{list-style:none;margin:0;padding:0;border-top:1px solid rgba(28,25,22,.16)}
.px-info li{display:grid;grid-template-columns:22px 1fr;gap:1rem;padding:1.05rem 0;border-bottom:1px solid rgba(28,25,22,.16);align-items:start}
.px-info li svg{width:18px;height:18px;color:var(--c-gold-d);margin-top:.15rem}
.px-info .l{display:block;font-size:.66rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:#5f574d;margin-bottom:.25rem}
.px-info a{color:var(--ink);border-bottom:1px solid var(--c-gold-d)}
.px-info a:hover{color:var(--c-gold-d)}
.px-info .big{font-family:'Cormorant Garamond',serif;font-size:1.55rem;line-height:1.2}
.px-info p{margin:0;color:#3d3730;font-size:.93rem;line-height:1.6}
.px-info p.small{font-size:.84rem;color:#5a5249;margin-top:.35rem}
.px-info .px-go{display:inline-block;margin-top:1.4rem;font-size:.74rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase}
/* Carte : un vrai emplacement, remplacé par la carte après accord */
.px-mapsec{background:var(--c-sand-l);padding:clamp(2.5rem,5vw,4rem) 0 0}
.px-mapsec .px-maphead{display:flex;justify-content:space-between;align-items:flex-end;gap:1rem 2rem;flex-wrap:wrap;margin-bottom:1.4rem}
.px-mapsec .px-maphead a{font-size:.9rem;color:var(--ink);border-bottom:1px solid var(--c-gold-d);padding-bottom:.1rem}
.px-map{position:relative;width:100%;height:420px;background:#cfc3b2}
.px-map #mapsPlaceholder{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.9rem;padding:1.5rem;text-align:center;background:#d6cab9 radial-gradient(circle at 50% 45%,rgba(255,255,255,.35),transparent 60%)}
.px-map #mapsPlaceholder strong{font-family:'Cormorant Garamond',serif;font-size:1.5rem;font-weight:500;color:var(--ink)}
.px-map #mapsPlaceholder .adr{color:#3d3730;font-size:.95rem}
.px-map #mapsPlaceholder button{background:var(--ink);color:#fff;border:0;padding:.95rem 1.6rem;font-size:.78rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;cursor:pointer}
.px-map #mapsPlaceholder button:hover{background:var(--c-gold-d)}
.px-map #mapsPlaceholder button:focus-visible{outline:2px solid var(--c-gold-d);outline-offset:3px}
.px-map #mapsPlaceholder small{max-width:34rem;font-size:.78rem;line-height:1.5;color:#4f483f}
.px-map iframe{display:block;width:100%;height:100%;border:0}
.px-rdv{max-width:1240px}
.px-rdv .px-h2{max-width:22ch}
.px-rdv p{color:var(--muted);line-height:1.7;margin:0;max-width:40rem}
.px-rdv .px-actions{margin-top:1.6rem}
@media(max-width:900px){
  .px-chero .px-cin{grid-template-columns:1fr;padding-left:0}
  .px-chero .px-ctext{padding:1.8rem 1.25rem 2.2rem}
  .px-chero figure{order:-1}
  .px-cgrid{grid-template-columns:1fr}
  .px-form,.px-info{padding-left:1.25rem;padding-right:1.25rem}
  .px-map{height:320px}
}
@media(max-width:520px){.px-form .fg2{grid-template-columns:1fr}}
.px-col>*,.px-row>*>*{min-width:0}
@media(max-width:420px){.px-list .px-art{grid-template-columns:64px 1fr;gap:.9rem}.px-list .px-art img{width:64px}.px-list h3{font-size:.95rem}}
.px-rows .n{min-width:0}
/* Sans JavaScript : le diaporama devient une simple suite d'images */
html:not(.px-js) .px-stage{height:auto}
html:not(.px-js) .px-slide{position:static;opacity:1;transform:none;padding:1rem 0}
html:not(.px-js) .px-nav,html:not(.px-js) .px-bar{display:none}

/* ── Ruban horizontal (galerie commune des prestations) ──
   Hauteur constante, chaque image garde son format : max-height 100 %, largeur auto.
   Le ruban défile seul ; la page ne bouge jamais latéralement. */
.px-rib{--rib-h:clamp(380px,50vh,500px);position:relative;background:var(--px-white);padding:0 0 1.4rem}
.px-rib.dark{background:var(--px-ink)}
.px-rib-view{overflow-x:auto;overflow-y:hidden;scroll-snap-type:x proximity;scroll-behavior:smooth;scrollbar-width:none;-webkit-overflow-scrolling:touch;cursor:grab;outline:none;overscroll-behavior-x:contain}
.px-rib-view::-webkit-scrollbar{display:none}
.px-rib-view.dragging{cursor:grabbing;scroll-snap-type:none;scroll-behavior:auto}
.px-rib-view.dragging *{pointer-events:none}
.px-rib-view:focus-visible{box-shadow:inset 0 0 0 2px var(--px-gold)}
.px-rib-track{display:flex;align-items:center;gap:clamp(.5rem,1vw,.9rem);height:var(--rib-h);padding:0 clamp(.5rem,1vw,.9rem);width:max-content}
.px-rib-track>*{flex:0 0 auto;height:100%;display:flex;align-items:center;scroll-snap-align:center;margin:0}
.px-rib-track img{display:block;height:var(--rib-h);width:auto;max-width:min(90vw,1100px);object-fit:contain;-webkit-user-drag:none;user-select:none}
.px-rib-text{height:100%;box-sizing:border-box;width:clamp(220px,22vw,320px);background:var(--c-taupe,#463F37);color:#fff;padding:2rem 1.8rem;display:flex;flex-direction:column;justify-content:flex-end}
.px-rib-text p{font-family:'Cormorant Garamond',serif;font-style:italic;font-weight:300;font-size:clamp(1.35rem,2vw,1.75rem);line-height:1.3;margin:0}
.px-rib-text small{display:block;margin-top:1.2rem;font-size:.66rem;letter-spacing:.18em;text-transform:uppercase;color:var(--px-gold-l)}
.px-rib-ui{max-width:1240px;margin:0 auto;padding:1rem clamp(1rem,4vw,1.5rem) 0;display:flex;align-items:center;gap:1.2rem}
.px-rib-bar{flex:1;height:1px;background:var(--px-line);position:relative;overflow:hidden}
.px-rib-bar span{position:absolute;left:0;top:-1px;height:3px;background:var(--ink);width:20%;transition:transform .15s linear}
.px-rib.dark .px-rib-bar{background:var(--px-line-d)}
.px-rib.dark .px-rib-bar span{background:var(--px-gold-l)}
.px-rib-btn{width:44px;height:44px;border-radius:50%;border:1px solid var(--px-line);background:#fff;color:var(--ink);display:flex;align-items:center;justify-content:center;flex:0 0 auto;transition:border-color .2s,opacity .2s}
.px-rib-btn:hover{border-color:var(--px-gold)}
.px-rib-btn:focus-visible{outline:2px solid var(--px-gold);outline-offset:2px}
.px-rib-btn[disabled]{opacity:.35;cursor:default}
.px-rib-btn svg{width:18px;height:18px}
.px-rib.dark .px-rib-btn{background:transparent;color:#fff;border-color:var(--px-line-d)}
.px-rib.no-scroll .px-rib-ui{display:none}
.px-rib.no-scroll .px-rib-track{margin:0 auto}
@media(max-width:1024px){.px-rib{--rib-h:clamp(360px,46vh,440px)}}
@media(max-width:760px){
  .px-rib{--rib-h:min(400px,55vh)}
  .px-rib-track{scroll-padding:0 1rem}
  .px-rib-track img{max-width:84vw}
  .px-rib-text{width:72vw}
  .px-rib-btn{width:40px;height:40px}
}
@media (prefers-reduced-motion:reduce){.px-rib-view{scroll-behavior:auto}.px-rib-bar span{transition:none}}

/* Iris : titre et diaporama dans une seule section noire */
.px-hero.iris{background:#000;padding:calc(var(--nav-h) + 1.6rem) 0 1.2rem}
.px-hero.iris h1{font-size:clamp(2.3rem,4.8vw,4rem)}
.px-hero.iris .px-sub{margin-top:.7rem}
.px-hero.iris .px-crumb{margin-bottom:1rem}
.px-show{background:#000}
@media(min-width:761px) and (max-width:1024px){.px-stage{height:440px}}
.px-show+.px-sec{padding-top:2.2rem}
.px-show .px-bar{padding-top:.7rem}
@media(max-width:760px){
  .px-filters{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin-left:calc((100% - 100vw)/2);margin-right:calc((100% - 100vw)/2);padding:0 calc((100vw - 100%)/2) .2rem;scroll-snap-type:x proximity}
  .px-filters::-webkit-scrollbar{display:none}
  .px-filters button{flex:0 0 auto;white-space:nowrap;scroll-snap-align:start}
}

/* ── Cube : quatre formules clairement séparées ── */
.px-cubes{display:grid;grid-template-columns:1fr 1fr;gap:clamp(1.5rem,3.5vw,3rem)}
.px-cube{background:var(--cream);padding:clamp(1rem,2vw,1.6rem);display:flex;flex-direction:column}
.px-cube .px-cube-img{margin:0;background:#fff;aspect-ratio:4/3;padding:clamp(1rem,2.6vw,2rem);display:flex;align-items:center;justify-content:center;cursor:zoom-in}
.px-cube .px-cube-img img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;display:block}
.px-cube-body{padding:1.4rem .4rem .4rem;display:flex;flex-direction:column;flex:1}
.px-cube-top{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;border-bottom:1px solid rgba(28,25,22,.14);padding-bottom:.8rem;margin-bottom:.9rem}
.px-cube h3{font-size:2.1rem;font-weight:300;letter-spacing:-.02em;margin:0}
.px-cube .p{font-family:'Cormorant Garamond',serif;font-size:1.9rem;font-weight:500;color:var(--gold-h);line-height:1}
.px-cube ul{list-style:none;margin:0 0 1.3rem;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:.45rem 1rem}
.px-cube li{font-size:.9rem;color:#4a433b;padding-left:.9rem;position:relative;line-height:1.45}
.px-cube li::before{content:'';position:absolute;left:0;top:.55em;width:4px;height:4px;border-radius:50%;background:var(--px-gold)}
.px-cube .btn{margin-top:auto;align-self:flex-start}
.px-cube-ex{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(1rem,2.5vw,2rem)}
.px-cube-ex .px-cube-img{margin:0;background:#fff;aspect-ratio:1/1;padding:clamp(.8rem,1.6vw,1.2rem);display:flex;align-items:center;justify-content:center;cursor:zoom-in;border:1px solid var(--px-line)}
.px-cube-ex img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;display:block}
@media(max-width:860px){.px-cubes{grid-template-columns:1fr}.px-cube-ex{grid-template-columns:1fr 1fr}}
@media(max-width:420px){.px-cube ul{grid-template-columns:1fr}}
/* cadre de montage : hauteur fixée par le ratio du cadre, montage entier centré (contain) */
.px-cube .px-cube-img,.px-cube-ex .px-cube-img{position:relative;--pad:clamp(1rem,2.6vw,2rem);padding:0}
.px-cube-ex .px-cube-img{--pad:clamp(.7rem,1.4vw,1.1rem)}
.px-cube .px-cube-img img,.px-cube-ex .px-cube-img img{position:absolute;left:var(--pad);top:var(--pad);width:calc(100% - 2*var(--pad));height:calc(100% - 2*var(--pad));max-width:none;max-height:none;object-fit:contain}
@media (hover:hover){.px-cube .px-zoom:hover img,.px-cube-ex .px-zoom:hover img{transform:scale(1.015)}}
.px-final .container>*{min-width:0;max-width:100%}
@media(max-width:600px){.px-actions .btn{white-space:normal}}
@media(max-width:360px){main h2{font-size:1.55rem!important}}
/* Glisser : accroche douce uniquement sur écrans tactiles (à la souris, le ruban suit le geste) */
@media (hover:hover) and (pointer:fine){.px-rib-view{scroll-snap-type:none}}

/* ══ v3 — bandeau de titre chaud (prestations), fonds alternés, barre navigable, avis ══ */
:root{--w-taupe:#463F37;--w-offw:#F4EEE6;--w-sand:#D8CCBC;--w-sand-l:#EFE8DE;--w-paper:#FCFAF6}
.px-hero.warm{background:var(--w-taupe);color:var(--w-offw);padding:calc(var(--nav-h) + 2.4rem) 0 2rem}
.px-hero.warm h1{color:var(--w-offw)}
.px-hero.warm .px-sub{color:rgba(244,238,230,.8)}
.px-hero.warm .px-crumb,.px-hero.warm .px-crumb a{color:rgba(244,238,230,.62)}
.px-hero.warm .px-crumb a:hover{color:var(--px-gold-l)}
.px-hero.warm .px-sub strong{color:var(--w-offw)!important}
.px-hero.warm .btn-outline{color:var(--w-offw);border-color:rgba(244,238,230,.5)}
.px-hero.warm .btn-outline:hover{background:var(--w-offw);color:var(--ink)}
.px-hero.warm .btn-primary{background:var(--px-gold);border-color:var(--px-gold);color:#fff}
.px-rib.warm{background:var(--w-taupe)}
.px-rib.warm .px-rib-btn{background:transparent;color:var(--w-offw);border-color:rgba(244,238,230,.3)}
.px-rib.warm .px-rib-btn:hover{border-color:var(--px-gold-l)}
.px-rib.warm .px-rib-bar::before{background:rgba(244,238,230,.22)}
.px-rib.warm .px-rib-bar span{background:var(--w-offw)}
.px-rib.warm .px-rib-text{background:var(--w-sand);color:var(--ink)}
.px-rib.warm .px-rib-text small{color:#7E5F2A}
.px-rib.warm .px-rib-view:focus-visible{box-shadow:inset 0 0 0 2px var(--px-gold-l)}
.px-sec.paper{background:var(--w-paper)}
.px-sec.sandl{background:var(--w-sand-l)}
/* Barre de progression navigable : zone de saisie haute, trait fin */
.px-rib-bar{height:28px!important;background:none!important;overflow:visible!important;cursor:pointer;touch-action:none;position:relative;border-radius:2px}
.px-rib-bar::before{content:'';position:absolute;left:0;right:0;top:50%;height:1px;background:var(--px-line)}
.px-rib-bar span{top:50%!important;margin-top:-2px;height:4px!important;border-radius:2px;cursor:grab;transition:none!important}
.px-rib-bar:hover span,.px-rib-bar.drag span{height:6px!important;margin-top:-3px}
.px-rib-bar.drag span{cursor:grabbing}
.px-rib-bar:focus-visible{outline:2px solid var(--px-gold);outline-offset:2px}
.px-rib.dark .px-rib-bar::before{background:var(--px-line-d)}
/* Avis (3 cartes, défilement horizontal sur mobile) */
.px-avis{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(1rem,2.5vw,2rem)}
.px-avis figure{margin:0;background:var(--w-paper);padding:1.5rem 1.4rem;border-top:1px solid var(--px-gold);display:flex;flex-direction:column;justify-content:space-between}
.px-avis .st{color:var(--px-gold);letter-spacing:.12em;font-size:.8rem;margin-bottom:.7rem}
.px-avis blockquote{margin:0;font-family:'Cormorant Garamond',serif;font-style:italic;font-size:1.18rem;line-height:1.45;color:var(--ink)}
.px-avis figcaption{margin-top:1rem;font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:#6b6258}
.px-avis-more{margin-top:1.4rem;font-size:.88rem;color:var(--muted)}
.px-avis-more a{color:var(--gold-h);font-weight:600}
@media(max-width:860px){
  .px-avis{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;margin-left:calc((100% - 100vw)/2);margin-right:calc((100% - 100vw)/2);padding:0 calc((100vw - 100%)/2) .3rem;gap:.9rem}
  .px-avis::-webkit-scrollbar{display:none}
  .px-avis figure{flex:0 0 82%;scroll-snap-align:center}
}
/* Contact : coordonnées en vraie grille 2 × 2 */
.px-info .px-cells{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid rgba(28,25,22,.18)}
.px-info .px-cell{padding:1.2rem 1.2rem 1.2rem 0;border-bottom:1px solid rgba(28,25,22,.18)}
.px-info .px-cell:nth-child(2n){padding-left:1.2rem;padding-right:0;border-left:1px solid rgba(28,25,22,.18)}
.px-info .px-cell svg{width:18px;height:18px;color:#7E5F2A;display:block;margin-bottom:.55rem}
.px-info>.px-cells{max-width:none}
.px-info .px-note-rdv{margin-top:1.2rem;font-size:.86rem;line-height:1.6;color:#3d3730;max-width:none}
@media(max-width:1100px){.px-cgrid{grid-template-columns:1fr!important}.px-form,.px-info{padding-left:max(1.25rem,4%)!important;padding-right:max(1.25rem,4%)!important}.px-info>*{max-width:none!important}}
.px-cgrid{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr)}
.px-info>*{max-width:560px}
@media(max-width:560px){.px-info .px-cells{grid-template-columns:1fr}.px-info .px-cell,.px-info .px-cell:nth-child(2n){padding:1.1rem 0;border-left:0}}

/* ══ v4c — taupe-anthracite (référence : hero Contact #463F37), bandeau + ruban raccordés ══
   Haut et bords plus foncés, centre très légèrement plus lumineux, vignettage subtil, jamais de noir pur. */
:root{--w-band:#3F3832}
.px-rib.warm{background:var(--w-band)}
.px-hero.warm{position:relative;isolation:isolate;background-color:var(--w-band);
  background-image:
    radial-gradient(ellipse 60% 64% at 50% 44%,rgba(255,250,242,.085) 0%,rgba(255,250,242,.04) 42%,rgba(255,250,242,0) 72%),
    radial-gradient(ellipse 120% 175% at 50% 100%,rgba(18,16,14,0) 44%,rgba(18,16,14,.42) 100%),
    linear-gradient(180deg,#2C2825 0%,#3A342F 42%,var(--w-band) 100%)}
.px-hero.warm h1{text-shadow:0 1px 18px rgba(0,0,0,.18)}
.px-hero.warm .px-sub{color:rgba(244,238,230,.84)}

/* ══ v4 — Iris : miniatures centrées sous la grande image ══ */
.px-show .px-bar{display:grid;grid-template-columns:minmax(3.6rem,1fr) auto minmax(3.6rem,1fr);align-items:center;gap:1.2rem}
.px-show .px-count{grid-column:1;justify-self:start}
.px-show .px-thumbs{grid-column:2;justify-self:center;max-width:100%;min-width:0;gap:.5rem}
.px-show .px-thumbs button:first-child{margin-left:auto}
.px-show .px-thumbs button:last-child{margin-right:auto}
@media(max-width:760px){
  .px-show .px-bar{grid-template-columns:minmax(0,1fr);gap:.7rem;justify-items:center}
  .px-show .px-count{grid-column:1;justify-self:center;min-width:0;text-align:center}
  .px-show .px-thumbs{display:flex;grid-column:1;width:100%;justify-self:stretch;overscroll-behavior-x:contain;scroll-padding:0 1rem}
  .px-show .px-thumbs button,.px-show .px-thumbs button img{height:40px}
}

/* ══ v4 — Couple : formules, déroulement, demande de date ══ */
.px-cf-head{max-width:46rem;margin-bottom:2.2rem}
.px-cf-head .px-lede{color:rgba(255,255,255,.68);line-height:1.7;margin:0}
.px-cf{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.2rem}
.px-cf-card{display:flex;flex-direction:column;border:1px solid var(--px-line-d);padding:1.8rem 1.6rem 1.6rem;background:rgba(255,255,255,.025)}
.px-cf-card h3{font-size:2rem;font-weight:300;margin:0;color:#fff}
.px-cf-meta{font-size:.84rem;color:rgba(255,255,255,.6);margin:.35rem 0 0}
.px-cf-price{font-family:'Cormorant Garamond',serif;font-size:2.6rem;font-weight:500;color:var(--px-gold-l);line-height:1;margin:1.1rem 0 1.2rem}
.px-cf-card ul{list-style:none;margin:0 0 1.2rem;padding:0;border-top:1px solid var(--px-line-d);flex:1}
.px-cf-card li{padding:.6rem 0;border-bottom:1px solid var(--px-line-d);font-size:.92rem;line-height:1.5;color:rgba(255,255,255,.84)}
.px-cf-card li strong{color:#fff;font-weight:600}
.px-cf-card li .d{display:block;font-size:.8rem;color:rgba(255,255,255,.6);margin-top:.3rem;line-height:1.55}
.px-cf-dep{font-size:.82rem;color:rgba(255,255,255,.62);margin:0 0 1rem}
.px-cf-go{align-self:flex-start}
.px-cf-opts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.2rem 3rem;margin-top:2.4rem;padding-top:1.8rem;border-top:1px solid var(--px-line-d)}
.px-cf-opts h3{font-size:1.45rem;font-weight:300;margin:0 0 .5rem}
.px-cf-opts p{font-size:.9rem;line-height:1.65;color:rgba(255,255,255,.7);margin:0}
.px-cf-meteo{font-size:.95rem;line-height:1.65;margin:1.2rem 0 0;padding:1rem 1.1rem;background:var(--w-paper);border-left:2px solid var(--px-gold)}
.px-cdem{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(2rem,5vw,4.5rem);align-items:start}
.px-cdem .px-lede{color:var(--muted);line-height:1.7}
.px-csum{margin-top:1.6rem;padding:1.3rem 1.3rem 1.1rem;background:var(--w-sand-l);border-top:1px solid var(--px-gold)}
.px-csum .l{display:block;font-size:.66rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--gold-h);margin-bottom:.5rem}
.px-csum p{margin:0 0 .35rem;font-size:.95rem}
.px-csum #cp-sum-f{font-weight:600}
.px-csum .t b{font-family:'Cormorant Garamond',serif;font-size:1.35rem;font-weight:500;color:var(--gold-h)}
.px-csum .s{font-size:.8rem;color:var(--muted);margin-top:.5rem;line-height:1.55}
.px-form.px-cform{background:none;padding:0}
.px-form.px-cform>*{max-width:none}
.px-cform select:disabled{opacity:.7}
@media(max-width:980px){.px-cf{grid-template-columns:minmax(0,1fr)}.px-cf-opts{grid-template-columns:minmax(0,1fr)}.px-cdem{grid-template-columns:minmax(0,1fr)}}
@media(max-width:520px){.px-form.px-cform .fg2{grid-template-columns:minmax(0,1fr)}.px-cf-card{padding:1.5rem 1.2rem 1.3rem}}
#couple-formules,#couple-demande,#couple-deroulement{scroll-margin-top:calc(var(--nav-h) - 1.5rem)}

/* ── Contact : aperçu de carte local (OpenStreetMap) avant consentement — 28/09/2026 ── */
.px-map{height:auto}
.px-map iframe{height:420px}
.px-map #mapsPlaceholder.pm{position:relative;inset:auto;display:block;padding:0;background:#EEE6D8;text-align:left;gap:0}
.pm-view{position:relative;height:420px;overflow:hidden;background:#EEE6D8}
.pm-view img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 50%}
.pm-pin{position:absolute;left:50%;top:50%;transform:translate(-15px,-40px);display:flex;align-items:flex-start;gap:.45rem;pointer-events:none;z-index:2}
.pm-pin svg{filter:drop-shadow(0 3px 5px rgba(28,25,22,.35));flex-shrink:0}
.pm-tag{margin-top:.35rem;background:#3F3832;color:#F7F1E6;font-size:.82rem;font-weight:600;letter-spacing:.02em;padding:.32rem .65rem;border-radius:3px;white-space:nowrap;box-shadow:0 4px 12px rgba(28,25,22,.22)}
.px-map #mapsPlaceholder .pm-hit{position:absolute;inset:0;width:100%;height:100%;background:transparent;border:0;padding:0;margin:0;cursor:pointer;z-index:1;letter-spacing:0}
.px-map #mapsPlaceholder .pm-hit:hover{background:rgba(63,56,50,.05)}
.px-map #mapsPlaceholder .pm-hit:focus-visible{outline:3px solid #9A7338;outline-offset:-3px}
.pm-attr{position:absolute;right:0;bottom:0;z-index:2;background:rgba(250,247,241,.88);color:#5a5047;font-size:.7rem;padding:.2rem .5rem}
.pm-attr a{color:inherit;text-decoration:underline}
.pm-card{position:absolute;left:clamp(1rem,4vw,3rem);bottom:1.6rem;z-index:3;max-width:25rem;background:rgba(253,251,247,.97);border:1px solid rgba(63,56,50,.12);box-shadow:0 14px 34px rgba(28,25,22,.14);padding:1.1rem 1.25rem 1rem;display:flex;flex-direction:column;gap:.45rem}
.px-map #mapsPlaceholder .pm-card strong{font-family:'Cormorant Garamond',serif;font-size:1.35rem;font-weight:500;color:var(--ink);line-height:1.1}
.px-map #mapsPlaceholder .pm-card .adr{color:#3d3730;font-size:.9rem;line-height:1.4}
.px-map #mapsPlaceholder .pm-card .pm-btn{align-self:flex-start;margin-top:.3rem;background:transparent;color:var(--ink);border:1px solid rgba(63,56,50,.45);padding:.6rem .95rem;font-size:.74rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;min-height:40px;transition:background .2s,color .2s}
.px-map #mapsPlaceholder .pm-card .pm-btn:hover{background:#3F3832;color:#fff}
.px-map #mapsPlaceholder .pm-card .pm-btn:focus-visible{outline:2px solid #9A7338;outline-offset:3px}
.px-map #mapsPlaceholder .pm-card small{font-size:.7rem;line-height:1.45;color:#6a6158;max-width:none}
@media(max-width:900px){
  .px-map iframe,.pm-view{height:340px}
  .pm-card{position:static;max-width:none;box-shadow:none;border:0;border-top:1px solid rgba(63,56,50,.1);padding:1rem 1.25rem 1.2rem}
  .px-map #mapsPlaceholder .pm-card .pm-btn{align-self:stretch;text-align:center}
}
