
:root{--bg:#0b0e14;--bg2:#121722;--tx:#f2f0eb;--mu:#a9adb7;--au:#c9b27c;--ln:rgba(201,178,124,.22);box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:80px}
body{margin:0;background:var(--bg);color:var(--tx);font:16px/1.7 Inter,system-ui,-apple-system,sans-serif}
h1,h2,h3{font-family:"Playfair Display",Georgia,serif;font-weight:500;line-height:1.2;margin:0 0 .5em}
a{color:inherit;text-decoration:none}
.w{max-width:1120px;margin:auto;padding:0 22px}
section{padding:88px 0}
.alt{background:var(--bg2)}
.eyebrow{color:var(--au);letter-spacing:.2em;text-transform:uppercase;font-size:.75rem}
h2{font-size:clamp(1.7rem,4vw,2.5rem)}
.sub{color:var(--mu);max-width:640px}
header{position:fixed;top:env(safe-area-inset-top,0px);left:0;right:0;z-index:50;background:rgba(11,14,20,.88);backdrop-filter:blur(10px);border-bottom:1px solid var(--ln)}
.nav{display:flex;align-items:center;justify-content:space-between;height:68px}
.logo{font-family:Georgia,serif;font-size:1.15rem;letter-spacing:.08em}.logo small{display:block;color:var(--au);font:.62rem Inter,sans-serif;letter-spacing:.18em}
nav ul{display:flex;gap:26px;list-style:none;margin:0;padding:0;font-size:.9rem;color:var(--mu)}
nav a:hover{color:var(--au)}
.btn{display:inline-block;padding:13px 26px;border:1px solid var(--au);color:var(--au);border-radius:2px;font-size:.85rem;letter-spacing:.08em;text-transform:uppercase;transition:.3s;cursor:pointer;background:none;font-family:inherit}
.btn:hover,.btn.f{background:var(--au);color:#111}
.btn.f:hover{background:#dcc891}
#bt{display:none;background:none;border:0;color:var(--tx);font-size:1.6rem}
.hero{min-height:100vh;display:flex;align-items:center;padding:120px 0 80px;background:radial-gradient(ellipse at 75% 20%,rgba(201,178,124,.14),transparent 55%),linear-gradient(160deg,#0b0e14 30%,#141b2e 100%)}
.hero h1{font-size:clamp(2.1rem,6vw,4rem);max-width:820px}
.hero p{max-width:620px;color:var(--mu)}
.hero .lead{color:var(--tx);font-size:1.15rem}
.cta{display:flex;gap:14px;flex-wrap:wrap;margin:30px 0 22px}
.grid{display:grid;gap:22px;margin-top:40px}
.g2{grid-template-columns:repeat(2,1fr)}.g3{grid-template-columns:repeat(3,1fr)}
.card{border:1px solid var(--ln);padding:30px;background:rgba(255,255,255,.02);transition:.35s}
.card:hover{transform:translateY(-4px);border-color:var(--au)}
.card h3{font-size:1.3rem}.card p{color:var(--mu);margin:0}
.card ul{list-style:none;padding:0;margin:16px 0 24px;color:var(--mu);font-size:.92rem}
.card li:before{content:"— ";color:var(--au)}
.car{height:150px;margin:-30px -30px 24px;background:linear-gradient(135deg,#1b2338,#0d111a);display:flex;align-items:center;justify-content:center;color:var(--au);font:italic 1.1rem Georgia,serif;letter-spacing:.1em;border-bottom:1px solid var(--ln)}
.n{color:var(--au);font:2.4rem Georgia,serif}
.tags{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}
.tags a{border:1px solid var(--ln);padding:9px 18px;font-size:.9rem;color:var(--mu);transition:.3s}.tags a:hover{color:var(--au);border-color:var(--au)}
.seo p{color:var(--mu);max-width:760px}
form{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:36px}
form .full{grid-column:1/-1}
label{font-size:.8rem;color:var(--mu);letter-spacing:.06em}
input,select,textarea{width:100%;margin-top:6px;padding:13px;background:var(--bg);border:1px solid var(--ln);color:var(--tx);font:inherit;border-radius:2px}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--au)}
#ok{display:none;border:1px solid var(--au);padding:24px;margin-top:30px}
details{border-bottom:1px solid var(--ln);padding:18px 0}
summary{cursor:pointer;font-family:Georgia,serif;font-size:1.1rem;list-style:none}
summary:after{content:"+";float:right;color:var(--au)}details[open] summary:after{content:"–"}
details p{color:var(--mu);margin:12px 0 0}
footer{background:#07090e;border-top:1px solid var(--ln);padding:56px 0 100px;color:var(--mu);font-size:.9rem}
footer ul{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:8px 22px}
footer a:hover{color:var(--au)}
#wa{position:fixed;right:20px;bottom:calc(20px + env(safe-area-inset-bottom,0px));z-index:60;width:58px;height:58px;border-radius:50%;background:#25d366;display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.7rem;box-shadow:0 6px 22px rgba(0,0,0,.45);animation:p 3.5s infinite}
@keyframes p{0%,85%,100%{transform:scale(1)}92%{transform:scale(1.09)}}
#call{display:none}
.r{opacity:0;transform:translateY(22px);transition:.9s}.r.v{opacity:1;transform:none}
@media(max-width:820px){
nav ul{display:none;position:absolute;top:68px;left:0;right:0;flex-direction:column;background:var(--bg);padding:20px 22px;border-bottom:1px solid var(--ln)}
nav ul.o{display:flex}#bt{display:block}.hd{display:none}
.g2,.g3,form{grid-template-columns:1fr}section{padding:64px 0}
#call{display:block;position:fixed;left:0;right:0;bottom:0;z-index:55;background:var(--au);color:#111;text-align:center;padding:16px 16px calc(16px + env(safe-area-inset-bottom,0px));font-weight:600;letter-spacing:.05em}
#wa{bottom:calc(76px + env(safe-area-inset-bottom,0px))}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.r{opacity:1;transform:none}}

.car{position:relative;height:230px;overflow:hidden}.car img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero.s{min-height:52vh;padding:130px 0 60px}.bc{font-size:.8rem;color:var(--mu);margin-bottom:14px}.bc a:hover{color:var(--au)}
.pg h2{margin-top:1.6em;font-size:1.6rem}.pg p,.pg li{color:var(--mu);max-width:780px}.pg ul{padding-left:18px}.hero{background:linear-gradient(rgba(11,14,20,.5),rgba(11,14,20,.92)),url(/images/cannes-croisette.svg) center/cover}