
:root{
  --bg:#0b1220;
  --bg-soft:#10192b;
  --surface:#121c2f;
  --surface-2:#16233a;
  --surface-3:#1a2942;
  --text:#ecf2ff;
  --muted:#aeb9cc;
  --line:rgba(255,255,255,.10);
  --brand:#c7a15c;
  --brand-dark:#8a6830;
  --brand-soft:rgba(199,161,92,.16);
  --accent:#8fc5ff;
  --success:#22c55e;
  --danger:#ef4444;
  --shadow:0 22px 55px rgba(0,0,0,.28);
  --radius:24px;
  --radius-sm:18px;
  --max:1180px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  background:
    radial-gradient(circle at top left, rgba(143,197,255,.08), transparent 30%),
    radial-gradient(circle at top right, rgba(199,161,92,.08), transparent 28%),
    linear-gradient(180deg,#09111d 0%,#0c1524 40%,#0b1220 100%);
  color:var(--text);
  line-height:1.72;
  min-height:100vh;
}
body::before{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(rgba(255,255,255,.025),rgba(255,255,255,0)) 0 0 / 100% 160px no-repeat,
    linear-gradient(90deg, rgba(255,255,255,.025) 1px, transparent 1px) center/90px 90px,
    linear-gradient(rgba(255,255,255,.02) 1px, transparent 1px) center/90px 90px;
  mask-image:linear-gradient(180deg,rgba(0,0,0,.8),rgba(0,0,0,.15));
}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
h1,h2,h3{font-family:Georgia,"Times New Roman",serif;line-height:1.15;letter-spacing:-.02em;margin:0 0 .8rem}
h1{font-size:clamp(2.4rem,4.8vw,4.7rem)}
h2{font-size:clamp(1.7rem,3vw,2.8rem)}
h3{font-size:1.3rem}
p{margin:.1rem 0 1rem}
ul{margin:0;padding-left:1.2rem}
.container{width:min(var(--max),calc(100% - 2rem));margin:0 auto}

.topbar{
  position:sticky;top:0;z-index:40;
  background:rgba(8,14,24,.72);
  backdrop-filter:saturate(150%) blur(18px);
  border-bottom:1px solid rgba(255,255,255,.06);
}
.nav-wrap{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 0}
.brand{display:flex;align-items:center;gap:.85rem;font-weight:800;letter-spacing:.01em}
.brand-mark{
  width:46px;height:46px;border-radius:16px;
  background:
    radial-gradient(circle at 30% 30%, rgba(255,255,255,.3), transparent 35%),
    linear-gradient(135deg,var(--brand),var(--brand-dark));
  color:#fff;display:grid;place-items:center;box-shadow:0 10px 26px rgba(199,161,92,.3);font-size:1rem
}
.brand span:last-child{display:block}
.brand small{display:block;color:var(--muted);font-weight:600;font-size:.79rem;margin-top:0}
.nav{display:flex;gap:.45rem;flex-wrap:wrap;align-items:center}
.nav a{
  padding:.72rem .95rem;border-radius:999px;color:var(--muted);font-weight:600;
  transition:.22s ease;
}
.nav a:hover,.nav a.active{
  background:rgba(255,255,255,.07);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.08);
  color:#fff;
}
.cta{
  display:inline-flex;align-items:center;justify-content:center;gap:.55rem;
  padding:.98rem 1.28rem;border-radius:999px;border:none;cursor:pointer;
  background:linear-gradient(135deg,var(--brand),var(--brand-dark));
  color:#fff;font-weight:800;box-shadow:0 18px 36px rgba(138,104,48,.26);
  transition:transform .18s ease, box-shadow .18s ease, opacity .18s ease;
}
.cta:hover{transform:translateY(-1px);box-shadow:0 22px 42px rgba(138,104,48,.32)}
.cta.secondary{
  background:rgba(255,255,255,.04);
  color:#fff;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.10);
}
.cta-row{display:flex;gap:.85rem;flex-wrap:wrap;margin-top:1.35rem}
.eyebrow,.badge{
  display:inline-flex;align-items:center;gap:.45rem;
  padding:.5rem .8rem;border-radius:999px;
  background:var(--brand-soft);color:#f8dfae;font-weight:700;
  border:1px solid rgba(199,161,92,.18);
  font-size:.88rem;
}
.lead{font-size:1.09rem;color:#d9e3f3;max-width:70ch}

.hero{
  position:relative;
  padding:4.8rem 0 3rem;
}
.hero::after{
  content:"";
  position:absolute;right:5%;top:5%;width:360px;height:360px;border-radius:50%;
  background:radial-gradient(circle, rgba(199,161,92,.18), transparent 67%);
  filter:blur(10px);pointer-events:none;
}
.hero-grid,.feature-hero,.split,.grid-2,.grid-3,.grid-4,.footer-grid,.form-grid,.city-hero .inner{
  display:grid;gap:1.25rem;
}
.hero-grid{grid-template-columns:1.14fr .86fr;align-items:center}
.hero-card,.card,.feature-panel,.city-hero,.table-like,.contact-panel,.status-box{
  background:linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.03));
  border:1px solid var(--line);
  border-radius:var(--radius);
  box-shadow:var(--shadow);
}
.card,.feature-panel,.table-like,.contact-panel,.status-box{padding:1.4rem}
.hero-card{padding:1.1rem}
.hero-visual{
  min-height:420px;
  border-radius:calc(var(--radius) - 2px);
  background:
    radial-gradient(circle at 30% 28%, rgba(255,255,255,.16), transparent 18%),
    linear-gradient(160deg, rgba(255,255,255,.12), rgba(255,255,255,.03)),
    linear-gradient(160deg, #0f1b30, #1d2d48 55%, #0d1626);
  position:relative;overflow:hidden;padding:1.8rem;display:flex;flex-direction:column;justify-content:flex-end
}
.hero-visual::before{
  content:"";
  position:absolute;inset:16px;
  border:1px solid rgba(255,255,255,.08);
  border-radius:24px;
}
.hero-visual::after{
  content:"";
  position:absolute;right:-50px;top:50px;width:260px;height:260px;border-radius:40px;
  background:
    radial-gradient(circle at 35% 35%, rgba(255,255,255,.32), transparent 22%),
    linear-gradient(135deg, rgba(199,161,92,.85), rgba(143,197,255,.5));
  transform:rotate(22deg);
  box-shadow:0 30px 50px rgba(0,0,0,.22);
}
.hero-visual h2{max-width:10ch;font-size:2.2rem;position:relative;z-index:1}
.hero-visual p,.hero-visual .small{position:relative;z-index:1;color:#dbe6f6;max-width:24rem}
.kpi{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:1.1rem}
.kpi span{
  padding:.62rem .9rem;border-radius:999px;background:rgba(255,255,255,.045);
  border:1px solid rgba(255,255,255,.08);color:#dfe8f8;font-weight:700;font-size:.94rem
}
section{padding:1.35rem 0 2rem}
.section-head{max-width:62rem;margin:0 0 1.15rem}
.section-head p{color:var(--muted)}
.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.split{grid-template-columns:1.1fr .9fr;align-items:start}

.card p,.feature-panel p,.table-row div,.notice,.small,.note{color:var(--muted)}
.card h2,.card h3,.feature-panel h2,.feature-panel h3,.table-row strong{color:#fff}
.card:hover,.feature-panel:hover,.contact-panel:hover{transform:translateY(-2px)}
.card,.feature-panel,.contact-panel{transition:transform .18s ease,border-color .18s ease}
.card:hover,.feature-panel:hover,.contact-panel:hover{border-color:rgba(255,255,255,.16)}

.band{padding:1rem 0 2rem}
.band .container{
  background:linear-gradient(145deg, rgba(255,255,255,.05), rgba(255,255,255,.03));
  border:1px solid rgba(255,255,255,.08);
  border-radius:30px;padding:1.4rem;box-shadow:var(--shadow)
}
.quote{font-size:1.26rem;color:#fff}
.city-nav{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.1rem}
.city-nav a{
  padding:.78rem 1rem;border-radius:999px;background:rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.08);font-weight:700;color:#fff
}
.city-nav a:hover{border-color:rgba(255,255,255,.16)}

.checklist{list-style:none;padding:0;margin:0}
.checklist li{
  position:relative;padding-left:1.55rem;margin:.8rem 0;color:#dfe8f8
}
.checklist li::before{
  content:"";position:absolute;left:0;top:.55rem;width:.68rem;height:.68rem;border-radius:50%;
  background:linear-gradient(135deg,var(--brand),var(--accent));box-shadow:0 0 0 5px rgba(199,161,92,.08)
}
.table-like{overflow:hidden;padding:0}
.table-row{
  display:grid;grid-template-columns:280px 1fr;gap:1rem;
  padding:1rem 1.2rem;border-bottom:1px solid rgba(255,255,255,.08)
}
.table-row:last-child{border-bottom:none}
.table-row strong{display:block}
.notice{
  margin-top:1rem;padding:1rem 1.1rem;border-radius:18px;
  background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08)
}
.breadcrumbs{padding:1.1rem 0 .4rem;color:var(--muted);font-size:.95rem}
.breadcrumbs a{color:#fff}
.page-hero{padding:2.2rem 0 1.2rem}
.page-hero.compact{padding:2.4rem 0 1rem}
.page-hero h1{font-size:clamp(2.2rem,4vw,4rem)}

.pillars{counter-reset:item}
.pillars .card{position:relative;padding-top:3.4rem}
.pillars .card::before{
  counter-increment:item;content:counter(item,decimal-leading-zero);
  position:absolute;top:1.1rem;left:1.2rem;
  font-family:Inter,ui-sans-serif,system-ui,sans-serif;
  font-size:2rem;font-weight:900;color:rgba(199,161,92,.22)
}

.feature-hero{grid-template-columns:1fr .95fr;align-items:stretch}
.feature-panel.dark{
  background:
    radial-gradient(circle at top right, rgba(199,161,92,.16), transparent 25%),
    linear-gradient(145deg,#0e1829,#111f35 55%, #15233c);
  border:1px solid rgba(255,255,255,.06)
}
.feature-panel.dark p{color:#dbe6f6}
.feature-panel.dark .badge{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.08);color:#fff}

.city-theme-nice{--brand:#4da4ff;--brand-dark:#2268c7;--brand-soft:rgba(77,164,255,.15)}
.city-theme-cannes{--brand:#d29cff;--brand-dark:#8a43d8;--brand-soft:rgba(210,156,255,.16)}
.city-theme-antibes{--brand:#4fddbe;--brand-dark:#14826e;--brand-soft:rgba(79,221,190,.16)}
.city-theme-grasse{--brand:#7ed67b;--brand-dark:#2e8c3f;--brand-soft:rgba(126,214,123,.16)}
.city-theme-mougins{--brand:#f4b55f;--brand-dark:#a46018;--brand-soft:rgba(244,181,95,.16)}
.city-theme-cagnes{--brand:#59c1f8;--brand-dark:#1076b0;--brand-soft:rgba(89,193,248,.16)}
.city-theme-frejus{--brand:#ff955c;--brand-dark:#bf4a0f;--brand-soft:rgba(255,149,92,.16)}
.city-theme-raphael{--brand:#f58ac5;--brand-dark:#b6337f;--brand-soft:rgba(245,138,197,.16)}

.city-hero{padding:1.25rem}
.city-scene{
  min-height:340px;border-radius:calc(var(--radius) - 6px);position:relative;overflow:hidden;
  border:1px solid rgba(255,255,255,.08)
}
.city-scene::before{
  content:"";position:absolute;inset:0;
  background:
    radial-gradient(circle at 30% 25%, rgba(255,255,255,.30), transparent 12%),
    radial-gradient(circle at 72% 22%, rgba(255,255,255,.22), transparent 16%),
    linear-gradient(180deg, rgba(255,255,255,.12), transparent 40%);
}
.city-scene::after{
  content:"";position:absolute;left:10%;right:10%;bottom:10%;
  height:44%;border-radius:26px 26px 14px 14px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.90), rgba(255,255,255,.74)),
    linear-gradient(180deg, rgba(255,255,255,.1), rgba(255,255,255,0));
  box-shadow:
    0 -88px 0 -52px rgba(255,255,255,.84),
    72px -40px 0 -52px rgba(255,255,255,.72),
    -72px -24px 0 -56px rgba(255,255,255,.68),
    0 30px 40px rgba(0,0,0,.16);
}
.city-theme-nice .city-scene{background:linear-gradient(180deg,#a6d7ff 0%,#6db5ff 45%,#20498b 46%,#1f6cc9 61%,#dceeff 61%,#eaf5ff 100%)}
.city-theme-cannes .city-scene{background:linear-gradient(180deg,#edd4ff 0%,#dfb7ff 42%,#462b72 43%,#7d3fd1 58%,#faf3ff 58%,#fff9ff 100%)}
.city-theme-antibes .city-scene{background:linear-gradient(180deg,#c5fff1 0%,#83f0d7 42%,#115a6b 43%,#17806c 58%,#ebfff9 58%,#f5fffc 100%)}
.city-theme-grasse .city-scene{background:linear-gradient(180deg,#dcffd6 0%,#a8f09a 40%,#35551f 41%,#2c7d35 56%,#f3ffe8 56%,#fbfff8 100%)}
.city-theme-mougins .city-scene{background:linear-gradient(180deg,#ffe4b7 0%,#ffc978 41%,#704314 42%,#a45f18 56%,#fff5e6 56%,#fffaf3 100%)}
.city-theme-cagnes .city-scene{background:linear-gradient(180deg,#ccefff 0%,#8bd6ff 43%,#0f5678 44%,#1182b7 58%,#eefaff 58%,#fbfeff 100%)}
.city-theme-frejus .city-scene{background:linear-gradient(180deg,#ffe0ca 0%,#ffb37f 40%,#7e3510 41%,#c64f10 55%,#fff1e6 55%,#fff9f5 100%)}
.city-theme-raphael .city-scene{background:linear-gradient(180deg,#ffd7ea 0%,#ffacd5 40%,#6e1245 41%,#c83487 55%,#fff1f8 55%,#fffafd 100%)}

.footer-grid{grid-template-columns:1.1fr .9fr .8fr;padding:0}
footer{
  padding:2.2rem 0 3rem;border-top:1px solid rgba(255,255,255,.06);
  margin-top:1rem;background:linear-gradient(180deg, rgba(255,255,255,.02), rgba(255,255,255,.01))
}
footer h3{font-size:1.12rem}
footer ul{list-style:none;padding:0;margin:0}
footer li{margin:.55rem 0;color:var(--muted)}
footer a:hover{color:#fff}
.note{display:block;margin-top:.65rem}
.sticky-cta{
  position:fixed;right:18px;bottom:18px;z-index:40;
  background:linear-gradient(135deg,var(--brand),var(--brand-dark));color:#fff;
  padding:1rem 1.15rem;border-radius:999px;box-shadow:0 18px 42px rgba(0,0,0,.28);font-weight:800
}

label{display:block;font-weight:700;color:#fff}
input,select,textarea{
  width:100%;margin-top:.45rem;
  background:rgba(255,255,255,.05);color:#fff;
  border:1px solid rgba(255,255,255,.10);
  border-radius:16px;padding:.95rem 1rem;font:inherit;outline:none;
  transition:border-color .18s ease, box-shadow .18s ease, background .18s ease
}
input::placeholder,textarea::placeholder{color:#92a1b8}
input:focus,select:focus,textarea:focus{
  border-color:rgba(199,161,92,.45);
  box-shadow:0 0 0 4px rgba(199,161,92,.12);
  background:rgba(255,255,255,.06)
}
textarea{min-height:170px;resize:vertical}
.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.form-actions{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-top:1rem}
.contact-layout{display:grid;grid-template-columns:1.15fr .85fr;gap:1.25rem;align-items:start}
.contact-panel h2,.contact-panel h3{margin-bottom:.7rem}
.contact-panel .small{display:block}
.honeypot{position:absolute !important;left:-9999px !important;opacity:0 !important;height:0 !important;pointer-events:none !important}
.status-box{margin:1rem 0 0;padding:1rem 1.1rem;border-radius:20px}
.status-box.success{border-color:rgba(34,197,94,.35);background:rgba(34,197,94,.09)}
.status-box.error{border-color:rgba(239,68,68,.35);background:rgba(239,68,68,.08)}
.status-box strong{display:block;margin-bottom:.35rem}
.consent{display:flex;gap:.7rem;align-items:flex-start;margin-top:.8rem}
.consent input{width:20px;height:20px;margin-top:.12rem;flex:0 0 auto}
.consent span{color:var(--muted);font-weight:500}

@media (max-width: 980px){
  .hero-grid,.split,.grid-2,.grid-3,.grid-4,.feature-hero,.city-hero .inner,.footer-grid,.form-grid,.contact-layout{grid-template-columns:1fr}
  .nav{display:none}
  .table-row{grid-template-columns:1fr}
  .sticky-cta{display:none}
  .hero-visual{min-height:320px}
}

code{padding:.16rem .42rem;border-radius:8px;background:rgba(255,255,255,.07);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.95em}



.city-theme-mandelieu{--brand:#6fd3ff;--brand-dark:#1b7eb0;--brand-soft:rgba(111,211,255,.16)}
.city-theme-montauroux{--brand:#c6a26f;--brand-dark:#82511f;--brand-soft:rgba(198,162,111,.16)}
.city-theme-fayence{--brand:#a8cf78;--brand-dark:#53752e;--brand-soft:rgba(168,207,120,.16)}
.city-theme-tropez{--brand:#ffd27e;--brand-dark:#b36b11;--brand-soft:rgba(255,210,126,.18)}
.city-theme-maxime{--brand:#83d9d1;--brand-dark:#247d76;--brand-soft:rgba(131,217,209,.16)}

.city-theme-mandelieu .city-scene{background:linear-gradient(180deg,#d7f1ff 0%,#8adfff 40%,#14546f 41%,#1c8ec2 58%,#eefcff 58%,#fbffff 100%)}
.city-theme-montauroux .city-scene{background:linear-gradient(180deg,#f5e6d1 0%,#d7b180 42%,#6b4a22 43%,#8a5f2b 57%,#fff6ec 57%,#fffdf9 100%)}
.city-theme-fayence .city-scene{background:linear-gradient(180deg,#edf8d5 0%,#c6e692 42%,#4a652d 43%,#5c8341 57%,#f8ffef 57%,#fdfffb 100%)}
.city-theme-tropez .city-scene{background:linear-gradient(180deg,#fff0cd 0%,#ffd88d 40%,#6e4a11 41%,#b77415 56%,#fff8ea 56%,#fffdf8 100%)}
.city-theme-maxime .city-scene{background:linear-gradient(180deg,#d8fffb 0%,#9ae8df 41%,#1b5c58 42%,#2a8f86 56%,#effffb 56%,#fbfffe 100%)}

.marina-hero,.ridge-hero,.village-hero,.signature-hero,.family-hero{padding:1.35rem;background:linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.03));border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}
.marina-hero .inner,.ridge-hero .inner,.signature-hero .inner,.family-hero .inner{display:grid;grid-template-columns:1.08fr .92fr;gap:1.25rem;align-items:center}
.village-hero .inner{display:grid;gap:1rem}
.city-ribbon{display:flex;gap:.8rem;flex-wrap:wrap;margin-top:1rem}
.city-ribbon span{padding:.7rem .9rem;border-radius:999px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);font-weight:700;color:#eef4ff}
.marina-visual,.ridge-visual,.village-visual,.signature-visual,.family-visual{min-height:320px;position:relative;overflow:hidden;border-radius:calc(var(--radius) - 8px);border:1px solid rgba(255,255,255,.08)}
.marina-visual{background:radial-gradient(circle at 28% 25%, rgba(255,255,255,.28), transparent 10%),linear-gradient(180deg,#caefff 0%,#9adfff 32%,#17536c 33%,#1b7ca8 54%,#e8fbff 54%,#fbffff 100%)}
.marina-visual::before{content:"";position:absolute;left:12%;right:12%;bottom:16%;height:22%;background:linear-gradient(180deg, rgba(255,255,255,.98), rgba(255,255,255,.85));border-radius:28px;box-shadow:0 -54px 0 -30px rgba(255,255,255,.72), 0 28px 42px rgba(0,0,0,.18)}
.marina-visual::after{content:"";position:absolute;left:18%;bottom:38%;width:64%;height:2px;background:rgba(255,255,255,.6);box-shadow:55px 18px 0 rgba(255,255,255,.45), -55px -12px 0 rgba(255,255,255,.45)}
.ridge-visual{background:radial-gradient(circle at 25% 18%, rgba(255,255,255,.28), transparent 10%),linear-gradient(180deg,#eadbc3 0%,#d4b388 34%,#463322 35%,#66471f 55%,#fff8ef 55%,#fffdf9 100%)}
.ridge-visual::before,.village-visual::before,.signature-visual::before,.family-visual::before{content:"";position:absolute;left:10%;right:10%;bottom:14%;height:48%;border-radius:34px 34px 16px 16px;background:linear-gradient(180deg, rgba(255,255,255,.95), rgba(255,255,255,.75));box-shadow:0 -86px 0 -52px rgba(255,255,255,.72), 74px -40px 0 -56px rgba(255,255,255,.55), -64px -26px 0 -58px rgba(255,255,255,.58), 0 26px 42px rgba(0,0,0,.16)}
.ridge-visual::after{content:"";position:absolute;left:0;right:0;bottom:0;height:30%;background:linear-gradient(180deg, transparent, rgba(80,49,18,.24));clip-path:polygon(0 65%, 13% 55%, 30% 62%, 43% 49%, 58% 58%, 74% 46%, 100% 64%, 100% 100%, 0 100%)}
.village-visual{background:radial-gradient(circle at 22% 18%, rgba(255,255,255,.28), transparent 10%),linear-gradient(180deg,#eef9d8 0%,#cae59b 32%,#49652b 33%,#64884c 54%,#f7fff0 54%,#fdfffb 100%)}
.village-visual::after{content:"";position:absolute;left:8%;right:8%;bottom:0;height:34%;background:linear-gradient(180deg, rgba(95,131,65,0), rgba(95,131,65,.25));clip-path:polygon(0 74%, 12% 60%, 25% 69%, 39% 54%, 52% 64%, 67% 48%, 83% 61%, 100% 50%, 100% 100%, 0 100%)}
.signature-visual{background:radial-gradient(circle at 26% 18%, rgba(255,255,255,.26), transparent 11%),linear-gradient(180deg,#fff1d0 0%,#ffd98b 32%,#64410f 33%,#b26f12 54%,#fff9ee 54%,#fffdfa 100%)}
.signature-visual::after{content:"";position:absolute;inset:auto 14% 24% 14%;height:3px;background:rgba(255,255,255,.66);box-shadow:0 22px 0 rgba(255,255,255,.5), 0 44px 0 rgba(255,255,255,.34)}
.family-visual{background:radial-gradient(circle at 24% 18%, rgba(255,255,255,.28), transparent 10%),linear-gradient(180deg,#d8fffb 0%,#9ee8df 34%,#215b57 35%,#2a8b84 55%,#effffb 55%,#fbfffe 100%)}
.family-visual::after{content:"";position:absolute;left:0;right:0;bottom:0;height:26%;background:linear-gradient(180deg, transparent, rgba(31,96,91,.18))}
.marina-grid,.fayence-layout,.maxime-grid{display:grid;gap:1.25rem}
.marina-grid{grid-template-columns:.9fr 1.1fr}
.fayence-layout{grid-template-columns:1.08fr .92fr;align-items:start}
.maxime-grid{grid-template-columns:1.02fr .98fr;align-items:start}
.metric-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.9rem}
.metric-box{padding:1rem 1.1rem;border-radius:22px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08)}
.metric-box strong{display:block;font-size:1.8rem;color:#fff;font-family:Georgia,"Times New Roman",serif}
.metric-box span{display:block;color:var(--muted);margin-top:.2rem}
.timeline{display:grid;gap:.9rem}
.timeline .step{position:relative;padding:1rem 1rem 1rem 3.6rem;border-radius:22px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08)}
.timeline .step::before{content:attr(data-step);position:absolute;left:1rem;top:1rem;width:1.8rem;height:1.8rem;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,var(--brand),var(--brand-dark));color:#fff;font-weight:800}
.quote-panel{padding:1.35rem;border-radius:28px;background:radial-gradient(circle at top right, rgba(255,255,255,.08), transparent 26%),linear-gradient(145deg, rgba(255,255,255,.06), rgba(255,255,255,.03));border:1px solid rgba(255,255,255,.08);box-shadow:var(--shadow)}
.quote-panel p:last-child{margin-bottom:0}
.duo-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.micro-list{display:grid;gap:.8rem}
.micro-item{padding:1rem 1.05rem;border-radius:20px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08)}
.micro-item h3{font-size:1.08rem;margin-bottom:.35rem}
.link-cluster{display:flex;gap:.8rem;flex-wrap:wrap}
.link-cluster a{padding:.72rem .95rem;border-radius:999px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);font-weight:700}
.link-cluster a:hover{border-color:rgba(255,255,255,.16)}
.inline-panorama{padding:1rem 1.1rem;border-radius:24px;background:linear-gradient(90deg, rgba(255,255,255,.04), rgba(255,255,255,.02));border:1px solid rgba(255,255,255,.08)}
@media (max-width: 980px){.marina-hero .inner,.ridge-hero .inner,.signature-hero .inner,.family-hero .inner,.marina-grid,.fayence-layout,.maxime-grid,.metric-strip,.duo-cards{grid-template-columns:1fr}}


.local-links-band .container{
  background:linear-gradient(145deg, rgba(255,255,255,.05), rgba(255,255,255,.025));
  border:1px solid rgba(255,255,255,.08);
  border-radius:30px;
  padding:1.5rem;
  box-shadow:var(--shadow);
}
.link-clusters{display:grid;grid-template-columns:1.2fr .8fr;gap:1.2rem;align-items:start}
.link-panel{
  background:rgba(255,255,255,.035);
  border:1px solid rgba(255,255,255,.08);
  border-radius:24px;
  padding:1.2rem;
}
.link-panel.alt{
  background:
    radial-gradient(circle at top right, rgba(255,255,255,.08), transparent 28%),
    rgba(255,255,255,.03);
}
.link-tiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.95rem;margin-top:1rem}
.link-tile{
  display:block;
  padding:1rem 1rem 1rem 1.05rem;
  border-radius:20px;
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.08);
  transition:transform .18s ease,border-color .18s ease,background .18s ease;
}
.link-tile:hover{
  transform:translateY(-2px);
  border-color:rgba(255,255,255,.16);
  background:rgba(255,255,255,.06);
}
.link-tile strong{
  display:block;
  color:#fff;
  font-size:1.02rem;
  margin-bottom:.35rem;
}
.link-tile span,.microcopy{color:var(--muted)}
.mini-links{display:grid;gap:.8rem;margin-top:1rem}
.mini-links a{
  display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;
  padding:.9rem 1rem;border-radius:18px;background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.08);font-weight:700
}
.mini-links a small{display:block;color:var(--muted);font-weight:500}
.mini-links a:hover{border-color:rgba(255,255,255,.15)}
.cluster-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.cluster-card{
  padding:1.15rem;
  border-radius:24px;
  background:rgba(255,255,255,.035);
  border:1px solid rgba(255,255,255,.08);
}
.cluster-card p{color:var(--muted)}
.cluster-card .city-nav{margin-top:.8rem}
@media (max-width: 900px){
  .link-clusters,.cluster-grid,.link-tiles{grid-template-columns:1fr}
}
