.sec--noir, .folco, .ft, .cine, .pensee-cine{background:linear-gradient(180deg, oklch(.1061 calc(var(--ol-c-body)*.088) var(--ol-h) / .50), oklch(.2161 calc(var(--ol-c-body)*.637) var(--ol-h) / .42));color:var(--ol-carrara);}.sec .lead, .sec .body, .sec p, .lead, .body, p,
.folco-body p, .pensee-body p, .pm-stanza, .hero-sub,
.ph-sub, .pensee-intro, .merci-sub, .sculpt-sub, .proj-lc, .bc-cur{color:oklch(.9687 calc(var(--ol-c-body)*.058) var(--ol-h-pap) / .80);}.sec .lead, .hero-sub, .ph-sub, .pensee-intro{text-shadow:0 1px 22px oklch(.1061 calc(var(--ol-c-body)*.088) var(--ol-h) / .4);}.dbloc, .sf-item, .int-block, .est, .folco-plaque, .regards-item, .fig,
.cine-frame, .est-res, .est-opt{background:oklch(.2161 calc(var(--ol-c-body)*.637) var(--ol-h) / .46);border-color:oklch(.8462 calc(var(--ol-c-body)*.112) var(--ol-h) / 0.9);backdrop-filter:blur(12px);box-shadow:0 24px 70px oklch(.1061 calc(var(--ol-c-body)*.088) var(--ol-h) / .32);}.sf-grid, .pillars, .figs, .regards-grid, .sc-grid{border-color:oklch(.8462 calc(var(--ol-c-body)*.112) var(--ol-h) / 0.9);background:oklch(.8462 calc(var(--ol-c-body)*.112) var(--ol-h) / .10);}.est-opt:hover, .est-opt.active{background:oklch(.2817 calc(var(--ol-c-body)*.796) var(--ol-h) / .6);border-color:oklch(.7625 calc(var(--ol-c-pat)*.821) var(--ol-h-pat) / 1.0);}.btn{border-color:oklch(.941 calc(var(--ol-c-body)*.109) var(--ol-h) / 0.78);}.btn:hover{background:var(--ol-carrara);color:var(--ol-satin);}.btn-l, .btn-o{background:transparent;border-color:oklch(.7625 calc(var(--ol-c-pat)*.821) var(--ol-h-pat) / 1.0);color:var(--ol-bronze-soft);}.pnb{border-color:oklch(.941 calc(var(--ol-c-body)*.109) var(--ol-h) / 0.78);}input:not([type=range]):not([type=radio]):not([type=checkbox]), textarea{background:oklch(.941 calc(var(--ol-c-body)*.109) var(--ol-h) / .06);border-color:oklch(.941 calc(var(--ol-c-body)*.109) var(--ol-h) / 0.78);color:var(--ol-carrara);}input::placeholder, textarea::placeholder{color:oklch(.9687 calc(var(--ol-c-body)*.058) var(--ol-h-pap) / 0.74);}input:focus, textarea:focus{box-shadow:0 0 0 4px oklch(.7625 calc(var(--ol-c-pat)*.821) var(--ol-h-pat) / .12);}.form-note, .est-step{color:var(--ol-velvet);}.pm-rule, .ft-sep{background:linear-gradient(90deg, transparent, oklch(.8462 calc(var(--ol-c-body)*.112) var(--ol-h) / .28), transparent);}.ft-tag, .ft-cp, .ft-indep, .ft-nav a, .bc{color:oklch(.9687 calc(var(--ol-c-body)*.058) var(--ol-h-pap) / 0.74);}.ft-nav a:hover{color:var(--ol-bronze-soft);}.hero-vid{background:transparent;}.hero-vid video, .hero-vid > video{opacity:.50;filter:saturate(.8) contrast(1.05) brightness(.66);}.proj-iw img, .pj-card img, .pj-iw img{opacity:.94;}@keyframes ocSmoke1{0%  {transform:rotate(-22deg) scale(1.02) translate(-3%,-2%);opacity:0.80;}
  40% {transform:rotate(5deg)   scale(1.10) translate(1%, 3%);opacity:1.00;}
  100%{transform:rotate(25deg)  scale(1.04) translate(3%,-3%);opacity:0.88;}}@keyframes ocSmoke2{0%  {transform:rotate(15deg)  scale(1.06) translate(2%, 2%);opacity:0.72;}
  45% {transform:rotate(-8deg)  scale(0.96) translate(-2%,-3%);opacity:0.92;}
  100%{transform:rotate(-24deg) scale(1.02) translate(-3%,2%);opacity:0.78;}}@keyframes ocSmoke3{0%  {transform:scaleX(0.92) translateY(4px);  opacity:0.65;}
  100%{transform:scaleX(1.08) translateY(-6px); opacity:0.90;}}@keyframes ocSmoke4{0%  {transform:scaleX(1.05) translateY(-3px); opacity:0.60;}
  100%{transform:scaleX(0.94) translateY(5px);  opacity:0.82;}}@keyframes ocFade{from{opacity:0; transform:translateY(8px)} to{opacity:1; transform:none}}.dubai-band{position:absolute;left:50%;transform:translateX(-50%);width:min(1080px, calc(100% - 40px));z-index:6;border-radius:2px;flex-wrap:wrap;text-align:center;}.dubai-band-txt{font-family:var(--font-l);font-size:11px;letter-spacing:.2em;text-transform:uppercase;margin:0;}.dubai-band-txt strong{color:var(--ol-bronze-soft);font-weight:600;}.dubai-band-cta{font-family:var(--font-l);font-size:10px;letter-spacing:.22em;text-transform:uppercase;border-bottom:1px solid oklch(.7625 calc(var(--ol-c-pat)*.821) var(--ol-h-pat) / .5);padding-bottom:2px;white-space:nowrap;}.dubai-band-cta:hover{color:var(--ol-carrara);}.dxb-hero{position:relative;min-height:92vh;display:flex;align-items:flex-end;overflow:hidden;isolation:isolate;}.dxb-hero-bg{position:absolute;inset:0;z-index:-2;}.dxb-hero-bg img{width:100%;height:100%;object-fit:cover;}.dxb-hero-veil{position:absolute;inset:0;z-index:-1;}.dxb-hero-in{width:min(1160px, calc(100% - 44px));margin:0 auto;padding:clamp(140px,18vw,210px) 0 clamp(70px,10vw,110px);}.dxb-date{font-family:var(--font-l);font-size:11px;letter-spacing:.34em;text-transform:uppercase;margin:0 0 18px;}.dxb-h1{font-family:var(--font-s);font-weight:400;font-size:clamp(40px,6.5vw,92px);line-height:.98;letter-spacing:-.03em;color:var(--ol-carrara);margin:0;}.dxb-h1 em{font-style:italic;color:var(--ol-platinum);}.dxb-sub{font-family:var(--font-b);font-size:clamp(15px,1.4vw,19px);line-height:1.7;color:oklch(.9687 calc(var(--ol-c-body)*.058) var(--ol-h-pap) / .8);max-width:640px;margin:26px 0 0;}.dxb-sec{position:relative;padding:clamp(72px,8vw,120px) 0;}.dxb-wrap{width:min(1160px, calc(100% - 44px));margin:0 auto;}.dxb-lede{font-family:var(--font-s);font-weight:400;font-size:clamp(24px,3.4vw,42px);line-height:1.28;color:var(--ol-carrara);max-width:920px;margin:0 auto;text-align:center;text-shadow:0 1px 30px oklch(.1061 calc(var(--ol-c-body)*.088) var(--ol-h) / .5);}.dxb-grid{display:grid;margin-top:clamp(40px,5vw,64px);}.dxb-ph{position:relative;aspect-ratio:4/5;overflow:hidden;background:var(--ol-abime);box-shadow:0 26px 70px oklch(.1061 calc(var(--ol-c-body)*.088) var(--ol-h) / .4);}.dxb-ph img{width:100%;height:100%;object-fit:cover;transition:transform 1.4s var(--ol-ease), opacity 1.4s;}.dxb-ph:hover img{transform:scale(1.05);}.dxb-ph-wide{grid-column:span 2;aspect-ratio:16/10;}.dxb-facts{display:grid;grid-template-columns:repeat(3, 1fr);gap:1px;margin-top:clamp(40px,5vw,64px);border:1px solid oklch(.8462 calc(var(--ol-c-body)*.112) var(--ol-h) / .14);background:oklch(.8462 calc(var(--ol-c-body)*.112) var(--ol-h) / .1);}.dxb-fact{padding:clamp(26px,3vw,40px);background:oklch(.2161 calc(var(--ol-c-body)*.637) var(--ol-h) / .46);backdrop-filter:blur(12px);}.dxb-fact-l{font-family:var(--font-l);font-size:10px;letter-spacing:.26em;text-transform:uppercase;color:var(--ol-bronze-soft);margin:0 0 10px;}.dxb-fact-v{font-family:var(--font-s);font-weight:400;font-size:clamp(20px,2.4vw,30px);color:var(--ol-carrara);margin:0;line-height:1.1;}.dxb-fact-v small{display:block;font-family:var(--font-b);font-size:12px;color:var(--ol-velvet);letter-spacing:0;text-transform:none;margin-top:6px;}.dxb-rsvp{max-width:760px;margin:clamp(48px,6vw,80px) auto 0;padding:clamp(34px,4vw,54px);background:linear-gradient(180deg, oklch(.2817 calc(var(--ol-c-body)*.796) var(--ol-h) / .5), oklch(.2161 calc(var(--ol-c-body)*.637) var(--ol-h) / .46));border:1px solid oklch(.7625 calc(var(--ol-c-pat)*.821) var(--ol-h-pat) / .22);backdrop-filter:blur(14px);text-align:center;}.dxb-rsvp-affluence{font-family:var(--font-l);font-size:10px;letter-spacing:.26em;text-transform:uppercase;color:var(--ol-bronze-soft);margin:0 0 16px;}.dxb-rsvp h2{font-family:var(--font-s);font-weight:400;font-size:clamp(26px,3.2vw,42px);color:var(--ol-carrara);margin:0 0 16px;}.dxb-rsvp p{font-family:var(--font-b);font-size:clamp(14px,1.2vw,16px);line-height:1.7;color:oklch(.9687 calc(var(--ol-c-body)*.058) var(--ol-h-pap) / .78);max-width:560px;margin:0 auto 12px;}.dxb-rsvp-acts{display:flex;flex-wrap:wrap;gap:14px;justify-content:center;margin-top:28px;}.dxb-note{font-family:var(--font-l);font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:oklch(.6054 calc(var(--ol-c-body)*.265) var(--ol-h) / 1.0);text-align:center;margin-top:clamp(40px,5vw,60px);}.dxb-cal{font-family:var(--font-l);font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--ol-velvet);border-bottom:1px solid oklch(.8462 calc(var(--ol-c-body)*.112) var(--ol-h) / .2);padding-bottom:2px;}.dxb-cal:hover{color:var(--ol-bronze-soft);}@media (max-width: 860px){.dxb-grid, .dxb-facts{grid-template-columns:1fr;}.dxb-ph-wide{grid-column:span 1;aspect-ratio:4/5;}}.nl-dubai::after{background:linear-gradient(90deg, var(--ol-bronze), var(--ol-bronze-soft));}.nl-dubai:hover{color:var(--ol-carrara);}@media (max-width:860px){.dubai-band{top:64px;padding:11px 16px;gap:10px;}.dubai-band-txt{font-size:10px;letter-spacing:.14em;}}.ph{background:transparent;position:relative;isolation:isolate;}.ph::before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background:linear-gradient(180deg, oklch(.1061 calc(var(--ol-c-body)*.088) var(--ol-h) / .62), oklch(.1061 calc(var(--ol-c-body)*.088) var(--ol-h) / .40) 42%, oklch(.1061 calc(var(--ol-c-body)*.088) var(--ol-h) / .80));}.ph .container, .ph-h1, .ph-sub, .kicker{position:relative;z-index:2;}.ph-h1, .ph-h1 span, .ph-h1 em{color:var(--ol-carrara);text-shadow:0 2px 40px oklch(.1061 calc(var(--ol-c-body)*.088) var(--ol-h) / .6);}.ph-h1 em{color:var(--ol-platinum);}.ph-sub{color:oklch(.9687 calc(var(--ol-c-body)*.058) var(--ol-h-pap) / .80);text-shadow:0 1px 24px oklch(.1061 calc(var(--ol-c-body)*.088) var(--ol-h) / .5);}.ph .kicker, .ph-eyebrow{color:var(--ol-bronze-soft);}.pensee-hero{background:transparent;position:relative;isolation:isolate;}.pensee-hero::before{content:"";position:absolute;inset:0;z-index:0;background:linear-gradient(180deg, oklch(.1061 calc(var(--ol-c-body)*.088) var(--ol-h) / .5), oklch(.1061 calc(var(--ol-c-body)*.088) var(--ol-h) / .78));}.pensee-hero-inner{position:relative;z-index:2;}.pensee-h1, .pensee-h1 *{color:var(--ol-carrara);text-shadow:0 2px 40px oklch(.1061 calc(var(--ol-c-body)*.088) var(--ol-h) / .55);}.pensee-eyebrow{color:var(--ol-bronze-soft);}.pensee-intro, .pensee-body p, .pm-stanza{color:oklch(.9687 calc(var(--ol-c-body)*.058) var(--ol-h-pap) / .80);}.stmt-q, .stmt-q *{color:var(--ol-carrara);text-shadow:0 1px 30px oklch(.1061 calc(var(--ol-c-body)*.088) var(--ol-h) / .5);}.stmt-sig{color:var(--ol-platinum);}.stmt-sig em{color:var(--ol-bronze-soft);}.split, .split *{color:var(--ol-carrara);}.split-l, .split-cap, .split-n{color:var(--ol-bronze-soft);}.regards-title, .regards-title *{color:var(--ol-carrara);text-shadow:0 1px 26px oklch(.1061 calc(var(--ol-c-body)*.088) var(--ol-h) / .5);}.regards-grid{border-color:oklch(.8462 calc(var(--ol-c-body)*.112) var(--ol-h) / 0.9);}.regards-item{backdrop-filter:blur(14px);}.dxb-grid{grid-template-columns:repeat(3, 1fr);gap:12px;}.dxb-ph, .dxb-ph-wide{grid-column:auto;aspect-ratio:1/1;background:var(--ol-satin);}.dxb-ph img{filter:grayscale(.72) contrast(1.05) brightness(.74) saturate(.85);opacity:.9;}.dxb-ph::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(158deg, oklch(.2817 calc(var(--ol-c-body)*.796) var(--ol-h) / .46), oklch(.1061 calc(var(--ol-c-body)*.088) var(--ol-h) / .56));mix-blend-mode:normal;}.dxb-ph:hover img{opacity:1;}.dxb-ph img[src*="bureau"]{filter:grayscale(.5) contrast(1.04) brightness(.82) saturate(.9);}@media (max-width: 760px){.dxb-grid{grid-template-columns:repeat(2, 1fr);}}a, button, .btn, .ncta, .pnb, .lb, .dbloc, .sf-item, .regards-item, .dxb-ph,
.est-opt, .folco-plaque, .fig, .int-block{transition:color .45s var(--ol-ease), background-color .45s var(--ol-ease),
              border-color .45s var(--ol-ease), transform .6s var(--ol-ease),
              box-shadow .6s var(--ol-ease), opacity .6s var(--ol-ease);}.dbloc:hover, .sf-item:hover, .regards-item:hover, .est-opt:hover,
.dxb-ph:hover, .folco-plaque:hover, .fig:hover{transform:translateY(-4px);}a:focus-visible, button:focus-visible, input:focus-visible,
textarea:focus-visible, .lb:focus-visible{outline:1px solid var(--ol-bronze-soft);outline-offset:3px;}.sep{height:1px;}.sc-live-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:clamp(32px,4vw,48px);}.sc-live-fig{position:relative;aspect-ratio:9/16;overflow:hidden;background:var(--ol-abime);box-shadow:0 26px 70px oklch(.1061 calc(var(--ol-c-body)*.088) var(--ol-h) / .4);margin:0;}.sc-live-fig img, .sc-live-fig video{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(.92) contrast(1.03) brightness(.9);transition:transform 1.4s var(--ol-ease), filter 1.4s var(--ol-ease);}.sc-live-fig:hover img, .sc-live-fig:hover video{transform:scale(1.04);filter:saturate(1) contrast(1.03) brightness(1);}.sc-live-fig::after{content:"";position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 0 0 1px oklch(.8462 calc(var(--ol-c-body)*.112) var(--ol-h) / .14);}@media (max-width:760px){.sc-live-grid{grid-template-columns:1fr;max-width:420px;margin-left:auto;margin-right:auto;}}.rv.d1{transition-delay:.07s;}.rv.d2{transition-delay:.15s;}.rv.d3{transition-delay:.23s;}.rv.d4{transition-delay:.31s;}.rv.d5{transition-delay:.39s;}.fig img, .proj-iw img, .sc-live-fig img, .sc-live-fig video, .dxb-ph img, .folco-portrait img{transition:transform 1.7s var(--ol-ease), clip-path 1.5s var(--ol-ease), opacity 1.3s var(--ol-ease);will-change:transform;}.fig:not(.in) img, .proj-iw:not(.in) img, .sc-live-fig:not(.in) img, .sc-live-fig:not(.in) video,
.dxb-ph:not(.in) img, .folco-portrait:not(.in) img{transform:scale(1.1);clip-path:inset(6%);opacity:0;}.fig.in img, .proj-iw.in img, .sc-live-fig.in img, .sc-live-fig.in video,
.dxb-ph.in img, .folco-portrait.in img{transform:scale(1);clip-path:inset(0%);opacity:1;}.hero-h1 span, .hero-h1 em{display:inline-block;}.oc-veil{position:fixed;inset:0;z-index:9600;pointer-events:none;background:linear-gradient(162deg, var(--ol-lapis), var(--ol-abime) 72%);transform:translateY(100%);will-change:transform;}body.oc-leaving .oc-veil{transform:translateY(0);transition:transform .6s var(--ol-ease);}@media (prefers-reduced-motion: reduce){.oc-veil{display:none;}}.ft-nav a, .pj-cat, .proj-nm{background-image:linear-gradient(var(--ol-bronze-soft),var(--ol-bronze-soft));background-size:0% 1px;background-position:0 100%;background-repeat:no-repeat;transition:background-size .5s var(--ol-ease), color .45s var(--ol-ease);}.ft-nav a:hover{background-size:100% 1px;}.oc-split .oc-wi{display:inline-block;}@media (prefers-reduced-motion:reduce){.oc-split .oc-wi{transform:none;opacity:1;transition:none;}}.oc-grain{top:-25%;left:-25%;width:150%;height:150%;will-change:transform;}@keyframes ocGrainShift{0%{transform:translate(0,0)}10%{transform:translate(-4%,-3%)}20%{transform:translate(-7%,2%)}30%{transform:translate(3%,-6%)}40%{transform:translate(-2%,7%)}50%{transform:translate(6%,1%)}60%{transform:translate(-6%,-2%)}70%{transform:translate(2%,5%)}80%{transform:translate(-3%,-7%)}90%{transform:translate(5%,3%)}100%{transform:translate(0,0)}}.oc-grain{animation:ocGrainShift 1.05s steps(2) infinite;}@media (pointer:coarse){.oc-grain{animation:none;}}@media (prefers-reduced-motion:reduce){.oc-grain{animation:none;}}#cur.has-label{mix-blend-mode:normal;}.cur-ring{display:grid;place-items:center;background:oklch(.1061 calc(var(--ol-c-body)*.088) var(--ol-h) / .04);transition:width .3s var(--ol-ease),height .3s var(--ol-ease),border-color .3s var(--ol-ease),
             border-radius .3s var(--ol-ease),background .3s var(--ol-ease),box-shadow .3s var(--ol-ease);}.cur-ring::after{content:attr(data-label);font-family:var(--font-l);font-size:9px;letter-spacing:.18em;text-transform:uppercase;color:var(--ol-carrara);opacity:0;transform:translateY(4px);transition:opacity .24s var(--ol-ease),transform .24s var(--ol-ease);text-shadow:0 1px 16px oklch(.1061 calc(var(--ol-c-body)*.088) var(--ol-h) / .72);}#cur.has-label .cur-ring::after{opacity:1;transform:none;}#cur.is-media .cur-ring{width:96px;height:58px;border-radius:999px;border-color:oklch(.941 calc(var(--ol-c-body)*.109) var(--ol-h) / 0.78);background:oklch(.1061 calc(var(--ol-c-body)*.088) var(--ol-h) / .24);box-shadow:0 18px 44px oklch(.1061 calc(var(--ol-c-body)*.088) var(--ol-h) / .22),inset 0 1px 0 rgba(255,255,255,.14);}#cur.is-action .cur-ring{width:70px;height:70px;border-color:oklch(.7625 calc(var(--ol-c-pat)*.821) var(--ol-h-pat) / 1.0);}.oc-glyph{font-variation-settings:"wght" var(--oc-wght,360);}.oc-glyph .oc-gc{display:inline-block;transform:translateY(112%);opacity:0;will-change:transform,opacity,filter;}.oc-glyph.in .oc-gc{transform:translateY(0);opacity:1;filter:blur(0);}@media (prefers-reduced-motion:reduce){.oc-glyph .oc-gc{transform:none;opacity:1;filter:none;transition:none;}}.oc-page-canvas{position:fixed;inset:0;width:100vw;height:100vh;pointer-events:none;opacity:0;transition:opacity .18s linear;will-change:opacity;}.oc-page-canvas.is-active{opacity:1;}body.oc-leaving{cursor:progress;}.proj-iw,.dxb-ph,.sc-live-fig,.folco-portrait,.ph-bg,.ph-full-bg,.cine,.pensee-cine{position:relative;isolation:isolate;}.proj-iw img,.dxb-ph img,.sc-live-fig img,.sc-live-fig video,.folco-portrait img,.folco-video,.folco-silhouette,
.ph-bg img,.ph-full-bg img,.cine-bg,.pensee-video{filter:grayscale(.38) saturate(.72) contrast(1.08) brightness(.82);}.proj-iw::before,.dxb-ph::before,.sc-live-fig::before,.folco-portrait::before,.ph-bg::before,.ph-full-bg::before,.cine::before,.pensee-cine::before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(145deg,oklch(.1061 calc(var(--ol-c-body)*.088) var(--ol-h) / .16),oklch(.2817 calc(var(--ol-c-body)*.796) var(--ol-h) / .38) 48%,oklch(.9687 calc(var(--ol-c-body)*.058) var(--ol-h-pap) / .12));mix-blend-mode:color;opacity:.62;}.proj-iw::after,.dxb-ph::after,.sc-live-fig::after,.folco-portrait::after,.ph-bg::after,.ph-full-bg::after,.cine::after,.pensee-cine::after{content:"";position:absolute;inset:-18% -42%;z-index:2;pointer-events:none;background:linear-gradient(105deg,transparent 34%,oklch(.9687 calc(var(--ol-c-body)*.058) var(--ol-h-pap) / .20) 47%,oklch(.7625 calc(var(--ol-c-pat)*.821) var(--ol-h-pat) / .10) 51%,transparent 63%);transform:translateX(-58%) skewX(-12deg);opacity:0;mix-blend-mode:screen;transition:transform 1.55s var(--ol-ease),opacity 1.2s var(--ol-ease);}.proj-iw.in::after,.dxb-ph.in::after,.sc-live-fig.in::after,.folco-portrait.in::after,
.ph:hover .ph-bg::after,.ph-full:hover .ph-full-bg::after,.cine:hover::after,.pensee-cine:hover::after,
.proj-sl:hover .proj-iw::after,.dxb-ph:hover::after{transform:translateX(58%) skewX(-12deg);opacity:.86;}.proj-ov,.proj-ovt{z-index:3;}.cine-frame,.folco-plaque{z-index:3;}.proj-iw:hover img,.dxb-ph:hover img,.sc-live-fig:hover img,.sc-live-fig:hover video{filter:grayscale(.22) saturate(.9) contrast(1.08) brightness(.9);}.dxb-hero::before{content:"";position:absolute;inset:-12% -18%;z-index:0;pointer-events:none;background:linear-gradient(92deg,transparent 0 15%,oklch(.941 calc(var(--ol-c-body)*.109) var(--ol-h) / .14) 18%,transparent 26%),
    linear-gradient(101deg,transparent 46%,oklch(.7625 calc(var(--ol-c-pat)*.821) var(--ol-h-pat) / .12) 52%,transparent 60%),
    linear-gradient(84deg,transparent 66%,oklch(.941 calc(var(--ol-c-body)*.109) var(--ol-h) / .10) 70%,transparent 78%);mix-blend-mode:screen;transform:skewX(-9deg);animation:dxbGlassRays 12s var(--ol-ease) infinite alternate;}.dxb-hero::after{content:"";position:absolute;left:0;right:0;top:42%;z-index:0;height:1px;pointer-events:none;background:linear-gradient(90deg,transparent,oklch(.9687 calc(var(--ol-c-body)*.058) var(--ol-h-pap) / .58),oklch(.7625 calc(var(--ol-c-pat)*.821) var(--ol-h-pat) / .32),transparent);box-shadow:0 0 34px oklch(.941 calc(var(--ol-c-body)*.109) var(--ol-h) / .42),0 0 90px oklch(.7625 calc(var(--ol-c-pat)*.821) var(--ol-h-pat) / .18);}.dxb-hero-in{position:relative;z-index:1;}.dxb-h1{text-shadow:0 2px 42px oklch(.1061 calc(var(--ol-c-body)*.088) var(--ol-h) / .62),0 0 38px oklch(.941 calc(var(--ol-c-body)*.109) var(--ol-h) / .13);}@keyframes dxbGlassRays{from{transform:translateX(-3%) skewX(-9deg);opacity:.42}
  to{transform:translateX(4%) skewX(-9deg);opacity:.68}}.hero-motif{height:auto;margin:0 0 22px;}.olympe-matter-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;margin:clamp(34px,5vw,64px) 0;border:1px solid oklch(.8462 calc(var(--ol-c-body)*.112) var(--ol-h) / .14);background:oklch(.8462 calc(var(--ol-c-body)*.112) var(--ol-h) / .12);overflow:hidden;}.olympe-matter-strip figure{position:relative;min-height:clamp(190px,22vw,310px);margin:0;overflow:hidden;background:var(--ol-abime);}.olympe-matter-strip img{width:100%;height:100%;object-fit:cover;filter:grayscale(.48) saturate(.66) contrast(1.1) brightness(.76);transform:scale(1.045);transition:transform 1.5s var(--ol-ease),filter 1.5s var(--ol-ease);}.olympe-matter-strip figure::before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(160deg,oklch(.1061 calc(var(--ol-c-body)*.088) var(--ol-h) / .18),oklch(.2817 calc(var(--ol-c-body)*.796) var(--ol-h) / .42),oklch(.9687 calc(var(--ol-c-body)*.058) var(--ol-h-pap) / .10));mix-blend-mode:color;}.olympe-matter-strip figure::after{content:"";position:absolute;inset:-24% -60%;z-index:2;pointer-events:none;background:linear-gradient(105deg,transparent 36%,oklch(.9687 calc(var(--ol-c-body)*.058) var(--ol-h-pap) / .22) 49%,oklch(.7625 calc(var(--ol-c-pat)*.821) var(--ol-h-pat) / .12) 53%,transparent 64%);transform:translateX(-55%) skewX(-12deg);opacity:0;transition:transform 1.35s var(--ol-ease),opacity 1s var(--ol-ease);mix-blend-mode:screen;}.olympe-matter-strip.in figure::after,.olympe-matter-strip figure:hover::after{transform:translateX(55%) skewX(-12deg);opacity:.78;}.olympe-matter-strip figure:hover img{transform:scale(1.085);}.olympe-matter-strip figcaption{position:absolute;left:18px;bottom:16px;z-index:3;font-family:var(--font-l);font-size:9px;letter-spacing:.28em;text-transform:uppercase;color:var(--ol-bronze-soft);text-shadow:0 1px 18px oklch(.1061 calc(var(--ol-c-body)*.088) var(--ol-h) / .72);}.oc-sound-toggle{min-height:42px;backdrop-filter:blur(18px);}.oc-sound-toggle i{letter-spacing:.16em;}.oc-sound-toggle.is-on{background:oklch(.2817 calc(var(--ol-c-body)*.796) var(--ol-h) / .72);}.oc-sound-toggle:hover{transform:translateY(-2px);border-color:oklch(.941 calc(var(--ol-c-body)*.109) var(--ol-h) / 0.78);}@media (max-width:860px){.hero-motif{margin-bottom:18px;}.olympe-matter-strip{grid-template-columns:repeat(2,1fr);}.olympe-matter-strip figure{min-height:210px;}.oc-sound-toggle{right:84px;bottom:18px;min-height:40px;}}@media (max-width:520px){.olympe-matter-strip{grid-template-columns:1fr;}.oc-sound-toggle{left:16px;right:auto;bottom:18px;}}body{font-kerning:normal;font-feature-settings:"kern" 1,"liga" 1;}.stmt-q,.display,.cine-quote{line-height:1.04;}.body,p,.lead,.hero-sub,.ph-sub,.pensee-intro,.merci-sub{font-weight:400;letter-spacing:0;}.hd.is-scrolled{background:oklch(.1061 calc(var(--ol-c-body)*.088) var(--ol-h) / .70);}.hero-sub,.lead,.sec .lead,.sec .body,.sec p,.folco-body p,.pensee-body p,.pm-stanza{color:oklch(.9687 calc(var(--ol-c-body)*.058) var(--ol-h-pap) / .86);}.hero-motif{filter:drop-shadow(0 0 16px oklch(.941 calc(var(--ol-c-body)*.109) var(--ol-h) / .28));}.ph-bg img,.ph-full-bg img,.merci-bg img,.cine-bg,.pensee-video{opacity:.78;filter:saturate(.96) contrast(1.05) brightness(.88);}.ph-full-veil,.pensee-cine-veil,.cine-veil{background:linear-gradient(90deg,oklch(.1061 calc(var(--ol-c-body)*.088) var(--ol-h) / .62),oklch(.1061 calc(var(--ol-c-body)*.088) var(--ol-h) / .20),oklch(.1061 calc(var(--ol-c-body)*.088) var(--ol-h) / .54));}.proj-iw img,.dxb-ph img,.sc-live-fig img,.sc-live-fig video,.folco-portrait img,
.folco-video,.folco-silhouette,.olympe-matter-strip img{opacity:.98;filter:grayscale(.10) saturate(1.02) contrast(1.06) brightness(.96);}.proj-iw:hover img,.dxb-ph:hover img,.sc-live-fig:hover img,.sc-live-fig:hover video,
.olympe-matter-strip figure:hover img{filter:grayscale(0) saturate(1.12) contrast(1.07) brightness(1.02);}.proj-iw::before,.dxb-ph::before,.sc-live-fig::before,.folco-portrait::before,
.ph-bg::before,.ph-full-bg::before,.cine::before,.pensee-cine::before,
.olympe-matter-strip figure::before{opacity:.34;}.proj-iw::after,.dxb-ph::after,.sc-live-fig::after,.folco-portrait::after,
.ph-bg::after,.ph-full-bg::after,.cine::after,.pensee-cine::after,
.olympe-matter-strip figure::after{background:linear-gradient(105deg,transparent 36%,oklch(.9687 calc(var(--ol-c-body)*.058) var(--ol-h-pap) / .24) 48%,oklch(.7625 calc(var(--ol-c-pat)*.821) var(--ol-h-pat) / .12) 52%,transparent 64%);}.dxb-hero::before{opacity:.48;filter:blur(5px);}.dxb-hero::after{opacity:.9;}.dbloc,.sf-item,.int-block,.est,.folco-plaque,.regards-item,.fig,
.cine-frame,.est-res,.est-opt,.dxb-fact,.dxb-rsvp{background:oklch(.2161 calc(var(--ol-c-body)*.637) var(--ol-h) / .36);border-color:oklch(.941 calc(var(--ol-c-body)*.109) var(--ol-h) / 0.78);backdrop-filter:blur(7px) saturate(1.08);box-shadow:0 20px 54px oklch(.1061 calc(var(--ol-c-body)*.088) var(--ol-h) / .24);}.sf-item:hover,.fig:hover,.regards-item:hover,.dbloc:hover,.dxb-fact:hover{background:oklch(.2817 calc(var(--ol-c-body)*.796) var(--ol-h) / .44);border-color:oklch(.7625 calc(var(--ol-c-pat)*.821) var(--ol-h-pat) / 1.0);}.oc-glyph .oc-gc{transition:transform .78s var(--ol-ease),opacity .78s var(--ol-ease),filter .78s var(--ol-ease);}@media (max-width:860px){.hero-vid video,.hero-vid>video{opacity:.70;filter:saturate(.98) contrast(1.06) brightness(.86);}.hero-veil{background:linear-gradient(180deg,oklch(.1061 calc(var(--ol-c-body)*.088) var(--ol-h) / .24),oklch(.1061 calc(var(--ol-c-body)*.088) var(--ol-h) / .52));}.hero-h1{font-size:clamp(46px,15vw,84px);}}
/* ══════════════════════════════════════════════════════════════════════════
   OLYMPE MINERAL 2026 — socle chromatique perceptuel
   Le :root ci-dessous reste le repli sRGB complet. Le bloc @supports qui suit
   prend la main sur navigateur moderne : memes clartes, chroma etendue en
   Display P3 (+36 %) et Rec.2020 (+58 %) SANS toucher a la clarte, donc sans
   modifier un seul contraste APCA.
   Mesures d'origine V91.2 : lapis oklch(.2813 .0692 252.3)
                             bronze oklch(.7003 .0773 81.5) — supprime
   Aucune propriete typographique n'est declaree ici.
   ══════════════════════════════════════════════════════════════════════════ */
/* Les onze parametres de teinte et de chroma, les @property qui les
   enregistrent et les bases --ol-c-* ont ete SORTIS d'ici vers
   CSS/olympe-palette-2026.css. Raison : la Luxury Branch ne charge pas cette
   feuille de 437 ko, et depuis la reecriture chromatique du 7 aout elle
   depend des memes parametres. Une palette qui commande deux arborescences ne
   peut pas vivre dans l'une des deux. La feuille de palette se charge AVANT
   celle-ci sur les 51 pages. */
/*@KEEP-SRGB*/:root{--c-blanc:#FFFFFF;--c-ivoire:#F7FAFE;--c-creme:#ECF1F7;--c-pierre:#E2E7ED;--c-encre:#070A0E;--c-steel:#475464;--c-velvet:#788390;--c-hair:rgba(6,16,28,.09);--c-bronze:#C9AE7C;--c-or:#C9AE7C;--c-abime:#030406;--c-satin:#041A33;--c-lapis:#0A2A4B;--c-lit:#F2F5F8;--c-platine:#E7ECF2;--c-vein:#C8CDD3;--ease:cubic-bezier(.19,1,.22,1);--ol-abime:var(--c-abime);--ol-lapis:var(--c-lapis);--ol-vein:var(--c-vein);--ol-velvet:var(--c-velvet);--ol-steel:var(--c-steel);--ol-hair:var(--c-hair);}/*@/KEEP-SRGB*/
@supports (color:oklch(0 0 0)){
:root{
  /* parametres et bases --ol-c-* : CSS/olympe-palette-2026.css */
  --c-abime:oklch(.106 var(--ol-c-edge) var(--ol-h));
  --c-satin:oklch(.218 calc(var(--ol-c-body)*.8) var(--ol-h));
  --c-lapis:oklch(.281 var(--ol-c-body) var(--ol-h));
  --c-steel:oklch(.442 var(--ol-c-deep) var(--ol-h));
  --c-velvet:oklch(.605 calc(var(--ol-c-deep)*.65) var(--ol-h));
  --c-vein:oklch(.847 var(--ol-c-nul) var(--ol-h));
  --c-platine:oklch(.941 calc(var(--ol-c-nul)*1.2) var(--ol-h));
  --c-pierre:oklch(.918 var(--ol-c-nul) var(--ol-h-pap));
  --c-creme:oklch(.941 calc(var(--ol-c-nul)*1.55) var(--ol-h-pap));
  --c-ivoire:oklch(.975 var(--ol-c-nul) var(--ol-h-pap));
  --c-lit:oklch(.968 var(--ol-c-nul) var(--ol-h-pap));
  --c-encre:oklch(.100 var(--ol-c-edge) var(--ol-h));
  --c-bronze:oklch(.755 calc(var(--ol-c-pat)*.86) var(--ol-h-pat));
  --c-or:oklch(.820 calc(var(--ol-c-pat)*.72) var(--ol-h-pat));
  /* --c-hair NON redefini : filet SOMBRE pose sur fonds clairs (.pnb, input,
     .nav, .dxb-fact). L'eclaircir le rendrait invisible. */
  --ol-pt-ombre:oklch(.520 var(--ol-c-edge) var(--ol-h));
  --ol-pt-corps:oklch(.690 calc(var(--ol-c-edge)*.85) var(--ol-h));
  --ol-pt:oklch(.800 calc(var(--ol-c-edge)*.70) var(--ol-h));
  --ol-pt-arete:oklch(.905 calc(var(--ol-c-edge)*.55) var(--ol-h));
  --ol-pt-eclat:oklch(.965 var(--ol-c-nul) var(--ol-h));
}
/* gamut : CSS/olympe-palette-2026.css */
@media (dynamic-range:high){:root{--ol-pt-eclat:oklch(1.02 var(--ol-c-nul) var(--ol-h))}}
}html,body{color:var(--c-encre);}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:1.5px solid var(--c-bronze);outline-offset:3px;}#pb{background:linear-gradient(90deg,transparent,var(--c-bronze),var(--c-or));box-shadow:0 0 18px oklch(.7625 calc(var(--ol-c-pat)*.821) var(--ol-h-pat) / .35);}.hd{color:var(--c-lit);background:transparent;border-bottom-color:transparent;backdrop-filter:none;}.hd.is-scrolled:not(.is-past-hero){background:oklch(.1061 calc(var(--ol-c-body)*.088) var(--ol-h) / .28);backdrop-filter:blur(16px);padding:10px 0;}.hd.is-past-hero,.hd.solid{background:rgba(255,255,255,.92);border-bottom-color:oklch(.1701 calc(var(--ol-c-body)*.333) var(--ol-h) / 0.54);backdrop-filter:blur(20px) saturate(1.15);color:var(--c-encre);padding:10px 0;}.hd .nl,.hd .lb{color:oklch(.9687 calc(var(--ol-c-body)*.058) var(--ol-h-pap) / .78);}.hd .logo-n{color:var(--c-lit);}.hd .logo-s{color:oklch(.9687 calc(var(--ol-c-body)*.058) var(--ol-h-pap) / 0.75);}.hd .ncta{border-color:oklch(.941 calc(var(--ol-c-body)*.109) var(--ol-h) / 0.78);color:var(--c-lit);background:oklch(.941 calc(var(--ol-c-body)*.109) var(--ol-h) / .05);}.hd.is-past-hero .nl,.hd.is-past-hero .lb,.hd.solid .nl,.hd.solid .lb{color:var(--c-steel);}.hd.is-past-hero .nl:hover,.hd.is-past-hero .nl.active,.hd.is-past-hero .lb.active,
.hd.solid .nl:hover,.hd.solid .nl.active,.hd.solid .lb.active{color:var(--c-encre);}.hd.is-past-hero .logo-n,.hd.solid .logo-n{color:var(--c-encre);}.hd.is-past-hero .logo-s,.hd.solid .logo-s{color:var(--c-steel);}.hd.is-past-hero .ncta,.hd.solid .ncta{border-color:oklch(.1701 calc(var(--ol-c-body)*.333) var(--ol-h) / 0.54);color:var(--c-encre);background:rgba(255,255,255,.64);}.hd.is-past-hero .ncta:hover,.hd.solid .ncta:hover{background:var(--c-encre);color:var(--c-blanc);}.hd.is-past-hero .ldot,.hd.solid .ldot{background:oklch(.1701 calc(var(--ol-c-body)*.333) var(--ol-h) / .28);}.hd.is-past-hero .nl::after,.hd.solid .nl::after{background:linear-gradient(90deg,var(--c-bronze),var(--c-or));}.hd.is-past-hero .ntog,.hd.solid .ntog{border-color:oklch(.1701 calc(var(--ol-c-body)*.333) var(--ol-h) / 0.54);background:oklch(.1701 calc(var(--ol-c-body)*.333) var(--ol-h) / .04);}.hd.is-past-hero .ntog span,.hd.solid .ntog span{background:var(--c-encre);}.hero,.ph,.ph-full,.pensee-hero,.merci,.dxb-hero{color:var(--c-lit);}.hero-vid video,.hero-vid>video{opacity:.78;filter:saturate(1) contrast(1.04) brightness(.9);}.ph-bg,.ph-full-bg,.merci-bg{background-size:cover;background-position:center;opacity:1;}.ph-bg::before,.ph-full-bg::before,.merci-bg::before{opacity:.18;mix-blend-mode:normal;background:linear-gradient(90deg,oklch(.1061 calc(var(--ol-c-body)*.088) var(--ol-h) / .52),oklch(.1061 calc(var(--ol-c-body)*.088) var(--ol-h) / .16),oklch(.1061 calc(var(--ol-c-body)*.088) var(--ol-h) / .42));}.ph-bg img,.ph-full-bg img,.merci-bg img,.pensee-video,.cine-bg{opacity:.86;filter:saturate(.96) contrast(1.04) brightness(.9);}.hero-h1,.ph-h1,.pj-h1,.pensee-h1,.merci-h,.dxb-h1{color:inherit;text-shadow:0 2px 36px oklch(.1061 calc(var(--ol-c-body)*.088) var(--ol-h) / .42);}.hero-sub,.ph-sub,.pensee-intro,.merci-sub,.dxb-sub{color:oklch(.9687 calc(var(--ol-c-body)*.058) var(--ol-h-pap) / .80);}.hero-ey,.eyebrow,.kicker,.pensee-eyebrow,.dxb-date{color:var(--c-bronze);}.sec:not(.cine):not(.sec--noir):not(.folco),.sec--blanc,.sec--creme,.sec--lin,.pj-sec,.pensee-body,
main>section:not(.hero):not(.ph):not(.ph-full):not(.pensee-hero):not(.pensee-cine):not(.merci):not(.dxb-hero):not(.cine):not(.sec--noir):not(.folco):not(.cp-page-hero):not(.oc-frag-sec):not(.legacy-film):not(.cp-teaser):not(.lux-deep){background:var(--c-blanc);color:var(--c-encre);}.sec--creme,.sec--lin{background:var(--c-creme);}.sec::before,.pj-sec::before{display:none;}.sec--noir,.ft{background:linear-gradient(135deg,var(--c-abime),var(--c-satin) 58%,var(--c-lapis));color:var(--c-lit);}.pensee-body,.folco{background:var(--c-blanc);color:var(--c-encre);}.folco-body p,.folco-text{color:var(--c-steel);}.sec .lead,.sec p,.sec .body,.lead,.body,p,.pensee-body p,.pm-stanza,
.dbloc-v,.fig-v,.sf-t+div,.est-opt-l,.est-res-b{color:var(--c-steel);text-shadow:none;}.sec h1,.sec h2,.sec h3,.display,.stmt-q,.h2,.sf-t+div,.fig-v,.dbloc-v,.sc-photo-t,
.pensee-signature,.folco-name,.folco-plaque-name{color:var(--c-encre);text-shadow:none;}.eyebrow,.kicker,.sf-n,.fig-l,.dbloc-l,.sf-t,.cine-meta,.folco-eyebrow,.int-block-ey,
.est-res-t,.sculpt-kicker,.pj-cat,.pj-loc{color:var(--c-bronze);}.sec--noir .display,.sec--noir .fig-v,.sec--noir .h2,.ft,.ft p,.ft a{color:var(--c-lit);}.sec--noir .lead,.sec--noir p{color:oklch(.9687 calc(var(--ol-c-body)*.058) var(--ol-h-pap) / 0.74);}.sec--noir .fig,.sec--noir .sf-item,.sec--noir .dbloc,.sec--noir .int-block,.sec--noir .regards-item{background:rgba(255,255,255,.06);border-color:oklch(.941 calc(var(--ol-c-body)*.109) var(--ol-h) / 0.78);color:var(--c-lit);box-shadow:none;}.sec--noir .fig-l,.sec--noir .sf-t,.sec--noir .dbloc-l{color:var(--c-or);}.sep--light,.pm-rule,.ft-sep{background:linear-gradient(90deg,transparent,var(--c-hair),transparent);}.dbloc,.sf-item,.int-block,.est,.est-opt,.est-res,.folco-plaque,.regards-item,.fig,
.dxb-fact,.dxb-rsvp,.cine-frame{background:var(--c-blanc);border:1px solid var(--c-hair);box-shadow:0 2px 12px oklch(.1701 calc(var(--ol-c-body)*.333) var(--ol-h) / .05),0 8px 32px oklch(.1701 calc(var(--ol-c-body)*.333) var(--ol-h) / .06);backdrop-filter:none;color:var(--c-encre);}.sf-item:hover,.fig:hover,.regards-item:hover,.dbloc:hover,.dxb-fact:hover,.est-opt:hover{transform:translateY(-4px);box-shadow:0 8px 40px oklch(.1701 calc(var(--ol-c-body)*.333) var(--ol-h) / .13);border-color:oklch(.7625 calc(var(--ol-c-pat)*.821) var(--ol-h-pat) / 1.0);background:var(--c-blanc);}.sf-grid,.figs,.regards-grid,.pillars,.sc-grid,.dxb-facts{background:var(--c-hair);border:1px solid var(--c-hair);}.btn{background:transparent;color:var(--c-encre);box-shadow:none;}.btn:hover{transform:translateY(-2px);box-shadow:0 12px 32px oklch(.1701 calc(var(--ol-c-body)*.333) var(--ol-h) / .1);}.btn-n:hover{border-color:var(--c-satin);color:var(--c-blanc);}.btn-l,.btn-o{border-color:oklch(.7625 calc(var(--ol-c-pat)*.821) var(--ol-h-pat) / 1.0);}.btn-l:hover,.btn-o:hover{color:var(--c-blanc);}.pnb{background:var(--c-blanc);border:1px solid var(--c-hair);color:var(--c-encre);}.pnb:hover{background:var(--c-encre);color:var(--c-blanc);}.sec--noir .btn,.ft .btn{border-color:oklch(.941 calc(var(--ol-c-body)*.109) var(--ol-h) / 0.78);color:var(--c-lit);}.sec--noir .btn-n,.ft .btn-n{background:var(--c-lit);color:var(--c-satin);}input:not([type=range]):not([type=radio]):not([type=checkbox]),textarea{background:var(--c-blanc);border:1px solid var(--c-hair);color:var(--c-encre);}input:focus,textarea:focus{border-color:var(--c-bronze);box-shadow:0 0 0 3px oklch(.7625 calc(var(--ol-c-pat)*.821) var(--ol-h-pat) / .12);background:var(--c-blanc);}input::placeholder,textarea::placeholder{color:var(--c-velvet);}.proj-iw img,.sc-live-fig img,.sc-live-fig video,.dxb-ph img,.folco-portrait img,.folco-video,.folco-silhouette,
.ph-bg img,.ph-full-bg img,.olympe-matter-strip img{filter:saturate(.92) contrast(1.05) brightness(1);opacity:1;}.proj-iw:hover img,.sc-live-fig:hover img,.sc-live-fig:hover video,.dxb-ph:hover img,
.olympe-matter-strip figure:hover img{filter:saturate(1.1) contrast(1.06) brightness(1.02);}.proj-iw::before,.dxb-ph::before,.proj-iw::after,.dxb-ph::after{display:none;}.vg-step{border-bottom-color:var(--c-hair);}.vg-step-t{color:var(--c-encre);}.vg-step-s,.vg-ai-msg{color:var(--c-steel);}#vg-trigger,.oc-sound-toggle{background:rgba(255,255,255,.88);border:1px solid var(--c-hair);color:var(--c-steel);backdrop-filter:blur(12px);}.oc-sound-toggle.is-on{border-color:var(--c-bronze);color:var(--c-encre);}.dubai-band{border-top:1px solid oklch(.7625 calc(var(--ol-c-pat)*.821) var(--ol-h-pat) / .3);border-bottom:1px solid oklch(.7625 calc(var(--ol-c-pat)*.821) var(--ol-h-pat) / .3);backdrop-filter:blur(8px);}.dubai-band-txt{color:var(--c-encre);}.dubai-band-txt strong,.dubai-band-cta{color:var(--c-bronze);}.dxb-sec{background:var(--c-blanc);color:var(--c-encre);}.dxb-lede,.dxb-fact-v,.dxb-rsvp h2{color:var(--c-encre);text-shadow:none;}.dxb-rsvp p,.dxb-note,.dxb-cal{color:var(--c-steel);}.oc-glyph .oc-gc{filter:none;}@media (max-width:980px){.nav{background:rgba(255,255,255,.97);border:1px solid var(--c-hair);color:var(--c-encre);}.nl,.ncta{color:var(--c-steel);border-bottom-color:var(--c-hair);}.nopen .hd .ntog span{background:var(--c-encre);}}@media (max-width:860px){.hero-vid video,.hero-vid>video{opacity:.74;filter:saturate(1) contrast(1.04) brightness(.88);}.hero-veil{background:linear-gradient(180deg,oklch(.1061 calc(var(--ol-c-body)*.088) var(--ol-h) / .22),oklch(.1061 calc(var(--ol-c-body)*.088) var(--ol-h) / .54));}}.ph,.pensee-hero{background:linear-gradient(180deg,oklch(.1431 calc(var(--ol-c-body)*.116) var(--ol-h) / .36),oklch(.1431 calc(var(--ol-c-body)*.116) var(--ol-h) / .62)),
    linear-gradient(118deg,rgba(255,255,255,.18),oklch(.6054 calc(var(--ol-c-body)*.265) var(--ol-h) / .18) 42%,oklch(.1061 calc(var(--ol-c-body)*.088) var(--ol-h) / .32));}.ph::before,.pensee-hero::before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background:linear-gradient(115deg,transparent 0%,oklch(.9687 calc(var(--ol-c-body)*.058) var(--ol-h-pap) / .18) 22%,transparent 45%),
    linear-gradient(78deg,transparent 18%,oklch(.6054 calc(var(--ol-c-body)*.265) var(--ol-h) / .18) 48%,transparent 70%),
    url("../assets/grain.png");background-size:auto,auto,180px 180px;mix-blend-mode:screen;opacity:.34;transform:translate3d(0,0,0);animation:ocSmokeDrift 16s var(--ease) infinite alternate;}.ph::after,.pensee-hero::after{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background:linear-gradient(90deg,oklch(.1061 calc(var(--ol-c-body)*.088) var(--ol-h) / .62),oklch(.1061 calc(var(--ol-c-body)*.088) var(--ol-h) / .24) 48%,oklch(.1061 calc(var(--ol-c-body)*.088) var(--ol-h) / .50)),
             linear-gradient(180deg,oklch(.1061 calc(var(--ol-c-body)*.088) var(--ol-h) / .08),oklch(.1061 calc(var(--ol-c-body)*.088) var(--ol-h) / .48));}@keyframes ocSmokeDrift{from{transform:translate3d(-1.5%,-1%,0);opacity:.26}
  to{transform:translate3d(1.5%,1%,0);opacity:.40}}.ph .container,.pensee-hero-inner{position:relative;z-index:2;}.ph-bg{opacity:.72;filter:none;}.ph-bg[style*="opacity:.2"]{opacity:.55;}.ph-bg img,.ph-full-bg img{filter:saturate(.92) contrast(1.05) brightness(.76);}.ph .kicker,.ph .eyebrow,.ph .pensee-eyebrow,.pensee-eyebrow{color:var(--c-or);text-shadow:0 1px 18px oklch(.1061 calc(var(--ol-c-body)*.088) var(--ol-h) / .55);}.ph-h1,.ph-h1 *, .pensee-h1,.pensee-h1 *, .ph-sub,.pensee-intro{color:var(--c-lit);text-shadow:0 2px 28px oklch(.1061 calc(var(--ol-c-body)*.088) var(--ol-h) / .66),0 1px 2px oklch(.1061 calc(var(--ol-c-body)*.088) var(--ol-h) / .55);}.ph-sub,.pensee-intro{color:oklch(.9687 calc(var(--ol-c-body)*.058) var(--ol-h-pap) / .88);}.dxb-hero-bg img{opacity:1;filter:saturate(1.08) contrast(1.06) brightness(.84);image-rendering:auto;object-position:center 44%;}.dxb-hero-veil{background:linear-gradient(90deg,oklch(.1061 calc(var(--ol-c-body)*.088) var(--ol-h) / .72),oklch(.1061 calc(var(--ol-c-body)*.088) var(--ol-h) / .20) 50%,oklch(.1061 calc(var(--ol-c-body)*.088) var(--ol-h) / .56)),
             linear-gradient(180deg,oklch(.1061 calc(var(--ol-c-body)*.088) var(--ol-h) / .12),oklch(.1061 calc(var(--ol-c-body)*.088) var(--ol-h) / .48));}.dxb-h1,.dxb-h1 *,.dxb-sub,.dxb-date{color:var(--c-lit);text-shadow:0 2px 30px oklch(.1061 calc(var(--ol-c-body)*.088) var(--ol-h) / .70),0 1px 2px oklch(.1061 calc(var(--ol-c-body)*.088) var(--ol-h) / .60);}.dxb-date{color:var(--c-or);}.regards{background:linear-gradient(180deg,var(--c-blanc),var(--c-ivoire));color:var(--c-encre);padding:clamp(72px,8vw,120px) 0;}.regards-inner{width:min(1160px,calc(100% - 44px));margin-inline:auto;}.regards-title,.regards-title *{color:var(--c-encre);text-shadow:none;}.regards-eyebrow{color:var(--c-bronze);}.regards-grid{background:var(--c-hair);border:1px solid var(--c-hair);}.regards-item{background:var(--c-blanc);border-color:var(--c-hair);box-shadow:none;}.regards-quote{color:var(--c-encre);text-shadow:none;opacity:1;}.regards-source{color:var(--c-bronze);}.regards-source-detail{color:var(--c-steel);}.sec:not(.sec--noir) [style*="color:rgba(247,244,238"],
.sec:not(.sec--noir) [style*="color:rgba(231,236,242"],
.sec:not(.sec--noir) [style*="color:rgba(201,205,210"],
.pensee-body [style*="color:rgba(247,244,238"],
.pensee-body [style*="color:rgba(231,236,242"],
.pensee-body [style*="color:rgba(201,205,210"]{color:var(--c-encre);text-shadow:none;}.sec:not(.sec--noir) em[style*="color:rgba(201,205,210"],
.pensee-body em[style*="color:rgba(201,205,210"]{color:var(--c-bronze);}.sec--noir [style*="color:rgba(200,205,211,.55"],
.sec--noir [style*="color:rgba(201,205,210,.62"],
.sec--noir [style*="color:rgba(201,205,210,.72"],
.sec--noir [style*="color:rgba(231,236,242,.82"]{color:oklch(.9678 calc(var(--ol-c-pat)*.096) var(--ol-h-pat) / .88);}.sec--noir .h2,.sec--noir .h2 *,.sec--noir .lead{color:var(--c-lit);text-shadow:none;}.sig-note, .sig-note p, .sig-note em{color:var(--c-encre);text-shadow:none;}.sec--noir .sig-note, .sec--noir .sig-note p, .sec--noir .sig-note em,
.cine .sig-note, .cine .sig-note p, .cine .sig-note em,
.folco .sig-note, .folco .sig-note p, .folco .sig-note em,
.ft .sig-note, .ft .sig-note p, .ft .sig-note em,
.pensee-cine .sig-note, .pensee-cine .sig-note p, .pensee-cine .sig-note em{color:oklch(.9687 calc(var(--ol-c-body)*.058) var(--ol-h-pap) / .82);text-shadow:0 1px 12px oklch(.1061 calc(var(--ol-c-body)*.088) var(--ol-h) / .6);}.folco-plaque{background:rgba(255,255,255,.92);}@media (prefers-reduced-motion:reduce){.ph::before,.pensee-hero::before{animation:none;}}.oc-page-canvas{z-index:12000;mix-blend-mode:normal;}.oc-canvas-transition-ready body.oc-leaving,
body.oc-leaving{cursor:progress;}.oc-veil,#oc-curtain{display:none;}.sec:not(.sec--noir) .display,
.sec:not(.sec--noir) .stmt-q,
.sec:not(.sec--noir) .h2,
.sec:not(.sec--noir) .lead,
.sec:not(.sec--noir) .body,
.sec:not(.sec--noir) p:not(.cine-quote *),
.pensee-body .pm-stanza,
.pensee-body p{color:var(--c-encre);text-shadow:none;}:root{--font-accent:Cinzel, Bodoni, "Bodoni 72", serif;--type-hero:clamp(62px, 11vw, 168px);--type-display:clamp(44px, 7vw,  104px);--type-title:clamp(32px, 4.6vw, 68px);--type-subtitle:clamp(22px, 2.4vw, 34px);--type-body:clamp(16px, 1.12vw, 19px);--type-ui:11px;--tracking-caps:0.24em;--tracking-logo:0.18em;}.logo-n, .brand-signature{font-family:var(--font-signature);letter-spacing:var(--tracking-logo);font-weight:400;}.hero-h1, .ph-h1, .pj-h1, .pensee-h1, .merci-h,
.oc-hero-h1, h1.oc-h1, .dxb-h1, h1{font-family:var(--font-signature);font-size:var(--type-hero);line-height:0.88;letter-spacing:var(--tracking-hero);font-weight:400;}.display, .h2, .section-title, .stmt-h, h2{font-family:var(--font-display);line-height:0.96;letter-spacing:var(--tracking-display);font-weight:400;}blockquote, .quote, .stmt-q, .pensee-manifesto, .cine-quote{font-family:var(--font-editorial);line-height:1.14;letter-spacing:-0.015em;font-weight:400;}body, .body, .lead, .pj-copy, .project-body, .editorial-text, .bc{font-family:var(--font-reading);font-size:var(--type-body);line-height:1.78;font-weight:400;}.archive-mark, .roman, .monumental-accent{font-family:var(--font-accent);letter-spacing:0.16em;text-transform:uppercase;}@media (max-width: 860px){:root{--type-hero:clamp(48px, 15vw, 88px);--type-display:clamp(38px, 11vw, 72px);--type-title:clamp(30px, 8vw,  52px);--tracking-hero:-0.035em;}body, .body, .lead, .pj-copy, .project-body, .editorial-text{line-height:1.72;}}#ol-atmosphere{position:fixed;inset:0;pointer-events:none;animation:ol-atm-drift 32s ease-in-out infinite alternate;will-change:opacity, transform;}@keyframes ol-atm-drift{0%   { opacity: .70; transform: scale(1) translateY(0); }
  50%  { opacity: .86; transform: scale(1.042) translateY(-7px); }
  100% { opacity: .74; transform: scale(.972) translateY(5px); }}@media (prefers-reduced-motion: reduce){#ol-atmosphere{animation:none;opacity:.78;}}#oc-marble{background:radial-gradient(130% 110% at 48% 8%,
    oklch(.3546 calc(var(--ol-c-body)*.872) var(--ol-h)) 0%, oklch(.2972 calc(var(--ol-c-body)*.788) var(--ol-h)) 38%, oklch(.2233 calc(var(--ol-c-body)*.564) var(--ol-h)) 72%, oklch(.1666 calc(var(--ol-c-body)*.408) var(--ol-h)) 100%);}.sec--noir, .sec--sombre, .cine, section.dark{background:linear-gradient(148deg, oklch(.2611 calc(var(--ol-c-body)*.689) var(--ol-h)) 0%, oklch(.3514 calc(var(--ol-c-body)*.915) var(--ol-h)) 52%, oklch(.3882 calc(var(--ol-c-body)*.919) var(--ol-h)) 100%);color:oklch(.9687 calc(var(--ol-c-body)*.058) var(--ol-h-pap) / .90);}.sec--noir::before, .cine::before{background:radial-gradient(800px 400px at 78% -4%, oklch(.941 calc(var(--ol-c-body)*.109) var(--ol-h) / .14), transparent 66%),
    radial-gradient(650px 340px at 4% 8%, oklch(.7625 calc(var(--ol-c-pat)*.821) var(--ol-h-pat) / .09), transparent 62%);opacity:1;}.sec--noir h2, .sec--noir .h2, .sec--noir .stmt-q,
.cine h2, .cine .cine-title{color:var(--ol-ivory);}.sec--noir p, .sec--noir .body, .sec--noir .lead,
.cine p, .cine .body{color:oklch(.9687 calc(var(--ol-c-body)*.058) var(--ol-h-pap) / .88);}.hero-h1, .ph-h1, .pj-h1{text-shadow:0 1px 0 oklch(.941 calc(var(--ol-c-body)*.109) var(--ol-h) / .10), 0 -1px 32px oklch(.7625 calc(var(--ol-c-pat)*.821) var(--ol-h-pat) / .06);}.dub-hero, .inauguration-hero, #dub-hero{position:relative;background:linear-gradient(170deg, oklch(.2839 calc(var(--ol-c-body)*.613) var(--ol-h)) 0%, oklch(.3465 calc(var(--ol-c-body)*.788) var(--ol-h)) 46%, oklch(.2395 calc(var(--ol-c-body)*.534) var(--ol-h)) 100%);overflow:hidden;}.dub-hero::after, .inauguration-hero::after, #dub-hero::after{content:"";position:absolute;inset:0;background:radial-gradient(38px 100% at 48% -8%, oklch(.941 calc(var(--ol-c-body)*.109) var(--ol-h) / .16), transparent 80%),
    radial-gradient(75px 58% at 52% -4%, oklch(.7625 calc(var(--ol-c-pat)*.821) var(--ol-h-pat) / .09), transparent 72%),
    linear-gradient(180deg, oklch(.941 calc(var(--ol-c-body)*.109) var(--ol-h) / .09) 0%, transparent 44%);pointer-events:none;z-index:1;}.dub-glass, .glass-panel, .dub-invite{background:oklch(.941 calc(var(--ol-c-body)*.109) var(--ol-h) / .04);border:1px solid oklch(.941 calc(var(--ol-c-body)*.109) var(--ol-h) / .18);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);}.dub-date, .dubai-date{font-family:var(--font-signature);color:var(--ol-ivory);text-shadow:0 0 28px oklch(.7625 calc(var(--ol-c-pat)*.821) var(--ol-h-pat) / .20);}.p-contact .hero, .contact-hero, #contact-hero{background:linear-gradient(155deg, oklch(.2396 calc(var(--ol-c-body)*.558) var(--ol-h)) 0%, oklch(.2726 calc(var(--ol-c-body)*.611) var(--ol-h)) 55%, oklch(.2309 calc(var(--ol-c-body)*.438) var(--ol-h)) 100%);}.contact-form, .form-wrap{background:oklch(.2161 calc(var(--ol-c-body)*.637) var(--ol-h) / .58);border:1px solid oklch(.941 calc(var(--ol-c-body)*.109) var(--ol-h) / .14);}input:focus, textarea:focus{border-color:oklch(.7625 calc(var(--ol-c-pat)*.821) var(--ol-h-pat) / 1.0);background:oklch(.941 calc(var(--ol-c-body)*.109) var(--ol-h) / .07);outline:none;}@keyframes aiPulse{0%,100%{ transform:scale(1);opacity:.52; } 50%{ transform:scale(1.13);opacity:0; }}.sf-item{position:relative;overflow:hidden;}.sf-item::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg, oklch(.9897 calc(var(--ol-c-body)*.057) var(--ol-h-pap) / .82) 0%, transparent 64%);mix-blend-mode:soft-light;transform:translateY(-100%);transition:transform 2.4s cubic-bezier(.19,1,.22,1);pointer-events:none;z-index:2;}.sf-item.is-lit::after{transform:translateY(220%);}@media (prefers-reduced-motion:reduce){.sf-item::after{display:none;}}.oc-sound-toggle{border-radius:999px;padding:8px 18px;display:flex;align-items:center;gap:6px;transition:background .3s ease, color .3s ease;}.oc-sound-toggle.is-on,
.oc-sound-toggle:hover{background:var(--ol-carrara);color:var(--ol-satin);}.oc-sound-toggle i{font-size:9px;opacity:.65;}.proj-iw img,
.dxb-ph img,
.sc-live-fig img,
.folco-portrait img,
.pj-iw img,
.pj-card img,
.ba img,
.cf-img img,
a.rv img,
.pj-hero-img img{filter:contrast(1.06) saturate(0.86) brightness(0.93) sepia(0.04);transition:filter 1.1s ease, transform 1.3s var(--ol-ease);}.proj-sl:hover .proj-iw img,
.dxb-ph:hover img,
.sc-live-fig:hover img,
a.rv:hover img,
.pj-card:hover .pj-iw img{filter:contrast(1.08) saturate(0.98) brightness(1.02) sepia(0.01);}#hero-vid,
.hero-vid video,
.cine-bg,
.pensee-cine video,
.folco-video{filter:contrast(1.08) saturate(0.80) brightness(0.72) sepia(0.03);}.sc-live-fig img,
.sc-live-fig video{filter:contrast(1.05) saturate(0.88) brightness(0.91) sepia(0.03);}.sc-live-fig:hover img,
.sc-live-fig:hover video{filter:contrast(1.06) saturate(1.0) brightness(1.0) sepia(0.0);}.folco-portrait img,
.folco-video{filter:contrast(1.04) saturate(0.90) brightness(0.88) sepia(0.06);}.olympe-matter-strip figure img{filter:contrast(1.10) saturate(0.78) brightness(0.86) sepia(0.05);transition:filter 1.4s ease, transform 1.4s var(--ol-ease);}.olympe-matter-strip figure:hover img{filter:contrast(1.08) saturate(0.94) brightness(0.98) sepia(0.02);}.dxb-ph img,
.dub-hero img{filter:contrast(1.08) saturate(0.82) brightness(0.88) sepia(0.01);}.dxb-ph:hover img{filter:contrast(1.06) saturate(1.0) brightness(1.0) sepia(0.0);}.proj-iw,
.ba,
.sc-live-fig,
.dxb-ph,
.ph-bg,
.ph-full-bg{isolation:isolate;}.proj-iw::after,
.sc-live-fig::after,
.dxb-ph::after{content:"";position:absolute;inset:0;background:radial-gradient(
    ellipse 100% 100% at 50% 50%,
    transparent 62%,
    oklch(.1061 calc(var(--ol-c-body)*.088) var(--ol-h) / 0.22) 100%
  );pointer-events:none;z-index:2;mix-blend-mode:multiply;}.oc-grain{background-size:148px 148px;}.sep{background:linear-gradient(
    180deg,
    transparent,
    oklch(.941 calc(var(--ol-c-body)*.109) var(--ol-h) / 0.28),  
    transparent
  );}.sec--blanc + .sec--noir,
.sec + .sec--noir,
.sec--noir + .sec{position:relative;}.sec--blanc + .sec--noir::before,
.sec + .sec--noir::before{background:radial-gradient(700px 280px at 82% 0, oklch(.941 calc(var(--ol-c-body)*.109) var(--ol-h) / .12), transparent 60%),
    radial-gradient(560px 200px at 8% 0, oklch(.7625 calc(var(--ol-c-pat)*.821) var(--ol-h-pat) / .08), transparent 55%);}:root{--audio-loops-gain:0.07;--audio-cues-gain:0.11;--audio-ui-gain:0.05;}.oc-split .oc-wi{transform:translateY(110%) rotate(0.4deg);opacity:0;transition:transform 1.05s cubic-bezier(0.16, 1, 0.3, 1),
    opacity   1.05s cubic-bezier(0.16, 1, 0.3, 1);will-change:transform, opacity;}.oc-split.in .oc-wi{transform:translateY(0) rotate(0deg);}.oc-split .oc-w{display:inline-block;overflow:hidden;vertical-align:bottom;line-height:1.22;padding-bottom:0.08em;}.hero-h1:hover,
.ph-h1:hover,
.pj-h1:hover{letter-spacing:calc(var(--tracking-hero, -0.045em) + 0.004em);transition:letter-spacing 0.8s cubic-bezier(0.16, 1, 0.3, 1);}.hero-h1.has-depth{transform-style:preserve-3d;perspective:1200px;}.hero-h1.has-depth .oc-wi{transform:translateY(0) translateZ(0);}.rv{opacity:0;transform:translateY(22px);transition:opacity   0.88s cubic-bezier(0.16, 1, 0.3, 1),
    transform 0.88s cubic-bezier(0.16, 1, 0.3, 1);}.rv.in{opacity:1;transform:translateY(0);}.d1{transition-delay:0.09s;}.d2{transition-delay:0.18s;}.d3{transition-delay:0.27s;}.stmt-q{opacity:0;transform:translateX(-28px);transition:opacity   1.1s cubic-bezier(0.16, 1, 0.3, 1),
    transform 1.1s cubic-bezier(0.16, 1, 0.3, 1);}.stmt-q.in{opacity:1;transform:translateX(0);}.ey, .kicker, .eyebrow, .bc, .proj-cat, .pj-cat, .cine-meta{opacity:0;transform:translateY(12px);transition:opacity   0.72s cubic-bezier(0.16, 1, 0.3, 1),
    transform 0.72s cubic-bezier(0.16, 1, 0.3, 1);}.ey.in, .kicker.in, .eyebrow.in, .bc.in, .proj-cat.in, .pj-cat.in, .cine-meta.in{opacity:1;transform:translateY(0);}.sf-n, .cine-num, .p-n{transition:opacity   0.9s cubic-bezier(0.16, 1, 0.3, 1),
    transform 0.9s cubic-bezier(0.16, 1, 0.3, 1),
    filter    0.9s cubic-bezier(0.16, 1, 0.3, 1);}.rv:not(.in) .sf-n,
.rv:not(.in) .cine-num{opacity:0;transform:translateY(18px);filter:blur(4px);}@media (prefers-reduced-motion: reduce){.oc-split .oc-wi,
  .rv, .stmt-q, .ey, .kicker, .eyebrow, .bc,
  .proj-cat, .pj-cat, .cine-meta{opacity:1;transform:none;filter:none;transition:none;}}.oc-page-curtain{position:fixed;inset:0;background:var(--ol-abime, oklch(.1316 calc(var(--ol-c-body)*.107) var(--ol-h)));z-index:9999;pointer-events:none;transform-origin:top center;animation:ocCurtainOut 1.1s cubic-bezier(0.16, 1, 0.3, 1) 0.08s forwards;}@keyframes ocCurtainOut{0%   { transform: scaleY(1); transform-origin: top center; }
  100% { transform: scaleY(0); transform-origin: top center; }}@media (prefers-reduced-motion: reduce){.oc-page-curtain{display:none;}}.oc-page-leave{position:fixed;inset:0;background:var(--ol-abime, oklch(.1316 calc(var(--ol-c-body)*.107) var(--ol-h)));z-index:10000;pointer-events:all;transform:scaleY(0);transform-origin:bottom center;transition:transform 0.44s cubic-bezier(0.86, 0, 0.07, 1);will-change:transform;}.oc-page-leave.is-active{transform:scaleY(1);}@media (prefers-reduced-motion: reduce){.oc-page-leave{display:none;}}#oc-scroll-progress{position:fixed;top:0;left:0;height:2px;width:0%;background:linear-gradient(90deg, var(--ol-platinum, oklch(.941 calc(var(--ol-c-body)*.109) var(--ol-h))), var(--ol-bronze, oklch(.7625 calc(var(--ol-c-pat)*.821) var(--ol-h-pat))));z-index:9501;pointer-events:none;opacity:0.62;transition:width 0.08s linear;}@media (prefers-reduced-motion: reduce){#oc-scroll-progress{display:none;}}.proj-sl{transition:transform 0.4s cubic-bezier(0.16, 1, 0.3, 1);transform-style:preserve-3d;will-change:transform;}.sep::after{content:"";position:absolute;left:-100%;top:0;width:100%;height:100%;background:linear-gradient(180deg, transparent, oklch(.941 calc(var(--ol-c-body)*.109) var(--ol-h) / 0.6), transparent);animation:sepPulse 3.5s ease-in-out infinite;}.sep{position:relative;overflow:hidden;}@keyframes sepPulse{0%   { left: -100%; opacity: 0; }
  50%  { opacity: 1; }
  100% { left: 100%; opacity: 0; }}@media (prefers-reduced-motion: reduce){.sep::after{display:none;}}.proj-iw{position:relative;cursor:none;}.proj-iw::before{content:"Voir";position:absolute;top:50%;left:50%;transform:translate(-50%, -50%) scale(0.6);opacity:0;z-index:5;font-family:var(--font-ui);font-size:10px;letter-spacing:0.28em;text-transform:uppercase;color:var(--ol-ivory, oklch(.9687 calc(var(--ol-c-body)*.058) var(--ol-h-pap)));background:oklch(.2161 calc(var(--ol-c-body)*.637) var(--ol-h) / 0.58);border:1px solid oklch(.941 calc(var(--ol-c-body)*.109) var(--ol-h) / 0.28);padding:10px 18px;border-radius:999px;backdrop-filter:blur(12px);pointer-events:none;transition:opacity 0.38s cubic-bezier(0.16, 1, 0.3, 1),
    transform 0.38s cubic-bezier(0.16, 1, 0.3, 1);}.proj-sl:hover .proj-iw::before{opacity:1;transform:translate(-50%, -50%) scale(1);}@media (hover: none){.proj-iw::before{display:none;}.proj-iw{cursor:pointer;}}:root{--tracking-hero:-.024em;--tracking-display:-.018em;}html,body{background:oklch(.1061 calc(var(--ol-c-body)*.088) var(--ol-h));overflow-x:hidden;}body{letter-spacing:0;}.container,.hero-body,.ph .container,.ph-full-body,.pensee-hero-inner,.merci-inner,.dxb-wrap,.dxb-hero-in{min-width:0;}section,main,header,footer{isolation:isolate;}.display,.h2,.stmt-q,.cine-quote,.pensee-signature,.folco-name,.folco-plaque-name,.dxb-h1{font-family:var(--font-display);letter-spacing:var(--tracking-display);}.body,.lead,p,li,input,textarea,button,.nav,.btn,.ncta,.lb,.eyebrow,.kicker,.proj-cat,.pj-cat,.bc{font-family:var(--font-reading);}#ol-atmosphere{opacity:.68;mix-blend-mode:screen;background:radial-gradient(ellipse 82% 38% at 50% 5%,oklch(.941 calc(var(--ol-c-body)*.109) var(--ol-h) / .18),transparent 64%),
    radial-gradient(ellipse 48% 46% at 18% 58%,oklch(.7625 calc(var(--ol-c-pat)*.821) var(--ol-h-pat) / .08),transparent 62%),
    radial-gradient(ellipse 52% 40% at 82% 78%,oklch(.4591 calc(var(--ol-c-body)*.914) var(--ol-h) / .16),transparent 66%);}.oc-scrim{z-index:-3;background:linear-gradient(180deg,oklch(.1061 calc(var(--ol-c-body)*.088) var(--ol-h) / .34),oklch(.1061 calc(var(--ol-c-body)*.088) var(--ol-h) / .05) 34%,oklch(.1061 calc(var(--ol-c-body)*.088) var(--ol-h) / .30) 100%),
    radial-gradient(90% 62% at 50% 8%,oklch(.941 calc(var(--ol-c-body)*.109) var(--ol-h) / .18),transparent 72%);}.hero-vid video,.hero-vid>video,.ph-bg img,.ph-full-bg img,.merci-bg img,.pensee-video{filter:saturate(.86) contrast(1.09) brightness(.75);}.hero-veil,.ph-full-veil,.pensee-cine-veil{background:linear-gradient(90deg,oklch(.1061 calc(var(--ol-c-body)*.088) var(--ol-h) / .74),oklch(.1061 calc(var(--ol-c-body)*.088) var(--ol-h) / .28) 48%,oklch(.1061 calc(var(--ol-c-body)*.088) var(--ol-h) / .70)),
    linear-gradient(180deg,oklch(.1061 calc(var(--ol-c-body)*.088) var(--ol-h) / .12),oklch(.1061 calc(var(--ol-c-body)*.088) var(--ol-h) / .56));}.sec:not(.sec--noir)::before,.pj-sec::before{display:block;opacity:.34;background:radial-gradient(760px 320px at 10% 0,rgba(255,255,255,.62),transparent 64%),
    radial-gradient(720px 300px at 92% 12%,oklch(.7625 calc(var(--ol-c-pat)*.821) var(--ol-h-pat) / .10),transparent 68%);}.sec:not(.sec--noir) :is(p,.body,.lead,li,.sf-b,.tsti-q,.tsti-a,.pm-stanza,.form-note),
.pj-sec :is(p,.body,.lead,li),
.pensee-body :is(p,.body,.lead,li,.pm-stanza){color:oklch(.1701 calc(var(--ol-c-body)*.333) var(--ol-h) / .78);text-shadow:none;}.sec:not(.sec--noir) :is(.display,.h2,.stmt-q,.sf-t+div,.fig-v,.dbloc-v,.est-res-b,.est-opt-l),
.pj-sec :is(.display,.h2,.pj-sec-t,.dbloc-v),
.pensee-body :is(.display,.h2,.pensee-signature){color:var(--ol-satin);text-shadow:none;}.sec:not(.sec--noir) :is(.eyebrow,.kicker,.sf-n,.sf-t,.fig-l,.dbloc-l,.est-res-t,.proj-cat),
.pj-sec :is(.pj-sec-n,.dbloc-l,.bc,.bc a),
.pensee-body :is(.kicker,.eyebrow){color:var(--ol-bronze);}.sec--noir,.folco,.ft,.cine,.pensee-cine{background:radial-gradient(980px 420px at 74% -8%,oklch(.941 calc(var(--ol-c-body)*.109) var(--ol-h) / .13),transparent 64%),
    linear-gradient(145deg,oklch(.2161 calc(var(--ol-c-body)*.637) var(--ol-h)) 0%,oklch(.2817 calc(var(--ol-c-body)*.796) var(--ol-h)) 55%,oklch(.1061 calc(var(--ol-c-body)*.088) var(--ol-h)) 100%);}.sec--noir :is(p,.body,.lead,li),.folco :is(p,.body,.lead,li),.ft :is(p,.body,.lead,li){color:oklch(.9687 calc(var(--ol-c-body)*.058) var(--ol-h-pap) / .82);}.dbloc,.sf-item,.int-block,.est,.folco-plaque,.regards-item,.fig,.cine-frame,.est-res,.est-opt{border-radius:0;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);}.sec:not(.sec--noir) :is(.dbloc,.sf-item,.int-block,.est,.regards-item,.fig,.est-res,.est-opt){background:oklch(.9923 calc(var(--ol-c-body)*.047) var(--ol-h-pap) / .76);border-color:oklch(.4409 calc(var(--ol-c-body)*.349) var(--ol-h) / 0.73);box-shadow:0 22px 64px oklch(.1061 calc(var(--ol-c-body)*.088) var(--ol-h) / .08);}.proj-iw img,.dxb-ph img,.sc-live-fig img,.pj-iw img,.pj-card img,
.olympe-matter-strip img,.folco-video,.cine-bg,.ba img{filter:saturate(.88) contrast(1.08) brightness(.94) sepia(.025);}.proj-sl:hover .proj-iw img,.dxb-ph:hover img,.olympe-matter-strip figure:hover img{filter:saturate(.96) contrast(1.10) brightness(1.0) sepia(.018);}.btn,.ncta{max-width:100%;overflow-wrap:anywhere;}.hd-in{min-width:0;}.logo{flex:0 0 auto;}.nav{min-width:0;flex-wrap:wrap;justify-content:flex-end;row-gap:8px;}@media (max-width:1180px){.nav{gap:12px;}.nl,.ncta,.lb{font-size:9px;letter-spacing:.13em;}.ncta{padding:10px 12px;}.logo-s{display:none;}}.dubai-band{top:clamp(84px,10vh,112px);max-width:calc(100vw - 36px);box-shadow:0 18px 58px oklch(.1061 calc(var(--ol-c-body)*.088) var(--ol-h) / .26);}.hero-body{padding-top:clamp(150px,20vh,230px);}.oc-sound-toggle{top:auto;left:24px;border-color:oklch(.941 calc(var(--ol-c-body)*.109) var(--ol-h) / 0.78);}.oc-sound-toggle.is-on,.oc-sound-toggle:hover{background:var(--ol-carrara);color:var(--ol-satin);}#cur{z-index:11990;}#pb,#oc-scroll-progress{z-index:11980;}@media (max-width:860px){.hero-body,.ph .container,.ph-full-body,.pensee-hero-inner,.merci-inner,.dxb-hero-in{width:min(100% - 30px,1160px);padding-top:clamp(128px,17vh,180px);}.dubai-band{top:76px;width:calc(100% - 28px);padding:10px 14px;}.dubai-band-txt,.dubai-band-cta{font-size:9px;letter-spacing:.12em;line-height:1.35;}.display,.ph-h1,.pj-h1,.pensee-h1,.merci-h{line-height:1.02;}.hero-h1{line-height:.98;}.sf-grid,.pillars,.figs,.regards-grid,.sc-grid,.dxb-grid,.dxb-facts{grid-template-columns:1fr;}.dxb-ph-wide{grid-column:auto;}.oc-sound-toggle{left:16px;bottom:84px;}}@media (max-width:520px){.hero-h1{font-size:clamp(44px,14vw,68px);}.hero-act{gap:10px;}.hero-act .btn{width:100%;}}:root{--olympe-grade-media:brightness(.965) contrast(1.045) saturate(.895) sepia(.032) hue-rotate(-1deg);--olympe-grade-stone:brightness(.985) contrast(1.035) saturate(.905) sepia(.052) hue-rotate(-2deg);--olympe-grade-air:brightness(.945) contrast(1.035) saturate(.84) sepia(.012) hue-rotate(2deg);--olympe-grade-3d:brightness(.955) contrast(1.03) saturate(.90) sepia(.028) hue-rotate(-1deg);}.hero-vid video,
.ph-bg img,
.ph-full-bg img,
.merci-bg img,
.pensee-video,
.cine-bg,
.folco-video,
.ba video,
video[poster]{filter:var(--olympe-grade-air);}.proj-iw img,
.dxb-ph img,
.sc-live-fig img,
.pj-iw img,
.pj-card img,
.ba img,
img[src*="projects/"],
img[src*="projets/"],
img[src*="chantier/"],
img[src*="bureaux/"]{filter:var(--olympe-grade-media);}.olympe-matter-strip img,
img[src*="macro_"],
img[src*="atelier_"],
img[src*="pierre"],
img[src*="moulures"],
img[src*="carrara"],
img[src*="calacatta"]{filter:var(--olympe-grade-stone);}:where(.hero-vid,.ph-bg,.ph-full-bg,.merci-bg,.proj-iw,.dxb-ph,.sc-live-fig,.olympe-matter-strip figure,.folco-portrait,.ba,.pj-iw,.pj-card){position:relative;overflow:hidden;}:where(.hero-vid,.ph-bg,.ph-full-bg,.merci-bg,.proj-iw,.dxb-ph,.sc-live-fig,.olympe-matter-strip figure,.folco-portrait,.ba,.pj-iw,.pj-card)::after{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;opacity:.26;mix-blend-mode:soft-light;background:linear-gradient(180deg,oklch(.9692 calc(var(--ol-c-jade)*.123) var(--ol-h-jade) / .24),rgba(255,255,255,0) 42%),
    radial-gradient(82% 68% at 50% 0,oklch(.941 calc(var(--ol-c-body)*.109) var(--ol-h) / .20),transparent 68%),
    linear-gradient(90deg,oklch(.3271 calc(var(--ol-c-body)*.683) var(--ol-h) / .18),transparent 32%,transparent 68%,oklch(.1701 calc(var(--ol-c-body)*.333) var(--ol-h) / .18));}.hero-vid::after,
.ph-bg::after,
.ph-full-bg::after,
.merci-bg::after{opacity:.34;background:radial-gradient(42% 74% at 50% 0,oklch(.9632 calc(var(--ol-c-jade)*.123) var(--ol-h-jade) / .22),transparent 70%),
    linear-gradient(180deg,oklch(.8646 calc(var(--ol-c-body)*.282) var(--ol-h) / .18),oklch(.1701 calc(var(--ol-c-body)*.333) var(--ol-h) / .16) 70%,oklch(.1061 calc(var(--ol-c-body)*.088) var(--ol-h) / .24));}.proj-sl:hover .proj-iw img,
.dxb-ph:hover img,
.olympe-matter-strip figure:hover img{filter:brightness(1.0) contrast(1.045) saturate(.94) sepia(.035) hue-rotate(-1deg);}@media (prefers-reduced-motion:reduce){:where(.hero-vid,.ph-bg,.ph-full-bg,.merci-bg,.proj-iw,.dxb-ph,.sc-live-fig,.olympe-matter-strip figure,.folco-portrait,.ba,.pj-iw,.pj-card)::after{opacity:.20;}}.ph-h1, .pj-h1, .pensee-h1, .dxb-h1, .hero-h1,
.ph-h1.rv, .pj-h1.rv, .pensee-h1.rv, .dxb-h1.rv, .hero-h1.rv,
.ph-h1.rv.in, .pj-h1.rv.in{opacity:1;transform:none;transition:none;}.oc-split.ph-h1 .oc-wi,
.oc-split.pj-h1 .oc-wi,
.oc-split .oc-wi{opacity:0;}.oc-split.in .oc-wi{opacity:1;}.folco-grid > div{position:relative;}.folco-plaque{position:absolute;left:24px;right:24px;bottom:24px;top:auto;}:root{--font-editorial-title:"Playfair Display", "Cormorant Garamond", Georgia, serif;}.ph-h1, .pj-h1, .pensee-h1, .merci-h, .dxb-h1{font-family:var(--font-editorial-title);font-weight:500;letter-spacing:-0.02em;line-height:1.0;}.ph-h1 em, .pj-h1 em, .pensee-h1 em, .merci-h em, .dxb-h1 em{font-family:var(--font-editorial-title);font-style:italic;font-weight:400;}.hero-h1{font-family:"Bodoni Moda", Didot, "Bodoni 72", Georgia, serif;}.pensee-body,
.pensee-body p,
.pensee-body-inner,
.pm-stanza,
.pensee-manifesto,
.pensee-manifesto p,
.pensee-intro,
.pensee-text,
.editorial-text{font-family:"Cormorant Garamond", "EB Garamond", Georgia, serif;font-weight:400;letter-spacing:-0.012em;color:oklch(.2359 calc(var(--ol-c-body)*.28) var(--ol-h) / 0.88);}.pm-stanza{font-size:clamp(28px, 3vw, 46px);line-height:1.34;}.pensee-intro{font-size:clamp(20px, 1.8vw, 26px);line-height:1.5;}.pensee-h1,
.pensee-title,
.pensee-signature{font-family:"Bodoni Moda", Didot, "Bodoni 72", Georgia, serif;}#oc-marble{filter:saturate(1.08) contrast(1.06) brightness(1.05);}#ol-atmosphere{z-index:-1;}.ph, .ph-full, .hero, .pensee-hero{isolation:auto;background:transparent;}.ph .container, .pensee-hero-inner{position:relative;z-index:1;}.pensee-body{position:relative;z-index:1;}#oc-marble{z-index:-2;opacity:1;}.pensee-body{background:oklch(.969 calc(var(--ol-c-body)*.07) var(--ol-h-pap) / 0.88);}.display, .ph-h1, .ph-h2, .pj-h1, .pensee-h1, .dxb-h1, .hero-h1,
h1, h2, .eyebrow, .lead{overflow-wrap:normal;word-break:keep-all;hyphens:none;}.split .display{font-size:clamp(38px, 4.4vw, 64px);line-height:1.02;}.ph-h1, .pj-h1, .dxb-h1{overflow-wrap:normal;word-break:keep-all;}.sec--noir h1, .sec--noir h2, .sec--noir h3, .sec--noir h4,
.sec--noir .display, .sec--noir .h2, .sec--noir p,
.sec--noir .body, .sec--noir .lead,
section[class*="noir"] h1, section[class*="noir"] h2, section[class*="noir"] h3{color:oklch(.9687 calc(var(--ol-c-body)*.058) var(--ol-h-pap) / 0.92);}[style*="background:var(--ol-abime)"] h3,
[style*="background:var(--ol-abime)"] .display{color:oklch(.9687 calc(var(--ol-c-body)*.058) var(--ol-h-pap) / 0.95);}[style*="background:var(--ol-abime)"] .body,
[style*="background:var(--ol-abime)"] p:not([style*="color"]){color:oklch(.8924 calc(var(--ol-c-body)*.11) var(--ol-h) / 0.82);}[style*="background:var(--ol-abime)"] [style*="color:rgba(201,174,124"]{color:oklch(.7625 calc(var(--ol-c-pat)*.821) var(--ol-h-pat) / 1.0);}[style*="background:var(--ol-platinum)"] p,
[style*="background:var(--ol-platinum)"] span,
[style*="background:var(--ol-platinum)"] div{color:oklch(.2006 calc(var(--ol-c-body)*.404) var(--ol-h) / 0.90);}[style*="background:var(--ol-platinum)"] [style*="letter-spacing"]{color:oklch(.4409 calc(var(--ol-c-body)*.349) var(--ol-h) / 0.74);}.sec--creme [style*="background:var(--ol-abime)"] h3,
.sec--creme [style*="background:var(--ol-abime)"] .display,
.sec [style*="background:var(--ol-abime)"] h3,
.sec [style*="background:var(--ol-abime)"] .display{color:oklch(.9687 calc(var(--ol-c-body)*.058) var(--ol-h-pap) / 0.95);}.sec--creme [style*="background:var(--ol-abime)"] .body,
.sec--creme [style*="background:var(--ol-abime)"] p,
.sec [style*="background:var(--ol-abime)"] .body,
.sec [style*="background:var(--ol-abime)"] p{color:oklch(.8924 calc(var(--ol-c-body)*.11) var(--ol-h) / 0.84);}.sec--creme [style*="background:var(--ol-abime)"] em,
.sec [style*="background:var(--ol-abime)"] em{color:oklch(.8924 calc(var(--ol-c-body)*.11) var(--ol-h) / 0.82);}.sec--creme [style*="background:var(--ol-abime)"] [style*="201,174,124"],
.sec [style*="background:var(--ol-abime)"] [style*="201,174,124"]{color:oklch(.7625 calc(var(--ol-c-pat)*.821) var(--ol-h-pat) / 1.0);}.sec--noir [style*="background:var(--ol-platinum)"] p,
.sec [style*="background:var(--ol-platinum)"] p,
.sec--noir [style*="background:var(--ol-platinum)"] span{color:oklch(.2006 calc(var(--ol-c-body)*.404) var(--ol-h) / 0.92);}.sec--noir [style*="background:var(--ol-platinum)"] [style*="letter-spacing:4px"],
.sec [style*="background:var(--ol-platinum)"] [style*="letter-spacing:4px"]{color:oklch(.4409 calc(var(--ol-c-body)*.349) var(--ol-h) / 0.74);}.proj-mt .proj-nm, .proj-mt .proj-cat,
.proj-nm, h3.proj-nm{color:oklch(.9687 calc(var(--ol-c-body)*.058) var(--ol-h-pap) / 0.96);text-shadow:0 2px 18px oklch(.1205 calc(var(--ol-c-body)*.109) var(--ol-h) / 0.6);}.proj-cat{color:oklch(.8462 calc(var(--ol-c-body)*.112) var(--ol-h) / 0.89);}.proj-ov{background:linear-gradient(180deg, oklch(.1205 calc(var(--ol-c-body)*.109) var(--ol-h) / 0) 38%, oklch(.1205 calc(var(--ol-c-body)*.109) var(--ol-h) / 0.72) 100%);}.btn, .btn-n, .btn-l, .ncta{position:relative;overflow:hidden;}.btn::before, .btn-n::before, .btn-l::before, .ncta::before{content:"";position:absolute;top:-50%;left:-110%;width:60%;height:200%;background:linear-gradient(120deg,
    transparent 0%,
    oklch(.941 calc(var(--ol-c-body)*.109) var(--ol-h) / 0.08) 45%,
    oklch(.941 calc(var(--ol-c-body)*.109) var(--ol-h) / 0.20) 50%,
    oklch(.7625 calc(var(--ol-c-pat)*.821) var(--ol-h-pat) / 0.12) 55%,
    transparent 100%
  );transform:skewX(-20deg);transition:left 0.7s cubic-bezier(.19,1,.22,1);pointer-events:none;z-index:1;}.btn:hover::before, .btn-n:hover::before,
.btn-l:hover::before, .ncta:hover::before{left:120%;}.hd .nl{position:relative;}.hd .nl::after{content:"";position:absolute;left:0;bottom:-3px;width:0;height:1px;background:linear-gradient(90deg, var(--ol-bronze,oklch(.7625 calc(var(--ol-c-pat)*.821) var(--ol-h-pat))), var(--ol-platinum,oklch(.8408 calc(var(--ol-c-body)*.106) var(--ol-h))));transition:width 0.5s cubic-bezier(.19,1,.22,1);}.hd .nl:hover::after, .hd .nl.active::after{width:100%;}.proj-iw::after{content:"";position:absolute;inset:0;z-index:2;background:linear-gradient(135deg,
    oklch(.2077 calc(var(--ol-c-body)*.671) var(--ol-h) / 0.0) 0%,
    oklch(.7625 calc(var(--ol-c-pat)*.821) var(--ol-h-pat) / 0.06) 100%
  );opacity:0;transition:opacity 0.6s cubic-bezier(.19,1,.22,1);pointer-events:none;}.proj-iw:hover::after{opacity:1;}.fig img, .proj-iw img, .dxb-ph img{transition:transform 0.8s cubic-bezier(.19,1,.22,1),
             filter 0.8s cubic-bezier(.19,1,.22,1);}.fig:hover img, .proj-iw:hover img, .dxb-ph:hover img{transform:scale(1.03);filter:brightness(1.06) contrast(1.02);}.cine-quote,
figure.cine-quote,
.cine-quote blockquote,
.cine-quote blockquote *,
.cine-quote figcaption,
.cine figure.cine-quote blockquote,
.cine figure.cine-quote figcaption,
.cine figure.cine-quote blockquote em,
section.sec .cine-quote blockquote,
section.sec .cine-quote figcaption,
section.cine .cine-quote blockquote,
section.cine .cine-quote figcaption{color:oklch(.941 calc(var(--ol-c-body)*.109) var(--ol-h) / .93);text-shadow:0 2px 28px oklch(.1061 calc(var(--ol-c-body)*.088) var(--ol-h) / .90), 0 1px 6px oklch(.1061 calc(var(--ol-c-body)*.088) var(--ol-h) / .98);}.sec--noir .regards-item p,
.sec--noir .regards-item .body,
.sec--noir p:not(.sig-note){color:oklch(.941 calc(var(--ol-c-body)*.109) var(--ol-h) / .80);}.ph .stmt-q,
.ph-h1 + .stmt-q,
.portfolio-intro .stmt-q{color:oklch(.941 calc(var(--ol-c-body)*.109) var(--ol-h) / 0.77);text-shadow:0 1px 16px oklch(.1061 calc(var(--ol-c-body)*.088) var(--ol-h) / .6);}.cine .cine-veil{background:linear-gradient(90deg,oklch(.1061 calc(var(--ol-c-body)*.088) var(--ol-h) / .75),oklch(.1061 calc(var(--ol-c-body)*.088) var(--ol-h) / .32) 50%,oklch(.1061 calc(var(--ol-c-body)*.088) var(--ol-h) / .65));}@media (prefers-reduced-motion:reduce){.hero-h1 .sln{overflow:visible;}}.sec:not(.sec--noir):not(.cine):not(.folco):not(.pensee-cine),
.sec--blanc, .sec--creme, .sec--lin,
.pj-sec, .pensee-body{color:oklch(.1701 calc(var(--ol-c-body)*.333) var(--ol-h));}.sec:not(.sec--noir):not(.cine) h1,
.sec:not(.sec--noir):not(.cine) h2,
.sec:not(.sec--noir):not(.cine) h3,
.sec:not(.sec--noir):not(.cine) h4,
.sec:not(.sec--noir):not(.cine) .display,
.sec:not(.sec--noir):not(.cine) .h2,
.sec:not(.sec--noir):not(.cine) .stmt-q,
.sec:not(.sec--noir):not(.cine) .ph-h1,
.sec:not(.sec--noir):not(.cine) .pj-h1,
.pj-sec h1, .pj-sec h2, .pj-sec h3, .pj-sec .pj-h1,
.pj-sec .display, .pj-sec .h2{color:oklch(.2359 calc(var(--ol-c-body)*.635) var(--ol-h));text-shadow:none;}.sec:not(.sec--noir):not(.cine) p,
.sec:not(.sec--noir):not(.cine) .lead,
.sec:not(.sec--noir):not(.cine) .body,
.sec:not(.sec--noir):not(.cine) li,
.sec:not(.sec--noir):not(.cine) blockquote:not(.cine-quote *),
.pj-sec p, .pj-sec .body, .pj-sec .lead, .pj-sec li{color:oklch(.1701 calc(var(--ol-c-body)*.333) var(--ol-h) / .82);text-shadow:none;}.sec:not(.sec--noir):not(.cine) .eyebrow,
.sec:not(.sec--noir):not(.cine) .kicker,
.sec:not(.sec--noir):not(.cine) .sf-n,
.sec:not(.sec--noir):not(.cine) .sf-t,
.sec:not(.sec--noir):not(.cine) .fig-l,
.sec:not(.sec--noir):not(.cine) .dbloc-l,
.sec:not(.sec--noir):not(.cine) .pj-cat,
.sec:not(.sec--noir):not(.cine) .pj-loc,
.pj-sec .eyebrow, .pj-sec .kicker, .pj-sec .pj-cat, .pj-sec .pj-loc,
.pj-sec .fig-l, .pj-sec .dbloc-l{color:oklch(.5457 calc(var(--ol-c-jade)*.776) var(--ol-h-jade));text-shadow:none;}.sec:not(.sec--noir):not(.cine) .fig-v,
.sec:not(.sec--noir):not(.cine) .dbloc-v,
.pj-sec .fig-v, .pj-sec .dbloc-v,
.pj-meta-v, .pj-fact-v{color:oklch(.2359 calc(var(--ol-c-body)*.635) var(--ol-h));}.pj-meta-l, .pj-fact-l{color:oklch(.5457 calc(var(--ol-c-jade)*.776) var(--ol-h-jade));}.sec--noir, .folco, .ft{background:radial-gradient(980px 420px at 74% -8%, oklch(.941 calc(var(--ol-c-body)*.109) var(--ol-h) / .10), transparent 62%),
    linear-gradient(148deg, oklch(.2161 calc(var(--ol-c-body)*.637) var(--ol-h)) 0%, oklch(.2817 calc(var(--ol-c-body)*.796) var(--ol-h)) 52%, oklch(.1061 calc(var(--ol-c-body)*.088) var(--ol-h)) 100%);color:oklch(.9687 calc(var(--ol-c-body)*.058) var(--ol-h-pap) / .90);}.sec--noir h1, .sec--noir h2, .sec--noir h3, .sec--noir h4,
.sec--noir .display, .sec--noir .h2, .sec--noir .stmt-q,
.folco h1, .folco h2, .folco .display, .folco .folco-name{color:oklch(.9687 calc(var(--ol-c-body)*.058) var(--ol-h-pap));text-shadow:0 2px 30px oklch(.1061 calc(var(--ol-c-body)*.088) var(--ol-h) / .5);}.sec--noir p, .sec--noir .lead, .sec--noir .body, .sec--noir li,
.folco p, .folco .body{color:oklch(.9687 calc(var(--ol-c-body)*.058) var(--ol-h-pap) / .82);text-shadow:none;}.sec--noir .eyebrow, .sec--noir .kicker, .sec--noir .dbloc-l,
.sec--noir .fig-l, .sec--noir .sf-n,
.folco .folco-eyebrow{color:oklch(.7632 calc(var(--ol-c-jade)*.693) var(--ol-h-jade));}.sec--noir .dbloc, .sec--noir .sf-item, .sec--noir .fig,
.sec--noir .regards-item, .sec--noir .int-block{background:oklch(.2184 calc(var(--ol-c-body)*.548) var(--ol-h) / .42);border-color:oklch(.941 calc(var(--ol-c-body)*.109) var(--ol-h) / 0.78);color:oklch(.9687 calc(var(--ol-c-body)*.058) var(--ol-h-pap) / .88);}.sec--noir .dbloc *, .sec--noir .regards-item *, .sec--noir .fig *{color:oklch(.9687 calc(var(--ol-c-body)*.058) var(--ol-h-pap) / .82);}.sec--noir .dbloc .dbloc-v, .sec--noir .fig .fig-v{color:oklch(.9687 calc(var(--ol-c-body)*.058) var(--ol-h-pap));}.cine{color:oklch(.9687 calc(var(--ol-c-body)*.058) var(--ol-h-pap));}.cine-quote, .cine-quote blockquote, .cine-quote blockquote *,
.cine-quote figcaption, .cine blockquote, .cine figcaption,
.cine h2, .cine .cine-title{color:oklch(.9687 calc(var(--ol-c-body)*.058) var(--ol-h-pap) / .94);text-shadow:0 2px 30px oklch(.1061 calc(var(--ol-c-body)*.088) var(--ol-h) / .92), 0 1px 6px oklch(.1061 calc(var(--ol-c-body)*.088) var(--ol-h) / .98);}.cine-meta, .cine-cap{color:oklch(.7632 calc(var(--ol-c-jade)*.693) var(--ol-h-jade));text-shadow:0 1px 8px oklch(.1061 calc(var(--ol-c-body)*.088) var(--ol-h) / .8);}.hero-h1 .sln{line-height:1.24;padding-bottom:0.14em;margin-bottom:-0.05em;}.hero-h1 .sli{display:block;white-space:nowrap;overflow:visible;}.hd .logo, .hd .logo-n, .hd .logo-s{color:oklch(.9687 calc(var(--ol-c-body)*.058) var(--ol-h-pap));}.hd--light .logo, .hd--light .logo-n, .hd--light .logo-s,
.hd.is-solid .logo, .hd.is-solid .logo-n, .hd.is-solid .logo-s{color:oklch(.2359 calc(var(--ol-c-body)*.635) var(--ol-h));}main > section.sec--noir,
main > section.cine,
main > section.folco,
body .sec--noir,
body .cine,
body .folco{background:radial-gradient(980px 420px at 74% -8%, oklch(.941 calc(var(--ol-c-body)*.109) var(--ol-h) / .10), transparent 62%),
    linear-gradient(148deg, oklch(.2161 calc(var(--ol-c-body)*.637) var(--ol-h)) 0%, oklch(.2817 calc(var(--ol-c-body)*.796) var(--ol-h)) 52%, oklch(.1061 calc(var(--ol-c-body)*.088) var(--ol-h)) 100%);color:oklch(.9687 calc(var(--ol-c-body)*.058) var(--ol-h-pap) / .90);}main > section.cine{background:transparent;}main > section.cine .cine-bg,
main > section.cine video{filter:contrast(1.08) saturate(0.82) brightness(0.62);}body .sec--noir h1, body .sec--noir h2, body .sec--noir h3,
body .sec--noir .h2, body .sec--noir .display, body .sec--noir .stmt-q{color:oklch(.9687 calc(var(--ol-c-body)*.058) var(--ol-h-pap));}body .sec--noir p, body .sec--noir .lead, body .sec--noir .body,
body .sec--noir li, body .sec--noir em, body .sec--noir span:not(.arr){color:oklch(.9687 calc(var(--ol-c-body)*.058) var(--ol-h-pap) / .82);}body .sec--noir .kicker, body .sec--noir .eyebrow{color:oklch(.941 calc(var(--ol-c-body)*.109) var(--ol-h) / 0.78);}body .sec--noir [style*="color:rgba(201,205,210"]{color:oklch(.8462 calc(var(--ol-c-body)*.112) var(--ol-h) / 0.9);}body .sec--noir [style*="color:rgba(231,236,242"]{color:oklch(.9687 calc(var(--ol-c-body)*.058) var(--ol-h-pap) / .90);}body section.sec--blanc .stmt-q,
body section.sec--blanc .stmt-q *,
body section.sec--creme .stmt-q,
body section.sec--creme .stmt-q *,
body section.sec--lin .stmt-q,
body section.sec--lin .stmt-q *,
body section.sec--blanc .display,
body section.sec--blanc .display *,
body section.sec--creme .display,
body section.sec--creme .display *,
body section.sec--lin .display,
body section.sec--lin .display *,
body section.sec--blanc h2:not(.cine-title),
body section.sec--creme h2:not(.cine-title),
body section.sec--lin h2:not(.cine-title),
body .pj-sec .display, body .pj-sec .display *,
body .pj-sec .stmt-q, body .pj-sec .stmt-q *{color:oklch(.2359 calc(var(--ol-c-body)*.635) var(--ol-h));text-shadow:none;}body section.sec--blanc .stmt-q em,
body section.sec--creme .stmt-q em,
body section.sec--lin .stmt-q em,
body section.sec--blanc .display em,
body section.sec--creme .display em,
body section.sec--lin .display em{color:oklch(.5483 calc(var(--ol-c-jade)*.785) var(--ol-h-jade));}body .est-opt, body .est-res, body .est{background:oklch(.9923 calc(var(--ol-c-body)*.047) var(--ol-h-pap) / .92);border:1px solid oklch(.4409 calc(var(--ol-c-body)*.349) var(--ol-h) / .16);}body .est-opt .est-opt-l, body .est-opt-l,
body .est-res .est-res-b, body .est-res-b{color:oklch(.2359 calc(var(--ol-c-body)*.635) var(--ol-h));}body .est-opt .est-opt-s, body .est-opt-s{color:oklch(.2359 calc(var(--ol-c-body)*.635) var(--ol-h) / .60);}body .est-res .est-res-t, body .est-res-t,
body .est-step, body .est-step.active{color:oklch(.5483 calc(var(--ol-c-jade)*.785) var(--ol-h-jade));}body .est-opt:hover, body .est-opt.active{background:oklch(1 0 var(--ol-h));border-color:oklch(.7625 calc(var(--ol-c-pat)*.821) var(--ol-h-pat) / 1.0);}body .contact input:not([type=range]):not([type=radio]),
body .contact textarea,
body form input:not([type=range]):not([type=radio]),
body form textarea{color:oklch(.2359 calc(var(--ol-c-body)*.635) var(--ol-h));background:oklch(.9923 calc(var(--ol-c-body)*.047) var(--ol-h-pap) / .85);}.concierge-fab, .cc-fab, [class*="concierge"] .fab,
.oc-concierge-btn{background:linear-gradient(135deg, oklch(.2817 calc(var(--ol-c-body)*.796) var(--ol-h)), oklch(.2161 calc(var(--ol-c-body)*.637) var(--ol-h)));color:oklch(.9687 calc(var(--ol-c-body)*.058) var(--ol-h-pap));}.concierge-fab *, .cc-fab *{color:oklch(.9687 calc(var(--ol-c-body)*.058) var(--ol-h-pap));}.cine .cine-veil,
.cine-veil--bottom{background:linear-gradient(180deg,
    oklch(.1205 calc(var(--ol-c-body)*.109) var(--ol-h) / .30) 0%,
    oklch(.1205 calc(var(--ol-c-body)*.109) var(--ol-h) / .55) 45%,
    oklch(.1205 calc(var(--ol-c-body)*.109) var(--ol-h) / .78) 100%);}figure.cine-quote{position:relative;}figure.cine-quote::before{content:"";position:absolute;inset:-8% -6%;background:radial-gradient(ellipse at center,
    oklch(.1205 calc(var(--ol-c-body)*.109) var(--ol-h) / .62) 0%,
    oklch(.1205 calc(var(--ol-c-body)*.109) var(--ol-h) / .38) 45%,
    transparent 78%);z-index:-1;pointer-events:none;filter:blur(20px);}.sec:not(.sec--noir):not(.cine) [style*="color:var(--ol-platinum)"],
.pj-sec [style*="color:var(--ol-platinum)"],
.contact [style*="color:var(--ol-platinum)"],
body form [style*="color:var(--ol-platinum)"],
body form label [style*="var(--ol-platinum)"]{color:oklch(.2359 calc(var(--ol-c-body)*.635) var(--ol-h));}.sec:not(.sec--noir):not(.cine) [style*="color:var(--ol-vein)"],
.pj-sec [style*="color:var(--ol-vein)"],
.contact [style*="color:var(--ol-vein)"],
body form [style*="color:var(--ol-vein)"]{color:oklch(.5483 calc(var(--ol-c-jade)*.785) var(--ol-h-jade));}body .contact form label:hover,
body form label[onclick]:hover{background:oklch(.7625 calc(var(--ol-c-pat)*.821) var(--ol-h-pat) / .06);}body form label[onclick] input:checked + span + span,
body form label[onclick] input:checked ~ span{color:oklch(.5483 calc(var(--ol-c-jade)*.785) var(--ol-h-jade));}figure.cine-quote::after{content:"";position:absolute;left:0;top:6%;bottom:6%;width:1px;background:linear-gradient(180deg,transparent,var(--ol-bronze,oklch(.7625 calc(var(--ol-c-pat)*.821) var(--ol-h-pat))) 18%,var(--ol-bronze,oklch(.7625 calc(var(--ol-c-pat)*.821) var(--ol-h-pat))) 82%,transparent);transform:scaleY(0);transform-origin:top center;transition:transform 1.15s cubic-bezier(.16,1,.3,1);pointer-events:none;z-index:1;}.cine-quote blockquote,.cine-quote figcaption{opacity:0;filter:blur(9px);transform:scale(.985);transition:opacity 1.1s cubic-bezier(.19,1,.22,1) .32s,
             filter 1.1s cubic-bezier(.19,1,.22,1) .32s,
             transform 1.1s cubic-bezier(.19,1,.22,1) .32s;}.cine-quote.in::after{transform:scaleY(1);}.cine-quote.in blockquote,.cine-quote.in figcaption{opacity:1;filter:blur(0);transform:none;}@media (prefers-reduced-motion:reduce){figure.cine-quote::after{transition:none;transform:scaleY(1);}.cine-quote blockquote,.cine-quote figcaption{transition:none;opacity:1;filter:none;transform:none;}}.dbloc{position:relative;overflow:hidden;}.dbloc::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,oklch(.9897 calc(var(--ol-c-body)*.057) var(--ol-h-pap) / .82) 0%,transparent 64%);mix-blend-mode:soft-light;transform:translateY(-100%);transition:transform 2.2s cubic-bezier(.19,1,.22,1);pointer-events:none;z-index:2;}.dbloc.is-lit::after{transform:translateY(220%);}@media (prefers-reduced-motion:reduce){.dbloc::after{display:none;}}body .oc-page-leave{background:linear-gradient(120deg,oklch(.1061 calc(var(--ol-c-body)*.088) var(--ol-h)) 0%,oklch(.2161 calc(var(--ol-c-body)*.637) var(--ol-h)) 46%,oklch(.2817 calc(var(--ol-c-body)*.796) var(--ol-h)) 100%);transition:transform .62s cubic-bezier(.86,0,.07,1);overflow:hidden;}.oc-page-leave::before{content:"";position:absolute;inset:-22%;background:linear-gradient(115deg,transparent 40%,oklch(.941 calc(var(--ol-c-body)*.109) var(--ol-h) / .10) 50%,oklch(.7625 calc(var(--ol-c-pat)*.821) var(--ol-h-pat) / .26) 55%,transparent 68%);transform:translateX(-150%) skewX(-12deg);}.oc-page-leave.is-active::before{transform:translateX(150%) skewX(-12deg);transition:transform .95s cubic-bezier(.16,1,.3,1) .04s;}body .oc-page-curtain{background:linear-gradient(120deg,oklch(.1061 calc(var(--ol-c-body)*.088) var(--ol-h)) 0%,oklch(.2161 calc(var(--ol-c-body)*.637) var(--ol-h)) 55%,oklch(.2817 calc(var(--ol-c-body)*.796) var(--ol-h)) 100%);overflow:hidden;}.oc-page-curtain::after{content:"";position:absolute;inset:-22%;background:linear-gradient(115deg,transparent 40%,oklch(.941 calc(var(--ol-c-body)*.109) var(--ol-h) / .08) 50%,oklch(.7625 calc(var(--ol-c-pat)*.821) var(--ol-h-pat) / .20) 55%,transparent 68%);transform:translateX(-150%) skewX(-12deg);animation:ocStreakIn 1.05s cubic-bezier(.16,1,.3,1) .05s forwards;}@keyframes ocStreakIn{to{transform:translateX(150%) skewX(-12deg)}}@media (prefers-reduced-motion:reduce){.oc-page-leave::before,.oc-page-curtain::after{display:none;}}#oc-grade{position:fixed;inset:0;pointer-events:none;z-index:11940;}#oc-grade::before{content:"";position:absolute;inset:0;background:radial-gradient(120% 92% at 50% 42%,transparent 56%,oklch(.1061 calc(var(--ol-c-body)*.088) var(--ol-h) / .14) 82%,oklch(.1061 calc(var(--ol-c-body)*.088) var(--ol-h) / .30) 100%);mix-blend-mode:multiply;}#oc-grade::after{content:"";position:absolute;inset:-40%;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='140' height='140'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix type='saturate' values='0'/></filter><rect width='140' height='140' filter='url(%23n)' opacity='0.5'/></svg>");opacity:.05;mix-blend-mode:overlay;animation:ocGrain .9s steps(5) infinite;}@keyframes ocGrain{0%{transform:translate3d(0,0,0)}20%{transform:translate3d(-2%,1.4%,0)}
  40%{transform:translate3d(1.6%,-1.2%,0)}60%{transform:translate3d(-1.2%,-1.8%,0)}
  80%{transform:translate3d(1.8%,1.2%,0)}100%{transform:translate3d(0,0,0)}}@media (prefers-reduced-motion:reduce){#oc-grade::after{animation:none;}}@keyframes ocPillIn{to{opacity:1}}.oc-gw{display:inline;white-space:nowrap;}.tension-note{max-width:720px;margin:38px auto 10px;padding:0 22px;text-align:center;font-family:var(--font-l);font-size:11px;letter-spacing:.3em;text-transform:uppercase;color:oklch(.2359 calc(var(--ol-c-body)*.635) var(--ol-h) / 0.56);}.rare-note{max-width:760px;margin:0 auto 76px;padding:0 22px;text-align:center;}.rare-note p{font-family:var(--font-s);font-size:15px;line-height:1.78;color:oklch(.2359 calc(var(--ol-c-body)*.635) var(--ol-h) / .62);margin:0;}.rare-note em{font-style:italic;color:oklch(.2359 calc(var(--ol-c-body)*.635) var(--ol-h) / .8);}.cv-craft .cv-w{display:inline-block;overflow:hidden;vertical-align:top;line-height:inherit;}.cv-craft .cv-w-i{display:inline-block;transform:translateY(112%);opacity:.001;transition:transform 1.02s cubic-bezier(.16,1,.3,1),opacity .7s ease;}.cv-craft .cv-reveal.cv-in .cv-w-i{transform:translateY(0);opacity:1;}@media (prefers-reduced-motion:reduce){.cv-craft .cv-w-i{transform:none;opacity:1;transition:none;}}.cv-craft .hero-body{transform:translate3d(0, calc(var(--cv-hero,0) * -6vh), 0);opacity:calc(1 - var(--cv-hero,0) * .82);will-change:transform,opacity;}.cv-craft .hero-veil{opacity:calc(.5 + var(--cv-hero,0) * .4);}.cv-craft .hero-vid{transform:translate3d(0, calc(var(--cv-hero,0) * 4vh), 0) scale(calc(1 + var(--cv-hero,0) * .06));will-change:transform;}.cv-craft .hero-sc{opacity:calc(1 - var(--cv-hero,0) * 2);}.cv-craft [data-cv-plane]{will-change:transform;}#cv-progress{position:fixed;top:0;left:0;height:2px;z-index:11970;pointer-events:none;width:calc(var(--cv-progress,0) * 100%);background:linear-gradient(90deg,oklch(.7625 calc(var(--ol-c-pat)*.821) var(--ol-h-pat) / .0),oklch(.7625 calc(var(--ol-c-pat)*.821) var(--ol-h-pat) / .9) 40%,oklch(.9687 calc(var(--ol-c-body)*.058) var(--ol-h-pap) / .95));box-shadow:0 0 12px -2px oklch(.7625 calc(var(--ol-c-pat)*.821) var(--ol-h-pat) / .6);transition:width .1s linear;}@media (prefers-reduced-motion:reduce){.cv-craft .hero-body,.cv-craft .hero-vid,.cv-craft .hero-veil,.cv-craft .hero-sc{transform:none;opacity:1;}#cv-progress{display:none;}}@media (max-width:760px){#cv-progress{height:2px;}.cv-craft [data-cv-plane]{transform:none;}}html.cinema-on .cine-dust{position:fixed;inset:0;z-index:9995;pointer-events:none;mix-blend-mode:screen;opacity:.5;}html.cinema-on figure.cine-sheen{position:relative;overflow:hidden;}html.cinema-on figure.cine-sheen::after{content:"";position:absolute;inset:-2%;pointer-events:none;background:linear-gradient(112deg,
    oklch(.9867 calc(var(--ol-c-body)*.057) var(--ol-h-pap) / 0)   38%,
    oklch(.9867 calc(var(--ol-c-body)*.057) var(--ol-h-pap) / .16) 47%,
    oklch(.9097 calc(var(--ol-c-body)*.317) var(--ol-h) / .10) 52%,
    oklch(.9867 calc(var(--ol-c-body)*.057) var(--ol-h-pap) / 0)   62%);transform:translateX(-130%) skewX(-6deg);animation:cine-sheen-pass 1.35s cubic-bezier(.33, .1, .2, 1) .12s 1 forwards;}@keyframes cine-sheen-pass{to { transform: translateX(130%) skewX(-6deg); }}@media (prefers-reduced-motion: reduce){html.cinema-on .cine-dust{display:none;}html.cinema-on figure.cine-sheen::after{animation:none;opacity:0;}}html body [style*="background:var(--ol-platinum)"] p:not([data-i]),
html body [style*="background:var(--ol-carrara)"] p:not([data-i]),
html body [style*="background:var(--ol-ivory)"] p:not([data-i]){color:var(--ol-satin, oklch(.2161 calc(var(--ol-c-body)*.637) var(--ol-h)));}html body [style*="background:var(--ol-platinum)"] p[data-i],
html body [style*="background:var(--ol-carrara)"] p[data-i],
html body [style*="background:var(--ol-ivory)"] p[data-i]{color:oklch(.1701 calc(var(--ol-c-body)*.333) var(--ol-h) / .62);}html body [style*="background:var(--ol-abime)"] h3,
html body [style*="background:var(--ol-satin)"] h3,
html body [style*="background:var(--ol-lapis)"] h3,
html body [style*="background:var(--ol-ink)"] h3,
html body [style*="background:var(--ol-abime)"] h4,
html body [style*="background:var(--ol-satin)"] h4,
html body [style*="background:var(--ol-lapis)"] h4,
html body [style*="background:var(--ol-ink)"] h4{color:var(--ol-platinum, oklch(.941 calc(var(--ol-c-body)*.109) var(--ol-h)));}html body [style*="background:var(--ol-abime)"] p,
html body [style*="background:var(--ol-satin)"] p,
html body [style*="background:var(--ol-lapis)"] p,
html body [style*="background:var(--ol-ink)"] p{color:oklch(.941 calc(var(--ol-c-body)*.109) var(--ol-h) / .80);}html body [style*="background:var(--ol-abime)"] em,
html body [style*="background:var(--ol-satin)"] em,
html body [style*="background:var(--ol-lapis)"] em,
html body [style*="background:var(--ol-ink)"] em{color:var(--ol-carrara, oklch(.9687 calc(var(--ol-c-body)*.058) var(--ol-h-pap)));}html body [style*="background:var(--ol-abime)"] p[style*="rgba(201,174,124"],
html body [style*="background:var(--ol-satin)"] p[style*="rgba(201,174,124"],
html body [style*="background:var(--ol-lapis)"] p[style*="rgba(201,174,124"],
html body [style*="background:var(--ol-ink)"] p[style*="rgba(201,174,124"]{color:var(--ol-bronze-soft, oklch(.8242 calc(var(--ol-c-pat)*.806) var(--ol-h-pat)));}html body [style*="background:var(--ol-abime)"] a,
html body [style*="background:var(--ol-satin)"] a,
html body [style*="background:var(--ol-lapis)"] a,
html body [style*="background:var(--ol-ink)"] a{color:var(--ol-bronze-soft, oklch(.8242 calc(var(--ol-c-pat)*.806) var(--ol-h-pat)));border-bottom-color:oklch(.8188 calc(var(--ol-c-jade)*.698) var(--ol-h-jade) / 0.91);}html body form label[onclick] input:not(:checked) ~ span[style*="color:var(--ol-platinum)"]{color:var(--ol-satin, oklch(.2161 calc(var(--ol-c-body)*.637) var(--ol-h)));}html::before{content:"";position:fixed;top:0;left:0;right:0;height:2px;z-index:10000;pointer-events:none;background:linear-gradient(90deg,
      transparent 0%,
      oklch(.441 calc(var(--ol-c-body)*.905) var(--ol-h) / .90) 14%,
      oklch(.5769 calc(var(--ol-c-jade)*.616) var(--ol-h-jade) / .90) 30%,
      oklch(.8311 calc(var(--ol-c-jade)*.696) var(--ol-h-jade) / .95) 46%,
      oklch(.61 calc(var(--ol-c-body)*.775) var(--ol-h) / .85) 62%,
      oklch(.441 calc(var(--ol-c-body)*.905) var(--ol-h) / .80) 78%,
      transparent 92%) no-repeat,
    linear-gradient(90deg, oklch(.7625 calc(var(--ol-c-pat)*.821) var(--ol-h-pat) / .15), oklch(.7625 calc(var(--ol-c-pat)*.821) var(--ol-h-pat) / .15));background-size:60% 100%, 100% 100%;background-position:-150% 0, 0 0;animation:ol-prisme 5s linear infinite;}@keyframes ol-prisme{0%   { background-position: -150% 0, 0 0; }
  32%  { background-position:  250% 0, 0 0; }
  100% { background-position:  250% 0, 0 0; }}@media (prefers-reduced-motion: reduce){html::before{animation:none;background:linear-gradient(90deg,
      oklch(.7625 calc(var(--ol-c-pat)*.821) var(--ol-h-pat) / .20), oklch(.8311 calc(var(--ol-c-jade)*.696) var(--ol-h-jade) / .30), oklch(.7625 calc(var(--ol-c-pat)*.821) var(--ol-h-pat) / .20));background-size:100% 100%;background-position:0 0;}}@view-transition{navigation: auto;}::view-transition-old(root){animation:ol-vt-out .32s cubic-bezier(.4, 0, .2, 1) both;}::view-transition-new(root){animation:ol-vt-in .5s cubic-bezier(.19, 1, .22, 1) both;}@keyframes ol-vt-out{to { opacity: 0; }}@keyframes ol-vt-in{from { opacity: 0; transform: translateY(6px); }}@media (prefers-reduced-motion: reduce){::view-transition-old(root), ::view-transition-new(root){animation:none;}}::selection{background:oklch(.2178 calc(var(--ol-c-body)*.449) var(--ol-h));color:oklch(.9687 calc(var(--ol-c-body)*.058) var(--ol-h-pap));}::-moz-selection{background:oklch(.2178 calc(var(--ol-c-body)*.449) var(--ol-h));color:oklch(.9687 calc(var(--ol-c-body)*.058) var(--ol-h-pap));}html{scrollbar-width:thin;scrollbar-color:oklch(.7625 calc(var(--ol-c-pat)*.821) var(--ol-h-pat) / 1.0) transparent;}::-webkit-scrollbar{width:9px;}::-webkit-scrollbar-track{background:transparent;}::-webkit-scrollbar-thumb{background:oklch(.7625 calc(var(--ol-c-pat)*.821) var(--ol-h-pat) / .28);border-radius:999px;border:2px solid transparent;background-clip:content-box;}::-webkit-scrollbar-thumb:hover{background-color:oklch(.7625 calc(var(--ol-c-pat)*.821) var(--ol-h-pat) / 1.0);}h1, h2, h3, .dxb-t, .ph-h1{font-feature-settings:"liga" 1, "kern" 1;text-rendering:optimizeLegibility;}:where(a, button, [role="button"], input, select, textarea, [tabindex]):focus-visible{outline:1px solid oklch(.8188 calc(var(--ol-c-jade)*.698) var(--ol-h-jade) / .75);outline-offset:3px;}.ol-skip{position:fixed;left:16px;top:-64px;z-index:10001;font:600 11px/1 Inter, sans-serif;letter-spacing:.18em;text-transform:uppercase;color:oklch(.9687 calc(var(--ol-c-body)*.058) var(--ol-h-pap));background:oklch(.1701 calc(var(--ol-c-body)*.333) var(--ol-h) / .92);border:1px solid oklch(.8188 calc(var(--ol-c-jade)*.698) var(--ol-h-jade) / .4);padding:12px 18px;border-radius:999px;text-decoration:none;transition:top .35s ease;}.ol-skip:focus{top:14px;}:root{--ol-bleu-nuit:oklch(.2161 calc(var(--ol-c-body)*.637) var(--ol-h));--ol-bleu-satin:oklch(.2817 calc(var(--ol-c-body)*.796) var(--ol-h));--ol-bleu-mineral:oklch(.3256 calc(var(--ol-c-body)*.926) var(--ol-h));--ol-bleu-caravelli:oklch(.3474 calc(var(--ol-c-body)*.92) var(--ol-h));--ol-bleu-encre:oklch(.3619 calc(var(--ol-c-body)*.916) var(--ol-h));--ol-bleu-graphite:oklch(.3764 calc(var(--ol-c-body)*.682) var(--ol-h));--ol-argent-bleute:oklch(.7724 calc(var(--ol-c-body)*.438) var(--ol-h));--ol-platine-froid:oklch(.9046 calc(var(--ol-c-body)*.11) var(--ol-h));--ol-ivoire-carrara:oklch(.966 calc(var(--ol-c-body)*.07) var(--ol-h-pap));}html.inv-lock{overflow:hidden;}#inv-ovl{position:fixed;inset:0;z-index:9998;display:none;align-items:center;justify-content:center;padding:4vh 4vw;}#inv-ovl.on{display:flex;}#inv-ovl::before{content:"";position:absolute;inset:0;background:oklch(.1061 calc(var(--ol-c-body)*.088) var(--ol-h) / 0);transition:background 1s cubic-bezier(.19, 1, .22, 1);}#inv-ovl.in::before{background:oklch(.1061 calc(var(--ol-c-body)*.088) var(--ol-h) / .58);}#inv-plq{position:relative;width:min(720px, 92vw);aspect-ratio:3 / 2;opacity:0;transform:translateY(12px) scale(.965);transition:opacity 1.15s cubic-bezier(.19, 1, .22, 1),
              transform 1.15s cubic-bezier(.19, 1, .22, 1);filter:drop-shadow(0 46px 80px oklch(.1061 calc(var(--ol-c-body)*.088) var(--ol-h) / .55));}#inv-ovl.in #inv-plq{opacity:1;transform:translateY(0) scale(1);}#inv-ovl.out::before{background:oklch(.1061 calc(var(--ol-c-body)*.088) var(--ol-h) / 0);transition-duration:1.3s;}#inv-ovl.out #inv-plq{opacity:0;transform:translateY(8px) scale(.978);transition-duration:1.3s;}#inv-plq canvas{display:block;width:100%;height:100%;}#inv-plq.inv-static{background:center / cover no-repeat;border-radius:10px;}.inv-hit{position:absolute;display:block;background:transparent;border:0;padding:0;margin:0;cursor:pointer;border-radius:12px;}.inv-hit:focus-visible{outline:1px solid oklch(.8188 calc(var(--ol-c-jade)*.698) var(--ol-h-jade) / .75);outline-offset:3px;}.inv-hit .sr{position:absolute;width:1px;height:1px;clip:rect(0 0 0 0);overflow:hidden;white-space:nowrap;}#inv-b1{left:17.7%;top:60.5%;width:64.6%;height:8.4%;}#inv-b2{left:28.2%;top:73.3%;width:43.6%;height:6.9%;}@media (max-width: 620px){#inv-plq{width:92vw;aspect-ratio:3 / 4;}#inv-b1{left:11.7%;top:57.6%;width:76.5%;height:6.6%;}#inv-b2{left:21.9%;top:68.6%;width:56.2%;height:5.7%;}}#inv-med{position:fixed;right:28px;bottom:112px;z-index:9997;width:58px;height:58px;border-radius:50%;border:1px solid oklch(.8462 calc(var(--ol-c-body)*.112) var(--ol-h) / .38);background:center / cover no-repeat;box-shadow:0 18px 40px oklch(.1061 calc(var(--ol-c-body)*.088) var(--ol-h) / .45),
              inset 0 0 0 1px oklch(.9923 calc(var(--ol-c-body)*.047) var(--ol-h-pap) / .12);cursor:pointer;padding:0;display:none;opacity:0;transform:translateY(6px);transition:opacity .9s cubic-bezier(.19, 1, .22, 1),
              transform .9s cubic-bezier(.19, 1, .22, 1),
              box-shadow .45s ease;}#inv-med.on{display:block;}#inv-med.in{opacity:1;transform:translateY(0);}#inv-med:hover, #inv-med:focus-visible{box-shadow:0 22px 48px oklch(.1061 calc(var(--ol-c-body)*.088) var(--ol-h) / .5),
              inset 0 0 0 1px oklch(.8188 calc(var(--ol-c-jade)*.698) var(--ol-h-jade) / .35);}#inv-med:focus-visible{outline:1px solid oklch(.8188 calc(var(--ol-c-jade)*.698) var(--ol-h-jade) / .7);outline-offset:3px;}#inv-med::after{content:attr(data-tip);position:absolute;right:72px;top:50%;transform:translateY(-50%);white-space:nowrap;font-family:var(--font-l, Inter, sans-serif);font-size:8.5px;letter-spacing:.26em;text-transform:uppercase;color:oklch(.941 calc(var(--ol-c-body)*.109) var(--ol-h) / .92);background:oklch(.1701 calc(var(--ol-c-body)*.333) var(--ol-h) / .82);border:1px solid oklch(.8462 calc(var(--ol-c-body)*.112) var(--ol-h) / .22);padding:9px 14px;border-radius:999px;opacity:0;pointer-events:none;transition:opacity .5s ease;}#inv-med:hover::after, #inv-med:focus-visible::after{opacity:1;}@media (max-width: 620px){#inv-med{right:18px;bottom:96px;}}@media (prefers-reduced-motion: reduce){#inv-ovl::before, #inv-plq, #inv-med{transition-duration:.35s;}#inv-plq{transform:none;}}html.tmp-lock{overflow:hidden;}#tmp-ovl{position:fixed;inset:0;z-index:10002;background:radial-gradient(120% 90% at 50% 38%,
      var(--ol-bleu-satin, oklch(.2817 calc(var(--ol-c-body)*.796) var(--ol-h))) 0%,
      var(--ol-bleu-nuit, oklch(.2161 calc(var(--ol-c-body)*.637) var(--ol-h))) 46%,
      oklch(.1205 calc(var(--ol-c-body)*.109) var(--ol-h)) 100%);opacity:1;transition:opacity 1.15s cubic-bezier(.19, 1, .22, 1);}#tmp-ovl.out{opacity:0;pointer-events:none;}#tmp-ovl canvas{position:absolute;inset:0;width:100%;height:100%;}.tmp-mark{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;pointer-events:none;opacity:0;transform:translateY(10px);transition:opacity 1.15s cubic-bezier(.19, 1, .22, 1),
              transform 1.15s cubic-bezier(.19, 1, .22, 1);}.tmp-mark.in{opacity:1;transform:translateY(0);}.tmp-n{font-family:var(--font-s, "Playfair Display", Georgia, serif);font-weight:400;font-size:clamp(38px, 7.2vw, 84px);letter-spacing:.58em;text-indent:.58em;color:var(--ol-ivoire-carrara, oklch(.966 calc(var(--ol-c-body)*.07) var(--ol-h-pap)));text-shadow:0 0 26px oklch(.9046 calc(var(--ol-c-body)*.11) var(--ol-h) / .28),
               0 0 70px oklch(.7724 calc(var(--ol-c-body)*.438) var(--ol-h) / .18);transition:letter-spacing 2.4s cubic-bezier(.19, 1, .22, 1),
              text-indent 2.4s cubic-bezier(.19, 1, .22, 1);}.tmp-mark.in .tmp-n{letter-spacing:.30em;text-indent:.30em;}.tmp-s{font-family:var(--font-l, Inter, sans-serif);font-size:clamp(9px, 1.2vw, 12px);letter-spacing:.5em;text-indent:.5em;text-transform:uppercase;color:var(--ol-argent-bleute, oklch(.7724 calc(var(--ol-c-body)*.438) var(--ol-h)));}.tmp-f{width:120px;height:1px;background:linear-gradient(90deg, transparent,
    var(--ol-bronze-soft, oklch(.8242 calc(var(--ol-c-pat)*.806) var(--ol-h-pat))), transparent);opacity:.8;}.tmp-hint{position:absolute;left:50%;bottom:5.5%;transform:translateX(-50%);font-family:var(--font-l, Inter, sans-serif);font-size:8.5px;letter-spacing:.32em;text-transform:uppercase;color:oklch(.7724 calc(var(--ol-c-body)*.438) var(--ol-h) / 1.0);opacity:0;transition:opacity 1.4s ease 2.2s;}#tmp-ovl .tmp-hint.in{opacity:1;}@media (prefers-reduced-motion: reduce){#tmp-ovl{display:none;}}:root{--ol-blue-950:oklch(.1705 calc(var(--ol-c-body)*.413) var(--ol-h));--ol-blue-900:oklch(.2161 calc(var(--ol-c-body)*.637) var(--ol-h));--ol-blue-800:oklch(.2817 calc(var(--ol-c-body)*.796) var(--ol-h));--ol-blue-700:oklch(.3256 calc(var(--ol-c-body)*.926) var(--ol-h));--ol-blue-600:oklch(.3474 calc(var(--ol-c-body)*.92) var(--ol-h));--ol-blue-500:oklch(.3619 calc(var(--ol-c-body)*.916) var(--ol-h));--ol-display:"Bodoni Moda",Georgia,"Times New Roman",serif;--ol-editorial:"Cormorant Garamond","Playfair Display",Georgia,serif;--ol-ui:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--ol-ease-sharp:cubic-bezier(.77,0,.175,1);--ol-section-space:clamp(132px,15vw,268px);--ol-hairline:oklch(.7651 calc(var(--ol-c-pat)*.801) var(--ol-h-pat) / .26);--ol-scroll-velocity:0;}html.lux,html.lux body{background:var(--ol-blue-900);color:var(--ol-platinum);}html.lux body{overflow-x:hidden;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;}html.lux body::before{height:1px;background:linear-gradient(90deg,transparent,var(--ol-graphite),var(--ol-platinum),var(--ol-silver),transparent);opacity:.52;}html.lux body::after{opacity:.026;mix-blend-mode:soft-light;background-image:url("../assets/olympe/textures/olympe-film-grain.png");background-size:384px 384px;}html.lux ::selection{background:oklch(.7724 calc(var(--ol-c-body)*.438) var(--ol-h) / .34);color:#fff;}html.lux :is(.logo-n,.ft-name){letter-spacing:.22em;}html.lux :is(.lux-coda-q,.stmt-sig,.stmt-sig2,.editorial-text,.legacy-quote){font-family:var(--ol-editorial);}@keyframes olSmokeField{0%{transform:translate3d(-4%,-2%,0) rotate(-5deg) scale(1.16);filter:blur(46px) contrast(1.14)}
  50%{transform:translate3d(3%,2%,0) rotate(1deg) scale(1.25);filter:blur(46px) contrast(1.28)}
  100%{transform:translate3d(-1%,4%,0) rotate(4deg) scale(1.2);filter:blur(46px) contrast(1.18)}}html.lux #oc-marble{z-index:0;opacity:1;filter:contrast(1.1) saturate(.86) brightness(.78);}@keyframes olSmokeOne{from{transform:translate3d(-11%,-4%,0) rotate(-8deg) scale(1.1)}to{transform:translate3d(14%,7%,0) rotate(7deg) scale(1.35)}}@keyframes olSmokeTwo{from{transform:translate3d(12%,8%,0) rotate(6deg) scale(1.3)}to{transform:translate3d(-13%,-6%,0) rotate(-9deg) scale(1.08)}}@keyframes olSmokeThree{from{transform:translate3d(-8%,7%,0) skewX(-8deg) scale(1.18)}to{transform:translate3d(11%,-8%,0) skewX(7deg) scale(1.32)}}@keyframes olSmokeFour{from{transform:translate3d(7%,-9%,0) skewX(5deg) scale(1.25)}to{transform:translate3d(-10%,9%,0) skewX(-6deg) scale(1.1)}}html.lux .hd{height:84px;background:linear-gradient(180deg,oklch(.1705 calc(var(--ol-c-body)*.413) var(--ol-h) / .78),oklch(.1705 calc(var(--ol-c-body)*.413) var(--ol-h) / .36),transparent);border-bottom:1px solid transparent;}html.lux .hd.is-past-hero,html.lux .hd.solid,html.lux .hd.is-scrolled{height:72px;background:oklch(.1705 calc(var(--ol-c-body)*.413) var(--ol-h) / .86);backdrop-filter:blur(22px) saturate(1.25);-webkit-backdrop-filter:blur(22px) saturate(1.25);border-bottom-color:oklch(.9046 calc(var(--ol-c-body)*.11) var(--ol-h) / 0.82);}html.lux .hd .logo-n,html.lux .hd.is-past-hero .logo-n,html.lux .hd.solid .logo-n{color:var(--ol-carrara);font-size:12px;}html.lux .hd .logo-s,html.lux .hd.is-past-hero .logo-s,html.lux .hd.solid .logo-s{color:var(--ol-silver);font-family:var(--ol-editorial);font-style:italic;font-size:15px;}html.lux .hd .nl,html.lux .hd .lb,html.lux .hd.is-past-hero .nl,html.lux .hd.solid .nl{color:oklch(.9046 calc(var(--ol-c-body)*.11) var(--ol-h) / 0.82);font-size:8px;letter-spacing:.28em;}html.lux .hd .nl:hover,html.lux .hd .nl.active,html.lux .hd.is-past-hero .nl:hover,html.lux .hd.solid .nl:hover{color:var(--ol-carrara);}html.lux .hd .ncta,html.lux .hd.is-past-hero .ncta,html.lux .hd.solid .ncta{background:oklch(.9046 calc(var(--ol-c-body)*.11) var(--ol-h) / .09);border:1px solid oklch(.7651 calc(var(--ol-c-pat)*.801) var(--ol-h-pat) / .26);color:var(--ol-carrara);backdrop-filter:blur(12px);}html.lux .hd .ncta:hover,html.lux .hd.is-past-hero .ncta:hover,html.lux .hd.solid .ncta:hover{background:var(--ol-carrara);color:var(--ol-blue-900);}html.lux .hero{min-height:100svh;background:var(--ol-blue-900);}html.lux .hero-vid video{filter:saturate(.72) contrast(1.13) brightness(.72);transform:scale(1.018);}html.lux .hero-veil{background:linear-gradient(90deg,oklch(.1705 calc(var(--ol-c-body)*.413) var(--ol-h) / .82) 0%,oklch(.2161 calc(var(--ol-c-body)*.637) var(--ol-h) / .38) 48%,oklch(.1705 calc(var(--ol-c-body)*.413) var(--ol-h) / .26) 72%),linear-gradient(180deg,oklch(.1705 calc(var(--ol-c-body)*.413) var(--ol-h) / .2),transparent 38%,oklch(.1705 calc(var(--ol-c-body)*.413) var(--ol-h) / .78));}html.lux .hero-body{max-width:min(1160px,86vw);padding-top:clamp(140px,16vh,210px);}html.lux .hero-ey{font-size:9px;letter-spacing:.56em;color:oklch(.9046 calc(var(--ol-c-body)*.11) var(--ol-h) / 0.82);}html.lux .hero-h1{font-size:clamp(60px,9.2vw,154px);line-height:.82;letter-spacing:-.035em;color:var(--ol-carrara);max-width:1080px;}html.lux .hero-h1 em{color:var(--ol-platinum);-webkit-text-fill-color:var(--ol-platinum);text-shadow:0 0 55px oklch(.7724 calc(var(--ol-c-body)*.438) var(--ol-h) / .14);}html.lux .hero-sub{font-size:clamp(14px,1.2vw,18px);line-height:1.75;color:oklch(.9046 calc(var(--ol-c-body)*.11) var(--ol-h) / 0.82);max-width:630px;}html.lux .lux-sec,html.lux .sec,html.lux .pj-sec{padding-block:var(--ol-section-space);}html.lux .lux-deep{position:relative;background:radial-gradient(80% 60% at 50% 0%,oklch(.3619 calc(var(--ol-c-body)*.916) var(--ol-h) / .26),transparent 64%),linear-gradient(180deg,var(--ol-blue-900),var(--ol-blue-800) 52%,var(--ol-blue-950));}html.lux .lux-deep:nth-of-type(even){background:radial-gradient(75% 58% at 74% 6%,oklch(.3764 calc(var(--ol-c-body)*.682) var(--ol-h) / .22),transparent 62%),linear-gradient(180deg,var(--ol-blue-950),var(--ol-blue-900) 60%,var(--ol-blue-800));}html.lux .lux-deep::after{content:"";position:absolute;top:0;left:50%;width:min(280px,44%);height:1px;transform:translateX(-50%);background:linear-gradient(90deg,transparent,var(--ol-silver),var(--ol-platinum),var(--ol-silver),transparent);opacity:.48;}html.lux .display{font-size:clamp(48px,7.8vw,132px);line-height:.88;letter-spacing:-.035em;color:var(--ol-carrara);}html.lux .display em{color:var(--ol-platinum);-webkit-text-fill-color:var(--ol-platinum);background:none;}html.lux .lead,html.lux .body,html.lux main p{color:oklch(.9046 calc(var(--ol-c-body)*.11) var(--ol-h) / 0.82);}html.lux :is(.eyebrow,.kicker,.hero-ey,.regards-eyebrow){color:var(--ol-silver);font-family:var(--ol-ui);font-size:9px;letter-spacing:.52em;text-transform:uppercase;}html.lux .lux-manifesto{max-width:1100px;margin:auto;text-align:center;padding-inline:clamp(20px,5vw,40px);}html.lux .lux-manifesto p,html.lux .stmt-sig{font-family:var(--ol-editorial);font-size:clamp(32px,4.8vw,70px);line-height:1.13;letter-spacing:-.02em;color:var(--ol-carrara);}html.lux .lux-manifesto em,html.lux .stmt-sig em{color:var(--ol-platinum);-webkit-text-fill-color:var(--ol-platinum);background:none;}html.lux .lux-rule{width:1px;height:clamp(56px,7.5vw,104px);margin:clamp(52px,6.5vw,96px) auto 0;background:linear-gradient(180deg,transparent,var(--ol-silver),var(--ol-platinum),var(--ol-silver),transparent);}html.lux .sf-item{position:relative;padding-top:28px;background:oklch(.2817 calc(var(--ol-c-body)*.796) var(--ol-h) / .42);border:1px solid oklch(.7724 calc(var(--ol-c-body)*.438) var(--ol-h) / .14);}html.lux .sf-item::before{content:"";position:absolute;top:0;left:0;width:52px;height:1px;background:linear-gradient(90deg,var(--ol-silver),var(--ol-platinum));}html.lux .sf-n{font-family:var(--ol-display);font-size:13px;color:var(--ol-silver);letter-spacing:.1em;}html.lux .sf-t{color:var(--ol-carrara);}html.lux .sf-b{color:oklch(.9046 calc(var(--ol-c-body)*.11) var(--ol-h) / 0.82);}html.lux .lux-matiere{display:grid;grid-template-columns:repeat(4,1fr);gap:2px;margin-top:clamp(52px,6.5vw,96px);}html.lux .lux-matiere figure{position:relative;margin:0;overflow:hidden;aspect-ratio:3/4;background:var(--ol-blue-950);}html.lux .lux-matiere img{width:100%;height:100%;object-fit:cover;filter:saturate(.78) contrast(1.06) brightness(.7);transition:transform 2.2s var(--ol-ease),filter 1.3s ease;}html.lux .lux-matiere figure::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 52%,oklch(.1705 calc(var(--ol-c-body)*.413) var(--ol-h) / .72));pointer-events:none;}html.lux .lux-matiere figure:hover img{transform:scale(1.06);filter:saturate(.92) contrast(1.07) brightness(.9);}html.lux .lux-matiere figcaption{position:absolute;left:16px;bottom:14px;z-index:2;font-family:var(--ol-ui);font-size:9px;letter-spacing:.36em;text-transform:uppercase;color:var(--ol-platinum);}html.lux .proj-mt{padding-top:20px;}html.lux .proj-cat{color:var(--ol-silver);letter-spacing:.22em;font-size:9px;}html.lux .proj-nm{color:var(--ol-carrara);}html.lux .proj-lc{color:var(--ol-silver);}html.lux .proj-iw img{filter:saturate(.8) contrast(1.05) brightness(.76);transition:transform 1.8s var(--ol-ease),filter 1.1s ease;}html.lux .proj-sl:hover .proj-iw img{transform:scale(1.045);filter:saturate(.94) brightness(.94);}html.lux .lux-figs{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(24px,4vw,60px);}html.lux .lux-fig{text-align:center;position:relative;}html.lux .lux-fig::before{content:"";position:absolute;top:-20px;left:50%;width:34px;height:1px;transform:translateX(-50%);background:linear-gradient(90deg,var(--ol-silver),var(--ol-platinum));}html.lux .lux-fig-v{display:block;font-size:clamp(54px,7.4vw,116px);line-height:1;letter-spacing:-.03em;color:var(--ol-platinum);-webkit-text-fill-color:var(--ol-platinum);}html.lux .lux-fig-l{display:block;margin-top:18px;font-family:var(--ol-ui);font-size:10px;letter-spacing:.3em;text-transform:uppercase;color:var(--ol-silver);}html.lux .lux-coda{text-align:center;max-width:940px;margin:auto;padding-inline:clamp(20px,5vw,40px);}html.lux .lux-coda-q{font-size:clamp(28px,3.8vw,56px);line-height:1.18;font-style:italic;color:var(--ol-carrara);}html.lux .lux-coda-a{display:block;margin-top:30px;font-family:var(--ol-ui);font-size:10px;letter-spacing:.32em;text-transform:uppercase;color:var(--ol-silver);}html.lux :is(.btn,.btn-n,.btn-l,.ncta){position:relative;overflow:hidden;transition:transform .7s var(--ol-ease),background .7s var(--ol-ease),color .7s ease,border-color .7s ease;}html.lux :is(.btn,.btn-n,.btn-l,.ncta)::before{content:"";position:absolute;inset:-1px;transform:translateX(-110%);background:linear-gradient(90deg,transparent,oklch(.966 calc(var(--ol-c-body)*.07) var(--ol-h-pap) / .22),transparent);transition:transform .9s var(--ol-ease);pointer-events:none;}html.lux :is(.btn,.btn-n,.btn-l,.ncta):hover::before{transform:translateX(110%);}html.lux .btn{color:var(--ol-platinum);border-color:oklch(.9046 calc(var(--ol-c-body)*.11) var(--ol-h) / 0.82);}html.lux .btn-n,html.lux .sec--noir .btn-n,html.lux .ft .btn-n{background:linear-gradient(135deg,var(--ol-platinum),var(--ol-silver));color:var(--ol-blue-950);}html.lux .legacy-film{position:relative;padding:clamp(90px,11vw,170px) clamp(20px,5vw,80px);background:linear-gradient(180deg,oklch(.1705 calc(var(--ol-c-body)*.413) var(--ol-h)),oklch(.2161 calc(var(--ol-c-body)*.637) var(--ol-h)) 55%,oklch(.2817 calc(var(--ol-c-body)*.796) var(--ol-h)));overflow:hidden;}html.lux .legacy-film::before{content:"1948";position:absolute;right:-.03em;top:-.18em;font-family:var(--ol-display);font-size:clamp(180px,34vw,560px);line-height:1;color:oklch(.9046 calc(var(--ol-c-body)*.11) var(--ol-h) / 0.81);pointer-events:none;}html.lux .legacy-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(300px,.55fr);gap:clamp(36px,7vw,110px);align-items:end;max-width:1500px;margin:auto;}html.lux .legacy-media{position:relative;aspect-ratio:16/9;overflow:hidden;background:var(--ol-blue-950);box-shadow:0 50px 140px rgba(0,0,0,.45);border:1px solid oklch(.9046 calc(var(--ol-c-body)*.11) var(--ol-h) / .12);}html.lux .legacy-media::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,transparent 55%,oklch(.1705 calc(var(--ol-c-body)*.413) var(--ol-h) / .48));}html.lux .legacy-media video{width:100%;height:100%;object-fit:cover;display:block;filter:contrast(1.05) brightness(.88);transition:transform 1.8s var(--ol-ease),filter 1.1s ease;}html.lux .legacy-film:hover .legacy-media video{transform:scale(1.025);filter:contrast(1.06) brightness(.96);}html.lux .legacy-title{font-size:clamp(46px,6.8vw,108px);line-height:.88;color:var(--ol-carrara);margin:18px 0 28px;}html.lux .legacy-copy{font-size:14px;line-height:1.8;color:oklch(.9046 calc(var(--ol-c-body)*.11) var(--ol-h) / 0.82);max-width:48ch;}html.lux .legacy-index{font-family:var(--ol-display);font-size:clamp(64px,10vw,150px);line-height:.7;color:oklch(.7724 calc(var(--ol-c-body)*.438) var(--ol-h) / 1.0);}html.lux .cp-teaser{padding:var(--ol-section-space) clamp(20px,5vw,80px);background:linear-gradient(180deg,oklch(.2161 calc(var(--ol-c-body)*.637) var(--ol-h)),oklch(.1705 calc(var(--ol-c-body)*.413) var(--ol-h)));}html.lux .cp-teaser-head{max-width:1200px;margin:0 auto clamp(54px,7vw,100px);display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:end;}html.lux .cp-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:clamp(18px,2vw,32px);max-width:1500px;margin:auto;}html.lux .cp-card{grid-column:span 4;margin:0;position:relative;}html.lux .cp-card:nth-child(1),html.lux .cp-card:nth-child(5){grid-column:span 7;}html.lux .cp-card:nth-child(2),html.lux .cp-card:nth-child(6){grid-column:span 5;}html.lux .cp-media{position:relative;overflow:hidden;aspect-ratio:4/5;border:1px solid oklch(.9046 calc(var(--ol-c-body)*.11) var(--ol-h) / .1);background:var(--ol-blue-950);}html.lux .cp-card:nth-child(1) .cp-media,html.lux .cp-card:nth-child(5) .cp-media{aspect-ratio:16/10;}html.lux .cp-media::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,transparent 52%,oklch(.1705 calc(var(--ol-c-body)*.413) var(--ol-h) / .58));}html.lux .cp-media video,html.lux .cp-media img{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(.76) contrast(1.06) brightness(.78);transition:transform 1.8s var(--ol-ease),filter 1.1s ease;}html.lux .cp-card:hover .cp-media video,html.lux .cp-card:hover .cp-media img,html.lux .cp-article:hover .cp-media video{transform:scale(1.035);filter:saturate(.9) contrast(1.06) brightness(.95);}html.lux .cp-meta{padding:20px 0 0;border-top:1px solid oklch(.9046 calc(var(--ol-c-body)*.11) var(--ol-h) / .1);margin-top:16px;}html.lux .cp-place{font-family:var(--ol-ui);font-size:8px;letter-spacing:.4em;text-transform:uppercase;color:var(--ol-silver);}html.lux .cp-title{font-size:clamp(28px,3vw,48px);line-height:1;color:var(--ol-carrara);margin:12px 0;}html.lux .cp-copy{font-size:13px;line-height:1.72;color:oklch(.9046 calc(var(--ol-c-body)*.11) var(--ol-h) / 0.82);max-width:58ch;}html.lux .cp-page-hero{min-height:92svh;display:grid;align-items:end;padding:160px clamp(20px,6vw,100px) 90px;position:relative;background:radial-gradient(80% 80% at 70% 25%,oklch(.3619 calc(var(--ol-c-body)*.916) var(--ol-h) / .35),transparent 62%),linear-gradient(180deg,oklch(.1705 calc(var(--ol-c-body)*.413) var(--ol-h)),oklch(.2161 calc(var(--ol-c-body)*.637) var(--ol-h)));overflow:hidden;}html.lux .cp-page-hero::before{content:"PRIVÉ";position:absolute;right:-.04em;top:.02em;font-family:var(--ol-display);font-size:clamp(140px,28vw,460px);color:oklch(.9046 calc(var(--ol-c-body)*.11) var(--ol-h) / 0.82);}html.lux .cp-page-title{font-size:clamp(70px,12vw,190px);line-height:.78;letter-spacing:-.05em;color:var(--ol-carrara);max-width:1300px;margin:25px 0;}html.lux .cp-page-intro{max-width:680px;font-size:clamp(15px,1.3vw,19px);line-height:1.75;color:oklch(.9046 calc(var(--ol-c-body)*.11) var(--ol-h) / 0.81);}html.lux .cp-article{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr);gap:clamp(36px,7vw,110px);align-items:center;padding:clamp(90px,12vw,190px) clamp(20px,6vw,100px);max-width:1600px;margin:auto;position:relative;}html.lux .cp-article:nth-child(even){grid-template-columns:minmax(320px,.75fr) minmax(0,1.25fr);}html.lux .cp-article:nth-child(even) .cp-media{order:2;}html.lux .cp-article .cp-media{aspect-ratio:9/12;max-height:78vh;}html.lux .cp-article:nth-child(3n) .cp-media{aspect-ratio:16/10;}html.lux .cp-number{font-family:var(--ol-display);font-size:clamp(80px,13vw,190px);line-height:.7;color:oklch(.7724 calc(var(--ol-c-body)*.438) var(--ol-h) / 1.0);margin-bottom:28px;}html.lux .cp-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:30px;}html.lux :is(.dbloc,.int-block,.est,.folco-plaque,.regards-item,.fig){background:oklch(.2817 calc(var(--ol-c-body)*.796) var(--ol-h) / .48);border-color:oklch(.7724 calc(var(--ol-c-body)*.438) var(--ol-h) / 1.0);box-shadow:0 24px 70px rgba(0,0,0,.34);}html.lux input:not([type=range]):not([type=radio]):not([type=checkbox]),html.lux textarea,html.lux select{background:oklch(.2817 calc(var(--ol-c-body)*.796) var(--ol-h) / .62);border-color:oklch(.7724 calc(var(--ol-c-body)*.438) var(--ol-h) / 1.0);color:var(--ol-carrara);}html.lux input::placeholder,html.lux textarea::placeholder{color:oklch(.9046 calc(var(--ol-c-body)*.11) var(--ol-h) / 0.82);}html.lux .est-opt{background:oklch(.2817 calc(var(--ol-c-body)*.796) var(--ol-h) / .58);border-color:oklch(.7724 calc(var(--ol-c-body)*.438) var(--ol-h) / 1.0);}html.lux .est-opt:hover,html.lux .est-opt.active{background:oklch(.3474 calc(var(--ol-c-body)*.92) var(--ol-h) / .76);border-color:oklch(.7724 calc(var(--ol-c-body)*.438) var(--ol-h) / 1.0);}html.lux .oc-page-canvas{z-index:2147482000;}html.lux .rv,html.lux .ol-reveal{will-change:transform,opacity,filter;}html.lux .ol-engine-pending{opacity:0;transform:translateY(38px);filter:blur(9px);}html.lux .ol-engine-visible{opacity:1;transform:none;filter:none;transition:opacity 1.2s var(--ol-ease),transform 1.45s var(--ol-ease),filter 1.25s var(--ol-ease);}html.lux .ft-name{position:relative;}html.lux .ft-name::after{content:"";display:block;width:44px;height:1px;margin-top:10px;background:linear-gradient(90deg,var(--ol-graphite),var(--ol-platinum),var(--ol-silver));}html.lux.oc-eco body::after,html.oc-eco body::after{display:none;}html.lux.oc-eco #oc-marble,html.oc-eco #oc-marble{display:none;}html.lux.oc-eco .lux-deep::after,html.oc-eco .lux-deep::after{box-shadow:none;}@media (max-width:980px){html.lux .legacy-grid,html.lux .cp-teaser-head,html.lux .cp-article,html.lux .cp-article:nth-child(even){grid-template-columns:1fr;}html.lux .cp-article:nth-child(even) .cp-media{order:0;}html.lux .cp-card,html.lux .cp-card:nth-child(1),html.lux .cp-card:nth-child(2),html.lux .cp-card:nth-child(5),html.lux .cp-card:nth-child(6){grid-column:span 6;}}@media (max-width:720px){html.lux .lux-matiere,html.lux .lux-figs{grid-template-columns:repeat(2,1fr);}}@media (max-width:680px){html.lux .hero-h1{font-size:clamp(50px,16vw,82px);}html.lux .cp-grid{display:block;}html.lux .cp-card{margin-bottom:54px;}html.lux .legacy-film,html.lux .cp-teaser{padding-inline:20px;}html.lux .legacy-title{font-size:50px;}}@media (prefers-reduced-motion:reduce){html.lux *,html.lux *::before,html.lux *::after{scroll-behavior:auto;animation-duration:.001ms;animation-iteration-count:1;transition-duration:.001ms;}html.lux #oc-marble{display:none;}html.lux .ol-engine-pending{opacity:1;transform:none;filter:none;}}body[data-page="about"] .v6-inline-about-1{background-image:url("../assets/projects/neuilly/neuilly-2.webp");}body[data-page="about"] .v6-inline-about-2{font-family:var(--font-s);font-size:clamp(20px,2.2vw,28px);font-weight:300;font-style:italic;line-height:1.45;color:oklch(.7625 calc(var(--ol-c-pat)*.821) var(--ol-h-pat) / 1.0);text-align:center;max-width:680px;margin:clamp(40px,5vw,72px) auto 0;padding-top:clamp(40px,5vw,72px);border-top:.5px solid oklch(.7625 calc(var(--ol-c-pat)*.821) var(--ol-h-pat) / .20);}body[data-page="about"] .v6-inline-about-3{width:100%;height:380px;object-fit:cover;display:block;filter:grayscale(.05);}body[data-page="about"] .v6-inline-about-4{font-family:var(--font-l);font-size:7.5px;letter-spacing:3px;text-transform:uppercase;color:var(--ol-vein);margin-top:10px;}body[data-page="about"] .v6-inline-about-5{font-variant:small-caps;letter-spacing:1.4px;}body[data-page="about"] .v6-inline-about-6{color:oklch(.941 calc(var(--ol-c-body)*.109) var(--ol-h) / 0.77);}body[data-page="about"] .v6-inline-about-7{margin-top:28px;}body[data-page="about"] .v6-inline-about-8{margin-bottom:32px;overflow:hidden;background:oklch(.2684 calc(var(--ol-c-body)*.641) var(--ol-h));aspect-ratio:4/5;}body[data-page="about"] .v6-inline-about-9{width:100%;height:100%;object-fit:cover;display:block;opacity:.92;}body[data-page="about"] .v6-inline-about-10{color:oklch(.941 calc(var(--ol-c-body)*.109) var(--ol-h) / 0.77);}body[data-page="about"] .v6-inline-about-11{text-align:center;padding-top:0;}body[data-page="about"] .v6-inline-about-12{width:100%;max-width:720px;aspect-ratio:21/9;overflow:hidden;margin:0 auto clamp(40px,5vw,72px);background:oklch(.2684 calc(var(--ol-c-body)*.641) var(--ol-h));}body[data-page="about"] .v6-inline-about-13{width:100%;height:100%;object-fit:cover;display:block;filter:grayscale(.05);}body[data-page="about"] .v6-inline-about-14{text-align:center;}body[data-page="about"] .v6-inline-about-15{text-align:center;margin:0 auto 32px;}body[data-page="about"] .v6-inline-about-16{padding-bottom:0;}body[data-page="about"] .v6-inline-about-17{margin-bottom:clamp(40px,5vw,72px);}body[data-page="about"] .v6-inline-about-18{width:100%;aspect-ratio:21/9;overflow:hidden;background:oklch(.2684 calc(var(--ol-c-body)*.641) var(--ol-h));}body[data-page="about"] .v6-inline-about-19{width:100%;height:100%;object-fit:cover;display:block;}body[data-page="about"] .v6-inline-about-20{font-family:var(--font-l);font-size:7.5px;letter-spacing:3px;text-transform:uppercase;color:var(--ol-vein);text-align:center;padding:14px 0 36px;}body[data-page="about"] .v6-inline-about-21{width:100%;height:520px;object-fit:cover;display:block;filter:grayscale(.05);}body[data-page="about"] .v6-inline-about-22{font-family:var(--font-l);font-size:7.5px;letter-spacing:3px;text-transform:uppercase;color:var(--ol-vein);margin-top:10px;}body[data-page="about"] .v6-inline-about-23{padding-top:0;padding-bottom:clamp(60px,7vw,100px);}body[data-page="about"] .v6-inline-about-24{width:100%;aspect-ratio:21/8;overflow:hidden;background:oklch(.2684 calc(var(--ol-c-body)*.641) var(--ol-h));margin-bottom:clamp(48px,6vw,80px);}body[data-page="about"] .v6-inline-about-25{width:100%;height:100%;object-fit:cover;display:block;}body[data-page="about"] .v6-inline-about-26{max-width:720px;margin-bottom:48px;}body[data-page="about"] .v6-inline-about-27{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:oklch(.4409 calc(var(--ol-c-body)*.349) var(--ol-h) / .16);}body[data-page="about"] .v6-inline-about-28{background:var(--ol-abime);padding:clamp(28px,3.5vw,44px) clamp(24px,3vw,36px);}body[data-page="about"] .v6-inline-about-29{font-family:var(--font-l);font-size:7.5px;letter-spacing:5px;text-transform:uppercase;color:oklch(.7625 calc(var(--ol-c-pat)*.821) var(--ol-h-pat) / 1.0);margin-bottom:14px;}body[data-page="about"] .v6-inline-about-30{font-family:var(--font-s);font-size:clamp(18px,1.8vw,22px);font-weight:300;font-style:italic;color:var(--ol-platinum);margin-bottom:14px;line-height:1.25;}body[data-page="about"] .v6-inline-about-31{font-size:13.5px;line-height:1.75;}body[data-page="about"] .v6-inline-about-32{background:var(--ol-abime);padding:clamp(28px,3.5vw,44px) clamp(24px,3vw,36px);}body[data-page="about"] .v6-inline-about-33{font-family:var(--font-l);font-size:7.5px;letter-spacing:5px;text-transform:uppercase;color:oklch(.7625 calc(var(--ol-c-pat)*.821) var(--ol-h-pat) / 1.0);margin-bottom:14px;}body[data-page="about"] .v6-inline-about-34{font-family:var(--font-s);font-size:clamp(18px,1.8vw,22px);font-weight:300;font-style:italic;color:var(--ol-platinum);margin-bottom:14px;line-height:1.25;}body[data-page="about"] .v6-inline-about-35{font-size:13.5px;line-height:1.75;}body[data-page="about"] .v6-inline-about-36{background:var(--ol-abime);padding:clamp(28px,3.5vw,44px) clamp(24px,3vw,36px);}body[data-page="about"] .v6-inline-about-37{font-family:var(--font-l);font-size:7.5px;letter-spacing:5px;text-transform:uppercase;color:oklch(.7625 calc(var(--ol-c-pat)*.821) var(--ol-h-pat) / 1.0);margin-bottom:14px;}body[data-page="about"] .v6-inline-about-38{font-family:var(--font-s);font-size:clamp(18px,1.8vw,22px);font-weight:300;font-style:italic;color:var(--ol-platinum);margin-bottom:14px;line-height:1.25;}body[data-page="about"] .v6-inline-about-39{font-size:13.5px;line-height:1.75;}body[data-page="about"] .v6-inline-about-40{font-style:italic;color:var(--ol-velvet);text-align:center;max-width:580px;margin:36px auto 0;font-size:13.5px;}body[data-page="about"] .v6-inline-about-41{text-align:center;margin:18px auto 0;}body[data-page="about"] .v6-inline-about-42{font-family:var(--font-l);font-size:8px;letter-spacing:3.5px;text-transform:uppercase;color:oklch(.7625 calc(var(--ol-c-pat)*.821) var(--ol-h-pat) / 1.0);border-bottom:1px solid oklch(.7625 calc(var(--ol-c-pat)*.821) var(--ol-h-pat) / .4);padding-bottom:3px;text-decoration:none;}body[data-page="about"] .v6-inline-about-43{padding-top:0;}body[data-page="about"] .v6-inline-about-44{width:100%;aspect-ratio:21/9;overflow:hidden;background:oklch(.2684 calc(var(--ol-c-body)*.641) var(--ol-h));margin-bottom:clamp(48px,6vw,80px);}body[data-page="about"] .v6-inline-about-45{width:100%;height:100%;object-fit:cover;display:block;opacity:.92;}body[data-page="about"] .v6-inline-about-46{color:oklch(.941 calc(var(--ol-c-body)*.109) var(--ol-h) / 0.77);}body[data-page="about"] .v6-inline-about-47{color:oklch(.8462 calc(var(--ol-c-body)*.112) var(--ol-h) / 0.89);}body[data-page="about"] .v6-inline-about-48{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:rgba(255,255,255,.07);border:.5px solid rgba(255,255,255,.07);}body[data-page="about"] .v6-inline-about-49{padding:24px 22px;background:oklch(.2684 calc(var(--ol-c-body)*.641) var(--ol-h));}body[data-page="about"] .v6-inline-about-50{font-family:var(--font-l);font-size:7px;letter-spacing:4px;text-transform:uppercase;color:oklch(.8462 calc(var(--ol-c-body)*.112) var(--ol-h) / 0.9);margin-bottom:10px;}body[data-page="about"] .v6-inline-about-51{font-family:var(--font-s);font-size:clamp(28px,3vw,40px);font-weight:300;color:oklch(.9687 calc(var(--ol-c-body)*.058) var(--ol-h-pap) / .94);font-style:italic;}body[data-page="about"] .v6-inline-about-52{padding:24px 22px;background:oklch(.2684 calc(var(--ol-c-body)*.641) var(--ol-h));}body[data-page="about"] .v6-inline-about-53{font-family:var(--font-l);font-size:7px;letter-spacing:4px;text-transform:uppercase;color:oklch(.8462 calc(var(--ol-c-body)*.112) var(--ol-h) / 0.9);margin-bottom:10px;}body[data-page="about"] .v6-inline-about-54{font-family:var(--font-s);font-size:clamp(28px,3vw,40px);font-weight:300;color:oklch(.9687 calc(var(--ol-c-body)*.058) var(--ol-h-pap) / .94);font-style:italic;}body[data-page="about"] .v6-inline-about-55{padding:24px 22px;background:oklch(.2684 calc(var(--ol-c-body)*.641) var(--ol-h));}body[data-page="about"] .v6-inline-about-56{font-family:var(--font-l);font-size:7px;letter-spacing:4px;text-transform:uppercase;color:oklch(.8462 calc(var(--ol-c-body)*.112) var(--ol-h) / 0.9);margin-bottom:10px;}body[data-page="about"] .v6-inline-about-57{font-family:var(--font-s);font-size:clamp(28px,3vw,40px);font-weight:300;color:oklch(.9687 calc(var(--ol-c-body)*.058) var(--ol-h-pap) / .94);font-style:italic;}body[data-page="about"] .v6-inline-about-58{font-size:.55em;vertical-align:super;}body[data-page="about"] .v6-inline-about-59{padding:24px 22px;background:oklch(.2684 calc(var(--ol-c-body)*.641) var(--ol-h));}body[data-page="about"] .v6-inline-about-60{font-family:var(--font-l);font-size:7px;letter-spacing:4px;text-transform:uppercase;color:oklch(.8462 calc(var(--ol-c-body)*.112) var(--ol-h) / 0.9);margin-bottom:10px;}body[data-page="about"] .v6-inline-about-61{font-family:var(--font-s);font-size:clamp(28px,3vw,40px);font-weight:300;color:oklch(.9687 calc(var(--ol-c-body)*.058) var(--ol-h-pap) / .94);font-style:italic;}body[data-page="about"] .v6-inline-about-62{font-family:var(--font-l);font-size:7.5px;letter-spacing:3px;text-transform:uppercase;color:oklch(.8462 calc(var(--ol-c-body)*.112) var(--ol-h) / 0.9);margin-top:16px;}body[data-page="about"] .v6-inline-about-63{opacity:.22;}body[data-page="about"] .v6-inline-about-64{margin-top:10px;font-family:var(--font-l);font-size:7.5px;letter-spacing:3px;text-transform:uppercase;color:oklch(.7625 calc(var(--ol-c-pat)*.821) var(--ol-h-pat) / 1.0);background:none;border:none;cursor:pointer;transition:color .2s;}body[data-page="chantiers-prives"] .v6-inline-chantiers-prives-1{margin-top:22px;}body[data-page="chantiers-prives"] .v6-inline-chantiers-prives-2{margin-top:22px;}body[data-page="chantiers-prives"] .v6-inline-chantiers-prives-3{margin-top:22px;}body[data-page="chantiers-prives"] .v6-inline-chantiers-prives-4{margin-top:22px;}body[data-page="chantiers-prives"] .v6-inline-chantiers-prives-5{margin-top:22px;}body[data-page="chantiers-prives"] .v6-inline-chantiers-prives-6{margin-top:22px;}body[data-page="chantiers-prives"] .v6-inline-chantiers-prives-7{margin-top:22px;}body[data-page="chantiers-prives"] .v6-inline-chantiers-prives-8{text-align:center;}body[data-page="chantiers-prives"] .v6-inline-chantiers-prives-9{max-width:680px;margin:30px auto;}body[data-page="chantiers-prives"] .v6-inline-chantiers-prives-10{opacity:.22;}body[data-page="chantiers-prives"] .v6-inline-chantiers-prives-11{margin-top:10px;font-family:var(--font-l);font-size:7.5px;letter-spacing:3px;text-transform:uppercase;color:oklch(.7625 calc(var(--ol-c-pat)*.821) var(--ol-h-pat) / 1.0);background:none;border:none;cursor:pointer;transition:color .2s;}body[data-page="contact"] .v6-inline-contact-1{background-image:url("../assets/chantier/casque-plans-sunset.jpg");}body[data-page="contact"] .v6-inline-contact-2{display:none;margin-bottom:18px;padding:14px 18px;border:.5px solid oklch(.7625 calc(var(--ol-c-pat)*.821) var(--ol-h-pat) / .4);background:oklch(.7625 calc(var(--ol-c-pat)*.821) var(--ol-h-pat) / .06);color:var(--cc-t-fort);font-size:13px;letter-spacing:.02em;}body[data-page="contact"] .v6-inline-contact-3{border:.5px solid oklch(.4409 calc(var(--ol-c-body)*.349) var(--ol-h) / .16);margin-bottom:24px;}body[data-page="contact"] .v6-inline-contact-4{display:grid;grid-template-columns:1fr 1fr;gap:0;}body[data-page="contact"] .v6-inline-contact-5{display:block;padding:16px 20px;cursor:pointer;border-right:.5px solid oklch(.4409 calc(var(--ol-c-body)*.349) var(--ol-h) / .16);transition:background .3s;}body[data-page="contact"] .v6-inline-contact-6{display:none;}body[data-page="contact"] .v6-inline-contact-7{font-family:var(--font-l);font-size:7.5px;letter-spacing:4px;text-transform:uppercase;color:var(--ol-vein);display:block;margin-bottom:5px;}body[data-page="contact"] .v6-inline-contact-8{font-family:var(--font-s);font-size:15px;font-weight:300;color:var(--ol-platinum);}body[data-page="contact"] .v6-inline-contact-9{display:block;padding:16px 20px;cursor:pointer;transition:background .3s;}body[data-page="contact"] .v6-inline-contact-10{display:none;}body[data-page="contact"] .v6-inline-contact-11{font-family:var(--font-l);font-size:7.5px;letter-spacing:4px;text-transform:uppercase;color:var(--ol-vein);display:block;margin-bottom:5px;}body[data-page="contact"] .v6-inline-contact-12{font-family:var(--font-s);font-size:15px;font-weight:300;color:var(--ol-platinum);}body[data-page="contact"] .v6-inline-contact-13{display:block;padding:16px 20px;cursor:pointer;border-right:.5px solid oklch(.4409 calc(var(--ol-c-body)*.349) var(--ol-h) / .16);border-top:.5px solid oklch(.4409 calc(var(--ol-c-body)*.349) var(--ol-h) / .16);transition:background .3s;}body[data-page="contact"] .v6-inline-contact-14{display:none;}body[data-page="contact"] .v6-inline-contact-15{font-family:var(--font-l);font-size:7.5px;letter-spacing:4px;text-transform:uppercase;color:var(--ol-vein);display:block;margin-bottom:5px;}body[data-page="contact"] .v6-inline-contact-16{font-family:var(--font-s);font-size:15px;font-weight:300;color:var(--ol-platinum);}body[data-page="contact"] .v6-inline-contact-17{display:block;padding:16px 20px;cursor:pointer;border-top:.5px solid oklch(.4409 calc(var(--ol-c-body)*.349) var(--ol-h) / .16);transition:background .3s;}body[data-page="contact"] .v6-inline-contact-18{display:none;}body[data-page="contact"] .v6-inline-contact-19{font-family:var(--font-l);font-size:7.5px;letter-spacing:4px;text-transform:uppercase;color:var(--ol-vein);display:block;margin-bottom:5px;}body[data-page="contact"] .v6-inline-contact-20{font-family:var(--font-s);font-size:15px;font-weight:300;color:var(--ol-platinum);}body[data-page="contact"] .v6-inline-contact-21{position:absolute;left:-9999px;top:-9999px;width:1px;height:1px;overflow:hidden;}body[data-page="contact"] .v6-inline-contact-22{margin-top:12px;padding:16px 20px;border:.5px solid oklch(.4409 calc(var(--ol-c-body)*.349) var(--ol-h) / .16);background:var(--ol-satin);}body[data-page="contact"] .v6-inline-contact-23{display:flex;align-items:flex-start;gap:12px;cursor:pointer;}body[data-page="contact"] .v6-inline-contact-24{margin-top:3px;width:12px;height:12px;accent-color:var(--ol-platinum);flex-shrink:0;}body[data-page="contact"] .v6-inline-contact-25{font-family:var(--font-l);font-size:7.5px;letter-spacing:2px;color:var(--ol-velvet);line-height:1.7;}body[data-page="contact"] .v6-inline-contact-26{text-align:center;margin-top:20px;}body[data-page="contact"] .v6-inline-contact-27{margin-top:12px;}body[data-page="contact"] .v6-inline-contact-28{margin-top:24px;}body[data-page="contact"] .v6-inline-contact-29{font-family:var(--font-b);font-style:italic;font-size:15px;color:var(--ol-velvet);margin-top:28px;line-height:1.85;}body[data-page="contact"] .v6-inline-contact-30{margin-top:36px;border-top:.5px solid oklch(.4409 calc(var(--ol-c-body)*.349) var(--ol-h) / .16);padding-top:32px;}body[data-page="contact"] .v6-inline-contact-31{margin-bottom:8px;}body[data-page="contact"] .v6-inline-contact-32{font-family:var(--font-l);font-size:7px;letter-spacing:2px;color:var(--ol-vein);text-align:center;margin-top:14px;}body[data-page="contact"] .v6-inline-contact-33{text-align:center;max-width:680px;margin:0 auto 56px;}body[data-page="contact"] .v6-inline-contact-34{text-align:center;}body[data-page="contact"] .v6-inline-contact-35{text-align:center;margin:0 auto;}body[data-page="contact"] .v6-inline-contact-36{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:oklch(.4409 calc(var(--ol-c-body)*.349) var(--ol-h) / .16);border:.5px solid oklch(.4409 calc(var(--ol-c-body)*.349) var(--ol-h) / .16);}body[data-page="contact"] .v6-inline-contact-37{background:var(--ol-abime);display:flex;flex-direction:column;}body[data-page="contact"] .v6-inline-contact-38{aspect-ratio:4/3;overflow:hidden;background:oklch(.2684 calc(var(--ol-c-body)*.641) var(--ol-h));}body[data-page="contact"] .v6-inline-contact-39{width:100%;height:100%;object-fit:cover;display:block;transition:transform 1.4s cubic-bezier(.22,1,.36,1);}body[data-page="contact"] .v6-inline-contact-40{padding:clamp(28px,3.2vw,40px) clamp(24px,3vw,36px);display:flex;flex-direction:column;flex:1;}body[data-page="contact"] .v6-inline-contact-41{font-family:var(--font-l);font-size:8px;letter-spacing:5px;text-transform:uppercase;color:oklch(.7625 calc(var(--ol-c-pat)*.821) var(--ol-h-pat) / 1.0);margin-bottom:18px;}body[data-page="contact"] .v6-inline-contact-42{font-family:var(--font-s);font-size:clamp(22px,2.4vw,30px);font-weight:300;color:var(--ol-platinum);margin-bottom:18px;line-height:1.15;}body[data-page="contact"] .v6-inline-contact-43{font-size:13.5px;line-height:1.8;margin-bottom:18px;}body[data-page="contact"] .v6-inline-contact-44{font-family:var(--font-l);font-size:8px;letter-spacing:3px;text-transform:uppercase;color:oklch(.7625 calc(var(--ol-c-pat)*.821) var(--ol-h-pat) / 1.0);margin-top:auto;}body[data-page="contact"] .v6-inline-contact-45{background:var(--ol-abime);display:flex;flex-direction:column;border-left:.5px solid oklch(.4409 calc(var(--ol-c-body)*.349) var(--ol-h) / .12);border-right:.5px solid oklch(.4409 calc(var(--ol-c-body)*.349) var(--ol-h) / .12);}body[data-page="contact"] .v6-inline-contact-46{aspect-ratio:4/3;overflow:hidden;background:oklch(.2684 calc(var(--ol-c-body)*.641) var(--ol-h));}body[data-page="contact"] .v6-inline-contact-47{width:100%;height:100%;object-fit:cover;display:block;transition:transform 1.4s cubic-bezier(.22,1,.36,1);}body[data-page="contact"] .v6-inline-contact-48{padding:clamp(28px,3.2vw,40px) clamp(24px,3vw,36px);display:flex;flex-direction:column;flex:1;}body[data-page="contact"] .v6-inline-contact-49{font-family:var(--font-l);font-size:8px;letter-spacing:5px;text-transform:uppercase;color:oklch(.7625 calc(var(--ol-c-pat)*.821) var(--ol-h-pat) / 1.0);margin-bottom:18px;}body[data-page="contact"] .v6-inline-contact-50{font-family:var(--font-s);font-size:clamp(22px,2.4vw,30px);font-weight:300;color:var(--ol-platinum);margin-bottom:18px;line-height:1.15;}body[data-page="contact"] .v6-inline-contact-51{font-size:13.5px;line-height:1.8;margin-bottom:18px;}body[data-page="contact"] .v6-inline-contact-52{font-family:var(--font-l);font-size:8px;letter-spacing:3px;text-transform:uppercase;color:oklch(.7625 calc(var(--ol-c-pat)*.821) var(--ol-h-pat) / 1.0);margin-top:auto;}body[data-page="contact"] .v6-inline-contact-53{background:var(--ol-abime);display:flex;flex-direction:column;}body[data-page="contact"] .v6-inline-contact-54{aspect-ratio:4/3;overflow:hidden;background:oklch(.2684 calc(var(--ol-c-body)*.641) var(--ol-h));}body[data-page="contact"] .v6-inline-contact-55{width:100%;height:100%;object-fit:cover;display:block;transition:transform 1.4s cubic-bezier(.22,1,.36,1);}body[data-page="contact"] .v6-inline-contact-56{padding:clamp(28px,3.2vw,40px) clamp(24px,3vw,36px);display:flex;flex-direction:column;flex:1;}body[data-page="contact"] .v6-inline-contact-57{font-family:var(--font-l);font-size:8px;letter-spacing:5px;text-transform:uppercase;color:oklch(.7625 calc(var(--ol-c-pat)*.821) var(--ol-h-pat) / 1.0);margin-bottom:18px;}body[data-page="contact"] .v6-inline-contact-58{font-family:var(--font-s);font-size:clamp(22px,2.4vw,30px);font-weight:300;color:var(--ol-platinum);margin-bottom:18px;line-height:1.15;}body[data-page="contact"] .v6-inline-contact-59{font-size:13.5px;line-height:1.8;margin-bottom:18px;}body[data-page="contact"] .v6-inline-contact-60{font-family:var(--font-l);font-size:8px;letter-spacing:3px;text-transform:uppercase;color:oklch(.7625 calc(var(--ol-c-pat)*.821) var(--ol-h-pat) / 1.0);margin-top:auto;}body[data-page="contact"] .v6-inline-contact-61{font-style:italic;color:var(--ol-velvet);text-align:center;max-width:580px;margin:36px auto 0;font-size:13.5px;}body[data-page="contact"] .v6-inline-contact-62{opacity:.22;}body[data-page="contact"] .v6-inline-contact-63{margin-top:10px;font-family:var(--font-l);font-size:7.5px;letter-spacing:3px;text-transform:uppercase;color:oklch(.7625 calc(var(--ol-c-pat)*.821) var(--ol-h-pat) / 1.0);background:none;border:none;cursor:pointer;transition:color .2s;}body[data-page="dubai-bureaux"] .v6-inline-dubai-bureaux-1{color:var(--ol-carrara);}body[data-page="dubai-bureaux"] .v6-inline-dubai-bureaux-2{margin:0;}body[data-page="dubai-bureaux"] .v6-inline-dubai-bureaux-3{margin:0;}body[data-page="dubai-bureaux"] .v6-inline-dubai-bureaux-4{max-width:640px;margin-bottom:26px;}body[data-page="dubai-bureaux"] .v6-inline-dubai-bureaux-5{margin:0;}body[data-page="dubai-bureaux"] .v6-inline-dubai-bureaux-6{margin:0;}body[data-page="dubai-bureaux"] .v6-inline-dubai-bureaux-7{max-width:640px;margin-bottom:26px;}body[data-page="dubai-bureaux"] .v6-inline-dubai-bureaux-8{margin:0;}body[data-page="dubai-bureaux"] .v6-inline-dubai-bureaux-9{margin:0;}body[data-page="dubai-bureaux"] .v6-inline-dubai-bureaux-10{margin:0;}body[data-page="dubai-bureaux"] .v6-inline-dubai-bureaux-11{display:inline-block;}body[data-page="dubai-bureaux"] .v6-inline-dubai-bureaux-12{margin-top:6px;}body[data-page="dubai-bureaux"] .v6-inline-dubai-bureaux-13{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:34px;}body[data-page="dubai-bureaux"] .v6-inline-dubai-bureaux-14{opacity:.22;}body[data-page="fondation"] .v6-inline-fondation-1{background-image:url("../assets/olympe/atelier/atelier_mains_01_web.jpg");}body[data-page="fondation"] .v6-inline-fondation-2{margin-bottom:18px;}body[data-page="fondation"] .v6-inline-fondation-3{margin-bottom:18px;}body[data-page="fondation"] .v6-inline-fondation-4{display:grid;gap:1px;border:1px solid oklch(.4409 calc(var(--ol-c-body)*.349) var(--ol-h) / .14);background:oklch(.4409 calc(var(--ol-c-body)*.349) var(--ol-h) / .14);}body[data-page="fondation"] .v6-inline-fondation-5{padding:22px 24px;background:oklch(.2817 calc(var(--ol-c-body)*.796) var(--ol-h) / .78);}body[data-page="fondation"] .v6-inline-fondation-6{font-family:var(--font-l);font-size:8px;letter-spacing:4px;text-transform:uppercase;color:var(--ol-bronze);margin-bottom:8px;}body[data-page="fondation"] .v6-inline-fondation-7{font-family:var(--font-s);font-style:italic;font-size:19px;color:var(--cc-t-fort);margin-bottom:8px;}body[data-page="fondation"] .v6-inline-fondation-8{font-size:13.5px;line-height:1.7;}body[data-page="fondation"] .v6-inline-fondation-9{color:var(--ol-bronze);text-decoration:none;border-bottom:1px solid oklch(.7625 calc(var(--ol-c-pat)*.821) var(--ol-h-pat) / .4);}body[data-page="fondation"] .v6-inline-fondation-10{padding:22px 24px;background:oklch(.2817 calc(var(--ol-c-body)*.796) var(--ol-h) / .78);}body[data-page="fondation"] .v6-inline-fondation-11{font-family:var(--font-l);font-size:8px;letter-spacing:4px;text-transform:uppercase;color:var(--ol-bronze);margin-bottom:8px;}body[data-page="fondation"] .v6-inline-fondation-12{font-family:var(--font-s);font-style:italic;font-size:19px;color:var(--cc-t-fort);margin-bottom:8px;}body[data-page="fondation"] .v6-inline-fondation-13{font-size:13.5px;line-height:1.7;}body[data-page="fondation"] .v6-inline-fondation-14{color:var(--ol-bronze);text-decoration:none;border-bottom:1px solid oklch(.7625 calc(var(--ol-c-pat)*.821) var(--ol-h-pat) / .4);}body[data-page="fondation"] .v6-inline-fondation-15{padding:22px 24px;background:oklch(.2817 calc(var(--ol-c-body)*.796) var(--ol-h) / .78);}body[data-page="fondation"] .v6-inline-fondation-16{font-family:var(--font-l);font-size:8px;letter-spacing:4px;text-transform:uppercase;color:var(--ol-bronze);margin-bottom:8px;}body[data-page="fondation"] .v6-inline-fondation-17{font-family:var(--font-s);font-style:italic;font-size:19px;color:var(--cc-t-fort);margin-bottom:8px;}body[data-page="fondation"] .v6-inline-fondation-18{font-size:13.5px;line-height:1.7;}body[data-page="fondation"] .v6-inline-fondation-19{color:var(--ol-bronze);text-decoration:none;border-bottom:1px solid oklch(.7625 calc(var(--ol-c-pat)*.821) var(--ol-h-pat) / .4);}body[data-page="fondation"] .v6-inline-fondation-20{margin-bottom:26px;}body[data-page="fondation"] .v6-inline-fondation-21{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;}body[data-page="fondation"] .v6-inline-fondation-22{font-family:var(--font-b);font-style:italic;font-size:15px;color:var(--ol-velvet);margin-top:34px;}body[data-page="fondation"] .v6-inline-fondation-23{opacity:.22;}body[data-page="inauguration-dubai"] .v6-inline-inauguration-dubai-1{padding-top:0;}body[data-page="inauguration-dubai"] .v6-inline-inauguration-dubai-2{display:block;font-family:var(--font-l);font-size:10px;letter-spacing:.3em;text-transform:uppercase;color:var(--ol-bronze);margin-bottom:16px;}body[data-page="inauguration-dubai"] .v6-inline-inauguration-dubai-3{margin-top:0;}body[data-page="inauguration-dubai"] .v6-inline-inauguration-dubai-4{margin-top:26px;}body[data-page="inauguration-dubai"] .v6-inline-inauguration-dubai-5{opacity:.22;}body[data-page="inauguration-dubai"] .v6-inline-inauguration-dubai-6{margin-top:10px;font-family:var(--font-l);font-size:7.5px;letter-spacing:3px;text-transform:uppercase;color:oklch(.7625 calc(var(--ol-c-pat)*.821) var(--ol-h-pat) / 1.0);background:none;border:none;cursor:pointer;transition:color .2s;}body[data-page="index"] .v6-inline-index-1{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;display:block;}body[data-page="index"] .v6-inline-index-2{margin-top:clamp(48px,6vw,90px);}body[data-page="index"] .v6-inline-index-3{margin-top:30px;}body[data-page="index"] .v6-inline-index-4{text-align:center;max-width:760px;margin:0 auto clamp(56px,7vw,100px);}body[data-page="index"] .v6-inline-index-5{margin-top:22px;}body[data-page="index"] .v6-inline-index-6{margin:28px auto 0;color:var(--bp-argent);}body[data-page="index"] .v6-inline-index-7{margin-top:clamp(44px,5vw,72px);text-align:center;}body[data-page="index"] .v6-inline-index-8{padding-block:clamp(80px,10vw,140px);}body[data-page="index"] .v6-inline-index-9{text-align:center;max-width:680px;margin:0 auto;}body[data-page="index"] .v6-inline-index-10{margin-top:20px;}body[data-page="index"] .v6-inline-index-11{text-align:center;max-width:760px;margin:0 auto clamp(48px,6vw,84px);}body[data-page="index"] .v6-inline-index-12{margin-top:22px;}body[data-page="index"] .v6-inline-index-13{margin:26px auto 0;color:var(--bp-argent);}body[data-page="index"] .v6-inline-index-14{margin-top:36px;}body[data-page="index"] .v6-inline-index-15{margin-left:auto;}body[data-page="index"] .v6-inline-index-16{text-align:center;margin-top:clamp(48px,7vw,90px);}body[data-page="index"] .v6-inline-index-17{font-style:italic;}body[data-page="index"] .v6-inline-index-18{text-align:center;}body[data-page="index"] .v6-inline-index-19{max-width:820px;margin:0 auto;}body[data-page="index"] .v6-inline-index-20{margin-top:24px;}body[data-page="index"] .v6-inline-index-21{margin:28px auto 40px;color:var(--bp-argent);}body[data-page="index"] .v6-inline-index-22{opacity:.22;}body[data-page="index"] .v6-inline-index-23{margin-top:10px;font-family:var(--font-l);font-size:7.5px;letter-spacing:3px;text-transform:uppercase;color:oklch(.7625 calc(var(--ol-c-pat)*.821) var(--ol-h-pat) / 1.0);background:none;border:none;cursor:pointer;transition:color .2s;}body[data-page="merci"] .v6-inline-merci-1{background-image:url("../assets/chantier/villa-ext-vue-generale.jpg");}body[data-page="merci"] .v6-inline-merci-2{justify-content:center;display:block;text-align:center;}body[data-page="merci"] .v6-inline-merci-3{font-family:var(--font-b);font-style:italic;font-size:16px;color:var(--ol-velvet);margin-bottom:36px;}body[data-page="merci"] .v6-inline-merci-4{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;}body[data-page="merci"] .v6-inline-merci-5{opacity:.22;}body[data-page="merci"] .v6-inline-merci-6{margin-top:10px;font-family:var(--font-l);font-size:7.5px;letter-spacing:3px;text-transform:uppercase;color:oklch(.7625 calc(var(--ol-c-pat)*.821) var(--ol-h-pat) / 1.0);background:none;border:none;cursor:pointer;transition:color .2s;}body[data-page="pensee"] .v6-inline-pensee-1{opacity:.22;}body[data-page="pensee"] .v6-inline-pensee-2{margin-top:10px;font-family:var(--font-l);font-size:7.5px;letter-spacing:3px;text-transform:uppercase;color:oklch(.7625 calc(var(--ol-c-pat)*.821) var(--ol-h-pat) / 1.0);background:none;border:none;cursor:pointer;transition:color .2s;}body[data-page="portfolio"] .v6-inline-portfolio-1{background:oklch(.2684 calc(var(--ol-c-body)*.641) var(--ol-h));}body[data-page="portfolio"] .v6-inline-portfolio-2{background-image:url("../assets/chantier/couloir-interieur-chantier.jpg");opacity:.2;}body[data-page="portfolio"] .v6-inline-portfolio-3{position:relative;z-index:1;}body[data-page="portfolio"] .v6-inline-portfolio-4{color:oklch(.941 calc(var(--ol-c-body)*.109) var(--ol-h) / 0.77);}body[data-page="portfolio"] .v6-inline-portfolio-5{color:oklch(.9687 calc(var(--ol-c-body)*.058) var(--ol-h-pap) / .94);}body[data-page="portfolio"] .v6-inline-portfolio-6{color:oklch(.8462 calc(var(--ol-c-body)*.112) var(--ol-h) / 0.9);}body[data-page="portfolio"] .v6-inline-portfolio-7{color:oklch(.941 calc(var(--ol-c-body)*.109) var(--ol-h) / 0.78);}body[data-page="portfolio"] .v6-inline-portfolio-8{padding-top:0;padding-bottom:0;}body[data-page="portfolio"] .v6-inline-portfolio-9{display:grid;grid-template-columns:1fr 1fr;gap:1px;}body[data-page="portfolio"] .v6-inline-portfolio-10{overflow:hidden;background:oklch(.1061 calc(var(--ol-c-body)*.088) var(--ol-h));}body[data-page="portfolio"] .v6-inline-portfolio-11{width:100%;height:clamp(280px,36vw,500px);object-fit:cover;display:block;}body[data-page="portfolio"] .v6-inline-portfolio-12{overflow:hidden;background:oklch(.1061 calc(var(--ol-c-body)*.088) var(--ol-h));}body[data-page="portfolio"] .v6-inline-portfolio-13{width:100%;height:clamp(280px,36vw,500px);object-fit:cover;display:block;}body[data-page="portfolio"] .v6-inline-portfolio-14{padding-top:clamp(44px,5vw,72px);padding-bottom:clamp(44px,5vw,72px);}body[data-page="portfolio"] .v6-inline-portfolio-15{color:oklch(.941 calc(var(--ol-c-body)*.109) var(--ol-h) / 0.77);}body[data-page="portfolio"] .v6-inline-portfolio-16{color:oklch(.8462 calc(var(--ol-c-body)*.112) var(--ol-h) / 0.89);}body[data-page="portfolio"] .v6-inline-portfolio-17{color:oklch(.8462 calc(var(--ol-c-body)*.112) var(--ol-h) / 0.9);}body[data-page="portfolio"] .v6-inline-portfolio-18{margin-top:8px;}body[data-page="portfolio"] .v6-inline-portfolio-19{display:grid;grid-template-columns:1fr 1fr;gap:0;border:.5px solid rgba(255,255,255,.07);}body[data-page="portfolio"] .v6-inline-portfolio-20{padding:18px 20px;border-right:.5px solid rgba(255,255,255,.07);border-bottom:.5px solid rgba(255,255,255,.07);}body[data-page="portfolio"] .v6-inline-portfolio-21{font-family:var(--font-l);font-size:7px;letter-spacing:4px;text-transform:uppercase;color:oklch(.8462 calc(var(--ol-c-body)*.112) var(--ol-h) / 0.9);display:block;margin-bottom:6px;}body[data-page="portfolio"] .v6-inline-portfolio-22{font-family:var(--font-s);font-size:15px;font-weight:300;color:oklch(.941 calc(var(--ol-c-body)*.109) var(--ol-h) / .82);font-style:italic;}body[data-page="portfolio"] .v6-inline-portfolio-23{padding:18px 20px;border-bottom:.5px solid rgba(255,255,255,.07);}body[data-page="portfolio"] .v6-inline-portfolio-24{font-family:var(--font-l);font-size:7px;letter-spacing:4px;text-transform:uppercase;color:oklch(.8462 calc(var(--ol-c-body)*.112) var(--ol-h) / 0.9);display:block;margin-bottom:6px;}body[data-page="portfolio"] .v6-inline-portfolio-25{font-family:var(--font-s);font-size:15px;font-weight:300;color:oklch(.941 calc(var(--ol-c-body)*.109) var(--ol-h) / .82);}body[data-page="portfolio"] .v6-inline-portfolio-26{padding:18px 20px;border-right:.5px solid rgba(255,255,255,.07);}body[data-page="portfolio"] .v6-inline-portfolio-27{font-family:var(--font-l);font-size:7px;letter-spacing:4px;text-transform:uppercase;color:oklch(.8462 calc(var(--ol-c-body)*.112) var(--ol-h) / 0.9);display:block;margin-bottom:6px;}body[data-page="portfolio"] .v6-inline-portfolio-28{font-family:var(--font-s);font-size:15px;font-weight:300;color:oklch(.941 calc(var(--ol-c-body)*.109) var(--ol-h) / .82);font-style:italic;}body[data-page="portfolio"] .v6-inline-portfolio-29{padding:18px 20px;}body[data-page="portfolio"] .v6-inline-portfolio-30{font-family:var(--font-l);font-size:7px;letter-spacing:4px;text-transform:uppercase;color:oklch(.8462 calc(var(--ol-c-body)*.112) var(--ol-h) / 0.9);display:block;margin-bottom:6px;}body[data-page="portfolio"] .v6-inline-portfolio-31{font-family:var(--font-s);font-size:15px;font-weight:300;color:oklch(.941 calc(var(--ol-c-body)*.109) var(--ol-h) / .9);}body[data-page="portfolio"] .v6-inline-portfolio-32{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;margin-top:48px;}body[data-page="portfolio"] .v6-inline-portfolio-33{position:relative;overflow:hidden;display:block;background:oklch(.8462 calc(var(--ol-c-body)*.112) var(--ol-h) / .10);cursor:pointer;}body[data-page="portfolio"] .v6-inline-portfolio-34{width:100%;height:clamp(260px,30vw,440px);object-fit:cover;display:block;transition:transform 1.2s cubic-bezier(.22,1,.36,1);}body[data-page="portfolio"] .v6-inline-portfolio-35{position:absolute;inset:0;background:linear-gradient(to top,oklch(.4409 calc(var(--ol-c-body)*.349) var(--ol-h) / .72) 0%,oklch(.4409 calc(var(--ol-c-body)*.349) var(--ol-h) / .18) 45%,transparent 100%);pointer-events:none;}body[data-page="portfolio"] .v6-inline-portfolio-36{position:absolute;bottom:0;left:0;right:0;padding:28px 30px;}body[data-page="portfolio"] .v6-inline-portfolio-37{font-family:var(--font-l);font-size:7.5px;font-weight:400;letter-spacing:5px;text-transform:uppercase;color:oklch(.941 calc(var(--ol-c-body)*.109) var(--ol-h) / 0.78);margin-bottom:8px;}body[data-page="portfolio"] .v6-inline-portfolio-38{font-family:var(--font-s);font-size:clamp(20px,2.5vw,32px);font-weight:300;color:oklch(.9687 calc(var(--ol-c-body)*.058) var(--ol-h-pap) / .96);line-height:1.1;margin-bottom:4px;}body[data-page="portfolio"] .v6-inline-portfolio-39{font-style:italic;color:oklch(.8462 calc(var(--ol-c-body)*.112) var(--ol-h) / 0.9);}body[data-page="portfolio"] .v6-inline-portfolio-40{font-family:var(--font-l);font-size:8px;font-weight:400;letter-spacing:3.5px;text-transform:uppercase;color:oklch(.8462 calc(var(--ol-c-body)*.112) var(--ol-h) / 0.9);}body[data-page="portfolio"] .v6-inline-portfolio-41{position:relative;overflow:hidden;display:block;background:oklch(.8462 calc(var(--ol-c-body)*.112) var(--ol-h) / .10);cursor:pointer;}body[data-page="portfolio"] .v6-inline-portfolio-42{width:100%;height:clamp(260px,30vw,440px);object-fit:cover;display:block;transition:transform 1.2s cubic-bezier(.22,1,.36,1);}body[data-page="portfolio"] .v6-inline-portfolio-43{position:absolute;inset:0;background:linear-gradient(to top,oklch(.4409 calc(var(--ol-c-body)*.349) var(--ol-h) / .72) 0%,oklch(.4409 calc(var(--ol-c-body)*.349) var(--ol-h) / .18) 45%,transparent 100%);pointer-events:none;}body[data-page="portfolio"] .v6-inline-portfolio-44{position:absolute;bottom:0;left:0;right:0;padding:28px 30px;}body[data-page="portfolio"] .v6-inline-portfolio-45{font-family:var(--font-l);font-size:7.5px;font-weight:400;letter-spacing:5px;text-transform:uppercase;color:oklch(.941 calc(var(--ol-c-body)*.109) var(--ol-h) / 0.78);margin-bottom:8px;}body[data-page="portfolio"] .v6-inline-portfolio-46{font-family:var(--font-s);font-size:clamp(20px,2.5vw,32px);font-weight:300;color:oklch(.9687 calc(var(--ol-c-body)*.058) var(--ol-h-pap) / .96);line-height:1.1;margin-bottom:4px;}body[data-page="portfolio"] .v6-inline-portfolio-47{font-style:italic;color:oklch(.8462 calc(var(--ol-c-body)*.112) var(--ol-h) / 0.9);}body[data-page="portfolio"] .v6-inline-portfolio-48{font-family:var(--font-l);font-size:8px;font-weight:400;letter-spacing:3.5px;text-transform:uppercase;color:oklch(.8462 calc(var(--ol-c-body)*.112) var(--ol-h) / 0.9);}body[data-page="portfolio"] .v6-inline-portfolio-49{position:relative;overflow:hidden;display:block;background:oklch(.8462 calc(var(--ol-c-body)*.112) var(--ol-h) / .10);cursor:pointer;}body[data-page="portfolio"] .v6-inline-portfolio-50{width:100%;height:clamp(260px,30vw,440px);object-fit:cover;display:block;transition:transform 1.2s cubic-bezier(.22,1,.36,1);}body[data-page="portfolio"] .v6-inline-portfolio-51{position:absolute;inset:0;background:linear-gradient(to top,oklch(.4409 calc(var(--ol-c-body)*.349) var(--ol-h) / .72) 0%,oklch(.4409 calc(var(--ol-c-body)*.349) var(--ol-h) / .18) 45%,transparent 100%);pointer-events:none;}body[data-page="portfolio"] .v6-inline-portfolio-52{position:absolute;bottom:0;left:0;right:0;padding:28px 30px;}body[data-page="portfolio"] .v6-inline-portfolio-53{font-family:var(--font-l);font-size:7.5px;font-weight:400;letter-spacing:5px;text-transform:uppercase;color:oklch(.941 calc(var(--ol-c-body)*.109) var(--ol-h) / 0.78);margin-bottom:8px;}body[data-page="portfolio"] .v6-inline-portfolio-54{font-family:var(--font-s);font-size:clamp(20px,2.5vw,32px);font-weight:300;color:oklch(.9687 calc(var(--ol-c-body)*.058) var(--ol-h-pap) / .96);line-height:1.1;margin-bottom:4px;}body[data-page="portfolio"] .v6-inline-portfolio-55{font-style:italic;color:oklch(.8462 calc(var(--ol-c-body)*.112) var(--ol-h) / 0.9);}body[data-page="portfolio"] .v6-inline-portfolio-56{font-family:var(--font-l);font-size:8px;font-weight:400;letter-spacing:3.5px;text-transform:uppercase;color:oklch(.8462 calc(var(--ol-c-body)*.112) var(--ol-h) / 0.9);}body[data-page="portfolio"] .v6-inline-portfolio-57{position:relative;overflow:hidden;display:block;background:oklch(.8462 calc(var(--ol-c-body)*.112) var(--ol-h) / .10);cursor:pointer;}body[data-page="portfolio"] .v6-inline-portfolio-58{width:100%;height:clamp(260px,30vw,440px);object-fit:cover;display:block;transition:transform 1.2s cubic-bezier(.22,1,.36,1);}body[data-page="portfolio"] .v6-inline-portfolio-59{position:absolute;inset:0;background:linear-gradient(to top,oklch(.4409 calc(var(--ol-c-body)*.349) var(--ol-h) / .72) 0%,oklch(.4409 calc(var(--ol-c-body)*.349) var(--ol-h) / .18) 45%,transparent 100%);pointer-events:none;}body[data-page="portfolio"] .v6-inline-portfolio-60{position:absolute;bottom:0;left:0;right:0;padding:28px 30px;}body[data-page="portfolio"] .v6-inline-portfolio-61{font-family:var(--font-l);font-size:7.5px;font-weight:400;letter-spacing:5px;text-transform:uppercase;color:oklch(.941 calc(var(--ol-c-body)*.109) var(--ol-h) / 0.78);margin-bottom:8px;}body[data-page="portfolio"] .v6-inline-portfolio-62{font-family:var(--font-s);font-size:clamp(20px,2.5vw,32px);font-weight:300;color:oklch(.9687 calc(var(--ol-c-body)*.058) var(--ol-h-pap) / .96);line-height:1.1;margin-bottom:4px;}body[data-page="portfolio"] .v6-inline-portfolio-63{font-style:italic;color:oklch(.8462 calc(var(--ol-c-body)*.112) var(--ol-h) / 0.9);}body[data-page="portfolio"] .v6-inline-portfolio-64{font-family:var(--font-l);font-size:8px;font-weight:400;letter-spacing:3.5px;text-transform:uppercase;color:oklch(.8462 calc(var(--ol-c-body)*.112) var(--ol-h) / 0.9);}body[data-page="portfolio"] .v6-inline-portfolio-65{display:grid;grid-template-columns:1fr 1fr;gap:1px;margin-top:44px;}body[data-page="portfolio"] .v6-inline-portfolio-66{font-family:var(--font-l);font-size:7.5px;letter-spacing:4px;text-transform:uppercase;color:var(--ol-vein);margin-bottom:14px;}body[data-page="portfolio"] .v6-inline-portfolio-67{font-family:var(--font-l);font-size:7.5px;letter-spacing:4px;text-transform:uppercase;color:var(--ol-vein);margin-bottom:14px;}body[data-page="portfolio"] .v6-inline-portfolio-68{font-family:var(--font-l);font-size:7.5px;letter-spacing:4px;text-transform:uppercase;color:var(--ol-vein);margin-bottom:14px;}body[data-page="portfolio"] .v6-inline-portfolio-69{position:relative;overflow:hidden;background:oklch(.1061 calc(var(--ol-c-body)*.088) var(--ol-h));aspect-ratio:9/16;max-height:560px;}body[data-page="portfolio"] .v6-inline-portfolio-70{width:100%;height:100%;object-fit:cover;display:block;}body[data-page="portfolio"] .v6-inline-portfolio-71{position:absolute;bottom:0;left:0;right:0;display:flex;justify-content:space-between;padding:10px 14px;background:linear-gradient(to top,oklch(.1061 calc(var(--ol-c-body)*.088) var(--ol-h) / .70),transparent);}body[data-page="portfolio"] .v6-inline-portfolio-72{font-family:var(--font-l);font-size:7.5px;letter-spacing:4px;text-transform:uppercase;color:oklch(.941 calc(var(--ol-c-body)*.109) var(--ol-h) / 0.78);}body[data-page="portfolio"] .v6-inline-portfolio-73{font-family:var(--font-l);font-size:7.5px;letter-spacing:4px;text-transform:uppercase;color:oklch(.941 calc(var(--ol-c-body)*.109) var(--ol-h) / 0.77);}body[data-page="portfolio"] .v6-inline-portfolio-74{font-family:var(--font-l);font-size:7.5px;letter-spacing:4px;text-transform:uppercase;color:var(--ol-vein);margin-bottom:14px;}body[data-page="portfolio"] .v6-inline-portfolio-75{position:relative;overflow:hidden;background:oklch(.1061 calc(var(--ol-c-body)*.088) var(--ol-h));aspect-ratio:9/16;max-height:560px;}body[data-page="portfolio"] .v6-inline-portfolio-76{width:100%;height:100%;object-fit:cover;display:block;}body[data-page="portfolio"] .v6-inline-portfolio-77{position:absolute;bottom:0;left:0;right:0;display:flex;justify-content:space-between;padding:10px 14px;background:linear-gradient(to top,oklch(.1061 calc(var(--ol-c-body)*.088) var(--ol-h) / .70),transparent);}body[data-page="portfolio"] .v6-inline-portfolio-78{font-family:var(--font-l);font-size:7.5px;letter-spacing:4px;text-transform:uppercase;color:oklch(.941 calc(var(--ol-c-body)*.109) var(--ol-h) / 0.78);}body[data-page="portfolio"] .v6-inline-portfolio-79{font-family:var(--font-l);font-size:7.5px;letter-spacing:4px;text-transform:uppercase;color:oklch(.941 calc(var(--ol-c-body)*.109) var(--ol-h) / 0.77);}body[data-page="portfolio"] .v6-inline-portfolio-80{padding-top:0;}body[data-page="portfolio"] .v6-inline-portfolio-81{display:grid;grid-template-columns:1.4fr 1fr;gap:1px;margin-top:48px;}body[data-page="portfolio"] .v6-inline-portfolio-82{position:relative;overflow:hidden;display:block;background:oklch(.8462 calc(var(--ol-c-body)*.112) var(--ol-h) / .10);cursor:pointer;}body[data-page="portfolio"] .v6-inline-portfolio-83{width:100%;height:clamp(360px,46vw,580px);object-fit:cover;display:block;transition:transform 1.2s cubic-bezier(.22,1,.36,1);}body[data-page="portfolio"] .v6-inline-portfolio-84{position:absolute;inset:0;background:linear-gradient(to top,oklch(.4409 calc(var(--ol-c-body)*.349) var(--ol-h) / .74) 0%,oklch(.4409 calc(var(--ol-c-body)*.349) var(--ol-h) / .16) 48%,transparent 100%);pointer-events:none;}body[data-page="portfolio"] .v6-inline-portfolio-85{position:absolute;bottom:0;left:0;right:0;padding:32px 36px;}body[data-page="portfolio"] .v6-inline-portfolio-86{font-family:var(--font-l);font-size:7.5px;font-weight:400;letter-spacing:5px;text-transform:uppercase;color:oklch(.941 calc(var(--ol-c-body)*.109) var(--ol-h) / 0.78);margin-bottom:10px;}body[data-page="portfolio"] .v6-inline-portfolio-87{font-family:var(--font-s);font-size:clamp(22px,2.8vw,36px);font-weight:300;color:oklch(.9687 calc(var(--ol-c-body)*.058) var(--ol-h-pap) / .96);line-height:1.05;margin-bottom:6px;}body[data-page="portfolio"] .v6-inline-portfolio-88{font-style:italic;color:oklch(.8462 calc(var(--ol-c-body)*.112) var(--ol-h) / 0.9);}body[data-page="portfolio"] .v6-inline-portfolio-89{font-family:var(--font-l);font-size:8px;font-weight:400;letter-spacing:3.5px;text-transform:uppercase;color:oklch(.8462 calc(var(--ol-c-body)*.112) var(--ol-h) / 0.9);}body[data-page="portfolio"] .v6-inline-portfolio-90{display:grid;grid-template-rows:1fr 1fr;gap:1px;}body[data-page="portfolio"] .v6-inline-portfolio-91{overflow:hidden;background:oklch(.1061 calc(var(--ol-c-body)*.088) var(--ol-h));}body[data-page="portfolio"] .v6-inline-portfolio-92{width:100%;height:100%;object-fit:cover;display:block;}body[data-page="portfolio"] .v6-inline-portfolio-93{overflow:hidden;background:oklch(.1061 calc(var(--ol-c-body)*.088) var(--ol-h));}body[data-page="portfolio"] .v6-inline-portfolio-94{width:100%;height:100%;object-fit:cover;display:block;}body[data-page="portfolio"] .v6-inline-portfolio-95{margin-top:80px;}body[data-page="portfolio"] .v6-inline-portfolio-96{border:.5px solid oklch(.4409 calc(var(--ol-c-body)*.349) var(--ol-h) / .12);padding:clamp(36px,5vw,64px) clamp(28px,4vw,56px);background:linear-gradient(135deg,oklch(.2817 calc(var(--ol-c-body)*.796) var(--ol-h) / .50) 0%,oklch(.2161 calc(var(--ol-c-body)*.637) var(--ol-h) / .58) 100%);}body[data-page="portfolio"] .v6-inline-portfolio-97{display:grid;grid-template-columns:1fr 1.4fr;gap:clamp(24px,4vw,56px);align-items:center;}body[data-page="portfolio"] .v6-inline-portfolio-98{font-family:var(--font-s);font-size:clamp(22px,2.6vw,34px);font-weight:300;color:var(--ol-platinum);line-height:1.1;margin-top:14px;}body[data-page="portfolio"] .v6-inline-portfolio-99{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:oklch(.4409 calc(var(--ol-c-body)*.349) var(--ol-h) / .18);}body[data-page="portfolio"] .v6-inline-portfolio-100{background:oklch(.2817 calc(var(--ol-c-body)*.796) var(--ol-h) / .42);padding:24px 22px;text-align:center;}body[data-page="portfolio"] .v6-inline-portfolio-101{font-family:var(--font-l);font-size:7.5px;letter-spacing:4px;text-transform:uppercase;color:oklch(.4872 calc(var(--ol-c-jade)*.783) var(--ol-h-jade) / 0.79);margin-bottom:8px;}body[data-page="portfolio"] .v6-inline-portfolio-102{font-family:var(--font-s);font-size:14px;font-style:italic;color:var(--ol-platinum);font-weight:300;}body[data-page="portfolio"] .v6-inline-portfolio-103{background:oklch(.2817 calc(var(--ol-c-body)*.796) var(--ol-h) / .42);padding:24px 22px;text-align:center;}body[data-page="portfolio"] .v6-inline-portfolio-104{font-family:var(--font-l);font-size:7.5px;letter-spacing:4px;text-transform:uppercase;color:oklch(.4872 calc(var(--ol-c-jade)*.783) var(--ol-h-jade) / 0.79);margin-bottom:8px;}body[data-page="portfolio"] .v6-inline-portfolio-105{font-family:var(--font-s);font-size:14px;font-style:italic;color:var(--ol-platinum);font-weight:300;}body[data-page="portfolio"] .v6-inline-portfolio-106{background:oklch(.2817 calc(var(--ol-c-body)*.796) var(--ol-h) / .42);padding:24px 22px;text-align:center;}body[data-page="portfolio"] .v6-inline-portfolio-107{font-family:var(--font-l);font-size:7.5px;letter-spacing:4px;text-transform:uppercase;color:oklch(.4872 calc(var(--ol-c-jade)*.783) var(--ol-h-jade) / 0.79);margin-bottom:8px;}body[data-page="portfolio"] .v6-inline-portfolio-108{font-family:var(--font-s);font-size:14px;font-style:italic;color:var(--ol-platinum);font-weight:300;}body[data-page="portfolio"] .v6-inline-portfolio-109{font-family:var(--font-s);font-size:14px;font-weight:300;font-style:italic;color:oklch(.4872 calc(var(--ol-c-jade)*.783) var(--ol-h-jade) / 0.8);text-align:center;margin-top:32px;line-height:1.6;}body[data-page="portfolio"] .v6-inline-portfolio-110{text-align:center;}body[data-page="portfolio"] .v6-inline-portfolio-111{color:oklch(.941 calc(var(--ol-c-body)*.109) var(--ol-h) / 0.77);}body[data-page="portfolio"] .v6-inline-portfolio-112{text-align:center;color:oklch(.8462 calc(var(--ol-c-body)*.112) var(--ol-h) / 0.89);}body[data-page="portfolio"] .v6-inline-portfolio-113{margin-top:8px;}body[data-page="portfolio"] .v6-inline-portfolio-114{max-width:1280px;margin:0 auto;padding:clamp(70px,9vw,130px) clamp(20px,5vw,44px);}body[data-page="portfolio"] .v6-inline-portfolio-115{text-align:center;margin:0 0 16px;}body[data-page="portfolio"] .v6-inline-portfolio-116{text-align:center;margin:0 0 14px;}body[data-page="portfolio"] .v6-inline-portfolio-117{text-align:center;max-width:640px;margin:0 auto 52px;}body[data-page="portfolio"] .v6-inline-portfolio-118{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:clamp(28px,4vw,52px);}body[data-page="portfolio"] .v6-inline-portfolio-119{margin:0;}body[data-page="portfolio"] .v6-inline-portfolio-120{width:100%;aspect-ratio:16/10;object-fit:cover;background:oklch(.2684 calc(var(--ol-c-body)*.641) var(--ol-h));}body[data-page="portfolio"] .v6-inline-portfolio-121{padding:18px 2px 0;}body[data-page="portfolio"] .v6-inline-portfolio-122{margin:0 0 8px;}body[data-page="portfolio"] .v6-inline-portfolio-123{margin:0 0 10px;font-size:clamp(20px,2.2vw,28px);}body[data-page="portfolio"] .v6-inline-portfolio-124{margin:0;font-size:14px;line-height:1.65;}body[data-page="portfolio"] .v6-inline-portfolio-125{margin:10px 0 0;}body[data-page="portfolio"] .v6-inline-portfolio-126{font-size:10px;letter-spacing:.2em;text-transform:uppercase;}body[data-page="portfolio"] .v6-inline-portfolio-127{margin:0;}body[data-page="portfolio"] .v6-inline-portfolio-128{width:100%;aspect-ratio:16/10;object-fit:cover;background:oklch(.2684 calc(var(--ol-c-body)*.641) var(--ol-h));}body[data-page="portfolio"] .v6-inline-portfolio-129{padding:18px 2px 0;}body[data-page="portfolio"] .v6-inline-portfolio-130{margin:0 0 8px;}body[data-page="portfolio"] .v6-inline-portfolio-131{margin:0 0 10px;font-size:clamp(20px,2.2vw,28px);}body[data-page="portfolio"] .v6-inline-portfolio-132{margin:0;font-size:14px;line-height:1.65;}body[data-page="portfolio"] .v6-inline-portfolio-133{margin:10px 0 0;}body[data-page="portfolio"] .v6-inline-portfolio-134{font-size:10px;letter-spacing:.2em;text-transform:uppercase;}body[data-page="portfolio"] .v6-inline-portfolio-135{margin:0;}body[data-page="portfolio"] .v6-inline-portfolio-136{width:100%;aspect-ratio:16/10;object-fit:cover;background:oklch(.2684 calc(var(--ol-c-body)*.641) var(--ol-h));}body[data-page="portfolio"] .v6-inline-portfolio-137{padding:18px 2px 0;}body[data-page="portfolio"] .v6-inline-portfolio-138{margin:0 0 8px;}body[data-page="portfolio"] .v6-inline-portfolio-139{margin:0 0 10px;font-size:clamp(20px,2.2vw,28px);}body[data-page="portfolio"] .v6-inline-portfolio-140{margin:0;font-size:14px;line-height:1.65;}body[data-page="portfolio"] .v6-inline-portfolio-141{margin:10px 0 0;}body[data-page="portfolio"] .v6-inline-portfolio-142{font-size:10px;letter-spacing:.2em;text-transform:uppercase;}body[data-page="portfolio"] .v6-inline-portfolio-143{margin:0;}body[data-page="portfolio"] .v6-inline-portfolio-144{width:100%;aspect-ratio:16/10;object-fit:cover;background:oklch(.2684 calc(var(--ol-c-body)*.641) var(--ol-h));}body[data-page="portfolio"] .v6-inline-portfolio-145{padding:18px 2px 0;}body[data-page="portfolio"] .v6-inline-portfolio-146{margin:0 0 8px;}body[data-page="portfolio"] .v6-inline-portfolio-147{margin:0 0 10px;font-size:clamp(20px,2.2vw,28px);}body[data-page="portfolio"] .v6-inline-portfolio-148{margin:0;font-size:14px;line-height:1.65;}body[data-page="portfolio"] .v6-inline-portfolio-149{margin:10px 0 0;}body[data-page="portfolio"] .v6-inline-portfolio-150{font-size:10px;letter-spacing:.2em;text-transform:uppercase;}body[data-page="portfolio"] .v6-inline-portfolio-151{margin:0;}body[data-page="portfolio"] .v6-inline-portfolio-152{width:100%;aspect-ratio:16/10;object-fit:cover;background:oklch(.2684 calc(var(--ol-c-body)*.641) var(--ol-h));}body[data-page="portfolio"] .v6-inline-portfolio-153{padding:18px 2px 0;}body[data-page="portfolio"] .v6-inline-portfolio-154{margin:0 0 8px;}body[data-page="portfolio"] .v6-inline-portfolio-155{margin:0 0 10px;font-size:clamp(20px,2.2vw,28px);}body[data-page="portfolio"] .v6-inline-portfolio-156{margin:0;font-size:14px;line-height:1.65;}body[data-page="portfolio"] .v6-inline-portfolio-157{margin:10px 0 0;}body[data-page="portfolio"] .v6-inline-portfolio-158{font-size:10px;letter-spacing:.2em;text-transform:uppercase;}body[data-page="portfolio"] .v6-inline-portfolio-159{margin:0;}body[data-page="portfolio"] .v6-inline-portfolio-160{width:100%;aspect-ratio:16/10;object-fit:cover;background:oklch(.2684 calc(var(--ol-c-body)*.641) var(--ol-h));}body[data-page="portfolio"] .v6-inline-portfolio-161{padding:18px 2px 0;}body[data-page="portfolio"] .v6-inline-portfolio-162{margin:0 0 8px;}body[data-page="portfolio"] .v6-inline-portfolio-163{margin:0 0 10px;font-size:clamp(20px,2.2vw,28px);}body[data-page="portfolio"] .v6-inline-portfolio-164{margin:0;font-size:14px;line-height:1.65;}body[data-page="portfolio"] .v6-inline-portfolio-165{margin:10px 0 0;}body[data-page="portfolio"] .v6-inline-portfolio-166{font-size:10px;letter-spacing:.2em;text-transform:uppercase;}body[data-page="portfolio"] .v6-inline-portfolio-167{margin:0;}body[data-page="portfolio"] .v6-inline-portfolio-168{width:100%;aspect-ratio:16/10;object-fit:cover;background:oklch(.2684 calc(var(--ol-c-body)*.641) var(--ol-h));}body[data-page="portfolio"] .v6-inline-portfolio-169{padding:18px 2px 0;}body[data-page="portfolio"] .v6-inline-portfolio-170{margin:0 0 8px;}body[data-page="portfolio"] .v6-inline-portfolio-171{margin:0 0 10px;font-size:clamp(20px,2.2vw,28px);}body[data-page="portfolio"] .v6-inline-portfolio-172{margin:0;font-size:14px;line-height:1.65;}body[data-page="portfolio"] .v6-inline-portfolio-173{margin:10px 0 0;}body[data-page="portfolio"] .v6-inline-portfolio-174{font-size:10px;letter-spacing:.2em;text-transform:uppercase;}body[data-page="portfolio"] .v6-inline-portfolio-175{opacity:.22;}body[data-page="portfolio"] .v6-inline-portfolio-176{margin-top:10px;font-family:var(--font-l);font-size:7.5px;letter-spacing:3px;text-transform:uppercase;color:oklch(.7625 calc(var(--ol-c-pat)*.821) var(--ol-h-pat) / 1.0);background:none;border:none;cursor:pointer;transition:color .2s;}body[data-page="savoir-faire"] .v6-inline-savoir-faire-1{background-image:url("../assets/chantier/casque-plans-sunset.jpg");}body[data-page="savoir-faire"] .v6-inline-savoir-faire-2{margin-bottom:clamp(56px,7vw,96px);}body[data-page="savoir-faire"] .v6-inline-savoir-faire-3{aspect-ratio:3/4;overflow:hidden;background:oklch(.8462 calc(var(--ol-c-body)*.112) var(--ol-h) / .10);}body[data-page="savoir-faire"] .v6-inline-savoir-faire-4{width:100%;height:100%;object-fit:cover;display:block;filter:grayscale(.05);}body[data-page="savoir-faire"] .v6-inline-savoir-faire-5{font-family:var(--font-l);font-size:7.5px;letter-spacing:3px;text-transform:uppercase;color:var(--ol-vein);margin-top:10px;}body[data-page="savoir-faire"] .v6-inline-savoir-faire-6{margin-top:14px;}body[data-page="savoir-faire"] .v6-inline-savoir-faire-7{padding:0;margin:0;}body[data-page="savoir-faire"] .v6-inline-savoir-faire-8{width:100%;aspect-ratio:21/9;overflow:hidden;background:oklch(.2684 calc(var(--ol-c-body)*.641) var(--ol-h));}body[data-page="savoir-faire"] .v6-inline-savoir-faire-9{width:100%;height:100%;object-fit:cover;display:block;}body[data-page="savoir-faire"] .v6-inline-savoir-faire-10{color:oklch(.941 calc(var(--ol-c-body)*.109) var(--ol-h) / 0.77);}body[data-page="savoir-faire"] .v6-inline-savoir-faire-11{margin-top:28px;}body[data-page="savoir-faire"] .v6-inline-savoir-faire-12{color:oklch(.941 calc(var(--ol-c-body)*.109) var(--ol-h) / 0.77);}body[data-page="savoir-faire"] .v6-inline-savoir-faire-13{color:oklch(.8462 calc(var(--ol-c-body)*.112) var(--ol-h) / 0.89);}body[data-page="savoir-faire"] .v6-inline-savoir-faire-14{color:oklch(.8036 calc(var(--ol-c-jade)*.698) var(--ol-h-jade) / 0.95);margin-bottom:28px;}body[data-page="savoir-faire"] .v6-inline-savoir-faire-15{background:rgba(255,255,255,.04);border:.5px solid rgba(255,255,255,.08);padding:28px;}body[data-page="savoir-faire"] .v6-inline-savoir-faire-16{font-family:var(--font-b);font-size:15px;font-style:italic;line-height:1.85;color:oklch(.853 calc(var(--ol-c-jade)*.694) var(--ol-h-jade) / 0.86);margin-bottom:20px;}body[data-page="savoir-faire"] .v6-inline-savoir-faire-17{opacity:.22;}body[data-page="savoir-faire"] .v6-inline-savoir-faire-18{margin-top:10px;font-family:var(--font-l);font-size:7.5px;letter-spacing:3px;text-transform:uppercase;color:oklch(.7625 calc(var(--ol-c-pat)*.821) var(--ol-h-pat) / 1.0);background:none;border:none;cursor:pointer;transition:color .2s;}body[data-page="services"] .v6-inline-services-1{background-image:url("../assets/chantier/equipe-chantier-plans-2.jpg");}body[data-page="services"] .v6-inline-services-2{color:oklch(.941 calc(var(--ol-c-body)*.109) var(--ol-h) / 0.77);}body[data-page="services"] .v6-inline-services-3{color:oklch(.941 calc(var(--ol-c-body)*.109) var(--ol-h) / 0.77);}body[data-page="services"] .v6-inline-services-4{background:rgba(255,255,255,.04);border:.5px solid rgba(255,255,255,.08);padding:32px;}body[data-page="services"] .v6-inline-services-5{font-family:var(--font-s);font-size:18px;font-style:italic;line-height:1.65;color:oklch(.853 calc(var(--ol-c-jade)*.694) var(--ol-h-jade) / 0.86);margin-bottom:20px;}body[data-page="services"] .v6-inline-services-6{margin-bottom:24px;}body[data-page="services"] .v6-inline-services-7{opacity:.22;}body[data-page="services"] .v6-inline-services-8{margin-top:10px;font-family:var(--font-l);font-size:7.5px;letter-spacing:3px;text-transform:uppercase;color:oklch(.7625 calc(var(--ol-c-pat)*.821) var(--ol-h-pat) / 1.0);background:none;border:none;cursor:pointer;transition:color .2s;}body[data-page="projets-metz"] .v6-inline-projets-metz-1{background-image:url("../assets/projects/metz/metz-1.jpg");}body[data-page="projets-metz"] .v6-inline-projets-metz-2{max-width:600px;}body[data-page="projets-metz"] .v6-inline-projets-metz-3{max-width:600px;}body[data-page="projets-metz"] .v6-inline-projets-metz-4{max-width:600px;}body[data-page="projets-metz"] .v6-inline-projets-metz-5{max-width:600px;}body[data-page="projets-metz"] .v6-inline-projets-metz-6{margin-top:24px;}body[data-page="projets-metz"] .v6-inline-projets-metz-7{filter:saturate(.15) brightness(.65);}body[data-page="projets-metz"] .v6-inline-projets-metz-8{padding:32px 0;border-top:.5px solid oklch(.4409 calc(var(--ol-c-body)*.349) var(--ol-h) / .16);}body[data-page="projets-metz"] .v6-inline-projets-metz-9{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:14px;}body[data-page="projets-metz"] .v6-inline-projets-metz-10{font-family:var(--font-l);font-size:8px;letter-spacing:4px;text-transform:uppercase;color:var(--ol-vein);}body[data-page="projets-metz"] .v6-inline-projets-metz-11{font-family:var(--font-l);font-size:8px;letter-spacing:4px;text-transform:uppercase;color:var(--ol-vein);text-align:right;}body[data-page="projets-metz"] .v6-inline-projets-metz-12{padding-top:0;}body[data-page="projets-metz"] .v6-inline-projets-metz-13{opacity:.22;}body[data-page="projets-metz"] .v6-inline-projets-metz-14{margin-top:10px;font-family:var(--font-l);font-size:7.5px;letter-spacing:3px;text-transform:uppercase;color:oklch(.7625 calc(var(--ol-c-pat)*.821) var(--ol-h-pat) / 1.0);background:none;border:none;cursor:pointer;transition:color .2s;}body[data-page="projets-neuilly"] .v6-inline-projets-neuilly-1{background-image:url("../assets/projects/neuilly/neuilly-1.jpg");}body[data-page="projets-neuilly"] .v6-inline-projets-neuilly-2{max-width:600px;}body[data-page="projets-neuilly"] .v6-inline-projets-neuilly-3{max-width:600px;}body[data-page="projets-neuilly"] .v6-inline-projets-neuilly-4{max-width:600px;}body[data-page="projets-neuilly"] .v6-inline-projets-neuilly-5{max-width:600px;}body[data-page="projets-neuilly"] .v6-inline-projets-neuilly-6{margin-top:24px;}body[data-page="projets-neuilly"] .v6-inline-projets-neuilly-7{filter:saturate(.15) brightness(.65);}body[data-page="projets-neuilly"] .v6-inline-projets-neuilly-8{padding:32px 0;border-top:.5px solid oklch(.4409 calc(var(--ol-c-body)*.349) var(--ol-h) / .16);}body[data-page="projets-neuilly"] .v6-inline-projets-neuilly-9{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:14px;}body[data-page="projets-neuilly"] .v6-inline-projets-neuilly-10{font-family:var(--font-l);font-size:8px;letter-spacing:4px;text-transform:uppercase;color:var(--ol-vein);}body[data-page="projets-neuilly"] .v6-inline-projets-neuilly-11{font-family:var(--font-l);font-size:8px;letter-spacing:4px;text-transform:uppercase;color:var(--ol-vein);text-align:right;}body[data-page="projets-neuilly"] .v6-inline-projets-neuilly-12{padding-top:0;}body[data-page="projets-neuilly"] .v6-inline-projets-neuilly-13{opacity:.22;}body[data-page="projets-neuilly"] .v6-inline-projets-neuilly-14{margin-top:10px;font-family:var(--font-l);font-size:7.5px;letter-spacing:3px;text-transform:uppercase;color:oklch(.7625 calc(var(--ol-c-pat)*.821) var(--ol-h-pat) / 1.0);background:none;border:none;cursor:pointer;transition:color .2s;}body[data-page="projets-reims"] .v6-inline-projets-reims-1{background-image:url("../assets/projects/reims/reims-1.jpg");}body[data-page="projets-reims"] .v6-inline-projets-reims-2{max-width:600px;}body[data-page="projets-reims"] .v6-inline-projets-reims-3{max-width:600px;}body[data-page="projets-reims"] .v6-inline-projets-reims-4{max-width:600px;}body[data-page="projets-reims"] .v6-inline-projets-reims-5{max-width:600px;}body[data-page="projets-reims"] .v6-inline-projets-reims-6{margin-top:24px;}body[data-page="projets-reims"] .v6-inline-projets-reims-7{filter:saturate(.15) brightness(.65);}body[data-page="projets-reims"] .v6-inline-projets-reims-8{padding:32px 0;border-top:.5px solid oklch(.4409 calc(var(--ol-c-body)*.349) var(--ol-h) / .16);}body[data-page="projets-reims"] .v6-inline-projets-reims-9{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:14px;}body[data-page="projets-reims"] .v6-inline-projets-reims-10{font-family:var(--font-l);font-size:8px;letter-spacing:4px;text-transform:uppercase;color:var(--ol-vein);}body[data-page="projets-reims"] .v6-inline-projets-reims-11{font-family:var(--font-l);font-size:8px;letter-spacing:4px;text-transform:uppercase;color:var(--ol-vein);text-align:right;}body[data-page="projets-reims"] .v6-inline-projets-reims-12{padding-top:0;}body[data-page="projets-reims"] .v6-inline-projets-reims-13{opacity:.22;}body[data-page="projets-reims"] .v6-inline-projets-reims-14{margin-top:10px;font-family:var(--font-l);font-size:7.5px;letter-spacing:3px;text-transform:uppercase;color:oklch(.7625 calc(var(--ol-c-pat)*.821) var(--ol-h-pat) / 1.0);background:none;border:none;cursor:pointer;transition:color .2s;}body[data-page="projets-saint-cloud"] .v6-inline-projets-saint-cloud-1{color:oklch(.9687 calc(var(--ol-c-body)*.058) var(--ol-h-pap) / .9);}body[data-page="projets-saint-cloud"] .v6-inline-projets-saint-cloud-2{padding-top:72px;}body[data-page="projets-saint-cloud"] .v6-inline-projets-saint-cloud-3{background-image:url("../assets/chantier/villa-ext-vue-generale.jpg");}body[data-page="projets-saint-cloud"] .v6-inline-projets-saint-cloud-4{display:grid;grid-template-columns:1fr 1fr;gap:clamp(36px,5vw,80px);align-items:start;}body[data-page="projets-saint-cloud"] .v6-inline-projets-saint-cloud-5{max-width:620px;}body[data-page="projets-saint-cloud"] .v6-inline-projets-saint-cloud-6{padding-top:0;border-bottom:none;}body[data-page="projets-saint-cloud"] .v6-inline-projets-saint-cloud-7{padding-top:clamp(52px,6vw,80px);}body[data-page="projets-saint-cloud"] .v6-inline-projets-saint-cloud-8{max-width:560px;margin-bottom:0;}body[data-page="projets-saint-cloud"] .v6-inline-projets-saint-cloud-9{background:oklch(.8462 calc(var(--ol-c-body)*.112) var(--ol-h) / .10);border-bottom:none;}body[data-page="projets-saint-cloud"] .v6-inline-projets-saint-cloud-10{display:grid;grid-template-columns:1fr 1fr;gap:clamp(36px,5vw,72px);margin-top:32px;}body[data-page="projets-saint-cloud"] .v6-inline-projets-saint-cloud-11{font-family:var(--font-s);font-size:18px;font-weight:300;color:var(--ol-platinum);margin-bottom:10px;font-style:italic;}body[data-page="projets-saint-cloud"] .v6-inline-projets-saint-cloud-12{font-family:var(--font-s);font-size:18px;font-weight:300;color:var(--ol-platinum);margin-bottom:10px;font-style:italic;}body[data-page="projets-saint-cloud"] .v6-inline-projets-saint-cloud-13{font-family:var(--font-s);font-size:18px;font-weight:300;color:var(--ol-platinum);margin-bottom:10px;font-style:italic;}body[data-page="projets-saint-cloud"] .v6-inline-projets-saint-cloud-14{font-family:var(--font-s);font-size:18px;font-weight:300;color:var(--ol-platinum);margin-bottom:10px;font-style:italic;}body[data-page="projets-saint-cloud"] .v6-inline-projets-saint-cloud-15{padding-top:0;}body[data-page="projets-saint-cloud"] .v6-inline-projets-saint-cloud-16{max-width:560px;}body[data-page="projets-saint-cloud"] .v6-inline-projets-saint-cloud-17{background:var(--ol-abime);}body[data-page="projets-saint-cloud"] .v6-inline-projets-saint-cloud-18{max-width:540px;}body[data-page="projets-saint-cloud"] .v6-inline-projets-saint-cloud-19{margin-bottom:28px;}body[data-page="projets-saint-cloud"] .v6-inline-projets-saint-cloud-20{padding:32px 0;border-top:.5px solid oklch(.7625 calc(var(--ol-c-pat)*.821) var(--ol-h-pat) / .1);}body[data-page="projets-saint-cloud"] .v6-inline-projets-saint-cloud-21{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:14px;}body[data-page="projets-saint-cloud"] .v6-inline-projets-saint-cloud-22{font-family:var(--font-l);font-size:8px;letter-spacing:4px;text-transform:uppercase;color:var(--ol-vein);transition:color .3s;}body[data-page="projets-saint-cloud"] .v6-inline-projets-saint-cloud-23{font-family:var(--font-l);font-size:8px;letter-spacing:4px;text-transform:uppercase;color:var(--ol-vein);text-align:right;}body[data-page="projets-saint-cloud"] .v6-inline-projets-saint-cloud-24{opacity:.22;}body[data-page="projets-saint-cloud"] .v6-inline-projets-saint-cloud-25{margin-top:10px;font-family:var(--font-l);font-size:7.5px;letter-spacing:3px;text-transform:uppercase;color:oklch(.7625 calc(var(--ol-c-pat)*.821) var(--ol-h-pat) / 1.0);background:none;border:none;cursor:pointer;transition:color .2s;}body[data-page="projets-tuscany"] .v6-inline-projets-tuscany-1{background-image:url("../assets/projects/tuscany/tuscany-1.jpg");}body[data-page="projets-tuscany"] .v6-inline-projets-tuscany-2{max-width:600px;}body[data-page="projets-tuscany"] .v6-inline-projets-tuscany-3{max-width:600px;}body[data-page="projets-tuscany"] .v6-inline-projets-tuscany-4{max-width:600px;}body[data-page="projets-tuscany"] .v6-inline-projets-tuscany-5{max-width:600px;}body[data-page="projets-tuscany"] .v6-inline-projets-tuscany-6{margin-top:24px;}body[data-page="projets-tuscany"] .v6-inline-projets-tuscany-7{filter:saturate(.15) brightness(.65);}body[data-page="projets-tuscany"] .v6-inline-projets-tuscany-8{padding:32px 0;border-top:.5px solid oklch(.4409 calc(var(--ol-c-body)*.349) var(--ol-h) / .16);}body[data-page="projets-tuscany"] .v6-inline-projets-tuscany-9{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:14px;}body[data-page="projets-tuscany"] .v6-inline-projets-tuscany-10{font-family:var(--font-l);font-size:8px;letter-spacing:4px;text-transform:uppercase;color:var(--ol-vein);}body[data-page="projets-tuscany"] .v6-inline-projets-tuscany-11{font-family:var(--font-l);font-size:8px;letter-spacing:4px;text-transform:uppercase;color:var(--ol-vein);text-align:right;}body[data-page="projets-tuscany"] .v6-inline-projets-tuscany-12{padding-top:0;}body[data-page="projets-tuscany"] .v6-inline-projets-tuscany-13{opacity:.22;}body[data-page="projets-tuscany"] .v6-inline-projets-tuscany-14{margin-top:10px;font-family:var(--font-l);font-size:7.5px;letter-spacing:3px;text-transform:uppercase;color:oklch(.7625 calc(var(--ol-c-pat)*.821) var(--ol-h-pat) / 1.0);background:none;border:none;cursor:pointer;transition:color .2s;}:root{--ol-night:oklch(.2161 calc(var(--ol-c-body)*.637) var(--ol-h));--ol-satin:oklch(.2817 calc(var(--ol-c-body)*.796) var(--ol-h));--ol-mineral:oklch(.3256 calc(var(--ol-c-body)*.926) var(--ol-h));--ol-blue:oklch(.3474 calc(var(--ol-c-body)*.92) var(--ol-h));--ol-ink:oklch(.3619 calc(var(--ol-c-body)*.916) var(--ol-h));--ol-graphite:oklch(.3764 calc(var(--ol-c-body)*.682) var(--ol-h));--ol-silver:oklch(.7724 calc(var(--ol-c-body)*.438) var(--ol-h));--ol-platinum:oklch(.9046 calc(var(--ol-c-body)*.11) var(--ol-h));--ol-carrara:oklch(.966 calc(var(--ol-c-body)*.07) var(--ol-h-pap));--ol-ivory:oklch(.981 calc(var(--ol-c-body)*.07) var(--ol-h-pap));--ol-bronze:oklch(.7625 calc(var(--ol-c-pat)*.821) var(--ol-h-pat));--ol-bronze-soft:oklch(.8242 calc(var(--ol-c-pat)*.806) var(--ol-h-pat));--ol-line:oklch(.7651 calc(var(--ol-c-pat)*.801) var(--ol-h-pat) / .26);--ol-line-dark:oklch(.2161 calc(var(--ol-c-body)*.637) var(--ol-h) / .13);--ol-shadow:0 42px 120px oklch(.1422 calc(var(--ol-c-body)*.35) var(--ol-h) / .34);--ol-ease:cubic-bezier(.19,1,.22,1);--pad:clamp(22px,4.2vw,70px);--max:1280px;}*{box-sizing:border-box;}html{scroll-behavior:auto;background:var(--ol-night);color-scheme:dark;}body{margin:0;min-width:320px;background:var(--ol-night);color:var(--ol-carrara);font-family:var(--font-reading);font-size:clamp(16px,1.05vw,19px);line-height:1.68;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden;}body::selection{background:oklch(.7625 calc(var(--ol-c-pat)*.821) var(--ol-h-pat) / .28);color:#fff;}a{color:inherit;text-decoration:none;}img,video,canvas,svg{max-width:100%;}button,input,textarea,select{font:inherit;}.container{width:min(calc(100% - 2*var(--pad)),var(--max));margin-inline:auto;}.logo-n{font-size:clamp(16px,1.25vw,22px);letter-spacing:.22em;font-weight:500;line-height:1;}.logo-s{font-family:var(--font-ui);font-size:8px;letter-spacing:.38em;text-transform:uppercase;color:var(--ol-silver);margin-top:5px;display:block;}.display,.ph-h1,.pj-h1,.dxb-h1,.pensee-h1,.cp-page-title{font-weight:400;letter-spacing:-.035em;line-height:.92;text-wrap:balance;}.display{font-size:clamp(58px,8vw,138px);}.display em,.hero-h1 em,.ph-h1 em,.pj-h1 em,.pensee-h1 em{font-weight:400;color:var(--ol-platinum);}.eyebrow,.kicker,.hero-ey,.pj-cat,.cp-place,.legacy-index,.dxb-k{font-family:var(--font-ui);font-size:10px;letter-spacing:.34em;text-transform:uppercase;color:var(--ol-silver);font-weight:500;}.lead{font-family:var(--font-editorial);font-size:clamp(20px,2vw,30px);line-height:1.45;color:oklch(.966 calc(var(--ol-c-body)*.07) var(--ol-h-pap) / .78);}.hd{position:fixed;inset:0 0 auto;z-index:100;height:92px;display:flex;align-items:center;transition:background .55s var(--ol-ease),border-color .55s var(--ol-ease),height .55s var(--ol-ease);border-bottom:1px solid transparent;}.hd.is-scrolled,.hd.is-past-hero{height:74px;background:oklch(.2161 calc(var(--ol-c-body)*.637) var(--ol-h) / .82);border-color:var(--ol-line);backdrop-filter:blur(18px) saturate(120%);}.hd-in{display:flex;align-items:center;justify-content:space-between;gap:30px;}.logo{display:flex;align-items:center;gap:13px;min-width:max-content;}.logo-ic{width:44px;height:44px;}.nav{display:flex;align-items:center;gap:clamp(13px,1.45vw,25px);font-family:var(--font-ui);}.nl{position:relative;font-size:9px;letter-spacing:.19em;text-transform:uppercase;color:oklch(.966 calc(var(--ol-c-body)*.07) var(--ol-h-pap) / .76);padding-block:16px;transition:color .35s;}.nl::after{content:"";position:absolute;left:0;right:100%;bottom:9px;height:1px;background:linear-gradient(90deg,var(--ol-platinum),var(--ol-bronze));transition:right .45s var(--ol-ease);}.nl:hover,.nl.active{color:#fff;}.nl:hover::after,.nl.active::after{right:0;}.nl-dubai{color:var(--ol-bronze-soft);}.ncta{font-family:var(--font-ui);font-size:9px;letter-spacing:.2em;text-transform:uppercase;border:1px solid oklch(.9046 calc(var(--ol-c-body)*.11) var(--ol-h) / .38);padding:13px 17px;transition:background .45s,color .45s,border-color .45s;}.ncta:hover{background:var(--ol-carrara);color:var(--ol-night);border-color:var(--ol-carrara);}.lang-sw{display:flex;align-items:center;gap:7px;}.lb{border:0;background:none;color:oklch(.966 calc(var(--ol-c-body)*.07) var(--ol-h-pap) / 0.74);font-family:var(--font-ui);font-size:8px;letter-spacing:.12em;padding:5px;cursor:pointer;}.lb.active{color:#fff;}.ldot{width:2px;height:2px;border-radius:50%;background:var(--ol-silver);}.ntog{display:none;background:none;border:0;width:44px;height:44px;padding:10px;}.ntog span{display:block;height:1px;background:#fff;margin:6px 0;}@keyframes v6SmokeOne{to{transform:translate3d(18%,13%,0) rotate(8deg) scale(1.3);opacity:.8}}@keyframes v6SmokeTwo{to{transform:translate3d(-21%,-10%,0) rotate(-11deg) scale(1.22);opacity:.65}}@keyframes v6SmokeThree{to{transform:translate3d(12%,-17%,0) rotate(13deg) scale(1.34);opacity:.78}}@keyframes v6SmokeFour{to{transform:translate3d(-14%,12%,0) rotate(-8deg) scale(1.25);opacity:.62}}#ldr{display:none;}.hero{position:relative;min-height:100svh;display:flex;align-items:flex-end;overflow:hidden;background:var(--ol-night);}.hero-vid,.hero-vid video,.hero-veil{position:absolute;inset:0;width:100%;height:100%;}.hero-vid video{object-fit:cover;}.hero-veil{background:linear-gradient(90deg,oklch(.147 calc(var(--ol-c-body)*.375) var(--ol-h) / .88) 0%,oklch(.147 calc(var(--ol-c-body)*.375) var(--ol-h) / .52) 48%,oklch(.147 calc(var(--ol-c-body)*.375) var(--ol-h) / .18) 75%),linear-gradient(0deg,oklch(.147 calc(var(--ol-c-body)*.375) var(--ol-h) / .76) 0%,transparent 50%);}.hero-body{position:relative;z-index:2;width:min(1180px,calc(100% - 2*var(--pad)));margin:0 auto;padding:clamp(160px,18vh,230px) 0 clamp(90px,11vh,140px);}.hero-motif{width:clamp(50px,6vw,85px);margin-bottom:26px;opacity:.68;}.hero-h1{font-size:clamp(64px,9.3vw,154px);font-weight:400;line-height:.84;letter-spacing:-.045em;margin:22px 0 30px;max-width:1060px;text-shadow:0 10px 50px oklch(.1319 calc(var(--ol-c-body)*.301) var(--ol-h) / .34);}.hero-h1 .sln{display:block;overflow:hidden;}.hero-sub{max-width:720px;font-family:var(--font-editorial);font-size:clamp(19px,1.65vw,27px);line-height:1.45;color:oklch(.966 calc(var(--ol-c-body)*.07) var(--ol-h-pap) / .78);margin:0;}.hero-act{display:flex;gap:14px;flex-wrap:wrap;margin-top:36px;}.hero-sc{position:absolute;z-index:3;right:var(--pad);bottom:45px;display:flex;align-items:center;gap:12px;}.sc-l{width:52px;height:1px;background:linear-gradient(90deg,transparent,var(--ol-platinum));}.sc-t{font-family:var(--font-ui);font-size:8px;letter-spacing:.3em;text-transform:uppercase;color:var(--ol-silver);}.dubai-band{display:flex;justify-content:center;gap:28px;align-items:center;min-height:46px;padding:11px var(--pad);background:linear-gradient(90deg,oklch(.2188 calc(var(--ol-c-body)*.598) var(--ol-h)),oklch(.3474 calc(var(--ol-c-body)*.92) var(--ol-h)),oklch(.2188 calc(var(--ol-c-body)*.598) var(--ol-h)));border-block:1px solid oklch(.9046 calc(var(--ol-c-body)*.11) var(--ol-h) / .13);font-family:var(--font-ui);font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:oklch(.966 calc(var(--ol-c-body)*.07) var(--ol-h-pap) / .78);}.dubai-band strong{color:#fff;font-weight:500;}.dubai-band-cta{color:var(--ol-bronze-soft);}.sec,.lux-sec,.legacy-film,.cp-teaser,.pj-sec,.dxb-sec,.pensee-body{position:relative;padding-block:clamp(90px,11vw,170px);}.lux-deep,.sec--noir,.legacy-film,.cp-teaser{background:var(--ol-night);color:var(--ol-carrara);}.sec--blanc{background:var(--ol-ivory);color:var(--ol-night);}.sec--creme{background:oklch(.9498 calc(var(--ol-c-body)*.096) var(--ol-h));color:var(--ol-night);}.sec--blanc .lead,.sec--creme .lead{color:oklch(.2161 calc(var(--ol-c-body)*.637) var(--ol-h) / .68);}.lux-rule,.sep,.ft-sep{height:1px;background:linear-gradient(90deg,transparent,var(--ol-line),transparent);}.lux-manifesto{font-size:clamp(45px,7.7vw,118px);line-height:1.02;letter-spacing:-.035em;text-align:center;width:min(1180px,90vw);margin:auto;}.lux-manifesto em{color:var(--ol-platinum);}.btn{display:inline-flex;align-items:center;justify-content:center;gap:16px;min-height:50px;padding:14px 22px;border:1px solid oklch(.9046 calc(var(--ol-c-body)*.11) var(--ol-h) / .38);font-family:var(--font-ui);font-size:9px;letter-spacing:.22em;text-transform:uppercase;cursor:pointer;transition:transform .5s var(--ol-ease),background .45s,color .45s,border-color .45s;}.btn-n{background:var(--ol-carrara);color:var(--ol-night);border-color:var(--ol-carrara);}.btn-n:hover{background:#fff;transform:translateY(-2px);box-shadow:0 15px 50px oklch(.9046 calc(var(--ol-c-body)*.11) var(--ol-h) / .12);}.btn-l,.btn-o{background:transparent;color:inherit;}.btn-l:hover,.btn-o:hover{border-color:oklch(.966 calc(var(--ol-c-body)*.07) var(--ol-h-pap) / .9);background:oklch(.966 calc(var(--ol-c-body)*.07) var(--ol-h-pap) / .06);}.sec--blanc .btn-l,.sec--blanc .btn-o,.sec--creme .btn-l,.sec--creme .btn-o{border-color:oklch(.2161 calc(var(--ol-c-body)*.637) var(--ol-h) / 0.55);}.arr{transition:transform .4s;}.btn:hover .arr{transform:translateX(7px);}.sf-grid,.lux-figs,.cp-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--ol-line);}.sf-item,.lux-fig,.cp-card{background:var(--ol-night);padding:clamp(30px,4vw,58px);}.sf-n,.cp-number{font-family:var(--font-display);font-size:clamp(52px,6vw,92px);line-height:1;color:oklch(.9046 calc(var(--ol-c-body)*.11) var(--ol-h) / 0.82);}.sf-t{font-family:var(--font-display);font-size:clamp(30px,3vw,48px);font-weight:400;line-height:1.05;margin:26px 0 20px;}.sf-b{color:oklch(.966 calc(var(--ol-c-body)*.07) var(--ol-h-pap) / 0.75);}.lux-fig{text-align:center;}.lux-fig-v{display:block;font-family:var(--font-display);font-size:clamp(48px,6vw,94px);color:var(--ol-platinum);}.lux-fig-l{font-family:var(--font-ui);font-size:9px;letter-spacing:.25em;text-transform:uppercase;color:var(--ol-silver);}.legacy-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr);align-items:center;gap:clamp(50px,8vw,130px);width:min(calc(100% - 2*var(--pad)),var(--max));margin:auto;}.legacy-media{position:relative;aspect-ratio:16/9;overflow:hidden;background:oklch(.1248 calc(var(--ol-c-body)*.237) var(--ol-h));box-shadow:var(--ol-shadow);}.legacy-media::after{content:"";position:absolute;inset:0;border:1px solid oklch(.7651 calc(var(--ol-c-pat)*.801) var(--ol-h-pat) / .26);pointer-events:none;}.legacy-media video{width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.08);}.legacy-title{font-size:clamp(50px,6.5vw,105px);line-height:.93;font-weight:400;letter-spacing:-.04em;margin:18px 0 30px;}.legacy-copy{color:oklch(.966 calc(var(--ol-c-body)*.07) var(--ol-h-pap) / 0.74);max-width:540px;}.legacy-index{font-family:var(--font-display);font-size:clamp(42px,5vw,72px);letter-spacing:.02em;color:oklch(.9046 calc(var(--ol-c-body)*.11) var(--ol-h) / 0.82);}.cp-grid{grid-template-columns:repeat(3,minmax(0,1fr));background:transparent;gap:clamp(20px,2vw,34px);}.cp-card{padding:0;background:oklch(.2492 calc(var(--ol-c-body)*.721) var(--ol-h));border:1px solid oklch(.9046 calc(var(--ol-c-body)*.11) var(--ol-h) / .13);overflow:hidden;}.cp-card .cp-media{aspect-ratio:4/5;}.cp-card .cp-meta{padding:28px;}.cp-media{position:relative;overflow:hidden;background:oklch(.1248 calc(var(--ol-c-body)*.237) var(--ol-h));}.cp-media video,.cp-media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 1.6s var(--ol-ease),filter 1.2s;}.cp-card:hover .cp-media video,.cp-card:hover .cp-media img{transform:scale(1.025);}.cp-title{font-size:clamp(30px,3vw,50px);font-weight:400;line-height:1.02;letter-spacing:-.03em;margin:14px 0;}.cp-copy{color:oklch(.966 calc(var(--ol-c-body)*.07) var(--ol-h-pap) / 0.75);}.cp-page-hero{min-height:92svh;display:grid;align-items:end;padding:160px var(--pad) 100px;background:radial-gradient(circle at 72% 24%,oklch(.3763 calc(var(--ol-c-body)*.911) var(--ol-h)) 0,oklch(.2787 calc(var(--ol-c-body)*.839) var(--ol-h)) 35%,oklch(.2161 calc(var(--ol-c-body)*.637) var(--ol-h)) 72%);}.cp-page-hero>div{width:min(1180px,100%);margin:auto;}.cp-page-title{font-size:clamp(74px,11vw,178px);margin:20px 0 32px;}.cp-page-intro{max-width:760px;font-family:var(--font-editorial);font-size:clamp(21px,2vw,31px);color:oklch(.966 calc(var(--ol-c-body)*.07) var(--ol-h-pap) / 0.74);}.cp-article{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr);min-height:92svh;background:var(--ol-night);border-top:1px solid var(--ol-line);}.cp-article:nth-of-type(even){grid-template-columns:minmax(360px,.92fr) minmax(0,1.08fr);}.cp-article:nth-of-type(even) .cp-media{order:2;}.cp-article>.cp-media{min-height:80svh;}.cp-article>.cp-media video{object-fit:cover;width:100%;height:100%;}.cp-content{display:flex;flex-direction:column;justify-content:center;padding:clamp(52px,8vw,130px);}.cp-content .cp-title{font-size:clamp(48px,6vw,98px);max-width:720px;}.cp-content .cp-copy{font-size:clamp(17px,1.3vw,21px);max-width:590px;}.cp-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:34px;}.ph,.ph-full,.pensee-hero,.dxb-hero{position:relative;min-height:78svh;display:flex;align-items:flex-end;overflow:hidden;background:var(--ol-night);}.ph-bg,.ph-full-bg,.dxb-hero video,.pensee-cine video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}.ph-bg::after,.ph-full-veil,.dxb-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,oklch(.147 calc(var(--ol-c-body)*.375) var(--ol-h) / .82),oklch(.147 calc(var(--ol-c-body)*.375) var(--ol-h) / .24)),linear-gradient(0deg,oklch(.147 calc(var(--ol-c-body)*.375) var(--ol-h) / .78),transparent 55%);}.ph>.container,.ph-full-body,.dxb-hero .container{position:relative;z-index:2;padding-top:160px;padding-bottom:90px;}.ph-h1,.pj-h1,.dxb-h1,.pensee-h1{font-size:clamp(64px,9vw,150px);margin:18px 0 24px;}.ph-sub,.pj-loc{font-family:var(--font-editorial);font-size:clamp(20px,1.8vw,28px);color:oklch(.966 calc(var(--ol-c-body)*.07) var(--ol-h-pap) / 0.74);}.split{display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:clamp(50px,9vw,140px);align-items:start;}.stmt{font-family:var(--font-display);font-size:clamp(44px,5vw,82px);line-height:1.03;}.body p,.pj-sec p,.dbloc-i{max-width:70ch;}.pj-sec{border-top:1px solid var(--ol-line);}.pj-sec-n{font-family:var(--font-display);font-size:clamp(64px,8vw,126px);color:oklch(.9046 calc(var(--ol-c-body)*.11) var(--ol-h) / 0.82);}.pj-sec-t{font-family:var(--font-display);font-size:clamp(42px,5vw,82px);font-weight:400;}.dbloc{display:grid;grid-template-columns:minmax(180px,.4fr) minmax(0,1fr);gap:30px;padding:28px 0;border-top:1px solid currentColor;}.dbloc-l{font-family:var(--font-ui);font-size:9px;letter-spacing:.25em;text-transform:uppercase;opacity:.55;}.dbloc-v{font-family:var(--font-editorial);font-size:clamp(20px,2vw,29px);}.proj-iw,.dxb-ph,.fig,.sc-live-fig{position:relative;overflow:hidden;background:oklch(.206 calc(var(--ol-c-body)*.525) var(--ol-h));}.proj-iw img,.dxb-ph img,.fig img,.sc-live-fig img{display:block;width:100%;height:100%;object-fit:cover;transition:transform 1.35s var(--ol-ease),filter 1.35s;}.proj-iw:hover img,.dxb-ph:hover img,.fig:hover img{transform:scale(1.025);}.ba{--pos:50%;position:relative;overflow:hidden;aspect-ratio:16/10;background:oklch(.206 calc(var(--ol-c-body)*.525) var(--ol-h));}.ba-before,.ba-after{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}.ba-after{clip-path:inset(0 calc(100% - var(--pos)) 0 0);}.ba-handle{position:absolute;top:0;bottom:0;left:var(--pos);width:1px;background:#fff;transform:translateX(-.5px);}.ba-range{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:ew-resize;}#vg-btn{position:fixed;left:24px;bottom:24px;z-index:700;}#vg-trigger{display:flex;align-items:center;gap:11px;padding:12px 15px;border:1px solid oklch(.9046 calc(var(--ol-c-body)*.11) var(--ol-h) / .24);background:oklch(.2161 calc(var(--ol-c-body)*.637) var(--ol-h) / .78);color:#fff;backdrop-filter:blur(14px);cursor:pointer;font-family:var(--font-ui);font-size:8px;letter-spacing:.22em;text-transform:uppercase;}#vg-trigger svg{width:18px;}#vg-panel{position:fixed;left:24px;bottom:82px;z-index:710;width:min(390px,calc(100vw - 48px));max-height:76vh;overflow:auto;background:oklch(.2161 calc(var(--ol-c-body)*.637) var(--ol-h) / .98);border:1px solid oklch(.7651 calc(var(--ol-c-pat)*.801) var(--ol-h-pat) / .26);box-shadow:var(--ol-shadow);opacity:0;visibility:hidden;transform:translateY(16px);transition:.45s var(--ol-ease);}#vg-panel.open{opacity:1;visibility:visible;transform:none;}.vg-head{display:flex;justify-content:space-between;padding:22px;border-bottom:1px solid var(--ol-line);}.vg-title{font-family:var(--font-display);font-size:27px;}.vg-sub,.vg-step-s{font-family:var(--font-ui);font-size:8px;letter-spacing:.18em;text-transform:uppercase;color:var(--ol-silver);}.vg-cl{border:0;background:none;color:#fff;font-size:24px;}.vg-step{display:grid;grid-template-columns:42px 1fr 24px;align-items:center;gap:12px;padding:18px 22px;border-bottom:1px solid var(--ol-line);cursor:pointer;transition:background .3s;}.vg-step:hover{background:oklch(.966 calc(var(--ol-c-body)*.07) var(--ol-h-pap) / .05);}.vg-step-n{font-family:var(--font-display);font-size:20px;color:oklch(.9046 calc(var(--ol-c-body)*.11) var(--ol-h) / 0.81);}.vg-step-t{font-family:var(--font-editorial);font-size:19px;}.vg-ai{padding:22px;}.vg-ai-t{font-family:var(--font-ui);font-size:8px;letter-spacing:.22em;text-transform:uppercase;color:var(--ol-bronze-soft);}.ft{background:oklch(.147 calc(var(--ol-c-body)*.375) var(--ol-h));color:var(--ol-carrara);padding:80px 0 26px;border-top:1px solid var(--ol-line);}.ft-top{display:flex;justify-content:space-between;gap:50px;}.ft-name{display:block;font-size:24px;letter-spacing:.16em;margin-top:16px;}.ft-tag{font-family:var(--font-ui);font-size:8px;letter-spacing:.22em;text-transform:uppercase;color:var(--ol-silver);display:block;margin-top:10px;}.ft-nav{display:grid;grid-template-columns:repeat(2,minmax(120px,1fr));gap:14px 40px;font-family:var(--font-ui);font-size:9px;letter-spacing:.15em;text-transform:uppercase;}.ft-bot{padding-top:24px;}.ft-cp-wrap{display:flex;justify-content:space-between;font-family:var(--font-ui);font-size:8px;letter-spacing:.13em;text-transform:uppercase;color:oklch(.9046 calc(var(--ol-c-body)*.11) var(--ol-h) / 0.81);}.oc-sound-toggle{position:fixed;right:92px;bottom:34px;z-index:750;border:0;background:none;color:oklch(.966 calc(var(--ol-c-body)*.07) var(--ol-h-pap) / 0.74);font-family:var(--font-ui);font-size:8px;letter-spacing:.2em;text-transform:uppercase;cursor:pointer;}.oc-sound-toggle i{font-style:normal;color:var(--ol-silver);margin-left:7px;}.oc-sound-toggle.is-on i{color:var(--ol-bronze-soft);}.rv,.ol-reveal,.sf-item,.fig,.dbloc,.sc-photo,.proj-iw,.dxb-ph,.folco-portrait,.ey,.stmt-q,.kicker,.eyebrow,.cine-meta{opacity:1;transform:none;}.js .rv:not(.in),.js .ol-reveal:not(.in),.js .sf-item:not(.in),.js .fig:not(.in),.js .dbloc:not(.in),.js .sc-photo:not(.in),.js .proj-iw:not(.in),.js .dxb-ph:not(.in),.js .folco-portrait:not(.in){opacity:0;transform:translateY(34px);filter:blur(3px);}.js .rv.in,.js .ol-reveal.in,.js .sf-item.in,.js .fig.in,.js .dbloc.in,.js .sc-photo.in,.js .proj-iw.in,.js .dxb-ph.in,.js .folco-portrait.in{opacity:1;transform:none;filter:none;transition:opacity 1s var(--ol-ease),transform 1s var(--ol-ease),filter 1s;}.oc-grain{position:fixed;inset:0;pointer-events:none;z-index:9990;opacity:.026;background-image:url("../assets/grain.png");background-repeat:repeat;mix-blend-mode:soft-light;}.oc-eco .oc-grain{display:none;}.oc-eco video:not(#hero-vid){filter:none;}.redirect-page{min-height:100svh;display:grid;place-content:center;text-align:center;padding:var(--pad);background:var(--ol-night);gap:24px;}.redirect-page .display{font-size:clamp(52px,7vw,112px);}@media (max-width:1180px){.nav{position:fixed;inset:0;background:oklch(.1617 calc(var(--ol-c-body)*.415) var(--ol-h) / .985);display:flex;flex-direction:column;justify-content:center;gap:18px;opacity:0;visibility:hidden;transform:translateY(-16px);transition:.5s var(--ol-ease);}body.nopen .nav{opacity:1;visibility:visible;transform:none;}.nav .nl{font-family:var(--font-display);font-size:clamp(28px,5vw,52px);letter-spacing:.02em;text-transform:none;padding:4px;}.ncta{margin-top:16px;}.lang-sw{margin-top:12px;}.ntog{display:block;position:relative;z-index:2;}.sf-grid,.lux-figs{grid-template-columns:1fr;}.cp-grid{grid-template-columns:repeat(2,1fr);}.hd{height:78px;}}@media (max-width:820px){:root{--pad:22px;}.hero-body{padding-top:150px;}.hero-h1{font-size:clamp(58px,15vw,94px);}.hero-sub{max-width:92%;}.dubai-band{justify-content:flex-start;overflow:auto;white-space:nowrap;}.dubai-band-cta{display:none;}.legacy-grid,.split{grid-template-columns:1fr;}.legacy-grid{gap:42px;}.cp-grid{grid-template-columns:1fr;}.cp-article,.cp-article:nth-of-type(even){grid-template-columns:1fr;min-height:0;}.cp-article:nth-of-type(even) .cp-media{order:0;}.cp-article>.cp-media{min-height:68svh;}.cp-content{padding:56px 22px 80px;}.cp-page-hero{padding-inline:22px;}.cp-page-title{font-size:clamp(68px,18vw,112px);}.dbloc{grid-template-columns:1fr;}.ft-top,.ft-cp-wrap{flex-direction:column;}.ft-nav{margin-top:30px;}.oc-sound-toggle{right:88px;}.hero-sc{display:none;}}@media (max-width:560px){.hero-h1{font-size:16vw;}.hero-act{flex-direction:column;align-items:stretch;}.btn{width:100%;}.cp-actions .btn{width:auto;flex:1;}.display{font-size:15vw;}.oc-sound-toggle{right:82px;bottom:43px;}.ft-nav{grid-template-columns:1fr;}}@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms;animation-iteration-count:1;scroll-behavior:auto;transition-duration:.01ms;}.js .rv,.js .ol-reveal,.js .sf-item,.js .fig,.js .dbloc,.js .sc-photo,.js .proj-iw,.js .dxb-ph,.js .folco-portrait{opacity:1;transform:none;filter:none;}}body[data-page="404"] html,body[data-page="404"]{margin:0;height:100%;}body[data-page="404"]{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:34px;padding:6vh 6vw;background:radial-gradient(60% 50% at 50% 8%, oklch(.8862 calc(var(--ol-c-jade)*.691) var(--ol-h-jade) / .08), rgba(0,0,0,0) 60%),
      radial-gradient(120% 90% at 50% 34%, oklch(.2817 calc(var(--ol-c-body)*.796) var(--ol-h)) 0%, oklch(.1793 calc(var(--ol-c-body)*.099) var(--ol-h)) 60%, oklch(.2161 calc(var(--ol-c-body)*.637) var(--ol-h)) 100%);font-family:Georgia, "Times New Roman", serif;color:oklch(.941 calc(var(--ol-c-body)*.109) var(--ol-h));text-align:center;}body[data-page="404"]::before{content:"";position:fixed;top:0;left:0;right:0;height:2px;pointer-events:none;background:linear-gradient(90deg, transparent 0%, oklch(.5877 calc(var(--ol-c-jade)*.791) var(--ol-h-jade) / .85) 18%,
        oklch(.8948 calc(var(--ol-c-jade)*.7) var(--ol-h-jade) / .95) 50%,
        oklch(.5877 calc(var(--ol-c-jade)*.791) var(--ol-h-jade) / .85) 82%, transparent 100%) no-repeat,
      linear-gradient(90deg, oklch(.7625 calc(var(--ol-c-pat)*.821) var(--ol-h-pat) / .15), oklch(.7625 calc(var(--ol-c-pat)*.821) var(--ol-h-pat) / .15));background-size:60% 100%, 100% 100%;background-position:-150% 0, 0 0;animation:prisme 5s linear infinite;}@keyframes prisme{0% { background-position: -150% 0, 0 0; }
    32%, 100% { background-position: 250% 0, 0 0; }}body[data-page="404"] figure{margin:0;width:min(680px, 92vw);border:1px solid oklch(.8462 calc(var(--ol-c-body)*.112) var(--ol-h) / .14);box-shadow:0 46px 90px -30px rgba(0,0,0,.6);}body[data-page="404"] figure img{display:block;width:100%;height:auto;}body[data-page="404"] a.retour{color:oklch(.8242 calc(var(--ol-c-pat)*.806) var(--ol-h-pat));text-decoration:none;font-size:12px;letter-spacing:.28em;text-transform:uppercase;border-bottom:1px solid oklch(.8188 calc(var(--ol-c-jade)*.698) var(--ol-h-jade) / .45);padding-bottom:6px;transition:border-color .4s ease, color .4s ease;}body[data-page="404"] a.retour:hover,body[data-page="404"] a.retour:focus-visible{color:oklch(.9687 calc(var(--ol-c-body)*.058) var(--ol-h-pap));border-color:oklch(.9687 calc(var(--ol-c-body)*.058) var(--ol-h-pap) / 0.74);}body[data-page="404"] a.retour:focus-visible{outline:1px solid oklch(.8188 calc(var(--ol-c-jade)*.698) var(--ol-h-jade) / .75);outline-offset:4px;}body[data-page="404"] footer{font-size:10px;letter-spacing:.24em;text-transform:uppercase;color:oklch(.8462 calc(var(--ol-c-body)*.112) var(--ol-h) / 0.9);}@media (prefers-reduced-motion: reduce){body[data-page="404"]::before{animation:none;}}body[data-page="projets-metz"] .ph-full{min-height:92vh;position:relative;overflow:hidden;display:flex;align-items:flex-end;background:oklch(.2684 calc(var(--ol-c-body)*.641) var(--ol-h));}body[data-page="projets-metz"] .ph-full-bg{position:absolute;inset:0;background-size:cover;background-position:center;opacity:.52;}body[data-page="projets-metz"] .ph-full-veil{position:absolute;inset:0;background:linear-gradient(to top,oklch(.4409 calc(var(--ol-c-body)*.349) var(--ol-h) / .88)0%,oklch(.4409 calc(var(--ol-c-body)*.349) var(--ol-h) / .32)50%,oklch(.4409 calc(var(--ol-c-body)*.349) var(--ol-h) / .16)100%);}body[data-page="projets-metz"] .ph-full-body{position:relative;z-index:2;padding:0 var(--pad) clamp(52px,7vw,96px);width:100%;margin-top:72px;max-width:calc(var(--max) + var(--pad)*2);margin-left:auto;margin-right:auto;}body[data-page="projets-metz"] .pj-cat{font-family:var(--font-l);font-size:8px;font-weight:400;letter-spacing:6px;text-transform:uppercase;color:oklch(.941 calc(var(--ol-c-body)*.109) var(--ol-h) / 0.78);display:block;margin-bottom:14px;}body[data-page="projets-metz"] .pj-h1{font-family:var(--font-s);font-size:clamp(44px,8vw,108px);font-weight:300;line-height:.98;color:oklch(.9687 calc(var(--ol-c-body)*.058) var(--ol-h-pap) / .94);letter-spacing:-1px;margin-bottom:8px;}body[data-page="projets-metz"] .pj-h1 em{font-style:italic;font-weight:300;color:oklch(.8462 calc(var(--ol-c-body)*.112) var(--ol-h) / 0.9);}body[data-page="projets-metz"] .pj-loc{font-family:var(--font-l);font-size:8.5px;font-weight:400;letter-spacing:5px;text-transform:uppercase;color:oklch(.8462 calc(var(--ol-c-body)*.112) var(--ol-h) / 0.9);}body[data-page="projets-metz"] .dbloc{display:grid;grid-template-columns:repeat(3,1fr);border:.5px solid oklch(.4409 calc(var(--ol-c-body)*.349) var(--ol-h) / .16);margin:48px 0;}body[data-page="projets-metz"] .dbloc-i{padding:22px 24px;border-right:.5px solid oklch(.4409 calc(var(--ol-c-body)*.349) var(--ol-h) / .16);}body[data-page="projets-metz"] .dbloc-i:last-child,body[data-page="projets-metz"] .dbloc-i:nth-child(3){border-right:none;}body[data-page="projets-metz"] .dbloc-l{font-family:var(--font-l);font-size:7.5px;font-weight:400;letter-spacing:4px;text-transform:uppercase;color:var(--ol-vein);display:block;margin-bottom:7px;}body[data-page="projets-metz"] .dbloc-v{font-family:var(--font-s);font-size:16px;font-weight:300;color:var(--ol-platinum);}body[data-page="projets-metz"] .dbloc-v em{font-style:italic;color:var(--ol-velvet);}body[data-page="projets-metz"] .pj-sec{padding:clamp(52px,6vw,88px) 0;border-bottom:.5px solid oklch(.4409 calc(var(--ol-c-body)*.349) var(--ol-h) / .07);}body[data-page="projets-metz"] .pj-sec-n{font-family:var(--font-l);font-size:8px;font-weight:400;letter-spacing:5px;text-transform:uppercase;color:var(--ol-vein);display:block;margin-bottom:20px;}body[data-page="projets-metz"] .pj-sec-t{font-family:var(--font-s);font-size:clamp(22px,2.8vw,36px);font-weight:300;color:var(--ol-platinum);margin-bottom:18px;}body[data-page="projets-metz"] .pj-sec-t em{font-style:italic;color:var(--ol-velvet);}body[data-page="projets-metz"] .tl{list-style:none;margin-top:24px;}body[data-page="projets-metz"] .tl-i{display:flex;gap:24px;padding:16px 0;border-bottom:.5px solid oklch(.4409 calc(var(--ol-c-body)*.349) var(--ol-h) / .07);}body[data-page="projets-metz"] .tl-i:first-child{border-top:.5px solid oklch(.4409 calc(var(--ol-c-body)*.349) var(--ol-h) / .07);}body[data-page="projets-metz"] .tl-d{font-family:var(--font-l);font-size:8px;font-weight:400;letter-spacing:3px;text-transform:uppercase;color:var(--ol-vein);min-width:90px;flex-shrink:0;padding-top:2px;}body[data-page="projets-metz"] .tl-t{font-family:var(--font-b);font-size:14.5px;line-height:1.85;color:var(--ol-velvet);}body[data-page="projets-metz"] .live-pill{display:inline-flex;align-items:center;gap:8px;background:oklch(.4409 calc(var(--ol-c-body)*.349) var(--ol-h) / .05);border:.5px solid oklch(.4409 calc(var(--ol-c-body)*.349) var(--ol-h) / .1);padding:7px 14px;margin-bottom:20px;}body[data-page="projets-metz"] .live-dot{width:5px;height:5px;border-radius:50%;background:oklch(.2684 calc(var(--ol-c-body)*.641) var(--ol-h));animation:lp 2s infinite;flex-shrink:0;}@keyframes lp{0%,100%{opacity:1}50%{opacity:.3}}body[data-page="projets-metz"] .live-lbl{font-family:var(--font-l);font-size:7.5px;font-weight:400;letter-spacing:4px;text-transform:uppercase;color:var(--ol-velvet);}body[data-page="projets-metz"] .bc{display:flex;align-items:center;gap:8px;padding:14px 0;border-bottom:.5px solid oklch(.4409 calc(var(--ol-c-body)*.349) var(--ol-h) / .07);}body[data-page="projets-metz"] .bc a{font-family:var(--font-l);font-size:7.5px;font-weight:400;letter-spacing:3px;text-transform:uppercase;color:var(--ol-vein);}body[data-page="projets-metz"] .bc-s{color:oklch(.8462 calc(var(--ol-c-body)*.112) var(--ol-h) / 0.89);font-size:10px;}body[data-page="projets-metz"] .bc-cur{font-family:var(--font-l);font-size:7.5px;font-weight:400;letter-spacing:3px;text-transform:uppercase;color:var(--ol-velvet);}@media (max-width:768px){body[data-page="projets-metz"] .dbloc{grid-template-columns:1fr 1fr;}body[data-page="projets-metz"] .dbloc-i:nth-child(2){border-right:none;}body[data-page="projets-metz"] .dbloc-i:nth-child(3){border-top:.5px solid oklch(.4409 calc(var(--ol-c-body)*.349) var(--ol-h) / .16);border-right:.5px solid oklch(.4409 calc(var(--ol-c-body)*.349) var(--ol-h) / .16);}body[data-page="projets-metz"] .dbloc-i:last-child{border-top:.5px solid oklch(.4409 calc(var(--ol-c-body)*.349) var(--ol-h) / .16);}}body[data-page="projets-neuilly"] .ph-full{min-height:92vh;position:relative;overflow:hidden;display:flex;align-items:flex-end;background:oklch(.2684 calc(var(--ol-c-body)*.641) var(--ol-h));}body[data-page="projets-neuilly"] .ph-full-bg{position:absolute;inset:0;background-size:cover;background-position:center;opacity:.52;}body[data-page="projets-neuilly"] .ph-full-veil{position:absolute;inset:0;background:linear-gradient(to top,oklch(.4409 calc(var(--ol-c-body)*.349) var(--ol-h) / .88)0%,oklch(.4409 calc(var(--ol-c-body)*.349) var(--ol-h) / .32)50%,oklch(.4409 calc(var(--ol-c-body)*.349) var(--ol-h) / .16)100%);}body[data-page="projets-neuilly"] .ph-full-body{position:relative;z-index:2;padding:0 var(--pad) clamp(52px,7vw,96px);width:100%;margin-top:72px;max-width:calc(var(--max) + var(--pad)*2);margin-left:auto;margin-right:auto;}body[data-page="projets-neuilly"] .pj-cat{font-family:var(--font-l);font-size:8px;font-weight:400;letter-spacing:6px;text-transform:uppercase;color:oklch(.941 calc(var(--ol-c-body)*.109) var(--ol-h) / 0.78);display:block;margin-bottom:14px;}body[data-page="projets-neuilly"] .pj-h1{font-family:var(--font-s);font-size:clamp(44px,8vw,108px);font-weight:300;line-height:.98;color:oklch(.9687 calc(var(--ol-c-body)*.058) var(--ol-h-pap) / .94);letter-spacing:-1px;margin-bottom:8px;}body[data-page="projets-neuilly"] .pj-h1 em{font-style:italic;font-weight:300;color:oklch(.8462 calc(var(--ol-c-body)*.112) var(--ol-h) / 0.9);}body[data-page="projets-neuilly"] .pj-loc{font-family:var(--font-l);font-size:8.5px;font-weight:400;letter-spacing:5px;text-transform:uppercase;color:oklch(.8462 calc(var(--ol-c-body)*.112) var(--ol-h) / 0.9);}body[data-page="projets-neuilly"] .dbloc{display:grid;grid-template-columns:repeat(3,1fr);border:.5px solid oklch(.4409 calc(var(--ol-c-body)*.349) var(--ol-h) / .16);margin:48px 0;}body[data-page="projets-neuilly"] .dbloc-i{padding:22px 24px;border-right:.5px solid oklch(.4409 calc(var(--ol-c-body)*.349) var(--ol-h) / .16);}body[data-page="projets-neuilly"] .dbloc-i:last-child,body[data-page="projets-neuilly"] .dbloc-i:nth-child(3){border-right:none;}body[data-page="projets-neuilly"] .dbloc-l{font-family:var(--font-l);font-size:7.5px;font-weight:400;letter-spacing:4px;text-transform:uppercase;color:var(--ol-vein);display:block;margin-bottom:7px;}body[data-page="projets-neuilly"] .dbloc-v{font-family:var(--font-s);font-size:16px;font-weight:300;color:var(--ol-platinum);}body[data-page="projets-neuilly"] .dbloc-v em{font-style:italic;color:var(--ol-velvet);}body[data-page="projets-neuilly"] .pj-sec{padding:clamp(52px,6vw,88px) 0;border-bottom:.5px solid oklch(.4409 calc(var(--ol-c-body)*.349) var(--ol-h) / .07);}body[data-page="projets-neuilly"] .pj-sec-n{font-family:var(--font-l);font-size:8px;font-weight:400;letter-spacing:5px;text-transform:uppercase;color:var(--ol-vein);display:block;margin-bottom:20px;}body[data-page="projets-neuilly"] .pj-sec-t{font-family:var(--font-s);font-size:clamp(22px,2.8vw,36px);font-weight:300;color:var(--ol-platinum);margin-bottom:18px;}body[data-page="projets-neuilly"] .pj-sec-t em{font-style:italic;color:var(--ol-velvet);}body[data-page="projets-neuilly"] .tl{list-style:none;margin-top:24px;}body[data-page="projets-neuilly"] .tl-i{display:flex;gap:24px;padding:16px 0;border-bottom:.5px solid oklch(.4409 calc(var(--ol-c-body)*.349) var(--ol-h) / .07);}body[data-page="projets-neuilly"] .tl-i:first-child{border-top:.5px solid oklch(.4409 calc(var(--ol-c-body)*.349) var(--ol-h) / .07);}body[data-page="projets-neuilly"] .tl-d{font-family:var(--font-l);font-size:8px;font-weight:400;letter-spacing:3px;text-transform:uppercase;color:var(--ol-vein);min-width:90px;flex-shrink:0;padding-top:2px;}body[data-page="projets-neuilly"] .tl-t{font-family:var(--font-b);font-size:14.5px;line-height:1.85;color:var(--ol-velvet);}body[data-page="projets-neuilly"] .live-pill{display:inline-flex;align-items:center;gap:8px;background:oklch(.4409 calc(var(--ol-c-body)*.349) var(--ol-h) / .05);border:.5px solid oklch(.4409 calc(var(--ol-c-body)*.349) var(--ol-h) / .1);padding:7px 14px;margin-bottom:20px;}body[data-page="projets-neuilly"] .live-dot{width:5px;height:5px;border-radius:50%;background:oklch(.2684 calc(var(--ol-c-body)*.641) var(--ol-h));animation:lp 2s infinite;flex-shrink:0;}@keyframes lp{0%,100%{opacity:1}50%{opacity:.3}}body[data-page="projets-neuilly"] .live-lbl{font-family:var(--font-l);font-size:7.5px;font-weight:400;letter-spacing:4px;text-transform:uppercase;color:var(--ol-velvet);}body[data-page="projets-neuilly"] .bc{display:flex;align-items:center;gap:8px;padding:14px 0;border-bottom:.5px solid oklch(.4409 calc(var(--ol-c-body)*.349) var(--ol-h) / .07);}body[data-page="projets-neuilly"] .bc a{font-family:var(--font-l);font-size:7.5px;font-weight:400;letter-spacing:3px;text-transform:uppercase;color:var(--ol-vein);}body[data-page="projets-neuilly"] .bc-s{color:oklch(.8462 calc(var(--ol-c-body)*.112) var(--ol-h) / 0.89);font-size:10px;}body[data-page="projets-neuilly"] .bc-cur{font-family:var(--font-l);font-size:7.5px;font-weight:400;letter-spacing:3px;text-transform:uppercase;color:var(--ol-velvet);}@media (max-width:768px){body[data-page="projets-neuilly"] .dbloc{grid-template-columns:1fr 1fr;}body[data-page="projets-neuilly"] .dbloc-i:nth-child(2){border-right:none;}body[data-page="projets-neuilly"] .dbloc-i:nth-child(3){border-top:.5px solid oklch(.4409 calc(var(--ol-c-body)*.349) var(--ol-h) / .16);border-right:.5px solid oklch(.4409 calc(var(--ol-c-body)*.349) var(--ol-h) / .16);}body[data-page="projets-neuilly"] .dbloc-i:last-child{border-top:.5px solid oklch(.4409 calc(var(--ol-c-body)*.349) var(--ol-h) / .16);}}body[data-page="projets-reims"] .ph-full{min-height:92vh;position:relative;overflow:hidden;display:flex;align-items:flex-end;background:oklch(.2684 calc(var(--ol-c-body)*.641) var(--ol-h));}body[data-page="projets-reims"] .ph-full-bg{position:absolute;inset:0;background-size:cover;background-position:center;opacity:.52;}body[data-page="projets-reims"] .ph-full-veil{position:absolute;inset:0;background:linear-gradient(to top,oklch(.4409 calc(var(--ol-c-body)*.349) var(--ol-h) / .88)0%,oklch(.4409 calc(var(--ol-c-body)*.349) var(--ol-h) / .32)50%,oklch(.4409 calc(var(--ol-c-body)*.349) var(--ol-h) / .16)100%);}body[data-page="projets-reims"] .ph-full-body{position:relative;z-index:2;padding:0 var(--pad) clamp(52px,7vw,96px);width:100%;margin-top:72px;max-width:calc(var(--max) + var(--pad)*2);margin-left:auto;margin-right:auto;}body[data-page="projets-reims"] .pj-cat{font-family:var(--font-l);font-size:8px;font-weight:400;letter-spacing:6px;text-transform:uppercase;color:oklch(.941 calc(var(--ol-c-body)*.109) var(--ol-h) / 0.78);display:block;margin-bottom:14px;}body[data-page="projets-reims"] .pj-h1{font-family:var(--font-s);font-size:clamp(44px,8vw,108px);font-weight:300;line-height:.98;color:oklch(.9687 calc(var(--ol-c-body)*.058) var(--ol-h-pap) / .94);letter-spacing:-1px;margin-bottom:8px;}body[data-page="projets-reims"] .pj-h1 em{font-style:italic;font-weight:300;color:oklch(.8462 calc(var(--ol-c-body)*.112) var(--ol-h) / 0.9);}body[data-page="projets-reims"] .pj-loc{font-family:var(--font-l);font-size:8.5px;font-weight:400;letter-spacing:5px;text-transform:uppercase;color:oklch(.8462 calc(var(--ol-c-body)*.112) var(--ol-h) / 0.9);}body[data-page="projets-reims"] .dbloc{display:grid;grid-template-columns:repeat(3,1fr);border:.5px solid oklch(.4409 calc(var(--ol-c-body)*.349) var(--ol-h) / .16);margin:48px 0;}body[data-page="projets-reims"] .dbloc-i{padding:22px 24px;border-right:.5px solid oklch(.4409 calc(var(--ol-c-body)*.349) var(--ol-h) / .16);}body[data-page="projets-reims"] .dbloc-i:last-child,body[data-page="projets-reims"] .dbloc-i:nth-child(3){border-right:none;}body[data-page="projets-reims"] .dbloc-l{font-family:var(--font-l);font-size:7.5px;font-weight:400;letter-spacing:4px;text-transform:uppercase;color:var(--ol-vein);display:block;margin-bottom:7px;}body[data-page="projets-reims"] .dbloc-v{font-family:var(--font-s);font-size:16px;font-weight:300;color:var(--ol-platinum);}body[data-page="projets-reims"] .dbloc-v em{font-style:italic;color:var(--ol-velvet);}body[data-page="projets-reims"] .pj-sec{padding:clamp(52px,6vw,88px) 0;border-bottom:.5px solid oklch(.4409 calc(var(--ol-c-body)*.349) var(--ol-h) / .07);}body[data-page="projets-reims"] .pj-sec-n{font-family:var(--font-l);font-size:8px;font-weight:400;letter-spacing:5px;text-transform:uppercase;color:var(--ol-vein);display:block;margin-bottom:20px;}body[data-page="projets-reims"] .pj-sec-t{font-family:var(--font-s);font-size:clamp(22px,2.8vw,36px);font-weight:300;color:var(--ol-platinum);margin-bottom:18px;}body[data-page="projets-reims"] .pj-sec-t em{font-style:italic;color:var(--ol-velvet);}body[data-page="projets-reims"] .tl{list-style:none;margin-top:24px;}body[data-page="projets-reims"] .tl-i{display:flex;gap:24px;padding:16px 0;border-bottom:.5px solid oklch(.4409 calc(var(--ol-c-body)*.349) var(--ol-h) / .07);}body[data-page="projets-reims"] .tl-i:first-child{border-top:.5px solid oklch(.4409 calc(var(--ol-c-body)*.349) var(--ol-h) / .07);}body[data-page="projets-reims"] .tl-d{font-family:var(--font-l);font-size:8px;font-weight:400;letter-spacing:3px;text-transform:uppercase;color:var(--ol-vein);min-width:90px;flex-shrink:0;padding-top:2px;}body[data-page="projets-reims"] .tl-t{font-family:var(--font-b);font-size:14.5px;line-height:1.85;color:var(--ol-velvet);}body[data-page="projets-reims"] .live-pill{display:inline-flex;align-items:center;gap:8px;background:oklch(.4409 calc(var(--ol-c-body)*.349) var(--ol-h) / .05);border:.5px solid oklch(.4409 calc(var(--ol-c-body)*.349) var(--ol-h) / .1);padding:7px 14px;margin-bottom:20px;}body[data-page="projets-reims"] .live-dot{width:5px;height:5px;border-radius:50%;background:oklch(.2684 calc(var(--ol-c-body)*.641) var(--ol-h));animation:lp 2s infinite;flex-shrink:0;}@keyframes lp{0%,100%{opacity:1}50%{opacity:.3}}body[data-page="projets-reims"] .live-lbl{font-family:var(--font-l);font-size:7.5px;font-weight:400;letter-spacing:4px;text-transform:uppercase;color:var(--ol-velvet);}body[data-page="projets-reims"] .bc{display:flex;align-items:center;gap:8px;padding:14px 0;border-bottom:.5px solid oklch(.4409 calc(var(--ol-c-body)*.349) var(--ol-h) / .07);}body[data-page="projets-reims"] .bc a{font-family:var(--font-l);font-size:7.5px;font-weight:400;letter-spacing:3px;text-transform:uppercase;color:var(--ol-vein);}body[data-page="projets-reims"] .bc-s{color:oklch(.8462 calc(var(--ol-c-body)*.112) var(--ol-h) / 0.89);font-size:10px;}body[data-page="projets-reims"] .bc-cur{font-family:var(--font-l);font-size:7.5px;font-weight:400;letter-spacing:3px;text-transform:uppercase;color:var(--ol-velvet);}@media (max-width:768px){body[data-page="projets-reims"] .dbloc{grid-template-columns:1fr 1fr;}body[data-page="projets-reims"] .dbloc-i:nth-child(2){border-right:none;}body[data-page="projets-reims"] .dbloc-i:nth-child(3){border-top:.5px solid oklch(.4409 calc(var(--ol-c-body)*.349) var(--ol-h) / .16);border-right:.5px solid oklch(.4409 calc(var(--ol-c-body)*.349) var(--ol-h) / .16);}body[data-page="projets-reims"] .dbloc-i:last-child{border-top:.5px solid oklch(.4409 calc(var(--ol-c-body)*.349) var(--ol-h) / .16);}}body[data-page="projets-saint-cloud"] .ph-full{min-height:92vh;position:relative;overflow:hidden;display:flex;align-items:flex-end;background:oklch(.2684 calc(var(--ol-c-body)*.641) var(--ol-h));}body[data-page="projets-saint-cloud"] .ph-full-bg{position:absolute;inset:0;background-size:cover;background-position:center;opacity:.52;}body[data-page="projets-saint-cloud"] .ph-full-veil{position:absolute;inset:0;background:linear-gradient(to top,oklch(.4409 calc(var(--ol-c-body)*.349) var(--ol-h) / .88)0%,oklch(.4409 calc(var(--ol-c-body)*.349) var(--ol-h) / .3)50%,oklch(.4409 calc(var(--ol-c-body)*.349) var(--ol-h) / .05)100%);}body[data-page="projets-saint-cloud"] .ph-full-body{position:relative;z-index:2;padding:0 var(--pad) clamp(52px,7vw,96px);width:100%;margin-top:72px;max-width:calc(var(--max) + var(--pad)*2);margin-left:auto;margin-right:auto;}body[data-page="projets-saint-cloud"] .pj-cat{font-family:var(--font-l);font-size:8px;font-weight:400;letter-spacing:6px;text-transform:uppercase;color:oklch(.941 calc(var(--ol-c-body)*.109) var(--ol-h) / 0.78);display:block;margin-bottom:14px;}body[data-page="projets-saint-cloud"] .pj-h1{font-family:var(--font-s);font-size:clamp(44px,8vw,108px);font-weight:300;line-height:.98;color:oklch(.9687 calc(var(--ol-c-body)*.058) var(--ol-h-pap) / .94);letter-spacing:-1px;margin-bottom:8px;}body[data-page="projets-saint-cloud"] .pj-h1 em{font-style:italic;font-weight:300;color:oklch(.8462 calc(var(--ol-c-body)*.112) var(--ol-h) / 0.9);}body[data-page="projets-saint-cloud"] .pj-loc{font-family:var(--font-l);font-size:8.5px;font-weight:400;letter-spacing:5px;text-transform:uppercase;color:oklch(.8462 calc(var(--ol-c-body)*.112) var(--ol-h) / 0.9);}body[data-page="projets-saint-cloud"] .dbloc{display:grid;grid-template-columns:repeat(3,1fr);border:.5px solid oklch(.7625 calc(var(--ol-c-pat)*.821) var(--ol-h-pat) / .12);margin:48px 0;}body[data-page="projets-saint-cloud"] .dbloc-i{padding:22px 24px;border-right:.5px solid oklch(.7625 calc(var(--ol-c-pat)*.821) var(--ol-h-pat) / .12);}body[data-page="projets-saint-cloud"] .dbloc-i:nth-child(3),body[data-page="projets-saint-cloud"] .dbloc-i:last-child{border-right:none;}body[data-page="projets-saint-cloud"] .dbloc-l{font-family:var(--font-l);font-size:7.5px;font-weight:400;letter-spacing:4px;text-transform:uppercase;color:oklch(.7625 calc(var(--ol-c-pat)*.821) var(--ol-h-pat) / 1.0);display:block;margin-bottom:7px;}body[data-page="projets-saint-cloud"] .dbloc-v{font-family:var(--font-s);font-size:16px;font-weight:300;color:var(--ol-platinum);}body[data-page="projets-saint-cloud"] .dbloc-v em{font-style:italic;color:var(--ol-velvet);}body[data-page="projets-saint-cloud"] .pj-sec{padding:clamp(52px,6vw,88px) 0;border-bottom:.5px solid oklch(.7625 calc(var(--ol-c-pat)*.821) var(--ol-h-pat) / .1);}body[data-page="projets-saint-cloud"] .pj-sec-n{font-family:var(--font-l);font-size:8px;font-weight:400;letter-spacing:5px;text-transform:uppercase;color:oklch(.7625 calc(var(--ol-c-pat)*.821) var(--ol-h-pat) / 1.0);display:block;margin-bottom:20px;}body[data-page="projets-saint-cloud"] .pj-sec-t{font-family:var(--font-s);font-size:clamp(22px,2.8vw,36px);font-weight:300;color:var(--ol-platinum);margin-bottom:18px;}body[data-page="projets-saint-cloud"] .pj-sec-t em{font-style:italic;color:var(--ol-velvet);}body[data-page="projets-saint-cloud"] .live-pill{display:inline-flex;align-items:center;gap:8px;background:oklch(.4409 calc(var(--ol-c-body)*.349) var(--ol-h) / .05);border:.5px solid oklch(.4409 calc(var(--ol-c-body)*.349) var(--ol-h) / .1);padding:7px 14px;margin-bottom:20px;}body[data-page="projets-saint-cloud"] .live-dot{width:5px;height:5px;border-radius:50%;background:oklch(.7625 calc(var(--ol-c-pat)*.821) var(--ol-h-pat) / .9);animation:lp 2s infinite;flex-shrink:0;}@keyframes lp{0%,100%{opacity:1}50%{opacity:.3}}body[data-page="projets-saint-cloud"] .live-lbl{font-family:var(--font-l);font-size:7.5px;font-weight:400;letter-spacing:4px;text-transform:uppercase;color:var(--ol-velvet);}body[data-page="projets-saint-cloud"] .bc{display:flex;align-items:center;gap:8px;padding:14px 0;border-bottom:.5px solid oklch(.4409 calc(var(--ol-c-body)*.349) var(--ol-h) / .07);}body[data-page="projets-saint-cloud"] .bc a{font-family:var(--font-l);font-size:7.5px;font-weight:400;letter-spacing:3px;text-transform:uppercase;color:var(--ol-vein);transition:color .3s;}body[data-page="projets-saint-cloud"] .bc a:hover{color:oklch(.7625 calc(var(--ol-c-pat)*.821) var(--ol-h-pat) / 1.0);}body[data-page="projets-saint-cloud"] .bc-s{color:oklch(.7625 calc(var(--ol-c-pat)*.821) var(--ol-h-pat) / 1.0);font-size:10px;}body[data-page="projets-saint-cloud"] .bc-cur{font-family:var(--font-l);font-size:7.5px;font-weight:400;letter-spacing:3px;text-transform:uppercase;color:var(--ol-velvet);}body[data-page="projets-saint-cloud"] .vid-trio{display:grid;grid-template-columns:1fr 1fr 1fr;gap:2px;margin-top:44px;}body[data-page="projets-saint-cloud"] .vid-wrap{position:relative;overflow:hidden;background:oklch(.2684 calc(var(--ol-c-body)*.641) var(--ol-h));}body[data-page="projets-saint-cloud"] .vid-wrap video{width:100%;height:clamp(280px,32vw,480px);object-fit:cover;display:block;}body[data-page="projets-saint-cloud"] .vid-wrap::after{content:"";position:absolute;bottom:0;left:0;right:0;height:80px;background:linear-gradient(to top,oklch(.1061 calc(var(--ol-c-body)*.088) var(--ol-h) / .70),transparent);pointer-events:none;}body[data-page="projets-saint-cloud"] .vid-label{position:absolute;bottom:14px;left:16px;right:16px;z-index:2;pointer-events:none;font-family:var(--font-l);font-size:7.5px;font-weight:400;letter-spacing:4px;text-transform:uppercase;color:oklch(.941 calc(var(--ol-c-body)*.109) var(--ol-h) / 0.78);}body[data-page="projets-saint-cloud"] .sc-grid{display:grid;grid-template-columns:1fr 1fr;gap:2px;margin-top:0;}body[data-page="projets-saint-cloud"] .sc-photo{position:relative;overflow:hidden;background:oklch(.8462 calc(var(--ol-c-body)*.112) var(--ol-h) / .10);}body[data-page="projets-saint-cloud"] .sc-photo:first-child{grid-column:1/-1;}body[data-page="projets-saint-cloud"] .sc-photo:first-child img{height:clamp(360px,44vw,600px);}body[data-page="projets-saint-cloud"] .sc-photo:last-child:nth-child(odd){grid-column:1/-1;}body[data-page="projets-saint-cloud"] .sc-photo:last-child:nth-child(odd) img{height:clamp(280px,32vw,440px);}body[data-page="projets-saint-cloud"] .sc-photo img{width:100%;height:clamp(240px,26vw,380px);object-fit:cover;display:block;transition:transform 1.2s cubic-bezier(.22,1,.36,1);}body[data-page="projets-saint-cloud"] .sc-photo:hover img{transform:scale(1.04);}body[data-page="projets-saint-cloud"] .sc-photo-cap{display:flex;gap:16px;padding:16px 18px 20px;border-top:.5px solid oklch(.7625 calc(var(--ol-c-pat)*.821) var(--ol-h-pat) / .1);background:var(--ol-abime);align-items:flex-start;}body[data-page="projets-saint-cloud"] .sc-photo-n{font-family:var(--font-l);font-size:8px;font-weight:400;letter-spacing:3px;color:oklch(.7625 calc(var(--ol-c-pat)*.821) var(--ol-h-pat) / 1.0);flex-shrink:0;padding-top:3px;}body[data-page="projets-saint-cloud"] .sc-photo-t{font-family:var(--font-s);font-size:15px;font-weight:300;color:var(--ol-platinum);margin-bottom:6px;line-height:1.2;}body[data-page="projets-saint-cloud"] .sc-photo-b{font-family:var(--font-b);font-size:13px;line-height:1.82;color:var(--ol-velvet);}body[data-page="projets-saint-cloud"] .tl{list-style:none;margin-top:24px;}body[data-page="projets-saint-cloud"] .tl-i{display:flex;gap:24px;padding:16px 0;border-bottom:.5px solid oklch(.4409 calc(var(--ol-c-body)*.349) var(--ol-h) / .07);}body[data-page="projets-saint-cloud"] .tl-i:first-child{border-top:.5px solid oklch(.4409 calc(var(--ol-c-body)*.349) var(--ol-h) / .07);}body[data-page="projets-saint-cloud"] .tl-d{font-family:var(--font-l);font-size:8px;font-weight:400;letter-spacing:3px;text-transform:uppercase;color:oklch(.7625 calc(var(--ol-c-pat)*.821) var(--ol-h-pat) / 1.0);min-width:90px;flex-shrink:0;padding-top:2px;}body[data-page="projets-saint-cloud"] .tl-t{font-family:var(--font-b);font-size:14.5px;line-height:1.85;color:var(--ol-velvet);}body[data-page="projets-saint-cloud"] .tl-t em{color:oklch(.7625 calc(var(--ol-c-pat)*.821) var(--ol-h-pat) / 1.0);font-style:italic;}@media (max-width:768px){body[data-page="projets-saint-cloud"] .vid-trio{grid-template-columns:1fr;}body[data-page="projets-saint-cloud"] .sc-grid{grid-template-columns:1fr;}body[data-page="projets-saint-cloud"] .sc-photo:first-child,body[data-page="projets-saint-cloud"] .sc-photo:last-child:nth-child(odd){grid-column:1;}body[data-page="projets-saint-cloud"] .dbloc{grid-template-columns:1fr 1fr;}body[data-page="projets-saint-cloud"] .dbloc-i:nth-child(2){border-right:none;}body[data-page="projets-saint-cloud"] .dbloc-i:nth-child(3){border-top:.5px solid oklch(.7625 calc(var(--ol-c-pat)*.821) var(--ol-h-pat) / .12);border-right:.5px solid oklch(.7625 calc(var(--ol-c-pat)*.821) var(--ol-h-pat) / .12);}body[data-page="projets-saint-cloud"] .dbloc-i:last-child{border-top:.5px solid oklch(.7625 calc(var(--ol-c-pat)*.821) var(--ol-h-pat) / .12);}}body[data-page="projets-tuscany"] .ph-full{min-height:92vh;position:relative;overflow:hidden;display:flex;align-items:flex-end;background:oklch(.2684 calc(var(--ol-c-body)*.641) var(--ol-h));}body[data-page="projets-tuscany"] .ph-full-bg{position:absolute;inset:0;background-size:cover;background-position:center;opacity:.52;}body[data-page="projets-tuscany"] .ph-full-veil{position:absolute;inset:0;background:linear-gradient(to top,oklch(.4409 calc(var(--ol-c-body)*.349) var(--ol-h) / .88)0%,oklch(.4409 calc(var(--ol-c-body)*.349) var(--ol-h) / .32)50%,oklch(.4409 calc(var(--ol-c-body)*.349) var(--ol-h) / .16)100%);}body[data-page="projets-tuscany"] .ph-full-body{position:relative;z-index:2;padding:0 var(--pad) clamp(52px,7vw,96px);width:100%;margin-top:72px;max-width:calc(var(--max) + var(--pad)*2);margin-left:auto;margin-right:auto;}body[data-page="projets-tuscany"] .pj-cat{font-family:var(--font-l);font-size:8px;font-weight:400;letter-spacing:6px;text-transform:uppercase;color:oklch(.941 calc(var(--ol-c-body)*.109) var(--ol-h) / 0.78);display:block;margin-bottom:14px;}body[data-page="projets-tuscany"] .pj-h1{font-family:var(--font-s);font-size:clamp(44px,8vw,108px);font-weight:300;line-height:.98;color:oklch(.9687 calc(var(--ol-c-body)*.058) var(--ol-h-pap) / .94);letter-spacing:-1px;margin-bottom:8px;}body[data-page="projets-tuscany"] .pj-h1 em{font-style:italic;font-weight:300;color:oklch(.8462 calc(var(--ol-c-body)*.112) var(--ol-h) / 0.9);}body[data-page="projets-tuscany"] .pj-loc{font-family:var(--font-l);font-size:8.5px;font-weight:400;letter-spacing:5px;text-transform:uppercase;color:oklch(.8462 calc(var(--ol-c-body)*.112) var(--ol-h) / 0.9);}body[data-page="projets-tuscany"] .dbloc{display:grid;grid-template-columns:repeat(3,1fr);border:.5px solid oklch(.4409 calc(var(--ol-c-body)*.349) var(--ol-h) / .16);margin:48px 0;}body[data-page="projets-tuscany"] .dbloc-i{padding:22px 24px;border-right:.5px solid oklch(.4409 calc(var(--ol-c-body)*.349) var(--ol-h) / .16);}body[data-page="projets-tuscany"] .dbloc-i:last-child,body[data-page="projets-tuscany"] .dbloc-i:nth-child(3){border-right:none;}body[data-page="projets-tuscany"] .dbloc-l{font-family:var(--font-l);font-size:7.5px;font-weight:400;letter-spacing:4px;text-transform:uppercase;color:var(--ol-vein);display:block;margin-bottom:7px;}body[data-page="projets-tuscany"] .dbloc-v{font-family:var(--font-s);font-size:16px;font-weight:300;color:var(--ol-platinum);}body[data-page="projets-tuscany"] .dbloc-v em{font-style:italic;color:var(--ol-velvet);}body[data-page="projets-tuscany"] .pj-sec{padding:clamp(52px,6vw,88px) 0;border-bottom:.5px solid oklch(.4409 calc(var(--ol-c-body)*.349) var(--ol-h) / .07);}body[data-page="projets-tuscany"] .pj-sec-n{font-family:var(--font-l);font-size:8px;font-weight:400;letter-spacing:5px;text-transform:uppercase;color:var(--ol-vein);display:block;margin-bottom:20px;}body[data-page="projets-tuscany"] .pj-sec-t{font-family:var(--font-s);font-size:clamp(22px,2.8vw,36px);font-weight:300;color:var(--ol-platinum);margin-bottom:18px;}body[data-page="projets-tuscany"] .pj-sec-t em{font-style:italic;color:var(--ol-velvet);}body[data-page="projets-tuscany"] .tl{list-style:none;margin-top:24px;}body[data-page="projets-tuscany"] .tl-i{display:flex;gap:24px;padding:16px 0;border-bottom:.5px solid oklch(.4409 calc(var(--ol-c-body)*.349) var(--ol-h) / .07);}body[data-page="projets-tuscany"] .tl-i:first-child{border-top:.5px solid oklch(.4409 calc(var(--ol-c-body)*.349) var(--ol-h) / .07);}body[data-page="projets-tuscany"] .tl-d{font-family:var(--font-l);font-size:8px;font-weight:400;letter-spacing:3px;text-transform:uppercase;color:var(--ol-vein);min-width:90px;flex-shrink:0;padding-top:2px;}body[data-page="projets-tuscany"] .tl-t{font-family:var(--font-b);font-size:14.5px;line-height:1.85;color:var(--ol-velvet);}body[data-page="projets-tuscany"] .live-pill{display:inline-flex;align-items:center;gap:8px;background:oklch(.4409 calc(var(--ol-c-body)*.349) var(--ol-h) / .05);border:.5px solid oklch(.4409 calc(var(--ol-c-body)*.349) var(--ol-h) / .1);padding:7px 14px;margin-bottom:20px;}body[data-page="projets-tuscany"] .live-dot{width:5px;height:5px;border-radius:50%;background:oklch(.2684 calc(var(--ol-c-body)*.641) var(--ol-h));animation:lp 2s infinite;flex-shrink:0;}@keyframes lp{0%,100%{opacity:1}50%{opacity:.3}}body[data-page="projets-tuscany"] .live-lbl{font-family:var(--font-l);font-size:7.5px;font-weight:400;letter-spacing:4px;text-transform:uppercase;color:var(--ol-velvet);}body[data-page="projets-tuscany"] .bc{display:flex;align-items:center;gap:8px;padding:14px 0;border-bottom:.5px solid oklch(.4409 calc(var(--ol-c-body)*.349) var(--ol-h) / .07);}body[data-page="projets-tuscany"] .bc a{font-family:var(--font-l);font-size:7.5px;font-weight:400;letter-spacing:3px;text-transform:uppercase;color:var(--ol-vein);}body[data-page="projets-tuscany"] .bc-s{color:oklch(.8462 calc(var(--ol-c-body)*.112) var(--ol-h) / 0.89);font-size:10px;}body[data-page="projets-tuscany"] .bc-cur{font-family:var(--font-l);font-size:7.5px;font-weight:400;letter-spacing:3px;text-transform:uppercase;color:var(--ol-velvet);}@media (max-width:768px){body[data-page="projets-tuscany"] .dbloc{grid-template-columns:1fr 1fr;}body[data-page="projets-tuscany"] .dbloc-i:nth-child(2){border-right:none;}body[data-page="projets-tuscany"] .dbloc-i:nth-child(3){border-top:.5px solid oklch(.4409 calc(var(--ol-c-body)*.349) var(--ol-h) / .16);border-right:.5px solid oklch(.4409 calc(var(--ol-c-body)*.349) var(--ol-h) / .16);}body[data-page="projets-tuscany"] .dbloc-i:last-child{border-top:.5px solid oklch(.4409 calc(var(--ol-c-body)*.349) var(--ol-h) / .16);}}
/* ==========================================================================\n   CARAVELLI OLYMPE V6 — CANONICAL TOKENS & CRITICAL EXPERIENCES\n   Final authority inside the single production stylesheet.\n   ========================================================================== */
:root{
  --font-display:"Bodoni Moda",Georgia,"Times New Roman",serif;
  --font-signature:"Bodoni Moda",Georgia,"Times New Roman",serif;
  --font-d:"Bodoni Moda",Georgia,"Times New Roman",serif;
  --font-s:"Bodoni Moda",Georgia,"Times New Roman",serif;
  --font-editorial:"Cormorant Garamond",Georgia,"Times New Roman",serif;
  --font-reading:"Lora",Georgia,"Times New Roman",serif;
  --font-ui:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --font-b:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --font-l:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --ol-night:oklch(.2161 calc(var(--ol-c-body)*.637) var(--ol-h));
  --ol-satin:oklch(.2817 calc(var(--ol-c-body)*.796) var(--ol-h));
  --ol-mineral:oklch(.3256 calc(var(--ol-c-body)*.926) var(--ol-h));
  --ol-caravelli:oklch(.3474 calc(var(--ol-c-body)*.92) var(--ol-h));
  --ol-inkblue:oklch(.3619 calc(var(--ol-c-body)*.916) var(--ol-h));
  --ol-graphite:oklch(.3764 calc(var(--ol-c-body)*.682) var(--ol-h));
  --ol-silver:oklch(.7724 calc(var(--ol-c-body)*.438) var(--ol-h));
  --ol-platinum:oklch(.9046 calc(var(--ol-c-body)*.11) var(--ol-h));
  --ol-carrara:oklch(.966 calc(var(--ol-c-body)*.07) var(--ol-h-pap));
  --ol-ivory:oklch(.9923 calc(var(--ol-c-body)*.047) var(--ol-h-pap));
  --ol-bronze:oklch(.7625 calc(var(--ol-c-pat)*.821) var(--ol-h-pat));
  --ol-bronze-soft:oklch(.8242 calc(var(--ol-c-pat)*.806) var(--ol-h-pat));
  --ol-ease:cubic-bezier(.19,1,.22,1);
  --ol-ease-in:cubic-bezier(.76,0,.24,1);
}

/* Bodoni is the sovereign Caravelli voice. */
html.lux .logo-n,
html.lux .hero-h1,
html.lux .ph-h1,
html.lux .pj-h1,
html.lux .pensee-h1,
html.lux .merci-h,
html.lux .display,
html.lux .legacy-title,
html.lux .oc-frag-t{
  font-family:var(--font-display);
  font-weight:400;
  font-synthesis:none;
}
html.lux .logo-n{font-size:clamp(17px,1.6vw,25px);letter-spacing:.22em;line-height:.9;text-shadow:0 7px 26px rgba(0,0,0,.22)}
html.lux .logo-s{font-family:var(--font-editorial);font-size:12px;letter-spacing:.08em;color:oklch(.966 calc(var(--ol-c-body)*.07) var(--ol-h-pap) / 0.74)}
html.lux .hero-h1{font-size:clamp(64px,9.2vw,150px);letter-spacing:-.055em;line-height:.84;text-wrap:balance}
html.lux .hero-h1 em{font-family:var(--font-display);font-weight:400}
html.lux .hero-sub{max-width:760px;color:oklch(.966 calc(var(--ol-c-body)*.07) var(--ol-h-pap) / .84);text-shadow:0 2px 22px oklch(.1319 calc(var(--ol-c-body)*.301) var(--ol-h) / .52)}
html.lux .hero-veil{background:linear-gradient(90deg,oklch(.1422 calc(var(--ol-c-body)*.35) var(--ol-h) / .84) 0%,oklch(.2161 calc(var(--ol-c-body)*.637) var(--ol-h) / .48) 48%,oklch(.1422 calc(var(--ol-c-body)*.35) var(--ol-h) / .72) 100%),linear-gradient(0deg,oklch(.1319 calc(var(--ol-c-body)*.301) var(--ol-h) / .82),transparent 64%)}

/* Header: quiet, precise and readable. */
html.lux .hd{z-index:8500;background:linear-gradient(180deg,oklch(.1422 calc(var(--ol-c-body)*.35) var(--ol-h) / .74),oklch(.1422 calc(var(--ol-c-body)*.35) var(--ol-h) / 0));transition:padding .6s var(--ol-ease),background .6s var(--ol-ease),border-color .6s var(--ol-ease)}
html.lux .hd.is-scrolled{background:oklch(.2161 calc(var(--ol-c-body)*.637) var(--ol-h) / .88);backdrop-filter:blur(18px) saturate(1.15);border-bottom:1px solid oklch(.9046 calc(var(--ol-c-body)*.11) var(--ol-h) / .12)}
html.lux .nl,html.lux .ncta,html.lux .lb{font-family:var(--font-ui);font-size:10px;letter-spacing:.18em;color:oklch(.966 calc(var(--ol-c-body)*.07) var(--ol-h-pap) / .78)}
html.lux .nl:hover,html.lux .nl.active,html.lux .lb.active{color:#fff}
html.lux .ncta{border:1px solid oklch(.9046 calc(var(--ol-c-body)*.11) var(--ol-h) / .26);background:oklch(.9046 calc(var(--ol-c-body)*.11) var(--ol-h) / .06)}
html.lux .ncta:hover{background:oklch(.9046 calc(var(--ol-c-body)*.11) var(--ol-h) / .14);border-color:oklch(.9046 calc(var(--ol-c-body)*.11) var(--ol-h) / 0.82)}

/* Single intro: 6.6 s first visit, organic smoke and no event poster. */
html.lux #oc-intro{
  position:fixed;inset:0;z-index:100000;overflow:hidden;isolation:isolate;
  display:grid;place-items:center;background:
  radial-gradient(120% 90% at 50% 115%,oklch(.3474 calc(var(--ol-c-body)*.92) var(--ol-h) / .78),transparent 62%),
  radial-gradient(90% 75% at 15% 15%,oklch(.3256 calc(var(--ol-c-body)*.926) var(--ol-h) / .54),transparent 66%),
  linear-gradient(135deg,oklch(.1264 calc(var(--ol-c-body)*.339) var(--ol-h)) 0%,oklch(.2161 calc(var(--ol-c-body)*.637) var(--ol-h)) 48%,oklch(.1272 calc(var(--ol-c-body)*.299) var(--ol-h)) 100%);
  color:var(--ol-carrara);transition:opacity 1.08s var(--ol-ease),visibility 1.08s var(--ol-ease);
}
html.lux #oc-intro[aria-hidden="true"],html.lux #oc-intro.is-out{opacity:0;visibility:hidden;pointer-events:none}
html.lux #oc-intro::before{content:"";position:absolute;inset:-18%;z-index:-1;background:conic-gradient(from 190deg at 50% 48%,transparent 0 20%,oklch(.7724 calc(var(--ol-c-body)*.438) var(--ol-h) / .07) 27%,transparent 38% 61%,oklch(.9046 calc(var(--ol-c-body)*.11) var(--ol-h) / .05) 70%,transparent 82%);filter:blur(42px);animation:ocAtmosphere 18s linear infinite;transform-origin:50% 50%}
html.lux #oc-intro::after{content:"";position:absolute;inset:0;z-index:5;pointer-events:none;background:radial-gradient(ellipse at center,transparent 42%,oklch(.1047 calc(var(--ol-c-body)*.24) var(--ol-h) / .58) 100%),url('../assets/grain.png');background-size:auto,220px;mix-blend-mode:soft-light;opacity:.32}
html.lux #oc-intro-smoke{position:absolute;inset:0;width:100%;height:100%;z-index:1;opacity:.96;filter:contrast(1.12) saturate(.72);pointer-events:none}
html.lux #oc-intro .oc-smoke{position:absolute;inset:-16%;z-index:0;overflow:hidden;pointer-events:none;filter:contrast(1.06)}
html.lux #oc-intro .oc-smoke>div{position:absolute;border-radius:46% 54% 62% 38%/58% 44% 56% 42%;opacity:.26;mix-blend-mode:screen;will-change:transform,filter,opacity;background:linear-gradient(112deg,transparent 4%,oklch(.7724 calc(var(--ol-c-body)*.438) var(--ol-h) / .24) 26%,oklch(.9046 calc(var(--ol-c-body)*.11) var(--ol-h) / .14) 49%,oklch(.3474 calc(var(--ol-c-body)*.92) var(--ol-h) / .14) 67%,transparent 91%);filter:blur(38px)}
html.lux #oc-intro .oc-smoke-r1{width:120%;height:28%;left:-40%;top:8%;animation:ocRibbonOne 13s ease-in-out infinite alternate}
html.lux #oc-intro .oc-smoke-r2{width:108%;height:34%;right:-42%;top:31%;opacity:.21;animation:ocRibbonTwo 17s ease-in-out infinite alternate}
html.lux #oc-intro .oc-smoke-r3{width:96%;height:24%;left:-28%;bottom:11%;opacity:.2;animation:ocRibbonThree 11s ease-in-out infinite alternate}
html.lux #oc-intro .oc-smoke-r4{width:70%;height:52%;right:-22%;bottom:-14%;opacity:.13;animation:ocRibbonFour 19s ease-in-out infinite alternate}
html.lux #oc-intro .oc-smoke-void{inset:16% 23%;width:auto;height:auto;border-radius:50%;opacity:.72;mix-blend-mode:multiply;background:radial-gradient(ellipse,oklch(.1133 calc(var(--ol-c-body)*.212) var(--ol-h) / .72),transparent 69%);filter:blur(46px);animation:ocVoid 9s ease-in-out infinite alternate}
html.lux #oc-intro .oc-intro-inner{position:relative;z-index:3;width:min(94vw,1500px);text-align:center;padding:40px 24px}
html.lux #oc-intro .oc-intro-kicker{margin:0 0 clamp(18px,3vw,34px);font-family:var(--font-ui);font-size:clamp(9px,.72vw,12px);letter-spacing:.44em;text-transform:uppercase;color:oklch(.9046 calc(var(--ol-c-body)*.11) var(--ol-h) / 0.82);opacity:0;transform:translateY(14px);animation:ocKicker 1.2s 1.2s var(--ol-ease) forwards}
html.lux #oc-intro .oc-word{position:relative;display:inline-grid;place-items:center;line-height:.74;filter:drop-shadow(0 24px 80px rgba(0,0,0,.34))}
html.lux #oc-intro .oc-word span{grid-area:1/1;font-family:var(--font-display);font-size:clamp(68px,15.5vw,244px);font-weight:400;letter-spacing:.035em;white-space:nowrap}
html.lux #oc-intro .oc-word-ghost{color:transparent;-webkit-text-stroke:1px oklch(.9046 calc(var(--ol-c-body)*.11) var(--ol-h) / .22);opacity:0;transform:scale(1.025);animation:ocGhost 2s .4s var(--ol-ease) forwards}
html.lux #oc-intro .oc-word-fill{color:transparent;background:linear-gradient(104deg,oklch(.966 calc(var(--ol-c-body)*.07) var(--ol-h-pap) / .34) 0%,#fff 34%,oklch(.9046 calc(var(--ol-c-body)*.11) var(--ol-h) / .8) 57%,#fff 76%,oklch(.7724 calc(var(--ol-c-body)*.438) var(--ol-h) / .36) 100%);background-size:220% 100%;-webkit-background-clip:text;background-clip:text;clip-path:inset(0 100% 0 0);animation:ocWordReveal 2.2s 1.65s var(--ol-ease) forwards,ocMetal 7s 3.8s linear infinite}
html.lux #oc-intro .oc-intro-dubai{margin:clamp(28px,4vw,50px) auto 0;font-family:var(--font-editorial);font-size:clamp(15px,1.35vw,22px);font-style:italic;letter-spacing:.05em;color:oklch(.966 calc(var(--ol-c-body)*.07) var(--ol-h-pap) / .76);opacity:0;transform:translateY(14px);animation:ocSub 1.25s 3.55s var(--ol-ease) forwards}
html.lux #oc-intro .oc-intro-skip{position:absolute;z-index:8;right:clamp(18px,3vw,48px);bottom:clamp(18px,3vw,40px);min-width:110px;padding:13px 20px;border:1px solid oklch(.9046 calc(var(--ol-c-body)*.11) var(--ol-h) / .25);border-radius:999px;background:oklch(.2161 calc(var(--ol-c-body)*.637) var(--ol-h) / .26);backdrop-filter:blur(12px);font-family:var(--font-ui);font-size:9px;letter-spacing:.3em;text-transform:uppercase;color:oklch(.966 calc(var(--ol-c-body)*.07) var(--ol-h-pap) / .84);transition:background .4s,border-color .4s,color .4s,transform .4s var(--ol-ease)}
html.lux #oc-intro .oc-intro-skip:hover{transform:translateY(-2px);background:oklch(.9046 calc(var(--ol-c-body)*.11) var(--ol-h) / .12);border-color:oklch(.9046 calc(var(--ol-c-body)*.11) var(--ol-h) / 0.81);color:#fff}
@keyframes ocAtmosphere{to{transform:rotate(360deg) scale(1.08)}}
@keyframes ocRibbonOne{0%{transform:translate3d(-8%,5%,0) rotate(-8deg) scale(1)}100%{transform:translate3d(27%,-13%,0) rotate(8deg) scale(1.28)}}
@keyframes ocRibbonTwo{0%{transform:translate3d(14%,-4%,0) rotate(7deg) scale(1.18)}100%{transform:translate3d(-26%,14%,0) rotate(-11deg) scale(.94)}}
@keyframes ocRibbonThree{0%{transform:translate3d(-4%,8%,0) rotate(3deg) scale(.96)}100%{transform:translate3d(38%,-8%,0) rotate(-7deg) scale(1.22)}}
@keyframes ocRibbonFour{0%{transform:translate3d(8%,5%,0) rotate(-11deg) scale(1.1)}100%{transform:translate3d(-22%,-16%,0) rotate(8deg) scale(.9)}}
@keyframes ocVoid{to{transform:scale(1.2) translateY(-4%);opacity:.48}}
@keyframes ocKicker{to{opacity:1;transform:none}}
@keyframes ocGhost{to{opacity:1;transform:scale(1)}}
@keyframes ocWordReveal{to{clip-path:inset(0 0 0 0)}}
@keyframes ocMetal{to{background-position:-220% 0}}
@keyframes ocSub{to{opacity:1;transform:none}}

/* Carrara: one deliberate peak, never an overexposed white mass. */
html.lux .oc-frag-sec{position:relative;min-height:min(94svh,980px);overflow:hidden;display:grid;place-items:center;background:radial-gradient(80% 76% at 57% 47%,oklch(.3474 calc(var(--ol-c-body)*.92) var(--ol-h) / .82),transparent 58%),linear-gradient(128deg,oklch(.1272 calc(var(--ol-c-body)*.299) var(--ol-h)),oklch(.2161 calc(var(--ol-c-body)*.637) var(--ol-h)) 48%,oklch(.2817 calc(var(--ol-c-body)*.796) var(--ol-h)));isolation:isolate}
html.lux .oc-frag-sec::before{content:"";position:absolute;inset:-10%;background:radial-gradient(ellipse at 50% 48%,oklch(.9046 calc(var(--ol-c-body)*.11) var(--ol-h) / .12),transparent 34%),linear-gradient(115deg,transparent 35%,oklch(.9046 calc(var(--ol-c-body)*.11) var(--ol-h) / .05) 49%,transparent 62%);filter:blur(18px);animation:fragBreath 8s ease-in-out infinite alternate;pointer-events:none}
html.lux .oc-frag-sec::after{content:"FIRENZE · 1948";position:absolute;right:3vw;bottom:4vh;writing-mode:vertical-rl;font-family:var(--font-ui);font-size:8px;letter-spacing:.42em;color:oklch(.9046 calc(var(--ol-c-body)*.11) var(--ol-h) / 0.81)}
html.lux .oc-frag-host{position:absolute;inset:-4% 0 0;width:100%;height:104%;z-index:1;opacity:.96}
html.lux .oc-frag-host canvas{display:block;width:100%;height:100%;filter:none;opacity:1}
html.lux .oc-frag-cap{position:relative;z-index:3;width:min(1160px,calc(100% - 44px));margin:auto;pointer-events:none;align-self:end;padding-bottom:clamp(54px,8vw,100px)}
html.lux .oc-frag-cap .kicker{color:oklch(.9046 calc(var(--ol-c-body)*.11) var(--ol-h) / 0.82)}
html.lux .oc-frag-t{max-width:780px;margin:12px 0 0;font-size:clamp(46px,7.4vw,110px);line-height:.9;letter-spacing:-.045em;color:oklch(.966 calc(var(--ol-c-body)*.07) var(--ol-h-pap) / .94);text-shadow:0 18px 60px rgba(0,0,0,.4)}
html.lux .oc-frag-t em{font-family:var(--font-display);font-weight:400;color:oklch(.9046 calc(var(--ol-c-body)*.11) var(--ol-h) / 0.82)}
@keyframes fragBreath{to{transform:scale(1.06) translate3d(1%,-1%,0);opacity:.72}}

/* Concierge: discreet service, absolute legibility. */
html.lux #aiw{position:fixed;right:clamp(14px,2vw,28px);bottom:clamp(14px,2vw,28px);z-index:9200;font-family:var(--font-ui);color:oklch(.1701 calc(var(--ol-c-body)*.333) var(--ol-h))}
html.lux #aiw .ai-tr{display:grid;place-items:center;width:54px;height:54px;border:1px solid oklch(.9046 calc(var(--ol-c-body)*.11) var(--ol-h) / .34);border-radius:50%;background:oklch(.2161 calc(var(--ol-c-body)*.637) var(--ol-h) / .88);box-shadow:0 20px 50px oklch(.1264 calc(var(--ol-c-body)*.339) var(--ol-h) / .32),inset 0 1px 0 rgba(255,255,255,.12);backdrop-filter:blur(18px);color:#fff;cursor:pointer;pointer-events:auto}
html.lux #aiw .ai-tr-ic{font-family:var(--font-display);font-size:27px;font-style:italic}
html.lux #aiw .ai-pn{position:absolute;right:0;bottom:68px;width:min(390px,calc(100vw - 28px));height:min(550px,calc(100svh - 110px));display:flex;flex-direction:column;overflow:hidden;border:1px solid oklch(.9046 calc(var(--ol-c-body)*.11) var(--ol-h) / .74);border-radius:2px;background:oklch(.984 calc(var(--ol-c-body)*.07) var(--ol-h-pap) / .975);box-shadow:0 34px 100px oklch(.1264 calc(var(--ol-c-body)*.339) var(--ol-h) / .32);opacity:0;visibility:hidden;transform:translateY(16px) scale(.985);transform-origin:bottom right;transition:opacity .45s var(--ol-ease),visibility .45s var(--ol-ease),transform .45s var(--ol-ease);pointer-events:none}
html.lux #aiw.is-open .ai-pn,html.lux #aiw.open .ai-pn,html.lux #aiw .ai-pn.open{opacity:1;visibility:visible;transform:none;pointer-events:auto}
html.lux #aiw .ai-cl{position:absolute;right:14px;top:14px;z-index:3;width:32px;height:32px;border:1px solid oklch(.1701 calc(var(--ol-c-body)*.333) var(--ol-h) / .18);border-radius:50%;background:transparent;color:oklch(.1701 calc(var(--ol-c-body)*.333) var(--ol-h));font-size:20px;line-height:1}
html.lux #aiw .ai-ph{padding:28px 58px 20px 24px;border-bottom:1px solid oklch(.1701 calc(var(--ol-c-body)*.333) var(--ol-h) / .1);background:linear-gradient(135deg,oklch(.9897 calc(var(--ol-c-body)*.057) var(--ol-h-pap)),oklch(.9591 calc(var(--ol-c-body)*.108) var(--ol-h)))}
html.lux #aiw .ai-pt{margin:0;font-family:var(--font-display);font-size:27px;line-height:1;color:oklch(.2161 calc(var(--ol-c-body)*.637) var(--ol-h))}
html.lux #aiw .ai-ps{margin:6px 0 0;font-size:9px;letter-spacing:.25em;text-transform:uppercase;color:oklch(.4409 calc(var(--ol-c-body)*.349) var(--ol-h))}
html.lux #aiw .ai-msgs{flex:1;overflow:auto;padding:22px;background:oklch(.969 calc(var(--ol-c-body)*.07) var(--ol-h-pap));scrollbar-width:thin}
html.lux #aiw .ai-m{max-width:88%;margin:0 0 13px;padding:13px 15px;border:0;border-radius:2px;font-family:var(--font-ui);font-size:14px;line-height:1.55;color:oklch(.1701 calc(var(--ol-c-body)*.333) var(--ol-h));background:#fff;box-shadow:0 7px 22px oklch(.1701 calc(var(--ol-c-body)*.333) var(--ol-h) / .07)}
html.lux #aiw .ai-m.bot{margin-right:auto;background:oklch(.944 calc(var(--ol-c-body)*.109) var(--ol-h));color:oklch(.1701 calc(var(--ol-c-body)*.333) var(--ol-h))}
html.lux #aiw .ai-m.user{margin-left:auto;background:oklch(.2817 calc(var(--ol-c-body)*.796) var(--ol-h));color:#fff}
html.lux #aiw .ai-iw{display:grid;grid-template-columns:1fr 44px;gap:8px;padding:14px;border-top:1px solid oklch(.1701 calc(var(--ol-c-body)*.333) var(--ol-h) / .1);background:#fff}
html.lux #aiw .ai-inp{width:100%;min-width:0;padding:12px 13px;border:1px solid oklch(.1701 calc(var(--ol-c-body)*.333) var(--ol-h) / .18);border-radius:0;background:#fff;color:oklch(.1701 calc(var(--ol-c-body)*.333) var(--ol-h));outline:none}
html.lux #aiw .ai-inp::placeholder{color:oklch(.5436 calc(var(--ol-c-body)*.294) var(--ol-h))}
html.lux #aiw .ai-inp:focus{border-color:oklch(.3474 calc(var(--ol-c-body)*.92) var(--ol-h));box-shadow:0 0 0 3px oklch(.3474 calc(var(--ol-c-body)*.92) var(--ol-h) / .1)}
html.lux #aiw .ai-snd{display:grid;place-items:center;width:44px;height:44px;border:0;border-radius:50%;background:oklch(.2817 calc(var(--ol-c-body)*.796) var(--ol-h));color:#fff;font-size:18px}

/* Refined state transitions: Veine / Lame / Iris share one exact cadence. */
html.lux #ol-page-transition,html.lux .ol-page-transition{position:fixed;inset:0;z-index:99990;pointer-events:none;visibility:hidden}
html.lux #ol-page-transition.is-active,html.lux .ol-page-transition.is-active{visibility:visible}

/* Luxury remains legible. */
html.lux .sec--noir p,html.lux .sec--noir .body,html.lux .sec--noir .lead{color:oklch(.966 calc(var(--ol-c-body)*.07) var(--ol-h-pap) / .8)}
html.lux p,html.lux .body{font-family:var(--font-reading)}
html.lux button,html.lux input,html.lux textarea,html.lux nav{font-family:var(--font-ui)}
html.lux :focus-visible{outline:2px solid oklch(.9046 calc(var(--ol-c-body)*.11) var(--ol-h) / .92);outline-offset:4px}

@media(max-width:980px){
 html.lux .hero-h1{font-size:clamp(54px,15.5vw,94px);line-height:.88}
 html.lux #oc-intro .oc-word span{font-size:clamp(54px,16vw,118px);letter-spacing:.02em}
 html.lux #oc-intro .oc-intro-dubai{max-width:84vw;line-height:1.45}
 html.lux .oc-frag-sec{min-height:82svh}
 html.lux .oc-frag-host{inset:-2% -30% 0;width:160%}
 html.lux .oc-frag-t{font-size:clamp(42px,12vw,72px)}
}
@media(max-width:620px){
 html.lux #oc-intro .oc-intro-kicker{letter-spacing:.28em}
 html.lux #oc-intro .oc-word span{font-size:clamp(48px,15.4vw,80px)}
 html.lux #oc-intro .oc-intro-skip{right:14px;bottom:14px;min-width:96px;padding:11px 15px}
 html.lux #aiw .ai-pn{height:min(520px,calc(100svh - 96px))}
}
@media(prefers-reduced-motion:reduce){
 html.lux #oc-intro::before,html.lux #oc-intro .oc-smoke>div,html.lux .oc-frag-sec::before{animation:none}
 html.lux #oc-intro .oc-word-fill{clip-path:none;animation:none;color:oklch(.966 calc(var(--ol-c-body)*.07) var(--ol-h-pap));background:none;-webkit-text-fill-color:oklch(.966 calc(var(--ol-c-body)*.07) var(--ol-h-pap))}
 html.lux #oc-intro .oc-word-ghost,html.lux #oc-intro .oc-intro-kicker,html.lux #oc-intro .oc-intro-dubai{opacity:1;transform:none;animation:none}
}


/* =====================================================================
   CARAVELLI OLYMPE V7 — VERROU FINAL DE MAISON
   Un seul fichier, aucun override externe, familles historiques conservées.
   ===================================================================== */
:root{
  --font-signature:"Bodoni Moda",Didot,"Bodoni 72",Georgia,serif;
  --font-display:"Bodoni Moda",Didot,"Bodoni 72",Georgia,serif;
  --font-editorial:"Cormorant Garamond","Playfair Display",Georgia,serif;
  --font-editorial-title:"Playfair Display","Cormorant Garamond",Georgia,serif;
  --font-reading:"Lora",Georgia,"Times New Roman",serif;
  --font-ui:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --font-d:var(--font-display);
  --font-s:var(--font-display);
  --font-b:var(--font-reading);
  --font-l:var(--font-ui);
  --v7-ease:cubic-bezier(.16,1,.3,1);
}
.logo-n,.brand-signature,.oc-word-fill,.oc-word-ghost,.hero-h1{
  font-family:var(--font-signature);
  font-optical-sizing:auto;
}
.logo-n{font-weight:500;letter-spacing:.22em}
.logo-s{font-family:var(--font-editorial);letter-spacing:.04em}
.nav,.nl,.ncta,.lb,.btn,button,input,textarea,.kicker,.eyebrow,.hero-ey,.pj-cat,.pj-loc,.bc{
  font-family:var(--font-ui)
}
.body,.lead,.editorial-text,.pj-sec p,.pensee-body p{font-family:var(--font-reading)}
.ph-h1,.pj-h1,.pensee-h1,.merci-h,.dxb-h1{font-family:var(--font-editorial-title)}

/* INTRO — vraie fumée, jamais de bulles/bokeh */
#oc-intro{
  background:
    radial-gradient(90% 70% at 50% 32%,oklch(.3806 calc(var(--ol-c-body)*.926) var(--ol-h) / .32),transparent 68%),
    linear-gradient(155deg,oklch(.2161 calc(var(--ol-c-body)*.637) var(--ol-h)) 0%,oklch(.2817 calc(var(--ol-c-body)*.796) var(--ol-h)) 52%,oklch(.147 calc(var(--ol-c-body)*.375) var(--ol-h)) 100%);
  isolation:isolate;
}
#oc-intro-smoke{
  position:absolute;inset:0;width:100%;height:100%;z-index:0;
  opacity:1;mix-blend-mode:screen;filter:contrast(1.12) saturate(.74);
}
.oc-smoke{position:absolute;inset:-12%;z-index:0;opacity:.42;mix-blend-mode:screen;overflow:hidden;filter:blur(34px)}
.oc-smoke>div{display:none}
.oc-smoke::before,.oc-smoke::after{
  content:"";position:absolute;inset:8% -18%;opacity:.46;will-change:transform,opacity;
  background:
    linear-gradient(104deg,transparent 6%,oklch(.8185 calc(var(--ol-c-body)*.458) var(--ol-h) / .18) 28%,oklch(.9561 calc(var(--ol-c-body)*.108) var(--ol-h) / .42) 43%,oklch(.6556 calc(var(--ol-c-body)*.879) var(--ol-h) / .15) 61%,transparent 82%),
    radial-gradient(ellipse 54% 18% at 33% 58%,oklch(.9407 calc(var(--ol-c-body)*.097) var(--ol-h-pap) / .30),transparent 72%),
    radial-gradient(ellipse 48% 16% at 72% 38%,oklch(.8044 calc(var(--ol-c-body)*.627) var(--ol-h) / .24),transparent 74%);
  transform:translate3d(-5%,0,0) rotate(-5deg) scale(1.06);
  animation:v7SmokeVeil 9.8s ease-in-out infinite alternate;
}
.oc-smoke::after{opacity:.32;transform:translate3d(6%,4%,0) rotate(7deg) scale(1.15);animation-duration:13.5s;animation-direction:alternate-reverse}
@keyframes v7SmokeVeil{
  0%{transform:translate3d(-8%,3%,0) rotate(-7deg) scale(1.04);opacity:.28}
  42%{transform:translate3d(2%,-2%,0) rotate(1deg) scale(1.13);opacity:.55}
  100%{transform:translate3d(8%,2%,0) rotate(6deg) scale(1.08);opacity:.36}
}
.oc-intro-inner{position:relative;z-index:2;width:min(1280px,94vw)}
.oc-intro-kicker{color:oklch(.9046 calc(var(--ol-c-body)*.11) var(--ol-h) / 0.82);text-shadow:0 1px 18px oklch(.147 calc(var(--ol-c-body)*.375) var(--ol-h) / .55)}
.oc-word{font-size:clamp(88px,14vw,218px);line-height:.82;letter-spacing:.055em}
.oc-word-ghost{color:transparent;-webkit-text-stroke:1px oklch(.9046 calc(var(--ol-c-body)*.11) var(--ol-h) / .42);text-shadow:0 30px 52px rgba(0,0,0,.28)}
.oc-word-fill{color:oklch(.966 calc(var(--ol-c-body)*.07) var(--ol-h-pap) / .94);text-shadow:0 22px 60px oklch(.147 calc(var(--ol-c-body)*.375) var(--ol-h) / .34);transition:opacity 1.7s var(--v7-ease),filter 1.7s var(--v7-ease),color 1.7s var(--v7-ease)}
#oc-intro[data-phase="smoke"] .oc-word-fill{opacity:.22;filter:blur(.45px);color:oklch(.9046 calc(var(--ol-c-body)*.11) var(--ol-h) / 0.82)}
#oc-intro[data-phase="reveal"] .oc-word-fill{opacity:1;filter:none;color:oklch(.966 calc(var(--ol-c-body)*.07) var(--ol-h-pap))}
.oc-intro-dubai{font-family:var(--font-ui);font-size:clamp(8px,.72vw,11px);letter-spacing:.31em;color:oklch(.9046 calc(var(--ol-c-body)*.11) var(--ol-h) / 0.81)}
.oc-intro-skip,#oc-intro-sound{border:1px solid oklch(.9046 calc(var(--ol-c-body)*.11) var(--ol-h) / .34);background:oklch(.1705 calc(var(--ol-c-body)*.413) var(--ol-h) / .28);backdrop-filter:blur(16px);color:oklch(.966 calc(var(--ol-c-body)*.07) var(--ol-h-pap));min-height:46px;padding:0 26px;letter-spacing:.28em;transition:background .45s var(--v7-ease),border-color .45s var(--v7-ease),transform .45s var(--v7-ease)}
.oc-intro-skip:hover,#oc-intro-sound:hover{background:oklch(.966 calc(var(--ol-c-body)*.07) var(--ol-h-pap) / .94);color:oklch(.2161 calc(var(--ol-c-body)*.637) var(--ol-h));border-color:oklch(.966 calc(var(--ol-c-body)*.07) var(--ol-h-pap));transform:translateY(-2px)}

/* ACCUEIL — amplitude maîtrisée, aucune coupe sur les écrans courts */
.hero{min-height:100svh;align-items:center;padding-top:0}
.hero-body{padding:clamp(168px,20vh,222px) 0 clamp(72px,9vh,112px)}
.hero-h1{font-size:clamp(70px,7.35vw,112px);line-height:.89;letter-spacing:-.032em;max-width:1080px;text-wrap:balance}
.hero-h1 .sln{display:block;overflow:visible}
.hero-sub{max-width:690px;font-size:clamp(16px,1.28vw,20px);line-height:1.62;margin-top:24px}
.hero-act{margin-top:30px}
.hero-vid video{opacity:.72;filter:brightness(.77) contrast(1.07) saturate(.84)}
.hero-veil{background:linear-gradient(90deg,oklch(.147 calc(var(--ol-c-body)*.375) var(--ol-h) / .80),oklch(.147 calc(var(--ol-c-body)*.375) var(--ol-h) / .30) 56%,oklch(.147 calc(var(--ol-c-body)*.375) var(--ol-h) / .68)),linear-gradient(180deg,oklch(.147 calc(var(--ol-c-body)*.375) var(--ol-h) / .10),oklch(.147 calc(var(--ol-c-body)*.375) var(--ol-h) / .58))}
.dubai-band{background:oklch(.2361 calc(var(--ol-c-body)*.659) var(--ol-h) / .82);backdrop-filter:blur(18px);border-color:oklch(.9046 calc(var(--ol-c-body)*.11) var(--ol-h) / 0.82)}
@media (min-width:900px) and (max-height:820px){
  .hero-body{padding-top:142px;padding-bottom:54px}
  .hero-h1{font-size:clamp(58px,6.35vw,90px)}
  .hero-ey{margin-bottom:13px}.hero-sub{margin-top:18px;line-height:1.5}.hero-act{margin-top:22px}
}

/* CARRARA — présence sculpturale et fallback noble */
.oc-frag-sec{min-height:100svh;background:radial-gradient(70% 64% at 58% 45%,oklch(.4163 calc(var(--ol-c-body)*.914) var(--ol-h) / .32),transparent 70%),linear-gradient(145deg,oklch(.2161 calc(var(--ol-c-body)*.637) var(--ol-h)),oklch(.2817 calc(var(--ol-c-body)*.796) var(--ol-h)) 58%,oklch(.147 calc(var(--ol-c-body)*.375) var(--ol-h)))}
.oc-frag-host{filter:brightness(.82) contrast(1.12) saturate(.66)}
.oc-frag-host.oc-3d-fallback::before{
  content:"";position:absolute;left:50%;top:48%;width:min(48vw,620px);aspect-ratio:1.08;transform:translate(-50%,-50%) rotate(-9deg);
  clip-path:polygon(22% 4%,74% 1%,96% 31%,88% 74%,58% 98%,17% 86%,2% 49%);
  background:radial-gradient(circle at 32% 22%,#fff 0,oklch(.9319 calc(var(--ol-c-body)*.109) var(--ol-h)) 20%,oklch(.8675 calc(var(--ol-c-body)*.099) var(--ol-h)) 46%,oklch(.6755 calc(var(--ol-c-body)*.237) var(--ol-h)) 100%);
  box-shadow:0 70px 110px oklch(.1328 calc(var(--ol-c-body)*.322) var(--ol-h) / .48),inset -48px -42px 82px oklch(.3271 calc(var(--ol-c-body)*.683) var(--ol-h) / .28);
}
.oc-frag-host.oc-3d-fallback::after{content:"";position:absolute;left:50%;top:46%;width:min(42vw,540px);height:2px;transform:translate(-50%,-50%) rotate(-18deg);background:linear-gradient(90deg,transparent,oklch(.3556 calc(var(--ol-c-body)*.343) var(--ol-h) / .52),transparent);filter:blur(.5px)}

/* CONCIERGERIE — lisibilité absolue */
#aiw{right:22px;bottom:22px}
.ai-pn{width:min(400px,calc(100vw - 28px));max-height:min(590px,74vh);background:oklch(.981 calc(var(--ol-c-body)*.07) var(--ol-h-pap) / .992);color:oklch(.2161 calc(var(--ol-c-body)*.637) var(--ol-h));border:1px solid oklch(.2161 calc(var(--ol-c-body)*.637) var(--ol-h) / .16);box-shadow:0 36px 110px oklch(.1422 calc(var(--ol-c-body)*.35) var(--ol-h) / .36)}
.ai-pt{color:oklch(.2161 calc(var(--ol-c-body)*.637) var(--ol-h));font-family:var(--font-display);font-size:30px;line-height:1.05}
.ai-ps{color:oklch(.2161 calc(var(--ol-c-body)*.637) var(--ol-h) / .58)}
.ai-msgs{background:oklch(.969 calc(var(--ol-c-body)*.07) var(--ol-h-pap));min-height:210px}
.ai-m{font-family:var(--font-reading);font-size:16px;line-height:1.58;color:oklch(.2161 calc(var(--ol-c-body)*.637) var(--ol-h))}
.ai-m.bot{background:oklch(.2817 calc(var(--ol-c-body)*.796) var(--ol-h));color:oklch(.966 calc(var(--ol-c-body)*.07) var(--ol-h-pap))}
.ai-m.user{background:oklch(.9319 calc(var(--ol-c-body)*.109) var(--ol-h));color:oklch(.2161 calc(var(--ol-c-body)*.637) var(--ol-h))}
.ai-inp{font-family:var(--font-reading);font-size:16px;background:#fff;color:oklch(.2161 calc(var(--ol-c-body)*.637) var(--ol-h))}
.ai-inp::placeholder{color:oklch(.2161 calc(var(--ol-c-body)*.637) var(--ol-h) / 0.54)}
.ai-snd{background:oklch(.2161 calc(var(--ol-c-body)*.637) var(--ol-h));color:#fff}
.ai-cl{color:oklch(.2161 calc(var(--ol-c-body)*.637) var(--ol-h));opacity:.78}

/* MESURE D'AUDIENCE — consentement discret */
.oc-consent{position:fixed;z-index:13000;left:24px;right:24px;bottom:20px;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:18px 20px;border:1px solid oklch(.9046 calc(var(--ol-c-body)*.11) var(--ol-h) / .22);background:oklch(.1705 calc(var(--ol-c-body)*.413) var(--ol-h) / .94);color:oklch(.966 calc(var(--ol-c-body)*.07) var(--ol-h-pap));box-shadow:0 28px 90px rgba(0,0,0,.34);backdrop-filter:blur(18px);transform:translateY(18px);opacity:0;transition:.5s var(--v7-ease)}
.oc-consent.is-visible{transform:none;opacity:1}
.oc-consent p{margin:0;color:oklch(.966 calc(var(--ol-c-body)*.07) var(--ol-h-pap) / .78);font-family:var(--font-reading);font-size:14px;line-height:1.45}
.oc-consent-actions{display:flex;gap:10px;flex:0 0 auto}.oc-consent button{border:1px solid oklch(.9046 calc(var(--ol-c-body)*.11) var(--ol-h) / .28);background:transparent;color:oklch(.966 calc(var(--ol-c-body)*.07) var(--ol-h-pap));padding:11px 16px;font-size:9px;letter-spacing:.18em;text-transform:uppercase}.oc-consent button[data-consent="accept"]{background:oklch(.966 calc(var(--ol-c-body)*.07) var(--ol-h-pap));color:oklch(.2161 calc(var(--ol-c-body)*.637) var(--ol-h))}

/* TRANSITIONS ET FOCUS */
.oc-page-canvas{position:fixed;inset:0;width:100%;height:100%;z-index:12500;pointer-events:none;opacity:0;transition:opacity .08s linear}.oc-page-canvas.is-active{opacity:1}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:1px solid oklch(.8242 calc(var(--ol-c-pat)*.806) var(--ol-h-pat));outline-offset:4px}

@media (max-width:760px){
  .oc-word{font-size:17.5vw;letter-spacing:.025em}
  .oc-intro-kicker{font-size:7px;letter-spacing:.27em}
  .oc-intro-dubai{max-width:82vw;font-size:8px;line-height:1.65}
  #oc-intro-sound{left:16px;bottom:18px;padding:0 16px;font-size:7px}
  .oc-intro-skip{right:16px;bottom:18px;transform:none;padding:0 16px;font-size:7px}
  .hero{min-height:100svh}.hero-body{padding:142px 0 74px}.hero-h1{font-size:clamp(48px,15.5vw,74px);line-height:.94}.hero-sub{max-width:96%}
  .oc-consent{left:12px;right:12px;bottom:12px;align-items:flex-start;flex-direction:column;gap:14px}.oc-consent-actions{width:100%}.oc-consent button{flex:1}
  .ai-pn{right:-6px;bottom:70px;max-height:72svh}
}
@media (prefers-reduced-motion:reduce){.oc-smoke::before,.oc-smoke::after{animation:none}.oc-page-canvas{display:none}}

/* =====================================================================
   CARAVELLI OLYMPE V7.1 — CORRECTIONS VISUELLES ISSUES DU CONTRÔLE RÉEL
   Lisibilité, chantiers privés, Carrara, mobile et consentement compact.
   ===================================================================== */

/* Carnets privés : aucune règle historique claire ne peut reprendre la main. */
html.lux body[data-page="chantiers-prives"],
html.lux body[data-page="chantiers-prives"] main{
  background:oklch(.2161 calc(var(--ol-c-body)*.637) var(--ol-h));
  color:oklch(.9046 calc(var(--ol-c-body)*.11) var(--ol-h));
}
html.lux body[data-page="chantiers-prives"] .cp-page-hero{
  min-height:92svh;
  padding:clamp(142px,17vh,190px) clamp(26px,7vw,112px) clamp(76px,9vh,112px);
  display:grid;
  align-items:end;
  isolation:isolate;
  overflow:hidden;
  color:oklch(.966 calc(var(--ol-c-body)*.07) var(--ol-h-pap));
  background:
    radial-gradient(68% 72% at 78% 22%,oklch(.4591 calc(var(--ol-c-body)*.914) var(--ol-h) / .52),transparent 64%),
    radial-gradient(46% 42% at 16% 76%,oklch(.7724 calc(var(--ol-c-body)*.438) var(--ol-h) / .12),transparent 72%),
    linear-gradient(145deg,oklch(.147 calc(var(--ol-c-body)*.375) var(--ol-h)) 0%,oklch(.2161 calc(var(--ol-c-body)*.637) var(--ol-h)) 47%,oklch(.2817 calc(var(--ol-c-body)*.796) var(--ol-h)) 100%);
}
html.lux body[data-page="chantiers-prives"] .cp-page-hero::before{
  color:oklch(.9046 calc(var(--ol-c-body)*.11) var(--ol-h) / 0.81);
  z-index:-1;
}
html.lux body[data-page="chantiers-prives"] .cp-page-hero::after{
  content:"";
  position:absolute;
  inset:auto 8vw 12vh auto;
  width:min(31vw,440px);
  height:1px;
  background:linear-gradient(90deg,transparent,oklch(.7724 calc(var(--ol-c-body)*.438) var(--ol-h)),oklch(.9046 calc(var(--ol-c-body)*.11) var(--ol-h)),transparent);
  opacity:.5;
  transform:rotate(-12deg);
}
html.lux body[data-page="chantiers-prives"] .cp-page-hero>div{width:min(1180px,100%);margin:0 auto}
html.lux body[data-page="chantiers-prives"] .cp-page-title{
  color:oklch(.966 calc(var(--ol-c-body)*.07) var(--ol-h-pap));
  font-family:var(--font-display);
  font-size:clamp(76px,11vw,172px);
  line-height:.82;
  letter-spacing:-.045em;
  margin:24px 0 34px;
  text-shadow:0 28px 90px oklch(.1328 calc(var(--ol-c-body)*.322) var(--ol-h) / .35);
}
html.lux body[data-page="chantiers-prives"] .cp-page-intro{
  color:oklch(.9046 calc(var(--ol-c-body)*.11) var(--ol-h) / 0.82);
  font-family:var(--font-reading);
  font-size:clamp(17px,1.45vw,22px);
  line-height:1.72;
}
html.lux body[data-page="chantiers-prives"] .cp-article{
  background:linear-gradient(145deg,oklch(.147 calc(var(--ol-c-body)*.375) var(--ol-h)),oklch(.2161 calc(var(--ol-c-body)*.637) var(--ol-h)) 58%,oklch(.2361 calc(var(--ol-c-body)*.659) var(--ol-h)));
  color:oklch(.9046 calc(var(--ol-c-body)*.11) var(--ol-h));
  border-top:1px solid oklch(.9046 calc(var(--ol-c-body)*.11) var(--ol-h) / .12);
}
html.lux body[data-page="chantiers-prives"] .cp-article:nth-of-type(even){
  background:linear-gradient(215deg,oklch(.147 calc(var(--ol-c-body)*.375) var(--ol-h)),oklch(.2817 calc(var(--ol-c-body)*.796) var(--ol-h)) 62%,oklch(.2161 calc(var(--ol-c-body)*.637) var(--ol-h)));
}
html.lux body[data-page="chantiers-prives"] .cp-media{
  position:relative;
  background:oklch(.147 calc(var(--ol-c-body)*.375) var(--ol-h));
  box-shadow:0 46px 110px rgba(0,0,0,.30);
  overflow:hidden;
}
html.lux body[data-page="chantiers-prives"] .cp-media::after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(180deg,oklch(.147 calc(var(--ol-c-body)*.375) var(--ol-h) / .02),oklch(.147 calc(var(--ol-c-body)*.375) var(--ol-h) / .18));
}
html.lux body[data-page="chantiers-prives"] .cp-title{color:oklch(.966 calc(var(--ol-c-body)*.07) var(--ol-h-pap));font-family:var(--font-display)}
html.lux body[data-page="chantiers-prives"] .cp-copy{color:oklch(.9046 calc(var(--ol-c-body)*.11) var(--ol-h) / 0.81);font-family:var(--font-reading)}
html.lux body[data-page="chantiers-prives"] .cp-place{color:oklch(.7724 calc(var(--ol-c-body)*.438) var(--ol-h))}
html.lux body[data-page="chantiers-prives"] .cp-number{color:oklch(.7724 calc(var(--ol-c-body)*.438) var(--ol-h) / 1.0)}

/* Carrara fallback : sculpture minérale, facettée, veinée, jamais bloc gris. */
html.lux .oc-frag-host.oc-3d-fallback::before{
  width:min(45vw,590px);
  aspect-ratio:1.04;
  transform:translate(-50%,-50%) rotate(-8deg) perspective(900px) rotateY(-7deg);
  background:
    linear-gradient(118deg,transparent 0 31%,oklch(.354 calc(var(--ol-c-body)*.423) var(--ol-h) / .28) 31.4% 31.9%,transparent 32.3% 100%),
    linear-gradient(153deg,transparent 0 58%,oklch(.4477 calc(var(--ol-c-body)*.293) var(--ol-h) / .25) 58.4% 58.9%,transparent 59.4% 100%),
    radial-gradient(ellipse 14% 44% at 39% 46%,transparent 0 63%,oklch(.4413 calc(var(--ol-c-body)*.326) var(--ol-h) / .22) 65%,transparent 69%),
    radial-gradient(circle at 28% 19%,oklch(1 0 var(--ol-h)) 0 9%,oklch(.96 calc(var(--ol-c-body)*.07) var(--ol-h-pap)) 27%,oklch(.9046 calc(var(--ol-c-body)*.11) var(--ol-h)) 56%,oklch(.7614 calc(var(--ol-c-body)*.115) var(--ol-h)) 100%);
  border:1px solid oklch(.966 calc(var(--ol-c-body)*.07) var(--ol-h-pap) / .48);
  box-shadow:
    0 72px 120px oklch(.1328 calc(var(--ol-c-body)*.322) var(--ol-h) / .48),
    -24px 12px 70px oklch(.7724 calc(var(--ol-c-body)*.438) var(--ol-h) / .13),
    inset 42px 28px 76px rgba(255,255,255,.52),
    inset -62px -54px 90px oklch(.3474 calc(var(--ol-c-body)*.92) var(--ol-h) / .32);
  filter:none;
  animation:v71StoneBreath 8s ease-in-out infinite alternate;
}
html.lux .oc-frag-host.oc-3d-fallback::after{
  width:min(40vw,520px);
  height:min(34vw,420px);
  top:48%;
  transform:translate(-50%,-50%) rotate(-8deg);
  background:
    linear-gradient(154deg,transparent 0 43%,oklch(.3475 calc(var(--ol-c-body)*.329) var(--ol-h) / .38) 43.5% 44%,transparent 44.5%),
    linear-gradient(112deg,transparent 0 66%,oklch(.4518 calc(var(--ol-c-body)*.347) var(--ol-h) / .28) 66.4% 66.9%,transparent 67.4%);
  opacity:.72;
  filter:blur(.25px);
  clip-path:polygon(22% 4%,74% 1%,96% 31%,88% 74%,58% 98%,17% 86%,2% 49%);
}
@keyframes v71StoneBreath{
  from{transform:translate(-50%,-50%) rotate(-9deg) perspective(900px) rotateY(-8deg) scale(.985)}
  to{transform:translate(-50%,-51%) rotate(-7deg) perspective(900px) rotateY(-4deg) scale(1.015)}
}

/* Consentement : confidentiel et compact, jamais un mur devant l'œuvre. */
html.lux .oc-consent{
  left:50%;right:auto;bottom:16px;
  width:min(940px,calc(100vw - 36px));
  padding:13px 14px 13px 18px;
  gap:18px;
  border-color:oklch(.9046 calc(var(--ol-c-body)*.11) var(--ol-h) / 0.82);
  background:oklch(.1617 calc(var(--ol-c-body)*.415) var(--ol-h) / .91);
  transform:translate(-50%,18px);
}
html.lux .oc-consent.is-visible{transform:translate(-50%,0)}
html.lux .oc-consent p{font-size:12.5px;line-height:1.42}
html.lux .oc-consent button{padding:10px 13px;font-size:8px;white-space:nowrap}

/* Bandeau Dubaï : une annonce, pas un ruban qui déborde. */
html.lux .dubai-band{max-width:min(1080px,calc(100vw - 36px));margin-inline:auto;justify-content:center;text-align:center}
html.lux .dubai-band-txt{margin:0;min-width:0}

/* Téléphone : typographie souveraine mais entièrement contenue. */
@media(max-width:820px){
  html.lux .dubai-band{
    top:76px;
    display:block;
    min-height:0;
    padding:10px 14px;
    overflow:hidden;
    white-space:normal;
    text-align:center;
  }
  html.lux .dubai-band-txt{font-size:8px;letter-spacing:.105em;line-height:1.45}
  html.lux .hero-body{width:calc(100% - 44px);margin-inline:auto;padding-top:154px}
  html.lux .hero-h1{font-size:clamp(46px,13.7vw,64px);line-height:.99;letter-spacing:-.038em;max-width:100%}
  html.lux .hero-h1 .sln{max-width:100%}
  html.lux body[data-page="chantiers-prives"] .cp-page-hero{padding:142px 22px 68px;min-height:88svh}
  html.lux body[data-page="chantiers-prives"] .cp-page-title{font-size:clamp(62px,17.2vw,94px);line-height:.88}
  html.lux body[data-page="chantiers-prives"] .cp-page-intro{font-size:17px}
  html.lux .oc-frag-host.oc-3d-fallback::before{width:min(82vw,490px);left:62%;top:42%}
  html.lux .oc-frag-host.oc-3d-fallback::after{width:min(70vw,420px);left:62%;top:42%}
  html.lux .oc-consent{
    left:12px;right:12px;bottom:10px;width:auto;
    display:grid;grid-template-columns:1fr;
    padding:13px;gap:11px;
    transform:translateY(18px)
  }
  html.lux .oc-consent.is-visible{transform:none}
  html.lux .oc-consent p{font-size:12px}
  html.lux .oc-consent-actions{display:grid;grid-template-columns:1fr 1fr;width:100%}
  html.lux .oc-consent button{white-space:normal;line-height:1.35}
}
@media(max-width:430px){
  html.lux .hero-body{width:calc(100% - 36px)}
  html.lux .hero-h1{font-size:clamp(44px,13.2vw,58px)}
  html.lux .dubai-band-txt{font-size:7.5px;letter-spacing:.085em}
}

/* Instruments flottants — géométrie verrouillée. */
@media(pointer:fine){
  html.lux #cur{position:fixed;left:0;top:0;width:0;height:0;z-index:11990;pointer-events:none;mix-blend-mode:normal}
  html.lux #cur .cur-ring,html.lux #cur .cur-dot{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);pointer-events:none}
  html.lux #cur .cur-ring{width:28px;height:28px;border:1px solid oklch(.9046 calc(var(--ol-c-body)*.11) var(--ol-h) / .58);border-radius:50%;background:oklch(.147 calc(var(--ol-c-body)*.375) var(--ol-h) / .08);box-shadow:0 0 0 1px oklch(.147 calc(var(--ol-c-body)*.375) var(--ol-h) / .14)}
  html.lux #cur .cur-dot{width:3px;height:3px;border-radius:50%;background:oklch(.8242 calc(var(--ol-c-pat)*.806) var(--ol-h-pat))}
  html.lux #cur.has-label .cur-ring{width:78px;height:48px;background:oklch(.147 calc(var(--ol-c-body)*.375) var(--ol-h) / .76);border-color:oklch(.9046 calc(var(--ol-c-body)*.11) var(--ol-h) / 0.82);backdrop-filter:blur(12px)}
  html.lux #cur.is-action .cur-ring{width:58px;height:58px}
}
@media(pointer:coarse){html.lux #cur{display:none}}
html.lux .oc-sound-toggle{
  top:auto;left:24px;right:auto;bottom:24px;
  width:auto;min-width:112px;max-width:none;height:42px;
  display:inline-flex;align-items:center;justify-content:center;
  padding:0 16px;border:1px solid oklch(.9046 calc(var(--ol-c-body)*.11) var(--ol-h) / .25);
  border-radius:999px;background:oklch(.1705 calc(var(--ol-c-body)*.413) var(--ol-h) / .72);color:oklch(.9046 calc(var(--ol-c-body)*.11) var(--ol-h));
  box-shadow:0 16px 42px rgba(0,0,0,.22);backdrop-filter:blur(16px)
}
html.lux .oc-sound-toggle:hover,html.lux .oc-sound-toggle.is-on{background:oklch(.966 calc(var(--ol-c-body)*.07) var(--ol-h-pap));color:oklch(.2161 calc(var(--ol-c-body)*.637) var(--ol-h))}
@media(max-width:820px){html.lux .oc-sound-toggle{left:16px;right:auto;bottom:16px;min-width:104px;height:40px}}

/* OLYMPE V7.4 — Folco always readable: the historical film may not remain hidden if an observer is delayed. */
html.js body[data-page="about"] #folco-film .legacy-grid.ol-reveal{opacity:1;transform:none;filter:none;visibility:visible;}
html.js body[data-page="about"] #folco-film .legacy-media{isolation:isolate;}
html.js body[data-page="about"] #folco-film .legacy-media video{position:relative;z-index:1;}
html.js body[data-page="about"] #folco-film .legacy-media::after{z-index:2;}

/* OLYMPE V7.5 — consentement prioritaire : aucun instrument flottant ne concurrence le choix initial. */
html.lux body.oc-consent-open :is(.oc-sound-toggle,#vg-btn,#aiw){opacity:0;visibility:hidden;pointer-events:none;}
html.lux :is(.oc-sound-toggle,#vg-btn,#aiw){transition:opacity .45s var(--v7-ease),visibility .45s;}
@media(max-width:820px){html.lux .oc-consent{bottom:18px;max-height:calc(100svh - 36px);overflow:auto;}html.lux .oc-consent p{color:oklch(.966 calc(var(--ol-c-body)*.07) var(--ol-h-pap) / .88);}}

/* ========================================================================== 
   OLYMPE V7.6 — PASSE HAUTE COUTURE / LISIBILITÉ / ÉCHELLE / BLEU OPALE
   Consolidation additive dans l’unique feuille système, sans nouvelle CSS.
   ========================================================================== */
:root{
  --ol-opal:oklch(.7033 calc(var(--ol-c-body)*.572) var(--ol-h));
  --ol-opal-soft:oklch(.8452 calc(var(--ol-c-body)*.356) var(--ol-h));
  --ol-opal-deep:oklch(.5147 calc(var(--ol-c-body)*.709) var(--ol-h));
  --ol-ink-readable:oklch(.2599 calc(var(--ol-c-body)*.403) var(--ol-h));
  --ol-copy-readable:oklch(.4278 calc(var(--ol-c-body)*.474) var(--ol-h));
}

/* Le bleu devient plus accueillant sans quitter l’identité Caravelli. */
html.lux .hd .nl.active::after,
html.lux .hd .nl:hover::after{background:linear-gradient(90deg,var(--ol-silver),var(--ol-opal-soft),var(--ol-platinum));}
html.lux :is(.eyebrow,.kicker,.hero-ey,.regards-eyebrow,.dxb-k,.cp-place){color:var(--ol-opal-soft);}
html.lux .btn-o:hover,
html.lux .btn-l:hover{border-color:var(--ol-opal);box-shadow:0 14px 42px oklch(.5147 calc(var(--ol-c-body)*.709) var(--ol-h) / .16);}

/* Contraste absolu sur tous les fonds clairs. */
html.lux main :is(.sec--blanc,.sec--creme,.sec--lin,.pensee-body,.dxb-sec,.dxb-ch):not(.sec--noir){color:var(--ol-ink-readable);}
html.lux main :is(.sec--blanc,.sec--creme,.sec--lin,.pensee-body,.dxb-sec,.dxb-ch):not(.sec--noir) :is(p,.body,.lead,li){color:var(--ol-copy-readable);text-shadow:none;}
html.lux main :is(.sec--blanc,.sec--creme,.sec--lin,.pensee-body,.dxb-sec,.dxb-ch):not(.sec--noir) :is(h1,h2,h3,h4,.display,.stmt,.dxb-t){color:var(--ol-ink-readable);}
html.lux main :is(.sec--blanc,.sec--creme,.sec--lin,.pensee-body,.dxb-sec,.dxb-ch):not(.sec--noir) em{color:var(--ol-opal-deep);-webkit-text-fill-color:var(--ol-opal-deep);}

/* LA MAISON — hero net, fondateur lisible, cartes d’engagement dignes. */
body[data-page="about"] .ph{min-height:88svh;background:oklch(.2161 calc(var(--ol-c-body)*.637) var(--ol-h));}
body[data-page="about"] .ph-bg{filter:saturate(.74) contrast(1.08) brightness(.64);background-position:center 42%;}
body[data-page="about"] .ph::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,oklch(.1705 calc(var(--ol-c-body)*.413) var(--ol-h) / .83),oklch(.1705 calc(var(--ol-c-body)*.413) var(--ol-h) / .30) 62%,oklch(.1705 calc(var(--ol-c-body)*.413) var(--ol-h) / .12)),linear-gradient(0deg,oklch(.1705 calc(var(--ol-c-body)*.413) var(--ol-h) / .72),transparent 55%);pointer-events:none;}
body[data-page="about"] .ph .container{position:relative;z-index:2;}
body[data-page="about"] .stmt-sig2{color:var(--ol-opal-deep);border-top-color:oklch(.5147 calc(var(--ol-c-body)*.709) var(--ol-h) / 0.84);}
body[data-page="about"] .folco{background:linear-gradient(135deg,oklch(.147 calc(var(--ol-c-body)*.375) var(--ol-h)),oklch(.2161 calc(var(--ol-c-body)*.637) var(--ol-h)) 60%,oklch(.2817 calc(var(--ol-c-body)*.796) var(--ol-h)));color:var(--ol-carrara);}
body[data-page="about"] .folco :is(p,.body,.folco-text){color:oklch(.966 calc(var(--ol-c-body)*.07) var(--ol-h-pap) / .78);}
body[data-page="about"] .folco-grid{align-items:center;gap:clamp(44px,7vw,110px);}
body[data-page="about"] .folco-portrait{max-height:78svh;min-height:560px;}
body[data-page="about"] .folco-video{filter:grayscale(1) contrast(1.12) brightness(.72);}
body[data-page="about"] .v6-inline-about-21{height:min(56vw,620px);max-height:620px;object-position:center;}
body[data-page="about"] .v6-inline-about-27{gap:1px;background:oklch(.5147 calc(var(--ol-c-body)*.709) var(--ol-h) / .22);}
body[data-page="about"] :is(.v6-inline-about-28,.v6-inline-about-32,.v6-inline-about-36){background:linear-gradient(145deg,oklch(.2161 calc(var(--ol-c-body)*.637) var(--ol-h)),oklch(.2817 calc(var(--ol-c-body)*.796) var(--ol-h)));border-top:1px solid oklch(.7033 calc(var(--ol-c-body)*.572) var(--ol-h) / .38);}
body[data-page="about"] :is(.v6-inline-about-28,.v6-inline-about-32,.v6-inline-about-36) :is(p,.body){color:oklch(.966 calc(var(--ol-c-body)*.07) var(--ol-h-pap) / .78);}
body[data-page="about"] :is(.v6-inline-about-30,.v6-inline-about-34,.v6-inline-about-38){color:var(--ol-carrara);}
body[data-page="about"] :is(.v6-inline-about-29,.v6-inline-about-33,.v6-inline-about-37){color:var(--ol-opal-soft);}

/* PENSÉE — manifeste respirant, jamais hors cadre. */
body[data-page="pensee"] .pensee-body{padding:clamp(90px,10vw,160px) var(--pad);}
body[data-page="pensee"] .pensee-body-inner{width:min(1120px,100%);margin:auto;}
body[data-page="pensee"] .pensee-manifesto{max-width:1020px;margin:auto;}
body[data-page="pensee"] .pm-stanza{font-size:clamp(28px,3.15vw,52px);line-height:1.28;letter-spacing:-.018em;color:var(--ol-ink-readable);}
body[data-page="pensee"] .pm-rule{height:54px;margin:34px 0;background:linear-gradient(180deg,transparent,var(--ol-opal),transparent);opacity:.72;}

/* MÉTHODE — cartes claires lisibles, accent opale. */
body[data-page="savoir-faire"] .sf-grid{background:oklch(.5147 calc(var(--ol-c-body)*.709) var(--ol-h) / .16);border-color:oklch(.5147 calc(var(--ol-c-body)*.709) var(--ol-h) / 0.84);}
body[data-page="savoir-faire"] .sf-item{background:linear-gradient(145deg,#fff,oklch(.9747 calc(var(--ol-c-body)*.057) var(--ol-h-pap)));border:1px solid oklch(.5147 calc(var(--ol-c-body)*.709) var(--ol-h) / .18);min-height:360px;padding:clamp(30px,4vw,58px);}
body[data-page="savoir-faire"] .sf-item :is(p,.sf-b){color:oklch(.4856 calc(var(--ol-c-body)*.476) var(--ol-h));}
body[data-page="savoir-faire"] .sf-item :is(h2,h3,.sf-t){color:oklch(.2638 calc(var(--ol-c-body)*.451) var(--ol-h));}
body[data-page="savoir-faire"] .sf-item .sf-n{color:var(--ol-opal-deep);}
body[data-page="savoir-faire"] .sf-item::before{background:linear-gradient(90deg,var(--ol-opal-deep),var(--ol-opal-soft));}

/* DUBAÏ — images contenues et textes lisibles. */
body[data-page="dubai-bureaux"] .dxb-ch{padding-block:clamp(80px,9vw,145px);}
body[data-page="dubai-bureaux"] .dxb-ch .split{align-items:center;}
body[data-page="dubai-bureaux"] .dxb-t{font-size:clamp(40px,4.6vw,76px);line-height:1.03;}
body[data-page="dubai-bureaux"] .dxb-ch .body{font-size:clamp(16px,1.2vw,19px);line-height:1.78;color:oklch(.4717 calc(var(--ol-c-body)*.456) var(--ol-h));}
body[data-page="dubai-bureaux"] .dxb-media{max-height:76svh;overflow:hidden;background:oklch(.9508 calc(var(--ol-c-body)*.102) var(--ol-h));box-shadow:0 28px 90px oklch(.2161 calc(var(--ol-c-body)*.637) var(--ol-h) / .14);}
body[data-page="dubai-bureaux"] .dxb-media :is(img,video){width:100%;height:100%;max-height:76svh;object-fit:cover;}
body[data-page="dubai-bureaux"] .dxb-cap{background:oklch(.2161 calc(var(--ol-c-body)*.637) var(--ol-h) / .92);color:var(--ol-carrara);}

/* INAUGURATION — aucun désert blanc, CTA visible et contenu resserré. */
body[data-page="inauguration-dubai"] main>.sec:last-of-type{padding:clamp(76px,8vw,120px) 0;min-height:0;background:linear-gradient(145deg,oklch(.9747 calc(var(--ol-c-body)*.057) var(--ol-h-pap)),#fff);}
body[data-page="inauguration-dubai"] main>.sec:last-of-type .stmt{max-width:1120px;margin:auto;}
body[data-page="inauguration-dubai"] .v6-inline-inauguration-dubai-3{font-size:clamp(28px,3.1vw,50px);line-height:1.2;color:var(--ol-ink-readable);max-width:1000px;}
body[data-page="inauguration-dubai"] .v6-inline-inauguration-dubai-4{margin-top:34px;}
body[data-page="inauguration-dubai"] .v6-inline-inauguration-dubai-4 .btn{color:oklch(.3035 calc(var(--ol-c-body)*.652) var(--ol-h));border-color:oklch(.5147 calc(var(--ol-c-body)*.709) var(--ol-h) / 0.84);background:rgba(255,255,255,.74);}

/* CHANTIERS PRIVÉS — films verticaux traités comme pièces éditoriales, pas comme murs. */
body[data-page="chantiers-prives"] .cp-page-hero{min-height:76svh;background:radial-gradient(circle at 72% 24%,oklch(.4587 calc(var(--ol-c-body)*.749) var(--ol-h)) 0,oklch(.3509 calc(var(--ol-c-body)*.873) var(--ol-h)) 30%,oklch(.224 calc(var(--ol-c-body)*.637) var(--ol-h)) 72%);}
body[data-page="chantiers-prives"] .cp-page-intro{color:oklch(.966 calc(var(--ol-c-body)*.07) var(--ol-h-pap) / .82);max-width:820px;}
body[data-page="chantiers-prives"] .cp-article,
body[data-page="chantiers-prives"] .cp-article:nth-of-type(even){grid-template-columns:minmax(360px,.82fr) minmax(460px,1.18fr);min-height:88svh;align-items:center;padding:clamp(70px,8vw,125px) clamp(24px,6vw,96px);gap:clamp(44px,7vw,110px);background:radial-gradient(circle at 18% 24%,oklch(.4587 calc(var(--ol-c-body)*.749) var(--ol-h) / .24),transparent 42%),linear-gradient(145deg,oklch(.1805 calc(var(--ol-c-body)*.508) var(--ol-h)),oklch(.2699 calc(var(--ol-c-body)*.778) var(--ol-h)));}
body[data-page="chantiers-prives"] .cp-article:nth-of-type(even) .cp-media{order:2;}
body[data-page="chantiers-prives"] .cp-article>.cp-media{min-height:0;height:min(74svh,760px);width:min(100%,620px);justify-self:center;background:linear-gradient(145deg,oklch(.1311 calc(var(--ol-c-body)*.281) var(--ol-h)),oklch(.2817 calc(var(--ol-c-body)*.796) var(--ol-h)));border:1px solid oklch(.7033 calc(var(--ol-c-body)*.572) var(--ol-h) / .24);box-shadow:0 48px 130px rgba(0,0,0,.38);display:grid;place-items:center;overflow:hidden;}
body[data-page="chantiers-prives"] .cp-article>.cp-media video{width:100%;height:100%;object-fit:contain;background:oklch(.1311 calc(var(--ol-c-body)*.281) var(--ol-h));}
body[data-page="chantiers-prives"] .cp-content{padding:0;max-width:680px;}
body[data-page="chantiers-prives"] .cp-content .cp-title{font-size:clamp(48px,5.6vw,88px);line-height:.98;color:var(--ol-carrara);}
body[data-page="chantiers-prives"] .cp-content .cp-copy{font-size:clamp(17px,1.25vw,20px);line-height:1.75;color:oklch(.966 calc(var(--ol-c-body)*.07) var(--ol-h-pap) / 0.74);}
body[data-page="chantiers-prives"] .cp-number{color:oklch(.7033 calc(var(--ol-c-body)*.572) var(--ol-h) / 1.0);}
body[data-page="chantiers-prives"] .cp-place{color:var(--ol-opal-soft);}

/* Images éditoriales : plafonds pour éviter les agrandissements flous. */
body[data-page="about"] :is(.v6-inline-about-12,.v6-inline-about-18,.v6-inline-about-24,.v6-inline-about-44){max-width:1440px;margin-inline:auto;overflow:hidden;}
body[data-page="about"] :is(.v6-inline-about-13,.v6-inline-about-19,.v6-inline-about-25,.v6-inline-about-45){object-fit:cover;max-height:720px;}

@media (max-width:900px){
  body[data-page="chantiers-prives"] .cp-article,
  body[data-page="chantiers-prives"] .cp-article:nth-of-type(even){grid-template-columns:1fr;padding:68px 22px 84px;gap:42px;}
  body[data-page="chantiers-prives"] .cp-article:nth-of-type(even) .cp-media{order:0;}
  body[data-page="chantiers-prives"] .cp-article>.cp-media{height:min(68svh,680px);width:min(100%,520px);}
  body[data-page="about"] .folco-portrait{min-height:480px;}
}

/* ======================================================================
   OLYMPE V7.7 — IL PORTALE DEL TEMPO
   Extension événementielle additive sur la V7.6 validée.
   ====================================================================== */
:root{
  --dxb-horizon:oklch(.7318 calc(var(--ol-c-body)*.553) var(--ol-h));
  --dxb-horizon-light:oklch(.8792 calc(var(--ol-c-body)*.32) var(--ol-h));
  --dxb-horizon-deep:oklch(.5495 calc(var(--ol-c-body)*.714) var(--ol-h));
  --event-ease:cubic-bezier(.16,1,.3,1);
}

/* La révélation CARAVELLI respire avant l’apparition du portail. */
#oc-intro .oc-intro-inner{transition:opacity .9s var(--event-ease),transform 1.1s var(--event-ease)}
#oc-intro .oc-word,#oc-intro .oc-intro-kicker,#oc-intro .oc-intro-dubai{transition:opacity .9s var(--event-ease),transform 1.1s var(--event-ease),filter .9s var(--event-ease)}
#oc-intro[data-phase="portal"] .oc-word,
#oc-intro[data-phase="portal"] .oc-intro-kicker,
#oc-intro[data-phase="portal"] .oc-intro-dubai{
  opacity:0;
  transform:translateY(-18px) scale(.975);
  filter:blur(4px);
}

.oc-portale{
  position:absolute;
  left:50%;
  top:50%;
  z-index:6;
  width:min(92vw,1180px);
  height:min(82svh,820px);
  transform:translate(-50%,-47%) scale(.86);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity 1.15s var(--event-ease),transform 1.8s var(--event-ease),visibility 0s 1.15s;
  filter:drop-shadow(0 46px 90px oklch(.1264 calc(var(--ol-c-body)*.339) var(--ol-h) / .72));
}
#oc-intro[data-phase="portal"] .oc-portale{
  opacity:1;
  visibility:visible;
  transform:translate(-50%,-50%) scale(1);
  pointer-events:auto;
  transition-delay:.08s;
}
.oc-portale-aura{
  position:absolute;
  inset:8% 10% 2%;
  border-radius:50%;
  background:radial-gradient(circle at 50% 46%,oklch(.8792 calc(var(--ol-c-body)*.32) var(--ol-h) / .18),oklch(.7318 calc(var(--ol-c-body)*.553) var(--ol-h) / .075) 34%,transparent 68%);
  filter:blur(32px);
  opacity:.74;
  animation:eventAura 5.8s ease-in-out infinite alternate;
}
.oc-portale-sculpture{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:contain;
  transform:translateY(38px) scale(.92);
  opacity:0;
  filter:saturate(.8) contrast(1.06);
  transition:opacity 1.25s .12s var(--event-ease),transform 2s .04s var(--event-ease),filter 1.8s var(--event-ease);
}
#oc-intro[data-phase="portal"] .oc-portale-sculpture{opacity:1;transform:translateY(0) scale(1);filter:saturate(.92) contrast(1.08)}
.oc-portale-date{
  position:absolute;
  left:50%;
  top:47%;
  z-index:3;
  display:flex;
  align-items:baseline;
  justify-content:center;
  gap:clamp(8px,1.25vw,20px);
  width:72%;
  transform:translate(-50%,-50%);
  color:oklch(.966 calc(var(--ol-c-body)*.07) var(--ol-h-pap));
  font-family:var(--font-display);
  font-size:clamp(54px,8.6vw,128px);
  font-weight:400;
  line-height:.8;
  letter-spacing:.025em;
  text-shadow:0 0 38px oklch(.8792 calc(var(--ol-c-body)*.32) var(--ol-h) / .26),0 15px 45px oklch(.1321 calc(var(--ol-c-body)*.361) var(--ol-h) / .42);
}
.oc-date-part,.oc-date-dot{display:inline-block;opacity:0;transition:opacity .9s var(--event-ease),transform 1.65s var(--event-ease),filter 1.1s var(--event-ease)}
.oc-date-day{transform:translate3d(-95px,-22px,0) rotate(-4deg);filter:blur(7px)}
.oc-date-month{transform:scale(.45) rotate(5deg);filter:blur(6px)}
.oc-date-year{transform:translate3d(90px,58px,0) rotate(3deg);filter:blur(8px)}
.oc-date-dot{font-size:.52em;color:var(--dxb-horizon-light);transform:translateY(26px);filter:blur(4px)}
#oc-intro[data-phase="portal"] .oc-date-part,
#oc-intro[data-phase="portal"] .oc-date-dot{opacity:1;transform:none;filter:none}
#oc-intro[data-phase="portal"] .oc-date-day{transition-delay:.68s}
#oc-intro[data-phase="portal"] .oc-date-dot:nth-of-type(2){transition-delay:.85s}
#oc-intro[data-phase="portal"] .oc-date-month{transition-delay:1s}
#oc-intro[data-phase="portal"] .oc-date-dot:nth-of-type(4){transition-delay:1.13s}
#oc-intro[data-phase="portal"] .oc-date-year{transition-delay:1.27s}
.oc-portale-line{
  position:absolute;
  left:50%;
  bottom:17.5%;
  z-index:3;
  margin:0;
  transform:translate(-50%,18px);
  font-family:var(--font-ui);
  font-size:clamp(8px,.68vw,11px);
  letter-spacing:.52em;
  text-transform:uppercase;
  white-space:nowrap;
  color:oklch(.8792 calc(var(--ol-c-body)*.32) var(--ol-h) / .88);
  opacity:0;
  transition:opacity .9s 1.5s var(--event-ease),transform 1.2s 1.5s var(--event-ease);
}
#oc-intro[data-phase="portal"] .oc-portale-line{opacity:1;transform:translate(-50%,0)}
.oc-portale-actions{
  position:absolute;
  left:50%;
  bottom:6%;
  z-index:4;
  display:flex;
  gap:12px;
  transform:translate(-50%,16px);
  opacity:0;
  transition:opacity .8s 1.8s var(--event-ease),transform 1s 1.8s var(--event-ease);
}
#oc-intro[data-phase="portal"] .oc-portale-actions{opacity:1;transform:translate(-50%,0)}
.oc-portale-cta{
  display:inline-flex;
  min-height:46px;
  align-items:center;
  justify-content:center;
  padding:0 25px;
  border:1px solid oklch(.8792 calc(var(--ol-c-body)*.32) var(--ol-h) / .46);
  background:oklch(.2105 calc(var(--ol-c-body)*.547) var(--ol-h) / .54);
  backdrop-filter:blur(15px);
  color:oklch(.966 calc(var(--ol-c-body)*.07) var(--ol-h-pap));
  font-family:var(--font-ui);
  font-size:8px;
  letter-spacing:.28em;
  text-transform:uppercase;
  transition:background .45s var(--event-ease),color .45s var(--event-ease),border-color .45s var(--event-ease),transform .45s var(--event-ease);
}
.oc-portale-cta:hover{transform:translateY(-2px);background:oklch(.966 calc(var(--ol-c-body)*.07) var(--ol-h-pap));color:oklch(.2161 calc(var(--ol-c-body)*.637) var(--ol-h));border-color:oklch(.966 calc(var(--ol-c-body)*.07) var(--ol-h-pap))}
.oc-portale-cta--ghost{background:oklch(.2161 calc(var(--ol-c-body)*.637) var(--ol-h) / .2)}
@keyframes eventAura{to{transform:scale(1.075);opacity:.94}}

/* Une trace du portail demeure dans le hero après l’introduction. */
.hero-event-trace{
  display:grid;
  grid-template-columns:auto 1fr auto;
  align-items:center;
  gap:16px;
  width:min(100%,520px);
  margin-top:clamp(20px,2.8vw,38px);
  padding:12px 14px 12px 12px;
  border-top:1px solid oklch(.8792 calc(var(--ol-c-body)*.32) var(--ol-h) / .3);
  border-bottom:1px solid oklch(.8792 calc(var(--ol-c-body)*.32) var(--ol-h) / .13);
  color:oklch(.966 calc(var(--ol-c-body)*.07) var(--ol-h-pap));
  background:linear-gradient(90deg,oklch(.2161 calc(var(--ol-c-body)*.637) var(--ol-h) / .42),oklch(.7318 calc(var(--ol-c-body)*.553) var(--ol-h) / .07),transparent);
  transition:transform .55s var(--event-ease),border-color .55s var(--event-ease),background .55s var(--event-ease);
}
.hero-event-trace:hover{transform:translateX(8px);border-color:oklch(.8792 calc(var(--ol-c-body)*.32) var(--ol-h) / 0.84);background:linear-gradient(90deg,oklch(.3256 calc(var(--ol-c-body)*.926) var(--ol-h) / .58),oklch(.7318 calc(var(--ol-c-body)*.553) var(--ol-h) / .13),transparent)}
.hero-event-oculus{
  display:grid;
  place-items:center;
  width:52px;
  height:52px;
  border:1px solid oklch(.8792 calc(var(--ol-c-body)*.32) var(--ol-h) / .62);
  border-radius:50%;
  box-shadow:inset 0 0 25px oklch(.7318 calc(var(--ol-c-body)*.553) var(--ol-h) / .16),0 0 28px oklch(.7318 calc(var(--ol-c-body)*.553) var(--ol-h) / .08);
}
.hero-event-oculus span{grid-area:1/1;font-family:var(--font-display);font-size:17px;line-height:1;color:var(--dxb-horizon-light)}
.hero-event-oculus span:first-child{transform:translateY(-7px)}
.hero-event-oculus span:last-child{transform:translateY(8px)}
.hero-event-copy{display:flex;flex-direction:column;gap:4px;min-width:0}
.hero-event-copy strong{font-family:var(--font-display);font-size:clamp(20px,2vw,28px);font-weight:400;letter-spacing:.08em}
.hero-event-copy small{font-family:var(--font-ui);font-size:8px;line-height:1.5;letter-spacing:.18em;text-transform:uppercase;color:oklch(.9046 calc(var(--ol-c-body)*.11) var(--ol-h) / 0.82)}
.hero-event-arrow{font-size:20px;color:var(--dxb-horizon-light)}

/* Sceau événementiel injecté dans la navigation et le footer. */
.event-mini-seal{
  display:inline-grid;
  place-items:center;
  min-width:34px;
  height:18px;
  margin-left:7px;
  padding:0 5px;
  border:1px solid oklch(.7318 calc(var(--ol-c-body)*.553) var(--ol-h) / .42);
  border-radius:999px;
  color:var(--dxb-horizon-light);
  font-family:var(--font-ui);
  font-size:6px;
  letter-spacing:.12em;
  vertical-align:middle;
}

/* Invitation minérale en trois feuillets. */
.event-folio{
  position:relative;
  overflow:hidden;
  padding:clamp(90px,10vw,170px) max(5vw,24px);
  background:linear-gradient(145deg,oklch(.981 calc(var(--ol-c-body)*.07) var(--ol-h-pap)) 0%,oklch(.9568 calc(var(--ol-c-body)*.102) var(--ol-h)) 50%,oklch(.9923 calc(var(--ol-c-body)*.047) var(--ol-h-pap)) 100%);
  color:oklch(.2069 calc(var(--ol-c-body)*.569) var(--ol-h));
}
.event-folio::before{
  content:"";
  position:absolute;
  inset:-20%;
  background:radial-gradient(circle at 74% 22%,oklch(.7318 calc(var(--ol-c-body)*.553) var(--ol-h) / .22),transparent 30%),linear-gradient(112deg,transparent 34%,oklch(.8792 calc(var(--ol-c-body)*.32) var(--ol-h) / .18) 49%,transparent 64%);
  transform:rotate(-4deg);
  pointer-events:none;
}
.event-folio-head{position:relative;z-index:1;width:min(1180px,100%);margin:0 auto clamp(45px,6vw,82px)}
.event-folio-kicker{margin:0 0 18px;font-family:var(--font-ui);font-size:9px;letter-spacing:.42em;text-transform:uppercase;color:var(--dxb-horizon-deep)}
.event-folio h2{margin:0;font-family:var(--font-display);font-size:clamp(45px,6.2vw,96px);font-weight:400;line-height:.98;letter-spacing:-.02em}
.event-folio h2 em{color:var(--dxb-horizon-deep)}
.event-folio-sheets{position:relative;z-index:1;display:grid;grid-template-columns:repeat(3,1fr);width:min(1260px,100%);margin:auto;perspective:1600px}
.event-sheet{
  position:relative;
  min-height:390px;
  padding:clamp(30px,4vw,58px);
  border:1px solid oklch(.5147 calc(var(--ol-c-body)*.709) var(--ol-h) / .2);
  background:rgba(255,255,255,.78);
  box-shadow:0 30px 90px oklch(.2161 calc(var(--ol-c-body)*.637) var(--ol-h) / .08);
  backdrop-filter:blur(18px);
  transform-origin:left center;
  transition:transform .8s var(--event-ease),box-shadow .8s var(--event-ease),background .8s var(--event-ease);
}
.event-sheet+ .event-sheet{margin-left:-1px}
.event-sheet:hover{transform:translateY(-12px) rotateY(-1.2deg);box-shadow:0 44px 110px oklch(.2161 calc(var(--ol-c-body)*.637) var(--ol-h) / .15);background:#fff}
.event-sheet-index{display:block;margin-bottom:clamp(80px,9vw,125px);font-family:var(--font-display);font-size:58px;color:oklch(.5147 calc(var(--ol-c-body)*.709) var(--ol-h) / 0.84)}
.event-sheet p{margin:0 0 14px;font-family:var(--font-ui);font-size:8px;letter-spacing:.36em;text-transform:uppercase;color:var(--dxb-horizon-deep)}
.event-sheet strong{display:block;font-family:var(--font-display);font-size:clamp(33px,3.5vw,54px);font-weight:400;line-height:1.02}
.event-sheet small{display:block;margin-top:17px;font-family:var(--font-editorial);font-size:17px;color:oklch(.5035 calc(var(--ol-c-body)*.449) var(--ol-h))}
.event-sheet a{display:inline-block;margin-top:24px;padding-bottom:7px;border-bottom:1px solid oklch(.5147 calc(var(--ol-c-body)*.709) var(--ol-h) / .42);font-family:var(--font-ui);font-size:8px;letter-spacing:.25em;text-transform:uppercase;color:oklch(.3426 calc(var(--ol-c-body)*.767) var(--ol-h))}
.event-sheet--place{transform:translateY(26px)}
.event-sheet--invite{transform:translateY(52px)}
.event-sheet--place:hover{transform:translateY(12px) rotateY(-1.2deg)}
.event-sheet--invite:hover{transform:translateY(38px) rotateY(-1.2deg)}

/* Cérémonie de clôture : mémoire de l’oculus. */
.event-closing{
  position:relative;
  display:flex;
  min-height:min(86svh,900px);
  flex-direction:column;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  padding:100px 24px;
  text-align:center;
  color:oklch(.966 calc(var(--ol-c-body)*.07) var(--ol-h-pap));
  background:radial-gradient(circle at 50% 45%,oklch(.5147 calc(var(--ol-c-body)*.709) var(--ol-h) / .38),transparent 27%),linear-gradient(145deg,oklch(.1767 calc(var(--ol-c-body)*.563) var(--ol-h)),oklch(.2161 calc(var(--ol-c-body)*.637) var(--ol-h)) 46%,oklch(.3256 calc(var(--ol-c-body)*.926) var(--ol-h)));
}
.event-closing::after{content:"";position:absolute;inset:0;background:url('../assets/grain.png');background-size:220px;mix-blend-mode:soft-light;opacity:.18;pointer-events:none}
.event-closing-oculus{position:relative;z-index:1;display:grid;place-items:center;width:150px;height:150px;margin-bottom:34px;border:1px solid oklch(.8792 calc(var(--ol-c-body)*.32) var(--ol-h) / .64);border-radius:50%;box-shadow:inset 0 0 65px oklch(.7318 calc(var(--ol-c-body)*.553) var(--ol-h) / .24),0 0 80px oklch(.7318 calc(var(--ol-c-body)*.553) var(--ol-h) / .16)}
.event-closing-oculus span{grid-area:1/1;font-family:var(--font-display);font-size:45px;color:var(--dxb-horizon-light)}
.event-closing-oculus span:first-child{transform:translateY(-20px)}
.event-closing-oculus span:last-child{transform:translateY(22px)}
.event-closing>p{position:relative;z-index:1;margin:0 0 22px;font-family:var(--font-ui);font-size:9px;letter-spacing:.48em;text-transform:uppercase;color:oklch(.8792 calc(var(--ol-c-body)*.32) var(--ol-h) / 0.84)}
.event-closing h2{position:relative;z-index:1;max-width:1060px;margin:0;font-family:var(--font-display);font-size:clamp(48px,6.6vw,102px);font-weight:400;line-height:.98}
.event-closing h2 em{color:var(--dxb-horizon-light)}
.event-closing-date{position:relative;z-index:1;margin:42px 0 32px;font-family:var(--font-display);font-size:clamp(27px,3.4vw,52px);font-weight:400;letter-spacing:.18em}
.event-closing .btn{position:relative;z-index:1}

@media(max-width:900px){
  .oc-portale{width:98vw;height:76svh;top:48%}
  .oc-portale-date{top:47%;font-size:clamp(42px,11.5vw,78px);gap:6px;width:84%}
  .oc-portale-line{bottom:16%;font-size:7px;letter-spacing:.28em}
  .oc-portale-actions{bottom:4.4%;width:92%;justify-content:center}
  .oc-portale-cta{min-height:42px;padding:0 15px;font-size:6.5px;letter-spacing:.18em}
  .event-folio-sheets{grid-template-columns:1fr}
  .event-sheet,.event-sheet--place,.event-sheet--invite{min-height:280px;margin:0 0 -1px;transform:none}
  .event-sheet:hover,.event-sheet--place:hover,.event-sheet--invite:hover{transform:translateY(-4px)}
  .event-sheet-index{margin-bottom:48px}
}
@media(max-width:560px){
  .oc-portale{height:72svh;top:47%}
  .oc-portale-date{top:46.5%;font-size:clamp(35px,12vw,59px)}
  .oc-portale-line{bottom:18%;white-space:normal;width:82%;text-align:center;line-height:1.65}
  .oc-portale-actions{bottom:3%;flex-direction:column;align-items:stretch;gap:7px}
  .oc-portale-cta{width:100%}
  .hero-event-trace{width:100%;gap:11px}
  .hero-event-copy strong{font-size:20px}
  .event-closing{min-height:78svh}
}
@media(prefers-reduced-motion:reduce){
  .oc-portale-aura{animation:none}
  .oc-portale-sculpture,.oc-date-part,.oc-date-dot,.oc-portale-line,.oc-portale-actions{transition:none}
}

/* V7.7.1 — réglage d’orfèvrerie du portail après contrôle visuel réel. */
.oc-portale{width:min(78vw,900px);height:min(72svh,700px);top:49%}
.oc-portale-sculpture{filter:saturate(.58) contrast(1.18) brightness(.7);opacity:0}
#oc-intro[data-phase="portal"] .oc-portale-sculpture{filter:saturate(.68) contrast(1.2) brightness(.76);opacity:.92}
.oc-portale-date{top:48%;width:78%;font-size:clamp(48px,6.6vw,101px)}
.oc-portale-line{bottom:14.5%}
.oc-portale-actions{bottom:1.4%}
.oc-portale-cta{font-size:8.5px;min-width:220px}
#oc-intro[data-phase="portal"] #oc-intro-sound{opacity:0;visibility:hidden;pointer-events:none;transform:translateY(12px)}
#oc-intro[data-phase="portal"] .oc-intro-skip{background:oklch(.1705 calc(var(--ol-c-body)*.413) var(--ol-h) / .58)}

/* Film d’approche : image unique, aucun carrousel promotionnel. */
.event-film{position:relative;min-height:min(84svh,880px);overflow:hidden;background:oklch(.2161 calc(var(--ol-c-body)*.637) var(--ol-h));color:oklch(.966 calc(var(--ol-c-body)*.07) var(--ol-h-pap))}
.event-film video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(.72) contrast(1.08) brightness(.72)}
.event-film-veil{position:absolute;inset:0;background:linear-gradient(90deg,oklch(.1576 calc(var(--ol-c-body)*.443) var(--ol-h) / .86) 0%,oklch(.2161 calc(var(--ol-c-body)*.637) var(--ol-h) / .52) 46%,oklch(.2161 calc(var(--ol-c-body)*.637) var(--ol-h) / .08) 78%),linear-gradient(0deg,oklch(.1576 calc(var(--ol-c-body)*.443) var(--ol-h) / .42),transparent 48%)}
.event-film-copy{position:absolute;left:max(6vw,34px);bottom:clamp(60px,9vw,135px);z-index:2;max-width:820px}
.event-film-copy p{margin:0 0 22px;font-family:var(--font-ui);font-size:9px;letter-spacing:.44em;text-transform:uppercase;color:oklch(.8792 calc(var(--ol-c-body)*.32) var(--ol-h) / 0.84)}
.event-film-copy h2{margin:0;font-family:var(--font-display);font-size:clamp(50px,6.2vw,98px);font-weight:400;line-height:.96}
.event-film-copy h2 em{color:var(--dxb-horizon-light)}
.event-film-copy>span{display:block;margin-top:30px;font-family:var(--font-display);font-size:clamp(23px,2.7vw,42px);letter-spacing:.18em}
@media(max-width:900px){
 .oc-portale{width:94vw;height:66svh;top:46%}
 .oc-portale-date{font-size:clamp(40px,10vw,70px)}
 .oc-portale-actions{bottom:-1%;width:88%}
 .oc-portale-cta{min-width:0}
 .event-film{min-height:78svh}
 .event-film-veil{background:linear-gradient(0deg,oklch(.1576 calc(var(--ol-c-body)*.443) var(--ol-h) / .9) 0%,oklch(.2161 calc(var(--ol-c-body)*.637) var(--ol-h) / .42) 62%,oklch(.2161 calc(var(--ol-c-body)*.637) var(--ol-h) / .08) 100%)}
 .event-film-copy{left:24px;right:24px;bottom:54px}
}
@media(max-width:560px){
 .oc-portale{height:58svh;top:42%}
 .oc-portale-date{top:48%;font-size:clamp(34px,10.8vw,54px)}
 .oc-portale-line{bottom:10%}
 .oc-portale-actions{bottom:-18%;width:92%}
 .event-film-copy h2{font-size:clamp(42px,13vw,62px)}
}
.oc-portale::after{
  content:"";
  position:absolute;
  z-index:2;
  top:16%;
  bottom:17%;
  left:14%;
  width:16%;
  background:linear-gradient(90deg,transparent,oklch(.966 calc(var(--ol-c-body)*.07) var(--ol-h-pap) / .24),oklch(.8792 calc(var(--ol-c-body)*.32) var(--ol-h) / .55),transparent);
  filter:blur(10px);
  opacity:0;
  transform:skewX(-12deg) translateX(-180%);
  pointer-events:none;
}
#oc-intro[data-phase="portal"] .oc-portale::after{animation:portaleLight 3.1s .55s var(--event-ease) forwards}
@keyframes portaleLight{0%{opacity:0;transform:skewX(-12deg) translateX(-180%)}24%{opacity:.62}78%{opacity:.34}100%{opacity:0;transform:skewX(-12deg) translateX(510%)}}
@media(prefers-reduced-motion:reduce){#oc-intro[data-phase="portal"] .oc-portale::after{animation:none}}


/* ==========================================================================\n   OLYMPE V7.9 — VOILES DE SOIE MINERALE\n   Matiere atmospherique visible mais subordonnee a la lecture.\n   ========================================================================== */
:root{
  --silk-house:oklch(.3474 calc(var(--ol-c-body)*.92) var(--ol-h));
  --silk-opal:oklch(.7033 calc(var(--ol-c-body)*.572) var(--ol-h));
  --silk-opal-light:oklch(.8452 calc(var(--ol-c-body)*.356) var(--ol-h));
  --silk-platinum:oklch(.9046 calc(var(--ol-c-body)*.11) var(--ol-h));
  --silk-ink:oklch(.5147 calc(var(--ol-c-body)*.709) var(--ol-h));
}
.oc-silk-host{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  background-color:oklch(.969 calc(var(--ol-c-body)*.07) var(--ol-h-pap));
}
.oc-silk-host > :not(.oc-silk-layer){position:relative;z-index:2;}
.oc-silk-layer{
  position:absolute;
  inset:-12% -8%;
  z-index:0;
  pointer-events:none;
  overflow:hidden;
  opacity:1;
  contain:paint;
}
.oc-silk-layer::after{
  content:"";
  position:absolute;
  inset:7% 4%;
  z-index:0;
  opacity:.22;
  background-image:url('../assets/grain.png');
  background-size:340px 340px;
  mix-blend-mode:multiply;
  mask-image:linear-gradient(180deg,transparent,black 14%,black 86%,transparent);
}
.oc-silk-wave{
  position:absolute;
  display:block;
  width:145%;
  left:-22%;
  border-radius:48% 52% 46% 54% / 62% 38% 62% 38%;
  transform-origin:50% 50%;
  will-change:transform,opacity;
  mix-blend-mode:multiply;
  filter:blur(34px);
  opacity:.78;
}
.oc-silk-wave--deep{
  height:42%;
  top:12%;
  background:
    radial-gradient(ellipse at 18% 54%,oklch(.3474 calc(var(--ol-c-body)*.92) var(--ol-h) / .00) 0 16%,oklch(.3474 calc(var(--ol-c-body)*.92) var(--ol-h) / .12) 38%,oklch(.3474 calc(var(--ol-c-body)*.92) var(--ol-h) / .04) 59%,transparent 76%),
    radial-gradient(ellipse at 72% 48%,oklch(.3474 calc(var(--ol-c-body)*.92) var(--ol-h) / .14),oklch(.3474 calc(var(--ol-c-body)*.92) var(--ol-h) / .055) 42%,transparent 74%);
  animation:ocSilkDeep 34s cubic-bezier(.45,.05,.55,.95) infinite alternate;
}
.oc-silk-wave--opal{
  height:48%;
  bottom:4%;
  background:
    radial-gradient(ellipse at 30% 46%,oklch(.7033 calc(var(--ol-c-body)*.572) var(--ol-h) / .17),oklch(.7033 calc(var(--ol-c-body)*.572) var(--ol-h) / .07) 44%,transparent 72%),
    radial-gradient(ellipse at 84% 50%,oklch(.8452 calc(var(--ol-c-body)*.356) var(--ol-h) / .16),oklch(.8452 calc(var(--ol-c-body)*.356) var(--ol-h) / .045) 48%,transparent 78%);
  filter:blur(42px);
  animation:ocSilkOpal 46s cubic-bezier(.42,0,.58,1) infinite alternate;
}
.oc-silk-halo{
  position:absolute;
  width:min(860px,82vw);
  aspect-ratio:1.8/1;
  left:8%;
  top:3%;
  border-radius:50%;
  background:radial-gradient(ellipse,oklch(.8452 calc(var(--ol-c-body)*.356) var(--ol-h) / .24),oklch(.9046 calc(var(--ol-c-body)*.11) var(--ol-h) / .12) 42%,transparent 72%);
  filter:blur(46px);
  opacity:.72;
  animation:ocSilkHalo 32s ease-in-out infinite alternate;
}
.oc-silk-host.is-silk-awake .oc-silk-wave{opacity:1;}
@keyframes ocSilkDeep{
  0%{transform:translate3d(-4%,1%,0) rotate(-4deg) scaleX(.94) scaleY(.92)}
  50%{transform:translate3d(3%,5%,0) rotate(1.5deg) scaleX(1.04) scaleY(1.05)}
  100%{transform:translate3d(7%,-1%,0) rotate(4deg) scaleX(.98) scaleY(.96)}
}
@keyframes ocSilkOpal{
  0%{transform:translate3d(6%,-2%,0) rotate(3deg) scaleX(1.03) scaleY(.94)}
  45%{transform:translate3d(-1%,4%,0) rotate(-1deg) scaleX(.96) scaleY(1.05)}
  100%{transform:translate3d(-7%,0,0) rotate(-5deg) scaleX(1.04) scaleY(.97)}
}
@keyframes ocSilkHalo{
  from{transform:translate3d(-2%,0,0) scale(.94);opacity:.52}
  to{transform:translate3d(8%,4%,0) scale(1.08);opacity:.82}
}
/* DUBAI — reflet d'eau sur pierre, plus horizontal et urbain */
body[data-page="dubai-bureaux"] .oc-silk-wave--deep{top:18%;height:34%;filter:blur(26px);animation-duration:30s;transform:skewY(-2deg)}
body[data-page="dubai-bureaux"] .oc-silk-wave--opal{bottom:10%;height:40%;filter:blur(34px);animation-duration:42s}
body[data-page="dubai-bureaux"] .oc-silk-layer{background:linear-gradient(100deg,rgba(255,255,255,.16),transparent 24%,oklch(.8452 calc(var(--ol-c-body)*.356) var(--ol-h) / .08) 58%,transparent 82%)}
/* MAISON — souffle patrimonial plus grave */
body[data-page="about"] .oc-silk-wave--deep{top:8%;height:48%;opacity:.88;animation-duration:42s}
body[data-page="about"] .oc-silk-wave--opal{bottom:0;height:44%;opacity:.62;animation-duration:52s}
body[data-page="about"] .oc-silk-halo{left:58%;top:4%;opacity:.48}
/* PENSEE — voile presque immobile, derive verticale */
body[data-page="pensee"] .oc-silk-wave--deep{height:58%;top:2%;opacity:.42;animation:ocSilkThought 58s ease-in-out infinite alternate}
body[data-page="pensee"] .oc-silk-wave--opal{height:52%;bottom:-10%;opacity:.46;animation:ocSilkThought2 66s ease-in-out infinite alternate}
@keyframes ocSilkThought{from{transform:translate3d(-2%,-3%,0) rotate(-1deg) scale(1)}to{transform:translate3d(2%,6%,0) rotate(1deg) scale(1.03)}}
@keyframes ocSilkThought2{from{transform:translate3d(3%,5%,0) rotate(1deg)}to{transform:translate3d(-2%,-4%,0) rotate(-1deg)}}
/* METHODE — ondulation structuree et architecturale */
body[data-page="savoir-faire"] .oc-silk-wave{border-radius:18% 82% 22% 78% / 48% 52% 48% 52%;filter:blur(28px)}
body[data-page="savoir-faire"] .oc-silk-wave--deep{height:28%;top:20%;animation-duration:36s}
body[data-page="savoir-faire"] .oc-silk-wave--opal{height:30%;bottom:16%;animation-duration:44s}
/* FONDATION — lumiere opale apaisee */
body[data-page="fondation"] .oc-silk-wave--deep{opacity:.35;filter:blur(46px)}
body[data-page="fondation"] .oc-silk-wave--opal{opacity:.62;filter:blur(46px)}
body[data-page="fondation"] .oc-silk-halo{left:36%;top:8%;opacity:.76}
/* INAUGURATION — soie ceremonielle, plus visible sans dominer */
body[data-page="inauguration-dubai"] .oc-silk-wave--deep{top:4%;height:46%;opacity:.94;filter:blur(30px);animation-duration:28s}
body[data-page="inauguration-dubai"] .oc-silk-wave--opal{bottom:0;height:52%;opacity:.92;filter:blur(36px);animation-duration:38s}
body[data-page="inauguration-dubai"] .oc-silk-halo{left:42%;top:-2%;opacity:.88}
/* Contact et services — version plus contenue */
body[data-page="contact"] .oc-silk-wave,
body[data-page="services"] .oc-silk-wave{opacity:.62}
@media (max-width:760px){
  .oc-silk-layer{inset:-7% -30%;}
  .oc-silk-wave{width:175%;left:-38%;filter:blur(26px);}
  .oc-silk-wave--deep{height:38%;top:12%;}
  .oc-silk-wave--opal{height:42%;bottom:8%;}
  .oc-silk-halo{width:120vw;left:-12%;filter:blur(38px);}
}
@media (prefers-reduced-motion:reduce){
  .oc-silk-wave,.oc-silk-halo{animation:none;transform:none;}
  .oc-silk-wave--deep{opacity:.74}.oc-silk-wave--opal{opacity:.68}
}


/* ═══════════════════════════════════════════════════════════════
   OLYMPE V8 — MASTER GRADE / LOCOMOTIVE-STYLE FINISH
   Non destructif : aucun master image ou vidéo n'est recompressé.
   Bleu Caravelli conservé, hautes lumières pierre, noirs respirants.
   ═══════════════════════════════════════════════════════════════ */
:root{
  --oc-grade-image:saturate(.88) contrast(1.055) brightness(.985) sepia(.018) hue-rotate(-1deg);
  --oc-grade-film:saturate(.82) contrast(1.07) brightness(.94) sepia(.014) hue-rotate(-2deg);
}
body img:not(.oc-portale-sculpture):not(.hero-motif):not([src$=".svg"]){
  filter:var(--oc-grade-image);
  transition:filter 1.1s var(--ol-ease),transform 1.4s var(--ol-ease),opacity 1s ease;
}
body video{
  filter:var(--oc-grade-film);
  transition:filter 1.1s var(--ol-ease),opacity 1s ease;
}
/* Plans déjà fortement dramatisés : composition du grade sans écraser leur exposition. */
.hero-vid video,.hero-vid>video{filter:saturate(.76) contrast(1.08) brightness(.68) sepia(.012) hue-rotate(-2deg);}
.event-film video{filter:saturate(.70) contrast(1.10) brightness(.74) sepia(.012) hue-rotate(-2deg);}
.dxb-hero-bg img,.ph-bg img,.ph-full-bg img{filter:saturate(.83) contrast(1.07) brightness(.91) sepia(.015) hue-rotate(-2deg);}
body[data-page="fondation"] img:not(.oc-portale-sculpture):not(.hero-motif):not([src$=".svg"]){filter:saturate(.90) contrast(1.035) brightness(1.005) sepia(.022);}
body[data-page="dubai-bureaux"] :is(img,video),body[data-page="inauguration-dubai"] :is(img,video){
  --oc-grade-image:saturate(.84) contrast(1.075) brightness(.96) sepia(.012) hue-rotate(-2deg);
  --oc-grade-film:saturate(.78) contrast(1.085) brightness(.92) sepia(.010) hue-rotate(-2deg);
}
@media (prefers-contrast:more){body img,body video{filter:none!important}}

/* Concierge V8 — raccourcis, réponse-action, lisibilité mobile. */
.ai-quick{display:flex;flex-wrap:wrap;gap:7px;padding:11px 14px 4px;position:relative;z-index:3;background:#fff;border-top:1px solid oklch(.1701 calc(var(--ol-c-body)*.333) var(--ol-h) / .08)}
.ai-quick-btn{appearance:none;border:1px solid oklch(.2161 calc(var(--ol-c-body)*.637) var(--ol-h) / .16);background:oklch(.9558 calc(var(--ol-c-body)*.096) var(--ol-h));color:oklch(.2161 calc(var(--ol-c-body)*.637) var(--ol-h) / .78);font:500 9px/1.35 var(--font-l);letter-spacing:.08em;text-transform:none;padding:8px 10px;border-radius:999px;cursor:pointer;transition:background .35s,color .35s,border-color .35s,transform .35s}
.ai-quick-btn:hover,.ai-quick-btn:focus-visible{background:oklch(.7625 calc(var(--ol-c-pat)*.821) var(--ol-h-pat) / .16);border-color:oklch(.7625 calc(var(--ol-c-pat)*.821) var(--ol-h-pat) / 1.0);color:oklch(.2161 calc(var(--ol-c-body)*.637) var(--ol-h));transform:translateY(-1px);outline:none}
.ai-m{white-space:normal;overflow-wrap:anywhere}
.ai-m-action{display:inline-flex;margin-top:10px;padding-bottom:3px;border-bottom:1px solid oklch(.7625 calc(var(--ol-c-pat)*.821) var(--ol-h-pat) / .52);color:var(--ol-bronze-soft);font:500 9px/1.3 var(--font-l);letter-spacing:.14em;text-transform:uppercase}
.ai-m-action:hover,.ai-m-action:focus-visible{color:var(--ol-carrara);border-color:var(--ol-carrara);outline:none}
@media (max-width:640px){.ai-quick{padding-inline:14px}.ai-quick-btn{font-size:8px;padding:7px 9px}}

/* ═══════════════════════════════════════════════════════════════
   OLYMPE V8.1 — LISIBILITÉ ABSOLUE + MISE EN RELATION COUTURE
   Couche finale volontairement explicite : elle neutralise les conflits
   historiques sans modifier les médias, le marbre WebGL ni Lenis.
   ═══════════════════════════════════════════════════════════════ */
:root{
  --cv81-ink:oklch(.2522 calc(var(--ol-c-body)*.523) var(--ol-h));
  --cv81-copy:oklch(.4384 calc(var(--ol-c-body)*.494) var(--ol-h));
  --cv81-ivory:oklch(.984 calc(var(--ol-c-body)*.07) var(--ol-h-pap));
  --cv81-pearl:oklch(.9627 calc(var(--ol-c-body)*.058) var(--ol-h-pap));
  --cv81-opal:oklch(.8452 calc(var(--ol-c-body)*.356) var(--ol-h));
  --cv81-opal-deep:oklch(.5147 calc(var(--ol-c-body)*.709) var(--ol-h));
  --cv81-gold:oklch(.7381 calc(var(--ol-c-pat)*.831) var(--ol-h-pat));
  --cv81-night:oklch(.1797 calc(var(--ol-c-body)*.546) var(--ol-h));
  --cv81-blue:oklch(.2161 calc(var(--ol-c-body)*.637) var(--ol-h));
  --cv81-lapis:oklch(.2817 calc(var(--ol-c-body)*.796) var(--ol-h));
}

/* Les pages V6 n'ont pas toutes un <main> : les règles critiques ne doivent
   jamais en dépendre. */
html.lux :where(.sec--blanc,.sec--creme,.sec--lin,.pensee-body,.pj-sec){color:var(--cv81-ink)}
html.lux :where(.sec--blanc,.sec--creme,.sec--lin,.pensee-body,.pj-sec) :where(p,.body,.lead,li,label){color:var(--cv81-copy);text-shadow:none}
html.lux :where(.sec--blanc,.sec--creme,.sec--lin,.pensee-body,.pj-sec) :where(h1,h2,h3,h4,.display,.stmt,.stmt-q,.pj-sec-t){color:var(--cv81-ink);text-shadow:none}
html.lux :where(.sec--blanc,.sec--creme,.sec--lin,.pensee-body,.pj-sec) :where(.eyebrow,.kicker,.pj-sec-n,.dbloc-l){color:oklch(.545 calc(var(--ol-c-jade)*.785) var(--ol-h-jade))}
html.lux :where(.sec--blanc,.sec--creme,.sec--lin,.pensee-body,.pj-sec) em{color:var(--cv81-opal-deep);-webkit-text-fill-color:var(--cv81-opal-deep)}
html.lux :where(.body,.lead,.ph-sub,.hero-sub,.cp-copy,.sf-b){text-wrap:pretty}
html.lux :where(.body,.lead,p,li){overflow-wrap:anywhere}

/* — CONTACT : HERO — */
body[data-page="contact"]{background:var(--cv81-ivory)}
body[data-page="contact"] .ph{
  min-height:88svh;
  align-items:flex-end;
  background:var(--cv81-night);
  isolation:isolate;
}
body[data-page="contact"] .ph-bg{
  opacity:1;
  filter:saturate(.74) contrast(1.09) brightness(.68) sepia(.018) hue-rotate(-2deg);
  background-position:center 46%;
  transform:scale(1.025);
}
body[data-page="contact"] .ph::before{
  content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
  background:
    linear-gradient(90deg,oklch(.147 calc(var(--ol-c-body)*.375) var(--ol-h) / .92) 0%,oklch(.1797 calc(var(--ol-c-body)*.546) var(--ol-h) / .74) 42%,oklch(.1797 calc(var(--ol-c-body)*.546) var(--ol-h) / .24) 74%,oklch(.147 calc(var(--ol-c-body)*.375) var(--ol-h) / .48) 100%),
    linear-gradient(0deg,oklch(.147 calc(var(--ol-c-body)*.375) var(--ol-h) / .88),transparent 58%);
}
body[data-page="contact"] .ph::after{
  content:"";position:absolute;z-index:1;left:clamp(24px,6vw,100px);right:clamp(24px,6vw,100px);bottom:52px;height:1px;
  background:linear-gradient(90deg,var(--cv81-gold),oklch(.8452 calc(var(--ol-c-body)*.356) var(--ol-h) / .6),transparent 78%);
  box-shadow:0 0 38px oklch(.8452 calc(var(--ol-c-body)*.356) var(--ol-h) / .24);
}
body[data-page="contact"] .ph>.container{position:relative;z-index:2;padding-bottom:clamp(90px,10vw,145px)}
body[data-page="contact"] .ph-h1{max-width:1180px;font-size:clamp(66px,9.6vw,154px);line-height:.86;letter-spacing:-.045em;margin-bottom:30px}
body[data-page="contact"] .ph-h1 em{color:oklch(.9229 calc(var(--ol-c-body)*.109) var(--ol-h));-webkit-text-fill-color:oklch(.9229 calc(var(--ol-c-body)*.109) var(--ol-h));text-shadow:0 12px 60px rgba(0,0,0,.34)}
body[data-page="contact"] .ph-sub{max-width:760px;color:oklch(.9687 calc(var(--ol-c-body)*.058) var(--ol-h-pap) / .80);font-size:clamp(18px,1.55vw,25px);line-height:1.62}
body[data-page="contact"] .ph .kicker{color:oklch(.8242 calc(var(--ol-c-pat)*.806) var(--ol-h-pat))}

/* — CONTACT : DOSSIER — */
body[data-page="contact"] .contact-intake{
  padding-block:clamp(100px,10vw,170px);
  background:
    radial-gradient(900px 520px at 5% 0%,oklch(.8452 calc(var(--ol-c-body)*.356) var(--ol-h) / .30),transparent 68%),
    radial-gradient(760px 480px at 100% 35%,oklch(.7411 calc(var(--ol-c-jade)*.695) var(--ol-h-jade) / .10),transparent 70%),
    linear-gradient(180deg,oklch(.984 calc(var(--ol-c-body)*.07) var(--ol-h-pap)),oklch(.969 calc(var(--ol-c-body)*.07) var(--ol-h-pap)) 68%,oklch(.9591 calc(var(--ol-c-body)*.108) var(--ol-h)));
  overflow:hidden;
}
body[data-page="contact"] .contact-intake::after{
  content:"CARAVELLI";position:absolute;right:-.04em;top:.12em;pointer-events:none;
  font-family:var(--font-s);font-size:clamp(110px,18vw,300px);letter-spacing:-.05em;
  color:oklch(.2161 calc(var(--ol-c-body)*.637) var(--ol-h) / 0.54);line-height:1;
}
body[data-page="contact"] .form-grid{
  position:relative;z-index:2;
  display:grid;grid-template-columns:minmax(0,1.18fr) minmax(330px,.72fr);
  gap:clamp(48px,7vw,112px);align-items:start;
}
body[data-page="contact"] .form-grid>.rv:first-child{min-width:0}
body[data-page="contact"] .form-grid>.rv:first-child>.eyebrow{color:oklch(.545 calc(var(--ol-c-jade)*.785) var(--ol-h-jade))}
body[data-page="contact"] .form-grid>.rv:first-child>.display{
  color:var(--cv81-ink);font-size:clamp(58px,6vw,98px);line-height:.93;margin:18px 0 42px;
}
body[data-page="contact"] .form-grid>.rv:first-child>.display em{color:var(--cv81-opal-deep);-webkit-text-fill-color:var(--cv81-opal-deep)}
body[data-page="contact"] .contact-form{
  position:relative;isolation:isolate;
  padding:clamp(28px,4.5vw,62px);
  color:oklch(.9687 calc(var(--ol-c-body)*.058) var(--ol-h-pap));
  background:
    radial-gradient(620px 340px at 100% 0%,oklch(.7033 calc(var(--ol-c-body)*.572) var(--ol-h) / .24),transparent 65%),
    linear-gradient(145deg,oklch(.1797 calc(var(--ol-c-body)*.546) var(--ol-h)) 0%,oklch(.2161 calc(var(--ol-c-body)*.637) var(--ol-h)) 52%,oklch(.2817 calc(var(--ol-c-body)*.796) var(--ol-h)) 100%);
  border:1px solid oklch(.8452 calc(var(--ol-c-body)*.356) var(--ol-h) / .25);
  box-shadow:0 44px 120px oklch(.2161 calc(var(--ol-c-body)*.637) var(--ol-h) / .25),inset 0 1px 0 rgba(255,255,255,.08);
}
body[data-page="contact"] .contact-form::before{
  content:"";position:absolute;inset:10px;z-index:-1;pointer-events:none;border:1px solid oklch(.9046 calc(var(--ol-c-body)*.11) var(--ol-h) / .08)
}
body[data-page="contact"] .contact-form::after{
  content:"";position:absolute;left:clamp(28px,4.5vw,62px);top:0;width:92px;height:2px;
  background:linear-gradient(90deg,var(--cv81-gold),var(--cv81-opal));box-shadow:0 0 20px oklch(.8452 calc(var(--ol-c-body)*.356) var(--ol-h) / .42)
}
body[data-page="contact"] .contact-form-intro{
  display:grid;grid-template-columns:repeat(3,1fr);gap:1px;
  margin:0 0 34px;border:1px solid oklch(.9046 calc(var(--ol-c-body)*.11) var(--ol-h) / .14);background:oklch(.9046 calc(var(--ol-c-body)*.11) var(--ol-h) / .12)
}
body[data-page="contact"] .contact-form-intro>div{display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:start;padding:18px;background:oklch(.1797 calc(var(--ol-c-body)*.546) var(--ol-h) / .64)}
body[data-page="contact"] .contact-form-intro strong{font:400 25px/1 var(--font-s);color:oklch(.8242 calc(var(--ol-c-pat)*.806) var(--ol-h-pat))}
body[data-page="contact"] .contact-form-intro span{font:500 8px/1.65 var(--font-l);letter-spacing:.16em;text-transform:uppercase;color:oklch(.966 calc(var(--ol-c-body)*.07) var(--ol-h-pap) / 0.74)}
body[data-page="contact"] #form-msg{display:none;margin:0 0 22px;padding:15px 18px;border:1px solid oklch(.8188 calc(var(--ol-c-jade)*.698) var(--ol-h-jade) / .45);background:oklch(.7411 calc(var(--ol-c-jade)*.695) var(--ol-h-jade) / .10);color:oklch(.9422 calc(var(--ol-c-jade)*.123) var(--ol-h-jade));font-size:13px;line-height:1.6}
body[data-page="contact"] .v6-inline-contact-3{margin:0 0 28px;border:1px solid oklch(.7651 calc(var(--ol-c-pat)*.801) var(--ol-h-pat) / .26);background:oklch(.9046 calc(var(--ol-c-body)*.11) var(--ol-h) / .04)}
body[data-page="contact"] .v6-inline-contact-4{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:oklch(.9046 calc(var(--ol-c-body)*.11) var(--ol-h) / .13)}
body[data-page="contact"] :is(.v6-inline-contact-5,.v6-inline-contact-9,.v6-inline-contact-13,.v6-inline-contact-17){
  position:relative;display:block;min-height:100px;padding:20px 22px;cursor:pointer;
  border:0;background:oklch(.2161 calc(var(--ol-c-body)*.637) var(--ol-h) / .70);transition:background .4s,border-color .4s,transform .4s,box-shadow .4s
}
body[data-page="contact"] :is(.v6-inline-contact-5,.v6-inline-contact-9,.v6-inline-contact-13,.v6-inline-contact-17):hover{background:oklch(.3474 calc(var(--ol-c-body)*.92) var(--ol-h) / .78)}
body[data-page="contact"] :is(.v6-inline-contact-5,.v6-inline-contact-9,.v6-inline-contact-13,.v6-inline-contact-17):has(input:checked){
  z-index:1;background:linear-gradient(145deg,oklch(.7033 calc(var(--ol-c-body)*.572) var(--ol-h) / .32),oklch(.2817 calc(var(--ol-c-body)*.796) var(--ol-h) / .78));
  box-shadow:inset 0 0 0 1px oklch(.8188 calc(var(--ol-c-jade)*.698) var(--ol-h-jade) / .70),0 16px 40px rgba(0,0,0,.18)
}
body[data-page="contact"] :is(.v6-inline-contact-6,.v6-inline-contact-10,.v6-inline-contact-14,.v6-inline-contact-18){position:absolute;opacity:0;pointer-events:none}
body[data-page="contact"] :is(.v6-inline-contact-7,.v6-inline-contact-11,.v6-inline-contact-15,.v6-inline-contact-19){display:block;margin-bottom:10px;color:oklch(.8242 calc(var(--ol-c-pat)*.806) var(--ol-h-pat));font:500 7px/1.4 var(--font-l);letter-spacing:.32em;text-transform:uppercase}
body[data-page="contact"] :is(.v6-inline-contact-8,.v6-inline-contact-12,.v6-inline-contact-16,.v6-inline-contact-20){display:block;color:oklch(.9687 calc(var(--ol-c-body)*.058) var(--ol-h-pap));font:400 clamp(18px,1.55vw,23px)/1.18 var(--font-s)}
body[data-page="contact"] .form-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
body[data-page="contact"] .form-field{position:relative;margin-bottom:18px;min-width:0}
body[data-page="contact"] .form-field>label{display:block;margin:0 0 9px;color:oklch(.966 calc(var(--ol-c-body)*.07) var(--ol-h-pap) / 0.74);font:500 8px/1.4 var(--font-l);letter-spacing:.19em;text-transform:uppercase}
body[data-page="contact"] .contact-form :is(input:not([type=radio]):not([type=checkbox]),textarea){
  width:100%;min-height:56px;margin:0;padding:15px 17px;
  border:1px solid oklch(.8452 calc(var(--ol-c-body)*.356) var(--ol-h) / .24);border-radius:0;
  background:oklch(.968 calc(var(--ol-c-body)*.066) var(--ol-h-pap) / .085);color:#fff;
  font:400 16px/1.55 var(--font-reading);caret-color:oklch(.8242 calc(var(--ol-c-pat)*.806) var(--ol-h-pat));
  box-shadow:none;transition:background .3s,border-color .3s,box-shadow .3s,transform .3s
}
body[data-page="contact"] .contact-form textarea{min-height:170px;resize:vertical}
body[data-page="contact"] .contact-form :is(input,textarea)::placeholder{color:oklch(.9046 calc(var(--ol-c-body)*.11) var(--ol-h) / 0.82);opacity:1}
body[data-page="contact"] .contact-form :is(input,textarea):focus{
  outline:0;background:oklch(.968 calc(var(--ol-c-body)*.066) var(--ol-h-pap) / .13);border-color:oklch(.8188 calc(var(--ol-c-jade)*.698) var(--ol-h-jade) / 0.92);
  box-shadow:0 0 0 4px oklch(.7411 calc(var(--ol-c-jade)*.695) var(--ol-h-jade) / .10),0 16px 38px rgba(0,0,0,.12)
}
body[data-page="contact"] .v6-inline-contact-22{margin-top:8px;padding:18px 20px;border:1px solid oklch(.8452 calc(var(--ol-c-body)*.356) var(--ol-h) / .18);background:oklch(.147 calc(var(--ol-c-body)*.375) var(--ol-h) / .34)}
body[data-page="contact"] .v6-inline-contact-23{display:flex;align-items:flex-start;gap:13px}
body[data-page="contact"] .v6-inline-contact-24{appearance:none;width:17px;height:17px;margin-top:2px;flex:0 0 17px;border:1px solid oklch(.9046 calc(var(--ol-c-body)*.11) var(--ol-h) / .48);background:transparent;display:grid;place-content:center}
body[data-page="contact"] .v6-inline-contact-24::before{content:"";width:9px;height:9px;transform:scale(0);background:linear-gradient(135deg,var(--cv81-gold),var(--cv81-opal));transition:transform .2s}
body[data-page="contact"] .v6-inline-contact-24:checked::before{transform:scale(1)}
body[data-page="contact"] .v6-inline-contact-25{color:oklch(.966 calc(var(--ol-c-body)*.07) var(--ol-h-pap) / 0.74);font:400 10px/1.72 var(--font-l);letter-spacing:.11em}
body[data-page="contact"] .v6-inline-contact-26{display:flex;justify-content:flex-start;margin-top:24px}
body[data-page="contact"] .contact-form .btn-n{
  min-height:58px;padding-inline:30px;background:linear-gradient(105deg,oklch(.9418 calc(var(--ol-c-body)*.103) var(--ol-h)),oklch(.9687 calc(var(--ol-c-body)*.058) var(--ol-h-pap)) 44%,oklch(.8242 calc(var(--ol-c-pat)*.806) var(--ol-h-pat)));
  color:oklch(.2161 calc(var(--ol-c-body)*.637) var(--ol-h));border:0;box-shadow:0 20px 55px rgba(0,0,0,.22)
}
body[data-page="contact"] .contact-form .btn-n:hover{transform:translateY(-3px);box-shadow:0 28px 70px rgba(0,0,0,.30)}
body[data-page="contact"] .form-note{max-width:650px;margin:15px 0 0;color:oklch(.9046 calc(var(--ol-c-body)*.11) var(--ol-h) / 0.82);font-size:11px;line-height:1.65}

/* — CONTACT : COLONNE CONSEIL — */
body[data-page="contact"] .form-grid>.rv.d1{
  position:sticky;top:118px;padding:clamp(28px,3.2vw,45px);
  background:rgba(255,255,255,.72);border:1px solid oklch(.5147 calc(var(--ol-c-body)*.709) var(--ol-h) / .18);
  box-shadow:0 34px 95px oklch(.2161 calc(var(--ol-c-body)*.637) var(--ol-h) / .10);backdrop-filter:blur(18px)
}
body[data-page="contact"] .form-grid>.rv.d1>.eyebrow{color:oklch(.545 calc(var(--ol-c-jade)*.785) var(--ol-h-jade))}
body[data-page="contact"] .form-grid>.rv.d1>.h2{margin:18px 0 26px;color:var(--cv81-ink);font-size:clamp(35px,3.5vw,56px);line-height:1.02}
body[data-page="contact"] .form-grid>.rv.d1>.h2 em{color:var(--cv81-opal-deep);-webkit-text-fill-color:var(--cv81-opal-deep)}
body[data-page="contact"] .list-aside{list-style:none;margin:0;padding:0;border-top:1px solid oklch(.5147 calc(var(--ol-c-body)*.709) var(--ol-h) / .18)}
body[data-page="contact"] .list-aside li{position:relative;padding:14px 0 14px 24px;border-bottom:1px solid oklch(.5147 calc(var(--ol-c-body)*.709) var(--ol-h) / .13);color:oklch(.4278 calc(var(--ol-c-body)*.474) var(--ol-h));font-size:14px;line-height:1.45}
body[data-page="contact"] .list-aside li::before{content:"";position:absolute;left:0;top:21px;width:8px;height:1px;background:linear-gradient(90deg,var(--cv81-gold),var(--cv81-opal-deep))}
body[data-page="contact"] .v6-inline-contact-29{margin:25px 0 0;color:oklch(.4887 calc(var(--ol-c-body)*.46) var(--ol-h));font-size:15px;line-height:1.75}
body[data-page="contact"] .v6-inline-contact-30{margin-top:34px;padding-top:32px;border-top:1px solid oklch(.5147 calc(var(--ol-c-body)*.709) var(--ol-h) / .18)}
body[data-page="contact"] .v6-inline-contact-30>.eyebrow{color:oklch(.545 calc(var(--ol-c-jade)*.785) var(--ol-h-jade))}
body[data-page="contact"] .est{margin-top:18px;padding:0;background:linear-gradient(145deg,oklch(.1797 calc(var(--ol-c-body)*.546) var(--ol-h)),oklch(.2817 calc(var(--ol-c-body)*.796) var(--ol-h)));border:1px solid oklch(.5147 calc(var(--ol-c-body)*.709) var(--ol-h) / .24);box-shadow:0 24px 64px oklch(.2161 calc(var(--ol-c-body)*.637) var(--ol-h) / .18);overflow:hidden}
body[data-page="contact"] .est-steps{display:grid;grid-template-columns:repeat(3,1fr);border-bottom:1px solid oklch(.9046 calc(var(--ol-c-body)*.11) var(--ol-h) / .13)}
body[data-page="contact"] .est-step{padding:13px 10px;color:oklch(.9046 calc(var(--ol-c-body)*.11) var(--ol-h) / 0.82);font:500 7px/1.4 var(--font-l);letter-spacing:.16em;text-transform:uppercase;text-align:center;border-right:1px solid oklch(.9046 calc(var(--ol-c-body)*.11) var(--ol-h) / .10)}
body[data-page="contact"] .est-step:last-child{border-right:0}
body[data-page="contact"] .est-step.active{color:oklch(.8242 calc(var(--ol-c-pat)*.806) var(--ol-h-pat));background:oklch(.9046 calc(var(--ol-c-body)*.11) var(--ol-h) / .05)}
body[data-page="contact"] .est-panel{display:none;padding:22px}
body[data-page="contact"] .est-panel.active{display:block}
body[data-page="contact"] .est-panel .body{color:oklch(.966 calc(var(--ol-c-body)*.07) var(--ol-h-pap) / .78)}
body[data-page="contact"] .est-opts{display:grid;grid-template-columns:1fr;gap:8px}
body[data-page="contact"] button.est-opt{
  appearance:none;width:100%;display:grid;grid-template-columns:1fr auto;align-items:center;gap:12px;
  padding:14px 15px;text-align:left;cursor:pointer;border:1px solid oklch(.8452 calc(var(--ol-c-body)*.356) var(--ol-h) / .18);
  background:rgba(255,255,255,.045);color:#fff;box-shadow:none;font-family:inherit
}
body[data-page="contact"] button.est-opt:hover,body[data-page="contact"] button.est-opt.active{background:oklch(.7033 calc(var(--ol-c-body)*.572) var(--ol-h) / .18);border-color:oklch(.8188 calc(var(--ol-c-jade)*.698) var(--ol-h-jade) / 0.92)}
body[data-page="contact"] .est-opt-l{color:oklch(.9687 calc(var(--ol-c-body)*.058) var(--ol-h-pap));font:400 16px/1.25 var(--font-s)}
body[data-page="contact"] .est-opt-s{color:oklch(.9046 calc(var(--ol-c-body)*.11) var(--ol-h) / 0.82);font:500 7px/1.45 var(--font-l);letter-spacing:.11em;text-transform:uppercase;text-align:right}
body[data-page="contact"] .est-f{margin-bottom:14px}
body[data-page="contact"] .est-f label{display:block;margin-bottom:7px;color:oklch(.9046 calc(var(--ol-c-body)*.11) var(--ol-h) / 0.82);font:500 7px/1.4 var(--font-l);letter-spacing:.16em;text-transform:uppercase}
body[data-page="contact"] .est-f input{width:100%;min-height:48px;padding:12px 13px;background:rgba(255,255,255,.07);border:1px solid oklch(.8452 calc(var(--ol-c-body)*.356) var(--ol-h) / .18);color:#fff}
body[data-page="contact"] .est-nav{display:flex;justify-content:space-between;gap:9px;margin-top:18px}
body[data-page="contact"] .est-nav .btn{min-height:42px;padding:10px 13px;font-size:7px;letter-spacing:.14em}
body[data-page="contact"] .est-res{padding:19px;background:rgba(255,255,255,.06);border:1px solid oklch(.8452 calc(var(--ol-c-body)*.356) var(--ol-h) / .18);box-shadow:none}
body[data-page="contact"] .est-res-t{color:oklch(.8242 calc(var(--ol-c-pat)*.806) var(--ol-h-pat));font:500 7px/1.4 var(--font-l);letter-spacing:.18em;text-transform:uppercase}
body[data-page="contact"] .est-res-b{margin-top:10px;color:oklch(.9687 calc(var(--ol-c-body)*.058) var(--ol-h-pap));font:400 15px/1.65 var(--font-reading)}
body[data-page="contact"] .est-res-b em{color:oklch(.9229 calc(var(--ol-c-body)*.109) var(--ol-h));-webkit-text-fill-color:oklch(.9229 calc(var(--ol-c-body)*.109) var(--ol-h))}
body[data-page="contact"] .v6-inline-contact-32{color:oklch(.9046 calc(var(--ol-c-body)*.11) var(--ol-h) / 0.82)}

/* — CONTACT : ADRESSES — */
body[data-page="contact"] .contact-offices{
  padding-block:clamp(100px,10vw,165px);
  background:
    radial-gradient(780px 360px at 50% 0%,oklch(.8452 calc(var(--ol-c-body)*.356) var(--ol-h) / .18),transparent 72%),
    linear-gradient(180deg,oklch(.963 calc(var(--ol-c-body)*.07) var(--ol-h-pap)),oklch(.984 calc(var(--ol-c-body)*.07) var(--ol-h-pap)));
}
body[data-page="contact"] .contact-offices .v6-inline-contact-33{max-width:820px;margin-bottom:64px}
body[data-page="contact"] .contact-offices .display{color:var(--cv81-ink);font-size:clamp(58px,6.4vw,102px);line-height:.92}
body[data-page="contact"] .contact-offices .display em{color:var(--cv81-opal-deep);-webkit-text-fill-color:var(--cv81-opal-deep)}
body[data-page="contact"] .contact-offices .lead{color:oklch(.4646 calc(var(--ol-c-body)*.458) var(--ol-h));font-size:clamp(17px,1.3vw,20px);line-height:1.75}
body[data-page="contact"] .v6-inline-contact-36{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;background:transparent;border:0}
body[data-page="contact"] :is(.v6-inline-contact-37,.v6-inline-contact-45,.v6-inline-contact-53){
  position:relative;overflow:hidden;display:flex;flex-direction:column;min-width:0;
  background:linear-gradient(155deg,oklch(.147 calc(var(--ol-c-body)*.375) var(--ol-h)),oklch(.2161 calc(var(--ol-c-body)*.637) var(--ol-h)) 58%,oklch(.2817 calc(var(--ol-c-body)*.796) var(--ol-h)));
  border:1px solid oklch(.5147 calc(var(--ol-c-body)*.709) var(--ol-h) / .26);box-shadow:0 35px 90px oklch(.2161 calc(var(--ol-c-body)*.637) var(--ol-h) / .18);
  transition:transform .7s var(--ol-ease),box-shadow .7s var(--ol-ease),border-color .7s
}
body[data-page="contact"] :is(.v6-inline-contact-37,.v6-inline-contact-45,.v6-inline-contact-53)::after{
  content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(130deg,rgba(255,255,255,.08),transparent 22%,transparent 72%,oklch(.7033 calc(var(--ol-c-body)*.572) var(--ol-h) / .08))
}
body[data-page="contact"] :is(.v6-inline-contact-37,.v6-inline-contact-45,.v6-inline-contact-53):hover{transform:translateY(-9px);border-color:oklch(.7411 calc(var(--ol-c-jade)*.695) var(--ol-h-jade) / 1.0);box-shadow:0 48px 120px oklch(.2161 calc(var(--ol-c-body)*.637) var(--ol-h) / .25)}
body[data-page="contact"] :is(.v6-inline-contact-38,.v6-inline-contact-46,.v6-inline-contact-54){aspect-ratio:4/3;overflow:hidden;background:oklch(.2684 calc(var(--ol-c-body)*.641) var(--ol-h))}
body[data-page="contact"] :is(.v6-inline-contact-39,.v6-inline-contact-47,.v6-inline-contact-55){width:100%;height:100%;object-fit:cover;display:block;filter:saturate(.82) contrast(1.08) brightness(.90);transition:transform 1.4s var(--ol-ease),filter 1.4s}
body[data-page="contact"] :is(.v6-inline-contact-37,.v6-inline-contact-45,.v6-inline-contact-53):hover :is(.v6-inline-contact-39,.v6-inline-contact-47,.v6-inline-contact-55){transform:scale(1.045);filter:saturate(.94) contrast(1.07) brightness(.98)}
body[data-page="contact"] :is(.v6-inline-contact-40,.v6-inline-contact-48,.v6-inline-contact-56){position:relative;z-index:1;padding:clamp(28px,3.1vw,44px);display:flex;flex-direction:column;flex:1}
body[data-page="contact"] :is(.v6-inline-contact-41,.v6-inline-contact-49,.v6-inline-contact-57){color:oklch(.8242 calc(var(--ol-c-pat)*.806) var(--ol-h-pat));font:500 8px/1.4 var(--font-l);letter-spacing:.28em;text-transform:uppercase;margin-bottom:19px}
body[data-page="contact"] :is(.v6-inline-contact-42,.v6-inline-contact-50,.v6-inline-contact-58){color:oklch(.9687 calc(var(--ol-c-body)*.058) var(--ol-h-pap))!important;font:400 clamp(28px,2.6vw,40px)/1.02 var(--font-s);margin-bottom:22px}
body[data-page="contact"] :is(.v6-inline-contact-42,.v6-inline-contact-50,.v6-inline-contact-58) em{color:oklch(.9229 calc(var(--ol-c-body)*.109) var(--ol-h))!important;-webkit-text-fill-color:oklch(.9229 calc(var(--ol-c-body)*.109) var(--ol-h))!important}
body[data-page="contact"] :is(.v6-inline-contact-43,.v6-inline-contact-51,.v6-inline-contact-59){color:oklch(.966 calc(var(--ol-c-body)*.07) var(--ol-h-pap) / .74)!important;font-size:14px;line-height:1.78;margin-bottom:23px}
body[data-page="contact"] :is(.v6-inline-contact-44,.v6-inline-contact-52,.v6-inline-contact-60){color:oklch(.8188 calc(var(--ol-c-jade)*.698) var(--ol-h-jade) / 0.92)!important;font:500 7px/1.5 var(--font-l);letter-spacing:.22em;text-transform:uppercase;margin-top:auto}
body[data-page="contact"] .v6-inline-contact-61{max-width:720px;margin-top:42px;color:oklch(.4686 calc(var(--ol-c-body)*.473) var(--ol-h));font-size:16px;line-height:1.7}

/* Concierge : état de consultation sans animation agressive. */
.ai-m.is-thinking{opacity:.62;font-style:italic}
.ai-m.is-thinking span::after{content:"";display:inline-block;width:1.1em;height:1px;margin-left:.5em;background:currentColor;vertical-align:.25em;animation:cv81-thinking 1.1s ease-in-out infinite alternate}
@keyframes cv81-thinking{from{transform:scaleX(.25);transform-origin:left}to{transform:scaleX(1);transform-origin:left}}

@media(max-width:1100px){
  body[data-page="contact"] .form-grid{grid-template-columns:1fr;gap:54px}
  body[data-page="contact"] .form-grid>.rv.d1{position:relative;top:auto}
  body[data-page="contact"] .v6-inline-contact-36{grid-template-columns:1fr 1fr}
  body[data-page="contact"] .v6-inline-contact-53{grid-column:1/-1;display:grid;grid-template-columns:minmax(260px,.9fr) minmax(0,1.1fr)}
  body[data-page="contact"] .v6-inline-contact-54{aspect-ratio:auto;min-height:360px}
}
@media(max-width:720px){
  body[data-page="contact"] .ph{min-height:78svh}
  body[data-page="contact"] .ph-h1{font-size:clamp(54px,14vw,88px)}
  body[data-page="contact"] .contact-intake,body[data-page="contact"] .contact-offices{padding-block:78px}
  body[data-page="contact"] .contact-form{padding:27px 20px}
  body[data-page="contact"] .contact-form::before{inset:7px}
  body[data-page="contact"] .contact-form-intro{grid-template-columns:1fr}
  body[data-page="contact"] .contact-form-intro>div{grid-template-columns:36px 1fr;padding:14px 16px}
  body[data-page="contact"] .form-row,body[data-page="contact"] .v6-inline-contact-4{grid-template-columns:1fr}
  body[data-page="contact"] .form-grid>.rv.d1{padding:28px 22px}
  body[data-page="contact"] .v6-inline-contact-36{grid-template-columns:1fr}
  body[data-page="contact"] .v6-inline-contact-53{grid-column:auto;display:flex}
  body[data-page="contact"] .v6-inline-contact-54{min-height:0;aspect-ratio:4/3}
  body[data-page="contact"] .v6-inline-contact-26{display:block}
  body[data-page="contact"] .contact-form .btn-n{width:100%}
}
@media(prefers-reduced-motion:reduce){.ai-m.is-thinking span::after{animation:none}.ai-m.is-thinking{opacity:.75}}

/* V8.1.1 — plancher typographique de lecture, sans modifier les familles. */
@media (min-width:761px){
  html.lux .hd .nl,html.lux .hd.is-past-hero .nl,html.lux .hd.solid .nl{font-size:9px;letter-spacing:.22em}
  html.lux .hd .lb{font-size:8.5px;letter-spacing:.20em}
}
html.lux .ft-nav{font-size:9.5px;line-height:1.55}
html.lux .ft-cp-wrap{font-size:9px;line-height:1.6}
body[data-page="contact"] .contact-form-intro span{font-size:9px;letter-spacing:.13em}
body[data-page="contact"] :is(.v6-inline-contact-7,.v6-inline-contact-11,.v6-inline-contact-15,.v6-inline-contact-19){font-size:8.5px;letter-spacing:.26em}
body[data-page="contact"] .form-field>label{font-size:9px;letter-spacing:.16em}
body[data-page="contact"] .v6-inline-contact-25{font-size:11px;letter-spacing:.08em}
body[data-page="contact"] .est-step{font-size:8.5px;letter-spacing:.12em}
body[data-page="contact"] .est-f label{font-size:8.5px;letter-spacing:.13em}
body[data-page="contact"] .est-nav .btn{font-size:8.5px;letter-spacing:.12em}
body[data-page="contact"] :is(.v6-inline-contact-41,.v6-inline-contact-49,.v6-inline-contact-57){font-size:8.5px;letter-spacing:.24em}
body[data-page="contact"] :is(.v6-inline-contact-44,.v6-inline-contact-52,.v6-inline-contact-60){font-size:8.5px;letter-spacing:.18em}


/* CARAVELLI LUXURY BRANCH — integration V83 */
html.lux .nl-luxury{color:oklch(.8188 calc(var(--ol-c-jade)*.698) var(--ol-h-jade) / .92)}
html.lux .nl-luxury::after{background:linear-gradient(90deg,oklch(.4091 calc(var(--ol-c-jade)*.651) var(--ol-h-jade)),oklch(.8242 calc(var(--ol-c-pat)*.806) var(--ol-h-pat)))}
html.lux .nl-luxury:hover{color:#fff}
.clb-home{position:relative;overflow:hidden;isolation:isolate;min-height:78svh;display:flex;align-items:center;background:linear-gradient(132deg,oklch(.2161 calc(var(--ol-c-body)*.637) var(--ol-h)) 0%,oklch(.1888 calc(var(--ol-c-body)*.115) var(--ol-h)) 46%,oklch(.2205 calc(var(--ol-c-jade)*.422) var(--ol-h-jade)) 100%);color:var(--ol-carrara);padding:clamp(92px,11vw,168px) 0}
.clb-home::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(72% 88% at 78% 40%,oklch(.3728 calc(var(--ol-c-jade)*.65) var(--ol-h-jade) / .42),transparent 64%),radial-gradient(54% 70% at 12% 20%,oklch(.3474 calc(var(--ol-c-body)*.92) var(--ol-h) / .54),transparent 65%)}
.clb-home-bg{position:absolute;inset:-15%;z-index:-1;opacity:.32;background:repeating-linear-gradient(113deg,transparent 0 72px,oklch(.8188 calc(var(--ol-c-jade)*.698) var(--ol-h-jade) / .025) 73px 74px),linear-gradient(115deg,transparent 42%,oklch(.966 calc(var(--ol-c-body)*.07) var(--ol-h-pap) / .06) 49%,transparent 56%);transform:rotate(-2deg)}
.clb-home-in{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(320px,.72fr);align-items:center;gap:clamp(52px,8vw,130px)}
.clb-home-copy h2{font-family:var(--font-display);font-weight:400;font-size:clamp(48px,7.2vw,104px);line-height:.92;letter-spacing:-.045em;margin:18px 0 28px;color:oklch(.966 calc(var(--ol-c-body)*.07) var(--ol-h-pap))}
.clb-home-copy h2 em{font-weight:400;color:oklch(.8242 calc(var(--ol-c-pat)*.806) var(--ol-h-pat))}
.clb-home-copy p{max-width:680px;font-family:var(--font-reading);font-size:clamp(16px,1.35vw,20px);line-height:1.78;color:oklch(.966 calc(var(--ol-c-body)*.07) var(--ol-h-pap) / .78)}
.clb-home-actions{display:flex;align-items:center;flex-wrap:wrap;gap:24px;margin-top:36px}
.clb-home-text{font-family:var(--font-ui);font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:oklch(.8242 calc(var(--ol-c-pat)*.806) var(--ol-h-pat));border-bottom:1px solid oklch(.8188 calc(var(--ol-c-jade)*.698) var(--ol-h-jade) / .45);padding-bottom:4px}
.clb-home-portal{position:relative;display:grid;place-items:center;min-height:560px;border:1px solid oklch(.8188 calc(var(--ol-c-jade)*.698) var(--ol-h-jade) / .22);background:radial-gradient(circle at 50% 20%,oklch(.8188 calc(var(--ol-c-jade)*.698) var(--ol-h-jade) / .14),transparent 36%),linear-gradient(180deg,oklch(.2133 calc(var(--ol-c-jade)*.406) var(--ol-h-jade)),oklch(.1529 calc(var(--ol-c-body)*.112) var(--ol-h)));box-shadow:0 46px 120px oklch(.1047 calc(var(--ol-c-body)*.24) var(--ol-h) / .48);overflow:hidden}
.clb-home-portal::before,.clb-home-portal::after{content:"";position:absolute;inset:8%;border:1px solid oklch(.8188 calc(var(--ol-c-jade)*.698) var(--ol-h-jade) / .17)}
.clb-home-portal::after{inset:13%;border-color:oklch(.966 calc(var(--ol-c-body)*.07) var(--ol-h-pap) / 0.74)}
.clb-home-frame{position:absolute;width:42%;height:62%;border:1px solid oklch(.8188 calc(var(--ol-c-jade)*.698) var(--ol-h-jade) / .55);box-shadow:inset 0 0 70px oklch(.3728 calc(var(--ol-c-jade)*.65) var(--ol-h-jade) / .38),0 0 55px oklch(.8188 calc(var(--ol-c-jade)*.698) var(--ol-h-jade) / .08)}
.clb-home-mark{position:relative;z-index:2;font-family:var(--font-display);font-size:clamp(66px,7vw,112px);letter-spacing:.04em;color:oklch(.9422 calc(var(--ol-c-jade)*.123) var(--ol-h-jade))}
.clb-home-caption{position:absolute;bottom:11%;font-family:var(--font-ui);font-size:9px;letter-spacing:.36em;text-transform:uppercase;color:oklch(.8242 calc(var(--ol-c-pat)*.806) var(--ol-h-pat))}
.clb-home-portal{transition:transform .9s var(--ol-ease),border-color .9s var(--ol-ease)}
.clb-home-portal:hover{transform:translateY(-8px);border-color:oklch(.8188 calc(var(--ol-c-jade)*.698) var(--ol-h-jade) / 0.92)}
@media(max-width:980px){.clb-home-in{grid-template-columns:1fr}.clb-home-portal{min-height:460px}.clb-home-copy{max-width:780px}}
@media(max-width:620px){.clb-home{padding:82px 0}.clb-home-portal{min-height:390px}.clb-home-actions{align-items:flex-start;flex-direction:column}.clb-home-copy h2{font-size:clamp(48px,15vw,72px)}}
@media(prefers-reduced-motion:reduce){.clb-home-portal{transition:none}.clb-home-portal:hover{transform:none}}

/* ══════════════════════════════════════════════════════════════════════════
   PORTAGE MINERAL DES FEUILLES PARTAGEES
   caravelli-v912.css et caravelli-signature-v90.css sont charges AUSSI par les
   30 pages de luxury-branch. Ils ne sont donc PAS modifies. Les valeurs
   minerales sont portees ici, scopees par body[data-page] — attribut qu'aucune
   page luxury-branch ne possede. Cloisonnement structurel, pas conventionnel.
   ══════════════════════════════════════════════════════════════════════════ */
body[data-page]{
  --cv90-bg:oklch(.1708 calc(var(--ol-c-body)*.353) var(--ol-h));
  --cv90-glow:oklch(.8143 calc(var(--ol-c-pat)*.788) var(--ol-h-pat) / .20);
  --cv90-gold:oklch(.8115 calc(var(--ol-c-pat)*.82) var(--ol-h-pat));
  --cv90-gold-hi:oklch(.9275 calc(var(--ol-c-pat)*.321) var(--ol-h-pat));
  --cv90-ink:oklch(.2161 calc(var(--ol-c-body)*.637) var(--ol-h));
  --cv90-line:oklch(.7651 calc(var(--ol-c-pat)*.801) var(--ol-h-pat) / .24);
  --cv912-carrara:oklch(.9687 calc(var(--ol-c-body)*.058) var(--ol-h-pap));
  --cv912-gold:oklch(.7625 calc(var(--ol-c-pat)*.821) var(--ol-h-pat));
  --cv912-gold-hi:oklch(.8595 calc(var(--ol-c-pat)*.677) var(--ol-h-pat));
  --cv912-ink:oklch(.1701 calc(var(--ol-c-body)*.333) var(--ol-h));
  --cv912-satin:oklch(.2161 calc(var(--ol-c-body)*.637) var(--ol-h));
}
body[data-page]{-gold:oklch(.8115 calc(var(--ol-c-pat)*.82) var(--ol-h-pat));-gold-hi:oklch(.9275 calc(var(--ol-c-pat)*.321) var(--ol-h-pat));-carrara:oklch(.9687 calc(var(--ol-c-body)*.058) var(--ol-h-pap));-ink:oklch(.2161 calc(var(--ol-c-body)*.637) var(--ol-h));-satin:oklch(.2161 calc(var(--ol-c-body)*.637) var(--ol-h));-platinum:oklch(.944 calc(var(--ol-c-body)*.109) var(--ol-h));-bg:oklch(.1708 calc(var(--ol-c-body)*.353) var(--ol-h));-line:oklch(.7651 calc(var(--ol-c-pat)*.801) var(--ol-h-pat) / .24);-glow:oklch(.8143 calc(var(--ol-c-pat)*.788) var(--ol-h-pat) / .20);}
body[data-page] .cv912-countdown--hero{border-top:1px solid oklch(.8862 calc(var(--ol-c-jade)*.691) var(--ol-h-jade) / .48);border-bottom:1px solid oklch(.8862 calc(var(--ol-c-jade)*.691) var(--ol-h-jade) / .24);background:linear-gradient(90deg,oklch(.1514 calc(var(--ol-c-body)*.346) var(--ol-h) / .42),oklch(.2161 calc(var(--ol-c-body)*.637) var(--ol-h) / .68) 48%,oklch(.1514 calc(var(--ol-c-body)*.346) var(--ol-h) / .30));}
body[data-page] .cv912-countdown--hero::before{box-shadow:0 0 20px oklch(.8862 calc(var(--ol-c-jade)*.691) var(--ol-h-jade) / .36);}
body[data-page] .cv912-countdown__date{color:oklch(.9687 calc(var(--ol-c-body)*.058) var(--ol-h-pap) / .76);}
body[data-page] .cv912-countdown__unit:not(:last-child)::after{background:linear-gradient(180deg,transparent,oklch(.8862 calc(var(--ol-c-jade)*.691) var(--ol-h-jade) / .32),transparent);}
body[data-page] .cv912-countdown__value{color:oklch(.9777 calc(var(--ol-c-body)*.057) var(--ol-h-pap));}
body[data-page] .cv912-countdown__label{color:oklch(.9687 calc(var(--ol-c-body)*.058) var(--ol-h-pap) / 0.74);}
body[data-page] .cv912-countdown__foot{border-top:1px solid oklch(.8862 calc(var(--ol-c-jade)*.691) var(--ol-h-jade) / .13);}
body[data-page] .cv912-countdown__timezone{color:oklch(.9687 calc(var(--ol-c-body)*.058) var(--ol-h-pap) / .76);}
body[data-page] .cv912-countdown__link:hover,
body[data-page] .cv912-countdown__link:focus-visible{color:oklch(.9692 calc(var(--ol-c-jade)*.123) var(--ol-h-jade));}
body[data-page] .cv912-countdown-compact{border:1px solid oklch(.871 calc(var(--ol-c-jade)*.692) var(--ol-h-jade) / .32);background:linear-gradient(110deg,oklch(.1565 calc(var(--ol-c-body)*.338) var(--ol-h) / .88),oklch(.2361 calc(var(--ol-c-body)*.659) var(--ol-h) / .82));}
html.cv90-branch body[data-page] .cv912-countdown-compact{background:linear-gradient(110deg,oklch(.1696 calc(var(--ol-c-jade)*.323) var(--ol-h-jade) / .92),oklch(.2727 calc(var(--ol-c-jade)*.521) var(--ol-h-jade) / .90));box-shadow:0 12px 38px oklch(.1858 calc(var(--ol-c-jade)*.354) var(--ol-h-jade) / .28),inset 0 1px rgba(255,255,255,.035);}
body[data-page] .cv912-countdown-compact::before{box-shadow:0 0 13px oklch(.8862 calc(var(--ol-c-jade)*.691) var(--ol-h-jade) / .72);}
body[data-page] .cv912-countdown-compact__name{color:oklch(.9687 calc(var(--ol-c-body)*.058) var(--ol-h-pap) / .84);}
body[data-page] .cv912-countdown-compact:hover,
body[data-page] .cv912-countdown-compact:focus-visible{border-color:oklch(.8926 calc(var(--ol-c-jade)*.69) var(--ol-h-jade) / 0.82);box-shadow:0 18px 46px oklch(.1248 calc(var(--ol-c-body)*.237) var(--ol-h) / .30),0 0 24px oklch(.7625 calc(var(--ol-c-pat)*.821) var(--ol-h-pat) / .12);}
body[data-page].cv90-signature :is(.hero-sub,
body[data-page] .ph-sub,
body[data-page] .pensee-intro,
body[data-page] .merci-sub,
body[data-page] .dxb-sub,
body[data-page] .pj-loc,
body[data-page] .cp-page-intro,
body[data-page] .cp-copy){color:oklch(.975 calc(var(--ol-c-body)*.07) var(--ol-h-pap) / .90);}
body[data-page].cv90-signature :is(.hero-ey,
body[data-page] .eyebrow,
body[data-page] .kicker,
body[data-page] .pensee-eyebrow,
body[data-page] .dxb-date,
body[data-page] .pj-cat,
body[data-page] .cine-meta,
body[data-page] .ft-tag){color:oklch(.8095 calc(var(--ol-c-jade)*.699) var(--ol-h-jade));}
html.cv90-branch body[data-page] body :is(.hero-intro,
body[data-page] .property-meta,
body[data-page] .property-location,
body[data-page] .partners-note,
body[data-page] .footer-col li,
body[data-page] .footer-bottom,
body[data-page] .bien-loc,
body[data-page] .bien-desc,
body[data-page] .bien-src,
body[data-page] .bien-nosend,
body[data-page] .bien-specs span){color:oklch(.9422 calc(var(--ol-c-jade)*.123) var(--ol-h-jade) / .84);}
html.cv90-branch body[data-page] body :is(.hero-eyebrow,
body[data-page] .eyebrow,
body[data-page] .property-ref,
body[data-page] .destination-count,
body[data-page] .bien-lead,
body[data-page] .brand-branch){color:oklch(.8064 calc(var(--ol-c-jade)*.699) var(--ol-h-jade));}
html.cv90-branch body[data-page] body .hero-overlay{background:linear-gradient(90deg,oklch(.1277 calc(var(--ol-c-body)*.121) var(--ol-h) / .70),oklch(.1277 calc(var(--ol-c-body)*.121) var(--ol-h) / .22) 55%,oklch(.1277 calc(var(--ol-c-body)*.121) var(--ol-h) / .55)),linear-gradient(0deg,oklch(.1277 calc(var(--ol-c-body)*.121) var(--ol-h) / .70),transparent 62%);}
html.cvb-has-rail body[data-page] .caravelli-maison-rail{border-right:1px solid oklch(.8126 calc(var(--ol-c-jade)*.698) var(--ol-h-jade) / .62);}
html.cv90-signature{background:oklch(.1271 calc(var(--ol-c-body)*.099) var(--ol-h));}
body[data-page] .cv90-ambient::before{background:radial-gradient(34rem 28rem at var(--cv90-pointer-x) var(--cv90-pointer-y),oklch(.9498 calc(var(--ol-c-body)*.096) var(--ol-h) / .075),transparent 68%),
    radial-gradient(54rem 44rem at 7% 88%,var(--cv90-glow),transparent 72%),
    radial-gradient(42rem 34rem at 94% 8%,oklch(.7157 calc(var(--ol-c-jade)*.697) var(--ol-h-jade) / .075),transparent 70%);}
html.cv90-branch body[data-page] .cv90-ambient::before{background:radial-gradient(34rem 28rem at var(--cv90-pointer-x) var(--cv90-pointer-y),oklch(.9331 calc(var(--ol-c-jade)*.124) var(--ol-h-jade) / .075),transparent 68%),
    radial-gradient(56rem 45rem at 3% 86%,oklch(.3473 calc(var(--ol-c-jade)*.649) var(--ol-h-jade) / .30),transparent 72%),
    radial-gradient(42rem 34rem at 96% 6%,oklch(.6827 calc(var(--ol-c-jade)*.784) var(--ol-h-jade) / .08),transparent 70%);}
body[data-page] .cv90-frame{border:1px solid oklch(.8683 calc(var(--ol-c-jade)*.692) var(--ol-h-jade) / .11);border-color:oklch(.8683 calc(var(--ol-c-jade)*.692) var(--ol-h-jade) / 0.85);}
body[data-page] .cv90-frame::before,
body[data-page] .cv90-frame::after{border-color:oklch(.8835 calc(var(--ol-c-jade)*.691) var(--ol-h-jade) / 0.84);}
body[data-page] .cv90-frame__mark{color:oklch(.8948 calc(var(--ol-c-jade)*.7) var(--ol-h-jade) / 0.82);}
body[data-page] .cv90-progress__track{background:oklch(.8826 calc(var(--ol-c-jade)*.701) var(--ol-h-jade) / .14);}
body[data-page] .cv90-progress__fill{box-shadow:0 0 15px oklch(.8166 calc(var(--ol-c-jade)*.687) var(--ol-h-jade) / .52);}
body[data-page] .cv90-progress__index{color:oklch(.8997 calc(var(--ol-c-jade)*.125) var(--ol-h-jade) / 0.82);}
body[data-page] .cv90-progress__label{color:oklch(.944 calc(var(--ol-c-body)*.109) var(--ol-h) / 0.76);}
body[data-page] .cv90-scroll-cue__line{background:oklch(.8978 calc(var(--ol-c-jade)*.7) var(--ol-h-jade) / .22);}
body[data-page] .cv90-scroll-cue__text{color:oklch(.924 calc(var(--ol-c-jade)*.124) var(--ol-h-jade) / 0.78);}
body[data-page] .cv90-transition__veil{background:radial-gradient(circle at 50% 44%,oklch(.9632 calc(var(--ol-c-jade)*.123) var(--ol-h-jade) / .08),transparent 32%),
    linear-gradient(145deg,oklch(.1431 calc(var(--ol-c-body)*.225) var(--ol-h)) 0%,oklch(.2023 calc(var(--ol-c-body)*.521) var(--ol-h)) 48%,oklch(.1271 calc(var(--ol-c-body)*.099) var(--ol-h)) 100%);}
html.cv90-branch body[data-page] .cv90-transition__veil{background:radial-gradient(circle at 50% 44%,oklch(.9361 calc(var(--ol-c-jade)*.124) var(--ol-h-jade) / .08),transparent 32%),
    linear-gradient(145deg,oklch(.1488 calc(var(--ol-c-jade)*.283) var(--ol-h-jade)) 0%,oklch(.2727 calc(var(--ol-c-jade)*.521) var(--ol-h-jade)) 52%,oklch(.136 calc(var(--ol-c-jade)*.259) var(--ol-h-jade)) 100%);}
body[data-page] .cv90-transition__word{color:oklch(.9531 calc(var(--ol-c-body)*.109) var(--ol-h));}
html.cv90-scrolled body[data-page] body.cv90-signature .hd,
html.cv90-scrolled body[data-page] body.cv90-signature .site-header{border-bottom-color:oklch(.7651 calc(var(--ol-c-pat)*.801) var(--ol-h-pat) / 0.88);}
html.cv90-scrolled.cv90-branch body[data-page] body.cv90-signature .site-header{background:oklch(.1696 calc(var(--ol-c-jade)*.323) var(--ol-h-jade) / .78);}
body[data-page].cv90-signature .nl-luxury{text-shadow:0 0 18px oklch(.782 calc(var(--ol-c-jade)*.691) var(--ol-h-jade) / .20);}
body[data-page].cv90-signature .caravelli-maison-rail{box-shadow:-18px 0 52px oklch(.2507 calc(var(--ol-c-jade)*.479) var(--ol-h-jade) / .28),-2px 0 26px oklch(.8104 calc(var(--ol-c-jade)*.688) var(--ol-h-jade) / .16),inset 1px 0 oklch(.9782 calc(var(--ol-c-jade)*.122) var(--ol-h-jade) / .15);}
html.cv90-branch body[data-page] body.cv90-signature :where(.property-card,
body[data-page] .destination-card,
body[data-page] .property-hero,
body[data-page] .private-office,
body[data-page] .po-panel){box-shadow:0 0 0 1px oklch(.832 calc(var(--ol-c-jade)*.685) var(--ol-h-jade) / .05),0 26px 70px oklch(.1488 calc(var(--ol-c-jade)*.283) var(--ol-h-jade) / .10);}
html.cv90-branch body[data-page] body.cv90-signature :where(.property-card,
body[data-page] .destination-card):hover{box-shadow:0 0 0 1px oklch(.832 calc(var(--ol-c-jade)*.685) var(--ol-h-jade) / .14),0 34px 88px oklch(.1488 calc(var(--ol-c-jade)*.283) var(--ol-h-jade) / .22);}

/* ── Lisibilite : regles situees dans les feuilles PARTAGEES. Elles ne sont
   pas modifiees a la source (luxury-branch les charge) : le contraste est
   corrige ici, scope body[data-page]. APCA cible Lc 62. ── */
body[data-page] .cv90-frame__mark{color:oklch(.8948 calc(var(--ol-c-jade)*.7) var(--ol-h-jade) / 0.82)}  /* Lc 62.3, etait 0.46 */
body[data-page] .cv90-progress__label{color:oklch(.944 calc(var(--ol-c-body)*.109) var(--ol-h) / 0.76)}  /* Lc 62.1, etait 0.54 */
body[data-page] .cv90-scroll-cue__text{color:oklch(.924 calc(var(--ol-c-jade)*.124) var(--ol-h-jade) / 0.78)}  /* Lc 62.1, etait 0.68 */
body[data-page] .cv90-progress__index{color:oklch(.8997 calc(var(--ol-c-jade)*.125) var(--ol-h-jade) / 0.82)}  /* Lc 63.2, etait 0.72 */
body[data-page] .cv912-countdown__label{color:oklch(.9687 calc(var(--ol-c-body)*.058) var(--ol-h-pap) / 0.74)}  /* Lc 63.0, etait 0.68 */
body[data-page="chantiers-prives"] .cp-number{color:oklch(.7707 calc(var(--ol-c-body)*.573) var(--ol-h))}  /* Lc 62.1 */

/* ══════════════════════════════════════════════════════════════════════════
   FUMEE VOLUMETRIQUE — hero d'accueil
   Huit couches, aucune image, aucun canvas, aucun JavaScript.
   Le luxe ne vient pas de la densite mais de la PROFONDEUR : trois plans a
   flous, vitesses et modes de fusion differents, un rai de lumiere qui les
   traverse, un grain qui casse la quantification 8 bits, une vignette qui
   inscrit la fumee dans un volume plutot que sur un plan.
   Aucune propriete typographique n'est declaree ici.
   ══════════════════════════════════════════════════════════════════════════ */
body[data-page="index"] .ol-fumee{
  position:absolute;inset:0;z-index:1;pointer-events:none;overflow:hidden;
  opacity:.94;
}
body[data-page="index"] .ol-fumee>*{position:absolute;will-change:transform,opacity}

/* PLAN LOINTAIN — presque immobile, tres flou. Donne l'echelle. */
body[data-page="index"] .ol-fumee-lointain{
  inset:-30%;mix-blend-mode:screen;opacity:.30;filter:blur(46px);
  background:
    radial-gradient(48% 38% at 32% 70% in oklab, color-mix(in oklab,var(--c-vein) 30%,transparent), transparent 72%),
    radial-gradient(42% 34% at 74% 58% in oklab, color-mix(in oklab,var(--c-platine) 22%,transparent), transparent 70%);
  animation:ol-fum-lointain 210s ease-in-out infinite alternate;
}
/* TROIS MASSES — le corps de la fumee. Bords organiques, rotations lentes. */
body[data-page="index"] .ol-fumee-masse{
  inset:-24%;mix-blend-mode:screen;
  border-radius:44% 56% 61% 39%/57% 43% 57% 43%;
}
body[data-page="index"] .ol-fumee-m1{
  opacity:.44;filter:blur(46px);
  background:radial-gradient(56% 44% at 28% 64% in oklab,
    color-mix(in oklab,var(--c-vein) 38%,transparent) 0%,
    color-mix(in oklab,var(--c-lapis) 24%,transparent) 42%, transparent 74%);
  animation:ol-fum-a 84s ease-in-out infinite alternate;
}
body[data-page="index"] .ol-fumee-m2{
  opacity:.34;filter:blur(46px);
  background:radial-gradient(50% 40% at 70% 46% in oklab,
    color-mix(in oklab,var(--c-platine) 30%,transparent) 0%,
    color-mix(in oklab,var(--c-bronze) 15%,transparent) 40%, transparent 72%);
  animation:ol-fum-b 106s ease-in-out infinite alternate;
}
body[data-page="index"] .ol-fumee-m3{
  opacity:.40;filter:blur(46px);
  background:radial-gradient(62% 50% at 46% 90% in oklab,
    color-mix(in oklab,var(--c-vein) 26%,transparent) 0%,
    color-mix(in oklab,var(--c-satin) 34%,transparent) 46%, transparent 78%);
  animation:ol-fum-c 138s ease-in-out infinite alternate;
}
/* PLAN PROCHE — voile a peine visible, plus rapide. Cree la parallaxe. */
body[data-page="index"] .ol-fumee-proche{
  inset:-16%;mix-blend-mode:soft-light;opacity:.50;filter:blur(26px);
  background:radial-gradient(44% 30% at 58% 78% in oklab,
    color-mix(in oklab,var(--c-platine) 34%,transparent), transparent 68%);
  animation:ol-fum-proche 58s ease-in-out infinite alternate;
}
/* RAI DE LUMIERE — la fumee ne se voit que parce qu'une lumiere la traverse.
   C'est ce detail qui separe un brouillard d'un volume eclaire. */
body[data-page="index"] .ol-fumee-rai{
  inset:-40% -20% -10% -20%;mix-blend-mode:screen;opacity:.26;
  filter:blur(38px);
  background:linear-gradient(196deg in oklab,
    color-mix(in oklab,var(--c-platine) 26%,transparent) 0%,
    color-mix(in oklab,var(--c-vein) 10%,transparent) 26%,
    transparent 58%);
  transform-origin:70% 0;
  animation:ol-fum-rai 74s ease-in-out infinite alternate;
}
/* GRAIN — sur un degrade bleu nuit en 8 bits il ne reste qu'une douzaine de
   marches : sans dither, l'ecran montre des bandes. */
body[data-page="index"] .ol-fumee-grain{
  inset:0;opacity:.022;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='g'><feTurbulence type='fractalNoise' baseFrequency='.86' numOctaves='4' stitchTiles='stitch'/><feColorMatrix type='saturate' values='0'/></filter><rect width='160' height='160' filter='url(%23g)'/></svg>");
  background-size:160px 160px;
}
/* VIGNETTE — assombrit les bords : la fumee est DANS un lieu. */
body[data-page="index"] .ol-fumee-vignette{
  inset:0;
  background:radial-gradient(118% 92% at 50% 46% in oklab, transparent 40%,
    color-mix(in oklab,var(--c-abime) 46%,transparent) 100%);
}
@keyframes ol-fum-lointain{0%{transform:translate3d(-2%,1%,0) scale(1.04)}100%{transform:translate3d(3%,-2%,0) scale(1.10)}}
@keyframes ol-fum-a{0%{transform:translate3d(-6%,4%,0) scale(1.05) rotate(-3deg)}100%{transform:translate3d(8%,-5%,0) scale(1.18) rotate(4deg)}}
@keyframes ol-fum-b{0%{transform:translate3d(7%,-3%,0) scale(1.14) rotate(3deg)}100%{transform:translate3d(-7%,6%,0) scale(1.03) rotate(-4deg)}}
@keyframes ol-fum-c{0%{transform:translate3d(-4%,6%,0) scale(1.20)}100%{transform:translate3d(6%,-4%,0) scale(1.05)}}
@keyframes ol-fum-proche{0%{transform:translate3d(-9%,3%,0) scale(1.02);opacity:.34}100%{transform:translate3d(9%,-3%,0) scale(1.13);opacity:.58}}
@keyframes ol-fum-rai{0%{transform:rotate(-2.5deg) scaleY(1);opacity:.16}100%{transform:rotate(2.5deg) scaleY(1.12);opacity:.34}}
@media (min-resolution:2dppx){body[data-page="index"] .ol-fumee-grain{background-size:80px 80px;opacity:.017}}
@media (dynamic-range:high){body[data-page="index"] .ol-fumee-grain{opacity:.011}}
/* Dissipation au defilement : indexee sur le scroll natif, pas sur un timer. */
@supports (animation-timeline:view()){
  @media (prefers-reduced-motion:no-preference){
    body[data-page="index"] .ol-fumee{animation:ol-fum-dissipe linear both;animation-timeline:view();animation-range:exit 0% exit 88%}
  }
}
@keyframes ol-fum-dissipe{0%{opacity:.94}100%{opacity:0}}
@media (prefers-reduced-motion:reduce){
  body[data-page="index"] .ol-fumee>*{animation:none!important}
  body[data-page="index"] .ol-fumee{opacity:.58}
}
@media (max-width:760px){
  body[data-page="index"] .ol-fumee{opacity:.74}
  body[data-page="index"] .ol-fumee-m2,body[data-page="index"] .ol-fumee-m3{filter:blur(22px)}
  body[data-page="index"] .ol-fumee-lointain{filter:blur(22px)}
  body[data-page="index"] .ol-fumee-rai{opacity:.18}
}
html.oc-eco body[data-page="index"] .ol-fumee-lointain,
html.oc-eco body[data-page="index"] .ol-fumee-m3,
html.oc-eco body[data-page="index"] .ol-fumee-rai{display:none}
html.oc-eco body[data-page="index"] .ol-fumee{opacity:.60}
@media print{body[data-page="index"] .ol-fumee{display:none}}

/* ══════════════════════════════════════════════════════════════════════════
   DECOMPTE D'INAUGURATION — habillage mineral
   Scope body[data-page] : specificite (0,2,1) contre (0,1,0) des regles de
   caravelli-v912.css, qui est charge apres. luxury-branch, qui charge la meme
   feuille sans porter data-page, garde son habillage d'origine.
   Aucune propriete typographique n'est declaree ici : ni famille, ni taille,
   ni graisse, ni interlettrage.
   ══════════════════════════════════════════════════════════════════════════ */
body[data-page] .cv912-countdown--hero{
  background:
    radial-gradient(122% 164% at 6% 0% in oklab, color-mix(in oklab,var(--c-platine) 8%,transparent), transparent 60%),
    color-mix(in oklab, var(--c-satin) 56%, transparent);
  border:1px solid color-mix(in oklab,var(--c-platine) 13%,transparent);
  backdrop-filter:blur(17px) saturate(1.08);
  -webkit-backdrop-filter:blur(17px) saturate(1.08);
  box-shadow:0 28px 78px color-mix(in oklab,var(--c-abime) 44%,transparent),
             inset 0 1px color-mix(in oklab,var(--c-platine) 10%,transparent);
  }
/* Arete de platine a sept valeurs : un metal poli n'a jamais une seule valeur. */
body[data-page] .cv912-countdown--hero::before{
  background:linear-gradient(180deg in oklab,transparent,
    var(--ol-pt-eclat,oklch(.9657 calc(var(--ol-c-body)*.058) var(--ol-h-pap))) 20%, var(--ol-pt,oklch(.7998 calc(var(--ol-c-body)*.093) var(--ol-h))) 50%,
    var(--ol-pt-eclat,oklch(.9657 calc(var(--ol-c-body)*.058) var(--ol-h-pap))) 80%, transparent);
  box-shadow:0 0 24px color-mix(in oklab,var(--c-platine) 32%,transparent);
}
body[data-page] .cv912-countdown__unit:not(:last-child)::after{
  background:linear-gradient(180deg in oklab,transparent,
    color-mix(in oklab,var(--c-platine) 40%,transparent),transparent);
}
body[data-page] .cv912-countdown__foot{
  border-top:1px solid color-mix(in oklab,var(--c-platine) 17%,transparent);
}
body[data-page] .cv912-countdown__value{
  color:var(--c-lit);
  text-shadow:0 4px 40px color-mix(in oklab,var(--c-abime) 64%,transparent);
  transform-origin:50% 62%;
}
/* Frappe : seul le chiffre qui change respire. 380 ms, une seule fois.
   Declenchee par olympe-engine.js via MutationObserver — la feuille et le
   script du decompte, partages avec luxury-branch, ne sont pas touches. */
body[data-page] .cv912-countdown__value.is-frappe{
  animation:ol-cd-frappe .38s cubic-bezier(.19,1,.22,1);
}
@keyframes ol-cd-frappe{
  0%  {opacity:.44;transform:translateY(-.05em) scale(.986);filter:blur(.4px)}
  55% {opacity:1;transform:translateY(.005em) scale(1.004);filter:blur(0)}
  100%{opacity:1;transform:none;filter:none}
}
body[data-page] .cv912-countdown__link:hover,
body[data-page] .cv912-countdown__link:focus-visible{color:var(--ol-pt-eclat,oklch(.9657 calc(var(--ol-c-body)*.058) var(--ol-h-pap)))}
/* Pastille compacte : platine. */
body[data-page] .cv912-countdown-compact{
  background:color-mix(in oklab,var(--c-satin) 80%,transparent);
  border:1px solid color-mix(in oklab,var(--c-platine) 21%,transparent);
  backdrop-filter:blur(13px) saturate(1.06);
  -webkit-backdrop-filter:blur(13px) saturate(1.06);
}
body[data-page] .cv912-countdown-compact::before{
  background:var(--c-or);
  box-shadow:0 0 14px color-mix(in oklab,var(--c-or) 66%,transparent);
}
body[data-page] .cv912-countdown-compact:hover,
body[data-page] .cv912-countdown-compact:focus-visible{
  border-color:color-mix(in oklab,var(--c-platine) 54%,transparent);
  box-shadow:0 18px 48px color-mix(in oklab,var(--c-abime) 36%,transparent),
             0 0 28px color-mix(in oklab,var(--c-or) 15%,transparent);
}
/* Ni @starting-style ni transition ici : caravelli-v912.css gere deja
   l'apparition du decompte et anime 'transform'. En ajouter aurait compose
   deux deplacements simultanes. */
@media print{
  body[data-page] .cv912-countdown--hero{background:#fff;border-color:#ccc;box-shadow:none;backdrop-filter:none}
  body[data-page] .cv912-countdown--hero::before{display:none}
  body[data-page] .cv912-countdown__value{color:#111;text-shadow:none}
}
@media (forced-colors:active){
  body[data-page] .cv912-countdown--hero{border:1px solid CanvasText;background:Canvas;backdrop-filter:none}
  body[data-page] .cv912-countdown--hero::before{background:CanvasText;box-shadow:none}
}


/* ══════════════════════════════════════════════════════════════════════
   HAUTE COUTURE — fusionné dans la source, sans surcouche
   Ce bloc était un fichier séparé chargé par-dessus. Il est désormais
   intégré ici : une seule feuille, une seule cascade, aucune guerre de
   spécificité. Les réécritures de tokens ont été supprimées — leurs
   valeurs sont posées plus haut, à leur déclaration d'origine.
   ══════════════════════════════════════════════════════════════════ */

/* ============================================================================
   CARAVELLI — OLYMPE HAUTE COUTURE
   Couche de montée en gamme. Chargée en dernier, entièrement scopée par
   body[data-page] : les 21 pages du site principal la portent, aucune des
   30 pages de luxury-branch. Cloisonnement identique à olympe-system.css.

   1.  Palette — retour à l'accent de la marque (bronze / champagne)
   2.  Rail des widgets flottants — fin des collisions
   3.  Fumée abondante, jamais masquante
   4.  La lumière parcourt le site
   5.  Marbre de Carrare
   6.  Respiration
   7.  Lisibilité garantie
   8.  Bannière de consentement
   9.  Vidéos sans cassure
   10. Dégradations
   ========================================================================= */


/* ---------------------------------------------------------------------------
   1. PALETTE — l'accent de la marque, restauré

   Relevé sur les SVG officiels non modifiés :
     CARAVELLI_EMBLEME_HEADER_OFFICIEL.svg  → #B79A66  champagne
     CARAVELLI_COLONNE_*_ORIGINALE.svg      → #9A7A55  bronze, ivoire #E7E2DA
     luxury-branch/assets/css/main.css      → --gold: oklch(.7 .122 84.7)

   Le site principal avait tout basculé en turquoise (#83BFBE, #91CDCC,
   #498E8D) en gardant des restes de champagne en dur. On réaligne.
   Les tokens sont réécrits sur body : ils sont consommés par les feuilles
   partagées sans que celles-ci soient touchées.
------------------------------------------------------------------------- */

body[data-page]{
  /* Accent — chaîne complète, du plus profond au plus clair */    /* ombre du bronze          */
  --hc-bronze      : oklch(.556 .098 71.8);  /* #9A7A55 — marque         */
  --hc-champagne   : oklch(.668 .098 84.7);  /* #B79A66 — emblème        */
  --hc-champagne-hi: oklch(.812 .086 86);    /* filets, survols          */
  --hc-champagne-lo: oklch(.905 .048 87);    /* éclat, texte sur nuit    */
  --hc-ivoire-chaud: oklch(.918 .014 84.6);  /* #E7E2DA — ivoire marque  */

  /* Voiles dérivés — un seul endroit à régler pour doser l'or partout */
  --hc-veil-12: color-mix(in oklch, var(--hc-champagne) 12%, transparent);
  --hc-veil-22: color-mix(in oklch, var(--hc-champagne) 22%, transparent);
  --hc-veil-38: color-mix(in oklch, var(--hc-champagne) 38%, transparent);
  --hc-veil-60: color-mix(in oklch, var(--hc-champagne) 60%, transparent);

  /* Nuit — légèrement réchauffée et approfondie.
     La recherche 2026 va vers des bleus plus chauds ; on descend le noir
     du fond pour que le champagne ait de quoi briller. */
  --hc-nuit-abysse : oklch(.118 .026 254);
  --hc-nuit        : oklch(.196 .038 252.3);
  --hc-nuit-satin  : oklch(.258 .046 251);

  /* Les tokens d'accent ne sont plus réécrits ici : leurs valeurs sont
     posées directement dans olympe-system.css (--ol-h-pat: 84.7, qui pilote
     --c-bronze et --c-or en oklch, plus les hexadécimaux résiduels). Une
     surcouche qui ne fait que réécrire une valeur est une dette, pas une
     correction. */

  /* Piloté par JS — 0 → 1 sur la hauteur du document */
  --hc-progress: 0;

  /* Textures procédurales — zéro fichier, zéro requête.
     Le grain casse les bandes d'un dégradé nuit en 8 bits ; les veines
     donnent au marbre son irrégularité. */
  --hc-grain: url("data:image/svg+xml;charset=utf-8,\
%3Csvg xmlns='http://www.w3.org/2000/svg' width='260' height='260'%3E\
%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.86' numOctaves='3' stitchTiles='stitch'/%3E\
%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E\
%3Crect width='260' height='260' filter='url(%23g)'/%3E%3C/svg%3E");

  --hc-veines: url("data:image/svg+xml;charset=utf-8,\
%3Csvg xmlns='http://www.w3.org/2000/svg' width='760' height='760'%3E\
%3Cfilter id='v'%3E\
%3CfeTurbulence type='fractalNoise' baseFrequency='.0026 .019' numOctaves='7' seed='11' stitchTiles='stitch' result='t'/%3E\
%3CfeColorMatrix type='saturate' values='0'/%3E\
%3CfeComponentTransfer%3E%3CfeFuncA type='discrete' tableValues='0 0 0 0 0 0 .18 .55 .92 1 .92 .55 .18 0 0 0 0 0'/%3E%3C/feFuncA%3E%3C/feComponentTransfer%3E\
%3C/filter%3E\
%3Crect width='760' height='760' filter='url(%23v)' fill='%232c3f56'/%3E%3C/svg%3E");

  /* Réseau secondaire : veines plus fines, autre échelle, autre graine.
     C'est la superposition de deux réseaux qui donne l'irrégularité du
     Carrare — un seul produit toujours des stries régulières. */
  --hc-veines-fines: url("data:image/svg+xml;charset=utf-8,\
%3Csvg xmlns='http://www.w3.org/2000/svg' width='520' height='520'%3E\
%3Cfilter id='f'%3E\
%3CfeTurbulence type='fractalNoise' baseFrequency='.011 .058' numOctaves='5' seed='29' stitchTiles='stitch'/%3E\
%3CfeColorMatrix type='saturate' values='0'/%3E\
%3CfeComponentTransfer%3E%3CfeFuncA type='discrete' tableValues='0 0 0 0 0 0 0 0 .34 .8 .34 0 0 0 0 0'/%3E%3C/feFuncA%3E%3C/feComponentTransfer%3E\
%3C/filter%3E\
%3Crect width='520' height='520' filter='url(%23f)' fill='%235c6b7e'/%3E%3C/svg%3E");
}

/* Le fond général descend d'un cran pour creuser la profondeur */
body[data-page]{
  background-color: var(--hc-nuit-abysse);
}

/* Les fichiers de marque sont désormais corrigés à la source :
   assets/olympe/svg/caravelli_colonne*.svg portent le bronze #9A7A55 et
   l'ivoire chaud d'origine, et l'emblème en ligne des 17 pages porte le
   champagne #B79A66 de CARAVELLI_EMBLEME_HEADER_OFFICIEL.svg.

   Le filtre de rotation de teinte qui compensait provisoirement a donc été
   retiré : appliqué par-dessus des fichiers corrigés, il aurait tourné le
   bronze vers le vert. */


/* ---------------------------------------------------------------------------
   2. RAIL DES WIDGETS FLOTTANTS

   Constat : #vg-btn (z700), .oc-sound-toggle (z750) et .cv90-scroll-cue
   (z116) étaient tous les trois posés à left:24px / bottom:24px.
   Chevauchement mesuré : 83 × 32 px. Le bouton son masquait la visite guidée.

   On pose un rail vertical unique en bas à gauche, avec des créneaux
   explicites. #aiw (conciergerie) garde le coin bas droit.
------------------------------------------------------------------------- */

body[data-page]{
  --hc-rail-x    : clamp(18px, 2.2vw, 28px);
  --hc-rail-base : clamp(18px, 2.2vh, 26px);
  --hc-rail-gap  : 12px;
  --hc-slot-h    : 42px;
}

/* Créneau 1 — bas : la visite guidée */
body[data-page] #vg-btn{
  left  : var(--hc-rail-x);
  bottom: var(--hc-rail-base);
  right : auto;
  top   : auto;
  z-index: 720;
}

/* Créneau 2 — au-dessus : le son */
body[data-page] #oc-sound-toggle,
body[data-page] .oc-sound-toggle,
body[data-page] html.lux .oc-sound-toggle{
  left  : var(--hc-rail-x);
  right : auto;
  top   : auto;
  bottom: calc(var(--hc-rail-base) + var(--hc-slot-h) + var(--hc-rail-gap));
  z-index: 720;
}

/* Créneau 3 — l'indice de défilement quitte le coin pour le centre bas.
   C'est sa place naturelle : il désigne le mouvement, pas un réglage. */
body[data-page] .cv90-scroll-cue{
  left     : 50%;
  right    : auto;
  bottom   : var(--hc-rail-base);
  transform: translateX(-50%);
  z-index  : 116;
}

/* Le rail respire : les deux boutons partagent la même écriture */
body[data-page] #vg-btn,
body[data-page] .oc-sound-toggle{
  height        : var(--hc-slot-h);
  display       : inline-flex;
  align-items   : center;
  gap           : 9px;
  padding       : 0 18px;
  border-radius : 999px;
  border        : 1px solid var(--hc-veil-38);
  background    : color-mix(in oklch, var(--hc-nuit-abysse) 72%, transparent);
  backdrop-filter: blur(18px) saturate(1.3);
  -webkit-backdrop-filter: blur(18px) saturate(1.3);
  color         : var(--hc-champagne-lo);
  box-shadow    : 0 2px 22px oklch(.118 .026 254 / .5),
                  inset 0 1px 0 var(--hc-veil-12);
  transition    : border-color .5s var(--ol-ease),
                  color .5s var(--ol-ease),
                  box-shadow .5s var(--ol-ease);
}

body[data-page] #vg-btn:hover,
body[data-page] .oc-sound-toggle:hover{
  border-color: var(--hc-veil-60);
  color       : var(--hc-champagne-lo);
  box-shadow  : 0 2px 30px oklch(.118 .026 254 / .6),
                0 0 0 1px var(--hc-veil-22),
                inset 0 1px 0 var(--hc-veil-22);
}

/* La conciergerie s'aligne sur la même hauteur de base à droite */
body[data-page] #aiw{
  right : var(--hc-rail-x);
  bottom: var(--hc-rail-base);
}

/* Sous 820 px le rail se resserre et le concierge prend le dessus */
@media (max-width: 820px){
  body[data-page]{
    --hc-rail-x   : 14px;
    --hc-rail-base: 14px;
    --hc-slot-h   : 38px;
  }
  body[data-page] #vg-btn,
  body[data-page] .oc-sound-toggle{ padding: 0 14px; }
  /* on laisse la largeur du concierge libre : le rail reste à gauche */
  body[data-page] .cv90-scroll-cue{ display: none; }
}


/* ---------------------------------------------------------------------------
   3. FUMÉE — refaite pour la fluidité

   Version précédente : sept plans fixes plein cadre portant des flous de
   128, 96, 94, 74, 68, 52 px. Un `radial-gradient` est pourtant DÉJÀ lisse —
   lui appliquer un flou gaussien n'ajoute presque rien à l'œil et oblige le
   compositeur à re-rastériser tout le viewport à chaque image. C'était la
   cause du défilement poussif.

   Ici : zéro filtre de flou. La douceur vient de l'étalement des arrêts de
   dégradé, qui est gratuit. Le mouvement ne passe que par `transform` et
   `opacity`, les deux seules propriétés qui restent sur le fil de
   composition. Trois plans au lieu de sept, et le résultat est plus dense.
------------------------------------------------------------------------- */

body[data-page] .hc-fumee{
  position      : fixed;
  inset         : 0;
  z-index       : 0;
  pointer-events: none;
  overflow      : hidden;
  contain       : strict;
  /* La clairière : dense sur les bords, ouverte au centre où vit le texte. */
  -webkit-mask-image:
    radial-gradient(128% 100% at 50% 46%,
      transparent 0%, transparent 24%,
      rgba(0,0,0,.36) 42%, rgba(0,0,0,.74) 62%, #000 86%);
  mask-image:
    radial-gradient(128% 100% at 50% 46%,
      transparent 0%, transparent 24%,
      rgba(0,0,0,.36) 42%, rgba(0,0,0,.74) 62%, #000 86%);
}

body[data-page] .hc-fumee > *{
  position: absolute;
  inset   : -40%;
  /* la promotion en couche est explicite et unique : on ne laisse pas le
     navigateur en créer sept */
  will-change: transform;
  backface-visibility: hidden;
}

/* Plan lointain — arrêts très étalés : l'équivalent visuel d'un flou de
   120 px, pour un coût de rastérisation nul. */
body[data-page] .hc-f-loin{
  background:
    radial-gradient(60% 46% at 24% 34%,
      oklch(.44 .054 250 / .42) 0%,
      oklch(.40 .048 250 / .30) 26%,
      oklch(.34 .040 251 / .16) 52%,
      oklch(.28 .030 252 / .06) 74%,
      transparent 100%),
    radial-gradient(54% 52% at 78% 62%,
      oklch(.40 .048 248 / .36) 0%,
      oklch(.34 .040 250 / .20) 34%,
      oklch(.26 .028 252 / .07) 66%,
      transparent 100%);
  animation: hcDerive 240s linear infinite alternate;
}

/* Masse médiane — le corps de la fumée */
body[data-page] .hc-f-m1{
  background:
    radial-gradient(46% 40% at 32% 28%,
      oklch(.58 .042 246 / .46) 0%,
      oklch(.50 .038 248 / .30) 24%,
      oklch(.42 .032 250 / .15) 50%,
      oklch(.34 .024 252 / .05) 74%,
      transparent 100%),
    radial-gradient(52% 44% at 70% 60%,
      oklch(.52 .044 252 / .40) 0%,
      oklch(.44 .036 253 / .24) 28%,
      oklch(.34 .026 254 / .09) 58%,
      transparent 100%);
  animation: hcMasseUne 104s linear infinite alternate;
}

/* Le rai — une fumée ne se voit que traversée par une lumière.
   En `screen` : il n'assombrit jamais rien, donc il ne peut pas nuire à la
   lecture. C'est lui qui porte le champagne dans l'atmosphère. */
body[data-page] .hc-f-rai{
  background:
    linear-gradient(104deg,
      transparent 30%,
      color-mix(in oklch, var(--hc-champagne) 6%, transparent) 40%,
      color-mix(in oklch, var(--hc-champagne-lo) 20%, transparent) 47%,
      color-mix(in oklch, var(--hc-champagne-lo) 26%, transparent) 50%,
      color-mix(in oklch, var(--hc-champagne-lo) 20%, transparent) 53%,
      color-mix(in oklch, var(--hc-champagne) 6%, transparent) 60%,
      transparent 70%),
    radial-gradient(74% 40% at 50% 108%,
      color-mix(in oklch, var(--hc-bronze) 22%, transparent) 0%,
      color-mix(in oklch, var(--hc-bronze) 9%, transparent) 34%,
      transparent 72%);
  mix-blend-mode: screen;
  opacity  : .88;
  animation: hcRai 88s linear infinite alternate;
}

/* Grain et vignette : statiques, aucun coût par image */
body[data-page] .hc-f-grain{
  inset : 0;
  background-image: var(--hc-grain);
  background-size : 260px 260px;
  opacity: .05;
  mix-blend-mode: overlay;
  will-change: auto;
}
body[data-page] .hc-f-vignette{
  inset : 0;
  background: radial-gradient(132% 104% at 50% 42%,
    transparent 38%,
    oklch(.118 .026 254 / .22) 62%,
    oklch(.118 .026 254 / .46) 82%,
    oklch(.118 .026 254 / .70) 100%);
  will-change: auto;
}

/* Déplacements longs et lents, en transform pur */
@keyframes hcDerive{
  from{ transform: translate3d(-2.5%, -1.5%, 0) scale(1.04) }
  to  { transform: translate3d( 2.5%,  2.0%, 0) scale(1.12) }
}
@keyframes hcMasseUne{
  from{ transform: translate3d(-7%, -3%, 0) rotate(-4deg) scale(1.05) }
  to  { transform: translate3d( 8%,  5%, 0) rotate( 4deg) scale(1.22) }
}
@keyframes hcRai{
  from{ transform: translate3d(-14%, -7%, 0) rotate(-2.5deg) }
  to  { transform: translate3d( 14%,  7%, 0) rotate( 2.5deg) }
}

/* Dissipation au défilement — pilotée par le compositeur, sans JavaScript,
   là où le navigateur sait le faire. */
@supports (animation-timeline: scroll()){
  body[data-page] .hc-fumee{
    animation: hcDissipe linear both;
    animation-timeline: scroll(root block);
  }
  @keyframes hcDissipe{
    from{ opacity: 1 }
    to  { opacity: .52 }
  }
}
@supports not (animation-timeline: scroll()){
  body[data-page] .hc-fumee{ opacity: calc(1 - (var(--hc-progress) * .48)) }
}

/* Le canevas #oc-marble n'a aucune règle de position dans olympe-system.css.
   Resté en flux normal, il peignait un bloc bleu nuit de 300 × 150 px — sa
   taille intrinsèque de canvas — dans le coin haut gauche de chaque page.
   Vérifié : aucun script n'y dessine. */
body[data-page] #oc-marble{
  display: none;
}

/* Tout le contenu passe devant la fumée, sans exception */
body[data-page] > header,
body[data-page] > main,
body[data-page] > footer,
body[data-page] > section,
body[data-page] > nav{
  position: relative;
  z-index : 1;
}


/* ---------------------------------------------------------------------------
   3 bis. LA FUMÉE D'OUVERTURE

   L'accueil ouvre sur #oc-intro : quatre rubans à 13–21 % d'opacité et une
   ellipse en multiply au centre — le « void » — qui creuse la fumée pour que
   le lettrage se lise.

   Première tentative écartée : j'avais doublé les plans avec des masses
   sombres et remonté le void à 86 %. Résultat vérifié en capture — la scène
   s'alourdissait en gris et le void, étant en multiply, assombrissait
   précisément la zone du lettrage. L'inverse du but recherché.

   Ce qui suit ne travaille donc que par la lumière, jamais par la masse :
   les rubans existants gagnent un peu de corps, et trois plans en `screen`
   apportent le champagne qui fait lire la fumée comme un volume éclairé.
   Le void n'est pas touché.
------------------------------------------------------------------------- */

body[data-page="index"] #oc-intro .oc-smoke{
  filter: contrast(1.10) saturate(1.05);
}

/* Un peu plus de corps, sans excès : au-delà, la scène tourne au brouillard */
body[data-page="index"] .oc-smoke-r1{ opacity: .34 }
body[data-page="index"] .oc-smoke-r2{ opacity: .28 }
body[data-page="index"] .oc-smoke-r3{ opacity: .27 }
body[data-page="index"] .oc-smoke-r4{ opacity: .19 }

/* Les rais — additifs uniquement. C'est la lumière traversante qui donne le
   volume et l'opulence ; elle n'assombrit rien, par construction. */
body[data-page="index"] .oc-smoke-r1::after,
body[data-page="index"] .oc-smoke-r2::after,
body[data-page="index"] .oc-smoke-r3::after{
  content : "";
  position: absolute;
  inset   : -40%;
  pointer-events: none;
  mix-blend-mode: screen;
}

body[data-page="index"] .oc-smoke-r1::after{
  /* Arrêts multipliés plutôt que blur(46px) : même douceur, coût nul. */
  background: linear-gradient(102deg,
    transparent 28%,
    color-mix(in oklch, var(--hc-champagne) 5%, transparent) 37%,
    var(--hc-veil-12) 43%,
    color-mix(in oklch, var(--hc-champagne-lo) 22%, transparent) 50%,
    var(--hc-veil-12) 57%,
    color-mix(in oklch, var(--hc-champagne) 5%, transparent) 63%,
    transparent 72%);
  opacity  : .86;
  animation: hcRai 84s linear infinite alternate;
}
body[data-page="index"] .oc-smoke-r2::after{
  background: linear-gradient(74deg,
    transparent 30%,
    color-mix(in oklch, var(--hc-champagne) 4%, transparent) 40%,
    color-mix(in oklch, var(--hc-champagne) 14%, transparent) 50%,
    color-mix(in oklch, var(--hc-champagne) 4%, transparent) 60%,
    transparent 70%);
  opacity  : .62;
  animation: hcRai 122s linear infinite alternate-reverse;
}
body[data-page="index"] .oc-smoke-r3::after{
  /* braise basse : la fumée est plus chaude près du sol. C'est ce détail
     qui la sort du gris sans rien ajouter d'opaque. */
  background: radial-gradient(76% 42% at 50% 108%,
    color-mix(in oklch, var(--hc-bronze) 24%, transparent) 0%,
    color-mix(in oklch, var(--hc-bronze) 12%, transparent) 26%,
    color-mix(in oklch, var(--hc-bronze)  4%, transparent) 52%,
    transparent 78%);
  opacity  : .52;
}

/* Le lettrage doit se voir dès la première image : le contour d'origine est
   à 22 % d'opacité et se noie dans la fumée. Platine, plus une ombre qui le
   décolle du fond. Le void reste inchangé — c'est lui qui protège la zone. */
body[data-page="index"] .oc-word-ghost{
  -webkit-text-stroke: 1px color-mix(in oklch, var(--hc-champagne-lo) 58%, transparent);
}
body[data-page="index"] .oc-word{
  filter: drop-shadow(0 24px 80px oklch(.118 .026 254 / .46))
          drop-shadow(0 0 40px var(--hc-veil-12));
}

@media (max-width: 680px){
  body[data-page="index"] .oc-smoke-r2::after{ display: none }
}
@media (prefers-reduced-motion: reduce){
  body[data-page="index"] .oc-smoke-r1::after,
  body[data-page="index"] .oc-smoke-r2::after{ animation: none !important }
}


/* ---------------------------------------------------------------------------
   4. LA LUMIÈRE PARCOURT LE SITE

   Un rai unique, fixe à l'écran, dont l'inclinaison et la position suivent
   le défilement. Il balaie la page de haut en bas sur toute la hauteur du
   document : on le voit passer sur les titres, les filets, le marbre.
   En screen, il n'assombrit jamais rien.
------------------------------------------------------------------------- */

body[data-page] .hc-lumiere{
  position      : fixed;
  inset         : -20% -30%;
  z-index       : 2;
  pointer-events: none;
  mix-blend-mode: screen;
  opacity       : .0;
  background: linear-gradient(
      calc(96deg + var(--hc-progress) * 28deg),
      transparent 30%,
      color-mix(in oklch, var(--hc-champagne) 5%, transparent) 40%,
      var(--hc-veil-12)  46%,
      color-mix(in oklch, var(--hc-champagne-lo) 26%, transparent) 50%,
      var(--hc-veil-12)  54%,
      color-mix(in oklch, var(--hc-champagne) 5%, transparent) 60%,
      transparent 70%);
  transform: translate3d(0, calc((var(--hc-progress) * 190%) - 74%), 0);
  transition: opacity 1.2s var(--ol-ease);
  will-change: transform;
}
body[data-page].hc-prete .hc-lumiere{ opacity: .58 }

/* Le passage de la lumière sur les filets : ils s'allument à son approche */
body[data-page] .hc-filet{
  position: relative;
  height  : 1px;
  border  : 0;
  background: linear-gradient(90deg,
    transparent, var(--hc-veil-38) 22%, var(--hc-veil-60) 50%,
    var(--hc-veil-38) 78%, transparent);
}
body[data-page] .hc-filet::after{
  content   : "";
  position  : absolute;
  inset     : 0;
  background: linear-gradient(90deg, transparent,
    var(--hc-champagne-lo), transparent);
  opacity   : 0;
  transform : translateX(-100%);
  animation : hcFiletPasse 9s var(--ol-ease) infinite;
}
@keyframes hcFiletPasse{
  0%,72%{ opacity: 0;   transform: translateX(-100%) }
  84%   { opacity: .70; }
  100%  { opacity: 0;   transform: translateX(100%) }
}

/* Halo de lecture : là où la lumière passe, le texte gagne en présence */
body[data-page] .hc-eclat{
  background: linear-gradient(94deg,
      var(--hc-champagne-lo) 0%,
      var(--hc-ivoire-chaud) 34%,
      var(--hc-champagne-hi) 58%,
      var(--hc-ivoire-chaud) 82%);
  background-size: 220% 100%;
  background-position: calc(var(--hc-progress) * 100%) 0;
  -webkit-background-clip: text;
  background-clip        : text;
  color                  : transparent;
}


/* ---------------------------------------------------------------------------
   5. MARBRE DE CARRARE

   Deux niveaux :
   — surfaces plates en CSS pur (veines par turbulence SVG, cf. JS),
   — pièces sculptées en trois.js, montées par olympe-haute-couture.js.

   Le marbre CSS sert de repli et de fond aux blocs éditoriaux : il tient
   sans WebGL et se charge en zéro octet.
------------------------------------------------------------------------- */

/* Les classes .hc-marbre et .hc-marbre--nuit ont été retirées : elles
   décrivaient une dalle de Carrare que rien ne posait dans les pages. La
   même matière est intégrée à .hc-sculpture, qui, elle, est réellement
   utilisée sur about, savoir-faire et pensee. Deux définitions de la même
   chose dont une seule sert, c'est une dette. */

/* L'atelier — la section qui montre la pièce sculptée */
body[data-page] .hc-atelier{
  position: relative;
  overflow: hidden;
  padding: var(--ol-section-space) 0;
  text-align: center;
  color: oklch(.952 .008 248);
  background:
    radial-gradient(72% 58% at 50% 46%,
      color-mix(in oklch, var(--hc-nuit-lapis) 62%, transparent), transparent 72%),
    linear-gradient(145deg, var(--hc-nuit-abysse), var(--hc-nuit-satin) 56%, var(--hc-nuit));
  isolation: isolate;
}
body[data-page] .hc-atelier h2{
  font-family   : var(--font-display);
  font-size     : var(--type-title);
  line-height   : 1.06;
  letter-spacing: var(--tracking-display, -.018em);
  margin        : 14px auto 0;
  max-width     : 18ch;
  position      : relative;
  z-index       : 3;
  text-shadow   : 0 3px 34px oklch(.118 .026 254 / .72);
}
body[data-page] .hc-atelier .hc-filet{
  width : min(360px, 60%);
  margin: 34px auto 26px;
}
body[data-page] .hc-atelier-note{
  max-width  : 56ch;
  margin     : 0 auto;
  font-family: var(--font-reading);
  font-size  : var(--type-body);
  line-height: 1.78;
  position   : relative;
  z-index    : 3;
}

/* Socle des pièces 3D */
body[data-page] .hc-sculpture{
  position: relative;
  width   : 100%;
  min-height: clamp(320px, 46vh, 560px);
  display : block;
}
/* Le marbre CSS est l'état PAR DÉFAUT, pas un repli.
   Une dalle de Carrare en CSS pur — veinage par turbulence, poli qui suit la
   lumière du site — s'affiche toujours, sur toutes les machines, en zéro
   octet. La sculpture WebGL ne vient la remplacer que si elle a démontré
   qu'elle peint vraiment quelque chose (classe .hc-sculpture--3d).
   Ainsi personne ne voit jamais un carré noir. */
body[data-page] .hc-sculpture{
  border-radius: 2px;
  overflow     : hidden;
  box-shadow   : var(--ol-shadow), inset 0 0 0 1px var(--hc-veil-22);
  background:
    repeating-linear-gradient(74deg,
      transparent 0 26px,
      color-mix(in oklch, var(--hc-nuit) 8%, transparent) 26px 27px,
      transparent 27px 62px),
    linear-gradient(102deg,
      transparent 0%,
      color-mix(in oklch, var(--hc-nuit-satin) 15%, transparent) 17%,
      transparent 24%,
      color-mix(in oklch, var(--hc-bronze) 10%, transparent) 45%,
      transparent 54%,
      color-mix(in oklch, var(--hc-nuit-satin) 12%, transparent) 73%,
      transparent 82%),
    radial-gradient(78% 62% at 28% 30%,
      oklch(.968 .004 210) 0%, oklch(.941 .006 210) 46%, oklch(.918 .005 210) 100%);
}
body[data-page] .hc-sculpture::before{
  content : "";
  position: absolute;
  inset   : 0;
  background: var(--hc-veines);
  background-size: 520px 520px;
  opacity : .34;
  mix-blend-mode: multiply;
}
body[data-page] .hc-sculpture::after{
  content : "";
  position: absolute;
  inset   : 0;
  background: linear-gradient(
      calc(112deg + var(--hc-progress) * 24deg),
      transparent 32%,
      oklch(1 0 0 / .44) 47%,
      var(--hc-veil-22) 52%,
      transparent 68%);
  mix-blend-mode: overlay;
}

/* La 3D a prouvé qu'elle peint : la dalle s'efface sous elle. */
body[data-page] .hc-sculpture--3d{ background: none; box-shadow: none }
body[data-page] .hc-sculpture--3d::before,
body[data-page] .hc-sculpture--3d::after{ display: none }

body[data-page] .hc-sculpture canvas{
  display : block;
  position: absolute;
  inset   : 0;
  z-index : 2;
  width   : 100%;
  height  : 100%;
  /* le rendu 3D reçoit le même étalonnage que les médias du site */
  filter  : var(--olympe-grade-3d, none);
}


/* ---------------------------------------------------------------------------
   5 bis. LE DÉCOMPTE

   C'est la pièce d'orfèvrerie de l'accueil. Traitée comme un cartouche
   d'horlogerie : dalle de verre sur bleu nuit, arête de platine, chiffres
   gravés au champagne, séparateurs en filet d'or. Les chiffres sont en
   chasse fixe — sans quoi ils dansent à chaque seconde.
------------------------------------------------------------------------- */

body[data-page] .cv912-countdown--hero{
  position     : relative;
  isolation    : isolate;
  overflow     : hidden;
  padding      : clamp(26px, 3vw, 40px) clamp(26px, 3.4vw, 46px);
  border       : 1px solid transparent;
  border-radius: 3px;
  background:
    linear-gradient(
      color-mix(in oklch, var(--hc-nuit) 74%, transparent),
      color-mix(in oklch, var(--hc-nuit-abysse) 82%, transparent)) padding-box,
    /* l'arête : un filet de platine qui vire au champagne aux angles */
    linear-gradient(122deg,
      var(--hc-champagne) 0%,
      oklch(.905 .010 250 / .55) 18%,
      var(--hc-veil-22) 42%,
      oklch(.905 .010 250 / .38) 58%,
      var(--hc-champagne) 84%,
      var(--hc-bronze) 100%) border-box;
  -webkit-backdrop-filter: blur(26px) saturate(1.35);
  backdrop-filter        : blur(26px) saturate(1.35);
  box-shadow:
    0 46px 130px oklch(.118 .026 254 / .58),
    0 2px 0 oklch(1 0 0 / .05) inset,
    0 -1px 0 oklch(.118 .026 254 / .5) inset;
}

/* Le poli : la lumière du site traverse la dalle */
body[data-page] .cv912-countdown--hero::before{
  content : "";
  position: absolute;
  inset   : 0;
  z-index : -1;
  pointer-events: none;
  background: linear-gradient(
      calc(104deg + var(--hc-progress) * 30deg),
      transparent 36%,
      var(--hc-veil-12) 46%,
      oklch(1 0 0 / .10) 50%,
      var(--hc-veil-12) 54%,
      transparent 64%);
  mix-blend-mode: screen;
}

/* Une lueur basse, comme un boîtier posé sur une vitrine éclairée */
body[data-page] .cv912-countdown--hero::after{
  content : "";
  position: absolute;
  left    : 12%;
  right   : 12%;
  bottom  : -1px;
  height  : 1px;
  background: linear-gradient(90deg,
    transparent, var(--hc-champagne) 30%, var(--hc-champagne-lo) 50%,
    var(--hc-champagne) 70%, transparent);
  opacity : .82;
}

body[data-page] .cv912-countdown__kicker{
  color         : var(--hc-champagne-hi);
  font-family   : var(--font-ui);
  font-size     : 11px;
  letter-spacing: .26em;
  text-transform: uppercase;
}
body[data-page] .cv912-countdown__date{
  color         : oklch(.845 .012 250);
  font-family   : var(--font-ui);
  font-size     : 11px;
  letter-spacing: .22em;
  font-variant-numeric: tabular-nums;
}

/* Les chiffres — gravés, pas affichés */
body[data-page] .cv912-countdown__value{
  font-family    : var(--font-display);
  font-size      : clamp(46px, 5.4vw, 84px);
  line-height    : .92;
  font-weight    : 400;
  letter-spacing : -.02em;
  /* chasse fixe : sans elle, « 11 » et « 08 » n'ont pas la même largeur
     et toute la ligne tressaute une fois par seconde */
  font-variant-numeric: tabular-nums lining-nums;
  font-feature-settings: "tnum" 1, "lnum" 1;
  background: linear-gradient(174deg,
      oklch(.995 .004 250) 0%,
      oklch(.925 .008 250) 34%,
      var(--hc-champagne-lo) 52%,
      oklch(.905 .010 250) 68%,
      oklch(.775 .014 250) 100%);
  -webkit-background-clip: text;
  background-clip        : text;
  color                  : transparent;
  filter: drop-shadow(0 2px 18px oklch(.118 .026 254 / .6));
}

body[data-page] .cv912-countdown__label{
  color         : oklch(.792 .014 250);
  font-family   : var(--font-ui);
  font-size     : 10px;
  letter-spacing: .28em;
  text-transform: uppercase;
}

/* Séparateurs : un filet d'or entre les unités, pas un simple trait gris */
body[data-page] .cv912-countdown__unit + .cv912-countdown__unit::before{
  background: linear-gradient(180deg,
    transparent, var(--hc-veil-38) 22%, var(--hc-veil-60) 50%,
    var(--hc-veil-38) 78%, transparent) !important;
  width: 1px !important;
}

body[data-page] .cv912-countdown__timezone{
  color         : oklch(.798 .012 250);
  letter-spacing: .2em;
}
body[data-page] .cv912-countdown__link{
  position      : relative;
  color         : var(--hc-champagne-lo);
  letter-spacing: .2em;
  text-transform: uppercase;
  font-size     : 11px;
  text-decoration: none;
}
body[data-page] .cv912-countdown__link::after{
  content   : "";
  position  : absolute;
  left      : 0; right: 0; bottom: -6px;
  height    : 1px;
  background: linear-gradient(90deg, var(--hc-champagne), var(--hc-champagne-lo), var(--hc-champagne));
  transform : scaleX(0);
  transform-origin: left;
  transition: transform .65s var(--ol-ease);
}
body[data-page] .cv912-countdown__link:hover::after{ transform: scaleX(1) }

/* La frappe : seul le chiffre qui change rejoue son animation.
   Déclenchée par le MutationObserver déjà présent dans olympe-engine.js. */
@keyframes hcFrappe{
  0%  { transform: translateY(-.14em) scale(1.035); filter: drop-shadow(0 2px 26px var(--hc-veil-60)) }
  100%{ transform: none;                            filter: drop-shadow(0 2px 18px oklch(.118 .026 254 / .6)) }
}
body[data-page] .cv912-countdown__value.is-tick{
  animation: hcFrappe .38s var(--ol-ease);
}

@media (max-width: 680px){
  body[data-page] .cv912-countdown--hero{ padding: 22px 18px }
  body[data-page] .cv912-countdown__value{ font-size: clamp(34px, 12vw, 52px) }
  body[data-page] .cv912-countdown__label{ font-size: 9px; letter-spacing: .18em }
}


/* ---------------------------------------------------------------------------
   6. RESPIRATION

   Le site doit respirer et retenir. On donne de l'air aux sections, on
   allonge les interlignes de lecture, et on fait entrer les blocs.
------------------------------------------------------------------------- */

body[data-page] section + section{
  margin-top: var(--ol-section-space);
}

/* Entrée des blocs — se déclenche à l'approche, pas au chargement */
body[data-page] .hc-entre{
  opacity  : 0;
  transform: translate3d(0, 26px, 0);
  transition: opacity 1.1s var(--ol-ease), transform 1.1s var(--ol-ease);
}
body[data-page] .hc-entre.hc-vu{
  opacity  : 1;
  transform: none;
}
/* Décalage en cascade pour les listes */
body[data-page] .hc-entre[data-hc-delai="1"]{ transition-delay: .09s }
body[data-page] .hc-entre[data-hc-delai="2"]{ transition-delay: .18s }
body[data-page] .hc-entre[data-hc-delai="3"]{ transition-delay: .27s }
body[data-page] .hc-entre[data-hc-delai="4"]{ transition-delay: .36s }
body[data-page] .hc-entre[data-hc-delai="5"]{ transition-delay: .45s }


/* ---------------------------------------------------------------------------
   6 bis. JUSTIFICATION ÉDITORIALE

   Mesure relevée : seuls `.body p`, `.pj-sec p` et `.dbloc-i` portaient une
   largeur maximale (70ch). Tout le reste — `.lead`, `.sf-b`, les `<p>` posés
   directement dans un `.container` — court sur les 1172 px du conteneur, soit
   ≈ 154 caractères par ligne. L'optimum de lecture admis est de 60 à 75 : on
   était à plus du double, et l'œil perdait sa ligne à chaque retour.

   C'est la cause du sentiment de texte « mal intercalé ». Le reste — rythme
   vertical, veuves, ponctuation — en découle.

   Note : la livraison précédente s'était vu reprocher d'avoir touché à la
   typographie. Ce bloc le fait délibérément, à la demande. Il ne change ni
   la police, ni la famille, ni l'échelle de corps : uniquement la mesure,
   l'interligne de lecture et le rythme.
------------------------------------------------------------------------- */

body[data-page]{
  --hc-mesure       : 68ch;   /* corps courant                      */
  --hc-mesure-lead  : 38ch;   /* chapeau : gros corps, moins de mots */
  --hc-mesure-etroit: 54ch;   /* colonnes et encarts                */
}

/* La mesure, appliquée partout où du texte se lit vraiment */
body[data-page] p,
body[data-page] .body,
body[data-page] li,
body[data-page] blockquote,
body[data-page] .editorial-text,
body[data-page] .pj-copy,
body[data-page] .project-body{
  max-width: var(--hc-mesure);
}

/* Les chapeaux sont en gros corps : à mesure égale, ils font des lignes
   interminables. On les resserre à proportion. */
body[data-page] .lead,
body[data-page] .ph-sub,
body[data-page] .hero-sub{
  max-width  : var(--hc-mesure-lead);
  line-height: 1.5;
}

/* Colonnes et encarts : la mesure suit le contenant, sans le dépasser */
body[data-page] .sf-b,
body[data-page] .col p,
body[data-page] .grid p,
body[data-page] [class*="-col"] p,
body[data-page] figcaption{
  max-width: var(--hc-mesure-etroit);
}

/* Un texte centré doit voir sa mesure centrée aussi, sinon il se décale */
body[data-page] .hc-atelier p,
body[data-page] [style*="text-align:center"] p,
body[data-page] .center p{
  margin-inline: auto;
}

/* Titres de héros des pages intérieures.

   Mesuré sur savoir-faire.html : 115 px de corps, 436 px de haut sur trois
   lignes — le titre descend jusqu'au bord bas du cadre, et la traduction
   anglaise, plus longue que le français, y touche. Vérifié identique sans
   cette feuille : c'est l'échelle d'origine.

   On réserve la démesure à l'accueil (.hero-h1, intact) et on ramène les
   pages intérieures à une échelle tenue. C'est aussi la convention des
   sites de référence : le grand format sert l'ouverture, pas chaque page. */
body[data-page] .ph-h1,
body[data-page] .ph-full-body h1{
  font-size  : clamp(38px, 6.2vw, 88px);
  line-height: 1.02;
  max-width  : 19ch;
}

/* Rythme vertical : l'espacement entre paragraphes se déduit de
   l'interligne, il ne se choisit pas au hasard. */
body[data-page] p + p{
  margin-top: 1.15em;
}
body[data-page] h2 + p,
body[data-page] h3 + p{
  margin-top: .85em;
}
body[data-page] p + h2,
body[data-page] p + h3{
  margin-top: 2.4em;
}

/* Veuves et orphelines. `pretty` demande au moteur d'éviter qu'un mot seul
   termine un paragraphe ; `balance` égalise les lignes d'un titre court.
   Les navigateurs qui ne connaissent pas ces valeurs les ignorent. */
body[data-page] p,
body[data-page] li{
  text-wrap: pretty;
  hyphens  : manual;
}
body[data-page] h1,
body[data-page] h2,
body[data-page] h3,
body[data-page] .lead,
body[data-page] .ph-sub,
body[data-page] .hero-sub{
  text-wrap: balance;
}

/* Ponctuation suspendue : les guillemets et tirets sortent de la colonne,
   le bord gauche du texte redevient droit. C'est un détail de composition,
   et c'est exactement ce qui distingue une page tenue d'une page ordinaire. */
body[data-page] p,
body[data-page] blockquote{
  hanging-punctuation: first last;
}

/* Chiffres alignés dans le texte courant : sans ça, les dates et les
   surfaces sautent au-dessus et au-dessous de la ligne de base. */
body[data-page] p,
body[data-page] li,
body[data-page] td{
  font-variant-numeric: oldstyle-nums proportional-nums;
}
body[data-page] .hc-capitale,
body[data-page] time,
body[data-page] .cv912-countdown__value{
  font-variant-numeric: lining-nums tabular-nums;
}

/* Le chapeau prend une lettrine filetée — l'entrée dans le texte se voit */
body[data-page] .lead{
  position: relative;
  padding-left: 22px;
}
body[data-page] .lead::before{
  content : "";
  position: absolute;
  left    : 0;
  top     : .34em;
  bottom  : .34em;
  width   : 1px;
  background: linear-gradient(180deg,
    var(--hc-champagne), var(--hc-veil-38), transparent);
}

@media (max-width: 680px){
  body[data-page]{
    --hc-mesure       : 100%;
    --hc-mesure-lead  : 100%;
    --hc-mesure-etroit: 100%;
  }
  body[data-page] .lead{ padding-left: 15px }
}


/* ---------------------------------------------------------------------------
   7. LISIBILITÉ GARANTIE

   Règle unique : tout texte porté par un fond animé (fumée, marbre, vidéo)
   reçoit un plancher de contraste. On ne compte pas sur la chance.
------------------------------------------------------------------------- */

/* .hc-lisible retirée : son rôle — poser un scrim sous un bloc de texte
   sur média — est tenu par le halo de lecture des héros, qui s'applique
   sans qu'on ait à baliser quoi que ce soit. */

/* Texte clair sur nuit : on remonte le corps au-dessus du seuil APCA Lc 60 */
body[data-page] .hc-sur-nuit,
body[data-page] .hc-sur-nuit-secondaire p,
body[data-page] .hc-sur-nuit-secondaire li{
  color: oklch(.905 .010 250);
}
body[data-page] .hc-sur-nuit-secondaire{
  color: oklch(.782 .014 250);
}

/* Le champagne n'est jamais utilisé pour du corps de texte : trop bas en
   contraste sur nuit. Il tient les filets, les capitales et les survols. */
body[data-page] .hc-capitale{
  color         : var(--hc-champagne-hi);
  font-family   : var(--font-ui);
  font-size     : 11px;
  letter-spacing: var(--tracking-caps, .24em);
  text-transform: uppercase;
}


/* ---------------------------------------------------------------------------
   8. BANNIÈRE DE CONSENTEMENT

   Visible à l'arrivée, à la hauteur du reste. Elle informe : la mesure
   d'audience du site est sans cookie et anonyme, donc elle n'est pas
   suspendue au clic. Ce que la bannière gouverne, ce sont les dépôts
   optionnels.
------------------------------------------------------------------------- */

/* Barre basse, mince, sur toute la largeur : elle se voit sans rien couvrir.
   Une dalle centrée mangeait le décompte de l'accueil. */
body[data-page] .hc-consent{
  position  : fixed;
  z-index   : 9600;
  left      : 0;
  right     : 0;
  bottom    : 0;
  transform : translateY(100%);
  opacity   : 0;
  display   : flex;
  flex-wrap : wrap;
  align-items: center;
  gap       : clamp(12px, 2vw, 30px);
  padding   : 14px clamp(18px, 3.2vw, 54px);
  border    : 0;
  border-top: 1px solid var(--hc-veil-38);
  background: color-mix(in oklch, var(--hc-nuit-abysse) 90%, transparent);
  -webkit-backdrop-filter: blur(30px) saturate(1.4);
  backdrop-filter        : blur(30px) saturate(1.4);
  box-shadow: 0 -24px 80px oklch(.118 .026 254 / .5);
  color     : oklch(.905 .010 250);
  font-family: var(--font-ui);
  transition: transform 1.05s var(--ol-ease), opacity .8s var(--ol-ease);
}
body[data-page] .hc-consent.hc-consent--visible{
  transform: none;
  opacity  : 1;
}
/* le rail de widgets remonte au-dessus de la barre tant qu'elle est là */
body[data-page]:has(.hc-consent--visible){
  --hc-rail-base: 96px;
}

/* Le filet d'or en tête : la bannière appartient au site */
body[data-page] .hc-consent::before{
  content : "";
  position: absolute;
  inset   : -1px 0 auto 0;
  height  : 1px;
  background: linear-gradient(90deg, transparent,
    var(--hc-champagne) 30%, var(--hc-champagne-lo) 50%,
    var(--hc-champagne) 70%, transparent);
}

body[data-page] .hc-consent__titre{
  flex          : 0 0 auto;
  font-family   : var(--font-ui);
  font-size     : 10px;
  letter-spacing: .26em;
  text-transform: uppercase;
  color         : var(--hc-champagne-hi);
  margin        : 0;
}
body[data-page] .hc-consent__texte{
  flex       : 1 1 380px;
  min-width  : 0;
  font-size  : 12.5px;
  line-height: 1.55;
  color      : oklch(.812 .012 250);
  margin     : 0;
}
body[data-page] .hc-consent__texte a{
  color              : var(--hc-champagne-hi);
  text-underline-offset: 3px;
  text-decoration-color: var(--hc-veil-60);
}
body[data-page] .hc-consent__actions{
  flex     : 0 0 auto;
  display  : flex;
  flex-wrap: wrap;
  gap      : 10px;
  align-items: center;
  margin-left: auto;
}
body[data-page] .hc-consent__btn{
  appearance    : none;
  cursor        : pointer;
  white-space   : nowrap;
  height        : 36px;
  padding       : 0 20px;
  border-radius : 999px;
  font-family   : var(--font-ui);
  font-size     : 11px;
  letter-spacing: .18em;
  text-transform: uppercase;
  transition    : all .45s var(--ol-ease);
}
body[data-page] .hc-consent__btn--oui{
  border    : 1px solid transparent;
  background: linear-gradient(180deg, var(--hc-champagne-hi), var(--hc-champagne));
  color     : oklch(.148 .030 253);
}
body[data-page] .hc-consent__btn--oui:hover{
  background: linear-gradient(180deg, var(--hc-champagne-lo), var(--hc-champagne-hi));
  box-shadow: 0 0 26px var(--hc-veil-38);
}
body[data-page] .hc-consent__btn--non{
  border    : 1px solid var(--hc-veil-38);
  background: transparent;
  color     : oklch(.860 .010 250);
}
body[data-page] .hc-consent__btn--non:hover{
  border-color: var(--hc-veil-60);
  color       : var(--hc-champagne-lo);
}

@media (max-width: 560px){
  body[data-page] .hc-consent__actions{ flex-direction: column; align-items: stretch }
  body[data-page] .hc-consent__btn{ width: 100% }
}


/* ---------------------------------------------------------------------------
   8 bis. CONCIERGERIE — les relances

   Le moteur renvoie désormais trois questions voisines. Elles se présentent
   comme des cartouches sous la réponse : on prolonge l'échange d'un geste,
   au lieu de devoir reformuler.
------------------------------------------------------------------------- */

body[data-page] .ai-sugg{
  display  : flex;
  flex-wrap: wrap;
  gap      : 7px;
  margin   : 13px 0 2px;
}
body[data-page] .ai-sugg-btn{
  appearance    : none;
  cursor        : pointer;
  max-width     : 100%;
  padding       : 7px 13px;
  border        : 1px solid oklch(.1701 calc(var(--ol-c-body)*.333) var(--ol-h) / .16);
  border-radius : 999px;
  background    : transparent;
  color         : oklch(.372 .030 252);
  font-family   : var(--font-ui);
  font-size     : 12px;
  line-height   : 1.35;
  text-align    : left;
  transition    : border-color .4s var(--ol-ease),
                  background .4s var(--ol-ease),
                  color .4s var(--ol-ease);
}
body[data-page] .ai-sugg-btn:hover,
body[data-page] .ai-sugg-btn:focus-visible{
  border-color: var(--hc-champagne);
  background  : color-mix(in oklch, var(--hc-champagne) 11%, transparent);
  color       : oklch(.262 .028 252);
}


/* ---------------------------------------------------------------------------
   9. VIDÉOS — plus de cassure

   Plusieurs sources sont en 406×720 ou 270×480. Étirées plein cadre sur un
   écran de 1440 px, elles pixellisent. On plafonne l'agrandissement à la
   définition native via max-width, on centre, et on adoucit le repli.
   Les fichiers à réexporter sont listés dans _outils/VIDEOS_A_REEXPORTER.md.
------------------------------------------------------------------------- */

body[data-page] video{
  /* jamais au-delà de sa propre définition, sauf plein-cadre assumé */
  image-rendering: auto;
  background     : var(--hc-nuit-abysse);
}

/* Vidéos d'illustration : cadrées, jamais étirées */
body[data-page] video[data-hc-natif]{
  width     : 100%;
  max-width : calc(var(--hc-w, 1920) * 1px);
  height    : auto;
  margin-inline: auto;
  display   : block;
}

/* Vidéos de fond plein cadre : on garde le remplissage mais on masque la
   perte de définition sous un grain et un léger flou de bord. */
body[data-page] video[data-hc-fond]{
  width     : 100%;
  height    : 100%;
  object-fit: cover;
}
body[data-page] .hc-video-fond{
  position : relative;
  overflow : hidden;
  isolation: isolate;
}
body[data-page] .hc-video-fond::after{
  content : "";
  position: absolute;
  inset   : 0;
  z-index : 1;
  pointer-events: none;
  background-image: var(--hc-grain);
  background-size : 240px 240px;
  opacity : .07;
  mix-blend-mode: overlay;
}
/* Sous-définition marquée : on adoucit très légèrement pour casser l'escalier */
body[data-page] video[data-hc-sousdef]{
  filter: blur(.35px) contrast(1.03) saturate(.96);
}


/* ---------------------------------------------------------------------------
   10. DÉGRADATIONS
------------------------------------------------------------------------- */

@media (prefers-reduced-motion: reduce){
  body[data-page] .hc-fumee > *,
  body[data-page] .hc-filet::after{ animation: none !important }
  body[data-page] .hc-lumiere{ opacity: .22 !important; transform: none !important }
  body[data-page] .hc-entre{ opacity: 1 !important; transform: none !important }
  body[data-page] .hc-consent{ transition-duration: .01ms }
}

/* Mode économie déjà prévu par le site */
body[data-page].oc-eco .hc-fumee,
body[data-page].oc-eco .hc-lumiere{ display: none }
body[data-page].oc-eco .hc-sculpture::before,
body[data-page].oc-eco .hc-sculpture::after{ display: none }

/* Mobile : on allège les flous, coûteux en composition */
@media (max-width: 680px){
  /* hc-f-m2, hc-f-m3 et hc-f-proche ont disparu du DOM avec la refonte de
     la fumée : leurs règles mobiles n'avaient plus d'objet. */
}

/* Écrans larges gamut : on laisse le champagne monter */
@media (dynamic-range: high){
  body[data-page]{
    --hc-champagne-lo: oklch(.928 .058 87);
  }
}

@media print{
  body[data-page] .hc-fumee,
  body[data-page] .hc-lumiere,
  body[data-page] .hc-consent{ display: none !important }
}


/* ═══════════════════════════════════════════════════════════════════════════
   11. LES TRANSITIONS — état de l'art 2026

   Trois griefs traités ici : « le défilement n'est pas fluide », « les
   transitions sont basiques », « la palette est invisible ».

   Le principe qui gouverne tout ce bloc : seules `transform` et `opacity`
   restent sur le fil de composition. Toute autre propriété animée ramène le
   calcul de mise en page sur le fil principal — c'est exactement ce qui
   produisait les à-coups. Rien ici n'anime autre chose.
   ═══════════════════════════════════════════════════════════════════════ */


/* ── 11.1 · Transitions de page ─────────────────────────────────────────────
   Le passage d'une page à l'autre était un flash blanc. Avec l'API View
   Transitions en navigation croisée, il devient un fondu enchaîné continu :
   le site cesse d'être une succession de documents pour devenir un lieu.

   C'est le gain de tenue le plus important de tout ce fichier, et il tient
   en une règle. Les navigateurs qui ne le connaissent pas l'ignorent. */

@view-transition{
  navigation: auto;
}

@media (prefers-reduced-motion: no-preference){
  ::view-transition-old(root){
    animation: hcSortie .42s cubic-bezier(.4,0,.2,1) both;
  }
  ::view-transition-new(root){
    animation: hcEntree .58s cubic-bezier(.19,1,.22,1) both;
  }
  @keyframes hcSortie{
    from{ opacity: 1; transform: none }
    to  { opacity: 0; transform: scale(.992) translateY(-8px) }
  }
  @keyframes hcEntree{
    from{ opacity: 0; transform: scale(1.006) translateY(10px) }
    to  { opacity: 1; transform: none }
  }

  /* L'en-tête et le rail ne clignotent pas : ils persistent d'une page à
     l'autre, comme un décor qui reste en place pendant que la scène change. */
  body[data-page] > header#hd{ view-transition-name: hc-entete }
  body[data-page] #vg-btn    { view-transition-name: hc-visite }
  body[data-page] #aiw       { view-transition-name: hc-concierge }
  ::view-transition-group(hc-entete),
  ::view-transition-group(hc-visite),
  ::view-transition-group(hc-concierge){
    animation-duration: .5s;
    animation-timing-function: cubic-bezier(.19,1,.22,1);
  }
}


/* ── 11.2 · Révélations pilotées par le défilement ──────────────────────────
   Remplace l'IntersectionObserver : l'animation est liée à la position de
   défilement elle-même et tourne sur le compositeur. Aucun écouteur, aucun
   recalcul sur le fil principal, donc aucun à-coup.

   `view()` mesure la traversée de l'élément dans le cadre ; `entry 12%` à
   `entry 62%` le fait entrer pendant qu'il monte. */

@supports (animation-timeline: view()){
  @media (prefers-reduced-motion: no-preference){
    body[data-page] .hc-atelier > .container > *,
    body[data-page] [data-hc-entre]{
      animation: hcMonte 1ms linear both;
      animation-timeline: view();
      animation-range: entry 10% entry 58%;
    }
    @keyframes hcMonte{
      from{ opacity: 0; transform: translate3d(0, 34px, 0) }
      to  { opacity: 1; transform: none }
    }

    /* Le filet d'or se tire à mesure qu'on approche — un trait qui se trace,
       pas un trait qui apparaît. */
    body[data-page] .hc-filet{
      animation: hcTrace 1ms linear both;
      animation-timeline: view();
      animation-range: entry 14% entry 66%;
      transform-origin: left center;
    }
    @keyframes hcTrace{
      from{ transform: scaleX(0); opacity: 0 }
      to  { transform: scaleX(1); opacity: 1 }
    }

    /* Parallaxe de fond : la matière dérive plus lentement que le texte.
       C'est ce décalage qui donne la profondeur, et il ne coûte qu'un
       translate sur le compositeur. */
    body[data-page] .ph-bg,
    body[data-page] .ph-full-bg{
      animation: hcParallaxe 1ms linear both;
      animation-timeline: view();
      animation-range: cover;
      will-change: transform;
    }
    @keyframes hcParallaxe{
      from{ transform: translate3d(0, -4%, 0) scale(1.08) }
      to  { transform: translate3d(0,  4%, 0) scale(1.08) }
    }
  }
}

/* Là où les timelines de défilement manquent, le script prend le relais
   (classes .hc-entre / .hc-vu, déjà en place). */


/* ── 11.3 · Reflets naturels ────────────────────────────────────────────────
   « Des reflets naturels mais qui n'empêchent aucune lecture. »

   La règle est mécanique, pas esthétique : tous les reflets sont en
   `mix-blend-mode: screen`. Un mode screen ne peut qu'ÉCLAIRCIR — il est
   arithmétiquement incapable d'assombrir un pixel. Un reflet posé sur du
   texte clair ne peut donc jamais réduire son contraste sur fond sombre.
   Et ils sont tous en `pointer-events: none`, derrière le texte. */

/* Le reflet portait une classe .hc-reflet que rien ne posait. Il est
   raccroché directement aux surfaces qui le méritent — cartouche du
   décompte, pièces de marbre — sans balisage HTML ni classe fantôme. */
body[data-page] .cv912-countdown--hero,
body[data-page] .hc-sculpture{
  position : relative;
  isolation: isolate;
}
body[data-page] .cv912-countdown--hero::before,
body[data-page] .hc-sculpture::after{
  content : "";
  position: absolute;
  inset   : 0;
  z-index : 1;
  pointer-events: none;
  mix-blend-mode: screen;
  background: linear-gradient(
      calc(108deg + var(--hc-progress) * 26deg),
      transparent 34%,
      color-mix(in oklch, var(--hc-champagne-lo) 8%, transparent) 44%,
      color-mix(in oklch, var(--hc-champagne-lo) 20%, transparent) 50%,
      color-mix(in oklch, var(--hc-champagne-lo) 8%, transparent) 56%,
      transparent 66%);
}

/* Le reflet glisse au survol, comme la lumière sur une arête polie */
body[data-page] .hc-sculpture::after{
  transform : translateX(-14%);
  opacity   : .7;
  transition: transform 1.1s cubic-bezier(.19,1,.22,1),
              opacity   .7s cubic-bezier(.19,1,.22,1);
}
body[data-page] .hc-sculpture:hover::after{
  transform: translateX(14%);
  opacity  : 1;
}

/* Les surfaces qui méritent un reflet : cartes, médias, cartouches */
body[data-page] .cv912-countdown--hero,
body[data-page] .hc-sculpture{
  isolation: isolate;
}


/* ── 11.4 · La palette, rendue visible ──────────────────────────────────────
   Le champagne n'existait qu'en voiles de 12 à 38 % : présent dans le code,
   invisible à l'écran. On lui donne des surfaces où il porte vraiment,
   sans jamais le mettre sous un corps de texte — sur nuit, il n'y atteint
   pas le seuil de contraste. Filets, capitales, survols, arêtes. */

/* Filets de section : un trait d'or, pas un gris anonyme */
body[data-page] hr,
body[data-page] .sec + .sec::before{
  border: 0;
  height: 1px;
  background: linear-gradient(90deg,
    transparent,
    color-mix(in oklch, var(--hc-champagne) 42%, transparent) 22%,
    var(--hc-champagne) 50%,
    color-mix(in oklch, var(--hc-champagne) 42%, transparent) 78%,
    transparent);
}

/* Les capitales de rubrique passent au champagne franc */
body[data-page] .ey,
body[data-page] .ph-eyebrow,
body[data-page] .sec-ey,
body[data-page] .hc-capitale{
  color: var(--hc-champagne-hi);
}

/* Soulignement des liens éditoriaux : il se tire à l'approche du curseur */
body[data-page] .body a:not(.btn):not(.ncta),
body[data-page] p a:not(.btn):not(.ncta){
  position       : relative;
  color          : var(--hc-champagne-lo);
  text-decoration: none;
}
body[data-page] .body a:not(.btn):not(.ncta)::after,
body[data-page] p a:not(.btn):not(.ncta)::after{
  content   : "";
  position  : absolute;
  left: 0; right: 0; bottom: -3px;
  height    : 1px;
  background: var(--hc-champagne);
  transform : scaleX(0);
  transform-origin: right;
  transition: transform .55s cubic-bezier(.19,1,.22,1);
}
body[data-page] .body a:not(.btn):not(.ncta):hover::after,
body[data-page] p a:not(.btn):not(.ncta):hover::after{
  transform: scaleX(1);
  transform-origin: left;
}

/* Les liens de navigation : l'or se tire sous le libellé */
body[data-page] .nl{
  position: relative;
}
body[data-page] .nl::after{
  content   : "";
  position  : absolute;
  left: 0; right: 0; bottom: -5px;
  height    : 1px;
  background: linear-gradient(90deg, transparent, var(--hc-champagne), transparent);
  transform : scaleX(0);
  transition: transform .5s cubic-bezier(.19,1,.22,1);
}
body[data-page] .nl:hover::after,
body[data-page] .nl.active::after{ transform: scaleX(1) }

/* Boutons : l'arête d'or se referme au survol */
body[data-page] .btn,
body[data-page] .ncta{
  transition: border-color .5s cubic-bezier(.19,1,.22,1),
              box-shadow   .5s cubic-bezier(.19,1,.22,1),
              transform    .5s cubic-bezier(.19,1,.22,1);
}
body[data-page] .btn:hover,
body[data-page] .ncta:hover{
  border-color: var(--hc-champagne);
  box-shadow  : 0 0 0 1px color-mix(in oklch, var(--hc-champagne) 32%, transparent),
                0 12px 40px oklch(.118 .026 254 / .5);
  transform   : translateY(-1px);
}


/* ── 11.5 · Fluidité ────────────────────────────────────────────────────────
   Ce qui reste du coût par image, réduit là où c'est sans conséquence. */

/* Deux pistes essayées puis ABANDONNÉES après contrôle en capture :

   — `content-visibility: auto` sur les sections. Le confinement qu'il
     implique neutralise les enfants en position fixe et les modes de fusion
     que ces sections contiennent : la page est devenue noire. Le gain de
     mise en page ne valait pas ça.

   — `scroll-behavior: smooth`. Le site pilote déjà son défilement avec
     Lenis ; en ajouter un second par-dessus fait se disputer deux moteurs
     d'inertie. C'était une cause d'à-coups, pas un remède.

   Le vrai gain de fluidité vient d'ailleurs, et il est acquis : 19 filtres
   de flou gaussien supprimés sur 20, dont un de 128 px sur une surface fixe
   plein cadre. Un radial-gradient est déjà lisse — l'étalement de ses arrêts
   donne la même douceur pour un coût de rastérisation nul. */

/* Les dimensions plein-cadre restent pilotées par leurs composants. Une
   ancienne règle globale `height:auto` écrasait les héros et les films sur
   mobile ; chaque média conserve désormais sa géométrie déclarée localement. */


/* ── 11.6 · Dégradations ────────────────────────────────────────────────── */

@media (prefers-reduced-motion: reduce){
  body[data-page] .hc-sculpture::after{ transition: none; transform: none }
  body[data-page] *{ scroll-behavior: auto !important }
  @view-transition{ navigation: none }
}
body[data-page].oc-eco .hc-sculpture::after{ display: none }


/* ── 11.7 · Les couches promues en permanence ───────────────────────────────
   `html.lux .rv, html.lux .ol-reveal { will-change: transform,opacity,filter }`
   dans olympe-system.css : relevé sur les pages, cela promeut **127 éléments**
   en couches de composition, définitivement, et sur les trois propriétés —
   `filter` inclus, qui est la plus coûteuse à réserver.

   `will-change` est une réservation de mémoire graphique, pas une
   optimisation. Posé en permanence sur 127 éléments, il fait exactement
   l'inverse de ce qu'on attend de lui : le navigateur promeut de lui-même
   ce qui bouge, au moment où ça bouge.

   On ne le retire pas complètement — on le limite à ce qui n'a pas encore
   joué, et on le relâche dès que c'est fait. */

body[data-page] .rv,
body[data-page] .ol-reveal,
body[data-page] .cv90-reveal{
  will-change: auto;
}
body[data-page] .rv:not(.in),
body[data-page] .ol-reveal:not(.in),
body[data-page] .cv90-reveal:not(.cv90-visible){
  /* pendant l'attente seulement, et jamais sur `filter` */
  will-change: transform, opacity;
  filter: none !important;
}

/* Les chiffres de la home restent en deux colonnes sur téléphone, mais chaque
   piste doit pouvoir rétrécir : `1fr` seul gardait la largeur intrinsèque des
   libellés et ajoutait 24 px de débordement horizontal à 390 px. */
@media (max-width: 720px){
  html.lux .lux-figs{ grid-template-columns: repeat(2, minmax(0, 1fr)) }
  html.lux .lux-fig{ min-width: 0; padding-inline: clamp(14px, 5vw, 24px) }
}

/* Même principe pour mes propres plans : le rai bouge en permanence et
   mérite sa couche ; le grain et la vignette sont fixes et n'en veulent pas. */
body[data-page] .hc-f-grain,
body[data-page] .hc-f-vignette{ will-change: auto }

/* Les glyphes animés — la charge la plus lourde du site, et la plus discrète.

   `.oc-glyph .oc-gc { will-change: transform,opacity,filter }` : chaque titre
   animé est découpé en un `<span>` PAR CARACTÈRE. Relevé sur about.html :
   **241 spans**, chacun réservant en permanence une couche de composition,
   `filter` compris — alors que la règle suivante pose justement
   `filter: none` sur ces mêmes éléments. On réservait de la mémoire
   graphique pour une propriété jamais utilisée, 241 fois par page.

   Après l'entrée (`.oc-glyph.in`), plus rien ne bouge : la réservation n'a
   plus d'objet.

   Premier réglage essayé : réserver seulement pendant l'attente. Mesuré —
   les 241 glyphes gardaient quand même la réservation tant qu'ils n'étaient
   pas entrés, c'est-à-dire, pour ceux du bas de page, pendant toute la
   visite. Aucun gain.

   On la retire donc entièrement. Le navigateur promeut de lui-même au
   démarrage d'une transition ; c'est précisément ce que `will-change`
   anticipe, et anticiper 241 fois coûte plus que ça ne rapporte. */
body[data-page] .oc-glyph .oc-gc{
  will-change: auto;
}


/* ══════════════════════════════════════════════════════════════════════════
   LES HÉROS — élévation éditoriale

   Constat, capture à l'appui : la photographie est posée à 72 % d'opacité
   derrière un titre en 88 px. Les deux occupent le même plan et se disputent
   le regard — la photo est trop présente pour être une texture, trop noyée
   pour être un sujet, et le titre s'y dissout.

   Ce n'est pas un problème d'effets manquants. C'est un problème de
   hiérarchie. On tranche : la photographie devient une MATIÈRE — sombre,
   froide, tenue en arrière — et la typographie devient le sujet.

   S'y ajoute l'appareil éditorial qui distingue une page tenue d'une page
   ordinaire : un index de section, un filet, une ligne de méta en petites
   capitales. Rien de tout cela ne bouge, rien ne coûte à la composition.
   ══════════════════════════════════════════════════════════════════════ */

/* 1 · La photographie recule et se refroidit */
body[data-page] .ph-bg,
body[data-page] .ph-full-bg,
body[data-page] .hero-vid{
  filter: saturate(.62) contrast(1.16) brightness(.52);
}

/* 2 · Un voile minéral la tient définitivement en arrière-plan.
   Vertical, donc le titre est couvert sur toute sa largeur — l'ancien voile
   était horizontal et laissait la moitié droite des titres à découvert. */
body[data-page] .ph::after,
body[data-page] .ph-full::after{
  background:
    linear-gradient(180deg,
      oklch(.118 .026 254 / .58) 0%,
      oklch(.118 .026 254 / .40) 34%,
      oklch(.118 .026 254 / .62) 74%,
      oklch(.118 .026 254 / .88) 100%),
    linear-gradient(96deg,
      oklch(.118 .026 254 / .70) 0%,
      oklch(.118 .026 254 / .44) 46%,
      oklch(.118 .026 254 / .26) 100%) !important;
}

/* Le voile blanc qui éclaircissait le fond sous le texte est neutralisé :
   il travaillait contre la lecture. */
body[data-page] .ph::before{ opacity: .18 }

/* 3 · La typographie devient le sujet */
body[data-page] .ph-h1,
body[data-page] .ph-full-body h1{
  color         : oklch(.985 .004 250);
  letter-spacing: -.028em;
  text-shadow   : 0 1px 40px oklch(.118 .026 254 / .55);
}

/* 4 · L'appareil éditorial — index, filet, méta */
body[data-page] .ph .ey,
body[data-page] .ph-full-body .ey{
  position      : relative;
  display       : inline-flex;
  align-items   : center;
  gap           : 14px;
  color         : var(--c-or);
  font-family   : var(--font-ui);
  font-size     : 10px;
  letter-spacing: .3em;
  text-transform: uppercase;
}
/* le filet part de la rubrique et file vers la marge */
body[data-page] .ph .ey::after,
body[data-page] .ph-full-body .ey::after{
  content   : "";
  width     : clamp(48px, 7vw, 132px);
  height    : 1px;
  background: linear-gradient(90deg, var(--c-or), transparent);
}

/* 5 · Le chapeau se détache du titre par un filet, pas par un blanc */
body[data-page] .ph-sub{
  position     : relative;
  margin-top   : clamp(26px, 3vh, 44px);
  padding-top  : clamp(22px, 2.6vh, 34px);
  color        : oklch(.895 .010 250);
}
body[data-page] .ph-sub::before{
  content   : "";
  position  : absolute;
  top: 0; left: 0;
  width     : clamp(120px, 16vw, 260px);
  height    : 1px;
  background: linear-gradient(90deg,
    color-mix(in oklch, var(--c-or) 70%, transparent), transparent);
}

/* 6 · Un cadre de page discret, comme une planche d'atelier.
   Il ne se voit pas, il se sent : c'est ce qui donne le sentiment d'un
   document composé plutôt que d'une page qui coule. */
body[data-page] .ph,
body[data-page] .ph-full{
  position: relative;
}
body[data-page] .ph > .container,
body[data-page] .ph-full-body{
  position: relative;
}
body[data-page] .ph > .container::after{
  content   : "";
  position  : absolute;
  left      : calc(var(--pad) * -1 + 6px);
  top       : 12%;
  bottom    : 12%;
  width     : 1px;
  background: linear-gradient(180deg,
    transparent,
    color-mix(in oklch, var(--c-or) 46%, transparent) 22%,
    color-mix(in oklch, var(--c-or) 46%, transparent) 78%,
    transparent);
}

@media (max-width: 680px){
  body[data-page] .ph > .container::after{ display: none }
  body[data-page] .ph .ey::after,
  body[data-page] .ph-full-body .ey::after{ width: 40px }
}


/* ── Le rail n'apparaît qu'une fois la lecture engagée ─────────────────────
   Mesuré sur savoir-faire.html : #vg-btn recouvrait le chapeau du héros sur
   147 × 27 px, .oc-sound-toggle sur 87 × 42 px.

   Trois correctifs essayés, chacun écarté pour une raison mesurée :

   1. Réserver la hauteur par `padding-bottom` — le rail est en
      `position: fixed`, ancré au bas de la FENÊTRE et non de la section.
      Le padding a allongé la section de 140 px sans rien déplacer.

   2. Déplacer le rail en bas à droite, hors de la colonne de texte — juste
      sur savoir-faire.html, faux sur pensee.html où le texte occupe toute
      la largeur. Aucun placement fixe ne convient à toutes les mises en page.

   3. `animation-timeline: scroll()` — l'animation s'attachait, timeline
      résolue, mais l'opacité restait à 1 et je n'ai pas su la vérifier ici.

   Retenu : une classe posée par le moteur au-delà de 280 px de défilement.
   Vérifiable, universelle, et juste sur le fond — une Maison ouvre sur son
   propos, pas sur ses commandes. Le son reste accessible dès l'ouverture
   par le bouton du rideau d'intro. */

body[data-page] #vg-btn,
body[data-page] #oc-sound-toggle,
body[data-page] .oc-sound-toggle{
  left  : var(--hc-rail-x);
  right : auto;
  top   : auto;
  z-index: 720;
  opacity   : 0;
  transform : translateY(14px);
  pointer-events: none;
  transition: opacity .7s var(--ol-ease), transform .7s var(--ol-ease);
}
body[data-page] #vg-btn{
  bottom: var(--hc-rail-base);
}
body[data-page] #oc-sound-toggle,
body[data-page] .oc-sound-toggle,
body[data-page] html.lux .oc-sound-toggle{
  left  : var(--hc-rail-x);
  right : auto;
  bottom: calc(var(--hc-rail-base) + var(--hc-slot-h) + var(--hc-rail-gap));
}

body[data-page].hc-defile #vg-btn,
body[data-page].hc-defile #oc-sound-toggle,
body[data-page].hc-defile .oc-sound-toggle{
  opacity   : 1;
  transform : none;
  pointer-events: auto;
}

/* Sans JavaScript, le rail reste visible : mieux vaut un chevauchement
   qu'une commande introuvable. */
html:not(.js) body[data-page] #vg-btn,
html:not(.js) body[data-page] .oc-sound-toggle{
  opacity: 1; transform: none; pointer-events: auto;
}

@media (prefers-reduced-motion: reduce){
  body[data-page] #vg-btn,
  body[data-page] .oc-sound-toggle{ transition: opacity .01ms }
}


/* ══════════════════════════════════════════════════════════════════════════
   LA LUMIÈRE AU CURSEUR

   Une source ponctuelle qui suit le pointeur, comme une lampe d'atelier
   qu'on promène sur la matière.

   Deux règles la rendent inoffensive pour la lecture :
   — `mix-blend-mode: plus-lighter` ne peut qu'AJOUTER de la lumière. Il est
     arithmétiquement incapable d'assombrir un pixel, donc incapable de
     réduire le contraste d'un texte clair sur fond sombre ;
   — elle est en `pointer-events: none` et derrière le contenu.

   Elle ne se déplace que par `translate3d` : compositeur, aucun recalcul.
   Elle n'apparaît que sur pointeur fin — sur tactile, il n'y a pas de
   curseur à suivre.
   ══════════════════════════════════════════════════════════════════════ */

@media (pointer: fine) and (prefers-reduced-motion: no-preference){

  body[data-page] .hc-led{
    position : fixed;
    left     : 0;
    top      : 0;
    width    : 620px;
    height   : 620px;
    margin   : -310px 0 0 -310px;
    z-index  : 3;
    pointer-events: none;
    opacity  : 0;
    mix-blend-mode: plus-lighter;
    will-change: transform;
    transition: opacity .9s var(--ol-ease);
    background: radial-gradient(closest-side circle,
      color-mix(in oklch, var(--hc-lueur, oklch(.7625 calc(var(--ol-c-pat)*.821) var(--ol-h-pat))) 17%, transparent) 0%,
      color-mix(in oklch, var(--hc-lueur, oklch(.7625 calc(var(--ol-c-pat)*.821) var(--ol-h-pat))) 11%, transparent) 16%,
      color-mix(in oklch, var(--hc-lueur, oklch(.7625 calc(var(--ol-c-pat)*.821) var(--ol-h-pat)))  6%, transparent) 34%,
      color-mix(in oklch, var(--hc-lueur, oklch(.7625 calc(var(--ol-c-pat)*.821) var(--ol-h-pat)))  2%, transparent) 58%,
      transparent 100%);
  }
  body[data-page].hc-led-active .hc-led{ opacity: 1 }

  /* Le cœur de la source : plus serré, plus chaud. C'est ce petit noyau qui
     fait lire l'ensemble comme une lampe et non comme une tache. */
  body[data-page] .hc-led::after{
    content : "";
    position: absolute;
    inset   : 40%;
    border-radius: 50%;
    background: radial-gradient(closest-side circle,
      color-mix(in oklch, var(--hc-lueur, oklch(.7625 calc(var(--ol-c-pat)*.821) var(--ol-h-pat))) 26%, transparent) 0%,
      color-mix(in oklch, var(--hc-lueur, oklch(.7625 calc(var(--ol-c-pat)*.821) var(--ol-h-pat))) 10%, transparent) 45%,
      transparent 100%);
  }

  /* Sur les surfaces polies — marbre, cartouche du décompte, sculptures —
     la lampe laisse un reflet plus net, comme sur une arête vernie. */
  
}


/* ══════════════════════════════════════════════════════════════════════════
   LA RESPIRATION DE LA PALETTE

   Toutes les minutes, l'accent glisse vers une teinte voisine, s'y tient
   quelques secondes, puis revient. Le mouvement est lent à l'aller, net au
   retour — on le remarque sans jamais le surprendre en train de bouger.

   Les quatre stations sont des matières de la Maison, pas des couleurs
   choisies au hasard :
     champagne   #C9AE7C   la station d'origine, l'emblème
     bronze      #A98552   la colonne, patine chaude
     platine     #C7C3B4   l'ivoire froid des marbres
     or rose     #C9A487   la dorure à la feuille sur fond de bol

   L'écart de luminance entre les quatre est inférieur à 6 sur 255 : les
   contrastes de texte ne bougent pas. C'est une respiration, pas un
   clignotement.

   `@property` déclare le type de la variable, ce qui permet au moteur de
   l'interpoler comme une couleur au lieu de la commuter d'un coup.
   ══════════════════════════════════════════════════════════════════════ */

@property --hc-lueur{
  syntax: '<color>';
  inherits: true;
  initial-value: oklch(.7625 calc(var(--ol-c-pat)*.821) var(--ol-h-pat));
}

@media (prefers-reduced-motion: no-preference){
  body[data-page]{
    --hc-lueur: oklch(.7625 calc(var(--ol-c-pat)*.821) var(--ol-h-pat));
    animation: hcRespiration 60s ease-in-out infinite;
  }

  @keyframes hcRespiration{
    /* 52 s sur la station d'origine — l'écart doit rester un événement */
      0%   { --hc-lueur: oklch(.7625 calc(var(--ol-c-pat)*.821) var(--ol-h-pat)) }
     22%   { --hc-lueur: oklch(.7625 calc(var(--ol-c-pat)*.821) var(--ol-h-pat)) }

    /* bronze : 4 s de montée, 3 s de tenue, retour net */
     26%   { --hc-lueur: oklch(.6395 calc(var(--ol-c-pat)*.909) calc(var(--ol-h-pat) + -9.6)) }
     31%   { --hc-lueur: oklch(.6395 calc(var(--ol-c-pat)*.909) calc(var(--ol-h-pat) + -9.6)) }
     34%   { --hc-lueur: oklch(.7625 calc(var(--ol-c-pat)*.821) var(--ol-h-pat)) }

     56%   { --hc-lueur: oklch(.7625 calc(var(--ol-c-pat)*.821) var(--ol-h-pat)) }
    /* platine */
     60%   { --hc-lueur: oklch(.8162 calc(var(--ol-c-pat)*.236) var(--ol-h-pat)) }
     64%   { --hc-lueur: oklch(.8162 calc(var(--ol-c-pat)*.236) var(--ol-h-pat)) }
     67%   { --hc-lueur: oklch(.7625 calc(var(--ol-c-pat)*.821) var(--ol-h-pat)) }

     86%   { --hc-lueur: oklch(.7625 calc(var(--ol-c-pat)*.821) var(--ol-h-pat)) }
    /* or rose */
     90%   { --hc-lueur: oklch(.7448 calc(var(--ol-c-pat)*.664) calc(var(--ol-h-pat) + -24.9)) }
     93%   { --hc-lueur: oklch(.7448 calc(var(--ol-c-pat)*.664) calc(var(--ol-h-pat) + -24.9)) }
     96%   { --hc-lueur: oklch(.7625 calc(var(--ol-c-pat)*.821) var(--ol-h-pat)) }
    100%   { --hc-lueur: oklch(.7625 calc(var(--ol-c-pat)*.821) var(--ol-h-pat)) }
  }

  /* Ce que la respiration touche : la lampe, les filets, les capitales et
     les arêtes. JAMAIS un corps de texte — un texte dont la couleur bouge
     pendant la lecture est une faute, pas un effet. */
  body[data-page] .hc-filet,
  body[data-page] hr,
  body[data-page] .ph .ey::after,
  body[data-page] .nl::after,
  body[data-page] .cv912-countdown--hero::after{
    background-image: linear-gradient(90deg,
      transparent, var(--hc-lueur) 30%, var(--hc-lueur) 70%, transparent);
  }
  body[data-page] .ph .ey,
  body[data-page] .hc-capitale,
  body[data-page] .cv912-countdown__kicker{
    color: var(--hc-lueur);
  }
}


/* ══════════════════════════════════════════════════════════════════════════
   LE SOUFFLE

   Toutes les 30 secondes, un courant d'air traverse la page de gauche à
   droite. Il met environ 4 secondes à passer ; les 26 autres, il n'existe
   pas. On le voit passer sans jamais le voir attendre.

   PREMIÈRE VERSION ÉCARTÉE, deux défauts mesurés :

   — j'avais posé `animation:` en abrégé sur .hc-filet, .hc-fumee et
     .ol-fumee. Or ces éléments portent déjà une animation déclarée en
     abrégé ailleurs (hcMonte pour la révélation, hcDissipe pour la
     dissipation au défilement) : la dernière déclaration écrase la
     précédente. Relevé sur about.html — .hc-filet ne portait que hcMonte,
     et .hc-fumee avait tout perdu ;

   — `hcSouffleArete` animait `filter: brightness()`. C'est exactement ce
     que ce fichier interdit trois sections plus haut : seules `transform`
     et `opacity` restent sur le fil de composition.

   Version retenue : tout le souffle tient dans UNE couche dédiée et ses
   deux pseudo-éléments. Aucune animation posée sur un élément qui en a
   déjà une, aucune propriété hors transform/opacity, et en `screen` — donc
   incapable d'assombrir quoi que ce soit, donc sans effet sur la lecture.

   Ce qui le fait lire comme du vent et non comme un balayage :
   le front principal, une traîne décalée de 400 ms qui donne l'épaisseur,
   et une crête claire plus rapide que le corps — un souffle réel n'a pas
   un front rigide.
   ══════════════════════════════════════════════════════════════════════ */

@media (prefers-reduced-motion: no-preference){

  body[data-page] .hc-vent{
    position : fixed;
    inset    : -12% -45%;
    z-index  : 2;
    pointer-events: none;
    opacity  : 0;
    mix-blend-mode: screen;
    will-change: transform, opacity;
    background: linear-gradient(96deg,
      transparent 0%,
      color-mix(in oklch, var(--hc-lueur, oklch(.7625 calc(var(--ol-c-pat)*.821) var(--ol-h-pat)))  3%, transparent) 28%,
      color-mix(in oklch, var(--hc-lueur, oklch(.7625 calc(var(--ol-c-pat)*.821) var(--ol-h-pat)))  9%, transparent) 41%,
      color-mix(in oklch, oklch(.966 calc(var(--ol-c-body)*.07) var(--ol-h-pap)) 12%, transparent)                  47%,
      color-mix(in oklch, var(--hc-lueur, oklch(.7625 calc(var(--ol-c-pat)*.821) var(--ol-h-pat))) 10%, transparent) 53%,
      color-mix(in oklch, var(--hc-lueur, oklch(.7625 calc(var(--ol-c-pat)*.821) var(--ol-h-pat)))  3%, transparent) 68%,
      transparent 100%);
    animation: hcSouffle 30s cubic-bezier(.42,0,.24,1) infinite;
  }

  /* La traîne : même souffle, 400 ms plus tard et plus large. C'est ce
     décalage qui donne l'épaisseur — sans lui, le vent est une barre. */
  body[data-page] .hc-vent::before{
    content : "";
    position: absolute;
    inset   : 0;
    background: linear-gradient(96deg,
      transparent 0%,
      color-mix(in oklch, var(--hc-lueur, oklch(.7625 calc(var(--ol-c-pat)*.821) var(--ol-h-pat))) 5%, transparent) 34%,
      color-mix(in oklch, var(--hc-lueur, oklch(.7625 calc(var(--ol-c-pat)*.821) var(--ol-h-pat))) 7%, transparent) 50%,
      color-mix(in oklch, var(--hc-lueur, oklch(.7625 calc(var(--ol-c-pat)*.821) var(--ol-h-pat))) 5%, transparent) 66%,
      transparent 100%);
    animation: hcSouffleTraine 30s cubic-bezier(.38,0,.28,1) infinite;
  }

  /* La crête : fine, claire, plus rapide que le corps. C'est elle qu'on
     voit passer sur les arêtes et les filets d'or. */
  body[data-page] .hc-vent::after{
    content : "";
    position: absolute;
    inset   : 0;
    background: linear-gradient(96deg,
      transparent 46%,
      color-mix(in oklch, oklch(.966 calc(var(--ol-c-body)*.07) var(--ol-h-pap)) 20%, transparent) 49.4%,
      color-mix(in oklch, var(--hc-lueur, oklch(.7625 calc(var(--ol-c-pat)*.821) var(--ol-h-pat))) 24%, transparent) 50%,
      color-mix(in oklch, oklch(.966 calc(var(--ol-c-body)*.07) var(--ol-h-pap)) 20%, transparent) 50.6%,
      transparent 54%);
    animation: hcSouffleCrete 30s cubic-bezier(.3,0,.2,1) infinite;
  }

  @keyframes hcSouffle{
      0%  { opacity: 0;   transform: translate3d(-56%, 0, 0) skewX(0deg) }
     84%  { opacity: 0;   transform: translate3d(-56%, 0, 0) skewX(0deg) }
     87%  { opacity: .58; transform: translate3d(-24%, 0, 0) skewX(-1.4deg) }
     93%  { opacity: .74; transform: translate3d( 16%, 0, 0) skewX(-2.2deg) }
     98%  { opacity: 0;   transform: translate3d( 56%, 0, 0) skewX(-.6deg) }
    100%  { opacity: 0;   transform: translate3d( 56%, 0, 0) skewX(0deg) }
  }

  @keyframes hcSouffleTraine{
      0%  { opacity: 0;   transform: translate3d(-62%, 0, 0) scaleX(1.3) }
     85%  { opacity: 0;   transform: translate3d(-62%, 0, 0) scaleX(1.3) }
     90%  { opacity: .70; transform: translate3d(-14%, 0, 0) scaleX(1.5) }
     96%  { opacity: .30; transform: translate3d( 30%, 0, 0) scaleX(1.4) }
    100%  { opacity: 0;   transform: translate3d( 62%, 0, 0) scaleX(1.3) }
  }

  @keyframes hcSouffleCrete{
      0%  { opacity: 0;   transform: translate3d(-52%, 0, 0) skewX(-3deg) }
     85.5%{opacity: 0;   transform: translate3d(-52%, 0, 0) skewX(-3deg) }
     88%  { opacity: .85; transform: translate3d(-16%, 0, 0) skewX(-3.4deg) }
     92%  { opacity: .95; transform: translate3d( 20%, 0, 0) skewX(-3.4deg) }
     96%  { opacity: 0;   transform: translate3d( 52%, 0, 0) skewX(-3deg) }
    100%  { opacity: 0;   transform: translate3d( 52%, 0, 0) skewX(-3deg) }
  }
}

/* Économie d'énergie : pas de souffle */
body[data-page].oc-eco .hc-vent{ display: none }


/* ══════════════════════════════════════════════════════════════════════════
   LE FRAGMENT — sculpté

   Constat en capture : la dalle se voyait, mais elle était PLATE. Des filets
   parallèles réguliers, l'aspect d'un verre dépoli plutôt que d'un bloc de
   carrière. Trois choses manquaient, et aucune n'est un effet de plus :

   — l'IRRÉGULARITÉ. Un seul réseau de turbulence produit toujours des
     stries régulières. Il en faut deux, à des échelles et des graines
     différentes, dont l'un très étiré : c'est leur superposition qui donne
     le hasard d'une veine réelle ;
   — le RELIEF. Un bloc a des arêtes. Un liseré clair en haut, une ombre
     portée en bas, et le regard lit une épaisseur au lieu d'une surface ;
   — l'OR. Le Carrare de la Maison porte des filets de dorure. Rares,
     jamais réguliers, et c'est leur rareté qui les rend précieux.
   ══════════════════════════════════════════════════════════════════════ */

body[data-page] .hc-sculpture{
  /* le fond de pierre : trois nuages superposés, pas un dégradé linéaire */
  background:
    radial-gradient(120% 90% at 22% 18%,
      oklch(.982 .003 200) 0%, oklch(.958 .004 205) 34%, transparent 70%),
    radial-gradient(90% 120% at 82% 74%,
      oklch(.944 .006 212) 0%, oklch(.922 .007 214) 40%, transparent 76%),
    linear-gradient(158deg,
      oklch(.968 .004 206) 0%, oklch(.934 .006 210) 52%, oklch(.906 .008 214) 100%);
  box-shadow:
    /* l'arête : lumière au sommet, ombre au pied — l'épaisseur du bloc */
    inset 0 1px 0 oklch(1 0 0 / .92),
    inset 0 -1px 0 oklch(.62 .02 220 / .34),
    inset 0 26px 46px -30px oklch(1 0 0 / .7),
    inset 0 -30px 54px -34px oklch(.55 .03 224 / .32),
    var(--ol-shadow);
}

/* Réseau principal — veines majeures, très étirées */
body[data-page] .hc-sculpture::before{
  background-image: var(--hc-veines);
  background-size : 760px 760px;
  opacity : .46;
  mix-blend-mode: multiply;
  transform: rotate(-8deg) scale(1.32);
  transform-origin: center;
}

/* Réseau secondaire + filets d'or — posé en couche supplémentaire pour que
   les deux hasards se croisent au lieu de se superposer. */
body[data-page] .hc-sculpture{
  --hc-or-filet: color-mix(in oklch, var(--hc-lueur, oklch(.7625 calc(var(--ol-c-pat)*.821) var(--ol-h-pat))) 62%, transparent);
}
body[data-page] .hc-atelier .hc-sculpture{
  position: relative;
}
body[data-page] .hc-sculpture > .hc-veine2{
  position: absolute;
  inset   : 0;
  z-index : 1;
  pointer-events: none;
  background-image:
    /* les filets d'or, rares et fins */
    repeating-linear-gradient(69deg,
      transparent 0 84px,
      var(--hc-or-filet) 84px 84.7px,
      transparent 84.7px 210px),
    /* le second réseau de veines */
    var(--hc-veines-fines);
  background-size: auto, 520px 520px;
  opacity: .38;
  mix-blend-mode: multiply;
  transform: rotate(6deg) scale(1.28);
}

/* Le poli passe au-dessus des deux réseaux */
body[data-page] .hc-sculpture::after{
  z-index: 2;
}

/* Quand la 3D a fait ses preuves, tout cela s'efface sous elle */
body[data-page] .hc-sculpture--3d > .hc-veine2{ display: none }


/* La dalle CSS ne doit jamais réapparaître sous la sculpture 3D. Ma règle
   de sculpture, ajoutée plus bas dans le fichier, écrasait le
   `background: none` de .hc-sculpture--3d — la pierre plate revenait
   derrière la pièce en volume. Cette règle referme la porte, en dernier. */
body[data-page] .hc-sculpture--3d{
  background : none !important;
  box-shadow : none !important;
}
body[data-page] .hc-sculpture--3d::before,
body[data-page] .hc-sculpture--3d::after,
body[data-page] .hc-sculpture--3d > .hc-veine2{
  display: none !important;
}


/* ══════════════════════════════════════════════════════════════════════════
   LE CRISTAL

   Un verre taillé n'est pas un panneau flou. Ce qui le distingue, et ce que
   la plupart des « glassmorphismes » ratent, tient en trois choses :

   — la RÉFRACTION CHROMATIQUE sur les arêtes. Un bord de cristal sépare
     légèrement les couleurs, comme un prisme. Sans elle, on a du plastique
     dépoli ;
   — le BISEAU. Une arête n'est pas un trait : c'est une facette qui reçoit
     la lumière d'un côté et l'ombre de l'autre ;
   — la CAUSTIQUE. Le verre concentre la lumière en une tache plus claire
     qu'elle, décalée par rapport à la source.

   DISCIPLINE DE PERFORMANCE — un `backdrop-filter` oblige le compositeur à
   relire et rééchantillonner tout ce qui est derrière, à chaque image. Sur
   une grande surface c'est le poste le plus cher d'une page. Le cristal est
   donc réservé ici à de PETITES surfaces déjà promues en couche : le
   cartouche du décompte, la bulle de conciergerie, la barre de consentement,
   les cartouches du rail. Jamais une section, jamais un héros.
   ══════════════════════════════════════════════════════════════════════ */

body[data-page] .hc-cristal,
body[data-page] .cv912-countdown--hero{
  position: relative;
  isolation: isolate;
}

/* Les instruments sont des surfaces de cristal, mais ils restent ancrés à
   la fenêtre. Les passer à `position:relative` les envoyait au pied du
   document et rendait la bannière invisible à l'arrivée. */
body[data-page] #aiw,
body[data-page] .hc-consent,
body[data-page] #vg-btn,
body[data-page] .oc-sound-toggle{
  position: fixed;
  isolation: isolate;
}

/* Le premier choix doit rester seul au premier plan sur les petits écrans :
   aucune collision possible avec concierge, son ou visite guidée. */
body[data-page].hc-consent-open :is(#aiw, #vg-btn, .oc-sound-toggle){
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

/* 1 · Le biseau — une facette claire au sommet, une ombre au pied.
   En box-shadow interne : aucun nœud, aucun coût de composition. */
body[data-page] .hc-cristal,
body[data-page] .cv912-countdown--hero,
body[data-page] #vg-btn,
body[data-page] .oc-sound-toggle{
  box-shadow:
    inset 0 1px 0 oklch(1 0 0 / .34),
    inset 0 -1px 0 oklch(.20 .03 250 / .46),
    inset 1px 0 0 oklch(1 0 0 / .10),
    inset -1px 0 0 oklch(.20 .03 250 / .22),
    0 22px 60px oklch(.118 .026 254 / .44);
}

/* 2 · La réfraction chromatique de l'arête.
   Deux liserés très fins, décalés en teinte de part et d'autre du champagne :
   c'est la séparation des couleurs d'un prisme, réduite à l'essentiel. */
body[data-page] .hc-cristal::before,
body[data-page] .cv912-countdown--hero::before{
  content : "";
  position: absolute;
  inset   : -1px;
  z-index : -1;
  border-radius: inherit;
  pointer-events: none;
  background: linear-gradient(
      calc(112deg + var(--hc-progress) * 30deg),
      color-mix(in oklch, var(--hc-lueur, oklch(.7625 calc(var(--ol-c-pat)*.821) var(--ol-h-pat))) 64%, oklch(.72 .10 32))  0%,
      color-mix(in oklch, var(--hc-lueur, oklch(.7625 calc(var(--ol-c-pat)*.821) var(--ol-h-pat))) 74%, transparent)       26%,
      oklch(.94 .02 250 / .5)                                              48%,
      color-mix(in oklch, var(--hc-lueur, oklch(.7625 calc(var(--ol-c-pat)*.821) var(--ol-h-pat))) 74%, transparent)       70%,
      color-mix(in oklch, var(--hc-lueur, oklch(.7625 calc(var(--ol-c-pat)*.821) var(--ol-h-pat))) 58%, oklch(.66 .11 232))100%);
  -webkit-mask:
    linear-gradient(#000 0 0) content-box exclude,
    linear-gradient(#000 0 0);
  mask:
    linear-gradient(#000 0 0) content-box exclude,
    linear-gradient(#000 0 0);
  mask-composite: exclude;
  opacity: .72;
}

/* 3 · La caustique — la tache que le verre concentre. Elle suit la lumière
   du site, donc elle se déplace quand on descend dans la page. */
body[data-page] .hc-cristal::after,
body[data-page] .cv912-countdown--hero::after{
  content : "";
  position: absolute;
  inset   : 0;
  z-index : 1;
  border-radius: inherit;
  pointer-events: none;
  mix-blend-mode: screen;
  background:
    radial-gradient(46% 62% at calc(22% + var(--hc-progress) * 44%) 18%,
      oklch(1 0 0 / .16) 0%,
      color-mix(in oklch, var(--hc-lueur, oklch(.7625 calc(var(--ol-c-pat)*.821) var(--ol-h-pat))) 10%, transparent) 34%,
      transparent 72%),
    linear-gradient(
      calc(104deg + var(--hc-progress) * 24deg),
      transparent 40%,
      oklch(1 0 0 / .07) 49%,
      transparent 58%);
}

/* 4 · Le flou de fond, dosé. 16 px suffit à lire « verre » ; au-delà on
   paie sans que l'œil y gagne. */
body[data-page] .hc-cristal,
body[data-page] .cv912-countdown--hero{
  -webkit-backdrop-filter: blur(16px) saturate(1.4);
  backdrop-filter        : blur(16px) saturate(1.4);
}

/* Sur mobile et en mode économie, le cristal redevient une surface simple :
   le backdrop-filter est le premier poste à couper. */
@media (max-width: 680px){
  body[data-page] .hc-cristal,
  body[data-page] .cv912-countdown--hero{
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
    background-color: color-mix(in oklch, oklch(.118 .026 254) 88%, transparent);
  }
  body[data-page] .hc-cristal::before,
  body[data-page] .cv912-countdown--hero::before{ opacity: .5 }
}
body[data-page].oc-eco .hc-cristal::before,
body[data-page].oc-eco .hc-cristal::after,
body[data-page].oc-eco .cv912-countdown--hero::before,
body[data-page].oc-eco .cv912-countdown--hero::after{ display: none }


/* ══════════════════════════════════════════════════════════════════════════
   LES INTUITIONS

   Le guide ne notifie pas : il souffle. Une intuition entre par le bas,
   tient onze secondes, et se DISSIPE — elle ne disparaît pas.

   La dissipation vient d'un masque qui remonte à travers le cartouche : le
   texte s'efface par le bas pendant que l'ensemble s'élève et s'élargit d'un
   cheveu. C'est le comportement d'une fumée qui se disperse, et cela ne
   coûte que `transform`, `opacity` et `mask-position` — aucune
   re-rastérisation.

   Elle vit en bas à droite, au-dessus de la conciergerie, jamais sur une
   colonne de texte. Elle survit au survol : on peut la lire.
   ══════════════════════════════════════════════════════════════════════ */

body[data-page] .hc-intuition{
  position : fixed;
  right    : var(--hc-rail-x);
  bottom   : calc(var(--hc-rail-base) + 54px + 20px);
  z-index  : 9400;
  width    : min(330px, calc(100vw - 40px));
  padding  : 18px 20px 16px;
  border   : 1px solid color-mix(in oklch, var(--hc-lueur, oklch(.7625 calc(var(--ol-c-pat)*.821) var(--ol-h-pat))) 30%, transparent);
  border-radius: 3px;
  background: color-mix(in oklch, oklch(.118 .026 254) 86%, transparent);
  -webkit-backdrop-filter: blur(18px) saturate(1.3);
  backdrop-filter        : blur(18px) saturate(1.3);
  box-shadow:
    inset 0 1px 0 oklch(1 0 0 / .16),
    0 26px 70px oklch(.118 .026 254 / .58);
  color      : oklch(.895 .010 250);
  font-family: var(--font-l);

  opacity   : 0;
  transform : translate3d(0, 18px, 0);
  transition: opacity .85s var(--ol-ease), transform .95s var(--ol-ease);
  will-change: transform, opacity;
}

body[data-page] .hc-intuition--la{
  opacity  : 1;
  transform: none;
}

/* Le filet d'or en tête : elle appartient à la Maison */
body[data-page] .hc-intuition::before{
  content : "";
  position: absolute;
  inset   : -1px 0 auto 0;
  height  : 1px;
  background: linear-gradient(90deg,
    transparent, var(--hc-lueur, oklch(.7625 calc(var(--ol-c-pat)*.821) var(--ol-h-pat))) 34%, var(--hc-lueur, oklch(.7625 calc(var(--ol-c-pat)*.821) var(--ol-h-pat))) 66%, transparent);
}

body[data-page] .hc-intuition__t{
  margin        : 0 0 7px;
  font-family   : var(--font-s);
  font-size     : 15px;
  line-height   : 1.3;
  color         : var(--hc-lueur, oklch(.7625 calc(var(--ol-c-pat)*.821) var(--ol-h-pat)));
  letter-spacing: .005em;
  max-width     : none;
}
body[data-page] .hc-intuition__c{
  margin     : 0;
  font-family: var(--font-b);
  font-size  : 12.5px;
  line-height: 1.62;
  color      : oklch(.812 .012 250);
  max-width  : none;
}
body[data-page] .hc-intuition__a{
  display        : inline-block;
  margin-top     : 13px;
  font-size      : 10px;
  letter-spacing : .22em;
  text-transform : uppercase;
  color          : var(--hc-lueur, oklch(.7625 calc(var(--ol-c-pat)*.821) var(--ol-h-pat)));
  text-decoration: none;
  border-bottom  : 1px solid color-mix(in oklch, var(--hc-lueur, oklch(.7625 calc(var(--ol-c-pat)*.821) var(--ol-h-pat))) 42%, transparent);
  padding-bottom : 2px;
  transition     : border-color .45s var(--ol-ease);
}
body[data-page] .hc-intuition__a:hover{
  border-bottom-color: var(--hc-lueur, oklch(.7625 calc(var(--ol-c-pat)*.821) var(--ol-h-pat)));
}
body[data-page] .hc-intuition__x{
  position   : absolute;
  top        : 8px;
  right      : 10px;
  width      : 24px;
  height     : 24px;
  border     : 0;
  background : transparent;
  color      : oklch(.66 .014 250);
  font-size  : 16px;
  line-height: 1;
  cursor     : pointer;
  transition : color .4s var(--ol-ease);
}
body[data-page] .hc-intuition__x:hover{ color: var(--hc-lueur, oklch(.7625 calc(var(--ol-c-pat)*.821) var(--ol-h-pat))) }

/* La dissipation. Le masque part de « tout visible » et remonte jusqu'à
   « rien » : le cartouche s'efface par le bas, comme une fumée qui monte. */
body[data-page] .hc-intuition--fumee{
  animation: hcDissipation 1.5s cubic-bezier(.3,0,.2,1) forwards;
  pointer-events: none;
}

@keyframes hcDissipation{
  0%{
    opacity  : 1;
    transform: translate3d(0,0,0) scale(1);
    -webkit-mask-image: linear-gradient(0deg, transparent 0%, #000 34%, #000 100%);
    mask-image        : linear-gradient(0deg, transparent 0%, #000 34%, #000 100%);
    -webkit-mask-size : 100% 300%;
    mask-size         : 100% 300%;
    -webkit-mask-position: 0 100%;
    mask-position     : 0 100%;
  }
  55%{
    opacity  : .70;
    transform: translate3d(0,-16px,0) scale(1.035);
  }
  100%{
    opacity  : 0;
    transform: translate3d(0,-42px,0) scale(1.09);
    -webkit-mask-position: 0 0%;
    mask-position     : 0 0%;
  }
}

@media (max-width: 820px){
  body[data-page] .hc-intuition{
    right : 14px;
    left  : 14px;
    width : auto;
    bottom: calc(var(--hc-rail-base) + 54px + 16px);
  }
}

@media (prefers-reduced-motion: reduce){
  body[data-page] .hc-intuition{ transition: opacity .01ms; transform: none }
  body[data-page] .hc-intuition--fumee{ animation: none; opacity: 0 }
}
body[data-page].oc-eco .hc-intuition{ display: none }

/* ── V922.1 · Correctifs de cascade validés ───────────────────────────────
   Les effets complexes du décompte et du marbre disposent désormais de
   surfaces dédiées. Ils ne se disputent plus les mêmes ::before/::after. */

body[data-page] .cv912-countdown--hero.hc-countdown-fx-ready::before,
body[data-page] .cv912-countdown--hero.hc-countdown-fx-ready::after{
  content: none !important;
}
body[data-page] .hc-countdown-edge,
body[data-page] .hc-countdown-polish,
body[data-page] .hc-countdown-glow,
body[data-page] .hc-sculpture-polish{
  position: absolute;
  pointer-events: none;
  border-radius: inherit;
}
body[data-page] .hc-countdown-edge{
  inset: -1px;
  z-index: 2;
  padding: 1px;
  background: linear-gradient(
    calc(112deg + var(--hc-progress) * 30deg),
    color-mix(in oklch, var(--hc-lueur, oklch(.7625 calc(var(--ol-c-pat)*.821) var(--ol-h-pat))) 64%, oklch(.72 .10 32)) 0%,
    color-mix(in oklch, var(--hc-lueur, oklch(.7625 calc(var(--ol-c-pat)*.821) var(--ol-h-pat))) 74%, transparent) 26%,
    oklch(.94 .02 250 / .5) 48%,
    color-mix(in oklch, var(--hc-lueur, oklch(.7625 calc(var(--ol-c-pat)*.821) var(--ol-h-pat))) 74%, transparent) 70%,
    color-mix(in oklch, var(--hc-lueur, oklch(.7625 calc(var(--ol-c-pat)*.821) var(--ol-h-pat))) 58%, oklch(.66 .11 232)) 100%);
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
  mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  mask-composite: exclude;
  opacity: .76;
}
body[data-page] .hc-countdown-polish{
  inset: 0;
  z-index: 1;
  mix-blend-mode: screen;
  background:
    radial-gradient(46% 62% at calc(22% + var(--hc-progress) * 44%) 18%,
      oklch(1 0 0 / .16) 0%,
      color-mix(in oklch, var(--hc-lueur, oklch(.7625 calc(var(--ol-c-pat)*.821) var(--ol-h-pat))) 10%, transparent) 34%,
      transparent 72%),
    linear-gradient(calc(104deg + var(--hc-progress) * 24deg),
      transparent 40%, oklch(1 0 0 / .07) 49%, transparent 58%);
}
body[data-page] .hc-countdown-glow{
  left: 12%;
  right: 12%;
  bottom: 0;
  z-index: 2;
  height: 1px;
  background: linear-gradient(90deg, transparent,
    var(--hc-lueur, oklch(.7625 calc(var(--ol-c-pat)*.821) var(--ol-h-pat))) 30%, var(--hc-champagne-lo) 50%,
    var(--hc-lueur, oklch(.7625 calc(var(--ol-c-pat)*.821) var(--ol-h-pat))) 70%, transparent);
  box-shadow: 0 0 18px color-mix(in oklch, var(--hc-lueur, oklch(.7625 calc(var(--ol-c-pat)*.821) var(--ol-h-pat))) 34%, transparent);
  opacity: .88;
}

body[data-page] .hc-sculpture-polish{
  inset: 0;
  z-index: 2;
  mix-blend-mode: screen;
  background: linear-gradient(
    calc(112deg + var(--hc-progress) * 24deg),
    transparent 32%, oklch(1 0 0 / .44) 47%,
    var(--hc-veil-22) 52%, transparent 68%);
  transform: translateX(-10%);
  opacity: .82;
  transition: transform 1.1s cubic-bezier(.19,1,.22,1), opacity .7s cubic-bezier(.19,1,.22,1);
}
body[data-page] .hc-sculpture:hover > .hc-sculpture-polish{
  transform: translateX(10%);
  opacity: 1;
}
body[data-page] .hc-sculpture--3d > .hc-sculpture-polish,
body[data-page].oc-eco .hc-sculpture-polish{
  display: none !important;
}

/* Le voile des héros reçoit sa géométrie complète en dernier : les filets
   génériques de la signature ne peuvent plus le réduire à un pixel. */
body[data-page] .ph::after,
body[data-page] .ph-full::after{
  content: "";
  position: absolute;
  inset: 0 !important;
  top: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  left: 0 !important;
  width: auto !important;
  height: auto !important;
  z-index: 0;
  pointer-events: none;
}

/* L'appareil éditorial cible la classe réellement présente dans les héros. */
body[data-page] .ph .kicker,
body[data-page] .ph-full .kicker{
  display: inline-flex;
  align-items: center;
  gap: 14px;
}
body[data-page] .ph .kicker::after,
body[data-page] .ph-full .kicker::after{
  content: "";
  width: clamp(42px, 7vw, 94px);
  height: 1px;
  background: linear-gradient(90deg, var(--hc-lueur, oklch(.7625 calc(var(--ol-c-pat)*.821) var(--ol-h-pat))), transparent);
  opacity: .72;
}

@media (max-width: 680px){
  body[data-page] .hc-countdown-edge{ opacity: .5 }
}
body[data-page].oc-eco .hc-countdown-edge,
body[data-page].oc-eco .hc-countdown-polish,
body[data-page].oc-eco .hc-countdown-glow{
  display: none;
}

/* Le classement vidéo ne doit jamais faire rentrer les wrappers de fond
   absolus dans le flux flex du héros. C'était la cause du héros coupé en
   deux colonnes et du titre repoussé hors écran. */
body[data-page] .hero-vid.hc-video-fond,
body[data-page] .ph-bg.hc-video-fond,
body[data-page] .ph-full-bg.hc-video-fond{
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

/* V922.2 — Les décors lumineux restent contenus dans la scène : ils ne
   créent jamais une zone de défilement horizontale sur les petits écrans. */
html.lux,
html.lux body{
  overflow-x: hidden;
  overflow-x: clip;
}

/* Les cartes d'engagement sont des îlots nuit à l'intérieur d'une section
   claire. Elles doivent donc échapper explicitement à la couleur de texte de
   la section parente. */
html.lux body[data-page="about"] .sec--creme
  :is(.v6-inline-about-28,.v6-inline-about-32,.v6-inline-about-36)
  :is(h3,.v6-inline-about-30,.v6-inline-about-34,.v6-inline-about-38){
  color: var(--ol-carrara) !important;
  -webkit-text-fill-color: var(--ol-carrara) !important;
}
html.lux body[data-page="about"] .sec--creme
  :is(.v6-inline-about-28,.v6-inline-about-32,.v6-inline-about-36)
  :is(p,.body){
  color: oklch(.966 calc(var(--ol-c-body)*.07) var(--ol-h-pap) / .82) !important;
  -webkit-text-fill-color: currentColor;
}

/* Les trois engagements de La Maison conservent leur respiration en mobile.
   La grille desktop en trois colonnes était la dernière source de débordement
   réel (le troisième cartouche commençait au-delà du viewport). */
@media (max-width: 768px){
  body[data-page="about"] .v6-inline-about-27{
    grid-template-columns: minmax(0, 1fr);
  }
  body[data-page="about"] :is(.v6-inline-about-28,.v6-inline-about-32,.v6-inline-about-36){
    min-width: 0;
  }

  /* Les carnets privés utilisent douze colonnes sur grand écran. En mobile,
     chaque film devient un chapitre pleine largeur, sans largeur minimale
     héritée des spans asymétriques desktop. */
  body[data-page="portfolio"] .v6-inline-portfolio-118{
    display: grid;
    grid-template-columns: minmax(0, 1fr);
  }
  body[data-page="portfolio"] .v6-inline-portfolio-118 > .cp-card{
    grid-column: 1 / -1 !important;
    width: 100%;
    min-width: 0;
  }
}

/* ======================================================================
   V922.3 — STABILITÉ ÉDITORIALE ET IMMERSION 2026
   Règles finales, strictement isolées. Aucun pseudo-élément partagé n'est
   réutilisé : chaque lumière possède sa propre surface pour éviter les
   collisions de cascade qui avaient déstructuré La Maison.
   ====================================================================== */

/* LA MAISON — restauration intégrale de la composition du fondateur. */
body[data-page="about"] .folco{
  position:relative;
  padding:clamp(96px,10vw,164px) var(--pad);
  overflow:hidden;
}
body[data-page="about"] .folco-grid{
  width:min(1280px,100%);
  margin-inline:auto;
  display:grid !important;
  grid-template-columns:minmax(340px,.86fr) minmax(0,1.14fr);
  align-items:center;
  gap:clamp(56px,8vw,128px);
}
body[data-page="about"] .folco-grid>div{
  position:relative;
  min-width:0;
}
body[data-page="about"] .folco-grid>div:first-child{
  padding-bottom:clamp(58px,5vw,82px);
}
body[data-page="about"] .folco-portrait{
  position:relative !important;
  inset:auto !important;
  width:100% !important;
  height:clamp(560px,72svh,820px) !important;
  min-height:0 !important;
  max-height:none !important;
  overflow:hidden;
  opacity:1 !important;
  visibility:visible !important;
  transform:none !important;
  filter:none !important;
  background:linear-gradient(155deg,oklch(.2066 calc(var(--ol-c-body)*.518) var(--ol-h)),oklch(.2896 calc(var(--ol-c-body)*.815) var(--ol-h)) 58%,oklch(.1349 calc(var(--ol-c-body)*.266) var(--ol-h)));
  border:1px solid oklch(.7724 calc(var(--ol-c-body)*.438) var(--ol-h) / .22);
  box-shadow:0 44px 120px rgba(0,0,0,.42);
}
body[data-page="about"] .folco-video,
body[data-page="about"] .folco-silhouette{
  position:absolute !important;
  inset:0 !important;
  display:block;
  width:100% !important;
  height:100% !important;
}
body[data-page="about"] .folco-video{
  z-index:0;
  object-fit:cover;
  object-position:center 42%;
}
body[data-page="about"] .folco-silhouette{
  z-index:1;
  display:grid;
  place-items:center;
  opacity:.16;
  pointer-events:none;
}
body[data-page="about"] .folco-silhouette svg{
  width:min(54%,360px);
  height:auto;
}
body[data-page="about"] .folco-plaque{
  left:clamp(16px,2.2vw,30px);
  right:clamp(16px,2.2vw,30px);
  bottom:clamp(74px,6vw,98px);
  top:auto;
  z-index:5;
  padding:18px 20px;
  color:oklch(.2575 calc(var(--ol-c-body)*.484) var(--ol-h));
  background:oklch(.981 calc(var(--ol-c-body)*.07) var(--ol-h-pap) / .91);
  border:1px solid oklch(.9046 calc(var(--ol-c-body)*.11) var(--ol-h) / .62);
  box-shadow:0 22px 60px oklch(.1422 calc(var(--ol-c-body)*.35) var(--ol-h) / .24);
  backdrop-filter:blur(16px) saturate(1.1);
}
body[data-page="about"] .folco-plaque-name{
  display:block;
  color:oklch(.2575 calc(var(--ol-c-body)*.484) var(--ol-h));
  font-size:clamp(24px,2.25vw,36px);
  line-height:1.05;
  margin-bottom:8px;
}
body[data-page="about"] .folco-discretion{
  position:absolute;
  left:0;
  bottom:0;
  margin:0;
  color:oklch(.9046 calc(var(--ol-c-body)*.11) var(--ol-h) / .76) !important;
  font-size:clamp(12px,1vw,15px);
  line-height:1.55;
}
body[data-page="about"] .folco-text{
  position:relative;
  max-width:650px;
  padding:clamp(16px,2vw,28px) 0;
  color:oklch(.966 calc(var(--ol-c-body)*.07) var(--ol-h-pap) / .86);
}
body[data-page="about"] .folco-eyebrow{
  display:block;
  margin-bottom:22px;
  color:var(--ol-opal-soft);
  letter-spacing:.38em;
  text-transform:uppercase;
}
body[data-page="about"] .folco-name{
  margin:0 0 clamp(28px,3vw,44px);
  color:var(--ol-carrara);
  font-size:clamp(62px,7.4vw,126px);
  line-height:.86;
}
body[data-page="about"] .folco-name em{
  display:block;
  color:var(--ol-platinum);
  -webkit-text-fill-color:var(--ol-platinum);
}
body[data-page="about"] .folco-body{
  max-width:60ch;
}
body[data-page="about"] .folco-body p{
  margin:0 0 1.25em;
  color:oklch(.966 calc(var(--ol-c-body)*.07) var(--ol-h-pap) / .82) !important;
  font-size:clamp(16px,1.18vw,19px);
  line-height:1.78;
}
body[data-page="about"] .folco-signature{
  display:grid;
  gap:4px;
  width:max-content;
  max-width:100%;
  margin-top:38px;
  padding-top:18px;
  border-top:1px solid oklch(.7724 calc(var(--ol-c-body)*.438) var(--ol-h) / .32);
  color:var(--ol-carrara);
}
body[data-page="about"] .folco-signature small{
  color:oklch(.9046 calc(var(--ol-c-body)*.11) var(--ol-h) / .68);
  letter-spacing:.16em;
  text-transform:uppercase;
}

/* Le film historique complet appartient uniquement à La Maison. L'accueil
   utilise désormais une photographie d'atelier et une promesse différente. */
body[data-page="index"] .legacy-media img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  filter:brightness(.78) contrast(1.08) saturate(.72);
  transform:scale(1.012);
  transition:transform 1.6s var(--ol-ease),filter 1.1s ease;
}
body[data-page="index"] .legacy-film:hover .legacy-media img{
  transform:scale(1.035);
  filter:brightness(.9) contrast(1.06) saturate(.86);
}

/* INAUGURATION — le Portale del Tempo redevient le monument de la scène. */
body[data-page="inauguration-dubai"] .dxb-hero{
  min-height:100svh;
}
body[data-page="inauguration-dubai"] .dxb-hero-in{
  position:relative;
  z-index:4;
  width:min(1280px,calc(100% - 2*var(--pad)));
  margin-inline:auto;
  padding-bottom:clamp(72px,9vh,116px);
}
body[data-page="inauguration-dubai"] .dxb-monument{
  position:absolute;
  z-index:2;
  top:24%;
  right:clamp(20px,5vw,88px);
  width:min(43vw,720px);
  margin:0;
  transform:translateY(-32%);
  opacity:.74;
  pointer-events:none;
  filter:drop-shadow(0 34px 90px rgba(0,0,0,.52));
}
body[data-page="inauguration-dubai"] .dxb-monument img{
  position:relative;
  z-index:2;
  display:block;
  width:100%;
  height:auto;
  filter:brightness(1.22) contrast(1.08) saturate(.72);
}
body[data-page="inauguration-dubai"] .dxb-monument-aura{
  position:absolute;
  z-index:1;
  inset:8% 2% 0;
  border-radius:50%;
  background:radial-gradient(circle,oklch(.8792 calc(var(--ol-c-body)*.32) var(--ol-h) / .34),oklch(.7318 calc(var(--ol-c-body)*.553) var(--ol-h) / .13) 42%,transparent 72%);
  filter:blur(26px);
}
body[data-page="inauguration-dubai"] .dxb-h1,
body[data-page="inauguration-dubai"] .dxb-sub,
body[data-page="inauguration-dubai"] .dxb-date{
  max-width:min(760px,62vw);
  text-shadow:0 8px 38px oklch(.1356 calc(var(--ol-c-body)*.285) var(--ol-h) / .78);
}

/* Aucun instrument flottant ne masque une composition éditoriale. */
body[data-page="inauguration-dubai"] .cv912-countdown-compact{
  display:none !important;
}
html.cv912-scrolled .cv912-countdown-compact{
  opacity:0 !important;
  visibility:hidden !important;
  pointer-events:none !important;
  transform:translate3d(0,-12px,0) !important;
}
body[data-page] .hc-intuition{
  display:none !important;
}

/* Les commandes restent disponibles dans la scène d'ouverture, puis se
   retirent dès que la lecture commence : aucun cartouche ne recouvre une
   photographie, une plaque ou un texte éditorial. */
body[data-page].hc-defile #vg-btn,
body[data-page].hc-defile #oc-sound-toggle,
body[data-page].hc-defile .oc-sound-toggle{
  opacity:0 !important;
  visibility:hidden !important;
  pointer-events:none !important;
  transform:translateY(12px) !important;
}

/* Champ lumineux dédié : une lame froide et son écho chaud parcourent le
   document au rythme du défilement, sans jamais intercepter un geste. */
body[data-page] .ol-lightfield{
  --ol-light-x:-34vw;
  --ol-light-y:8vh;
  --ol-light-turn:-11deg;
  position:fixed;
  z-index:48;
  top:0;
  left:0;
  width:38vw;
  height:110vh;
  pointer-events:none;
  transform:translate3d(var(--ol-light-x),var(--ol-light-y),0) rotate(var(--ol-light-turn));
  transform-origin:center;
  opacity:.38;
  mix-blend-mode:screen;
  will-change:transform;
  contain:strict;
}
body[data-page] .ol-lightfield__core,
body[data-page] .ol-lightfield__echo{
  position:absolute;
  inset:0;
  display:block;
}
body[data-page] .ol-lightfield__core{
  background:linear-gradient(90deg,transparent 18%,oklch(.8792 calc(var(--ol-c-body)*.32) var(--ol-h) / .025) 37%,oklch(.966 calc(var(--ol-c-body)*.07) var(--ol-h-pap) / .18) 49.5%,oklch(.8792 calc(var(--ol-c-body)*.32) var(--ol-h) / .055) 56%,transparent 76%);
  filter:blur(9px);
}
body[data-page] .ol-lightfield__echo{
  inset:12% 12% 8% 28%;
  background:radial-gradient(ellipse,oklch(.7625 calc(var(--ol-c-pat)*.821) var(--ol-h-pat) / .11),oklch(.7724 calc(var(--ol-c-body)*.438) var(--ol-h) / .045) 42%,transparent 74%);
  filter:blur(34px);
}

/* Sur les moteurs qui savent lier une animation au défilement, le rai passe
   entièrement sur le compositeur. Le JavaScript conserve les mêmes variables
   comme repli pour les navigateurs plus anciens. */
@supports (animation-timeline:scroll()){
  @media (prefers-reduced-motion:no-preference){
    body[data-page] .ol-lightfield{
      animation:olLightTraverse 1ms linear both;
      animation-timeline:scroll(root block);
    }
    @keyframes olLightTraverse{
      0%  {transform:translate3d(-38vw,8vh,0) rotate(-12deg);opacity:.20}
      44% {transform:translate3d(24vw,34vh,0) rotate(-2deg);opacity:.42}
      72% {transform:translate3d(58vw,18vh,0) rotate(6deg);opacity:.34}
      100%{transform:translate3d(92vw,7vh,0) rotate(11deg);opacity:.18}
    }
  }
}

/* Les transitions inter-documents prennent une direction éditoriale. Une
   fiche s'ouvre comme un plan rapproché, un retour respire vers l'arrière et
   une rubrique glisse latéralement. Les sélecteurs sont ignorés si le moteur
   ne prend pas encore en charge les types de View Transition. */
@media (prefers-reduced-motion:no-preference){
  html:active-view-transition-type(ol-detail)::view-transition-old(root){
    animation:olDetailOld .38s cubic-bezier(.55,0,.84,.22) both;
  }
  html:active-view-transition-type(ol-detail)::view-transition-new(root){
    animation:olDetailNew .68s cubic-bezier(.16,1,.3,1) both;
  }
  html:active-view-transition-type(ol-rubrique)::view-transition-old(root){
    animation:olSectionOld .34s cubic-bezier(.4,0,.2,1) both;
  }
  html:active-view-transition-type(ol-rubrique)::view-transition-new(root){
    animation:olSectionNew .62s cubic-bezier(.16,1,.3,1) both;
  }
  html:active-view-transition-type(ol-retour)::view-transition-old(root){
    animation:olBackOld .34s cubic-bezier(.4,0,.2,1) both;
  }
  html:active-view-transition-type(ol-retour)::view-transition-new(root){
    animation:olBackNew .58s cubic-bezier(.16,1,.3,1) both;
  }
  @keyframes olDetailOld{to{opacity:.16;transform:scale(.972);filter:blur(5px) brightness(.72)}}
  @keyframes olDetailNew{from{opacity:0;transform:scale(1.026);clip-path:inset(0 0 100% 0);filter:brightness(.76)}to{opacity:1;transform:none;clip-path:inset(0);filter:none}}
  @keyframes olSectionOld{to{opacity:.12;transform:translate3d(-2.2vw,0,0);filter:blur(4px)}}
  @keyframes olSectionNew{from{opacity:0;transform:translate3d(2.8vw,0,0);filter:blur(7px)}to{opacity:1;transform:none;filter:none}}
  @keyframes olBackOld{to{opacity:.10;transform:translate3d(2vw,0,0) scale(1.01);filter:blur(4px)}}
  @keyframes olBackNew{from{opacity:0;transform:translate3d(-2.4vw,0,0) scale(.99);filter:blur(6px)}to{opacity:1;transform:none;filter:none}}
}

@media (max-width:900px){
  body[data-page="about"] .folco{
    padding:82px 22px 104px;
  }
  body[data-page="about"] .folco-grid{
    grid-template-columns:minmax(0,1fr);
    gap:52px;
  }
  body[data-page="about"] .folco-grid>div:first-child{
    width:min(100%,620px);
    margin-inline:auto;
  }
  body[data-page="about"] .folco-portrait{
    height:min(72svh,720px) !important;
    min-height:480px !important;
  }
  body[data-page="about"] .folco-text{
    max-width:720px;
    margin-inline:auto;
  }
  body[data-page="inauguration-dubai"] .dxb-monument{
    right:-8vw;
    width:min(70vw,600px);
    opacity:.42;
  }
  body[data-page="inauguration-dubai"] .dxb-h1,
  body[data-page="inauguration-dubai"] .dxb-sub,
  body[data-page="inauguration-dubai"] .dxb-date{
    max-width:88vw;
  }
  body[data-page] .ol-lightfield{
    width:58vw;
    opacity:.24;
  }
}

@media (max-width:1180px){
  /* Le menu reste entièrement atteignable sur téléphone et en paysage,
     même lorsque sa hauteur utile est inférieure à la somme des rubriques. */
  body[data-page] .nav{
    box-sizing:border-box;
    justify-content:flex-start;
    gap:12px;
    overflow-y:auto;
    overscroll-behavior:contain;
    padding:max(92px,calc(env(safe-area-inset-top) + 72px)) 24px
            max(38px,calc(env(safe-area-inset-bottom) + 24px));
  }
  body[data-page] .nav .nl{line-height:1.05}
}

@media (max-width:560px){
  body[data-page="about"] .folco-portrait{
    min-height:430px !important;
    height:62svh !important;
  }
  body[data-page="about"] .folco-plaque{
    bottom:74px;
    padding:15px 16px;
  }
  body[data-page="about"] .folco-name{
    font-size:clamp(54px,19vw,84px);
  }
  body[data-page="inauguration-dubai"] .dxb-monument{
    top:38%;
    right:-20vw;
    width:92vw;
    opacity:.30;
  }
}

@media (prefers-reduced-motion:reduce){
  body[data-page] .ol-lightfield{display:none;}
  ::view-transition-old(root),::view-transition-new(root){animation:none;}
}
