:focus-visible{outline:2px solid var(--accent, currentColor);outline-offset:3px;border-radius:2px}:root{--v-font-display: "Cormorant Garamond", Georgia, serif;--v-font-text: "Outfit", system-ui, sans-serif;--step--1: clamp(.82rem, .78rem + .2vw, .92rem);--step-0: clamp(1rem, .95rem + .25vw, 1.12rem);--step-1: clamp(1.3rem, 1.15rem + .7vw, 1.65rem);--step-2: clamp(1.9rem, 1.5rem + 1.8vw, 2.8rem);--step-3: clamp(2.8rem, 2rem + 3.8vw, 5.4rem);--wrap: 1180px;--gutter: clamp(1.25rem, 5vw, 4rem);--r-md: 14px;--r-lg: 22px;--z-bg: 0;--z-base: 1;--z-scene: 2;--z-progress: 40;--z-header: 50;--ease-out: cubic-bezier(.23, 1, .32, 1);--ease-mood: cubic-bezier(.32, .72, 0, 1);--mood-dur: .64s}[data-theme=intro]{--bg: oklch(.22 .02 60);--surface: oklch(.27 .025 58 / .72);--ink: oklch(.97 .012 80);--ink-soft: oklch(.86 .02 72);--accent: oklch(.8 .13 62);--accent-ink: oklch(.22 .04 50);--line: oklch(.97 .012 80 / .18);--veil: linear-gradient(180deg, oklch(.18 .02 55 / .62), oklch(.16 .02 50 / .8))}[data-theme=echappee-belle]{--bg: oklch(.27 .045 46);--surface: oklch(.33 .05 46 / .74);--ink: oklch(.96 .018 72);--ink-soft: oklch(.87 .03 64);--accent: oklch(.8 .145 60);--accent-ink: oklch(.24 .05 45);--line: oklch(.96 .018 72 / .2);--veil: linear-gradient(180deg, oklch(.22 .05 44 / .55), oklch(.2 .05 38 / .78))}[data-theme=oasis-des-dunes]{--bg: oklch(.3 .06 232);--surface: oklch(.34 .06 232 / .66);--ink: oklch(.98 .012 200);--ink-soft: oklch(.9 .03 210);--accent: oklch(.86 .1 92);--accent-ink: oklch(.24 .06 232);--line: oklch(.98 .012 200 / .22);--veil: linear-gradient(180deg, oklch(.3 .08 235 / .46), oklch(.26 .08 240 / .7))}[data-theme=echappee-bleue]{--bg: oklch(.27 .055 250);--surface: oklch(.32 .06 250 / .74);--ink: oklch(.97 .012 245);--ink-soft: oklch(.87 .03 248);--accent: oklch(.78 .115 250);--accent-ink: oklch(.22 .05 250);--line: oklch(.97 .012 245 / .2);--veil: linear-gradient(180deg, oklch(.24 .05 250 / .58), oklch(.21 .05 252 / .82))}.stage{position:fixed;inset:0;z-index:var(--z-bg);background:var(--bg);transition:background var(--mood-dur) var(--ease-mood);pointer-events:none;overflow:hidden}.stage-image{position:absolute;inset:0;background-size:cover;background-position:center;opacity:0;transform:scale(1.16);transition:opacity var(--mood-dur) var(--ease-mood);will-change:opacity}.smooth .stage-image{transition:none}[data-theme=intro] .stage-image[data-for=intro],[data-theme=echappee-belle] .stage-image[data-for=echappee-belle],[data-theme=oasis-des-dunes] .stage-image[data-for=oasis-des-dunes],[data-theme=echappee-bleue] .stage-image[data-for=echappee-bleue]{opacity:1}.stage-veil{position:absolute;inset:0;background:var(--veil);transition:background var(--mood-dur) var(--ease-mood)}html body{color:var(--ink);background:var(--bg);font-family:var(--v-font-text);font-size:var(--step-0);font-weight:400;line-height:1.62;letter-spacing:.005em;transition:color var(--mood-dur) var(--ease-mood),background var(--mood-dur) var(--ease-mood);overflow-x:hidden}.wrap{width:min(100% - calc(var(--gutter) * 2),var(--wrap));margin-inline:auto}.hero h1,.scene h2,.story h2,.contact h2,.footer-brand,.brandmark{font-family:var(--v-font-display)}h1,h2,h3{font-weight:500;line-height:1.04;letter-spacing:-.018em;margin:0;text-wrap:balance}.serif-italic{font-family:var(--v-font-display);font-style:italic;font-weight:500}.after p,.hero p,.scene p{margin:0 0 1rem;max-width:60ch;text-wrap:pretty}.after a,.hero a,.scene a,.site-header a,.site-footer a{color:inherit}.site-header{position:fixed;top:0;left:0;right:0;z-index:var(--z-header);display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:clamp(1rem,2.5vw,1.6rem) var(--gutter);color:#fff;text-shadow:0 1px 14px oklch(0 0 0 / .4);border-bottom:1px solid transparent;transition:background var(--mood-dur) var(--ease-mood),backdrop-filter .34s var(--ease-out),border-color .34s var(--ease-out),color var(--mood-dur) var(--ease-mood)}.site-header.is-glass{color:var(--ink);background:color-mix(in oklch,var(--bg) 58%,transparent);-webkit-backdrop-filter:blur(15px) saturate(1.2);backdrop-filter:blur(15px) saturate(1.2);border-bottom-color:var(--line);text-shadow:none}.brandmark{font-size:var(--step-1);font-weight:600;letter-spacing:-.01em;text-decoration:none;line-height:1}.brandmark small{display:block;font-family:var(--v-font-text);font-size:.62rem;font-weight:400;letter-spacing:.32em;text-transform:uppercase;opacity:.85;margin-top:.35rem}.site-nav{display:flex;align-items:center;gap:clamp(1rem,2.4vw,2rem)}.site-nav a{text-decoration:none;font-size:var(--step--1);font-weight:500;letter-spacing:.02em;position:relative}.site-nav a:after{content:"";position:absolute;left:0;bottom:-4px;width:100%;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .32s var(--ease-out)}@media(hover:hover)and (pointer:fine){.site-nav a:hover:after{transform:scaleX(1)}}.lang{font-variant:small-caps;letter-spacing:.12em;opacity:.75}.lang b{font-weight:600;opacity:1}@media(max-width:720px){.nav-links{display:none!important}}.progress{position:fixed;z-index:var(--z-progress);right:clamp(.9rem,2.5vw,1.8rem);top:50%;transform:translateY(-50%);display:flex;flex-direction:column;gap:.85rem;align-items:center}.progress .dot{width:24px;height:24px;display:grid;place-items:center;background:transparent;border:0;padding:0;cursor:pointer}.progress .dot:before{content:"";width:9px;height:9px;border-radius:50%;background:#ffffff59;border:1px solid oklch(1 0 0 / .5);transition:background .28s var(--ease-out),transform .28s var(--ease-out)}.progress .dot[aria-current=true]:before{background:var(--accent);transform:scale(1.45)}@media(max-width:720px){.progress{display:none}}.hero{position:relative;z-index:var(--z-base);min-height:100svh;display:grid;align-content:center;padding:clamp(4.5rem,10vh,6rem) var(--gutter) clamp(4rem,10vh,7rem)}.hero-inner{width:min(100%,44rem);margin-inline:0}.hero-kicker{font-size:var(--step--1);letter-spacing:.06em;color:var(--ink-soft);margin:0 0 1.6rem;display:flex;align-items:center;gap:.7rem;max-width:none}.hero-kicker:before{content:"";width:2.6rem;height:1px;background:var(--accent);flex:none}.hero h1{font-size:clamp(2.6rem,1.4rem + 4.6vw,5rem);line-height:1.04;letter-spacing:-.01em;max-width:18ch}.hero h1 em{color:var(--accent);font-style:italic}.hero-lede{font-size:var(--step-1);color:var(--ink-soft);margin-top:1.8rem;line-height:1.32;max-width:34ch}.chapter{position:relative;z-index:var(--z-base);height:150vh}.scene{position:sticky;top:0;height:100svh;display:grid;align-items:center;padding:clamp(5rem,12vh,8rem) var(--gutter) clamp(3rem,8vh,5rem)}.scene-inner{width:min(100%,var(--wrap));margin-inline:auto}.chapter-num{font-family:var(--v-font-display);font-style:italic;font-size:var(--step-1);color:var(--accent);margin:0 0 .6rem}.estate-loc{font-size:var(--step--1);letter-spacing:.18em;text-transform:uppercase;color:var(--ink-soft);margin:0 0 1.2rem;font-weight:500}.scene h2{font-size:var(--step-3);max-width:14ch}.estate-sense{font-size:var(--step-1);color:var(--ink-soft);margin:1.4rem 0 0;line-height:1.34;max-width:32ch}.estate-card{margin-top:clamp(1.8rem,4vh,2.6rem);display:inline-flex;flex-wrap:wrap;align-items:center;gap:1.2rem 1.6rem;padding:clamp(1.1rem,3vw,1.6rem) clamp(1.3rem,3.5vw,2rem);background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px);transition:background var(--mood-dur) var(--ease-mood),border-color var(--mood-dur) var(--ease-mood)}.estate-price{font-family:var(--v-font-display);line-height:1;margin:0}.estate-price b{font-size:clamp(2rem,1.4rem + 2vw,3rem);font-weight:600;letter-spacing:-.02em}.estate-price span{font-family:var(--v-font-text);font-size:var(--step--1);color:var(--ink-soft);letter-spacing:.04em;display:block;margin-top:.2rem}.estate-price.is-soon b{font-style:italic;font-size:clamp(1.6rem,1.2rem + 1.5vw,2.3rem)}.estate-tags{display:flex;flex-wrap:wrap;gap:.45rem;margin:0;padding:0;list-style:none}.estate-tags li{font-size:var(--step--1);padding:.3rem .8rem;border:1px solid var(--line);border-radius:100px;color:var(--ink-soft)}.estate-cta{display:inline-flex;align-items:center;gap:.55rem;text-decoration:none;font-weight:500;font-size:var(--step-0);padding:.8rem 1.5rem;border-radius:100px;background:var(--accent);color:var(--accent-ink);transition:transform .14s var(--ease-out),filter .22s var(--ease-out)}.estate-cta:after{content:"→"}.estate-cta:active{transform:scale(.97)}@media(hover:hover)and (pointer:fine){.estate-cta:hover{filter:brightness(1.06)}}.estate-soon{margin-top:1.4rem;font-size:var(--step--1);color:var(--ink-soft);max-width:40ch}.illus-note{position:fixed;left:clamp(.8rem,2.5vw,1.4rem);bottom:clamp(.8rem,2.5vw,1.4rem);z-index:var(--z-progress);font-size:.6rem;letter-spacing:.06em;color:#fff;background:#00000073;padding:.22rem .6rem;border-radius:100px;backdrop-filter:blur(2px);pointer-events:none;margin:0}.after{position:relative;z-index:var(--z-scene);background:var(--bg);transition:background var(--mood-dur) var(--ease-mood);border-top:1px solid var(--line)}.section{padding-block:clamp(2.6rem,5vw,4.5rem)}.story-grid{display:grid;grid-template-columns:.85fr 1fr;gap:clamp(2rem,5vw,4.5rem);align-items:center}.story-figure{aspect-ratio:4 / 5;max-height:32rem;border-radius:var(--r-md);overflow:hidden;background:var(--surface)}.story-text{max-width:48ch}.story-figure img{width:100%;height:100%;object-fit:cover}.story h2{font-size:var(--step-2);margin-bottom:1.3rem}.story .lead{font-size:var(--step-1);line-height:1.34;color:var(--ink);margin-bottom:1.6rem}.story p{color:var(--ink-soft)}.story .signature{font-size:var(--step-1);margin-top:1.6rem;color:var(--ink)}.story .signature small{display:block;font-family:var(--v-font-text);font-size:var(--step--1);letter-spacing:.04em;color:var(--ink-soft);margin-top:.2rem;font-style:normal}@media(max-width:800px){.story-grid{grid-template-columns:1fr}.story-figure{order:-1;aspect-ratio:16 / 10}}.proof{text-align:center;padding-block:calc(clamp(2.6rem,5vw,4.5rem) - 10px)}.proof-intro{font-size:var(--step-1);color:var(--ink-soft);margin:0 0 clamp(1.8rem,4vw,3rem)}.proof-stats{display:grid;grid-template-columns:repeat(3,1fr);align-items:start;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.proof-stats .stat{display:flex;flex-direction:column;gap:.5rem;padding:clamp(1.8rem,4vw,2.8rem) clamp(.8rem,2vw,1.6rem)}.proof-stats .stat+.stat{border-left:1px solid var(--line)}.stat-num{font-family:var(--v-font-display);font-size:clamp(2.6rem,1.6rem + 3.4vw,4.4rem);font-weight:500;line-height:1;letter-spacing:-.02em;color:var(--accent);transition:color var(--mood-dur) var(--ease-mood)}.stat-label{font-size:var(--step--1);letter-spacing:.04em;color:var(--ink-soft)}.proof .proof-sub{color:var(--ink-soft);font-size:var(--step--1);margin:clamp(1.6rem,3.5vw,2.6rem) auto 0;max-width:40ch;letter-spacing:.04em}@media(max-width:680px){.proof-stats{grid-template-columns:1fr}.proof-stats .stat+.stat{border-left:0;border-top:1px solid var(--line)}}.contact-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(1.8rem,5vw,4rem);align-items:center}.contact h2{font-size:var(--step-2);margin-bottom:1.1rem}.contact p{color:var(--ink-soft)}.contact-actions{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:1.8rem}.btn{display:inline-flex;align-items:center;gap:.55rem;text-decoration:none;font-weight:500;font-size:var(--step-0);padding:.85rem 1.5rem;border-radius:100px;transition:transform .14s var(--ease-out),background .28s var(--ease-out),color .28s var(--ease-out)}.btn:active{transform:scale(.97)}.btn-primary{background:var(--accent);color:var(--accent-ink)}.contact-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);padding:clamp(1.5rem,4vw,2.4rem);backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px)}.contact-card dl{margin:0;display:grid;gap:1.1rem}.contact-card dt{font-size:.66rem;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:.25rem}.contact-card dd{margin:0;font-size:var(--step-0)}.contact-card a{text-decoration:none;border-bottom:1px solid var(--accent)}@media(max-width:760px){.contact-grid{grid-template-columns:1fr}}.site-footer{position:relative;z-index:var(--z-scene);background:var(--bg);border-top:1px solid var(--line);padding:clamp(2.5rem,6vw,4rem) var(--gutter) clamp(2rem,4vw,3rem);font-size:var(--step--1);color:var(--ink-soft);transition:background var(--mood-dur) var(--ease-mood)}.footer-top{display:flex;flex-wrap:wrap;justify-content:space-between;gap:1.5rem 2rem;align-items:flex-start}.footer-brand{font-size:var(--step-1);color:var(--ink);margin:0 0 .5rem}.footer-legal{max-width:46ch;margin:0}.footer-nav{display:flex;flex-direction:column;gap:.4rem}.footer-nav a{color:var(--ink);text-decoration:none}.footer-nav a:hover{color:var(--accent)}.footer-bottom{margin-top:2.4rem;padding-top:1.4rem;border-top:1px solid var(--line);display:flex;flex-wrap:wrap;justify-content:space-between;gap:.6rem 1.5rem}.footer-bottom a{color:var(--ink);text-decoration:none;border-bottom:1px solid var(--accent)}.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.scene-inner{will-change:opacity,transform}.js .reveal{opacity:0;transform:translateY(16px);transition:opacity .76s var(--ease-out),transform .76s var(--ease-out)}.js .reveal.in-view{opacity:1;transform:none}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.stage,.stage-image,.stage-veil,html body,.after,.site-footer,.estate-card,.stat-num{transition-duration:.001ms!important}.stage-image{transform:none}.scene-inner,.js .reveal{opacity:1!important;transform:none!important}}
