/* index — page-specific styles */
.site-nav.nav-dark .logo-black{display:none!important;}

.site-nav.nav-dark .logo-white{display:block;}

.nav-dark .burger span{background:#fff;}

.mnav a{display:flex;align-items:center;gap:14px;color:#fff;text-decoration:none;font-family:'Fira Sans Condensed',sans-serif;text-transform:uppercase;font-weight:700;font-size:34px;padding:14px 0;border-bottom:1px solid rgba(255,255,255,.12);opacity:0;transform:translateY(22px);transition:opacity .5s,transform .6s cubic-bezier(.16,.7,.3,1);}

.navtog:checked ~ .mnav a{opacity:1;transform:translateY(0);transition-delay:.15s;}

@media (max-width:880px){ .dnav{display:none;} .burger{display:flex;} .cb-wrap{flex-direction:column!important;gap:34px!important;} .cb-form{flex:1 1 auto!important;} .cb-h{font-size:46px!important;} }

@keyframes hisFadeUp{from{opacity:0;transform:translateY(28px);}to{opacity:1;transform:translateY(0);}}

.reveal{opacity:0;}

.reveal.in{animation:hisFadeUp .95s cubic-bezier(.16,.7,.3,1) forwards;}

.e2e-tile img{transition:transform 1.1s cubic-bezier(.16,.7,.3,1);}

.e2e-tile:hover img{transform:scale(1.1);}

.e2e-tile:hover .e2e-ov{background:rgba(10,12,18,.16);}

.lnk-btn{transition:background .25s,color .25s,border-color .25s;}

.netpin{transition:opacity .35s,transform .35s;}

.netpin.dim{opacity:.2;}

.nfilter.active{background:#161616!important;color:#fff!important;border-color:#161616!important;}

.occ-btn:hover{background:#161616!important;color:#fff!important;}

.occ-slide.on{opacity:1!important;z-index:2;transform:translateY(-10px);}

.occ-thumb{transition:border-color .2s,opacity .2s;opacity:.6;}

.occ-thumb:hover{opacity:1;}

.occ-thumb.on{opacity:1;box-shadow:0 0 0 2px #161616 inset;}

.occ-arrow{transition:opacity .2s;opacity:.85;}

.occ-arrow:hover{opacity:1;}

.occ-caption{transition:opacity .45s ease,transform .45s ease;}

.occ-scroll::-webkit-scrollbar{height:8px;}

.occ-scroll::-webkit-scrollbar-track{background:rgba(0,0,0,.21);}

.occ-scroll::-webkit-scrollbar-thumb{background:#363636;}

.occ-scroll{scrollbar-color:#363636 rgba(0,0,0,.21);scrollbar-width:thin;}

.occ-caption.fade{opacity:0;transform:translateX(18px);}

.occ-patch{display:flex;flex-direction:column;gap:0;}

.occ-row{display:flex;gap:0;}

.occ-row > div{overflow:hidden;height:250px;}

.occ-row:first-child > div{height:230px;}

.occ-row:last-child > div{height:250px;}

.occ-row > div img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 1.1s cubic-bezier(.16,.7,.3,1);}

.occ-row > div:hover img{transform:scale(1.06);}

#franceMapSlot svg{width:100%;height:auto;display:block;overflow:visible;}

.rgn-pin{transition:transform .25s cubic-bezier(.16,.7,.3,1),box-shadow .25s;}

.rgn-pin:hover{transform:translate(-50%,-50%) scale(1.18);box-shadow:0 0 0 4px rgba(192,57,43,.25);}

.city-pin{transition:transform .25s cubic-bezier(.16,.7,.3,1);}

.city-pin:hover{transform:translate(-50%,-100%) scale(1.12);z-index:6;}

.city-pin:hover .city-lab{background:#161616;}

.city-lab{background:#d3dcd9;color:#fff;font-weight:700;font-size:10px;letter-spacing:.03em;padding:2px 6px;white-space:nowrap;line-height:1.25;transition:background .25s;}

.city-dot{width:6px;height:6px;border-radius:50%;background:#d3dcd9;border:1px solid #fff;box-shadow:0 1px 2px rgba(0,0,0,.3);}

.main-lab{background:#161616;color:#fff;font-weight:700;font-size:10px;letter-spacing:.03em;padding:2px 6px;white-space:nowrap;line-height:1.25;}

.main-dot{width:6px;height:6px;border-radius:50%;background:#161616;border:1px solid #fff;box-shadow:0 1px 2px rgba(0,0,0,.3);}

.region-popup{transform:translateX(115%);opacity:0;transition:transform .6s cubic-bezier(.16,.7,.3,1),opacity .5s;}

.region-popup.open{transform:translateX(0);opacity:1;}

#mapSection{transition:background .5s;}

#mapSection.sel{background:#ffffff;}

.map-viewport{position:relative;overflow:hidden;transition:height .7s cubic-bezier(.16,.7,.3,1);}

.map-panel{position:absolute;top:0;left:0;width:100%;transition:transform .75s cubic-bezier(.16,.7,.3,1),opacity .6s;}

.map-panel.pf{transform:translateX(0);}

.map-panel.pf.gone{transform:translateX(-106%);opacity:0;pointer-events:none;}

.map-panel.pp{transform:translateX(106%);opacity:0;pointer-events:none;}

.map-panel.pp.here{transform:translateX(0);opacity:1;pointer-events:auto;}

#parisMapSlot img{width:100%;height:auto;display:block;}

.paris-dot{transition:transform .25s,box-shadow .25s;}

.paris-dot:hover{transform:translate(-50%,-50%) scale(1.3);box-shadow:0 0 0 4px rgba(192,57,43,.25);}

.pbtn.active{background:#161616!important;color:#fff!important;border-color:#161616!important;}

.rbtn.active{background:#161616!important;color:#fff!important;border-color:#161616!important;}

/* mosaic strip: equal thin columns fitted to desktop width + staggered fade-up reveal (driven by JS/WAAPI) */
  .mosaic-wrap{position:relative;overflow:hidden;}

.mosaic{overflow:hidden;}

.mosaic > div{flex:1 1 0!important;min-width:0;height:190px!important;opacity:0;}

.mosaic-fade{position:absolute;top:0;bottom:0;width:65px;pointer-events:none;z-index:2;display:none;}

.mosaic-fade.l{left:0;background:linear-gradient(90deg,#fff 0%,rgba(255,255,255,0) 100%);}

.mosaic-fade.r{right:0;background:linear-gradient(270deg,#fff 0%,rgba(255,255,255,0) 100%);}

.field{transition:border-color .25s,background .25s;}

.field:focus{outline:none;border-color:#fff;background:rgba(255,255,255,.06);}

@media (max-width:880px){
    .pad{padding-left:22px!important;padding-right:22px!important;}
    .stack{flex-direction:column!important;align-items:stretch!important;}
    .hero-h{font-size:40px!important;}
    .hero-sub{font-size:17px!important;}
    .sec-h{font-size:28px!important;}
    .stats{flex-wrap:wrap!important;gap:20px 16px!important;}
    .stats > div{flex:0 0 calc(50% - 8px)!important;margin-bottom:24px;}
    .e2e-grid{grid-template-columns:repeat(2,1fr)!important;}
    .mosaic{flex-wrap:nowrap!important;}
    .mosaic > div{flex:0 0 130px!important;width:130px!important;height:190px!important;}
    .mosaic-fade{display:block!important;}
    .map-wrap{flex-direction:column!important;gap:0!important;align-items:center!important;}
    .map-col{width:120%!important;max-width:120%!important;align-self:center!important;flex:none!important;}
    .region-popup{position:relative!important;transform:none!important;width:100%!important;right:auto!important;}
    /* mobile: no grey wash on the map, let height flow (no leftover gap) */
    #mapSection.sel{background:#fff!important;}
    .map-viewport{height:auto!important;min-height:0!important;}
    .map-panel{position:static!important;transform:none!important;opacity:1!important;}
    .map-panel.pf.gone{display:none!important;}
    .map-panel.pp:not(.here){display:none!important;}
    .region-popup{border-left:none!important;padding-left:0!important;}
    .occ-scroll{display:none!important;}
    .occ-patch{display:grid!important;grid-template-columns:1fr 1fr!important;}
    .occ-row{display:contents!important;}
    .occ-row > div{flex:none!important;height:150px!important;}
    .hide-mob{display:none!important;}
    .hero-btns{display:none!important;}
  }
