﻿html{scroll-behavior:smooth;overflow-x:hidden}
html{scroll-padding-top:calc(var(--ves-header-height,95px) + 1.5rem)}
body{margin:0;color:var(--ves-text);background:var(--ves-white);font-family:var(--ves-sans);font-size:16px;line-height:1.7;overflow-x:hidden}
body,button,input,select,textarea{font-family:var(--ves-sans)}
img{max-width:100%;height:auto}
a{color:inherit}
.site-main{width:100%;overflow:hidden}
.ves-container{width:min(100%,var(--ves-container));margin-inline:auto;padding-inline:clamp(1.25rem,5vw,4.25rem)}
.ves-section{padding-block:var(--ves-section)}
.ves-section-heading{max-width:760px;margin-bottom:clamp(2.75rem,5vw,5rem)}
.ves-section-heading--center{margin-inline:auto;text-align:center}
.ves-section-heading h2,.ves-property h2,.ves-contact h2{margin:0;color:var(--ves-navy);font-family:var(--ves-serif);font-size:clamp(2.75rem,6vw,5rem);font-weight:500;line-height:1.05;letter-spacing:-.025em}
.ves-section-heading>p:last-child{max-width:650px;margin:1.4rem 0 0;color:var(--ves-muted);font-weight:300}
.ves-eyebrow{margin:0 0 .85rem;color:var(--ves-gold);font-size:.69rem;font-weight:500;letter-spacing:.19em;text-transform:uppercase}
.ves-eyebrow--light{color:rgba(255,255,255,.76)}
.ves-button{display:inline-flex;align-items:center;justify-content:center;min-height:54px;padding:.95rem 1.8rem;border:1px solid transparent;border-radius:var(--ves-radius);font-size:.72rem;font-weight:500;letter-spacing:.11em;text-decoration:none;text-transform:uppercase;transition:transform .25s ease,box-shadow .25s ease,background .25s ease,color .25s ease}
.ves-button:hover,.ves-button:focus-visible{transform:translateY(-2px)}
.ves-button:focus-visible,.ves-text-link:focus-visible{outline:2px solid var(--ves-gold);outline-offset:4px}
.ves-button--gold{color:#fff;background:var(--ves-gold);box-shadow:0 9px 24px rgba(15,39,68,.14)}
.ves-button--gold:hover{color:#fff;background:#b99148;box-shadow:0 14px 30px rgba(15,39,68,.18)}
.ves-button--glass{color:#fff;border-color:rgba(255,255,255,.55);background:rgba(255,255,255,.09);backdrop-filter:blur(8px)}
.ves-text-link{display:inline-flex;gap:.75rem;align-items:center;color:var(--ves-navy);font-size:.72rem;font-weight:500;letter-spacing:.1em;text-decoration:none;text-transform:uppercase}
.ves-text-link span{color:var(--ves-gold);font-size:1.2rem;transition:transform .2s ease}
.ves-text-link:hover span{transform:translateX(4px)}

#villas,#calculateur,#region,#faq,#contact{scroll-margin-top:calc(var(--ves-header-height,95px) + 1.5rem)}
.ves-header--solid+main,.ves-header--solid~main{padding-top:var(--ves-header-height)}
.ves-section-heading h1{margin:0;color:var(--ves-navy);font:500 clamp(2.75rem,6vw,5rem)/1.05 var(--ves-serif)}
