/* == socle : 10-base.css == */
/* Swixim - socle de la charte (couleurs, typo, composants) */
*{box-sizing:border-box;margin:0;padding:0}
:root{
  --ink:#111111; --ink2:#3A3A3A; --ink3:#6B6B6B;
  --red:#E30613; --red-d:#B00410;
  --line:#E4E4E4; --ground:#F8F8F8; --white:#FFFFFF;
  --r:18px; --r-lg:24px;
  --sh:0 20px 50px rgba(0,0,0,.06);
  --sh-red:0 14px 34px rgba(227,6,19,.28);
}
body.swxnv{background:var(--white);color:var(--ink);
  font:400 16px/1.65 Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased}
.swxnv h1,.swxnv h2,.swxnv h3,.swxnv h4{font-family:'Lora',Georgia,serif;font-weight:600;
  line-height:1.14;letter-spacing:-.01em}
.wrap{width:100%;max-width:1200px;margin:0 auto;padding:0 20px}
.swxnv a{color:inherit}
.swxnv img{max-width:100%;height:auto}
*{min-width:0}
.btn{display:inline-flex;align-items:center;gap:10px;font-family:'Montserrat',sans-serif;
  font-weight:600;font-size:14.5px;letter-spacing:.02em;padding:16px 30px;border-radius:999px;
  text-decoration:none;border:1.5px solid transparent;white-space:nowrap;cursor:pointer}
.btn-sm{padding:12px 22px;font-size:13.5px}
/* La couleur des boutons doit battre la regle .swxnv a{color:inherit}, qui est
   plus specifique qu'une simple classe. Sans ce prefixe, un bouton noir herite
   du texte noir de sa section et devient illisible. */
.swxnv .btn-red{background:var(--red);color:#fff;box-shadow:var(--sh-red)}
.swxnv .btn-dark{background:var(--ink);color:#fff}
.swxnv .btn-ghost{background:transparent;border-color:rgba(255,255,255,.55);color:#fff}
.swxnv .btn-line{border-color:var(--ink);color:var(--ink);background:#fff}
.swxnv .btn-w{background:#fff;color:var(--ink)}
/* sur le bandeau rouge, le contour blanc seul se voit mal : on passe au noir plein */
.swxnv .band .btn-ghost{background:var(--ink);border-color:var(--ink);color:#fff}
.swxnv .band .btn-w{background:#fff;color:var(--ink)}

.eyebrow{font-family:'Montserrat',sans-serif;font-weight:600;font-size:11.5px;
  letter-spacing:.2em;text-transform:uppercase;color:var(--red);display:block}
.eyebrow.on-dark{color:#FF6B73}
.src{font-size:11.5px;line-height:1.5;color:var(--ink3)}
.src.on-dark{color:rgba(255,255,255,.5)}
.sx{width:1em;height:1em;fill:currentColor;display:block;flex:0 0 auto}

/* bandeau page sombre */
.phead{background:var(--ink);color:#fff;padding:66px 0 74px;position:relative;overflow:hidden}
.phead:before{content:"";position:absolute;width:680px;height:680px;right:-220px;top:-300px;
  border-radius:50%;background:radial-gradient(circle,rgba(227,6,19,.28),transparent 66%)}
.phead .wrap{position:relative}
.crumb{font-size:12.5px;color:rgba(255,255,255,.52);margin-bottom:20px}
.crumb a{text-decoration:none}
.phead h1{font-size:50px;margin:14px 0 18px;max-width:830px}
.phead .lead{font-size:18.5px;line-height:1.7;color:rgba(255,255,255,.80);max-width:740px}
.phead .cta{display:flex;gap:14px;margin-top:32px;flex-wrap:wrap}
.pills{display:flex;gap:10px;flex-wrap:wrap;margin-top:32px}
.pill{border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.055);
  border-radius:999px;padding:9px 18px;font-size:13.5px;color:rgba(255,255,255,.88)}
.pill b{color:#fff}

/* tuiles chiffrees */
.tiles{display:grid;gap:20px}
.tiles.c4{grid-template-columns:repeat(4,1fr)}
.tiles.c3{grid-template-columns:repeat(3,1fr)}
.tiles.c2{grid-template-columns:repeat(2,1fr)}
.tile{border:1px solid var(--line);border-radius:var(--r);padding:26px 24px 22px;background:#fff}
.tile .k{font-family:'Lora',Georgia,serif;font-weight:600;font-size:38px;line-height:1;letter-spacing:-.02em}
.tile .u{font-size:15px;color:var(--ink2);margin-top:9px;font-weight:700}
.tile .d{font-size:13.5px;color:var(--ink3);margin-top:5px;line-height:1.55}
.tile .s{font-size:11px;color:var(--ink3);margin-top:14px;padding-top:12px;border-top:1px solid var(--line)}
.tile.accent{background:rgba(227,6,19,.055);border-color:rgba(227,6,19,.22)}
.tile.accent .k{color:var(--red-d)}
.tile.dark{background:var(--ink);border-color:var(--ink);color:#fff}
.tile.dark .u{color:rgba(255,255,255,.9)} .tile.dark .d{color:rgba(255,255,255,.62)}
.tile.dark .s{color:rgba(255,255,255,.45);border-top-color:rgba(255,255,255,.16)}

/* carte generique */
.card{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:30px;box-shadow:var(--sh)}
.card h3{font-size:22px;margin-bottom:6px}
.card .cs{font-size:14px;color:var(--ink2);margin-bottom:22px}
.callout{margin-top:22px;background:var(--ground);border-left:3px solid var(--red);
  border-radius:0 12px 12px 0;padding:15px 18px;font-size:14px;color:var(--ink2)}
.callout b{color:var(--ink)}

/* barres */
.bar{margin-bottom:20px}
.bar .lb{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:8px;gap:14px}
.bar .lb .n{font-family:'Montserrat',sans-serif;font-weight:600;font-size:13.5px}
.bar .lb .v{font-family:'Lora',Georgia,serif;font-weight:600;font-size:21px;white-space:nowrap}
.bar .tr{height:16px;background:#EFEFEF;border-radius:0 8px 8px 0}
.bar .fl{height:16px;border-radius:0 8px 8px 0}
.bar .fl.a{background:var(--red)} .bar .fl.b{background:var(--ink)}
.bar .fl.c{background:var(--ink);opacity:.42}
.bar .nt{font-size:12.5px;color:var(--ink3);margin-top:6px}

/* lignes cle / valeur */
.row{display:flex;align-items:baseline;justify-content:space-between;gap:20px;
  padding:16px 0;border-bottom:1px solid var(--line)}
.row:last-of-type{border-bottom:0}
.row .l{font-size:15px;color:var(--ink2)}
.row .l b{display:block;color:var(--ink);font-size:16px;font-weight:700}
.row .r{font-family:'Lora',Georgia,serif;font-weight:600;font-size:25px;white-space:nowrap}
.row .r small{font-family:Helvetica,Arial,sans-serif;font-size:13px;font-weight:400;color:var(--ink3)}

/* champs de formulaire */
.fld{margin-bottom:12px}
.fld label{display:block;font-family:'Montserrat',sans-serif;font-weight:600;font-size:11.5px;
  letter-spacing:.09em;text-transform:uppercase;color:var(--ink3);margin-bottom:6px}
.fld .inp{border:1.5px solid var(--line);border-radius:12px;min-height:46px;display:flex;
  align-items:center;padding:12px 14px;font-size:15px;color:var(--ink3);background:var(--ground)}
.two{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.three{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px}

/* cartes annonces */
.lgrid{display:grid;gap:24px}
.lgrid.c3{grid-template-columns:repeat(3,1fr)} .lgrid.c4{grid-template-columns:repeat(4,1fr)}
.lc{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--sh)}
.lc .ph{height:210px;position:relative;background:#D8DCDF;background-size:cover;background-position:center}
.lc .ph .tag{position:absolute;top:14px;left:14px;background:var(--red);color:#fff;
  font-family:'Montserrat',sans-serif;font-weight:600;font-size:10.5px;letter-spacing:.11em;
  text-transform:uppercase;padding:7px 13px;border-radius:999px}
.lc .ph .ct{position:absolute;bottom:14px;left:14px;background:rgba(17,17,17,.82);color:#fff;
  font-size:12.5px;padding:6px 12px;border-radius:999px}
.lc .bd{padding:22px 22px 24px}
.lc h3{font-size:18.5px;line-height:1.3;margin-bottom:10px}
.lc .px{font-family:'Lora',Georgia,serif;font-weight:600;font-size:24px;margin-bottom:4px}
.lc .pm{font-size:12.5px;color:var(--ink3);margin-bottom:15px}
.lc .fx{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:16px}
.lc .fx span{background:var(--ground);border:1px solid var(--line);border-radius:999px;
  padding:6px 11px;font-size:12px;color:var(--ink2)}
.lc .mt{display:flex;align-items:center;justify-content:space-between;margin-bottom:15px}
.ref{font-size:11px;color:var(--ink3);font-family:'Montserrat',sans-serif;letter-spacing:.06em}
.lc .btn{width:100%;justify-content:center;padding:13px 20px}

/* pastille conseiller */
.agent{display:flex;align-items:center;gap:12px}
.agent .av{width:44px;height:44px;border-radius:50%;background:#D8DCDF;background-size:cover;
  background-position:center top;flex:0 0 auto}
.agent .nm{font-family:'Lora',Georgia,serif;font-weight:600;font-size:15px}
.agent .rl{font-size:12px;color:var(--ink3)}

/* questions frequentes */
.qa{border-bottom:1px solid var(--line);padding:21px 0}
.qa:first-of-type{border-top:1px solid var(--line)}
.qa h4{font-size:18px;display:flex;justify-content:space-between;gap:20px;align-items:flex-start;cursor:pointer}
.qa h4 .x{color:var(--red);font-size:22px;line-height:1;flex:0 0 auto}
.qa p{font-size:14.5px;line-height:1.72;color:var(--ink2);margin-top:10px;max-width:700px}

/* bandeau d'appel a l'action */
.band{background:var(--red);color:#fff;padding:60px 0}
.band .wrap{display:flex;align-items:center;justify-content:space-between;gap:48px}
.band h2{font-size:34px;max-width:640px}
.band p{font-size:16px;color:rgba(255,255,255,.90);margin-top:11px;max-width:620px}
.band.dark{background:var(--ink)}

/* pied de page */
.ft{background:var(--ink);color:rgba(255,255,255,.62);padding:58px 0 32px;font-size:14px}
.fgr{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px;padding-bottom:36px;
  border-bottom:1px solid rgba(255,255,255,.14)}
.ft h5{font-family:'Montserrat',sans-serif;font-weight:700;font-size:11.5px;letter-spacing:.17em;
  text-transform:uppercase;color:#fff;margin-bottom:15px}
.ft a{color:rgba(255,255,255,.62);text-decoration:none;display:block;padding:5px 0}
.ft .bt{padding-top:24px;display:flex;justify-content:space-between;font-size:12.5px;
  color:rgba(255,255,255,.42)}

/* sections */
.sec{padding:76px 0 82px}
.sec.ground{background:var(--ground);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.sec.dark{background:var(--ink);color:#fff}
.sec.dark h2{color:#fff}
.sec h2{font-size:37px;margin:14px 0 12px}
.sec .sub{font-size:16.5px;color:var(--ink2);max-width:700px;margin-bottom:36px}
.sec.dark .sub{color:rgba(255,255,255,.72)}
.hd{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;margin-bottom:32px}

/* emplacement photo en attendant les vraies images */
.pph{position:relative;overflow:hidden;
  background:linear-gradient(170deg,#2B3A44 0%,#4A5C68 42%,#8C9AA3 78%,#C6CED3 100%)}
.pph:before{content:"";position:absolute;inset:0;
  background:
    linear-gradient(115deg,transparent 46%,rgba(255,255,255,.14) 47%,transparent 49%),
    linear-gradient(200deg,transparent 58%,rgba(255,255,255,.10) 59%,transparent 62%),
    radial-gradient(circle at 74% 18%,rgba(255,255,255,.22),transparent 42%)}
.pph:after{content:"";position:absolute;left:-6%;right:-6%;bottom:-14%;height:62%;
  background:#1B262E;opacity:.55;
  clip-path:polygon(0 66%,11% 40%,21% 55%,33% 22%,44% 46%,55% 26%,68% 52%,79% 33%,90% 58%,100% 40%,100% 100%,0 100%)}
.pph .lbl{position:absolute;bottom:10px;right:10px;z-index:3;background:rgba(17,17,17,.80);
  color:#fff;font-family:'Montserrat',sans-serif;font-weight:600;font-size:9.5px;
  letter-spacing:.11em;text-transform:uppercase;padding:5px 9px;border-radius:6px}
.pph .tag,.pph .ct{z-index:3}

/* portraits : cercle uniforme, noir et blanc, couleur au survol */
.pf{border-radius:50%;overflow:hidden;position:relative;flex:0 0 auto;background:#D8DCDF;
  filter:grayscale(1) contrast(1.05) brightness(1.02);
  transition:filter .5s ease, transform .5s ease}
.pf:hover{filter:grayscale(0) contrast(1) brightness(1)}
.pf img{width:100%;height:100%;object-fit:cover;object-position:center 22%;display:block}
.pf.ring{box-shadow:0 0 0 1px rgba(17,17,17,.12), 0 16px 38px rgba(0,0,0,.14)}
.pf.ring-d{box-shadow:0 0 0 1px rgba(255,255,255,.22), 0 20px 46px rgba(0,0,0,.42)}
.pf .lbl{bottom:auto;right:auto;left:50%;top:50%;transform:translate(-50%,-50%);
  text-align:center;white-space:nowrap}
.agent .av,.author .av{filter:grayscale(1) contrast(1.05);transition:filter .5s ease}
.agent:hover .av,.author:hover .av{filter:grayscale(0) contrast(1)}
@media (prefers-reduced-motion:reduce){ .pf{transition:none} }

/* == socle : 20-app.css == */
/* Swixim - en-tete, tiroir mobile, mouvement, adaptation telephone */

/* bandeau "version de travail" (retire a la mise en ligne) */
.nvbar{position:sticky;top:0;z-index:200;background:#0B1116;color:#fff;padding:9px 0;
  font-size:13px;line-height:1.45}
.nvbar .wrap{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.nvbar b{color:#fff}
.nvbar span{color:rgba(255,255,255,.62)}

/* en-tete */
.appnav{position:sticky;top:0;z-index:150;background:rgba(17,17,17,.97);color:#fff;
  backdrop-filter:saturate(1.4) blur(8px);padding:20px 0;
  transition:padding .32s cubic-bezier(.22,.7,.26,1),box-shadow .32s cubic-bezier(.22,.7,.26,1)}
.nvbar + .appnav{top:41px}
.appnav.small{padding:10px 0;box-shadow:0 8px 28px rgba(0,0,0,.3)}
.appnav .wrap{display:flex;align-items:center;gap:26px}
.appnav .logo{display:flex;align-items:center;text-decoration:none}
.appnav .logo img{height:34px;width:auto;display:block;transition:height .3s cubic-bezier(.22,.7,.26,1)}
.appnav.small .logo img{height:27px}
.appnav nav{display:flex;gap:22px;font-size:14.5px}
.appnav nav a{color:rgba(255,255,255,.82);text-decoration:none;padding-bottom:3px;
  border-bottom:2px solid transparent;transition:color .2s,border-color .2s}
.appnav nav a:hover{color:#fff}
.appnav nav a.on{color:#fff;border-bottom-color:var(--red)}
.appnav .sp{margin-left:auto;display:flex;align-items:center;gap:14px}
.appnav .tel{font-family:'Montserrat',sans-serif;font-weight:600;font-size:14px;
  color:#fff;text-decoration:none}
.burger{display:none;width:46px;height:46px;border:1px solid rgba(255,255,255,.28);
  background:transparent;border-radius:12px;cursor:pointer;padding:0;
  align-items:center;justify-content:center;flex-direction:column;gap:5px}
.burger i{display:block;width:19px;height:2px;background:#fff;transition:transform .3s,opacity .3s}
.burger.x i:nth-child(1){transform:translateY(7px) rotate(45deg)}
.burger.x i:nth-child(2){opacity:0}
.burger.x i:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* tiroir mobile */
.drawer{position:fixed;inset:0;z-index:180;background:rgba(17,17,17,.985);color:#fff;
  padding:88px 22px 40px;overflow-y:auto;opacity:0;pointer-events:none;
  transform:translateY(-10px);transition:opacity .3s,transform .3s}
.drawer.open{opacity:1;pointer-events:auto;transform:none}
.drawer img{height:30px;width:auto;margin-bottom:26px;display:block}
.drawer a{display:block;font-family:'Lora',Georgia,serif;font-size:21px;padding:13px 0;
  color:#fff;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.1)}
.drawer .btn{margin-top:24px;width:100%;justify-content:center;border-bottom:0}
.drawer .close{position:absolute;top:22px;right:22px;width:46px;height:46px;
  border-radius:50%;border:1px solid rgba(255,255,255,.28);background:transparent;
  color:#fff;font-size:22px;cursor:pointer;line-height:1}

/* mouvement : sobre, pilote par le defilement, coupe si l'utilisateur le demande */
.rv{opacity:0;transform:translateY(20px);
  transition:opacity .66s cubic-bezier(.22,.7,.26,1),transform .66s cubic-bezier(.22,.7,.26,1)}
.rv.in{opacity:1;transform:none}
.bar .fl{width:0;transition:width 1.1s cubic-bezier(.22,.7,.26,1)}
.tile,.lc,.card,.sc,.why,.qtr .q,.ac,.fac,.rev{
  transition:transform .38s cubic-bezier(.22,.7,.26,1),box-shadow .38s cubic-bezier(.22,.7,.26,1)}
.tile:hover,.lc:hover,.sc:hover,.why:hover,.qtr .q:hover,.ac:hover,.fac:hover{
  transform:translateY(-6px);box-shadow:0 22px 46px rgba(0,0,0,.11)}
.lc .ph{overflow:hidden}
.lc .ph.pph{transition:transform 1s cubic-bezier(.22,.7,.26,1)}
.lc:hover .ph.pph{transform:scale(1.06)}
.btn{transition:transform .28s cubic-bezier(.22,.7,.26,1),box-shadow .28s,background .22s,color .22s}
.btn:hover{transform:translateY(-3px)}
.btn:active{transform:translateY(0)}
.qa .bdy{max-height:0;overflow:hidden;transition:max-height .45s cubic-bezier(.22,.7,.26,1)}
.qa h4{transition:color .2s}
.qa h4:hover{color:var(--red-d)}
.qa h4 .x{transition:transform .35s cubic-bezier(.22,.7,.26,1)}
.qa.open h4 .x{transform:rotate(45deg)}

/* pictogrammes */
.ic{color:var(--red);display:flex;align-items:center;justify-content:center;font-size:0}
.ic .sx{width:22px;height:22px}
.why .ic,.fac .ic{background:rgba(227,6,19,.08)}
.infocard .ic{color:#fff;background:rgba(255,255,255,.1)}
.infocard .ic .sx{width:19px;height:19px}
.fac .ic.num{font-family:'Lora',Georgia,serif;font-weight:600;font-size:19px;
  letter-spacing:-.02em;color:var(--red-d);background:rgba(227,6,19,.08)}

/* equipements d'une commune */
.amen{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.amen .a{border:1px solid var(--line);border-radius:var(--r);padding:24px 20px;background:#fff;text-align:center}
.amen .a .sx{width:44px;height:44px;margin:0 auto 14px;color:var(--red)}
.amen .a h4{font-size:16.5px;margin-bottom:6px}
.amen .a p{font-size:13.5px;color:var(--ink2);line-height:1.6}

/* tableaux larges : defilement dans leur cadre plutot qu'elargir la page */
.tscroll{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:0 -2px;padding:0 2px;
  border-radius:var(--r)}
.tscroll table{min-width:560px}


/* entre 820 et 1180 px, huit entrees de menu plus le telephone ne tiennent pas :
   on resserre et on retire le numero, qui reste dans le pied de page et le tiroir. */
@media (max-width:1180px){
  .appnav .tel{display:none}
  .appnav nav{gap:15px;font-size:13.5px}
  .appnav .wrap{gap:18px}
}
@media (max-width:980px){
  .appnav nav{gap:12px;font-size:13px}
}

/* ==========================================================================
   ADAPTATION TELEPHONE
   ========================================================================== */
.swxnv h1,.swxnv h2,.swxnv h3,.swxnv h4,.swxnv p,.swxnv span,.swxnv div,.swxnv td,.swxnv th{overflow-wrap:break-word}

@media (max-width:1080px){
  .split,.hero2,.book,.csplit,.asplit,.alert,.nl,.rec,.backed,.seo,.twocol,.agrid,.feat,
  .hero .wrap,.fgrid,.pgrid,.vs,.legal,.intl,.enbox,.first,.cols,.big2{grid-template-columns:1fr!important}
  .enbox,.first{gap:20px!important}
  .filt{grid-template-columns:1fr 1fr!important}
  .sold,.wgrid,.tgrid,.near,.revs,.whyme,.vals,.qtr,.fgrid6,.tiles.c4,.tiles.c3,
  .lgrid.c3,.lgrid.c4{grid-template-columns:repeat(2,1fr)!important}
  .fgr{grid-template-columns:1fr 1fr!important}
  .sec h2{font-size:31px}
  .phead h1{font-size:38px!important}
  .hero h1{font-size:40px!important}
  [style*="grid-template-columns"]{grid-template-columns:1fr!important}
}
@media (max-width:820px){
  .appnav nav,.appnav .tel{display:none}
  .burger{display:flex}
  .appnav .sp .btn{display:none}
  .sec{padding:52px 0 58px!important}
  .phead{padding:44px 0 52px!important}
  .hero{padding:48px 0 58px!important}
  .hd{flex-direction:column;align-items:flex-start;gap:18px}
  .band .wrap{flex-direction:column;align-items:flex-start;gap:22px}
  .band h2{font-size:26px}
  .amen{grid-template-columns:repeat(2,1fr)}
  .toc{position:static!important}
  .cside{position:static!important}
  [style*="flex:0 0 auto"]{flex:1 1 auto!important;min-width:0}
  .band [style*="display:flex"]{width:100%}
  .tscroll{box-shadow:inset -14px 0 14px -14px rgba(0,0,0,.22)}
  .tscroll table{margin-bottom:0}
  .hero:before,.phead:before{width:420px!important;height:420px!important;
    right:-190px!important;top:-210px!important}
}
@media (max-width:620px){
  .wrap{padding:0 16px}
  .appnav .logo img{height:26px}
  .appnav.small .logo img{height:23px}
  .tiles.c4,.tiles.c3,.tiles.c2,.lgrid.c3,.lgrid.c4,.sold,.wgrid,.tgrid,.near,.revs,
  .whyme,.vals,.qtr,.fgrid6,.filt,.fgr,.three,.two,.duo,.amen{grid-template-columns:1fr!important}
  .sec h2{font-size:26px}
  .phead h1{font-size:29px!important}
  .hero h1{font-size:30px!important}
  .sec .sub,.phead .lead,.hero .lead{font-size:15.5px!important}
  .tile .k{font-size:33px}
  .card,.estim,.formcard,.cal,.agcard,.infocard{padding:22px 18px!important}
  .btn{width:100%;justify-content:center;padding:15px 20px}
  .cta,.acts{flex-direction:column;width:100%}
  .cta .btn,.acts .btn{width:100%}
  .fld .inp{min-height:52px;font-size:16px}
  .bar .lb{flex-wrap:wrap;gap:4px}
  .row{flex-direction:column;align-items:flex-start;gap:6px}
  .row .r{font-size:21px;white-space:normal}
  .intl,.backed,.rec,.alert,.nl{padding:26px 20px!important}
  .qa h4{font-size:16.5px}
  .lc .ph{height:190px!important}
  .nvbar span{display:none}
  [style*="display:flex"]{flex-direction:column!important;width:100%!important;align-items:stretch!important}
  [style*="display:flex"] .btn{width:100%}
  [style*="min-width:"]{min-width:0!important}
  [style*="max-width:"]{max-width:100%!important}
  .hero:before,.phead:before{width:320px!important;height:320px!important;
    right:-150px!important;top:-170px!important;opacity:.85}
  .pf .lbl,.port .lbl{font-size:8px;padding:4px 6px;letter-spacing:.06em;max-width:88%;
    white-space:normal;text-align:center;line-height:1.3}
}
@media (max-width:900px){ .legal .row .r{white-space:normal} }
@media (prefers-reduced-motion:reduce){
  .rv{opacity:1;transform:none}
  *,*:before,*:after{transition-duration:.001ms!important;animation-duration:.001ms!important}
}

/* == socle : 30-sim.css == */
/* Swixim - simulateur de financement (tout est scope sous .sim) */
.simwrap{border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;background:#fff;
  box-shadow:var(--sh)}
.simwrap>.simhd{padding:22px 26px;border-bottom:1px solid var(--line);display:flex;
  align-items:center;gap:14px;flex-wrap:wrap}
.simwrap>.simhd h3{font-size:22px;margin:0}
.simwrap>.simhd .simtag{font-family:'Montserrat',sans-serif;font-weight:600;font-size:10.5px;
  letter-spacing:.12em;text-transform:uppercase;color:var(--ink3);margin-left:auto;
  display:flex;align-items:center;gap:6px}
.sim{display:grid;grid-template-columns:1fr 1fr;background:#fff}
.sim .in{padding:26px;border-right:1px solid var(--line)}
.sim .out{padding:26px;background:var(--ground)}
.sim .grp{border-bottom:1px solid var(--line);padding-bottom:16px;margin-bottom:16px}
.sim .grp:last-child{border-bottom:0;padding-bottom:0;margin-bottom:0}
.sim .grp>.gt{font-family:'Montserrat',sans-serif;font-weight:700;font-size:10.5px;
  letter-spacing:.14em;text-transform:uppercase;color:var(--ink);margin-bottom:12px}
.sim .fld{margin-bottom:13px;padding:0;border:0;background:none}
.sim .fld:last-child{margin-bottom:0}
.sim .fld label{display:flex;justify-content:space-between;align-items:baseline;font-size:13.5px;
  color:var(--ink2);margin-bottom:6px;gap:10px;font-weight:400;text-transform:none;letter-spacing:0}
.sim .fld label b{font-family:'Lora',Georgia,serif;font-weight:600;font-size:15.5px;color:var(--ink);
  white-space:nowrap}
.sim .ip{position:relative;display:flex;align-items:center}
.sim .ip input{width:100%;border:1.5px solid var(--line);border-radius:11px;height:48px;
  padding:0 42px 0 14px;font:400 15.5px/1 Helvetica,Arial,sans-serif;color:var(--ink);
  background:#fff;-moz-appearance:textfield;appearance:textfield}
.sim .ip input::-webkit-outer-spin-button,
.sim .ip input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.sim .ip input:focus{outline:none;border-color:var(--ink)}
.sim .ip .u{position:absolute;right:13px;font-size:14.5px;color:var(--ink3);pointer-events:none}
.sim .hint{font-size:12px;color:var(--ink3);margin-top:5px;line-height:1.5}
.sim .hint a{color:var(--red-d)}
.sim input[type=range]{width:100%;margin-top:9px;accent-color:var(--red);height:18px}
.sim .seg{display:flex;gap:6px;flex-wrap:wrap}
.sim .seg button{flex:1 1 auto;min-width:0;border:1.5px solid var(--line);background:#fff;
  border-radius:10px;height:44px;font-family:'Montserrat',sans-serif;font-weight:600;
  font-size:12.5px;color:var(--ink2);cursor:pointer;padding:0 6px}
.sim .seg button.on{background:var(--ink);color:#fff;border-color:var(--ink)}
.sim .two{display:grid;grid-template-columns:1fr 1fr;gap:11px}
.sim details.more{border:1.5px dashed var(--line);border-radius:12px;padding:0 14px;margin-top:2px}
.sim details.more>summary{list-style:none;cursor:pointer;padding:13px 0;
  font-family:'Montserrat',sans-serif;font-weight:600;font-size:12.5px;color:var(--ink);
  display:flex;align-items:center;gap:9px}
.sim details.more>summary::-webkit-details-marker{display:none}
.sim details.more>summary::after{content:'+';margin-left:auto;font-size:18px;color:var(--ink3);line-height:1}
.sim details.more[open]>summary::after{content:'\2013'}
.sim details.more>div{padding-bottom:16px}
.sim .res{text-align:center;padding:2px 0 16px}
.sim .res .lbl{font-family:'Montserrat',sans-serif;font-weight:600;font-size:10.5px;
  letter-spacing:.14em;text-transform:uppercase;color:var(--ink3);margin:0}
.sim .res .big{font-family:'Lora',Georgia,serif;font-weight:600;font-size:48px;line-height:1.05;
  margin:7px 0 2px;font-variant-numeric:tabular-nums}
.sim .res .per{font-size:14px;color:var(--ink2)}
.sim .gauge{background:#fff;border:1px solid var(--line);border-radius:12px;padding:16px 17px;margin-bottom:16px}
.sim .gauge .top{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:9px;gap:10px}
.sim .gauge .top .t{font-size:13.5px;color:var(--ink2)}
.sim .gauge .top .v{font-family:'Lora',Georgia,serif;font-weight:600;font-size:22px;
  font-variant-numeric:tabular-nums;margin:0}
.sim .gauge .tr{height:9px;background:#EDEDED;border-radius:5px;position:relative;overflow:hidden;display:block}
.sim .gauge .fl{height:9px;border-radius:5px;transition:width .4s ease,background .3s;display:block}
.sim .gauge .mark{position:absolute;top:-3px;bottom:-3px;width:2px;background:var(--ink)}
.sim .gauge .lg{display:flex;justify-content:space-between;font-size:11.5px;color:var(--ink3);
  margin-top:7px;gap:8px}
.sim .gauge .msg{font-size:13px;line-height:1.55;margin-top:10px;padding-top:10px;border-top:1px solid #F0F0F0}
.sim .don{display:flex;justify-content:center;margin:2px 0 14px}
.sim .brk .r{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid #EDEDED;
  font-size:14px;white-space:normal}
.sim .brk .r:last-child{border-bottom:0}
.sim .brk .d{width:10px;height:10px;border-radius:50%;flex:0 0 auto}
.sim .brk .n{color:var(--ink2);font-size:14px}
.sim .brk .v{margin-left:auto;font-family:'Lora',Georgia,serif;font-weight:600;font-size:16px;
  white-space:nowrap;font-variant-numeric:tabular-nums;margin-bottom:0}
.sim .brk .r.tot{border-top:2px solid var(--ink);margin-top:4px;padding-top:12px;border-bottom:0}
.sim .brk .r.tot .n{color:var(--ink);font-weight:700}
.sim .brk .r.tot .v{font-size:18px}
.sim .fine{font-size:11.5px;color:var(--ink3);line-height:1.6;margin-top:14px;padding-top:13px;
  border-top:1px solid var(--line)}
.sim .cta{display:flex;gap:10px;margin-top:16px;flex-wrap:wrap}
.sim .cta .btn{flex:1 1 auto;justify-content:center;padding:15px 18px;font-size:13.5px}

/* la ligne qui renvoie vers la page financement */
.ratelink{display:flex;align-items:center;gap:12px;padding:15px 26px;background:var(--ink);
  color:#fff;font-size:14px;line-height:1.5;text-decoration:none}
.ratelink .sx{color:#FF6B73}
.ratelink b{font-weight:400;border-bottom:1px solid rgba(255,255,255,.45)}
.ratelink .ar{margin-left:auto;color:#FF6B73;font-family:'Montserrat',sans-serif;font-weight:600;
  font-size:12.5px;white-space:nowrap}

@media(max-width:980px){
  .sim{grid-template-columns:1fr}
  .sim .in{border-right:0;border-bottom:1px solid var(--line)}
}
@media(max-width:620px){
  .simwrap>.simhd{padding:18px}
  .simwrap>.simhd .simtag{margin-left:0;width:100%}
  .sim .in,.sim .out{padding:18px}
  .sim .res .big{font-size:38px}
  .sim .cta{flex-direction:column}
  .sim .two{grid-template-columns:1fr}
  .sim .ip input{font-size:16px}
  .sim .seg button{flex:1 1 100%}
  .ratelink{padding:14px 18px;flex-wrap:wrap}
  .ratelink .ar{margin-left:0;width:100%}
}

/* == page : agenttop (limitee a body.nv-agenttop) == */
body.nv-agenttop .ahero{display:grid;grid-template-columns:360px 1fr;gap:52px;align-items:start}body.nv-agenttop .ahero .port{width:360px;aspect-ratio:4/5;border-radius:var(--r-lg);position:relative;overflow:hidden;
    box-shadow:0 26px 60px rgba(0,0,0,.4)}body.nv-agenttop .ahero h1{font-size:50px;margin:12px 0 8px}body.nv-agenttop .ahero .role{font-family:'Montserrat',sans-serif;font-weight:600;font-size:13px;letter-spacing:.14em;
    text-transform:uppercase;color:#FF6B73;margin-bottom:20px}body.nv-agenttop .ahero .bio{font-size:17px;line-height:1.75;color:rgba(255,255,255,.82);max-width:640px;margin-bottom:22px}body.nv-agenttop .ahero .dl{display:flex;gap:30px;flex-wrap:wrap;padding:18px 0;margin-bottom:24px;
    border-top:1px solid rgba(255,255,255,.16);border-bottom:1px solid rgba(255,255,255,.16)}body.nv-agenttop .ahero .dl div .k{font-family:'Montserrat',sans-serif;font-weight:600;font-size:10px;letter-spacing:.14em;
    text-transform:uppercase;color:rgba(255,255,255,.5);margin-bottom:5px}body.nv-agenttop .ahero .dl div .v{font-size:16.5px;font-weight:700;color:#fff}body.nv-agenttop .ahero .cta{display:flex;gap:12px;flex-wrap:wrap}body.nv-agenttop .sold{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}body.nv-agenttop .sc{background:#fff;border:1px solid var(--line);border-radius:var(--r);overflow:hidden}body.nv-agenttop .sc .ph{height:150px;position:relative;filter:saturate(.82)}body.nv-agenttop .sc .ph .vd{position:absolute;top:12px;left:12px;background:#111;color:#fff;
    font-family:'Montserrat',sans-serif;font-weight:700;font-size:10px;letter-spacing:.13em;
    text-transform:uppercase;padding:6px 12px;border-radius:999px;z-index:3}body.nv-agenttop .sc .bd{padding:17px 18px 19px}body.nv-agenttop .sc h4{font-size:15.5px;line-height:1.32;margin-bottom:7px}body.nv-agenttop .sc .mt{display:flex;gap:6px;flex-wrap:wrap}body.nv-agenttop .sc .mt span{background:var(--ground);border:1px solid var(--line);border-radius:999px;
    padding:4px 9px;font-size:11.5px;color:var(--ink2)}body.nv-agenttop .book{display:grid;grid-template-columns:1fr 440px;gap:48px;align-items:start}body.nv-agenttop .mtypes{display:grid;gap:12px}body.nv-agenttop .mt2{display:flex;gap:16px;align-items:flex-start;border:1.5px solid var(--line);border-radius:var(--r);
    padding:20px 22px;background:#fff}body.nv-agenttop .mt2.on{border-color:var(--ink);border-width:2px;padding:19px 21px}body.nv-agenttop .mt2 .ic{width:42px;height:42px;border-radius:12px;background:rgba(227,6,19,.09);display:flex;
    align-items:center;justify-content:center;font-size:19px;flex:0 0 auto}body.nv-agenttop .mt2 h4{font-size:17.5px;margin-bottom:5px}body.nv-agenttop .mt2 p{font-size:14px;color:var(--ink2);line-height:1.6}body.nv-agenttop .mt2 .dur{margin-left:auto;font-family:'Montserrat',sans-serif;font-weight:600;font-size:12px;
    color:var(--ink3);white-space:nowrap;flex:0 0 auto}body.nv-agenttop .cal{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:26px;box-shadow:var(--sh)}body.nv-agenttop .cal .hd2{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}body.nv-agenttop .cal .hd2 .m{font-family:'Lora',serif;font-weight:600;font-size:19px}body.nv-agenttop .cal .hd2 .nv{display:flex;gap:6px}body.nv-agenttop .cal .hd2 .nv i{width:30px;height:30px;border:1px solid var(--line);border-radius:9px;display:flex;
    align-items:center;justify-content:center;font-style:normal;font-size:14px;color:var(--ink2)}body.nv-agenttop .cal .dow{display:grid;grid-template-columns:repeat(7,1fr);gap:5px;margin-bottom:7px}body.nv-agenttop .cal .dow span{text-align:center;font-family:'Montserrat',sans-serif;font-weight:600;font-size:10px;
    letter-spacing:.07em;color:var(--ink3);text-transform:uppercase}body.nv-agenttop .cal .grid{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}body.nv-agenttop .cal .grid b{aspect-ratio:1/1;display:flex;align-items:center;justify-content:center;font-size:13.5px;
    border-radius:9px;font-weight:400;color:var(--ink3);background:var(--ground)}body.nv-agenttop .cal .grid b.free{background:#fff;border:1.5px solid var(--ink);color:var(--ink);font-weight:700;cursor:pointer}body.nv-agenttop .cal .grid b.sel{background:var(--red);border-color:var(--red);color:#fff;font-weight:700}body.nv-agenttop .cal .grid b.off{background:transparent;color:#C9C9C9}body.nv-agenttop .slots{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:18px}body.nv-agenttop .slots span{border:1.5px solid var(--line);border-radius:10px;padding:11px;text-align:center;
    font-size:14px;font-family:'Montserrat',sans-serif;font-weight:600;color:var(--ink2);background:#fff}body.nv-agenttop .slots span.on{background:var(--ink);color:#fff;border-color:var(--ink)}body.nv-agenttop .cal .tz{font-size:12.5px;color:var(--ink3);margin-top:14px;padding-top:14px;border-top:1px solid var(--line);line-height:1.55}body.nv-agenttop .intl{background:var(--ink);color:#fff;border-radius:var(--r-lg);padding:34px 36px;
    display:grid;grid-template-columns:1fr 1fr 1fr;gap:32px}body.nv-agenttop .intl h3{font-size:25px;grid-column:1/-1;margin-bottom:-8px}body.nv-agenttop .intl .b{border-top:2px solid var(--red);padding-top:16px}body.nv-agenttop .intl .b h4{font-size:17px;margin-bottom:8px}body.nv-agenttop .intl .b p{font-size:14px;line-height:1.66;color:rgba(255,255,255,.72)}body.nv-agenttop .revs{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}body.nv-agenttop .rev{border:1px solid var(--line);border-radius:var(--r);padding:24px;background:#fff}body.nv-agenttop .rev .st{color:#E8A80C;font-size:15px;letter-spacing:2px;margin-bottom:12px}body.nv-agenttop .rev p{font-size:14.5px;line-height:1.7;color:var(--ink2);font-style:italic}body.nv-agenttop .rev .who{font-size:13px;color:var(--ink3);margin-top:14px;padding-top:12px;border-top:1px solid var(--line)}body.nv-agenttop .todo{background:#FFF8E5;border:1px solid #F0DCA0;border-radius:var(--r);padding:20px 22px;
    font-size:14px;color:#6B5A1E;line-height:1.65;margin-top:22px}body.nv-agenttop .todo b{color:#3F3410}body.nv-agenttop .newbadge{display:inline-flex;align-items:center;gap:9px;background:rgba(227,6,19,.14);
    border:1px solid rgba(227,6,19,.45);border-radius:999px;padding:9px 18px;margin-bottom:18px;
    font-family:'Montserrat',sans-serif;font-weight:700;font-size:11px;letter-spacing:.15em;
    text-transform:uppercase;color:#FF8A90}body.nv-agenttop .newbadge i{width:7px;height:7px;border-radius:50%;background:var(--red);font-style:normal;
    box-shadow:0 0 0 4px rgba(227,6,19,.25)}body.nv-agenttop .whyme{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}body.nv-agenttop .why{border:1px solid var(--line);border-radius:var(--r);padding:26px 24px;background:#fff}body.nv-agenttop .why .ic{width:42px;height:42px;border-radius:12px;background:rgba(227,6,19,.09);display:flex;
    align-items:center;justify-content:center;font-size:19px;margin-bottom:15px}body.nv-agenttop .why h4{font-size:18px;margin-bottom:9px}body.nv-agenttop .why p{font-size:14.5px;color:var(--ink2);line-height:1.68}body.nv-agenttop .backed{background:var(--ink);color:#fff;border-radius:var(--r-lg);padding:36px 40px;
    display:grid;grid-template-columns:1fr 340px;gap:48px;align-items:center}body.nv-agenttop .backed h3{font-size:26px;margin-bottom:12px}body.nv-agenttop .backed p{font-size:15.5px;color:rgba(255,255,255,.76);line-height:1.72}body.nv-agenttop .backed .nums{display:grid;gap:14px}body.nv-agenttop .backed .nums div{display:flex;align-items:baseline;gap:14px;padding-bottom:12px;
    border-bottom:1px solid rgba(255,255,255,.14)}body.nv-agenttop .backed .nums div:last-child{border-bottom:0;padding-bottom:0}body.nv-agenttop .backed .nums b{font-family:'Lora',serif;font-weight:600;font-size:30px;line-height:1;
    flex:0 0 auto;min-width:74px}body.nv-agenttop .backed .nums span{font-size:14px;color:rgba(255,255,255,.7);line-height:1.5}body.nv-agenttop .first{background:rgba(227,6,19,.055);border:1px solid rgba(227,6,19,.22);border-radius:var(--r-lg);
    padding:32px 34px;display:grid;grid-template-columns:auto 1fr;gap:30px;align-items:center}body.nv-agenttop .first .big{font-family:'Lora',serif;font-weight:600;font-size:64px;line-height:1;color:var(--red-d)}body.nv-agenttop .first h3{font-size:24px;margin-bottom:9px}body.nv-agenttop .first p{font-size:15.5px;color:var(--ink2);line-height:1.72}body.nv-agenttop .langs{display:flex;gap:7px;flex-wrap:wrap;align-items:center}body.nv-agenttop .langs b{background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.26);border-radius:999px;
    padding:5px 12px;font-family:'Montserrat',sans-serif;font-weight:600;font-size:11.5px;
    letter-spacing:.06em;color:#fff}body.nv-agenttop .langs b.alt{background:transparent;border-style:dashed;color:rgba(255,255,255,.66);font-weight:500}body.nv-agenttop .enbox{background:var(--ink);color:#fff;border-radius:var(--r-lg);padding:30px 34px;
    display:grid;grid-template-columns:auto 1fr auto;gap:28px;align-items:center}body.nv-agenttop .enbox .fl{font-family:'Montserrat',sans-serif;font-weight:700;font-size:13px;letter-spacing:.16em;
    border:1.5px solid rgba(255,255,255,.34);border-radius:10px;padding:12px 14px;flex:0 0 auto}body.nv-agenttop .enbox h4{font-size:21px;margin-bottom:8px}body.nv-agenttop .enbox p{font-size:15px;color:rgba(255,255,255,.76);line-height:1.68}body.nv-agenttop .enbox p em{font-style:normal;color:#fff;font-weight:700}body.nv-agenttop .lgpick{margin-top:16px;padding-top:16px;border-top:1px solid var(--line)}body.nv-agenttop .lgpick .lb2{font-family:'Montserrat',sans-serif;font-weight:600;font-size:10.5px;letter-spacing:.12em;
    text-transform:uppercase;color:var(--ink3);margin-bottom:9px}body.nv-agenttop .lgpick .opt{display:flex;gap:8px}body.nv-agenttop .lgpick .opt span{flex:1;text-align:center;border:1.5px solid var(--line);border-radius:10px;
    padding:10px 8px;font-size:13.5px;font-family:'Montserrat',sans-serif;font-weight:600;color:var(--ink2)}body.nv-agenttop .lgpick .opt span.on{background:var(--ink);color:#fff;border-color:var(--ink)}body.nv-agenttop .lgpick .nt2{font-size:12px;color:var(--ink3);margin-top:9px;line-height:1.55}body.nv-agenttop .ahero{display:block}body.nv-agenttop .idrow{display:flex;align-items:center;gap:30px;margin:18px 0 24px}body.nv-agenttop .ahero .port{width:200px;height:200px;aspect-ratio:auto;border-radius:50%;
    box-shadow:0 0 0 1px rgba(255,255,255,.22), 0 20px 46px rgba(0,0,0,.42)}body.nv-agenttop .ahero .port .lbl{bottom:auto;right:auto;left:50%;top:50%;
    transform:translate(-50%,-50%);text-align:center;white-space:nowrap}body.nv-agenttop .idtext h1{font-size:46px;margin:0 0 10px}body.nv-agenttop .idtext .role{margin-bottom:0}body.nv-agenttop .idtext .newbadge{margin-bottom:14px}body.nv-agenttop .ahero .bio{max-width:780px}
/* == page : article (limitee a body.nv-article) == */
body.nv-article .asplit{display:grid;grid-template-columns:1fr 320px;gap:60px;align-items:start}body.nv-article .prose h2{font-size:29px;margin:42px 0 14px}body.nv-article .prose h3{font-size:21px;margin:30px 0 10px}body.nv-article .prose p{font-size:17px;line-height:1.82;color:var(--ink2);margin-bottom:17px}body.nv-article .prose p a{color:var(--red-d);text-decoration:underline;text-underline-offset:2px}body.nv-article .prose p strong{color:var(--ink)}body.nv-article .prose ul{margin:0 0 18px 0;padding-left:22px}body.nv-article .prose li{font-size:17px;line-height:1.8;color:var(--ink2);margin-bottom:8px}body.nv-article .prose .lede{font-size:20px;line-height:1.72;color:var(--ink);margin-bottom:26px}body.nv-article .keybox{background:var(--ink);color:#fff;border-radius:var(--r-lg);padding:30px 32px;margin:30px 0}body.nv-article .keybox h4{font-family:'Montserrat',sans-serif;font-weight:700;font-size:11px;letter-spacing:.17em;
    text-transform:uppercase;color:#FF6B73;margin-bottom:18px}body.nv-article .keybox ul{list-style:none;margin:0;padding:0}body.nv-article .keybox li{padding:12px 0;border-bottom:1px solid rgba(255,255,255,.14);font-size:16px;
    line-height:1.6;color:rgba(255,255,255,.86);display:flex;gap:14px}body.nv-article .keybox li:last-child{border-bottom:0}body.nv-article .keybox li b{color:#fff;font-family:'Lora',serif;font-size:19px;white-space:nowrap;flex:0 0 auto}body.nv-article .toc{background:var(--ground);border:1px solid var(--line);border-radius:var(--r);padding:24px;
    position:sticky;top:20px}body.nv-article .toc h4{font-family:'Montserrat',sans-serif;font-weight:700;font-size:10.5px;letter-spacing:.16em;
    text-transform:uppercase;color:var(--ink3);margin-bottom:14px}body.nv-article .toc a{display:block;font-size:14px;padding:8px 0 8px 13px;border-left:2px solid var(--line);
    text-decoration:none;color:var(--ink2);line-height:1.5}body.nv-article .toc a.on{border-left-color:var(--red);color:var(--ink);font-weight:700}body.nv-article .sidecta{background:var(--ink);color:#fff;border-radius:var(--r);padding:24px;margin-top:20px}body.nv-article .sidecta h4{font-size:19px;margin-bottom:9px}body.nv-article .sidecta p{font-size:14px;color:rgba(255,255,255,.72);line-height:1.62;margin-bottom:16px}body.nv-article .sidecta .btn{width:100%;justify-content:center}body.nv-article .author{display:flex;gap:18px;align-items:center;background:#fff;border:1px solid var(--line);
    border-radius:var(--r);padding:22px;margin-top:20px}body.nv-article .author .av{width:58px;height:58px;border-radius:50%;flex:0 0 auto;overflow:hidden;position:relative}body.nv-article .author .nm{font-family:'Lora',serif;font-weight:600;font-size:16.5px}body.nv-article .author .rl{font-size:13px;color:var(--ink3);margin-top:2px;line-height:1.5}body.nv-article table.at{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--line);
    border-radius:var(--r);overflow:hidden;margin:24px 0 12px}body.nv-article table.at th{font-family:'Montserrat',sans-serif;font-weight:700;font-size:10px;letter-spacing:.13em;
    text-transform:uppercase;color:var(--ink3);text-align:left;padding:14px 16px;background:var(--ground);
    border-bottom:1px solid var(--line)}body.nv-article table.at td{padding:13px 16px;border-bottom:1px solid #EFEFEF;font-size:15px}body.nv-article table.at tr:last-child td{border-bottom:0}body.nv-article table.at td.n{font-family:'Lora',serif;font-weight:600;font-size:16.5px;white-space:nowrap}body.nv-article table.at tr.hi td{background:rgba(227,6,19,.05)}body.nv-article .schemabox{border:1px dashed #A8B4BE;background:#F4F7F9;border-radius:var(--r);padding:22px 24px;
    margin-top:30px;font-size:13.5px;color:#41525E;line-height:1.7}body.nv-article .schemabox b{color:#1F2D36}body.nv-article .schemabox code{font-family:ui-monospace,Menlo,monospace;font-size:12.5px;background:#E4EAEE;
    padding:2px 6px;border-radius:5px}
/* == page : bien (limitee a body.nv-bien) == */
body.nv-bien .bhead{background:var(--ink);padding:22px 0 0}body.nv-bien .bhead .crumb{color:rgba(255,255,255,.62);margin-bottom:18px}body.nv-bien .bhead .crumb a{color:rgba(255,255,255,.85)}body.nv-bien .gal{display:grid;grid-template-columns:2fr 1fr;gap:10px;padding-bottom:10px}body.nv-bien .gal .g1{height:430px;border-radius:16px 16px 0 0;position:relative;background:#D8DCDF}body.nv-bien .gal .gs{display:grid;grid-rows:1fr 1fr;gap:10px}body.nv-bien .gal .gs .ph{height:100%;min-height:150px;border-radius:12px;background:#D8DCDF;position:relative}body.nv-bien .gopen{position:absolute;bottom:16px;left:16px;z-index:4;display:inline-flex;align-items:center;
    gap:8px;background:#fff;border:0;border-radius:999px;padding:12px 20px;cursor:pointer;
    font-family:'Montserrat',sans-serif;font-weight:600;font-size:13px;color:var(--ink);
    box-shadow:0 8px 24px rgba(0,0,0,.18)}body.nv-bien .tband{padding-top:34px}body.nv-bien .tb{display:flex;gap:40px;align-items:flex-start;justify-content:space-between;flex-wrap:wrap}body.nv-bien .tb .tl{flex:1 1 560px;min-width:0}body.nv-bien .tb .tl h1{font-size:40px;margin:12px 0 18px}body.nv-bien .tb .tr2{flex:0 1 300px;min-width:0;text-align:right;border-left:3px solid var(--red);
    padding-left:24px}body.nv-bien .pxbig{font-family:'Lora',Georgia,serif;font-weight:600;font-size:44px;line-height:1.05;
    font-variant-numeric:tabular-nums}body.nv-bien .pxbig span{font-size:30px;color:var(--ink3)}body.nv-bien .m2big{font-family:'Montserrat',sans-serif;font-weight:700;font-size:15px;color:var(--red-d);
    margin-top:6px;letter-spacing:.01em}body.nv-bien .pxnote{font-size:12.5px;color:var(--ink3);line-height:1.55;margin-top:10px}body.nv-bien .chips{display:flex;flex-wrap:wrap;gap:8px}body.nv-bien .chips span{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--line);
    border-radius:999px;padding:8px 15px;font-size:13.5px;color:var(--ink2);background:#fff}body.nv-bien .chips .dpe{font-family:'Montserrat',sans-serif;font-weight:700;font-size:12px;border:0;color:#fff}body.nv-bien .chips .dpeC{background:#C9D02A;color:#111}body.nv-bien .chips .gesA{background:#3B8C3F}body.nv-bien .m2box{margin-top:34px;border:1px solid var(--line);border-radius:var(--r-lg);padding:26px 28px;
    background:var(--ground)}body.nv-bien .m2hd{display:flex;gap:28px;align-items:flex-start;justify-content:space-between;flex-wrap:wrap}body.nv-bien .m2t{font-family:'Lora',Georgia,serif;font-weight:600;font-size:21px;line-height:1.25}body.nv-bien .m2s{font-size:14.5px;color:var(--ink2);line-height:1.65;margin-top:8px;max-width:620px}body.nv-bien .m2v{flex:0 0 auto;text-align:right}body.nv-bien .m2v b{display:block;font-family:'Lora',Georgia,serif;font-weight:600;font-size:34px;
    font-variant-numeric:tabular-nums;white-space:nowrap}body.nv-bien .m2v small{font-size:12px;color:var(--ink3);font-family:'Montserrat',sans-serif;font-weight:600;
    letter-spacing:.1em;text-transform:uppercase}body.nv-bien .scale{position:relative;margin:56px 0 12px;height:8px}body.nv-bien .scale .track{position:absolute;inset:0;border-radius:4px;
    background:linear-gradient(90deg,#EDEFF1,#C9CED4)}body.nv-bien .scale .pin{position:absolute;top:-4px;transform:translateX(-50%)}body.nv-bien .scale .pin i{display:block;width:3px;height:16px;border-radius:2px;margin:0 auto;background:var(--ink)}body.nv-bien .scale .pin span{position:absolute;bottom:22px;left:50%;transform:translateX(-50%);
    white-space:nowrap;font-size:11.5px;color:var(--ink3);text-align:center;line-height:1.35}body.nv-bien .scale .pin span b{display:block;font-family:'Lora',Georgia,serif;font-size:15px;color:var(--ink);
    font-weight:600}body.nv-bien .scale .pin.me i{background:var(--red);width:4px;height:20px;margin-top:-2px}body.nv-bien .scale .pin.me span b{color:var(--red-d)}body.nv-bien .scale .pin.med span{bottom:-40px}body.nv-bien .scale .pin.med i{height:16px}body.nv-bien .scale .ends{position:absolute;top:16px;left:0;right:0;display:flex;
    justify-content:space-between;font-size:11.5px;color:var(--ink3)}body.nv-bien .m2r{margin-top:64px;font-size:15.5px;line-height:1.7;color:var(--ink2);
    padding-top:18px;border-top:1px solid var(--line)}body.nv-bien .m2r b{color:var(--ink)}body.nv-bien .m2box .src{margin-top:12px}body.nv-bien .cols{display:grid;grid-template-columns:1fr 400px;gap:56px;align-items:start}body.nv-bien .cmain h2{font-size:30px}body.nv-bien .cmain h3{font-size:22px;margin:42px 0 16px;padding-top:26px;border-top:1px solid var(--line)}body.nv-bien .cmain .lead{font-size:16.5px;line-height:1.75;color:var(--ink2)}body.nv-bien .ph-txt{margin-top:14px;border:1px dashed var(--line);border-radius:12px;padding:20px;
    font-family:'Montserrat',sans-serif;font-weight:600;font-size:12px;letter-spacing:.1em;
    text-transform:uppercase;color:var(--ink3);text-align:center;background:var(--ground)}body.nv-bien .kk{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);
    border:1px solid var(--line);border-radius:14px;overflow:hidden}body.nv-bien .kk>div{background:#fff;padding:14px 17px;display:flex;justify-content:space-between;
    align-items:baseline;gap:14px}body.nv-bien .kk span{font-size:13.5px;color:var(--ink3)}body.nv-bien .kk b{font-family:'Lora',Georgia,serif;font-weight:600;font-size:16px;text-align:right}body.nv-bien .ener{display:grid;grid-template-columns:1fr 1fr;gap:18px}body.nv-bien .ener .ecost{grid-column:1/-1}body.nv-bien .ener>div{border:1px solid var(--line);border-radius:14px;padding:17px 18px;background:#fff}body.nv-bien .ecl{font-family:'Montserrat',sans-serif;font-weight:600;font-size:10.5px;letter-spacing:.13em;
    text-transform:uppercase;color:var(--ink3)}body.nv-bien .eba{display:flex;gap:3px;margin:11px 0 10px}body.nv-bien .eba span{flex:1;min-width:0;height:26px;border-radius:5px;display:flex;align-items:center;
    justify-content:center;font-family:'Montserrat',sans-serif;font-weight:700;font-size:11px;
    color:rgba(17,17,17,.30);background:#F0F1F2}body.nv-bien .eba span.on{color:#fff;box-shadow:0 0 0 2px var(--ink)}body.nv-bien .eba .eA.on{background:#3B8C3F}body.nv-bien .eba .eB.on{background:#6FA828}body.nv-bien .eba .eC.on{background:#C9D02A;color:#111}body.nv-bien .eba .eD.on{background:#F3C000;color:#111}body.nv-bien .eba .eE.on{background:#EE8B23}body.nv-bien .eba .eF.on{background:#E2551A}body.nv-bien .eba .eG.on{background:#C3161C}body.nv-bien .ener .ev{font-family:'Lora',Georgia,serif;font-weight:600;font-size:24px;
    font-variant-numeric:tabular-nums}body.nv-bien .ener .ev small{font-size:13px;color:var(--ink3);font-family:Helvetica,Arial,sans-serif;
    font-weight:400}body.nv-bien .prox{display:grid;grid-template-columns:1fr 1fr;gap:12px}body.nv-bien .prox>div{border:1px solid var(--line);border-radius:13px;padding:15px 17px}body.nv-bien .prox .sx{width:20px;height:20px;color:var(--red);margin-bottom:9px}body.nv-bien .prox b{display:block;font-family:'Lora',Georgia,serif;font-weight:600;font-size:16px}body.nv-bien .prox span{display:block;font-size:13px;color:var(--ink3);margin-top:3px;line-height:1.5}body.nv-bien .cside{position:sticky;top:20px}body.nv-bien .ecard{border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--sh);
    background:#fff}body.nv-bien .ecard .eh{background:var(--ink);color:#fff;padding:20px 22px}body.nv-bien .ecard .eh .px{font-family:'Lora',Georgia,serif;font-weight:600;font-size:30px;
    font-variant-numeric:tabular-nums}body.nv-bien .ecard .eh .m2{font-size:13px;color:rgba(255,255,255,.66);margin-top:3px}body.nv-bien .ecard .eb{padding:20px 22px}body.nv-bien .ecard .q{display:block;font-family:'Montserrat',sans-serif;font-weight:700;font-size:10.5px;
    letter-spacing:.13em;text-transform:uppercase;color:var(--ink);margin-bottom:9px}body.nv-bien .qs{display:flex;flex-direction:column;gap:6px;margin-bottom:17px}body.nv-bien .qs button{text-align:left;border:1.5px solid var(--line);background:#fff;border-radius:10px;
    padding:12px 14px;font:400 14px Helvetica,Arial,sans-serif;color:var(--ink2);cursor:pointer}body.nv-bien .qs button.on{border-color:var(--ink);background:var(--ink);color:#fff}body.nv-bien .frow{margin-bottom:12px}body.nv-bien .frow.two2{display:grid;grid-template-columns:1fr 1fr;gap:10px}body.nv-bien .fi label{display:block;font-size:12.5px;color:var(--ink3);margin-bottom:5px}body.nv-bien .fx2{height:46px;border:1.5px solid var(--line);border-radius:10px;background:#fff}body.nv-bien .fx2.ta{height:auto;min-height:74px;padding:12px 13px;font-size:13.5px;color:var(--ink3);
    line-height:1.55}body.nv-bien .cons{display:flex;gap:10px;align-items:flex-start;margin:4px 0 15px}body.nv-bien .cons i{flex:0 0 auto;width:17px;height:17px;border:1.5px solid var(--line);border-radius:4px;
    margin-top:2px}body.nv-bien .cons span{font-size:12.5px;color:var(--ink3);line-height:1.55}body.nv-bien .cons a{color:var(--red-d)}body.nv-bien .alt{display:flex;gap:8px;margin-top:13px}body.nv-bien .alt a{flex:1;min-width:0;display:inline-flex;align-items:center;justify-content:center;gap:7px;
    border:1.5px solid var(--line);border-radius:999px;padding:11px 8px;font-size:12.5px;
    text-decoration:none;color:var(--ink2);text-align:center}body.nv-bien .alt .sx{width:15px;height:15px;color:var(--red)}body.nv-bien .who{display:flex;align-items:center;gap:12px;margin-top:17px;padding-top:15px;
    border-top:1px solid var(--line)}body.nv-bien .who .av{flex:0 0 auto;width:44px;height:44px;border-radius:50%;background:#D8DCDF}body.nv-bien .who .nm{font-family:'Lora',Georgia,serif;font-weight:600;font-size:15.5px}body.nv-bien .who .rl{font-size:12.5px;color:var(--ink3)}@media(max-width:1080px){body.nv-bien .cols{grid-template-columns:1fr;gap:38px}body.nv-bien .cside{position:static}body.nv-bien .ecard{max-width:520px}body.nv-bien .gal{grid-template-columns:1fr}body.nv-bien .gal .gs{grid-rows:none;grid-template-columns:1fr 1fr}body.nv-bien .gal .gs .ph{height:150px}body.nv-bien .tb .tr2{text-align:left;border-left:0;border-top:3px solid var(--red);padding:18px 0 0;
      flex:1 1 100%}}@media(max-width:620px){body.nv-bien .tb .tl h1{font-size:28px}body.nv-bien .pxbig{font-size:34px}body.nv-bien .pxbig span{font-size:24px}body.nv-bien .gal .g1{height:250px}body.nv-bien .m2box{padding:20px 18px}body.nv-bien .m2v{text-align:left}body.nv-bien .m2hd{gap:16px}body.nv-bien .scale{margin:60px 0 12px}body.nv-bien .scale .pin span{font-size:10.5px}body.nv-bien .scale .pin span b{font-size:13px}body.nv-bien .m2r{margin-top:70px}body.nv-bien .kk,body.nv-bien .ener,body.nv-bien .prox{grid-template-columns:1fr}body.nv-bien .frow.two2{grid-template-columns:1fr}body.nv-bien .alt{flex-direction:column}body.nv-bien .cmain h2{font-size:24px}body.nv-bien .cmain h3{font-size:19px}}
/* == page : biens (limitee a body.nv-biens) == */
body.nv-biens .filt{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:16px;
    box-shadow:var(--sh);display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr 1fr auto;gap:12px;
    align-items:end;margin-top:-42px;position:relative;z-index:5}body.nv-biens .filt .fld{margin:0}body.nv-biens .filt .btn{justify-content:center}body.nv-biens .fchips{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}body.nv-biens .fchips a{border:1px solid var(--line);background:#fff;border-radius:999px;padding:8px 15px;
    font-size:13.5px;text-decoration:none;color:var(--ink)}body.nv-biens .fchips a.on{background:var(--ink);color:#fff;border-color:var(--ink)}body.nv-biens .fchips a b{color:var(--ink3);font-weight:400;margin-left:5px;font-size:12.5px}body.nv-biens .fchips a.on b{color:rgba(255,255,255,.6)}body.nv-biens .pager{display:flex;gap:8px;justify-content:center;margin-top:42px}body.nv-biens .pager a{width:42px;height:42px;border:1px solid var(--line);border-radius:12px;display:flex;
    align-items:center;justify-content:center;text-decoration:none;font-size:14.5px;background:#fff}body.nv-biens .pager a.on{background:var(--ink);color:#fff;border-color:var(--ink)}body.nv-biens .pager a.w{width:auto;padding:0 18px}body.nv-biens .alert{background:var(--ink);color:#fff;border-radius:var(--r-lg);padding:38px 40px;
    display:grid;grid-template-columns:1fr 420px;gap:48px;align-items:center}body.nv-biens .alert h3{font-size:27px;margin-bottom:10px}body.nv-biens .alert p{font-size:15.5px;color:rgba(255,255,255,.74);line-height:1.7}body.nv-biens .alert .bx{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.16);
    border-radius:var(--r);padding:22px}body.nv-biens .alert .fld label{color:rgba(255,255,255,.55)}body.nv-biens .alert .fld .inp{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.2);
    color:rgba(255,255,255,.7)}body.nv-biens .alert .btn{width:100%;justify-content:center;margin-top:6px}body.nv-biens .seo{display:grid;grid-template-columns:1.15fr 1fr;gap:56px;align-items:start}body.nv-biens .seo p{font-size:15.5px;line-height:1.78;color:var(--ink2);margin-bottom:15px}body.nv-biens .seo p a{color:var(--red-d);text-decoration:underline;text-underline-offset:2px}
/* == page : commune (limitee a body.nv-commune) == */
body.nv-commune .hero2{display:grid;grid-template-columns:1fr clamp(400px,30vw,560px);
    gap:clamp(48px,4vw,72px);align-items:start}body.nv-commune .agcard{background:#fff;color:var(--ink);border-radius:var(--r-lg);padding:clamp(28px,2.2vw,40px);
    box-shadow:0 26px 60px rgba(0,0,0,.35)}body.nv-commune .agcard .big{width:100%;aspect-ratio:4/3;border-radius:var(--r);margin-bottom:18px;position:relative;overflow:hidden}body.nv-commune .agcard h3{font-size:clamp(22px,1.5vw,27px);margin-bottom:5px}body.nv-commune .agcard .rl{font-size:clamp(14px,1vw,15.5px);color:var(--ink3);margin-bottom:clamp(18px,1.4vw,24px)}body.nv-commune .agcard .ln{display:flex;align-items:center;gap:11px;padding:clamp(11px,.85vw,14px) 0;
    border-bottom:1px solid var(--line);font-size:clamp(14.5px,1.02vw,16px)}body.nv-commune .agcard .ln:last-of-type{border-bottom:0}body.nv-commune .agcard .ln .k{font-family:'Montserrat',sans-serif;font-weight:600;font-size:10.5px;
    letter-spacing:.12em;text-transform:uppercase;color:var(--ink3);width:88px;flex:0 0 auto;
    word-break:normal;overflow-wrap:normal;hyphens:none}body.nv-commune .agcard .btn{width:100%;justify-content:center;margin-top:clamp(16px,1.3vw,22px)}body.nv-commune .qtr{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}body.nv-commune .qtr .q{border:1px solid var(--line);border-radius:var(--r);overflow:hidden;background:#fff}body.nv-commune .qtr .q .im{height:132px}body.nv-commune .qtr .q .bd{padding:20px}body.nv-commune .qtr .q h4{font-size:17.5px;margin-bottom:7px}body.nv-commune .qtr .q p{font-size:13.5px;color:var(--ink2);line-height:1.66}body.nv-commune .todo{background:#FFF8E5;border:1px solid #F0DCA0;border-radius:var(--r);padding:20px 22px;
    font-size:14px;color:#6B5A1E;line-height:1.65;margin-top:22px}body.nv-commune .todo b{color:#3F3410}body.nv-commune .near{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}body.nv-commune .near a{border:1px solid var(--line);border-radius:var(--r);padding:22px;background:#fff;
    text-decoration:none;display:block}body.nv-commune .near a .c{font-family:'Lora',serif;font-weight:600;font-size:19px;margin-bottom:6px}body.nv-commune .near a .m{font-size:13px;color:var(--ink3);line-height:1.6}body.nv-commune .near a .n{font-family:'Lora',serif;font-weight:600;font-size:22px;color:var(--red-d);margin-top:10px}body.nv-commune .twocol{display:grid;grid-template-columns:1.15fr 1fr;gap:56px;align-items:start}body.nv-commune .twocol p{font-size:15.5px;line-height:1.78;color:var(--ink2);margin-bottom:15px}body.nv-commune .twocol p a{color:var(--red-d);text-decoration:underline;text-underline-offset:2px}body.nv-commune .agcard{text-align:center}body.nv-commune .agcard .big{width:clamp(130px,10vw,184px);height:clamp(130px,10vw,184px);
    aspect-ratio:auto;border-radius:50%;margin:0 auto clamp(18px,1.4vw,24px)}body.nv-commune .agcard .ln{text-align:left}
/* == page : conseils (limitee a body.nv-conseils) == */
body.nv-conseils .feat{display:grid;grid-template-columns:1.25fr 1fr;gap:0;background:#fff;
    border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--sh)}body.nv-conseils .feat .im{min-height:360px;position:relative}body.nv-conseils .feat .bd{padding:40px}body.nv-conseils .feat .cat{font-family:'Montserrat',sans-serif;font-weight:700;font-size:10.5px;
    letter-spacing:.15em;text-transform:uppercase;color:var(--red);margin-bottom:14px;display:block}body.nv-conseils .feat h3{font-size:31px;line-height:1.2;margin-bottom:14px}body.nv-conseils .feat p{font-size:15.5px;color:var(--ink2);line-height:1.72;margin-bottom:22px}body.nv-conseils .feat .mt{display:flex;gap:18px;font-size:13px;color:var(--ink3);margin-bottom:22px}body.nv-conseils .ac{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden}body.nv-conseils .ac .im{height:176px;position:relative}body.nv-conseils .ac .bd{padding:24px}body.nv-conseils .ac .cat{font-family:'Montserrat',sans-serif;font-weight:700;font-size:10px;letter-spacing:.15em;
    text-transform:uppercase;color:var(--red);margin-bottom:11px;display:block}body.nv-conseils .ac h3{font-size:19px;line-height:1.3;margin-bottom:10px}body.nv-conseils .ac p{font-size:14px;color:var(--ink2);line-height:1.66;margin-bottom:16px}body.nv-conseils .ac .mt{display:flex;gap:16px;font-size:12.5px;color:var(--ink3)}body.nv-conseils .cats{display:flex;gap:9px;flex-wrap:wrap;margin-top:22px}body.nv-conseils .cats a{border:1px solid var(--line);background:#fff;border-radius:999px;padding:9px 17px;
    font-size:13.5px;text-decoration:none}body.nv-conseils .cats a.on{background:var(--ink);color:#fff;border-color:var(--ink)}body.nv-conseils .nl{background:var(--ink);color:#fff;border-radius:var(--r-lg);padding:38px 40px;
    display:grid;grid-template-columns:1fr 380px;gap:48px;align-items:center}body.nv-conseils .nl h3{font-size:26px;margin-bottom:10px}body.nv-conseils .nl p{font-size:15.5px;color:rgba(255,255,255,.74);line-height:1.7}
/* == page : contact (limitee a body.nv-contact) == */
body.nv-contact .csplit{display:grid;grid-template-columns:1fr 420px;gap:48px;align-items:start}body.nv-contact .infocard{background:var(--ink);color:#fff;border-radius:var(--r-lg);padding:32px}body.nv-contact .infocard h3{font-size:23px;margin-bottom:18px}body.nv-contact .infocard .ln{display:flex;gap:14px;padding:15px 0;border-bottom:1px solid rgba(255,255,255,.14)}body.nv-contact .infocard .ln:last-of-type{border-bottom:0}body.nv-contact .infocard .ic{width:36px;height:36px;border-radius:10px;background:rgba(255,255,255,.08);
    display:flex;align-items:center;justify-content:center;font-size:16px;flex:0 0 auto}body.nv-contact .infocard .k{font-family:'Montserrat',sans-serif;font-weight:600;font-size:10px;letter-spacing:.14em;
    text-transform:uppercase;color:rgba(255,255,255,.5);margin-bottom:4px}body.nv-contact .infocard .v{font-size:15.5px;line-height:1.55}body.nv-contact .infocard .v b{font-size:17px}body.nv-contact .infocard .btn{width:100%;justify-content:center;margin-top:20px}body.nv-contact .wa{background:#25D366;color:#0B2E18}body.nv-contact .map{height:380px;border-radius:var(--r-lg);position:relative;overflow:hidden;
    border:1px solid var(--line)}body.nv-contact .map .pin{position:absolute;left:50%;top:44%;transform:translate(-50%,-50%);z-index:4;
    background:var(--red);color:#fff;border-radius:999px;padding:11px 20px;font-size:14px;
    font-family:'Montserrat',sans-serif;font-weight:600;box-shadow:var(--sh-red)}body.nv-contact table.dl{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--line);
    border-radius:var(--r);overflow:hidden}body.nv-contact table.dl th{font-family:'Montserrat',sans-serif;font-weight:700;font-size:10.5px;letter-spacing:.14em;
    text-transform:uppercase;color:var(--ink3);text-align:left;padding:15px 18px;
    background:var(--ground);border-bottom:1px solid var(--line)}body.nv-contact table.dl td{padding:14px 18px;border-bottom:1px solid #EFEFEF;font-size:14.5px}body.nv-contact table.dl tr:last-child td{border-bottom:0}body.nv-contact table.dl td.nm{font-weight:700}body.nv-contact table.dl td.ph{font-family:'Lora',serif;font-weight:600;font-size:16px;white-space:nowrap}body.nv-contact .legal{display:grid;grid-template-columns:repeat(2,1fr);gap:0 48px}body.nv-contact .legal .row{padding:13px 0}body.nv-contact .legal .row .r{font-size:15px;font-family:Helvetica,Arial,sans-serif;font-weight:700}
/* == page : equipe (limitee a body.nv-equipe) == */
body.nv-equipe .ag{display:grid;grid-template-columns:230px 1fr;gap:28px;background:#fff;border:1px solid var(--line);
    border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--sh);margin-bottom:24px}body.nv-equipe .ag .im{position:relative;min-height:262px}body.nv-equipe .ag .bd{padding:30px 34px 30px 0}body.nv-equipe .ag h3{font-size:26px;margin-bottom:5px}body.nv-equipe .ag .rl{font-family:'Montserrat',sans-serif;font-weight:600;font-size:11.5px;letter-spacing:.14em;
    text-transform:uppercase;color:var(--red);margin-bottom:16px}body.nv-equipe .ag p{font-size:15px;color:var(--ink2);line-height:1.72;margin-bottom:18px;max-width:640px}body.nv-equipe .ag .meta{display:flex;gap:28px;flex-wrap:wrap;padding:16px 0;border-top:1px solid var(--line);
    border-bottom:1px solid var(--line);margin-bottom:18px}body.nv-equipe .ag .meta div .k{font-family:'Montserrat',sans-serif;font-weight:600;font-size:10px;
    letter-spacing:.13em;text-transform:uppercase;color:var(--ink3);margin-bottom:4px}body.nv-equipe .ag .meta div .v{font-size:15px;font-weight:700}body.nv-equipe .ag .acts{display:flex;gap:11px}body.nv-equipe .vals{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}body.nv-equipe .val{background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.14);
    border-radius:var(--r);padding:28px 24px}body.nv-equipe .val .n{font-family:'Montserrat',sans-serif;font-weight:700;font-size:12px;letter-spacing:.16em;
    color:#FF6B73;margin-bottom:14px}body.nv-equipe .val h4{font-size:19px;margin-bottom:9px}body.nv-equipe .val p{font-size:14.5px;line-height:1.66;color:rgba(255,255,255,.70)}body.nv-equipe .cov{display:flex;gap:10px;flex-wrap:wrap;margin-top:8px}body.nv-equipe .cov span{border:1px solid var(--line);background:#fff;border-radius:999px;padding:9px 17px;font-size:14px}body.nv-equipe .cov span.on{background:var(--ink);color:#fff;border-color:var(--ink)}body.nv-equipe .rec{display:grid;grid-template-columns:1fr 360px;gap:48px;align-items:center;
    background:var(--ink);color:#fff;border-radius:var(--r-lg);padding:40px}body.nv-equipe .rec h3{font-size:28px;margin-bottom:12px}body.nv-equipe .rec p{font-size:15.5px;color:rgba(255,255,255,.75);line-height:1.7}body.nv-equipe .ag{grid-template-columns:186px 1fr;align-items:center;padding:26px 0 26px 28px}body.nv-equipe .ag .im{width:150px;height:150px;min-height:0;border-radius:50%}body.nv-equipe .ag .bd{padding:0 34px 0 0}
/* == page : estimation (limitee a body.nv-estimation) == */
body.nv-estimation .split{display:grid;grid-template-columns:1fr 430px;gap:56px;align-items:start}body.nv-estimation .step{display:flex;gap:20px;padding:24px 0;border-bottom:1px solid var(--line)}body.nv-estimation .step:last-child{border-bottom:0}body.nv-estimation .step .n{font-family:'Lora',serif;font-weight:600;font-size:34px;color:var(--red);
    line-height:1;flex:0 0 52px}body.nv-estimation .step h3{font-size:20px;margin-bottom:7px}body.nv-estimation .step p{font-size:14.5px;color:var(--ink2);line-height:1.7}body.nv-estimation .formcard{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);
    padding:30px;box-shadow:var(--sh)}body.nv-estimation .formcard h3{font-size:23px;margin-bottom:7px}body.nv-estimation .formcard>p{font-size:14px;color:var(--ink2);margin-bottom:20px}body.nv-estimation .formcard .btn{width:100%;justify-content:center;margin-top:8px}body.nv-estimation .formcard .fine{font-size:11.5px;color:var(--ink3);margin:13px 0 0;text-align:center;line-height:1.55}body.nv-estimation .prog{display:flex;gap:6px;margin-bottom:22px}body.nv-estimation .prog i{height:4px;flex:1;border-radius:2px;background:var(--line)}body.nv-estimation .prog i.on{background:var(--red)}body.nv-estimation .chips{display:flex;gap:8px;flex-wrap:wrap}body.nv-estimation .chips span{border:1.5px solid var(--line);border-radius:999px;padding:9px 16px;font-size:13.5px;
    color:var(--ink2);background:#fff}body.nv-estimation .chips span.on{background:var(--ink);color:#fff;border-color:var(--ink)}body.nv-estimation table.dt{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--line);
    border-radius:var(--r);overflow:hidden}body.nv-estimation table.dt th{font-family:'Montserrat',sans-serif;font-weight:700;font-size:10.5px;letter-spacing:.14em;
    text-transform:uppercase;color:var(--ink3);text-align:left;padding:15px 18px;background:var(--ground);
    border-bottom:1px solid var(--line)}body.nv-estimation table.dt td{padding:15px 18px;border-bottom:1px solid #EFEFEF;font-size:14.5px}body.nv-estimation table.dt tr:last-child td{border-bottom:0}body.nv-estimation table.dt td.n{font-family:'Lora',serif;font-weight:600;font-size:17px;white-space:nowrap}body.nv-estimation table.dt td.c{font-weight:700}body.nv-estimation table.dt tr.hi td{background:rgba(227,6,19,.05)}body.nv-estimation .fgrid6{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}body.nv-estimation .fac{border:1px solid var(--line);border-radius:var(--r);padding:24px;background:#fff}body.nv-estimation .fac .ic{width:40px;height:40px;border-radius:11px;background:rgba(227,6,19,.09);
    display:flex;align-items:center;justify-content:center;font-size:19px;margin-bottom:14px}body.nv-estimation .fac h4{font-size:17.5px;margin-bottom:8px}body.nv-estimation .fac p{font-size:14px;color:var(--ink2);line-height:1.68}body.nv-estimation .vs{display:grid;grid-template-columns:1fr 1fr;gap:24px}body.nv-estimation .vs .card.on{border-color:var(--ink);border-width:2px}body.nv-estimation .vs ul{list-style:none;margin-top:16px}body.nv-estimation .vs li{padding:9px 0;font-size:14.5px;display:flex;gap:11px;border-bottom:1px solid var(--line)}body.nv-estimation .vs li:last-child{border-bottom:0}body.nv-estimation .vs li .y{color:#1A7F37;font-weight:700}body.nv-estimation .vs li .n2{color:var(--ink3);font-weight:700}
/* == page : financement (limitee a body.nv-financement) == */
body.nv-financement .sec .two,body.nv-financement .sec .three{gap:18px}body.nv-financement .h3s{font-size:23px;margin:46px 0 18px;padding-top:28px;border-top:1px solid var(--line)}body.nv-financement .retenir{border:1px solid var(--line);border-left:4px solid var(--red);border-radius:16px;
    padding:26px 30px;background:var(--ground)}body.nv-financement .retenir .rt{font-family:'Montserrat',sans-serif;font-weight:700;font-size:11px;letter-spacing:.16em;
    text-transform:uppercase;color:var(--red-d);margin-bottom:16px}body.nv-financement .retenir ol{margin:0;padding-left:0;list-style:none;counter-reset:rr}body.nv-financement .retenir li{counter-increment:rr;position:relative;padding-left:38px;margin-bottom:13px;
    font-size:15.5px;line-height:1.7;color:var(--ink2)}body.nv-financement .retenir li:last-child{margin-bottom:0}body.nv-financement .retenir li:before{content:counter(rr);position:absolute;left:0;top:1px;width:25px;height:25px;
    border-radius:50%;background:var(--ink);color:#fff;font-family:'Montserrat',sans-serif;
    font-weight:700;font-size:12px;display:flex;align-items:center;justify-content:center}body.nv-financement .retenir li b{color:var(--ink)}body.nv-financement .toc{margin-top:30px;border:1px solid var(--line);border-radius:16px;padding:22px 26px}body.nv-financement .toc .tt{font-family:'Montserrat',sans-serif;font-weight:700;font-size:10.5px;letter-spacing:.14em;
    text-transform:uppercase;color:var(--ink3);margin-bottom:14px}body.nv-financement .toc .tg{display:grid;grid-template-columns:1fr 1fr;gap:9px 30px}body.nv-financement .toc a{font-size:14.5px;color:var(--ink2);text-decoration:none;padding:5px 0;
    border-bottom:1px solid #F1F1F1}body.nv-financement .toc a:hover{color:var(--red-d)}body.nv-financement .tscroll{overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid var(--line);
    border-radius:14px;background:#fff}body.nv-financement .ftab{width:100%;border-collapse:collapse;font-size:14.5px;min-width:560px}body.nv-financement .ftab th{text-align:left;padding:14px 16px;background:var(--ink);color:#fff;
    font-family:'Montserrat',sans-serif;font-weight:600;font-size:11.5px;letter-spacing:.09em;
    text-transform:uppercase;white-space:nowrap}body.nv-financement .ftab td{padding:13px 16px;border-top:1px solid var(--line);color:var(--ink2);line-height:1.6;
    vertical-align:top}body.nv-financement .ftab tbody tr:nth-child(even) td{background:#FCFCFC}body.nv-financement .ftab td b{color:var(--ink)}body.nv-financement .ftab .best{color:var(--red-d);font-weight:700}body.nv-financement .ftab .tmoy td{background:#F4F4F4;border-top:2px solid var(--ink)}body.nv-financement .ftab .tsp td{font-size:13px;color:var(--ink3);background:#fff}body.nv-financement .ftab .tn{color:var(--ink3);font-size:12.5px;display:block}body.nv-financement .ftab.cmp{min-width:700px}body.nv-financement .ftab.cmp .rh{font-family:'Montserrat',sans-serif;font-weight:600;font-size:12.5px;color:var(--ink);
    width:210px;background:#FAFAFA}body.nv-financement .ftab.cmp td{width:auto}body.nv-financement .ftab.cmp thead th:nth-child(2){background:var(--red)}body.nv-financement .ncard{border:1px solid var(--line);border-radius:16px;padding:22px 24px;background:#fff}body.nv-financement .ncard .nl{font-family:'Montserrat',sans-serif;font-weight:600;font-size:10.5px;letter-spacing:.12em;
    text-transform:uppercase;color:var(--ink3)}body.nv-financement .ncard .nv{font-family:'Lora',Georgia,serif;font-weight:600;font-size:40px;line-height:1.05;
    margin:8px 0 9px;font-variant-numeric:tabular-nums}body.nv-financement .ncard p{font-size:14px;line-height:1.65;color:var(--ink2)}body.nv-financement .steps{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:26px}body.nv-financement .steps>div{border:1px solid var(--line);border-radius:16px;padding:22px 24px;background:#fff;
    position:relative}body.nv-financement .steps .k{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;
    border-radius:50%;background:var(--red);color:#fff;font-family:'Montserrat',sans-serif;
    font-weight:700;font-size:12.5px;margin-bottom:11px}body.nv-financement .steps b{display:block;font-family:'Lora',Georgia,serif;font-weight:600;font-size:18px}body.nv-financement .steps p{font-size:14px;line-height:1.68;color:var(--ink2);margin-top:8px}body.nv-financement .facs{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px}body.nv-financement .facs>div{border-top:2px solid var(--ink);padding-top:15px}body.nv-financement .facs b{font-family:'Lora',Georgia,serif;font-weight:600;font-size:17.5px;display:block}body.nv-financement .facs p{font-size:14px;line-height:1.68;color:var(--ink2);margin-top:7px}body.nv-financement .fnote{margin-top:22px;font-size:13.5px;line-height:1.7;color:var(--ink3);max-width:760px}body.nv-financement .primo{margin-top:26px;border:1px solid #BFE0C6;background:#F2FAF4;border-radius:16px;
    padding:24px 26px}body.nv-financement .primo .pt{display:flex;align-items:center;gap:10px;font-family:'Lora',Georgia,serif;
    font-weight:600;font-size:20px;margin-bottom:11px}body.nv-financement .primo .pt .sx{width:21px;height:21px;color:#186B2C;flex:0 0 auto}body.nv-financement .primo p{font-size:15px;line-height:1.72;color:var(--ink2)}body.nv-financement .primo p+p{margin-top:11px}body.nv-financement .primo .cnd{font-size:13.5px;color:var(--ink3);padding-top:12px;border-top:1px solid #D5EADB}body.nv-financement .big2{display:grid;grid-template-columns:1fr 400px;gap:52px;align-items:start}body.nv-financement .big2 h2{font-size:33px;margin:14px 0 16px}body.nv-financement .big2 .lead{font-size:17.5px;line-height:1.72;color:var(--ink2)}body.nv-financement .big2>div:first-child p{font-size:15.5px;line-height:1.75;color:var(--ink2);margin-top:14px}body.nv-financement .dnbox{border:1px solid var(--line);border-radius:18px;padding:24px 26px;background:var(--ground)}body.nv-financement .dnbox .dnt{font-family:'Montserrat',sans-serif;font-weight:700;font-size:10.5px;letter-spacing:.13em;
    text-transform:uppercase;color:var(--ink);margin-bottom:15px}body.nv-financement .dnbox ol{margin:0;padding-left:0;list-style:none;counter-reset:dd}body.nv-financement .dnbox li{counter-increment:dd;position:relative;padding-left:32px;margin-bottom:12px;font-size:14.5px;
    line-height:1.65;color:var(--ink2)}body.nv-financement .dnbox li:before{content:counter(dd);position:absolute;left:0;top:0;width:22px;height:22px;
    border-radius:50%;border:1.5px solid var(--ink);color:var(--ink);
    font-family:'Montserrat',sans-serif;font-weight:700;font-size:11px;display:flex;
    align-items:center;justify-content:center}body.nv-financement .dnbox .dnf{font-size:13px;line-height:1.65;color:var(--ink3);margin-top:6px;padding-top:13px;
    border-top:1px solid var(--line)}body.nv-financement .rcard{border:1px solid var(--line);border-radius:16px;padding:22px 24px;background:#fff}body.nv-financement .rcard .rv{font-family:'Lora',Georgia,serif;font-weight:600;font-size:44px;line-height:1;
    color:var(--red-d);letter-spacing:-.02em}body.nv-financement .rcard b{display:block;font-family:'Lora',Georgia,serif;font-weight:600;font-size:17px;margin:10px 0 7px}body.nv-financement .rcard p{font-size:13.8px;line-height:1.68;color:var(--ink2)}body.nv-financement .checks{display:grid;grid-template-columns:1fr 1fr;gap:14px}body.nv-financement .checks>div{display:grid;grid-template-columns:24px 1fr;gap:0 13px;border:1px solid var(--line);
    border-radius:13px;padding:16px 18px;background:#fff;align-items:start}body.nv-financement .checks .sx{width:20px;height:20px;color:var(--red);grid-row:1/3;margin-top:3px}body.nv-financement .checks b{font-family:'Lora',Georgia,serif;font-weight:600;font-size:16px}body.nv-financement .checks span{font-size:13.5px;line-height:1.6;color:var(--ink2);margin-top:4px}body.nv-financement .acard{border:1px solid var(--line);border-radius:16px;padding:21px 23px;background:#fff}body.nv-financement .acard b{display:block;font-family:'Lora',Georgia,serif;font-weight:600;font-size:17.5px}body.nv-financement .acard p{font-size:14.2px;line-height:1.7;color:var(--ink2);margin-top:8px}body.nv-financement .dgrid{display:grid;grid-template-columns:1fr 1fr;gap:16px}body.nv-financement .dgrid>div{border:1px solid var(--line);border-radius:16px;padding:21px 24px;background:#fff}body.nv-financement .dgrid b{display:block;font-family:'Lora',Georgia,serif;font-weight:600;font-size:18px;
    padding-bottom:11px;margin-bottom:11px;border-bottom:1px solid var(--line)}body.nv-financement .dgrid ul{margin:0;padding-left:19px}body.nv-financement .dgrid li{font-size:14.2px;line-height:1.62;color:var(--ink2);margin-bottom:7px}body.nv-financement .dgrid li:last-child{margin-bottom:0}body.nv-financement .tl2{display:grid;gap:0;border-left:2px solid var(--line);padding-left:0;margin-left:9px}body.nv-financement .tl2>div{position:relative;padding:0 0 26px 30px}body.nv-financement .tl2>div:last-child{padding-bottom:0}body.nv-financement .tl2>div:before{content:"";position:absolute;left:-7px;top:5px;width:12px;height:12px;
    border-radius:50%;background:#fff;border:2.5px solid var(--red)}body.nv-financement .tl2 .d{display:block;font-family:'Montserrat',sans-serif;font-weight:700;font-size:10.5px;
    letter-spacing:.13em;text-transform:uppercase;color:var(--red-d)}body.nv-financement .tl2 b{display:block;font-family:'Lora',Georgia,serif;font-weight:600;font-size:19px;margin-top:5px}body.nv-financement .tl2 p{font-size:14.2px;line-height:1.68;color:var(--ink2);margin-top:6px;max-width:660px}body.nv-financement .icard{border-radius:16px;padding:23px 25px;background:#fff;border:1px solid var(--line)}body.nv-financement .icard.yes{border-top:4px solid #186B2C}body.nv-financement .icard.no{border-top:4px solid var(--red)}body.nv-financement .icard b{display:block;font-family:'Lora',Georgia,serif;font-weight:600;font-size:19px;
    margin-bottom:13px}body.nv-financement .icard ul{margin:0;padding-left:19px}body.nv-financement .icard li{font-size:14.5px;line-height:1.68;color:var(--ink2);margin-bottom:9px}body.nv-financement .icard li:last-child{margin-bottom:0}body.nv-financement .locbox{margin-top:26px;border:1px dashed var(--line);border-radius:16px;padding:24px 26px;
    background:#fff}body.nv-financement .locbox .lt{font-family:'Lora',Georgia,serif;font-weight:600;font-size:20px;margin-bottom:10px}body.nv-financement .locbox p{font-size:15px;line-height:1.72;color:var(--ink2)}body.nv-financement .locbox .lph{margin-top:16px;border:1px dashed var(--line);border-radius:11px;padding:18px;
    text-align:center;font-family:'Montserrat',sans-serif;font-weight:600;font-size:11.5px;
    letter-spacing:.1em;text-transform:uppercase;color:var(--ink3);background:var(--ground)}@media(max-width:1080px){body.nv-financement .big2{grid-template-columns:1fr;gap:34px}body.nv-financement .facs{grid-template-columns:1fr 1fr}}@media(max-width:820px){body.nv-financement .toc .tg{grid-template-columns:1fr}body.nv-financement .steps,body.nv-financement .checks,body.nv-financement .dgrid{grid-template-columns:1fr}}@media(max-width:620px){body.nv-financement .retenir{padding:20px 18px}body.nv-financement .retenir li{font-size:14.5px;padding-left:34px}body.nv-financement .toc{padding:18px}body.nv-financement .facs{grid-template-columns:1fr}body.nv-financement .ncard .nv{font-size:32px}body.nv-financement .rcard .rv{font-size:36px}body.nv-financement .big2 h2{font-size:25px}body.nv-financement .h3s{font-size:19px}body.nv-financement .primo,body.nv-financement .dnbox,body.nv-financement .locbox{padding:18px}body.nv-financement .tl2 b{font-size:17px}}
/* == page : main (limitee a body.nv-main) == */
body.nv-main .hero{background:var(--ink);color:#fff;padding:74px 0 88px;position:relative;overflow:hidden}body.nv-main .hero:before{content:"";position:absolute;width:760px;height:760px;right:-230px;top:-320px;
    border-radius:50%;background:radial-gradient(circle,rgba(227,6,19,.30),transparent 66%)}body.nv-main .hero .wrap{position:relative;display:grid;grid-template-columns:1fr 430px;gap:64px;align-items:start}body.nv-main .hero h1{font-size:58px;margin:16px 0 22px;max-width:660px}body.nv-main .hero h1 em{font-style:normal;border-bottom:4px solid var(--red);padding-bottom:2px}body.nv-main .hero .lead{font-size:19px;line-height:1.7;color:rgba(255,255,255,.80);max-width:600px}body.nv-main .hero .cta{display:flex;gap:14px;margin:34px 0 0}body.nv-main .estim{background:#fff;color:var(--ink);border-radius:var(--r-lg);padding:32px;
    box-shadow:0 26px 60px rgba(0,0,0,.35)}body.nv-main .estim h3{font-size:24px;margin-bottom:8px}body.nv-main .estim>p{font-size:14.5px;color:var(--ink2);margin-bottom:20px}body.nv-main .estim .btn{width:100%;justify-content:center;margin-top:8px}body.nv-main .estim .fine{font-size:11.5px;color:var(--ink3);margin:14px 0 0;text-align:center}body.nv-main .pgrid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:38px}body.nv-main .path{border-radius:var(--r-lg);padding:38px 36px 34px;border:1px solid var(--line)}body.nv-main .path.sell{background:var(--ink);color:#fff;border-color:var(--ink)}body.nv-main .path h3{font-size:29px;margin:14px 0 12px}body.nv-main .path p{font-size:15.5px;line-height:1.7;color:var(--ink2)}body.nv-main .path.sell p{color:rgba(255,255,255,.78)}body.nv-main .path ul{list-style:none;margin:22px 0 28px}body.nv-main .path li{display:flex;gap:12px;padding:10px 0;font-size:15px;border-bottom:1px solid var(--line)}body.nv-main .path.sell li{border-bottom-color:rgba(255,255,255,.14);color:rgba(255,255,255,.88)}body.nv-main .path li:last-child{border-bottom:0}body.nv-main .path li .ic{color:var(--red);font-weight:700;flex:0 0 auto}body.nv-main .path.sell li .ic{color:#FF6B73}body.nv-main .wgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}body.nv-main .wc{background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.14);
    border-radius:var(--r);padding:28px 24px}body.nv-main .wc .n{font-family:'Montserrat',sans-serif;font-weight:700;font-size:12px;letter-spacing:.16em;
    color:#FF6B73;margin-bottom:16px}body.nv-main .wc h4{font-size:19px;margin-bottom:10px}body.nv-main .wc p{font-size:14.5px;line-height:1.66;color:rgba(255,255,255,.70)}body.nv-main .tgrid{display:grid;grid-template-columns:repeat(5,1fr);gap:20px;margin-top:34px}body.nv-main .tc{text-align:center}body.nv-main .tc .av{width:100%;aspect-ratio:1/1;border-radius:var(--r);margin-bottom:14px;position:relative;overflow:hidden}body.nv-main .tc .nm{font-family:'Lora',serif;font-weight:600;font-size:17px}body.nv-main .tc .rl{font-size:13px;color:var(--ink3);margin-top:3px;line-height:1.45}body.nv-main .tc .tl{font-size:13px;color:var(--red-d);margin-top:5px;font-weight:700}body.nv-main .agrid{display:grid;grid-template-columns:1.15fr 1fr;gap:56px;align-items:start}body.nv-main .agrid p{font-size:15.5px;line-height:1.78;color:var(--ink2);margin-bottom:15px}body.nv-main .agrid p a{color:var(--red-d);text-decoration:underline;text-underline-offset:2px}body.nv-main .comm h4{font-family:'Montserrat',sans-serif;font-weight:700;font-size:11.5px;letter-spacing:.17em;
    text-transform:uppercase;color:var(--ink3);margin-bottom:16px}body.nv-main .comm .cl{display:flex;flex-wrap:wrap;gap:9px}body.nv-main .comm .cl a{border:1px solid var(--line);border-radius:999px;padding:8px 15px;font-size:13.5px;
    color:var(--ink);text-decoration:none;background:#fff}body.nv-main .comm .cl a.hot{background:var(--ink);color:#fff;border-color:var(--ink)}body.nv-main .fgrid{display:grid;grid-template-columns:360px 1fr;gap:56px;align-items:start}body.nv-main .tc .av{width:132px;height:132px;aspect-ratio:auto;border-radius:50%;margin:0 auto 14px}
/* == surcouche : 60-desktop.css == */
/* Swixim - ajustements bureau (tour 2).
   Tout ce qui touche a la mise en page est enferme dans min-width:1081px :
   l'affichage telephone reste exactement ce qu'il etait. */

/* ---------- 1. menu deroulant "Les Gens" ---------- */
.appnav nav .nvit{position:relative;display:flex;align-items:center}
.appnav nav .nvit>.top{display:inline-flex;align-items:center;gap:7px;
  color:rgba(255,255,255,.82);text-decoration:none;padding-bottom:3px;
  border-bottom:2px solid transparent;transition:color .2s,border-color .2s}
.appnav nav .nvit:hover>.top{color:#fff}
.appnav nav .nvit>.top.on{color:#fff;border-bottom-color:var(--red)}
.appnav nav .car{width:0;height:0;border-left:4px solid transparent;border-right:4px solid transparent;
  border-top:5px solid currentColor;opacity:.7;transition:transform .25s ease}
.appnav nav .nvit:hover .car{transform:rotate(180deg)}
.appnav nav .sub{position:absolute;top:100%;left:-16px;min-width:302px;background:#fff;color:var(--ink);
  border-radius:16px;box-shadow:0 28px 64px rgba(0,0,0,.34);padding:10px;margin-top:16px;
  opacity:0;visibility:hidden;transform:translateY(8px);z-index:300;
  transition:opacity .22s ease,transform .22s ease,visibility .22s}
/* pont invisible : on ne perd pas le survol en descendant vers le menu */
.appnav nav .sub::before{content:"";position:absolute;left:0;right:0;top:-18px;height:18px}
.appnav nav .nvit:hover .sub,.appnav nav .nvit:focus-within .sub{opacity:1;visibility:visible;transform:none}
.appnav nav .sub a{display:block;padding:11px 14px;border-radius:11px;border:0;
  color:var(--ink);text-decoration:none;transition:background .18s}
.appnav nav .sub a:hover{background:var(--ground)}
.appnav nav .sub a b{display:block;font-family:'Lora',Georgia,serif;font-weight:600;
  font-size:15.5px;line-height:1.25}
.appnav nav .sub a small{display:block;font-size:12px;color:var(--ink3);margin-top:3px}
.appnav nav .sub a.tous{margin-top:6px;padding-top:13px;border-top:1px solid var(--line);
  border-radius:0;font-family:'Montserrat',sans-serif;font-weight:600;font-size:12.5px;color:var(--red-d)}
.appnav nav .sub a.tous:hover{background:transparent;color:var(--red)}
@media (max-width:820px){ .appnav nav .sub{display:none} }

/* ---------- 2. image carree du bandeau de tete ---------- */
.phead .heroimg{display:none}
.phead .hcopy{min-width:0}
@media (min-width:1081px){
  .phead .wrap{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:60px;align-items:center}
  .phead .heroimg{display:block;width:360px;height:360px;border-radius:var(--r-lg);
    overflow:hidden;position:relative;align-self:center;
    opacity:0;transform:translateX(74px);
    animation:nvhero .85s cubic-bezier(.22,.7,.26,1) .18s forwards}
  .phead .heroimg img{width:100%;height:100%;object-fit:cover;display:block}
  .phead h1{max-width:none}
  .phead .lead{max-width:none}
}
@keyframes nvhero{to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){
  .phead .heroimg{animation:none!important;opacity:1!important;transform:none!important}
}

/* ---------- 3. pastille d'icone unique pour tout le site ---------- */
.ic{width:46px;height:46px;border-radius:50%;background:rgba(227,6,19,.09);color:var(--red-d);
  display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;
  font-family:'Montserrat',sans-serif;font-weight:700;font-size:13.5px;letter-spacing:.02em}
.ic .sx{width:22px;height:22px}
.swxnv li:has(>.ic){display:flex;align-items:flex-start;gap:16px;padding:8px 0;line-height:1.6}
.swxnv li:has(>.ic) .ic{margin-top:-2px}

/* equipements d'une commune : meme pastille, plus grande */
body.nv-commune .amen .a{padding:30px 22px}
body.nv-commune .amen .a .sx{width:66px;height:66px;padding:19px;border-radius:50%;
  background:rgba(227,6,19,.09);color:var(--red-d);margin:0 auto 18px}
body.nv-commune .amen .a h4{margin-bottom:8px}

/* financement : "ce que la banque regarde" - icones plus grandes, plus d'air */
body.nv-financement .checks>div{grid-template-columns:62px 1fr;gap:2px 22px;padding:22px 24px;align-items:start}
body.nv-financement .checks .sx{width:62px;height:62px;padding:18px;border-radius:50%;
  background:rgba(227,6,19,.09);color:var(--red-d);margin-top:2px}
body.nv-financement .checks b{font-size:17px;line-height:1.3}
body.nv-financement .checks span{margin-top:7px;font-size:14px;line-height:1.62}

/* ---------- 4. financement : les deux chiffres de controle ---------- */
body.nv-financement .ncard{background:var(--ink);border-color:var(--ink);padding:26px 28px}
body.nv-financement .ncard .nl{background:transparent;color:#FF8A90;font-size:11px;letter-spacing:.14em}
body.nv-financement .ncard .nv{color:#fff;font-size:46px;margin:13px 0 12px}
body.nv-financement .ncard p{color:rgba(255,255,255,.80)}

/* ---------- 5. equipe : deplace dans 65-equipe.css ---------- */

/* ---------- 6. camembert des ventes par type de bien ---------- */
.dnut{display:grid;grid-template-columns:172px 1fr;gap:28px;align-items:center;margin:6px 0 4px}
.dn{width:172px;height:172px;display:block}
.dn .dnc{font-family:'Lora',Georgia,serif;font-weight:600;font-size:7.4px;fill:var(--ink)}
.dn .dns{font-family:'Montserrat',sans-serif;font-weight:600;font-size:2.3px;fill:var(--ink3);
  letter-spacing:.16em;text-transform:uppercase}
.dlg>div{display:grid;grid-template-columns:12px 1fr auto;gap:3px 12px;align-items:baseline;
  padding:11px 0;border-bottom:1px solid #EDEDED}
.dlg>div:last-child{border-bottom:0;padding-bottom:0}
.dlg .d{width:11px;height:11px;border-radius:50%;align-self:center}
.dlg b{font-family:'Lora',Georgia,serif;font-weight:600;font-size:16px}
.dlg i{font-style:normal;font-family:'Lora',Georgia,serif;font-weight:600;font-size:17px;white-space:nowrap}
.dlg small{grid-column:2 / -1;font-size:12px;color:var(--ink3)}
@media (max-width:620px){ .dnut{grid-template-columns:1fr;justify-items:center;gap:18px}
  .dn{width:152px;height:152px} .dlg{width:100%} }

/* ---------- 7. contact : devanture de l'agence ---------- */
body.nv-contact .map.ofc{height:420px;background:#D8DCDF}
body.nv-contact .map.ofc img{width:100%;height:100%;object-fit:cover;display:block}

/* ---------- 8. photos reelles des annonces ---------- */
.hasph{background-size:cover;background-position:center;background-repeat:no-repeat}
.hasph:before,.hasph:after{display:none!important}

/* == surcouche : 65-equipe.css == */
/* =====================================================================
   65 - Equipe : fiches verticales, trois par ligne (bureau)
   Remplace l'ancienne section 5 de 60-desktop.css.
   Les styles de .vmeta et .nvsector sont volontairement HORS media query :
   le balisage a change pour toutes les tailles d'ecran, donc le mobile doit
   rester lisible. La grille a trois colonnes, elle, reste reservee au bureau.
   ===================================================================== */

.swxnv .vmeta{display:grid;gap:0;margin:0 0 18px;padding:14px 0 2px;border-top:1px solid var(--line)}
.swxnv .vmeta>div{display:grid;grid-template-columns:82px 1fr;gap:3px 14px;align-items:baseline;
  padding:9px 0;border-bottom:1px solid var(--line);text-align:left}
.swxnv .vmeta dt{font-family:'Montserrat',sans-serif;font-weight:600;font-size:10px;
  letter-spacing:.13em;text-transform:uppercase;color:var(--ink3);margin:0}
.swxnv .vmeta dd{margin:0;font-size:14.5px;font-weight:600;color:var(--ink);line-height:1.45;
  overflow-wrap:anywhere}
.swxnv .vmeta a{color:var(--red-d);text-decoration:none;
  border-bottom:1px solid rgba(227,6,19,.30);transition:color .15s,border-color .15s}
.swxnv .vmeta a:hover{color:var(--red);border-bottom-color:var(--red)}

/* La note occupe toute la largeur : elle vaut pour l'ensemble des conseillers. */
.swxnv .nvsector{flex:1 0 100%;max-width:100%;margin:26px 0 0;font-size:13.5px;line-height:1.62;color:var(--ink2);
  padding:15px 19px;background:#F7F5F3;border-radius:10px;border-left:3px solid var(--red)}

@media (min-width:1081px){

  /* trois cartes par ligne ; la derniere ligne (deux cartes) reste centree,
     ce que la grille CSS ne sait pas faire - d'ou le flex. */
  body.nv-equipe .wrap:has(>.ag){display:flex;flex-wrap:wrap;justify-content:center;gap:26px}

  body.nv-equipe .ag.vcard{display:flex;flex-direction:column;
    flex:0 1 calc((100% - 52px) / 3);max-width:calc((100% - 52px) / 3);
    margin-bottom:0;padding:32px 0 30px;text-align:center}

  body.nv-equipe .ag.vcard .im{width:128px;height:128px;min-height:0;border-radius:50%;
    margin:0 auto 20px;flex:0 0 auto}

  body.nv-equipe .ag.vcard .bd{display:flex;flex-direction:column;flex:1 1 auto;
    padding:0 28px;min-width:0}
  body.nv-equipe .ag.vcard h3{font-size:21px;line-height:1.25;margin-bottom:6px}
  body.nv-equipe .ag.vcard .rl{font-size:10.5px;letter-spacing:.12em;margin-bottom:15px;
    line-height:1.5}
  body.nv-equipe .ag.vcard p{font-size:14px;line-height:1.68;margin-bottom:6px;max-width:none;
    text-align:left}

  /* Les bios n'ont pas la meme longueur : on pousse le bloc d'infos vers le bas
     pour que les lignes Mobile / E-mail / Secteur s'alignent d'une carte a l'autre. */
  body.nv-equipe .ag.vcard .vmeta{margin-top:auto}
  body.nv-equipe .ag.vcard .acts{justify-content:center;flex-wrap:wrap}
  body.nv-equipe .ag.vcard .acts .btn{width:100%}

  /* ordre demande : Christine, Anne-Marie, Sebastien / Maxime, Sacha */
  body.nv-equipe .ag:nth-of-type(1){order:3}
  body.nv-equipe .ag:nth-of-type(2){order:1}
  body.nv-equipe .ag:nth-of-type(3){order:2}
  body.nv-equipe .ag:nth-of-type(4){order:4}
  body.nv-equipe .ag:nth-of-type(5){order:5}
}

/* Repli a deux colonnes entre 900 et 1080 px : trois colonnes deviennent
   trop etroites pour la ligne "Mobile" et l'adresse e-mail. */
@media (min-width:900px) and (max-width:1080px){
  body.nv-equipe .wrap:has(>.ag){display:flex;flex-wrap:wrap;justify-content:center;gap:24px}
  body.nv-equipe .ag.vcard{display:flex;flex-direction:column;
    flex:0 1 calc((100% - 24px) / 2);max-width:calc((100% - 24px) / 2);
    margin-bottom:0;padding:30px 0 28px;text-align:center}
  body.nv-equipe .ag.vcard .im{width:120px;height:120px;min-height:0;border-radius:50%;
    margin:0 auto 18px;flex:0 0 auto}
  body.nv-equipe .ag.vcard .bd{display:flex;flex-direction:column;flex:1 1 auto;padding:0 26px}
  body.nv-equipe .ag.vcard p{text-align:left}
  body.nv-equipe .ag.vcard .vmeta{margin-top:auto}
  body.nv-equipe .ag.vcard .acts{justify-content:center}
  /* meme ordre qu'en trois colonnes */
  body.nv-equipe .ag:nth-of-type(1){order:3}
  body.nv-equipe .ag:nth-of-type(2){order:1}
  body.nv-equipe .ag:nth-of-type(3){order:2}
  body.nv-equipe .ag:nth-of-type(4){order:4}
  body.nv-equipe .ag:nth-of-type(5){order:5}
}

/* ---------------------------------------------------------------------
   Sous 900 px : la carte s'empile (photo au-dessus, infos en dessous).
   equipe.css ne contient aucune media query : la regle de base
   .ag{grid-template-columns:186px 1fr} s'appliquait donc aussi sur mobile,
   ce qui ne laissait que ~114 px au texte sur un ecran de 390 px. Les
   valeurs (telephone, e-mail, secteur) etaient coupees par overflow:hidden.
   --------------------------------------------------------------------- */
@media (max-width:899px){
  body.nv-equipe .ag.vcard{display:block;padding:26px 0 24px;text-align:center}
  body.nv-equipe .ag.vcard .im{width:124px;height:124px;min-height:0;border-radius:50%;margin:0 auto 18px}
  body.nv-equipe .ag.vcard .bd{padding:0 22px}
  body.nv-equipe .ag.vcard h3{font-size:21px}
  body.nv-equipe .ag.vcard .rl{margin-bottom:14px}
  body.nv-equipe .ag.vcard p{text-align:left;max-width:none;font-size:14.5px}
  body.nv-equipe .ag.vcard .acts{justify-content:center;flex-wrap:wrap}
  body.nv-equipe .ag.vcard .acts .btn{width:100%}
}

/* Tres petits ecrans : le libelle passe au-dessus de la valeur. */
@media (max-width:400px){
  .swxnv .vmeta>div{grid-template-columns:1fr;gap:2px;padding:10px 0}
}

/* Variante sur fond sombre : bandeau de tete des fiches conseiller. */
.swxnv .phead .nvsector{background:rgba(255,255,255,.07);color:rgba(255,255,255,.78);
  border-left-color:var(--red);max-width:760px;margin:22px 0 0}
/* Accueil : la note se place sous la rangee de l'equipe. */
body.nv-accueil .nvsector{max-width:820px;margin:28px auto 0;text-align:left}

/* == surcouche : 66-agent.css == */
/* =====================================================================
   66 - Fiches conseiller (bureau uniquement)
   Panneau de reservation compact dans le bandeau de tete. Le calendrier
   complet reste plus bas dans la page, a l'ancre #rdv : ce panneau sert
   a montrer la disponibilite tout de suite, pas a remplacer l'autre.
   Masque sous 1081 px : la version mobile n'est pas modifiee.
   ===================================================================== */

.swxnv .ahbook{display:none}

@media (min-width:1081px){

  .swxnv .wrap.ahero{display:grid;grid-template-columns:minmax(0,1fr) 332px;
    gap:54px;align-items:start}
  .swxnv .ahero .ahl{min-width:0}

  .swxnv .ahbook{display:block;background:rgba(255,255,255,.055);
    border:1px solid rgba(255,255,255,.14);border-radius:16px;padding:22px 22px 20px;
    backdrop-filter:blur(2px);position:sticky;top:96px}

  .swxnv .ahbook .bkh{display:flex;align-items:baseline;justify-content:space-between;
    gap:12px;margin-bottom:16px}
  .swxnv .ahbook .bkt{font-family:'Montserrat',sans-serif;font-weight:600;font-size:10px;
    letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.62)}
  .swxnv .ahbook .bkm{font-family:'Montserrat',sans-serif;font-weight:700;font-size:13px;
    color:#fff;white-space:nowrap}

  .swxnv .ahbook .bkdow,
  .swxnv .ahbook .bkgrid{display:grid;grid-template-columns:repeat(7,1fr);gap:3px}
  .swxnv .ahbook .bkdow{margin-bottom:5px}
  .swxnv .ahbook .bkdow span{text-align:center;font-family:'Montserrat',sans-serif;
    font-weight:600;font-size:9.5px;letter-spacing:.06em;color:rgba(255,255,255,.44)}

  .swxnv .ahbook .bkgrid b{display:flex;align-items:center;justify-content:center;
    height:27px;border-radius:7px;font-family:'Montserrat',sans-serif;font-weight:600;
    font-size:11.5px;color:rgba(255,255,255,.52);background:transparent}
  .swxnv .ahbook .bkgrid b.off{color:rgba(255,255,255,.18)}
  .swxnv .ahbook .bkgrid b.free{color:#fff;background:rgba(255,255,255,.12)}
  .swxnv .ahbook .bkgrid b.sel{color:#fff;background:var(--red);}

  .swxnv .ahbook .bkslots{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;
    margin:15px 0 4px}
  .swxnv .ahbook .bkslots span{display:flex;align-items:center;justify-content:center;
    height:30px;border-radius:8px;border:1px solid rgba(255,255,255,.20);
    font-family:'Montserrat',sans-serif;font-weight:600;font-size:11.5px;
    color:rgba(255,255,255,.80)}
  .swxnv .ahbook .bkslots span.on{background:#fff;border-color:#fff;color:var(--ink)}

  .swxnv .ahbook .bkcta{width:100%;justify-content:center;margin-top:14px}
  .swxnv .ahbook .bkn{margin:12px 0 0;font-size:11.5px;line-height:1.5;
    color:rgba(255,255,255,.58);text-align:center}

  /* le bandeau des fiches conseiller n'a pas d'image carree : on neutralise
     la regle generique de la section 2 de 60-desktop.css */
  .swxnv .phead .wrap.ahero{grid-template-columns:minmax(0,1fr) 332px}
}

/* Le lien du panneau descend vers le calendrier complet : on laisse de la
   place sous l'en-tete fixe. */
.swxnv #rdv{scroll-margin-top:92px}

/* == surcouche : 67-biens.css == */
/* =====================================================================
   67 - Acheter (bureau uniquement)
   Les quatre encadres chiffres restent en haut de page, mais en retrait :
   ils situent le portefeuille, ils ne doivent pas retarder l'acces aux
   biens. Le detail du marche (graphiques) est passe sous la grille.

   Les nombres restent ecrits dans le HTML : l'animation de comptage de
   40-motion.js ne fait que les afficher progressivement, une seule fois,
   et elle est desactivee si le visiteur a demande moins d'animations.
   ===================================================================== */

@media (min-width:1081px){

  body.nv-biens .tiles.c4{gap:14px}
  body.nv-biens .tiles.c4 .tile{padding:17px 18px 15px;border-radius:12px}
  body.nv-biens .tiles.c4 .tile .k{font-size:27px;letter-spacing:-.015em}
  body.nv-biens .tiles.c4 .tile .u{font-size:13px;margin-top:6px}
  body.nv-biens .tiles.c4 .tile .d{font-size:12.5px;margin-top:4px;line-height:1.5}
  body.nv-biens .tiles.c4 .tile .s{font-size:10.5px;margin-top:10px;padding-top:9px}

  /* moins de relief : ces encadres ne sont plus le sujet principal */
  body.nv-biens .tiles.c4 .tile:hover{transform:none;box-shadow:none}

  /* le chapeau de la section des chiffres se resserre pour remonter la grille */
  body.nv-biens .tiles.c4{margin-top:18px}
}

/* == surcouche : 68-vendre.css == */
/* =====================================================================
   68 - Vendre / estimation : bandeau compact des conseillers
   Place haut dans la page : un vendeur doit voir tout de suite a qui il
   aura affaire, et pouvoir ouvrir la fiche en un clic. Volontairement
   plus petit que la rangee de l'accueil : c'est un raccourci, pas la
   presentation de l'equipe.
   ===================================================================== */

.swxnv .tgrid.vsell{display:grid;grid-template-columns:repeat(5,1fr);gap:18px;margin-top:26px}
.swxnv .tgrid.vsell .tc{text-align:center;padding:0;background:none;border:0;box-shadow:none}
.swxnv .tgrid.vsell .av{width:88px;height:88px;min-height:0;border-radius:50%;margin:0 auto 12px}
.swxnv .tgrid.vsell .nm{font-size:14.5px;font-weight:700;line-height:1.3}
.swxnv .tgrid.vsell .rl{font-family:'Montserrat',sans-serif;font-weight:600;font-size:10px;
  letter-spacing:.09em;text-transform:uppercase;color:var(--ink3);margin-top:5px;line-height:1.5}

/* le portrait est un lien : on le montre au survol */
.swxnv .tgrid.vsell .pflink{display:block;border-radius:50%;
  transition:transform .25s cubic-bezier(.22,.7,.26,1),box-shadow .25s}
.swxnv .tgrid.vsell .pflink:hover{transform:translateY(-4px);
  box-shadow:0 12px 26px rgba(0,0,0,.16)}

@media (max-width:1080px){
  .swxnv .tgrid.vsell{grid-template-columns:repeat(3,1fr);gap:22px}
}
@media (max-width:640px){
  .swxnv .tgrid.vsell{grid-template-columns:repeat(2,1fr);gap:20px}
  .swxnv .tgrid.vsell .av{width:76px;height:76px}
}

/* == surcouche : 69-conseils.css == */
/* =====================================================================
   69 - Conseils : titres d'articles cliquables
   Le titre mene a l'article. Il garde l'apparence d'un titre : le
   soulignement n'apparait qu'au survol.
   ===================================================================== */

.swxnv .aclink{color:inherit;text-decoration:none;
  background-image:linear-gradient(currentColor,currentColor);
  background-size:0% 1px;background-position:0 100%;background-repeat:no-repeat;
  transition:background-size .28s cubic-bezier(.22,.7,.26,1),color .18s}
.swxnv .aclink:hover,
.swxnv .aclink:focus-visible{color:var(--red-d);background-size:100% 1px}

/* la vignette de l'article suit le survol de la carte */
.swxnv .ac .im.hasph,
.swxnv .feat .im.hasph{transition:transform .5s cubic-bezier(.22,.7,.26,1)}
.swxnv .ac:hover .im.hasph{transform:scale(1.03)}
.swxnv .ac{overflow:hidden}

/* == surcouche : 70-carousel.css == */
/* =====================================================================
   70 - Carrousel des photos de l'agence (page Contact)
   Remplace l'image unique tres allongee. Format plus carre (5/4) : les
   photos d'origine sont carrees ou en 4/3, la coupe reste donc legere.
   Navigation simple : fleches, puces, clavier. Pas de defilement
   automatique - rien ne bouge tant que le visiteur ne le demande pas.
   ===================================================================== */

/* On limite la LARGEUR, pas la hauteur : plafonner la hauteur reproduisait
   exactement le bandeau tres allonge que ce carrousel remplace. */
.swxnv .ocar{position:relative;border-radius:var(--r-lg,16px);overflow:hidden;
  background:#0E0E0E;box-shadow:var(--sh);max-width:780px;margin:0 auto}
.swxnv .ocar .ocv{position:relative;aspect-ratio:5 / 4}

.swxnv .ocar .os{position:absolute;inset:0;margin:0;opacity:0;visibility:hidden;
  transition:opacity .45s ease}
.swxnv .ocar .os.on{opacity:1;visibility:visible}
.swxnv .ocar .os img{width:100%;height:100%;object-fit:cover;object-position:center;display:block}

.swxnv .ocar figcaption{position:absolute;left:0;right:0;bottom:0;
  padding:52px 22px 18px;color:#fff;font-size:14px;line-height:1.4;
  background:linear-gradient(to top,rgba(0,0,0,.62),rgba(0,0,0,0));
  pointer-events:none}

.swxnv .ocar .onav{position:absolute;top:50%;transform:translateY(-50%);
  width:42px;height:42px;border-radius:50%;border:0;cursor:pointer;
  background:rgba(255,255,255,.90);color:var(--ink);
  font-size:24px;line-height:1;display:flex;align-items:center;justify-content:center;
  transition:background .2s,transform .2s}
.swxnv .ocar .onav:hover{background:#fff;transform:translateY(-50%) scale(1.06)}
.swxnv .ocar .onav.prev{left:14px}
.swxnv .ocar .onav.next{right:14px}
.swxnv .ocar .onav:focus-visible{outline:3px solid var(--red);outline-offset:2px}

.swxnv .ocar .odots{position:absolute;left:0;right:0;bottom:14px;
  display:flex;justify-content:center;gap:8px}
.swxnv .ocar .odots button{width:8px;height:8px;padding:0;border-radius:50%;border:0;
  cursor:pointer;background:rgba(255,255,255,.45);transition:background .2s,width .2s}
.swxnv .ocar .odots button.on{background:#fff;width:22px;border-radius:4px}
.swxnv .ocar .odots button:focus-visible{outline:2px solid #fff;outline-offset:3px}

@media (max-width:640px){
  .swxnv .ocar .ocv{aspect-ratio:4 / 3}
  .swxnv .ocar .onav{width:36px;height:36px;font-size:20px}
  .swxnv .ocar .onav.prev{left:8px}
  .swxnv .ocar .onav.next{right:8px}
  .swxnv .ocar figcaption{font-size:13px;padding:44px 16px 24px}
}

@media (prefers-reduced-motion:reduce){
  .swxnv .ocar .os{transition:none}
}

/* == surcouche : 71-donut.css == */
/* =====================================================================
   71 - Camembert des ventes : rendu, survol et tenue en largeur moyenne
   L'animation de trace est dans 70-donut.js. Ici le confort de lecture :
   transition douce, mise en avant au survol de la legende, et surtout la
   protection de la legende quand la carte devient etroite.
   ===================================================================== */

.swxnv .dnut svg circle{transition:opacity .22s ease,stroke-width .22s ease}
.swxnv .dnut .dlg>div{cursor:default;border-radius:8px;padding:6px 8px;margin:0 -8px;
  transition:background .2s ease}
.swxnv .dnut .dlg>div:hover{background:rgba(0,0,0,.035)}

/* quand une ligne est survolee, les autres arcs s'effacent legerement */
.swxnv .dnut.survol svg circle{opacity:.28}
.swxnv .dnut.survol svg circle.on{opacity:1;stroke-width:7.6}

.swxnv .dnut .dnc,
.swxnv .dnut .dns{transition:opacity .22s ease}

/* ---------------------------------------------------------------------
   Largeur moyenne (tablette, fenetre reduite) : le socle ne fait passer
   le camembert sur une colonne qu'en dessous de 620px. Entre 620 et
   900px, les deux cartes restent cote a cote : la legende tombait alors
   sous 150px et "Appartements" se coupait lettre par lettre. On empile
   plus tot, et on interdit a une etiquette de se couper.
   --------------------------------------------------------------------- */
.swxnv .dnut .dlg{min-width:0}
.swxnv .dnut .dlg b{white-space:nowrap}

@media (max-width:900px){
  .swxnv .dnut{grid-template-columns:1fr;justify-items:center;gap:18px}
  .swxnv .dnut .dlg{width:100%;max-width:360px}
}

@media (prefers-reduced-motion:reduce){
  .swxnv .dnut svg circle,
  .swxnv .dnut .dlg>div{transition:none}
}

/* == surcouche : 72-icones-bien.css == */
/* =====================================================================
   72 - Pictogrammes et blocs de la fiche bien

   1. Les icones sont desormais toutes tracees (trait, pas de surface) sur
      une grille 24x24 : .sx doit donc dessiner un trait et non un aplat.
   2. "A proximite" : pastille ronde identique pour les quatre entrees,
      texte a droite, meme diametre partout.
   3. Le renvoi vers la page financement s'affichait en noir sur noir :
      .swxnv a{color:inherit} (0,1,1) l'emportait sur .ratelink (0,1,0),
      donc le texte heritait de la couleur du corps. On repasse au-dessus
      avec .swxnv .ratelink (0,2,0), et le lien devient un vrai bouton.
   ===================================================================== */

/* ---------- 1. trait au lieu d'aplat ---------- */
.swxnv .sx{fill:none;stroke:currentColor}

/* ---------- 2. A proximite ---------- */
body.nv-bien .prox>div{display:grid;grid-template-columns:44px 1fr;gap:3px 15px;
  align-items:center;padding:16px 18px}
body.nv-bien .prox .sx{grid-row:1 / 3;align-self:center;width:44px;height:44px;padding:11px;
  border-radius:50%;background:rgba(227,6,19,.09);color:var(--red-d);margin:0}
body.nv-bien .prox b{align-self:end;margin:0}
body.nv-bien .prox span{align-self:start;margin-top:0}

/* ---------- 3. renvoi vers la page financement ---------- */
.swxnv .ratelink{display:grid;grid-template-columns:44px 1fr;gap:4px 16px;align-items:center;
  padding:22px 24px;background:var(--ink);color:#fff;text-decoration:none}
.swxnv .ratelink .sx{grid-row:1 / 3;align-self:start;width:44px;height:44px;padding:11px;
  border-radius:50%;background:rgba(255,255,255,.10);color:#FF8A90;margin-top:2px}
.swxnv .ratelink>span{color:rgba(255,255,255,.88);grid-column:2}
.swxnv .ratelink b{color:#fff;font-weight:600;border-bottom:1px solid rgba(255,255,255,.45)}

/* le renvoi doit se lire comme un bouton, pas comme une ligne de texte */
.swxnv .ratelink .ar{grid-column:2;justify-self:start;margin:14px 0 0;
  display:inline-flex;align-items:center;justify-content:center;
  background:var(--red);color:#fff;border-radius:999px;padding:12px 22px;
  font-family:'Montserrat',sans-serif;font-weight:600;font-size:13px;letter-spacing:.01em;
  white-space:nowrap;transition:background .2s ease,transform .2s ease}
.swxnv .ratelink:hover .ar{background:var(--red-d);transform:translateY(-1px)}

@media (max-width:640px){
  .swxnv .ratelink{padding:20px 18px;gap:4px 14px}
  .swxnv .ratelink .ar{grid-column:1 / -1;width:100%;white-space:normal;margin-top:16px}
}

/* =====================================================================
   4. Photos reelles : forcer le cadrage

   Les emplacements photo portent un raccourci 'background:#D8DCDF' dans
   la feuille de la page (par ex. body.nv-bien .gal .gs .ph). Un raccourci
   background remet background-size a 'auto', et sa specificite (0,3,1)
   depasse celle de .hasph (0,1,0). Resultat : l'image d'Apimo s'affichait
   a sa taille reelle, coin superieur gauche visible - d'ou un bandeau
   coupe en plein mot et des vignettes qui semblaient vides alors que la
   photo etait bien chargee.

   .hasph n'existe que pour dire "il y a une vraie photo ici, cadre-la" :
   c'est le cas ou !important est justifie, sinon n'importe quel raccourci
   de page reprendra le dessus.
   ===================================================================== */
.swxnv .hasph{background-size:cover!important;background-position:center!important;
  background-repeat:no-repeat!important}

/* Sur telephone, un bandeau trop bas coupe la photo : on lui donne un
   rapport proche du 4/3 des photos d'Apimo. */
@media (max-width:640px){
  body.nv-bien .gal .g1{aspect-ratio:4 / 3;height:auto;min-height:0}
  body.nv-bien .gal .gs .ph{aspect-ratio:4 / 3;height:auto;min-height:0}
}

/* L'etiquette d'emplacement ("Photo Apimo, ref ...") n'a plus lieu d'etre
   des qu'une vraie photo est en place : elle chevauchait le badge Exclusivite. */
.swxnv .hasph .lbl{display:none!important}

/* =====================================================================
   5. Badge "Exclusivite" du bandeau photo

   La pastille rouge n'etait definie que pour les cartes de liste
   (.lc .ph .tag). Sur la grande photo de la fiche bien, le badge restait
   un simple texte en ligne, sombre et colle en haut a gauche, ou il
   chevauchait l'etiquette de la photo. On reprend la meme pastille que
   partout ailleurs, et on la passe a droite : le coin superieur gauche
   des photos d'agence porte souvent une mention, et le bouton
   "Voir les photos" occupe deja le bas a gauche.
   ===================================================================== */
body.nv-bien .gal .g1{position:relative}
body.nv-bien .gal .g1 .tag{position:absolute;top:14px;right:14px;left:auto;z-index:3;
  display:inline-flex;align-items:center;background:var(--red);color:#fff;
  font-family:'Montserrat',sans-serif;font-weight:600;font-size:10.5px;letter-spacing:.11em;
  text-transform:uppercase;padding:7px 13px;border-radius:999px;
  box-shadow:0 2px 10px rgba(0,0,0,.22)}

@media (max-width:640px){
  body.nv-bien .gal .g1 .tag{top:12px;right:12px;font-size:10px;padding:6px 12px}
}

/* == surcouche : 73-tiroir.css == */
/* =====================================================================
   73 - Tiroir de navigation mobile

   Le tiroir est desormais un enfant direct de <body> (voir nv/header.php) :
   place dans <header>, le backdrop-filter de .appnav en faisait un bloc
   conteneur, son inset:0 se calait sur les 86 px de l'en-tete au lieu de
   l'ecran, et overflow rognait tous les liens - le menu s'ouvrait vide.

   Reste a le faire passer AU-DESSUS du bandeau de relecture (.nvbar,
   z-index 200) : sinon le bouton de fermeture disparait derriere lui.
   Un menu plein ecran doit couvrir la page entiere, bandeau compris.
   ===================================================================== */

.swxnv .drawer{z-index:240}

/* Confort de lecture : on garantit l'acces au bouton de fermeture meme sur
   les ecrans courts, et on autorise le defilement si la liste depasse. */
.swxnv .drawer{overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
.swxnv .drawer .close{z-index:2}

/* Sur un ecran bas (paysage), la liste doit pouvoir defiler sous le bouton. */
@media (max-height:620px){
  .swxnv .drawer{padding-top:74px;padding-bottom:28px}
  .swxnv .drawer a{padding-top:13px;padding-bottom:13px}
}

/* ---------------------------------------------------------------------
   Bouton d'appel du tiroir : .btn vaut inline-flex centre partout, mais
   une regle du tiroir le repasse en display:block. justify-content n'a
   alors plus d'effet et le libelle se colle a gauche. On retablit le
   centrage explicitement.
   --------------------------------------------------------------------- */
.swxnv .drawer .btn{display:flex;align-items:center;justify-content:center;
  text-align:center;gap:8px}

/* ---------------------------------------------------------------------
   Pastille CookieYes : ancree en bas a gauche avec un z-index tres eleve,
   elle passait devant le bouton du menu et devant le texte des pages.
   On la renvoie en bas a droite, ou rien n'est epingle.
   --------------------------------------------------------------------- */
.cky-btn-revisit-wrapper.cky-revisit-bottom-left{left:auto!important;right:16px!important}

/* et on laisse de la marge sous le dernier element du tiroir */
.swxnv .drawer{padding-bottom:92px}

/* ---------------------------------------------------------------------
   Cause racine du libelle decale : la regle de base .btn pose
   display:inline-flex et align-items:center, mais PAS justify-content.
   Tant qu'un bouton s'ajuste a son texte cela ne se voit pas ; des qu'il
   recoit une largeur (bouton pleine largeur, tiroir, colonne de
   formulaire), le libelle se cale a gauche. On centre a la source plutot
   que bouton par bouton.
   --------------------------------------------------------------------- */
.swxnv .btn{justify-content:center}  /* .btn de base : centrage manquant */

/* == surcouche : 74-bien-blocs.css == */
/* =====================================================================
   74 - Fiche bien : points cles, DPE, commune en chiffres
   Reprend la lisibilite des fiches actuelles (tuiles teintees, echelle
   DPE officielle, encadre commune) dans la palette du nouveau site.
   ===================================================================== */

/* ---------- 1. Les points cles ---------- */
.swxnv .kfacts{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:18px}
.swxnv .kfacts .kf{background:rgba(227,6,19,.045);border:1px solid rgba(227,6,19,.14);
  border-radius:13px;padding:14px 16px}
.swxnv .kfacts .kk2{display:block;font-family:'Montserrat',sans-serif;font-weight:600;
  font-size:10.5px;letter-spacing:.13em;text-transform:uppercase;color:var(--ink3)}
.swxnv .kfacts b{display:block;margin-top:6px;font-size:16px;line-height:1.35;color:var(--ink)}

/* ---------- 2. Performance energetique ---------- */
.swxnv .dpe{display:grid;grid-template-columns:minmax(0,1fr) 190px;gap:34px;
  align-items:start;margin-top:18px}
.swxnv .dpe .dlab{font-family:'Montserrat',sans-serif;font-weight:600;font-size:10.5px;
  letter-spacing:.13em;text-transform:uppercase;color:var(--ink3);margin-bottom:12px}

.swxnv .dsc{display:flex;flex-direction:column;gap:5px}
.swxnv .drow{display:flex;align-items:center;gap:12px}
.swxnv .drow span{display:flex;align-items:center;justify-content:flex-start;
  height:30px;padding:0 13px;border-radius:5px;color:#1a1a1a;
  font-family:'Montserrat',sans-serif;font-weight:700;font-size:13px;
  box-sizing:border-box}
.swxnv .drow span.on{outline:2.5px solid var(--ink);outline-offset:1px;
  box-shadow:0 3px 12px rgba(0,0,0,.18)}
.swxnv .drow .dval{font-family:'Montserrat',sans-serif;font-weight:700;font-size:14px;
  color:var(--ink);white-space:nowrap}

/* couleurs officielles de l'etiquette energie */
.swxnv .dA{background:#319834;color:#fff}
.swxnv .dB{background:#33cc31}
.swxnv .dC{background:#cbfc34}
.swxnv .dD{background:#fbfe06}
.swxnv .dE{background:#fbcc05}
.swxnv .dF{background:#fc9935}
.swxnv .dG{background:#fc0205;color:#fff}

.swxnv .gcol{border-left:1px solid var(--line);padding-left:30px}
.swxnv .gbox{width:96px;height:96px;border-radius:10px;display:flex;align-items:center;
  justify-content:center;font-family:'Lora',Georgia,serif;font-weight:600;font-size:44px;
  line-height:1}
.swxnv .gval{margin-top:12px;font-size:14px;color:var(--ink2)}

/* ---------- 3. La commune en chiffres ---------- */
.swxnv .comx{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:16px}
.swxnv .comx .cxt{background:var(--ground,#F7F5F3);border:1px solid var(--line);
  border-radius:13px;padding:14px 16px}
.swxnv .comx b{display:block;margin-top:6px;font-size:18px;line-height:1.3;
  font-family:'Lora',Georgia,serif;font-weight:600;color:var(--ink)}
.swxnv .comx b.up{color:#186B2C}
.swxnv .comx b.down{color:var(--red-d)}

@media (max-width:720px){
  .swxnv .dpe{grid-template-columns:1fr;gap:26px}
  .swxnv .gcol{border-left:0;padding-left:0;border-top:1px solid var(--line);padding-top:22px}
  .swxnv .gbox{width:84px;height:84px;font-size:38px}
}

@media (max-width:460px){
  .swxnv .kfacts,
  .swxnv .comx{grid-template-columns:1fr}
  .swxnv .drow .dval{font-size:13px}
}

/* == surcouche : 75-demande.css == */
/* =====================================================================
   75 - Fiche bien : "Votre demande" en liste deroulante
   Les trois boutons empiles prenaient une centaine de pixels et
   repoussaient le formulaire hors de l'ecran. Une seule liste suffit :
   le prix reste visible en haut de la carte, le conseiller en bas.
   ===================================================================== */

.swxnv .qsel{position:relative;margin-bottom:17px}

.swxnv .qsel select{
  -webkit-appearance:none;-moz-appearance:none;appearance:none;
  width:100%;height:46px;padding:0 42px 0 14px;
  border:1.5px solid var(--line);border-radius:10px;background:#fff;
  font:400 14px Helvetica,Arial,sans-serif;color:var(--ink);
  cursor:pointer;
  transition:border-color .18s ease,box-shadow .18s ease}

.swxnv .qsel select:hover{border-color:var(--ink3)}
.swxnv .qsel select:focus{outline:none;border-color:var(--ink);
  box-shadow:0 0 0 3px rgba(17,17,17,.10)}

/* chevron dessine en CSS : pas d'image a charger */
.swxnv .qsel::after{content:"";position:absolute;right:17px;top:50%;
  width:9px;height:9px;margin-top:-6px;
  border-right:2px solid var(--ink2);border-bottom:2px solid var(--ink2);
  transform:rotate(45deg);pointer-events:none}

/* == surcouche : 76-vallee.css == */
/* =====================================================================
   76 - Accueil : le prix au m2 commune par commune
   Rouge = nos communes de specialisation (bas de vallee), gris = communes
   intermediaires, noir = Chamonix, qui sert de repere de marche.
   L'ordre va du moins cher au plus cher : c'est l'argument.
   ===================================================================== */

.swxnv .vbar{display:flex;flex-direction:column;gap:14px;margin-top:26px}

.swxnv .vrow{display:grid;grid-template-columns:210px minmax(0,1fr) 128px;
  gap:20px;align-items:center}
.swxnv .vnom{font-size:15px;font-weight:700;line-height:1.3;color:var(--ink)}
.swxnv .vnom small{display:block;font-weight:400;font-size:12.5px;color:var(--ink3);margin-top:2px}

.swxnv .vtr{display:flex;flex-direction:column;gap:5px;min-width:0}
/* Les barres sont visibles par defaut : une animation d'entree qui ne se
   declenche pas (onglet en arriere-plan, rendu differe) laissait le
   graphique entierement vide. L'apparition en fondu de la section suffit. */
.swxnv .vfl{height:15px;border-radius:4px;min-width:3px}

/* nos communes */
.swxnv .vrow.f2 .va{background:var(--red)}
.swxnv .vrow.f2 .vm{background:rgba(227,6,19,.38)}
/* communes intermediaires */
.swxnv .vrow.f1 .va{background:#8A9099}
.swxnv .vrow.f1 .vm{background:#C9CED4}
/* repere de marche */
.swxnv .vrow.f0 .va{background:var(--ink)}
.swxnv .vrow.f0 .vm{background:#565B61}

.swxnv .vval{text-align:right}
.swxnv .vval b{display:block;font-family:'Montserrat',sans-serif;font-weight:700;
  font-size:15px;color:var(--ink);white-space:nowrap}
.swxnv .vval span{display:block;font-size:12.5px;color:var(--ink3);margin-top:3px;white-space:nowrap}

.swxnv .vleg{display:flex;flex-wrap:wrap;gap:22px;margin-top:20px;
  font-size:13px;color:var(--ink2)}
.swxnv .vleg span{display:inline-flex;align-items:center;gap:9px}
.swxnv .vleg i{width:22px;height:11px;border-radius:3px;flex:0 0 auto}
.swxnv .vleg i.va{background:var(--red)}
.swxnv .vleg i.vm{background:rgba(227,6,19,.38)}

/* ---------- le bloc d'arbitrage ---------- */
.swxnv .vval2{display:grid;grid-template-columns:1fr auto 1fr;gap:18px;
  align-items:center;margin:20px 0 4px}
.swxnv .vval2 .vv1,
.swxnv .vval2 .vv2{border:1px solid var(--line);border-radius:14px;padding:16px 18px}
.swxnv .vval2 .vv2{background:rgba(227,6,19,.055);border-color:rgba(227,6,19,.22)}
.swxnv .vval2 .kk2{display:block;font-family:'Montserrat',sans-serif;font-weight:600;
  font-size:10px;letter-spacing:.13em;text-transform:uppercase;color:var(--ink3)}
.swxnv .vval2 b{display:block;margin-top:7px;font-family:'Lora',Georgia,serif;
  font-weight:600;font-size:26px;line-height:1.15;color:var(--ink)}
.swxnv .vval2 .vv2 b{color:var(--red-d)}
.swxnv .vval2 .vvs{display:block;margin-top:6px;font-size:12.5px;color:var(--ink3);line-height:1.5}
.swxnv .vval2 .vveq{font-family:'Montserrat',sans-serif;font-weight:600;font-size:11px;
  letter-spacing:.1em;text-transform:uppercase;color:var(--ink3);text-align:center;
  max-width:96px;line-height:1.5}

/* ---------- la liste des communes ---------- */
.swxnv .vlist{list-style:none;margin:18px 0 0;padding:0}
.swxnv .vlist li{display:grid;grid-template-columns:14px 1fr;gap:4px 12px;
  padding:11px 0;border-bottom:1px solid var(--line)}
.swxnv .vlist li:last-child{border-bottom:0}
.swxnv .vlist .vd{width:12px;height:12px;border-radius:3px;margin-top:5px;grid-row:1 / 3}
.swxnv .vlist .vd.f2{background:var(--red)}
.swxnv .vlist .vd.f1{background:#8A9099}
.swxnv .vlist .vd.f0{background:var(--ink)}
.swxnv .vlist b{font-size:15px;color:var(--ink)}
.swxnv .vlist i{font-style:normal;font-size:13px;color:var(--ink3);line-height:1.5}

@media (max-width:820px){
  .swxnv .vrow{grid-template-columns:1fr auto;gap:5px 14px}
  .swxnv .vnom{grid-column:1}
  .swxnv .vval{grid-column:2;grid-row:1;text-align:right}
  .swxnv .vtr{grid-column:1 / -1}
  .swxnv .vval2{grid-template-columns:1fr;gap:12px}
  .swxnv .vval2 .vveq{max-width:none;text-align:left}
}

/* == surcouche : 77-duo.css == */
/* =====================================================================
   77 - Page double Les Houches + Chamonix

   Les lignes .row du socle sont faites pour des prix courts : .row .r est
   en white-space:nowrap, ce qui tronquait les valeurs reglementaires
   (« 3 ans renouvelables (1 an a Vallorcine) »). Le modificateur .txt rend
   ces lignes bavardes lisibles, et les empile sous 760px.
   ===================================================================== */

.swxnv .row.txt{align-items:flex-start}
.swxnv .row.txt .r{font-family:Helvetica,Arial,sans-serif;font-weight:600;font-size:15px;
  white-space:normal;text-align:right;line-height:1.45;max-width:62%;
  overflow-wrap:normal;word-break:normal}

@media (max-width:900px){
  .swxnv .row.txt{flex-direction:column;gap:4px}
  .swxnv .row.txt .r{max-width:none;text-align:left}
}

/* Le comparatif deux communes : deux valeurs sur une ligne, jamais coupees
   au milieu d'un nombre. */
.swxnv .row.duo .r{font-size:17px;white-space:nowrap}
@media (max-width:620px){
  .swxnv .row.duo{flex-direction:column;align-items:flex-start;gap:4px}
  .swxnv .row.duo .r{font-size:16px}
}

/* La composition du bandeau et la carte conseiller viennent desormais des
   regles de la page commune : le <body> porte nv-commune ET nv-commune-duo.
   Voir swxnv_body_groups() dans swixim-nv.php. */

/* == surcouche : 78-tiroir-sous.css == */
/* =====================================================================
   78 - Sous-menu des conseillers dans le tiroir mobile

   Sur desktop, "Les Gens" ouvre un sous-menu au survol. Sur mobile il n'y
   a pas de survol : le sous-menu n'existait donc pas du tout, et les noms
   des conseillers etaient inaccessibles depuis le menu. On le deplie ici,
   ouvert par defaut (les noms se voient sans rien toucher) et repliable
   par un bouton.
   ===================================================================== */

.swxnv .drawer .dgrp{border-bottom:1px solid rgba(255,255,255,.1)}

.swxnv .drawer .dtop{display:flex;align-items:center;justify-content:space-between;
  width:100%;font-family:'Lora',Georgia,serif;font-size:21px;line-height:1.3;
  padding:13px 0;color:#fff;background:transparent;border:0;text-align:left;
  cursor:pointer;-webkit-appearance:none;appearance:none}

/* chevron : vers le bas ferme, vers le haut ouvert */
.swxnv .drawer .dtop .car{flex:0 0 auto;width:9px;height:9px;margin:-4px 4px 0 12px;
  border-right:2px solid rgba(255,255,255,.72);border-bottom:2px solid rgba(255,255,255,.72);
  transform:rotate(45deg);transition:transform .25s ease}
.swxnv .drawer .dgrp.open .dtop .car{transform:rotate(-135deg);margin-top:3px}

.swxnv .drawer .dsub{display:none;padding:0 0 12px}
.swxnv .drawer .dgrp.open .dsub{display:block}

.swxnv .drawer .dsub a{font-family:Helvetica,Arial,sans-serif;font-size:16px;
  padding:10px 0 10px 14px;border-bottom:0;border-left:2px solid rgba(255,255,255,.18)}
.swxnv .drawer .dsub a b{display:block;font-weight:700;font-size:17px;line-height:1.3}
.swxnv .drawer .dsub a small{display:block;font-size:13px;margin-top:2px;
  color:rgba(255,255,255,.62)}
.swxnv .drawer .dsub a.tous{font-weight:700;border-left-color:#E30613}

@media (prefers-reduced-motion:reduce){
  .swxnv .drawer .dtop .car{transition:none}
}

/* == surcouche : 86-biens-filtre.css == */
/* =====================================================================
   86 - Page Acheter : filtres reels

   Les filtres etaient des <div class="inp sel"> decoratifs. Ce sont
   maintenant de vrais <select> et un <input> : on leur redonne exactement
   l'apparence des anciens blocs pour ne rien changer au dessin de la page.
   ===================================================================== */

.swxnv .fld select.inp,
.swxnv .fld input.inp{
  width:100%;border:1.5px solid var(--line);border-radius:12px;min-height:46px;
  padding:12px 14px;font-size:15px;color:var(--ink);background:var(--ground);
  font-family:inherit;line-height:1.2;-webkit-appearance:none;appearance:none}

/* chevron dessine en CSS, comme sur les anciens blocs "sel" */
.swxnv .fld select.inp{
  padding-right:38px;cursor:pointer;
  background-image:linear-gradient(45deg,transparent 50%,var(--ink3) 50%),
                   linear-gradient(135deg,var(--ink3) 50%,transparent 50%);
  background-position:calc(100% - 20px) calc(50% + 2px),calc(100% - 15px) calc(50% + 2px);
  background-size:5px 5px,5px 5px;background-repeat:no-repeat}

.swxnv .fld select.inp:focus,
.swxnv .fld input.inp:focus{outline:2px solid var(--red);outline-offset:1px}

/* le bouton du bandeau de filtres s'aligne sur la hauteur des champs */
.swxnv .filt .btn{align-self:end;min-height:46px}

/* puce active */
.swxnv .fchips a{cursor:pointer}

/* carte masquee par un filtre */
.swxnv .lc[hidden]{display:none}

/* aucun resultat */
.swxnv .vide{margin-top:26px;padding:26px;border:1px dashed var(--line);border-radius:14px;
  background:var(--ground);color:var(--ink2);font-size:15px;text-align:center}
.swxnv .vide a{text-decoration:underline}

@media (max-width:760px){
  .swxnv .fld select.inp,
  .swxnv .fld input.inp{min-height:52px;font-size:16px}
  .swxnv .filt .btn{width:100%}
}

/* bouton "voir plus" sous la grille */
.swxnv .plus{display:flex;justify-content:center;margin-top:30px}
.swxnv .plus .btn{min-width:260px;justify-content:center}
.swxnv .plus .btn[hidden]{display:none}

/* == surcouche : 87-hero-trait.css == */
/* =====================================================================
   87 - Le trait rouge sous les mots importants du titre

   Il n'existait que sur l'accueil (.hero h1 em, un simple border-bottom) et
   nulle part ailleurs : les autres pages ont un bandeau .phead. On le
   generalise a TOUS les titres de page, et on le fait vraiment se tracer.

   Un degrade en arriere-plan plutot qu'une bordure : c'est la seule facon
   d'animer la largeur du trait tout en gardant un trait par ligne quand le
   titre passe a la ligne. box-decoration-break:clone donne son propre trait
   a chaque fragment.
   ===================================================================== */

.swxnv h1 em{
  --trait:4px;
  font-style:normal;
  /* L'accueil porte encore body.nv-main .hero h1 em{border-bottom:4px} (0,2,3),
     plus specifique que cette regle : sans !important les deux traits se
     superposeraient, un fixe et un anime. */
  border-bottom:0 !important;
  padding-bottom:2px;
  background-image:linear-gradient(var(--red),var(--red));
  background-repeat:no-repeat;
  background-position:0 100%;
  background-size:0 var(--trait);
  -webkit-box-decoration-break:clone;
  box-decoration-break:clone;
  animation:nvtrait .72s cubic-bezier(.22,.7,.26,1) .35s forwards;
}

@keyframes nvtrait{ to{ background-size:100% var(--trait) } }

@media (max-width:760px){
  .swxnv h1 em{--trait:3px}
}

@media (prefers-reduced-motion:reduce){
  .swxnv h1 em{animation:none;background-size:100% var(--trait)}
}

/* == surcouche : 88-entete.css == */
/* =====================================================================
   88 - En-tete en trois bandes, comme la page recrutement en ligne

   Bande noire (reseaux + coordonnees), barre de menu BLANCHE qui tranche,
   puis le bandeau noir de la page. L'ancienne barre etait noire translucide,
   ce qui la fondait dans le hero.
   ===================================================================== */

/* ---------------- bande noire ---------------- */
.swxnv .nvtop{background:#0b0b0b;color:rgba(255,255,255,.72);font-size:13px}
.swxnv .nvtop .wrap{display:flex;align-items:center;justify-content:space-between;
  gap:18px;min-height:40px}

.swxnv .nvtop .soc{display:flex;align-items:center;gap:6px;list-style:none;margin:0;padding:0}
.swxnv .nvtop .soc a{display:inline-flex;align-items:center;justify-content:center;
  width:32px;height:32px;border-radius:8px;color:rgba(255,255,255,.8);
  transition:color .2s ease,background .2s ease}
.swxnv .nvtop .soc a:hover{color:#fff;background:rgba(255,255,255,.1)}
.swxnv .nvtop .soc svg{width:17px;height:17px;display:block}

.swxnv .nvtop .tcoord{display:flex;align-items:center;gap:10px;white-space:nowrap}
.swxnv .nvtop .tcoord a{color:rgba(255,255,255,.72);text-decoration:none}
.swxnv .nvtop .tcoord a:hover{color:#fff}
.swxnv .nvtop .sep{opacity:.4}

/* Le widget de langues (GTranslate) se pose a droite : on lui laisse la place. */
@media (max-width:900px){
  .swxnv .nvtop .tcoord{display:none}
  .swxnv .nvtop .wrap{justify-content:flex-start}
}

/* ---------------- barre de menu blanche ---------------- */
.swxnv .appnav.light{background:#fff;color:var(--ink);backdrop-filter:none;
  border-bottom:1px solid var(--line);box-shadow:0 1px 0 rgba(0,0,0,.04)}
.swxnv .appnav.light.small{box-shadow:0 8px 24px rgba(0,0,0,.10)}

/* la barre colle sous le bandeau de relecture quand il est la, sinon en haut */
.swxnv .nvbar ~ .appnav{top:41px}

.swxnv .appnav.light nav a,
.swxnv .appnav.light nav .nvit>.top{color:var(--ink2)}
.swxnv .appnav.light nav a:hover,
.swxnv .appnav.light nav .nvit:hover>.top{color:var(--ink)}
.swxnv .appnav.light nav a.on,
.swxnv .appnav.light nav .nvit>.top.on{color:var(--ink);border-bottom-color:var(--red)}

.swxnv .appnav.light .tel{color:var(--ink);border-color:var(--line)}
.swxnv .appnav.light .tel:hover{border-color:var(--ink);background:var(--ground)}

/* les barres du bouton menu passent en fonce sur fond blanc */
.swxnv .appnav.light .burger i{background:var(--ink)}
.swxnv .appnav.light .burger{border-color:var(--line)}

/* ---------------- place aux deux boutons ---------------- */
.swxnv .appnav.light .sp{gap:10px}
.swxnv .appnav.light .btn-sm{white-space:nowrap}

@media (max-width:1180px){
  .swxnv .appnav.light .tel{display:none}   /* le numero reste dans la bande noire */
}

/* == surcouche : 89-hero-montagne.css == */
/* =====================================================================
   89 - La crete de montagne au bas de chaque bandeau de page

   Reprise telle quelle de la page recrutement en ligne : deux silhouettes
   superposees, dessinees en SVG dans l'image de fond. Aucun fichier a
   charger, et aucune deformation quelle que soit la largeur.
   Posee sur TOUS les bandeaux : .hero (accueil) et .phead (le reste).
   ===================================================================== */

.swxnv .hero,
.swxnv .phead,
.swxnv .bhead{position:relative;overflow:hidden}

.swxnv .hero::after,
.swxnv .phead::after,
.swxnv .bhead::after{
  content:"";
  position:absolute;
  left:0;right:0;bottom:0;
  height:260px;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 260' preserveAspectRatio='none'%3E%3Cpath d='M0 260 L0 170 L140 120 L230 150 L360 60 L470 130 L560 95 L700 20 L820 110 L930 70 L1060 140 L1180 80 L1300 130 L1440 90 L1440 260Z' fill='%23808080' fill-opacity='0.18'/%3E%3Cpath d='M0 260 L0 210 L180 170 L300 195 L430 140 L560 185 L690 120 L830 175 L980 130 L1120 190 L1260 150 L1440 185 L1440 260Z' fill='%23505050' fill-opacity='0.35'/%3E%3C/svg%3E") bottom/100% 100% no-repeat;
  pointer-events:none;
  z-index:0;
}

/* Le contenu du bandeau passe devant la crete. */
.swxnv .hero>.wrap,
.swxnv .phead>.wrap,
.swxnv .bhead>.wrap{position:relative;z-index:1}

/* Ecran court : une crete de 260 px mangerait la moitie du bandeau. */
@media (max-width:760px){
  .swxnv .hero::after,
  .swxnv .phead::after,
  .swxnv .bhead::after{height:150px}
}

/* =====================================================================
   Bulles flottantes sur l'image du bandeau
   Memes cartes blanches que sur la page recrutement : un chiffre rouge et
   une ligne d'explication. Elles reprennent des chiffres deja affiches sur
   la page, jamais un nombre invente.
   ===================================================================== */

.swxnv .heroimg{position:relative;overflow:visible}

.swxnv .nvfloat{position:absolute;background:#fff;color:var(--ink);border-radius:16px;
  padding:14px 18px;display:grid;gap:2px;max-width:225px;
  box-shadow:0 24px 50px rgba(0,0,0,.45);
  animation:nvFloat 6s ease-in-out infinite;z-index:2}
.swxnv .nvfloat b{font-family:'Lora',Georgia,serif;font-weight:600;font-size:27px;
  color:var(--red);line-height:1.1}
.swxnv .nvfloat span{font-size:12.5px;color:var(--ink3);line-height:1.4}

.swxnv .nvfloat-a{left:-30px;bottom:-22px}
.swxnv .nvfloat-b{right:-16px;top:-20px;animation-delay:-3s}

@keyframes nvFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}

/* Sous 1081 px l'image du bandeau est masquee : les bulles avec elle. */
@media (max-width:1080px){
  .swxnv .nvfloat{display:none}
}

@media (prefers-reduced-motion:reduce){
  .swxnv .nvfloat{animation:none}
}

/* == surcouche : 91-pleine-largeur.css == */
/* =====================================================================
   91 - En-tete et bandeaux sur toute la largeur

   Le socle enferme tout dans .wrap{max-width:1200px}. Les fonds noirs et
   blancs traversaient bien l'ecran, mais leur CONTENU restait dans une
   boite centree : sur un 1440 le logo flottait a 120 px du bord.
   Ici, seules la barre de menu et les bandeaux passent en pleine largeur,
   avec une gouttiere qui grandit avec l'ecran. Le corps des pages reste
   dans sa boite : une ligne de texte de 1900 px ne se lit pas.
   ===================================================================== */

.swxnv .nvtop>.wrap,
.swxnv .appnav>.wrap,
.swxnv .hero>.wrap,
.swxnv .phead>.wrap,
.swxnv .bhead>.wrap{
  max-width:none;
  padding-inline:clamp(18px,3.2vw,60px);
}

/* Tres grand ecran : le fond occupe tout, mais le titre et le chapeau
   gardent une longueur de ligne lisible. */
@media (min-width:1700px){
  .swxnv .phead h1,
  .swxnv .bhead h1,
  .swxnv .phead .lead,
  .swxnv .bhead .lead{max-width:1040px}
}

/* La grille du bandeau garde son colonnage, mais respire davantage. */
@media (min-width:1400px){
  .swxnv .phead>.wrap{gap:clamp(60px,6vw,110px)}
  .swxnv .hero>.wrap{gap:clamp(64px,6vw,120px)}
}

/* == surcouche : 92-duo-infographie.css == */
/* =====================================================================
   92 - Page double Les Houches + Chamonix : les deux infographies

   1. .jauges : part des residences secondaires, une jauge par commune.
      Les deux communes de la page sont en rouge (.fort), les communes de
      fond de vallee en gris : l'opposition doit se voir sans lire.

   2. .ech : l'echelle des prix en barres. La largeur est proportionnelle
      au prix median, donc la barre porte l'information, pas la decoration.
   ===================================================================== */

/* ---- 1. Jauges residences secondaires ------------------------------- */

.swxnv .jauges{display:grid;grid-template-columns:repeat(4,1fr);gap:26px;margin-top:30px}

.swxnv .jg .jgt{display:flex;align-items:baseline;justify-content:space-between;gap:10px;
  margin-bottom:9px}
.swxnv .jg .jgt .nm{font-family:'Montserrat',sans-serif;font-weight:600;font-size:11px;
  letter-spacing:.12em;text-transform:uppercase;color:var(--ink3)}
.swxnv .jg .jgt .pc{font-family:'Lora',Georgia,serif;font-weight:600;font-size:30px;
  line-height:1;color:var(--ink3);font-variant-numeric:tabular-nums}

.swxnv .jg .jgb{height:10px;border-radius:999px;background:#E3E6E9;overflow:hidden}
.swxnv .jg .jgb i{display:block;height:100%;border-radius:999px;background:#9AA4AE;
  transition:width .9s cubic-bezier(.2,.7,.2,1)}

.swxnv .jg .jgm{margin-top:10px;font-size:13.5px;line-height:1.55;color:var(--ink3)}

/* Les deux communes de la page : c'est la qu'on veut l'oeil. */
.swxnv .jg.fort .jgt .pc{color:var(--red-d)}
.swxnv .jg.fort .jgb i{background:var(--red-d)}
.swxnv .jg.fort .jgm{color:var(--ink2)}

/* Le chiffre isole d'une carte ("14 676"). */
.swxnv .kfig{font-family:'Lora',Georgia,serif;font-weight:600;font-size:42px;line-height:1.05;
  color:var(--red-d);margin:6px 0 10px;font-variant-numeric:tabular-nums}

@media (max-width:1080px){
  .swxnv .jauges{grid-template-columns:repeat(2,1fr);gap:24px}
}
@media (max-width:560px){
  .swxnv .jauges{grid-template-columns:1fr;gap:20px}
  .swxnv .jg .jgt .pc{font-size:26px}
  .swxnv .kfig{font-size:34px}
}

/* ---- 2. Echelle des prix -------------------------------------------- */

.swxnv .ech{margin-top:28px;display:flex;flex-direction:column;gap:2px}

.swxnv .ech .eb{display:grid;grid-template-columns:210px 1fr 110px;align-items:center;gap:18px;
  padding:13px 14px;border-radius:10px;text-decoration:none;color:inherit;
  transition:background .25s ease}
.swxnv .ech a.eb:hover{background:rgba(17,17,17,.045)}

.swxnv .ech .eb .nm{font-family:'Montserrat',sans-serif;font-weight:600;font-size:14px;
  color:var(--ink2);display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.swxnv .ech a.eb:hover .nm{color:var(--ink)}

.swxnv .ech .eb .br{display:block;height:14px;border-radius:999px;background:#E3E6E9;
  overflow:hidden}
.swxnv .ech .eb .br i{display:block;height:100%;border-radius:999px;background:#9AA4AE;
  transition:width .9s cubic-bezier(.2,.7,.2,1)}

.swxnv .ech .eb .vl{font-family:'Lora',Georgia,serif;font-weight:600;font-size:19px;
  text-align:right;color:var(--ink);font-variant-numeric:tabular-nums;white-space:nowrap}

/* Les deux communes de la page : en rouge, et pas cliquables. */
.swxnv .ech .eb.ici{background:rgba(17,17,17,.045)}
.swxnv .ech .eb.ici .nm{color:var(--ink)}
.swxnv .ech .eb.ici .br i{background:var(--red-d)}
.swxnv .ech .eb.ici .vl{color:var(--red-d)}

.swxnv .ech .tag{font-family:'Montserrat',sans-serif;font-weight:600;font-size:9.5px;
  letter-spacing:.1em;text-transform:uppercase;color:#fff;background:var(--red-d);
  border-radius:999px;padding:3px 8px;white-space:nowrap}

@media (max-width:760px){
  .swxnv .ech .eb{grid-template-columns:1fr auto;gap:7px 12px;padding:12px 10px}
  .swxnv .ech .eb .nm{grid-column:1}
  .swxnv .ech .eb .vl{grid-column:2;grid-row:1;font-size:17px}
  .swxnv .ech .eb .br{grid-column:1 / -1;grid-row:2;height:11px}
}

@media (prefers-reduced-motion:reduce){
  .swxnv .jg .jgb i, .swxnv .ech .eb .br i{transition:none}
}

/* == surcouche : 93-menu-secteurs.css == */
/* =====================================================================
   93 - Entree de menu "Nos secteurs"

   Elle n'ouvre aucune page a elle : c'est un bouton, pas un lien. Les regles
   du menu deroulant visent .top par la classe, donc elles s'appliquent deja ;
   il ne manque que la remise a zero des styles propres au <button>.
   ===================================================================== */

.swxnv .appnav nav .nvit>button.top{
  font-family:inherit;font-size:inherit;font-weight:inherit;line-height:inherit;
  background:transparent;border:0;border-bottom:2px solid transparent;
  padding:0 0 3px;margin:0;cursor:pointer;-webkit-appearance:none;appearance:none}

.swxnv .appnav nav .nvit>button.top .car{flex:0 0 auto}

/* Ouverture au clavier autant qu'au survol : sans cela l'entree serait
   inutilisable sans souris. .nvit:focus-within ouvre deja le panneau. */
.swxnv .appnav nav .nvit>button.top:focus-visible{outline:2px solid var(--red);
  outline-offset:3px;border-radius:4px}

/* == surcouche : 94-filtre-recherche.css == */
/* =====================================================================
   94 - Page Acheter : rendre la recherche lisible

   Le panneau de filtres est en haut de page, la grille de resultats bien
   plus bas. En changeant un critere on ne voyait donc rien bouger, et le
   seul bouton disait "Tout afficher" : il ressemblait a un bouton de
   recherche et faisait l'inverse. Le bouton porte maintenant le nombre de
   resultats et emmene a la grille ; la remise a zero devient un lien.
   ===================================================================== */

.swxnv .filt .fgo{display:flex;align-items:center;gap:14px;flex-wrap:wrap}

.swxnv .filt .fgo .btn{white-space:nowrap}
.swxnv .filt .fgo .btn[disabled]{opacity:.45;cursor:not-allowed}

.swxnv .filt .fclear{font-family:'Montserrat',sans-serif;font-weight:600;font-size:12.5px;
  letter-spacing:.04em;color:var(--ink3);background:transparent;border:0;padding:6px 2px;
  cursor:pointer;text-decoration:underline;text-underline-offset:3px;
  -webkit-appearance:none;appearance:none}
.swxnv .filt .fclear:hover{color:var(--ink)}

/* Le lien vers la page de la commune filtree, juste au-dessus des resultats. */
.swxnv .fcom{display:inline-flex;align-items:center;gap:8px;
  font-family:'Montserrat',sans-serif;font-weight:600;font-size:13.5px;
  color:var(--red-d);text-decoration:none;
  border:1px solid rgba(227,6,19,.28);border-radius:999px;
  padding:10px 18px;margin-bottom:22px;background:#fff;
  transition:background .2s ease,border-color .2s ease}
.swxnv .fcom:hover{background:var(--red-d);border-color:var(--red-d);color:#fff}
.swxnv .fcom[hidden]{display:none}

@media (max-width:760px){
  .swxnv .filt .fgo{width:100%;justify-content:space-between}
  .swxnv .filt .fgo .btn{flex:1 1 auto;justify-content:center}
  .swxnv .fcom{font-size:12.5px;padding:9px 15px}
}

/* == surcouche : 95-ancres.css == */
/* =====================================================================
   95 - Liens d'ancre : defilement doux et degagement sous l'en-tete

   Les boutons du bandeau des fiches conseiller descendent vers le
   calendrier de la meme page (#rdv), et "Envoyer un message" vers le
   formulaire de la page contact (#formulaire). Sans marge de defilement,
   l'en-tete colle (.appnav, position:sticky) recouvre la cible ; sans
   defilement doux, le saut est brutal et on ne comprend pas qu'on a
   change d'endroit sur la meme page.
   ===================================================================== */

html{scroll-behavior:smooth}

/* L'en-tete fait environ 86px, 66px une fois retracte (.appnav.small). */
.swxnv #rdv,
.swxnv #message,
.swxnv #formulaire{scroll-margin-top:92px}

@media (max-width:760px){
  .swxnv #rdv,
  .swxnv #message,
  .swxnv #formulaire{scroll-margin-top:78px}
}

/* Un visiteur qui a demande moins d'animations ne veut pas d'un
   defilement anime : le saut direct reste correct. */
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
}

/* == surcouche : 96-agenda-mini.css == */
/* 96 — calendrier blanc du bandeau d'une fiche conseiller.
   Meme traitement que la maquette : cellules encadrees, mois en serif,
   fleches de navigation, creneaux sur deux colonnes. */

.swxnv .ahcal{background:#fff;color:var(--ink,#111);border-radius:14px;padding:22px 22px 20px;
  box-shadow:0 26px 60px rgba(0,0,0,.35);border:0}

.swxnv .ahcal .calh{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}
.swxnv .ahcal .calt{font-family:Lora,Georgia,serif;font-size:21px;line-height:1.15;text-transform:capitalize;
  color:var(--ink,#111);letter-spacing:0}
.swxnv .ahcal .calnav{display:flex;gap:6px;flex:0 0 auto}
.swxnv .ahcal .calnav button{width:30px;height:30px;border:1px solid var(--line,#e4e4e4);border-radius:7px;
  background:#fff;color:var(--ink2,#5e646d);font-size:16px;line-height:1;cursor:pointer;
  display:flex;align-items:center;justify-content:center;transition:border-color .16s,color .16s}
.swxnv .ahcal .calnav button:hover{border-color:var(--ink,#111);color:var(--ink,#111)}

.swxnv .ahcal .calg{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;margin-bottom:18px}
.swxnv .ahcal .cald{font-size:11px;letter-spacing:.04em;color:var(--ink2,#8a9098);text-align:center;
  padding-bottom:2px;font-weight:500}
.swxnv .ahcal .calc{display:flex;align-items:center;justify-content:center;aspect-ratio:1;font-size:13.5px;
  font-weight:500;border:1px solid var(--line,#e4e4e4);border-radius:8px;color:var(--ink,#111);
  cursor:pointer;transition:border-color .14s,background .14s,color .14s;user-select:none}
.swxnv .ahcal .calc:hover{border-color:var(--ink,#111)}
.swxnv .ahcal .calc.hors{border-color:transparent;color:#c9ced4;cursor:default}
.swxnv .ahcal .calc.hors:hover{border-color:transparent}
.swxnv .ahcal .calc.off{border-color:transparent;color:#c9ced4;cursor:default}
.swxnv .ahcal .calc.off:hover{border-color:transparent}
.swxnv .ahcal .calc.now{background:var(--red,#e2001a);border-color:var(--red,#e2001a);color:#fff;font-weight:600}
.swxnv .ahcal .calc.pris{background:var(--ink,#111);border-color:var(--ink,#111);color:#fff;font-weight:600}

.swxnv .ahcal .calsl{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-bottom:16px}
.swxnv .ahcal .calsl button{display:flex;align-items:center;justify-content:center;font:inherit;font-size:14px;
  background:#fff;border:1px solid var(--line,#e4e4e4);border-radius:8px;padding:12px 6px;color:var(--ink,#111);
  cursor:pointer;transition:border-color .14s,background .14s,color .14s}
.swxnv .ahcal .calsl button:hover{border-color:var(--ink,#111)}
.swxnv .ahcal .calsl button.pris{background:var(--ink,#111);border-color:var(--ink,#111);color:#fff}

.swxnv .ahcal .caln2{font-size:12.5px;line-height:1.5;color:var(--ink2,#5e646d);margin:0 0 14px}
.swxnv .ahcal .caln2 b{color:var(--ink,#111)}
.swxnv .ahcal .bkcta{width:100%;justify-content:center}

@media(max-width:1080px){
  .swxnv .ahcal{max-width:430px}
}

/* == surcouche : 96-formulaires.css == */
/* =====================================================================
   96 - Formulaires reels

   Les maquettes utilisaient des <div class="inp"> ; les vrais champs sont
   des <input>, <select> et <textarea>. Le socle stylait deja input.inp et
   select.inp (filtre de la page Acheter) : il manque le textarea, la case
   a cocher, et le bandeau de confirmation apres envoi.
   ===================================================================== */

.swxnv .fld textarea.inp{
  border:1.5px solid var(--line);border-radius:12px;
  padding:12px 14px;font-size:15px;font-family:inherit;line-height:1.55;
  color:var(--ink);background:var(--ground);width:100%;display:block;
  min-height:120px;resize:vertical;-webkit-appearance:none;appearance:none}

.swxnv .fld input.inp,
.swxnv .fld select.inp{width:100%;display:block;color:var(--ink);
  font-family:inherit;-webkit-appearance:none;appearance:none}

.swxnv .fld input.inp::placeholder,
.swxnv .fld textarea.inp::placeholder{color:var(--ink3);opacity:1}

.swxnv .fld textarea.inp:focus{outline:2px solid var(--red);outline-offset:1px}

.swxnv .fld input.inp[readonly]{background:#EFEFEF;color:var(--ink2);cursor:default}

/* Consentement : la case reste cliquable au doigt, le texte ne prend pas
   les majuscules des autres etiquettes. */
.swxnv .fld.cgu{margin-top:16px}
.swxnv .fld.cgu input[type="checkbox"]{width:18px;height:18px;accent-color:var(--red)}

/* Bandeau de confirmation ou d'echec, affiche au retour du formulaire. */
.swxnv .fmsg{border-radius:12px;padding:15px 18px;margin-bottom:18px;
  font-size:14.5px;line-height:1.6}
.swxnv .fmsg.ok{background:#EAF7EE;border:1px solid #BBE2C6;color:#1E5B2F}
.swxnv .fmsg.ko{background:#FDECEE;border:1px solid #F3C2C7;color:#8C1721}
.swxnv .fmsg a{color:inherit;font-weight:700}

/* iOS zoome sur un champ dont le texte fait moins de 16px. */
@media (max-width:760px){
  .swxnv .fld input.inp,
  .swxnv .fld select.inp,
  .swxnv .fld textarea.inp{font-size:16px}
  .swxnv .swxnvform{padding:22px!important}
}

/* == surcouche : 97-fiche.css == */
/* 97 — fiche bien : galerie reelle, visionneuse, tuiles de donnees.
   La galerie porte ses propres classes (nvgal / ng1 / ngs / ngt) pour ne rien
   heriter de la maquette a placeholders, qui fixait des hauteurs en dur. */

body.nv-bien .nvgal{display:grid;grid-template-columns:2fr 1fr;grid-template-rows:1fr 1fr;
  gap:10px;padding-bottom:10px;aspect-ratio:16/8.4}
body.nv-bien .nvgal .ng1{grid-row:1 / 3;position:relative;overflow:hidden;
  border-radius:16px 16px 0 0;background:#1a1a1a;min-height:0}
body.nv-bien .nvgal .ngt{position:relative;overflow:hidden;border-radius:12px;
  background:#1a1a1a;min-height:0;cursor:zoom-in}
body.nv-bien .nvgal .ngs{display:contents}
body.nv-bien .nvgal img{width:100%;height:100%;object-fit:cover;display:block}
body.nv-bien .nvgal .ng1 img{cursor:zoom-in}
body.nv-bien .nvgal .gopen{position:absolute;left:16px;bottom:16px;display:inline-flex;align-items:center;
  gap:8px;background:rgba(17,17,17,.82);color:#fff;border:0;border-radius:3px;padding:10px 15px;
  font-size:13px;font-weight:500;cursor:pointer;z-index:2}
body.nv-bien .nvgal .gopen:hover{background:var(--red,#e2001a)}
body.nv-bien .nvgal .gopen .sx{width:16px;height:16px}

/* une seule photo : elle occupe toute la largeur */
body.nv-bien .nvgal:not(:has(.ngt)){grid-template-columns:1fr;grid-template-rows:1fr;aspect-ratio:16/8}

@media(max-width:820px){
  body.nv-bien .nvgal{grid-template-columns:1fr 1fr;grid-template-rows:auto auto;aspect-ratio:auto}
  body.nv-bien .nvgal .ng1{grid-row:auto;grid-column:1 / 3;aspect-ratio:4/3;border-radius:12px}
  body.nv-bien .nvgal .ngt{aspect-ratio:4/3}
}
@media(max-width:520px){
  body.nv-bien .nvgal .gopen{left:10px;bottom:10px;padding:9px 13px;font-size:12px}
}

/* ---------------------------------------------------- tuiles de donnees */
body.nv-bien .kfacts{display:grid;grid-template-columns:repeat(auto-fill,minmax(178px,1fr));gap:12px;margin:0 0 8px}
body.nv-bien .kf{background:var(--grey,#f8f8f8);border:1px solid var(--line,#e4e4e4);border-radius:4px;padding:14px 16px}
body.nv-bien .kf .kk2{display:block;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink2,#5e646d);margin-bottom:5px}
body.nv-bien .kf b{font-size:16px;color:var(--ink,#111)}
body.nv-bien .comx{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px}
body.nv-bien .cxt{border-left:2px solid var(--line,#e4e4e4);padding:2px 0 2px 13px}
body.nv-bien .cxt .kk2{display:block;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink2,#5e646d);margin-bottom:4px}
body.nv-bien .cxt b{font-size:17px}
body.nv-bien .cxt b.up{color:#1a7f37}
body.nv-bien .cxt b.down{color:var(--red,#e2001a)}

/* ------------------------------------------------------- visionneuse */
.nvlb{position:fixed;inset:0;z-index:9999;background:rgba(10,10,10,.94);display:flex;align-items:center;justify-content:center}
.nvlb[hidden]{display:none}
.nvlb img{max-width:92vw;max-height:84vh;object-fit:contain;border-radius:3px}
.nvlb .x,.nvlb .p,.nvlb .n{position:absolute;background:rgba(255,255,255,.1);color:#fff;border:0;cursor:pointer;
  border-radius:50%;width:46px;height:46px;font-size:26px;line-height:1;display:flex;align-items:center;justify-content:center}
.nvlb .x:hover,.nvlb .p:hover,.nvlb .n:hover{background:var(--red,#e2001a)}
.nvlb .x{top:20px;right:20px}
.nvlb .p{left:20px}
.nvlb .n{right:20px}
.nvlb .c{position:absolute;bottom:22px;left:0;right:0;text-align:center;color:rgba(255,255,255,.7);font-size:13px;margin:0}

@media(max-width:700px){
  .nvlb .p,.nvlb .n{width:40px;height:40px;font-size:22px}
  .nvlb .p{left:8px}
  .nvlb .n{right:8px}
}

/* == surcouche : 98-fiche-carte.css == */
/* 98 — fiche bien : la carte de contact de la colonne de droite.
   Elle doit tenir dans un ecran d'ordinateur portable : au-dela, une carte
   collante plus haute que la fenetre ne peut plus etre vue en entier. */

body.nv-bien .cside{position:sticky;top:92px}
body.nv-bien .ecard{background:#fff;border:1px solid var(--line,#e4e4e4);border-radius:6px;overflow:hidden;
  box-shadow:0 10px 30px rgba(17,17,17,.06)}

/* ------------------------------------------------- en-tete : prix + conseiller */
body.nv-bien .ecard .eh{background:var(--ink,#111);color:#fff;padding:17px 20px 15px}
body.nv-bien .ecard .eh .px{font-size:24px;font-weight:600;line-height:1.1;white-space:nowrap}
body.nv-bien .ecard .eh .m2{font-size:12.5px;color:rgba(255,255,255,.62);margin-top:4px}
body.nv-bien .ecard .eag{display:flex;align-items:center;gap:11px;margin-top:14px;padding-top:13px;
  border-top:1px solid rgba(255,255,255,.14)}
body.nv-bien .ecard .eag .av{width:40px;height:40px;border-radius:50%;overflow:hidden;flex:0 0 auto;
  display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.12)}
body.nv-bien .ecard .eag .av img{width:100%;height:100%;object-fit:cover;object-position:center top;display:block}
body.nv-bien .ecard .eag .av.ini{font-size:14px;font-weight:600;color:#fff}
body.nv-bien .ecard .eag .t{display:block;min-width:0}
body.nv-bien .ecard .eag .t b{display:block;font-size:14px;font-weight:600;line-height:1.25}
body.nv-bien .ecard .eag .t i{display:block;font-style:normal;font-size:12px;color:rgba(255,255,255,.6);margin-top:1px}

/* ------------------------------------------------------------- le formulaire */
body.nv-bien .ecard .eb{padding:18px 20px 20px}
body.nv-bien .ecard .swxnvform{background:transparent;border:0;box-shadow:none;padding:0 !important;border-radius:0}
body.nv-bien .ecard .swxnvform .fld{margin-bottom:11px}
body.nv-bien .ecard .swxnvform .two{grid-template-columns:1fr 1fr;gap:10px}
body.nv-bien .ecard .swxnvform label{font-size:10.5px;letter-spacing:.09em;margin-bottom:4px}
body.nv-bien .ecard .swxnvform .inp{font-size:14.5px;padding:9px 11px}
body.nv-bien .ecard .swxnvform textarea.inp{min-height:64px;height:64px}
body.nv-bien .ecard .swxnvform .cgu{margin-bottom:10px}
body.nv-bien .ecard .swxnvform .cgu span{font-size:11.5px;line-height:1.4}
body.nv-bien .ecard .swxnvform .btn{padding:12px 18px}

/* la reference est deja dans l'en-tete : le champ en double sort de la carte */
body.nv-bien .ecard .swxnvform .fld:has(#b_ref){display:none}

body.nv-bien .ecard .alt{display:flex;gap:8px;margin-top:13px;padding-top:13px;border-top:1px solid var(--line,#e4e4e4)}
body.nv-bien .ecard .alt a{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;color:var(--ink2,#5e646d);
  text-decoration:none;flex:1 1 0;justify-content:center;border:1px solid var(--line,#e4e4e4);
  border-radius:3px;padding:8px 6px;transition:border-color .16s,color .16s}
body.nv-bien .ecard .alt a:hover{border-color:var(--red,#e2001a);color:var(--red,#e2001a)}
body.nv-bien .ecard .alt .sx{width:14px;height:14px;flex:0 0 auto}

/* le prix du bandeau ne doit jamais se couper en deux lignes */
body.nv-bien .tr2 .pxbig,body.nv-bien .tr2 .m2big{white-space:nowrap}

/* ------------------------------ galerie : jamais plus haute que l'ecran */
body.nv-bien .nvgal{aspect-ratio:16/6.6;max-height:min(50vh,460px)}

/* ------------------------------------ equipements et commodites */
body.nv-bien .amen{display:flex;flex-wrap:wrap;gap:9px;margin:0 0 6px}
body.nv-bien .amen .a{display:inline-flex;align-items:center;gap:8px;background:#fff;
  border:1px solid var(--line,#e4e4e4);border-radius:999px;padding:8px 15px 8px 12px;font-size:14px;
  color:var(--ink,#111);transition:border-color .18s,transform .18s}
body.nv-bien .amen .a:hover{border-color:var(--red,#e2001a);transform:translateY(-1px)}
body.nv-bien .amen .a .sx{width:15px;height:15px;color:var(--red,#e2001a);flex:0 0 auto}
body.nv-bien .amen.prox2 .a .sx{color:var(--ink2,#5e646d)}
body.nv-bien .cmain h3{margin-top:34px}

/* ecrans peu hauts : la carte defile avec la page plutot que de se faire couper */
@media(max-height:860px){
  body.nv-bien .cside{position:static}
}
@media(max-width:980px){
  body.nv-bien .cside{position:static}
}

/* == surcouche : 98-reseaux.css == */
/* 98 — reseaux sociaux dans le pied de page */
.ft .fsoc{margin-top:18px}
.ft .fsoct{display:block;font-size:12px;letter-spacing:.14em;text-transform:uppercase;opacity:.62;margin-bottom:10px}
.ft .fsoc ul{list-style:none;margin:0;padding:0;display:flex;gap:10px}
.ft .fsoc li{margin:0}
.ft .fsoc a{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border:1px solid rgba(255,255,255,.22);border-radius:50%;color:#fff;transition:background .18s,border-color .18s}
.ft .fsoc a:hover{background:var(--red,#e2001a);border-color:var(--red,#e2001a)}
.ft .fsoc svg{width:19px;height:19px;display:block}

/* == surcouche : 99-accueil-hero.css == */
/* 99 — bandeau d'accueil : la colonne de droite prend la place qu'elle merite,
   sur le modele de la carte conseiller des pages de commune. */

body.nv-main .hero .wrap{grid-template-columns:minmax(0,1fr) clamp(430px,34vw,560px);
  gap:clamp(40px,4.4vw,76px);align-items:start}
body.nv-main .hero h1{max-width:18ch}
body.nv-main .hero .lead{max-width:62ch}
body.nv-main .estim{padding:clamp(28px,2.2vw,40px)}
body.nv-main .estim h3{font-size:clamp(23px,1.9vw,28px)}

/* ------------------------------------------- le vrai formulaire du bandeau */
body.nv-main .estimform .fld{margin-bottom:13px}
body.nv-main .estimform .two{display:grid;grid-template-columns:1fr 1fr;gap:12px}
body.nv-main .estimform label{display:block;font-size:11px;letter-spacing:.11em;text-transform:uppercase;
  color:var(--ink2,#5e646d);margin-bottom:6px;font-weight:500}
body.nv-main .estimform .inp{width:100%;background:#fff;border:1px solid var(--line,#e4e4e4);border-radius:3px;
  padding:11px 13px;font:inherit;font-size:15px;color:var(--ink,#111);display:block;height:auto;min-height:0}
body.nv-main .estimform .inp:focus{outline:0;border-color:var(--red,#e2001a);box-shadow:0 0 0 3px rgba(226,0,26,.1)}
body.nv-main .estimform select.inp{appearance:none;background-image:
  url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235e646d' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 11px center;background-size:16px;padding-right:34px}
body.nv-main .estimform .cgu label{display:flex;gap:10px;align-items:flex-start;text-transform:none;
  letter-spacing:0;font-size:13px;font-weight:400;color:var(--ink2,#5e646d);line-height:1.45}
body.nv-main .estimform .cgu input{margin-top:2px;flex:0 0 auto}
body.nv-main .estimform .btn{width:100%;justify-content:center;margin-top:4px}
body.nv-main .estimform .fine{font-size:12.5px;color:var(--ink2,#5e646d);margin:12px 0 0;line-height:1.5}
body.nv-main .estimform .fmsg{margin-bottom:14px}

@media(max-width:1080px){
  body.nv-main .hero .wrap{gap:36px}
  body.nv-main .hero h1{max-width:none}
}
@media(max-width:520px){
  body.nv-main .estimform .two{grid-template-columns:1fr}
}

/* == surcouche : 99-agent-dispo.css == */
/* 99 - pages conseiller : carte Mes disponibilites (30/09/2026)
   Remplace le faux calendrier (non relie a un agenda) et la section de reservation. */
.swxnv .ahdispo .bkh{margin-bottom:6px}
.swxnv .ahdispo .dispo{list-style:none;margin:4px 0 18px;padding:0}
.swxnv .ahdispo .dispo li{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:14px 0;border-bottom:1px solid var(--line,#e4e4e4);font-size:15px}
.swxnv .ahdispo .dispo li:last-child{border-bottom:0}
.swxnv .ahdispo .dispo li span{color:var(--ink2,#5e646d)}
.swxnv .ahdispo .dispo li b{font-weight:600;color:var(--ink,#111);text-align:right}
.swxnv .ahdispo .bkn2{font-size:13.5px;line-height:1.55;color:var(--ink2,#5e646d);margin:0 0 16px}
.swxnv .ahdispo .bkcta{width:100%;justify-content:center}

/* == surcouche : 99-article.css == */
/* 99 — article de blog : lisibilite d'abord */

.nv-article .ahero, .nv-texte .ahero{background:var(--ink,#111);color:#fff;padding:54px 0 46px}
.nv-article .ahero, .nv-texte .ahero .wrap{max-width:1180px}
.nv-article .abread, .nv-texte .abread{font-size:13px;color:rgba(255,255,255,.62);display:flex;gap:9px;flex-wrap:wrap;align-items:center;margin-bottom:20px}
.nv-article .abread, .nv-texte .abread a{color:rgba(255,255,255,.72);text-decoration:none}
.nv-article .abread, .nv-texte .abread a:hover{color:#fff;text-decoration:underline}
.nv-article .abread, .nv-texte .abread b{color:#fff;font-weight:500;max-width:52ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.nv-article .ahero, .nv-texte .ahero .eyebrow{color:var(--red,#e2001a);display:block;margin-bottom:12px}
.nv-article .ahero, .nv-texte .ahero h1{color:#fff;max-width:20ch;font-size:clamp(30px,4vw,50px);line-height:1.12;margin:0 0 18px}
.nv-article .ameta, .nv-texte .ameta{color:rgba(255,255,255,.66);font-size:14px;margin:0}

.nv-article .awrap{padding-top:52px}
.nv-article .acols{display:grid;grid-template-columns:270px minmax(0,1fr);gap:56px;align-items:start;max-width:1180px}
.nv-article .aside{position:sticky;top:96px;display:flex;flex-direction:column;gap:22px}

.nv-article .atoc{border-left:2px solid var(--line,#e4e4e4);padding-left:18px}
.nv-article .atoc .t{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink2,#5e646d);margin:0 0 12px}
.nv-article .atoc ol{list-style:none;margin:0;padding:0;counter-reset:toc}
.nv-article .atoc li{counter-increment:toc;margin:0 0 9px;line-height:1.35}
.nv-article .atoc a{display:block;font-size:14px;color:var(--ink2,#5e646d);text-decoration:none;transition:color .15s}
.nv-article .atoc a::before{content:counter(toc) ". ";color:var(--red,#e2001a);font-weight:600}
.nv-article .atoc a:hover{color:var(--ink,#111)}

.nv-article .acta{background:var(--grey,#f8f8f8);border:1px solid var(--line,#e4e4e4);border-radius:4px;padding:22px}
.nv-article .acta .t{font-weight:600;margin:0 0 6px;font-size:16px}
.nv-article .acta p{font-size:14px;color:var(--ink2,#5e646d);margin:0 0 14px;line-height:1.55}
.nv-article .acta .btn{width:100%;justify-content:center;margin-bottom:8px}

.nv-article .aart, .nv-texte .aart{max-width:72ch;font-size:18px;line-height:1.72;color:var(--body,#3c3c3c)}
.nv-article .aart, .nv-texte .aart > p{margin:0 0 22px}
.nv-article .aart, .nv-texte .aart p.lead{font-size:21px;line-height:1.6;color:var(--ink,#111)}
.nv-article .aart, .nv-texte .aart h2{display:flex;gap:14px;align-items:flex-start;font-size:clamp(23px,2.4vw,30px);line-height:1.22;margin:52px 0 18px;scroll-margin-top:96px;color:var(--ink,#111)}
.nv-article .aart, .nv-texte .aart h2 .ai{width:26px;height:26px;flex:0 0 auto;margin-top:5px;color:var(--red,#e2001a)}
.nv-article .aart, .nv-texte .aart h3{font-size:19px;line-height:1.35;margin:34px 0 12px;color:var(--ink,#111)}
.nv-article .aart, .nv-texte .aart ul,.nv-article .aart, .nv-texte .aart ol{margin:0 0 22px;padding-left:22px}
.nv-article .aart, .nv-texte .aart li{margin-bottom:9px}
.nv-article .aart, .nv-texte .aart a{color:var(--red,#e2001a);text-decoration:underline;text-underline-offset:2px}
.nv-article .aart, .nv-texte .aart strong{color:var(--ink,#111)}
.nv-article .aart, .nv-texte .aart figure{margin:34px 0}
.nv-article .aart, .nv-texte .aart img{width:100%;height:auto;border-radius:4px;display:block}
.nv-article .aart, .nv-texte .aart blockquote{margin:34px 0;padding:4px 0 4px 24px;border-left:3px solid var(--red,#e2001a);font-size:21px;line-height:1.55;color:var(--ink,#111)}
.nv-article .aart, .nv-texte .aart blockquote p:last-child{margin-bottom:0}
.nv-article .aart, .nv-texte .aart table{width:100%;border-collapse:collapse;margin:0 0 26px;font-size:16px}
.nv-article .aart, .nv-texte .aart th,.nv-article .aart, .nv-texte .aart td{text-align:left;padding:11px 12px;border-bottom:1px solid var(--line,#e4e4e4)}
.nv-article .aart, .nv-texte .aart th{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink2,#5e646d)}

.nv-article .agrid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.nv-article .acard{display:flex;flex-direction:column;gap:9px;background:#fff;border:1px solid var(--line,#e4e4e4);border-radius:4px;padding:24px;text-decoration:none;transition:border-color .18s,transform .18s}
.nv-article .acard:hover{border-color:var(--red,#e2001a);transform:translateY(-2px)}
.nv-article .acard .k{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--red,#e2001a)}
.nv-article .acard .ti{font-family:Lora,Georgia,serif;font-size:18px;line-height:1.35;color:var(--ink,#111)}
.nv-article .acard .go{font-size:13px;color:var(--ink2,#5e646d);margin-top:auto;padding-top:8px}

@media(max-width:1020px){
  .nv-article .acols{grid-template-columns:1fr;gap:32px}
  .nv-article .aside{position:static;order:2}
  .nv-article .aart, .nv-texte .aart{order:1;max-width:none;font-size:17px}
  .nv-article .atoc{border-left:0;border-top:2px solid var(--line,#e4e4e4);padding:18px 0 0}
  .nv-article .agrid{grid-template-columns:1fr}
}
@media(max-width:620px){
  .nv-article .ahero, .nv-texte .ahero{padding:36px 0 32px}
  .nv-article .abread b, .nv-texte .abread b{display:none}
  .nv-article .aart h2, .nv-texte .aart h2{gap:11px}
  .nv-article .aart h2 .ai, .nv-texte .aart h2 .ai{width:22px;height:22px}
}

/* == surcouche : 99-fiche-galerie.css == */
/* 99 - fiche bien : galerie centree (30/09/2026)
   Le bandeau .bhead passe en pleine largeur (91) et la galerie est plafonnee
   en hauteur (98). Ce plafond reduisait aussi sa largeur, sans la centrer :
   elle restait collee a gauche. Et comme la regle 98 n'etait pas dans un
   @media, elle ecrasait la mise en page mobile (97). */

@media (min-width:821px){
  body.nv-bien .nvgal{width:100%;max-width:calc(min(50vh,460px) * 16 / 6.6);margin-inline:auto}
  body.nv-bien .bhead .crumb{max-width:calc(min(50vh,460px) * 16 / 6.6);margin-inline:auto}
}

/* mobile : on rend la mise en page empilee prevue (grande photo + 2 vignettes) */
@media (max-width:820px){
  body.nv-bien .nvgal{aspect-ratio:auto;max-height:none;width:100%;max-width:none;margin-inline:0}
  body.nv-bien .nvgal .ng1{aspect-ratio:4/3}
  body.nv-bien .nvgal .ngt{aspect-ratio:4/3}
}

