*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Arial,'Helvetica Neue',sans-serif;color:#101d31;background:#fafafa}a{text-decoration:none;color:inherit}.topbar{height:100px;background:#fff;position:relative;z-index:4;box-shadow:0 1px 12px #2233440d}.topinner{max-width:1470px;padding:0 38px;margin:auto;height:100%;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand img{width:200px;max-height:87px;object-fit:contain}.nav{display:flex;align-items:center;gap:32px;font-size:14px;font-weight:650;white-space:nowrap}.nav a{padding:12px 0}.nav a:hover,.nav a.active{color:#f22430}.nav .active{border-bottom:3px solid #f22430}.button{border-radius:30px;padding:15px 25px;display:inline-flex;justify-content:center;align-items:center;gap:22px;font-weight:700;font-size:14px;box-shadow:0 5px 12px #00000012;white-space:nowrap}.button span{font-size:18px}.red{background:#fa2631;color:white}.red:hover{background:#db0d24}.white{background:#fff;color:#18334c;border:1px solid #c5d7e4}.small{padding:13px 25px}.menubtn{display:none}.hero{position:relative;min-height:535px;background:#86cddd url('/assets/hero.webp') center 43%/cover no-repeat;overflow:hidden}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,.91) 0%,rgba(255,255,255,.77) 22%,rgba(255,255,255,.18) 44%,transparent 65%)}.hero-inner{position:relative;max-width:1390px;margin:auto;padding:50px 20px 22px}.hero-content{max-width:790px}.overline,.eyebrow{color:#fa2631;font-size:12px;letter-spacing:1.6px;font-weight:800}.hero h1{font-size:clamp(38px,3.8vw,59px);line-height:1.08;letter-spacing:-1.8px;margin:24px 0 12px;font-weight:850}.hero h1 em{font-style:normal;color:#ef2b30}.hero p{font-size:21px;line-height:1.45;max-width:630px;margin:0 0 20px}.actions{display:flex;gap:14px;flex-wrap:wrap}.advantages{display:flex;gap:22px;margin-top:34px;max-width:670px}.advantages div{flex:1;min-width:110px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px}.advantages i{font-size:26px;font-style:normal;color:#007cac;background:#fff;border-radius:50%;width:60px;height:60px;display:grid;place-items:center;box-shadow:0 3px 14px #1112}.advantages i.redcircle{color:#ef2333}.advantages strong{font-size:12px;line-height:1.22}.commercial{max-width:1560px;margin:-6px auto 0;background:#fff;position:relative;z-index:2;border-radius:20px 20px 0 0;box-shadow:0 5px 25px #00243c1a;display:grid;grid-template-columns:1.05fr 1fr;gap:0;padding:20px 24px 26px}.formules{padding:0 12px 0 4px}.sectiontitle h2{font-size:31px;letter-spacing:-.6px;margin:6px 0 4px}.sectiontitle p{margin:0 0 14px;color:#495974;font-size:14px}.pricegrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.price{border-radius:15px;padding:14px 14px 15px;display:flex;flex-direction:column;min-width:0;text-align:center;min-height:330px}.price.blue{background:#eef9ff}.price.gold{background:#fff8ea}.price.coral{background:#fff0ef}.price-icon{font-size:28px;line-height:36px;color:#0089b8}.gold .price-icon{color:#fe7400}.coral .price-icon{color:#fa2631}.price h3{font-size:15px;line-height:1.16;margin:4px 0 3px}.price .value{font-size:32px;color:#087daa;font-weight:850;margin:6px 0 0}.gold .value{color:#12203b}.coral .value{color:#f02232}.price p{font-size:12px;color:#40506b;margin:2px 0 8px;line-height:1.4}.micro{color:#f02232;font-size:12px;font-weight:800}.price ul{list-style:none;padding:0;margin:8px 0 15px;text-align:left}.price li{font-size:11.5px;line-height:1.5;margin:3px 0;padding-left:17px;position:relative}.price li:before{content:'✓';position:absolute;left:0;color:#0089b8;font-weight:900}.coral li:before{color:#fa2631}.pick{display:block;margin-top:auto;border-radius:14px;padding:10px 5px;color:#fff;font-size:11px;font-weight:800}.bluebtn{background:#0683ab}.goldbtn{background:#ff7914}.coralbtn{background:#fe1f34}.holigo{border-left:1px solid #eaecef;padding:1px 10px 0 30px;position:relative}.holigohead{display:flex;align-items:center;gap:14px}.holigohead img{object-fit:contain;width:200px;max-width:53%}.freelabel{background:#f71932;border-radius:24px;color:white;font-size:12px;line-height:1.2;text-align:center;padding:9px 12px;font-weight:800}.freelabel small{font-size:10px}.holigo h2{color:#007aa0;font-size:25px;line-height:1.1;margin:12px 0 7px}.holigo>p{font-size:13px;color:#41546a;line-height:1.45;margin:4px 0 9px}.dashboard{height:120px;border-radius:9px;border:6px solid #202b39;background:white;box-shadow:0 8px 21px #1113;overflow:hidden;margin:12px 0 4px}.dash-top{display:flex;justify-content:space-between;padding:5px 11px;background:#f2f6f8;color:#004f77;font-size:10px}.dash-grid{display:grid;grid-template-columns:repeat(3,1fr);height:90px;gap:6px;padding:5px 10px}.dash-grid>div{background:#eef8fa;border-radius:5px;padding:4px 7px;display:flex;flex-direction:column;gap:3px}.dash-grid span{font-size:9px;color:#375e7a}.dash-grid b{font-size:11px}.dash-bars{display:flex;height:24px;align-items:end;gap:4px}.dash-bars i{background:#3db2d8;height:70%;width:12%;border-radius:2px}.dash-bars i:nth-child(2){height:30%}.dash-bars i:nth-child(3){height:90%}.dash-bars i:nth-child(4){height:44%}.dash-bars i:nth-child(5){height:66%}.dash-bars i:nth-child(6){height:95%}.checks{color:#16895f;font-size:9px;line-height:1.35}.dash-curve{font-size:26px;color:#078bb0}.note{font-size:10px!important;color:#71808c!important}.holigolines{display:grid;grid-template-columns:1fr 1fr;gap:6px;list-style:none;padding:0;margin:9px 0}.holigolines li{padding-left:20px;position:relative;font-size:12px}.holigolines li:before{content:'✓';position:absolute;left:0;background:#fa2631;color:white;border-radius:50%;font-size:10px;padding:2px 4px}.holigobutton{padding:11px 22px;font-size:12px}.wrap{max-width:1320px;margin:0 auto;padding:0 24px}.services{background:#f3f9fb;padding:72px 0}.services h2{font-size:31px;margin:8px 0 24px}.servicesgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.servicesgrid>div{background:white;border-radius:15px;padding:24px;box-shadow:0 4px 20px #0013}.servicesgrid span{color:#fb2935;font-size:28px}.servicesgrid h3{font-size:17px}.servicesgrid p{color:#5b6876;font-size:14px;line-height:1.6}.lower{display:grid;grid-template-columns:1fr 1fr;gap:35px;padding-top:70px;padding-bottom:80px}.lower>div{padding:28px;border:1px solid #e4eaf0;border-radius:17px}.lower h2{font-size:28px}.lower p{line-height:1.55;color:#45546a}.outline{border:1px solid #9ab1c0}footer{background:#122235;color:white;padding:25px 0}.foot{display:flex;justify-content:space-between;align-items:center;gap:28px;font-size:13px;line-height:1.7}.foot img{width:130px;background:white;padding:3px;border-radius:4px}.foot small{color:#becbd5}@media(max-width:1100px){.topinner{padding:0 20px}.nav{gap:13px;font-size:12px}.brand img{width:140px}.hero-content{max-width:670px}.hero h1{font-size:46px}.commercial{grid-template-columns:1fr}.holigo{border:0;border-top:1px solid #dde7ee;margin-top:25px;padding:22px 5px 0}.dashboard{max-width:650px}.holigohead img{max-width:240px}.price{min-height:300px}}@media(max-width:740px){.topbar{height:78px}.brand img{width:132px}.topcta{display:none}.menubtn{display:block;margin-left:auto;border:0;background:#f3f6f8;padding:9px;border-radius:8px;font-size:22px}.nav{display:none;position:absolute;top:78px;left:0;right:0;background:white;flex-direction:column;align-items:stretch;padding:18px 25px;box-shadow:0 8px 17px #0013}.nav.open{display:flex}.hero{min-height:575px;background-position:58% center}.hero-shade{background:linear-gradient(90deg,#fffffff0 0%,#ffffffbd 54%,#ffffff1a 100%)}.hero-inner{padding:38px 20px}.hero h1{font-size:37px;letter-spacing:-1px;margin-top:18px}.hero p{font-size:17px}.actions .button{font-size:12px;padding:12px 17px}.advantages{gap:7px;margin-top:33px}.advantages i{width:45px;height:45px;font-size:20px}.advantages strong{font-size:9.5px}.commercial{padding:20px 15px}.sectiontitle h2{font-size:25px}.pricegrid{grid-template-columns:1fr;gap:10px}.price{min-height:0;padding:18px}.price li{font-size:13px}.price ul{margin:8px auto 16px}.pick{font-size:13px}.holigo h2{font-size:23px}.holigohead img{width:150px}.freelabel{font-size:10px}.services{padding:45px 0}.servicesgrid{grid-template-columns:1fr 1fr;gap:10px}.servicesgrid>div{padding:15px}.lower{grid-template-columns:1fr;padding-top:40px;padding-bottom:50px;gap:14px}.foot{flex-direction:column;text-align:center}}@media(max-width:390px){.hero h1{font-size:34px}.servicesgrid{grid-template-columns:1fr}.advantages strong{font-size:9px}}
/* V11: service illustrations and functional lodging carousel */
.service-art{height:145px;display:flex;align-items:center;justify-content:center;background:linear-gradient(145deg,#effaff,#fff1e8);border-radius:15px;margin-bottom:18px}.service-art svg{width:160px;max-width:90%;height:120px;filter:drop-shadow(0 4px 6px #023f5615)}.servicesgrid>div{padding:18px 18px 25px;border:1px solid #e3edf1}.servicesgrid h3{margin:10px 0;color:#123047}.rentals{background:#fff;padding:80px 0 76px}.rentals-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:25px}.rentals h2{font-size:34px;margin:8px 0}.rentals-heading p:not(.eyebrow){color:#596b79;margin:0}.slider-controls{display:flex;gap:10px}.slider-controls button{border:1px solid #cddfe5;background:#fff;border-radius:50%;height:49px;width:49px;font-size:23px;color:#056f95;cursor:pointer}.slider-controls button:hover{background:#087da1;color:#fff}.rental-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;gap:20px;padding:8px 2px 23px}.rental-track::-webkit-scrollbar{display:none}.rental-card{flex:0 0 calc((100% - 40px)/3);scroll-snap-align:start;min-width:0;background:white;border-radius:19px;overflow:hidden;box-shadow:0 8px 27px #0a364517;border:1px solid #e7edf1}.rental-photo{height:225px;background:#e8f4f5;display:grid;place-items:center}.photo-placeholder{color:#5e8994;display:flex;align-items:center;flex-direction:column;gap:9px;font-size:13px;font-weight:700}.rental-meta{padding:20px 24px 24px}.property-tag{font-size:10px;font-weight:800;color:#de3144;letter-spacing:1.2px;text-transform:uppercase}.rental-meta h3{margin:9px 0 6px;font-size:23px}.rental-meta p{margin:0 0 18px;color:#597081}.rental-meta a{color:#007e9b;font-weight:800;font-size:14px}.rentals-footer{display:flex;align-items:center;justify-content:space-between;gap:20px}.rentals-footer p{font-size:12px;color:#71818b}.servicesgrid>div:hover,.rental-card:hover{box-shadow:0 10px 30px #0a36452b}@media(max-width:900px){.rental-card{flex-basis:calc((100% - 20px)/2)}}@media(max-width:640px){.rental-card{flex-basis:86%}.rentals{padding:50px 0}.rentals h2{font-size:27px}.rental-photo{height:190px}.rentals-footer{flex-direction:column;align-items:start}.service-art{height:110px}.service-art svg{height:100px}}
/* V12 : illustration HoliGo de la maquette de référence */
.holigo-feature-layout{display:grid;grid-template-columns:minmax(170px,.84fr) minmax(260px,1.28fr);gap:10px;align-items:center;margin-top:10px}.holigo-benefits{list-style:none;padding:0;margin:0 0 16px}.holigo-benefits li{position:relative;padding:0 0 11px 23px;font-size:12px;line-height:1.25}.holigo-benefits li:before{content:'✓';position:absolute;left:0;top:-2px;display:grid;place-items:center;width:17px;height:17px;border-radius:50%;background:#f51f36;color:white;font-weight:900}.holigo-art{margin:0;min-width:0}.holigo-art img{display:block;width:100%;height:auto;object-fit:contain;filter:drop-shadow(0 7px 9px rgba(12,28,46,.16))}.holigo-art figcaption{font-size:9px;color:#7c8792;margin:6px 0 0;text-align:center}.holigo-discover{padding:12px 17px;font-size:12px;gap:12px}@media(max-width:600px){.holigo-feature-layout{grid-template-columns:1fr}.holigo-art{max-width:520px}.holigo-benefits{display:grid;grid-template-columns:1fr 1fr;column-gap:8px}.holigo-benefits li{font-size:11px}.holigo-discover{margin-bottom:12px}}

/* V13: photographies originales, aucun filtre ni retouche */
.rental-photo img {width:100%;height:100%;display:block;object-fit:cover;object-position:center;filter:none;transform:none;}

/* V14 — Cartes logements : photo et informations dans deux zones indépendantes.
   Correction du débordement des images dans une grille CSS. */
.rental-card {display:flex;flex-direction:column;min-width:0;overflow:hidden;}
.rental-photo {display:block;position:relative;flex:0 0 230px;height:230px;min-height:0;overflow:hidden;background:#e8f4f5;}
.rental-photo img {display:block;width:100%;height:100%;max-width:100%;max-height:100%;min-width:0;min-height:0;object-fit:cover;object-position:center;filter:none;transform:none;}
.rental-meta {position:relative;z-index:1;display:flex;flex-direction:column;align-items:flex-start;gap:0;flex:1 0 auto;min-height:152px;padding:17px 22px 22px;background:#fff;}
.rental-meta .property-tag {display:block;position:static;font-size:10px;line-height:1.4;}
.rental-meta h3 {position:static;margin:5px 0 4px;font-size:23px;line-height:1.2;color:#101d31;}
.rental-meta p {position:static;margin:0 0 16px;line-height:1.4;}
.rental-meta a {display:inline-block;position:static;margin-top:auto;line-height:1.5;}
@media(max-width:640px){.rental-photo{height:210px;flex-basis:210px}.rental-meta{padding:17px 19px 20px;min-height:148px}}

/* V16 · Carrousel grand format : les photos originales ne sont jamais altérées. */
.rentals-showcase{padding:75px 0 65px;background:linear-gradient(#fff,#f6fafb)}
.showcase{position:relative;border-radius:23px;overflow:hidden;background:#f3f7f5;box-shadow:0 18px 50px rgba(12,40,54,.14)}
.showcase-slides{position:relative;aspect-ratio:16/9;min-height:440px;isolation:isolate}
.showcase-slide{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity .6s ease,visibility .6s ease;overflow:hidden}
.showcase-slide.is-active{opacity:1;visibility:visible;z-index:1}
.showcase-photo{position:absolute;width:100%;height:100%;object-fit:cover;object-position:center;filter:none;transform:none;left:0;top:0}
.showcase-panel{position:absolute;z-index:2;bottom:0;left:0;right:0;min-height:30%;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:45px clamp(26px,5vw,76px) 35px;background:linear-gradient(115deg,rgba(255,252,243,.98),rgba(255,255,255,.96) 53%,rgba(255,255,255,.93));clip-path:polygon(0 12%,21% 0%,51% 11%,72% 4%,100% 0%,100% 100%,0 100%)}
.showcase-eyebrow{display:block;color:#eb3140;letter-spacing:.16em;font-weight:800;font-size:12px;margin-bottom:5px}
.showcase-copy h3{font-family:Georgia,'Times New Roman',serif;font-size:clamp(42px,6vw,86px);color:#00536a;line-height:1;margin:0 0 5px;letter-spacing:-.04em;font-weight:600}
.showcase-copy p{font-size:clamp(17px,2vw,27px);color:#173d4d;margin:0}
.showcase-cta{display:inline-flex;align-items:center;gap:32px;background:linear-gradient(120deg,#ffd570,#ffb832);color:#043e52;padding:18px 30px;border:3px solid white;border-radius:55px;font-weight:800;font-size:clamp(16px,2.2vw,26px);box-shadow:0 6px 17px #6c5a2550;white-space:nowrap;transition:transform .15s ease}
.showcase-cta:hover{transform:translateY(-2px);background:#ffc249}
.showcase-decor{position:absolute;inset:0;z-index:2;pointer-events:none;overflow:hidden}
.tropic-leaf{position:absolute;color:#159998;font-size:120px;opacity:.73;text-shadow:0 2px 18px #025d3c38;line-height:1}
.leaf-one{top:-46px;left:-27px;transform:rotate(27deg)}.leaf-two{bottom:-28px;right:-20px;transform:rotate(-12deg)}
.tropic-flower{position:absolute;color:#f35b53;font-size:74px;bottom:8%;left:10px;opacity:.95}
.showcase-bottom{display:flex;align-items:center;justify-content:space-between;background:white;padding:13px 25px;gap:20px;border-top:1px solid #edf2f2}
.showcase-dots{display:flex;justify-content:center;gap:11px}
.showcase-dots button{border:0;border-radius:10px;width:10px;height:10px;background:#c1d0d1;cursor:pointer;padding:0}
.showcase-dots button[aria-pressed="true"]{width:31px;background:#e92c42}
.showcase-toggle{font-size:13px;border:0;background:transparent;color:#3c6875;cursor:pointer;padding:7px}
.showcase-count{font-size:13px;color:#45636d;font-weight:bold;white-space:nowrap}
.rentals-showcase .rentals-footer{margin-top:22px}
@media(max-width:700px){.showcase-slides{aspect-ratio:4/5;min-height:460px}.showcase-panel{padding:38px 25px 25px;min-height:38%;align-items:flex-start;flex-direction:column;gap:14px;clip-path:polygon(0 8%,46% 0,100% 8%,100% 100%,0 100%)}.showcase-copy h3{font-size:clamp(40px,11vw,64px)}.showcase-cta{font-size:17px;padding:12px 24px}.tropic-leaf{font-size:78px}.tropic-flower{font-size:45px;bottom:12%}.rentals-showcase .rentals-heading{align-items:center}.showcase-bottom{padding:9px 14px}}
@media(prefers-reduced-motion:reduce){.showcase-slide{transition:none}.showcase-cta{transition:none}}

/* V22 — polices logements demandées, sans toucher aux photographies */
.rentals-compact .compact-caption h3 {font-family:Montserrat, 'Arial', sans-serif!important;font-weight:700!important;letter-spacing:-.025em;font-size:21px;line-height:1.22;}
.rentals-compact .compact-caption p {font-family:Montserrat, Arial, sans-serif!important;font-weight:400!important;letter-spacing:.015em;font-size:12px;}
@media(max-width:900px){.rentals-compact .compact-caption h3{font-size:19px}}

/* Correction image d'accueil : chemin absolu OVH + priorité explicite */
.hero {
  background-image: url('/assets/hero.webp') !important;
  background-repeat: no-repeat !important;
  background-size: cover !important;
  background-position: center 43% !important;
}
@media(max-width:740px) {
  .hero { background-position: 58% center !important; }
}
