
:root{
  --ink-000:#0c0a0d; --ink-100:#18141a; --ink-200:#201a23;
  --ivory:#ece7e4;
  --muted:rgba(236,231,228,.68);
  --faint:rgba(236,231,228,.42);
  --rose:#e084a0;
  --rose-dim:rgba(224,132,160,.38);
  --line:rgba(236,231,228,.13);
  --line-hi:rgba(236,231,228,.24);
  --glass:rgba(255,255,255,.045);
  --r-lg:16px; --r-md:12px; --r-sm:8px;
  --ease-out:cubic-bezier(.22,1,.36,1);
  --pad:clamp(22px,5vw,68px);
  --maxw:1180px;
  --serif:"Cormorant Garamond",Georgia,"Times New Roman",serif;
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;
  scrollbar-width:thin;scrollbar-color:rgba(224,132,160,.35) transparent}
@supports (overflow:clip){html{overflow-x:clip}}

::-webkit-scrollbar{width:10px;height:10px}
::-webkit-scrollbar-track{background:transparent}
::-webkit-scrollbar-thumb{background-color:rgba(224,132,160,.28);
  border-radius:99px;border:2px solid transparent;background-clip:padding-box}
::-webkit-scrollbar-thumb:hover{background-color:rgba(224,132,160,.45)}
body{
  margin:0;color:var(--ivory);
  background:
    radial-gradient(ellipse 100% 60% at 18% -8%,rgba(224,132,160,.16),transparent 60%),
    radial-gradient(ellipse 80% 55% at 100% 12%,rgba(196,120,150,.11),transparent 65%),
    linear-gradient(165deg,#100c13 0%,var(--ink-200) 55%,var(--ink-000) 100%);
  background-attachment:fixed,fixed,fixed;
  font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;
  font-size:clamp(16.5px,1.15vw,18px);font-weight:300;line-height:1.7;
  -webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;
}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
button,input,textarea,select{font:inherit;color:inherit}
h1,h2,h3{margin:0;font-family:var(--serif);font-weight:300;line-height:1.1;letter-spacing:-.005em}
p{margin:0}
ul{margin:0;padding:0;list-style:none}
:focus-visible{outline:1px solid var(--rose);outline-offset:4px}
::selection{background:var(--rose-dim);color:var(--ivory)}

.haze{position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden}
.haze i{position:absolute;border-radius:50%;filter:blur(60px);display:block}
.haze i:nth-child(1){width:70vw;height:70vw;left:-22vw;top:-18vw;
  background:radial-gradient(circle,rgba(224,132,160,.13),transparent 68%)}
.haze i:nth-child(2){width:56vw;height:56vw;right:-20vw;top:52%;
  background:radial-gradient(circle,rgba(196,130,165,.10),transparent 70%)}
.grain{position:fixed;inset:0;z-index:1;pointer-events:none;opacity:.03;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}

.wrap{width:100%;max-width:var(--maxw);margin-inline:auto;padding-inline:var(--pad);position:relative;z-index:2}
section{position:relative;z-index:2}
.sec{padding-block:clamp(58px,8vw,104px)}

.label{font-size:11.5px;font-weight:400;letter-spacing:.26em;text-transform:uppercase;color:var(--faint);
  display:inline-flex;align-items:center;gap:14px}
.label::before{content:"";width:24px;height:1px;background:var(--rose-dim)}
.label--title{font-family:var(--serif);font-size:clamp(2.2rem,5.15vw,3.55rem);font-weight:300;
  letter-spacing:-.01em;text-transform:none;color:var(--ivory);gap:20px}
.label--title::before{width:36px;height:1px}

@media (max-width:420px){
  .label--title-tight{font-size:clamp(1.7rem,7vw,3.55rem)}
}
.lead{color:var(--muted);max-width:58ch;font-size:clamp(16px,1.15vw,17.5px);line-height:1.85}

.glass{background:var(--glass);
  -webkit-backdrop-filter:blur(14px) saturate(115%);backdrop-filter:blur(14px) saturate(115%);
  border:1px solid var(--line);border-radius:var(--r-lg)}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){
  .glass{background:rgba(34,28,38,.9)}
}

.glass-liquid{position:relative}
.glass-liquid::before{content:"";position:absolute;inset:0;pointer-events:none;opacity:0;
  border-radius:inherit;transition:opacity .8s cubic-bezier(.16,1,.3,1);
  background:radial-gradient(280px circle at var(--mx,50%) var(--my,0%),
    rgba(255,255,255,.13),rgba(224,132,160,.08) 50%,transparent 80%)}
.glass-liquid:hover::before,.glass-liquid:focus-within::before{opacity:1}

.btn{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:0 28px;
  border-radius:2px;border:1px solid var(--line-hi);background:transparent;color:var(--ivory);
  font-size:13px;font-weight:400;letter-spacing:.16em;text-transform:uppercase;cursor:pointer;
  position:relative;
  transition:border-color .45s var(--ease-out),background .45s var(--ease-out),color .45s var(--ease-out)}
.btn:hover,.btn:focus-visible{border-color:var(--rose);background:rgba(217,115,143,.07)}
.btn--light{background:var(--ivory);border-color:var(--ivory);color:#141416}
.btn--light:hover,.btn--light:focus-visible{background:#fff;border-color:#fff;color:#141416}
.btn:active{transform:translateY(1px)}

.btn--glass{background:rgba(255,255,255,.06);border-color:var(--line-hi);color:var(--ivory);
  -webkit-backdrop-filter:blur(18px) saturate(160%);backdrop-filter:blur(18px) saturate(160%)}
.btn--glass:hover,.btn--glass:focus-visible{background:rgba(255,255,255,.11);border-color:var(--rose-dim);color:var(--ivory)}

.btn--halo{border-color:var(--rose-dim)}
.btn--halo::before{content:"";position:absolute;inset:-8px;z-index:-1;border-radius:inherit;
  pointer-events:none;background:radial-gradient(circle,rgba(224,132,160,.4),transparent 70%);
  filter:blur(11px);opacity:.5;transition:opacity .6s var(--ease-out)}
.btn--halo:hover::before,.btn--halo:focus-visible::before{opacity:.85}

.btn::after{content:"";position:absolute;inset:-3px;border-radius:inherit;pointer-events:none;
  box-shadow:0 0 0 0 rgba(224,132,160,0);opacity:0}
.btn.is-halo::after{animation:halo-breathe 1.05s var(--ease-out)}
@keyframes halo-breathe{
  0%{box-shadow:0 0 0 0 rgba(224,132,160,0);opacity:0}
  14%{box-shadow:0 0 6px 2px rgba(224,132,160,.4);opacity:1}
  55%{box-shadow:0 0 16px 10px rgba(224,132,160,.16);opacity:.6}
  100%{box-shadow:0 0 18px 18px rgba(224,132,160,0);opacity:0}
}

.hdr{position:fixed;top:0;left:0;right:0;z-index:60;padding-top:env(safe-area-inset-top);
  overflow:hidden;border-bottom:1px solid transparent;
  transition:background .5s,border-color .5s,backdrop-filter .5s,box-shadow .5s}

.hdr.is-stuck,.is-open .hdr{background:rgba(15,12,17,.34);border-bottom-color:var(--line);
  -webkit-backdrop-filter:blur(2.5px) saturate(140%);backdrop-filter:blur(2.5px) saturate(140%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.18),0 12px 30px rgba(0,0,0,.22)}
.hdr::before{content:"";position:absolute;inset:0;pointer-events:none;opacity:0;
  transition:opacity .5s;
  background:linear-gradient(115deg,rgba(255,255,255,.10) 0%,transparent 30%,transparent 72%,rgba(255,255,255,.05) 100%)}
.hdr.is-stuck::before,.is-open .hdr::before{opacity:1}
.hdr__in{display:flex;align-items:center;justify-content:space-between;gap:20px;height:70px}
.hdr__logo img{width:clamp(96px,11vw,124px)}
.nav{display:flex;align-items:center;gap:clamp(18px,2.4vw,34px)}
.nav a{font-size:12.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);
  padding:6px 0;position:relative;transition:color .35s}
.nav a::after{content:"";position:absolute;left:0;bottom:0;width:100%;height:1px;background:var(--rose);
  transform:scaleX(0);transform-origin:right;transition:transform .45s var(--ease-out)}
.nav a:hover{color:var(--ivory)}
.nav a:hover::after{transform:scaleX(1);transform-origin:left}
.burger{display:none;width:44px;height:44px;align-items:center;justify-content:center;background:none;border:0;cursor:pointer}
.burger span{display:block;width:20px;height:1px;background:var(--ivory);position:relative;transition:background .3s}
.burger span::before,.burger span::after{content:"";position:absolute;left:0;width:20px;height:1px;background:var(--ivory);
  transition:transform .45s var(--ease-out)}
.burger span::before{top:-6px}.burger span::after{top:6px}
.is-open .burger span{background:transparent}
.is-open .burger span::before{transform:translateY(6px) rotate(45deg)}
.is-open .burger span::after{transform:translateY(-6px) rotate(-45deg)}
@media (max-width:900px){
  .nav{display:none}
  .burger{display:flex}

  .drawer{position:fixed;top:calc(72px + env(safe-area-inset-top));right:14px;
    z-index:55;width:min(240px,68vw);
    background:rgba(24,19,27,.6);-webkit-backdrop-filter:blur(2.5px) saturate(140%);
    backdrop-filter:blur(2.5px) saturate(140%);
    border:1px solid rgba(255,255,255,.14);border-radius:20px;
    box-shadow:0 20px 50px rgba(0,0,0,.45),inset 0 1px 0 rgba(255,255,255,.08);
    display:none;flex-direction:column;gap:10px;
    padding:10px 10px calc(10px + env(safe-area-inset-bottom))}
  .is-open .drawer{display:flex}

  .drawer::after{content:"";position:absolute;inset:0;border-radius:inherit;
    pointer-events:none;padding:12px;
    -webkit-backdrop-filter:blur(11px) saturate(150%);backdrop-filter:blur(11px) saturate(150%);
    -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}

  .drawer__nav{position:relative;display:flex;flex-direction:column}

  .drawer__sel{position:absolute;left:0;right:0;top:0;height:0;border-radius:12px;
    background:rgba(224,132,160,.16);border:1px solid rgba(224,132,160,.32);
    opacity:0;pointer-events:none;z-index:0;
    transition:transform .4s var(--ease-out),height .4s var(--ease-out),opacity .25s}
  .drawer a{position:relative;z-index:1;font-family:Inter,sans-serif;font-size:14px;
    font-weight:400;letter-spacing:.03em;color:var(--muted);
    padding:11px 14px;border-radius:12px;
    opacity:0;transform:translateY(6px);
    transition:opacity .3s var(--ease-out),transform .3s var(--ease-out),color .25s}
  .drawer a:hover,.drawer a:focus-visible{color:var(--ivory)}
  .is-open .drawer a{opacity:1;transform:none}
  .drawer__nav a:nth-child(2){transition-delay:.04s}
  .drawer__nav a:nth-child(3){transition-delay:.07s}
  .drawer__nav a:nth-child(4){transition-delay:.1s}
  .drawer__nav a:nth-child(5){transition-delay:.13s}
  .drawer__nav a:nth-child(6){transition-delay:.16s}
  .drawer .btn{font-size:11.5px;letter-spacing:.14em;white-space:nowrap;line-height:1;
    opacity:0;transition:opacity .3s var(--ease-out) .19s}
  .is-open .drawer .btn{opacity:1}
}
@media (min-width:901px){.drawer{display:none}}

.hero{height:132vh;position:relative}
@media (max-width:900px){.hero{height:122svh}}
.hero__stage{position:sticky;top:0;height:100svh;min-height:520px;overflow:hidden;
  background:var(--ink-000);display:flex;flex-direction:column;
  align-items:center;justify-content:center}

.mark{position:relative;width:min(78vw,700px);margin-bottom:clamp(34px,6vh,72px);
  opacity:0;filter:blur(32px);transform:scale(1.04);
  transition:opacity 1.9s var(--ease-out),filter 2.6s var(--ease-out),transform 2.6s var(--ease-out)}
.mark img{width:100%}
.hero.is-ready .mark{opacity:1;filter:blur(0);transform:none}

@keyframes mark-echo{
  0%{filter:blur(5px);opacity:.82;transform:scale(1.006)}
  100%{filter:blur(0);opacity:1;transform:none}
}
.mark.is-echo{animation:mark-echo 2.2s var(--ease-out)}

.hero__ui{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;gap:26px;text-align:center;
  padding:0 var(--pad)}
.hero__loc{opacity:0;transform:translate3d(0,14px,0);
  transition:opacity 1s var(--ease-out) .9s,transform 1s var(--ease-out) .9s;
  font-size:10.5px;letter-spacing:.28em;text-transform:uppercase;color:var(--muted);
  display:flex;align-items:center;gap:14px;flex-wrap:wrap;justify-content:center}
.hero__acts{display:flex;gap:12px;flex-wrap:wrap;justify-content:center;
  opacity:0;transform:translate3d(0,16px,0);
  transition:opacity 1s var(--ease-out) 1.1s,transform 1s var(--ease-out) 1.1s}
.hero.is-ready .hero__loc,.hero.is-ready .hero__acts{opacity:1;transform:none}
.hero__cue{position:absolute;left:50%;bottom:26px;transform:translateX(-50%);z-index:2;
  display:flex;flex-direction:column;align-items:center;gap:10px;
  font-size:9.5px;letter-spacing:.28em;text-transform:uppercase;color:var(--faint);
  padding-bottom:env(safe-area-inset-bottom)}
.hero__cue i{font-style:normal}
.hero__cue-pill{position:relative;width:24px;height:38px;border-radius:999px;
  border:1px solid var(--line-hi);background:rgba(255,255,255,.06);
  -webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.hero__cue-pill::before{content:"";position:absolute;left:50%;top:27px;width:4px;height:4px;
  border-radius:50%;background:var(--rose);transform:translateX(-50%);
  box-shadow:0 0 6px 1px rgba(224,132,160,.6);
  animation:cue-drop 1.9s ease-in-out infinite}
@keyframes cue-drop{
  0%{opacity:0;transform:translate(-50%,0)}
  25%{opacity:1}
  65%{opacity:1}
  100%{opacity:0;transform:translate(-50%,-15px)}
}
.hero__fade{position:absolute;left:0;right:0;bottom:0;height:34vh;pointer-events:none;
  background:linear-gradient(to bottom,transparent 0%,var(--ink-000) 45%,var(--ink-200) 100%)}

.no-js .mark{opacity:1;filter:none;transform:none}
.no-js .hero__loc,.no-js .hero__acts{opacity:1;transform:none}

.about .lead,.about .about__pitch,.about .about__signoff{max-width:640px}
.about__pitch{margin:clamp(26px,3.6vw,40px) 0 0;font-family:var(--serif);font-weight:300;
  font-size:clamp(1.45rem,3vw,2rem);line-height:1.4;color:var(--ivory)}
.about__accent{color:var(--rose)}
.about .wrap>.lead{margin-top:clamp(18px,2.6vw,26px)}
.about__signoff{margin-top:clamp(18px,2.6vw,26px);color:var(--muted);
  font-size:clamp(16px,1.15vw,17.5px);line-height:1.85}

.sec__head{display:flex;flex-direction:column;gap:18px;margin-bottom:clamp(38px,5vw,62px);max-width:640px}
.cards{display:flex;gap:clamp(14px,2vw,22px);overflow-x:auto;overflow-y:hidden;
  scroll-snap-type:x proximity;scroll-padding-inline:var(--pad);
  margin-inline:calc(var(--pad)*-1);padding:10px var(--pad) 30px;
  scrollbar-width:thin;scrollbar-color:rgba(224,132,160,.35) transparent;-webkit-overflow-scrolling:touch}
.cards::-webkit-scrollbar{height:6px}
.cards::-webkit-scrollbar-thumb{background-color:rgba(224,132,160,.28);border-radius:99px}
.cards::-webkit-scrollbar-thumb:hover{background-color:rgba(224,132,160,.45)}
.cards::-webkit-scrollbar-track{background:transparent}
.card{flex:0 0 clamp(260px,42vw,340px);scroll-snap-align:center;
  padding:clamp(26px,3vw,40px);display:flex;flex-direction:column;min-height:210px;
  transition:border-color .5s var(--ease-out),background .5s var(--ease-out),
    transform .5s var(--ease-out),filter .3s linear}
.card:hover{border-color:var(--line-hi);background:rgba(255,255,255,.055);transform:translate3d(0,-4px,0)}
.card__tag{font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--faint)}
.card h3{font-size:clamp(1.4rem,2.2vw,1.8rem);margin-top:14px}
.card p{margin-top:14px;color:var(--muted);font-size:15.5px;line-height:1.75}
.card__price{margin-top:22px;padding-top:16px;border-top:1px solid var(--line);
  font-size:13px;letter-spacing:.1em;color:var(--muted)}
.card--wide{flex-basis:clamp(320px,58vw,600px)}

@media (max-width:760px){.card{flex-basis:74vw}.card--wide{flex-basis:82vw}}

.presta__cue{display:flex;flex-direction:column;align-items:center;gap:8px;
  width:max-content;margin:14px auto 0;
  font-size:9.5px;letter-spacing:.28em;text-transform:uppercase;color:var(--faint);
  opacity:1;transition:opacity .4s var(--ease-out)}
.presta__cue.is-hidden{opacity:0}
.presta__cue i{font-style:normal}
.presta__cue-pill{position:relative;width:38px;height:24px;border-radius:999px;
  border:1px solid var(--line-hi);background:rgba(255,255,255,.06);
  -webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.presta__cue-pill::before{content:"";position:absolute;top:50%;left:7px;width:4px;height:4px;
  border-radius:50%;background:var(--rose);transform:translateY(-50%);
  box-shadow:0 0 6px 1px rgba(224,132,160,.6);
  animation:cue-drop-h 1.9s ease-in-out infinite}
@keyframes cue-drop-h{
  0%{opacity:0;transform:translate(15px,-50%)}
  25%{opacity:1}
  65%{opacity:1}
  100%{opacity:0;transform:translate(0,-50%)}
}

.folio-cats{display:grid;grid-template-columns:1fr 1fr;gap:clamp(12px,2vw,20px);margin-bottom:clamp(24px,3.5vw,36px)}

@media (max-width:640px){
  .folio-cats{grid-template-columns:1fr}
}
.folio-cat{position:relative;aspect-ratio:3/4;padding:0;border:1px solid var(--line);border-radius:var(--r-md);
  overflow:hidden;cursor:pointer;background:var(--ink-200);isolation:isolate;
  transition:border-color .5s}
.folio-cat__bg{position:absolute;inset:-10px;z-index:0;display:block;
  background-size:cover;background-position:center;
  filter:blur(4px) saturate(.85) brightness(.75);transform:scale(1.08);
  transition:filter .6s var(--ease-out),transform .6s var(--ease-out)}
.folio-cat::after{content:'';position:absolute;inset:0;z-index:1;
  background:linear-gradient(to top,rgba(18,14,20,.78),rgba(18,14,20,.12) 55%)}
.folio-cat:hover,.folio-cat:focus-visible{border-color:var(--line-hi)}
.folio-cat:hover .folio-cat__bg,.folio-cat:focus-visible .folio-cat__bg,.folio-cat[aria-selected="true"] .folio-cat__bg{
  filter:blur(2px) saturate(1) brightness(.85);transform:scale(1.02)}
.folio-cat[aria-selected="true"]{border-color:var(--rose-dim)}

@media (hover:none){
  .folio-cat__bg,
  .folio-cat:hover .folio-cat__bg,
  .folio-cat:focus-visible .folio-cat__bg,
  .folio-cat[aria-selected="true"] .folio-cat__bg{
    filter:blur(1.5px) saturate(1) brightness(.85);transform:scale(1.02)}
}
.folio-cat__label{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;
  justify-content:flex-end;gap:6px;height:100%;padding-bottom:22px;text-align:center;
  font-family:var(--serif);font-size:clamp(20px,2.4vw,28px);font-weight:300;letter-spacing:.02em;color:var(--ivory)}
.folio-cat__sub{font-family:Inter,system-ui,sans-serif;font-style:normal;font-size:11px;
  letter-spacing:.18em;text-transform:uppercase;color:var(--faint)}
.folio-cat__sub--cta{color:var(--rose);animation:cta-pulse 2.4s ease-in-out infinite}
@keyframes cta-pulse{0%,100%{opacity:.6}50%{opacity:1}}
.folio-cat__arrow{display:inline-block;margin-left:5px;animation:cta-nudge 2.4s ease-in-out infinite}
@keyframes cta-nudge{0%,100%{transform:translateX(0)}50%{transform:translateX(4px)}}

.gal{display:none}
.tile{position:relative;break-inside:avoid;margin-bottom:clamp(12px,1.6vw,16px);width:100%;padding:0;
  border:1px solid var(--line);border-radius:var(--r-md);overflow:hidden;cursor:pointer;background:var(--ink-200);
  transition:border-color .5s,transform .5s var(--ease-out),opacity .5s var(--ease-out)}
.tile[hidden]{display:none}
.tile img{width:100%;transition:transform 1.1s var(--ease-out)}
.tile:hover{border-color:var(--line-hi);transform:translate3d(0,-4px,0)}
.tile:hover img{transform:scale(1.04)}

.lb{position:fixed;inset:0;z-index:90;display:none;place-items:center;padding:24px;
  background:rgba(14,11,16,.98)}
.lb.is-on{display:grid}
.lb__stage{display:flex;align-items:center;justify-content:center;gap:18px;
  width:100%;max-width:1160px;overflow:hidden}
#lbImg{flex:0 1 auto;max-width:min(820px,74vw);max-height:78svh;
  border-radius:var(--r-md);border:1px solid var(--line);position:relative;z-index:1}

.lb__peek{flex:0 0 auto;width:20vw;height:56svh;border-radius:var(--r-md);
  border:1px solid var(--line);filter:blur(6px) brightness(.55);opacity:.7;
  object-fit:cover;cursor:pointer;transition:filter .2s,opacity .2s}
.lb__peek:hover,.lb__peek:focus-visible{filter:blur(4px) brightness(.7);opacity:.85}
.lb__peek:not([src]),.lb__peek[src=""]{visibility:hidden;pointer-events:none}

@media (hover:none){
  .lb__peek{filter:blur(4px) brightness(.7);opacity:.85}
}
@media (max-width:640px){
  .lb__stage{gap:6px}
  #lbImg{max-width:62vw}
  .lb__peek{width:9vw;height:40svh}
}
.lb__x{position:absolute;top:calc(18px + env(safe-area-inset-top));right:18px;width:46px;height:46px;
  border-radius:50%;border:1px solid var(--line-hi);background:rgba(255,255,255,.06);
  -webkit-backdrop-filter:blur(12px) saturate(150%);backdrop-filter:blur(12px) saturate(150%);
  cursor:pointer;display:grid;place-items:center;font-size:17px;line-height:1;z-index:2}

.lb__arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:2;
  width:48px;height:48px;border-radius:50%;border:1px solid var(--line-hi);
  background:rgba(255,255,255,.06);-webkit-backdrop-filter:blur(12px) saturate(150%);
  backdrop-filter:blur(12px) saturate(150%);color:var(--ivory);cursor:pointer;
  display:grid;place-items:center;transition:border-color .35s,background .35s}
.lb__arrow:hover,.lb__arrow:focus-visible{border-color:var(--rose);background:rgba(217,115,143,.14)}
.lb__arrow svg{width:19px;height:19px}
.lb__arrow--prev{left:14px}
.lb__arrow--next{right:14px}
.lb__arrow[disabled]{opacity:.25;pointer-events:none}
@media (max-width:640px){.lb__arrow{width:42px;height:42px}}

.materiel__photo{max-width:min(560px,88vw);margin-inline:auto;border-radius:var(--r-lg);
  overflow:hidden;border:1px solid var(--line)}
.materiel__photo img{width:100%;display:block}

.proc{position:relative}
.proc__rail{position:absolute;left:0;top:6px;bottom:6px;width:1px;background:var(--line)}
.proc__rail i{position:absolute;inset:0;background:var(--rose-dim);transform:scaleY(0);transform-origin:top}
.proc__rail b{position:absolute;left:50%;top:0;width:9px;height:9px;border-radius:50%;
  background:var(--rose);transform:translate(-50%,-50%);opacity:0;pointer-events:none;
  box-shadow:0 0 10px 3px rgba(224,132,160,.65),0 0 24px 9px rgba(224,132,160,.3);
  transition:opacity .4s var(--ease-out)}
.proc__rail b.is-active{opacity:1}
.step{position:relative;padding:0 0 clamp(34px,5vw,54px) clamp(40px,5vw,68px)}
.step__n{position:absolute;left:0;top:2px;width:9px;height:9px;border-radius:50%;
  background:var(--ink-100);border:1px solid var(--line-hi);transform:translateX(-50%) scale(1);
  transition:border-color .5s var(--ease-out),background .5s var(--ease-out),
    transform .5s var(--ease-out),box-shadow .5s var(--ease-out)}
.step.is-on .step__n{border-color:var(--rose);background:var(--rose);
  transform:translateX(-50%) scale(1.4);box-shadow:0 0 9px 2px rgba(224,132,160,.55)}
.step__n::after{content:"";position:absolute;inset:-4px;border-radius:50%;pointer-events:none;
  box-shadow:0 0 0 0 rgba(224,132,160,0);opacity:0}
.step__n.is-pulse::after{animation:halo-breathe 1.05s var(--ease-out)}
.step em{font-style:normal;font-size:11px;letter-spacing:.24em;color:var(--faint);text-transform:uppercase}
.step h3{font-size:clamp(1.25rem,2.1vw,1.55rem);margin-top:10px}
.step p{margin-top:10px;color:var(--muted);max-width:60ch;font-size:15.5px;line-height:1.75}

.avis-cta{max-width:729px;margin-inline:auto;padding:clamp(34px,4.4vw,54px);
  display:flex;flex-direction:column;align-items:center;gap:18px;text-align:center}
.avis-cta__stars{font-size:19px;letter-spacing:.3em;color:var(--rose);cursor:default;
  transition:color .4s var(--ease-out),filter .4s var(--ease-out)}
.avis-cta__stars:hover{color:#e7c98f;filter:drop-shadow(0 0 9px rgba(231,201,143,.6))}
.avis-cta__stars span{display:inline-block}
.avis-cta__text{color:var(--muted);max-width:44ch;font-size:15px;line-height:1.75}

.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

.contact{max-width:600px;margin-inline:auto;padding:clamp(8px,1.4vw,12px);
  background:var(--glass);-webkit-backdrop-filter:blur(20px) saturate(150%);
  backdrop-filter:blur(20px) saturate(150%);border:1px solid var(--line);
  border-radius:28px;overflow:hidden}
.contact__btn{position:relative;display:flex;align-items:center;gap:16px;
  padding:16px 18px;border-radius:20px;transition:background .35s var(--ease-out)}
.contact__btn:hover,.contact__btn:focus-visible{background:rgba(255,255,255,.06)}
.contact__ic{position:relative;z-index:1;flex:none;width:44px;height:44px;border-radius:50%;
  display:grid;place-items:center;background:rgba(255,255,255,.05);border:1px solid var(--line-hi);color:var(--rose)}
.contact__ic svg{width:19px;height:19px}
.contact__txt{position:relative;z-index:1;display:flex;flex-direction:column;gap:3px;
  text-align:left;min-width:0}
.contact__txt em{font-style:normal;font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--faint)}
.contact__txt b{font-family:var(--serif);font-weight:300;font-size:clamp(17px,2vw,20px);color:var(--ivory);
  overflow-wrap:break-word;word-break:break-word}
.contact__meta{position:relative;z-index:1;display:flex;flex-wrap:wrap;gap:16px 22px;
  padding:16px 18px 10px;margin-top:4px;border-top:1px solid var(--line)}
.contact__meta span{display:inline-flex;align-items:center;gap:8px;font-size:12.5px;color:var(--muted)}
.contact__meta svg{width:14px;height:14px;color:var(--rose);opacity:.85;flex:none}

.ftr{position:relative;padding-top:clamp(72px,9vw,110px);padding-bottom:calc(48px + env(safe-area-inset-bottom));
  text-align:center;background:var(--ink-100)}
.ftr::before{content:"";position:absolute;left:0;right:0;bottom:100%;height:140px;
  pointer-events:none;background:linear-gradient(to bottom,transparent,var(--ink-100))}
.ftr__logo{width:clamp(200px,32vw,330px);margin-inline:auto;opacity:.92}
.socials{display:flex;justify-content:center;gap:10px;margin-top:38px}
.soc{position:relative;width:46px;height:46px;border-radius:50%;display:grid;place-items:center;
  border:1px solid var(--line);background:rgba(255,255,255,.02);color:var(--muted);
  transition:border-color .4s,color .4s,background .4s,transform .4s var(--ease-out)}
.soc svg{width:17px;height:17px;position:relative;z-index:1}
.soc:hover,.soc:focus-visible{border-color:var(--rose-dim);color:var(--rose);
  background:rgba(255,255,255,.08);-webkit-backdrop-filter:blur(10px) saturate(160%);
  backdrop-filter:blur(10px) saturate(160%);transform:translateY(-2px)}

.soc.glass-liquid::before{background:radial-gradient(38px circle at var(--mx,50%) var(--my,50%),
    rgba(255,255,255,.32),rgba(224,132,160,.18) 60%,transparent 84%)}
.ftr__line{margin-top:34px;font-size:14px;color:var(--muted);line-height:2.1}
.ftr__line a:hover{color:var(--ivory)}
.ftr__legal{margin-top:24px;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--faint)}

.ftr__credit{margin-top:26px;font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--faint)}

.ftr__credit-text i{font-style:normal;display:inline-block;opacity:0;transform:translateY(5px);
  transition:opacity .28s var(--ease-out),transform .28s var(--ease-out)}
.ftr__credit-text i.is-in{opacity:1;transform:none}
.no-js .ftr__credit-text i{opacity:1;transform:none}

.mcta{position:fixed;left:14px;right:14px;bottom:calc(14px + env(safe-area-inset-bottom));z-index:50;
  display:none;
  transform:translate3d(0,150%,0);transition:transform .55s var(--ease-out)}
.mcta.is-on{transform:none}

.mcta__glass{display:flex;gap:10px;padding:10px;border-radius:4px;align-items:center;
  background:rgba(26,21,29,.58);-webkit-backdrop-filter:blur(2.5px) saturate(140%);
  backdrop-filter:blur(2.5px) saturate(140%);
  border:1px solid var(--line)}
.mcta .btn{flex:1;min-height:44px;padding:0 14px;font-size:12px;
  -webkit-backdrop-filter:blur(2px) saturate(160%);backdrop-filter:blur(2px) saturate(160%)}

.mcta .btn--light{background:rgba(255,255,255,.55);border-color:rgba(255,255,255,.65)}
.mcta .btn--light:hover,.mcta .btn--light:focus-visible{background:rgba(255,255,255,.78);border-color:#fff}
@media (max-width:900px){
  .mcta{display:block}
  .ftr{padding-bottom:calc(100px + env(safe-area-inset-bottom))}
}

.rv{opacity:0;transform:translate3d(0,24px,0);
  transition:opacity 1s var(--ease-out),transform 1s var(--ease-out)}
.rv.is-in{opacity:1;transform:none}
.no-js .rv{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;
    transition-duration:.001ms!important;scroll-behavior:auto!important}
  .rv{opacity:1;transform:none}
}
