:root{--bg:#12050f;--bg2:#1c0818;--red:#c0173f;--vio:#7a2bb5;--rose:#f0a6c4;--t:#f3e6ee;--m:#b9a0b0;--f:"Cormorant Garamond",Georgia,serif;--s:"Jost",system-ui,sans-serif;--gr:linear-gradient(135deg,var(--red),var(--vio));--e:cubic-bezier(.2,.7,.2,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth;color-scheme:dark}
body{margin:0;font:400 1.05rem/1.7 var(--s);color:var(--t);background:radial-gradient(ellipse at 10% 0,#2a0a24,transparent 50%),radial-gradient(ellipse at 100% 60%,#1d0a30,transparent 50%),var(--bg);background-attachment:fixed;overflow-x:hidden}
img{max-width:100%;height:auto;display:block}a{color:var(--rose)}
h1,h2,h3,.logo,blockquote{font-family:var(--f);font-weight:600;line-height:1.08;color:#fff}
h1{font-size:clamp(2.5rem,6vw,4.6rem);margin:.3em 0}h2{font-size:clamp(1.9rem,4vw,3rem);margin:.2em 0 .5em}h3{font-size:1.55rem;margin:0 0 .4em}
em{font-style:italic;background:linear-gradient(90deg,#ff5d8f,#c58bff);-webkit-background-clip:text;background-clip:text;color:transparent}
.wrap{max-width:1160px;margin:auto;padding:0 1.25rem}.pad{padding:5rem 1.25rem}.narrow{max-width:760px;padding-top:9rem}.center{text-align:center;margin-top:2.5rem}
.two{display:grid;grid-template-columns:1fr 1fr;gap:3.5rem;align-items:center}
.kicker{text-transform:uppercase;letter-spacing:.2em;font-size:.78rem;color:var(--rose);font-weight:500;margin:0}
.lead{font-size:1.2rem;color:var(--m);max-width:34em}
.bar{position:fixed;top:0;left:0;height:3px;width:100%;background:var(--gr);transform:scaleX(var(--p,0));transform-origin:0 50%;z-index:30}
/* menu */
.top{position:fixed;z-index:20;top:14px;left:50%;width:min(1100px,calc(100% - 24px));transform:translateX(-50%);display:flex;justify-content:space-between;align-items:center;padding:.65rem .8rem .65rem 1.6rem;border-radius:99px;background:rgba(40,10,40,.38);backdrop-filter:blur(18px) saturate(1.5);-webkit-backdrop-filter:blur(18px) saturate(1.5);border:1px solid rgba(255,255,255,.14);box-shadow:0 10px 40px -15px #000;transition:transform .5s var(--e),background .4s,padding .4s}
.top.scrolled{background:rgba(22,5,22,.72)}.top.hide{transform:translate(-50%,-160%)}
.logo{font-size:1.9rem;text-decoration:none;margin:0;color:#fff;letter-spacing:.02em}
nav{display:flex;gap:.4rem;align-items:center}
nav a:not(.btn){position:relative;text-decoration:none;color:var(--t);font-size:.95rem;padding:.5rem 1rem;border-radius:99px;transition:.3s}
nav a:not(.btn):after{content:"";position:absolute;left:1rem;right:1rem;bottom:.3rem;height:2px;background:var(--gr);transform:scaleX(0);transition:transform .4s var(--e)}
nav a:not(.btn):hover:after,nav a[aria-current]:after{transform:scaleX(1)}nav a[aria-current]{background:rgba(255,255,255,.08)}
.burger{display:none;width:46px;height:46px;border-radius:50%;border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.06);cursor:pointer;position:relative;z-index:25}
.burger i{position:absolute;left:13px;right:13px;height:2px;background:#fff;border-radius:2px;transition:.4s var(--e)}.burger i:first-child{top:18px}.burger i:last-child{top:26px}
.menu-open .burger i:first-child{top:22px;transform:rotate(45deg)}.menu-open .burger i:last-child{top:22px;transform:rotate(-45deg)}
.btn{display:inline-block;position:relative;overflow:hidden;background:var(--gr);color:#fff!important;padding:.9rem 1.9rem;border-radius:99px;text-decoration:none;border:0;font:500 1rem var(--s);cursor:pointer;transition:.3s;box-shadow:0 12px 30px -10px var(--red)}
.btn:before{content:"";position:absolute;top:0;left:-80%;width:50%;height:100%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.45),transparent);transform:skewX(-20deg);transition:left .7s}
.btn:hover{transform:translateY(-3px);box-shadow:0 18px 36px -10px var(--red)}.btn:hover:before{left:130%}.btn.sm{padding:.6rem 1.3rem;font-size:.9rem}
.btn.ghost{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.3);box-shadow:none;backdrop-filter:blur(8px)}
/* hero */
.hero{position:relative;padding:9rem 0 4.5rem;overflow:hidden}.hero:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(18,5,15,.55),var(--bg) 98%),url(img/soiree-champagne.webp) center/cover;opacity:.35;filter:saturate(1.3)}
.hero .two{position:relative;align-items:start}
.blob{position:absolute;border-radius:50%;filter:blur(90px);opacity:.55;animation:fl 14s ease-in-out infinite alternate}.b1{width:420px;height:420px;background:var(--red);top:-100px;left:-100px}.b2{width:480px;height:480px;background:var(--vio);right:-120px;bottom:-60px;animation-delay:-6s}
@keyframes fl{to{transform:translate(70px,50px) scale(1.2)}}@keyframes up{from{opacity:0;transform:translateY(40px)}}
.hero .ht>*{animation:up 1s var(--e) both}.hero .ht>*:nth-child(2){animation-delay:.15s}.hero .ht>*:nth-child(3){animation-delay:.3s}.hero .ht>*:nth-child(4){animation-delay:.45s}.hero form{animation:up 1.1s var(--e) .35s both}
.pill{display:inline-block;padding:.45rem 1.1rem;border:1px solid rgba(255,255,255,.2);border-radius:99px;font-size:.85rem;color:var(--rose);background:rgba(255,255,255,.05);backdrop-filter:blur(8px)}
/* form */
form{scroll-margin-top:100px;background:rgba(255,255,255,.07);backdrop-filter:blur(24px) saturate(1.4);-webkit-backdrop-filter:blur(24px);border:1px solid rgba(255,255,255,.18);padding:2rem;border-radius:28px;display:grid;gap:1rem;box-shadow:0 40px 80px -40px #000,inset 0 1px 0 rgba(255,255,255,.2)}
.ft{font:600 2rem var(--f);color:#fff;margin:0}.fs{margin:-.6rem 0 0;color:var(--m);font-size:.9rem}
form label{display:grid;gap:.3rem;font-size:.88rem;font-weight:500}form input,form select{font:inherit;color:#fff;padding:.8rem 1rem;border:1px solid rgba(255,255,255,.18);border-radius:14px;background:rgba(0,0,0,.35);transition:.3s}
form select option{background:#1c0818}form input:focus,form select:focus{outline:0;border-color:var(--rose);box-shadow:0 0 0 4px rgba(192,23,63,.3)}
fieldset{border:0;padding:0;margin:0;display:flex;gap:1.5rem}legend{font-size:.88rem;font-weight:500;margin-bottom:.3rem}fieldset label{display:flex;align-items:center;gap:.4rem}input[type=radio],input[type=checkbox]{accent-color:var(--red)}
.row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.chk{display:flex!important;gap:.6rem;align-items:flex-start;font-weight:400!important;color:var(--m)}#msg{margin:0;color:var(--rose);font-weight:500}
/* marquee */
.marquee{overflow:hidden;border-block:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.04);backdrop-filter:blur(10px);padding:1rem 0;white-space:nowrap}
.marquee div{display:inline-flex;gap:2rem;animation:mq 45s linear infinite}.marquee span{font:italic 1.6rem var(--f);color:var(--t)}.marquee b{color:var(--red)}
@keyframes mq{to{transform:translateX(-50%)}}.marquee:hover div{animation-play-state:paused}
/* sections */
.arches{display:grid;grid-template-columns:1fr 1fr;gap:1rem;align-items:end}.arches img{width:100%;height:440px;object-fit:cover;border-radius:40px}.a1{aspect-ratio:3/5}.a2{aspect-ratio:3/4;object-position:29% 20%;}
.note{font:italic 1.7rem var(--f);color:var(--rose)}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-top:2rem}
.cards article,.t{position:relative;background:rgba(255,255,255,.05);backdrop-filter:blur(14px);border:1px solid rgba(255,255,255,.12);padding:2rem;border-radius:24px;transition:transform .4s var(--e),border-color .4s,box-shadow .4s}
.cards article:hover,.t:hover{transform:translateY(-8px);border-color:rgba(240,166,196,.5);box-shadow:0 30px 60px -30px var(--red)}
.band{background:linear-gradient(120deg,rgba(192,23,63,.16),rgba(122,43,181,.2));padding:5rem 0;border-block:1px solid rgba(255,255,255,.08)}
img{box-shadow:0 30px 60px -30px rgba(192,23,63,.6)}.rd{border-radius:28px;width:100%}
.mosaic{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-top:1.5rem}.mosaic img{width:100%;height:100%;aspect-ratio:3/4;object-fit:cover;border-radius:20px}.mosaic>:nth-child(even){margin-top:2rem}
.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-bottom:1rem}
.pc{position:relative;display:block;border-radius:20px;overflow:hidden}.pc img{width:100%;aspect-ratio:3/4;object-fit:cover;border-radius:20px}.pc:hover img.done{transform:scale(1.08)}
.pc span{position:absolute;inset:auto 0 0;padding:2rem .8rem .8rem;color:#fff;font-size:.9rem;text-align:center;background:linear-gradient(transparent,rgba(122,20,70,.92));opacity:0;transform:translateY(12px);transition:.4s}.pc:hover span,.pc:focus span{opacity:1;transform:none}
.head{padding:9rem 0 1rem;text-align:center}.head .lead{margin:auto}
.tgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}.t{margin:0;text-align:center}
.av{width:90px;height:90px;border-radius:50%;object-fit:cover;margin:0 auto 1rem;display:grid;place-items:center;background:var(--gr);color:#fff;font:italic 2.3rem var(--f);box-shadow:0 0 0 3px rgba(255,255,255,.15)}
.t blockquote{margin:0 0 1rem;font-size:1.3rem;font-weight:500;line-height:1.35}.t figcaption{color:var(--rose);font-weight:500}
.ticks{list-style:none;padding:0}.ticks li:before{content:"✦ ";color:var(--red)}
.cta{text-align:center;padding:6rem 0;background:linear-gradient(135deg,var(--red),#5a1a8f,#2b0a3f);background-size:200% 200%;animation:gb 10s ease infinite}.cta h2{font-size:clamp(2rem,5vw,3.6rem)}.cta em{background:none;color:#ffd0e2}
.quote{background:var(--gr)}@keyframes gb{50%{background-position:100% 50%}}
footer{background:#0b0309;color:var(--m);text-align:center;padding:3.5rem 0;border-top:1px solid rgba(255,255,255,.08)}footer a{color:var(--rose)}
/* reveal */
.rv{opacity:0;transform:translateY(36px);transition:opacity .9s var(--e) var(--d,0s),transform .9s var(--e) var(--d,0s)}.rv.in{opacity:1;transform:none}
img.rv{opacity:1;transform:scale(1.2);filter:blur(12px) saturate(.3) brightness(1.5);transition:clip-path 1.2s cubic-bezier(.77,0,.18,1) var(--d,0s),transform 1.8s var(--e) var(--d,0s),filter 1.5s ease var(--d,0s)}
img.rv.alt{}img.rv.in{transform:none;filter:none}img.done{transition:transform .6s var(--e),filter .4s}
@media(max-width:860px){.two,.cards,.tgrid{grid-template-columns:1fr;gap:2rem}.hero{padding-top:7rem}.grid,.mosaic{grid-template-columns:repeat(2,1fr)}.mosaic>:nth-child(even){margin-top:0}.row{grid-template-columns:1fr}.top{padding-left:1.2rem}
.burger{display:block}nav{position:fixed;inset:0;height:100dvh;flex-direction:column;justify-content:center;gap:1rem;background:rgba(18,5,15,.9);backdrop-filter:blur(26px);opacity:0;visibility:hidden;transition:.5s var(--e);z-index:22}
.menu-open nav{opacity:1;visibility:visible}nav a:not(.btn){font:600 2.2rem var(--f)}nav>*{opacity:0;transform:translateY(24px);transition:.5s var(--e)}.menu-open nav>*{opacity:1;transform:none}
.menu-open nav>*:nth-child(2){transition-delay:.08s}.menu-open nav>*:nth-child(3){transition-delay:.16s}.menu-open nav>*:nth-child(4){transition-delay:.24s}.menu-open nav>*:nth-child(5){transition-delay:.32s}.menu-open .top{transform:translateX(-50%)!important}}
@media(prefers-reduced-motion:reduce){*,*:before{animation:none!important;transition:none!important}.rv,img.rv{opacity:1;transform:none;clip-path:none;filter:none}}
