[hidden]{display:none!important}
@font-face{font-family:Ev;src:url(Ev.ttf) format("truetype");font-weight:700;font-display:swap}
@font-face{font-family:Sl;src:url(Sl.ttf) format("truetype");font-display:swap}
:root{--bg:#fbe7ee;--card:#fffafc;--ink:#4a1434;--muted:#8a5a72;--pink:#e2408d;--line:#f2c6d6;--ev:Ev,"Trebuchet MS",sans-serif;--sl:Sl,"Brush Script MT",cursive}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--ev);font-weight:700;padding-inline:20px}
img{max-width:100%;display:block}
.w>*{min-width:0}
.w{max-width:980px;margin:0 auto;display:grid;gap:64px;padding-block:28px 56px}
nav{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
nav img{height:58px}
nav a{color:var(--ink);text-decoration:none;font-size:14px;letter-spacing:.12em;text-transform:uppercase}
nav .links{display:flex;gap:20px;flex-wrap:wrap}
.s{font-family:var(--sl);font-weight:400;color:var(--pink);line-height:.95}
.hero{text-align:center;display:grid;gap:14px;justify-items:center}
.hero .s{font-size:clamp(72px,14vw,150px)}
h1{margin:0;font-size:clamp(26px,4.4vw,44px);text-wrap:balance;max-width:20ch}
.lead{margin:0;color:var(--muted);font-size:17px;max-width:46ch;line-height:1.5}
.btn{display:inline-block;background:var(--ink);color:#fff;text-decoration:none;padding:15px 30px;border-radius:40px;font-size:15px;letter-spacing:.06em}
a:focus-visible{outline:3px solid var(--pink);outline-offset:3px}
h2{margin:0 0 20px;font-size:13px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}
.card{background:var(--card);border-radius:18px;box-shadow:0 10px 30px rgba(74,20,52,.08)}
p{line-height:1.5}
.marquee{overflow:hidden;background:var(--ink);color:#fff;margin-inline:-20px;padding-block:14px;white-space:nowrap}
.marquee div{display:inline-block;animation:run 30s linear infinite;font-size:15px;letter-spacing:.14em;text-transform:uppercase}
.marquee span{color:#ffc2dc;margin-inline:18px}
@keyframes run{to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.marquee div{animation:none}}
footer{text-align:center;color:var(--muted);font-size:12px;letter-spacing:.1em}
/* ---- mobile ---- */
.mcta{display:none}
@media(max-width:760px){
 body{padding-inline:16px}
 .w{gap:36px;padding-block:0 36px}
 .w>nav,.w>div>nav{position:sticky;top:env(safe-area-inset-top,0px);z-index:20;margin-inline:-16px;padding:10px 16px;background:rgba(251,231,238,.92);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);flex-wrap:nowrap}
 nav img{height:40px}
 nav .links{display:none}
 .mcta{display:inline-block;background:var(--ink);color:#fff!important;text-decoration:none;padding:10px 18px;border-radius:30px;font-size:13px;letter-spacing:.04em;text-transform:none}
 h1{font-size:24px}.lead{font-size:15px}
 h2{margin-bottom:14px}
 .marquee{margin-inline:-16px;padding-block:10px}.marquee div{font-size:12px}
 .card{border-radius:16px}
}

/* ---- coquette / pinterest girly ---- */
body{background-color:var(--bg);background-image:linear-gradient(90deg,rgba(242,170,200,.18) 50%,transparent 50%),linear-gradient(rgba(242,170,200,.18) 50%,transparent 50%);background-size:28px 28px}
h2{font-family:var(--sl);font-weight:400;text-transform:none;letter-spacing:0;font-size:40px;color:var(--pink);display:flex;align-items:center;gap:12px}
h2::before{content:"";width:46px;height:31px;background:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%20120%2080%22%3E%3Cg%20fill%3D%22%23f49ac1%22%20stroke%3D%22%23e2408d%22%20stroke-width%3D%223%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M60%2040%20C40%2010%208%208%2010%2030%20C12%2052%2040%2050%2060%2040Z%22/%3E%3Cpath%20d%3D%22M60%2040%20C80%2010%20112%208%20110%2030%20C108%2052%2080%2050%2060%2040Z%22/%3E%3Cpath%20d%3D%22M56%2044%20L40%2076%20L50%2072%20L56%2078%20L60%2048Z%22/%3E%3Cpath%20d%3D%22M64%2044%20L80%2076%20L70%2072%20L64%2078%20L60%2048Z%22/%3E%3C/g%3E%3Ccircle%20cx%3D%2260%22%20cy%3D%2240%22%20r%3D%229%22%20fill%3D%22%23e2408d%22/%3E%3Cpath%20d%3D%22M28%2024%20Q40%2026%2048%2034%20M92%2024%20Q80%2026%2072%2034%22%20stroke%3D%22%23fff%22%20stroke-width%3D%223%22%20fill%3D%22none%22%20stroke-linecap%3D%22round%22%20opacity%3D%22.7%22/%3E%3C/svg%3E") center/contain no-repeat;flex:none}
.card,.cal{position:relative}
.card::after{content:"";position:absolute;left:12px;right:12px;bottom:-9px;height:10px;background:radial-gradient(circle at 7px 0,var(--card) 6.5px,transparent 7px) 0 0/14px 10px repeat-x;pointer-events:none}
.card{border:2px dashed #f4b6cf;outline:6px solid var(--card);outline-offset:-1px}
.btn{border-radius:40px;position:relative}
.btn::after{content:"♡";margin-left:8px;font-size:.95em}
.btn.ghost::after,.mcta::after{content:none}
.marquee{background:var(--pink)}.marquee span{color:#fff}
.bowstk{position:absolute;width:62px;height:42px;background:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%20120%2080%22%3E%3Cg%20fill%3D%22%23f49ac1%22%20stroke%3D%22%23e2408d%22%20stroke-width%3D%223%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M60%2040%20C40%2010%208%208%2010%2030%20C12%2052%2040%2050%2060%2040Z%22/%3E%3Cpath%20d%3D%22M60%2040%20C80%2010%20112%208%20110%2030%20C108%2052%2080%2050%2060%2040Z%22/%3E%3Cpath%20d%3D%22M56%2044%20L40%2076%20L50%2072%20L56%2078%20L60%2048Z%22/%3E%3Cpath%20d%3D%22M64%2044%20L80%2076%20L70%2072%20L64%2078%20L60%2048Z%22/%3E%3C/g%3E%3Ccircle%20cx%3D%2260%22%20cy%3D%2240%22%20r%3D%229%22%20fill%3D%22%23e2408d%22/%3E%3Cpath%20d%3D%22M28%2024%20Q40%2026%2048%2034%20M92%2024%20Q80%2026%2072%2034%22%20stroke%3D%22%23fff%22%20stroke-width%3D%223%22%20fill%3D%22none%22%20stroke-linecap%3D%22round%22%20opacity%3D%22.7%22/%3E%3C/svg%3E") center/contain no-repeat;pointer-events:none;animation:flo 5s ease-in-out infinite}
.badge{position:absolute;width:128px;height:128px;animation:spin 18s linear infinite;pointer-events:none}
@keyframes spin{to{rotate:360deg}}
@media (prefers-reduced-motion:reduce){.badge,.bowstk{animation:none}}
/* ---- header, fun menu, collapsible calendar ---- */
.top{position:sticky;top:0;z-index:30;margin-inline:-20px;background:rgba(251,231,238,.94);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:0 1px 0 var(--line)}
.ann{overflow:hidden;background:var(--pink);color:#fff;white-space:nowrap;padding-block:5px;padding-top:calc(5px + env(safe-area-inset-top,0px))}
.ann div{display:inline-block;animation:run 36s linear infinite;font-size:10px;letter-spacing:.18em;text-transform:uppercase}
.ann span{margin-inline:12px;color:#ffd5e8}
.bar{max-width:1020px;margin:0 auto;display:flex;align-items:center;gap:14px;padding:8px 20px}
.bar .lg img{height:46px}
.bar .dl{display:flex;gap:22px;margin-left:auto}
.bar .dl a{color:var(--ink);text-decoration:none;font-size:13px;letter-spacing:.12em;text-transform:uppercase}
.burger{display:none;align-items:center;gap:4px;background:none;border:0;cursor:pointer;font-family:var(--sl);font-size:26px;color:var(--pink);padding:0}
.burger img{width:40px;transition:rotate .4s}.burger:hover img{rotate:-14deg}
.menu{position:fixed;inset:0;z-index:50;display:grid;place-content:center;justify-items:center;gap:26px;padding:24px;
 background:var(--bg) linear-gradient(90deg,rgba(242,170,200,.25) 50%,transparent 50%) 0 0/34px 34px,linear-gradient(rgba(242,170,200,.25) 50%,transparent 50%) 0 0/34px 34px;
 opacity:0;transition:opacity .3s}
.menu.open{opacity:1}
.mlinks{display:grid;gap:6px;text-align:center}
.mlinks a{font-family:var(--sl);font-size:clamp(46px,13vw,72px);color:var(--ink);text-decoration:none;line-height:1.1;opacity:0;transform:translateY(24px) rotate(-3deg);transition:transform .5s cubic-bezier(.2,.9,.2,1.2),opacity .4s,color .2s;transition-delay:calc(var(--i)*70ms + 80ms)}
.mlinks a:nth-child(even){transform:translateY(24px) rotate(3deg)}
.menu.open .mlinks a{opacity:1;transform:none}
.mlinks a:hover{color:var(--pink)}
.mclose{position:absolute;top:calc(18px + env(safe-area-inset-top,0px));right:20px;background:var(--ink);color:#fff;border:0;border-radius:30px;padding:10px 18px;font:inherit;font-size:13px;cursor:pointer}
.minsta{color:var(--pink);font-size:15px;letter-spacing:.08em}
.ms{position:absolute;rotate:var(--r);animation:flo 5s ease-in-out infinite;pointer-events:none}
.caltog{display:none;font:inherit;background:var(--card);border:2px dashed #f4b6cf;color:var(--ink);border-radius:30px;padding:10px 20px;cursor:pointer;margin-bottom:16px}
.caltog b{display:inline-block;transition:rotate .3s}.caltog[aria-expanded="true"] b{rotate:180deg}
@media(max-width:760px){
 .top{margin-inline:-16px}.bar{padding:6px 16px}.bar .lg img{height:36px}.bar .dl{display:none}
 .bar .mcta{margin-left:auto}.burger{display:flex}
 .caltog{display:inline-block}
 .calgrid{max-height:0;overflow:hidden;transition:max-height .5s ease}
 .calgrid.open{max-height:520px}
 .cal{gap:0}.calgrid.open+.pol{margin-top:22px}
 .tp,.cal .stk,.badge,.fl:not(:first-of-type),.htxt .bowstk,.cal~.bowstk,.card::after{display:none}
 h2{font-size:32px}h2::before{width:36px;height:24px}
 .card{outline:none}
}
@media(min-width:761px){.mcta{display:inline-block}}
/* ---- calm & expensive pass ---- */
:root{--bg:#fbf6f4;--card:#ffffff;--line:#eedde3;--pink:#d63d84;--ink:#3f1530;--muted:#8c6878}
body{background:var(--bg);background-image:radial-gradient(1200px 600px at 85% -10%,#f8dfe8 0,transparent 60%),radial-gradient(900px 500px at -10% 30%,#f9e9ee 0,transparent 60%)}
h2{font-family:var(--ev);font-weight:700;font-size:12px;letter-spacing:.24em;text-transform:uppercase;color:var(--muted);gap:10px}
h2::before{width:22px;height:15px;opacity:.8}
.card{border:1px solid var(--line);outline:none;box-shadow:0 20px 50px rgba(63,21,48,.06)}
.card::after{content:none}
.btn::after{content:none}
.btn{letter-spacing:.08em;padding:15px 30px}
.phone{border-width:8px;transform:rotate(2deg);box-shadow:0 40px 80px rgba(63,21,48,.18)}
.bowstk,.ms{display:none}
.tick{overflow:hidden;white-space:nowrap;border-block:1px solid var(--line);padding-block:12px;margin-inline:-20px;color:var(--ink)}
.tick div{display:inline-block;animation:run 45s linear infinite;font-size:11px;letter-spacing:.3em;text-transform:uppercase}
.tick i{font-style:normal;color:var(--pink);margin-inline:20px}
.evlist{display:grid;border-top:1px solid var(--line)}
.evr{display:grid;grid-template-columns:110px minmax(0,1fr) auto;gap:20px;align-items:center;padding:22px 4px;border-bottom:1px solid var(--line);color:inherit;text-decoration:none;transition:background .25s,padding .25s}
a.evr:hover{background:rgba(214,61,132,.04);padding-inline:14px}
.dt b{display:block;font-size:44px;line-height:1;font-variant-numeric:tabular-nums}.dt span{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.et .s{font-size:40px}.et p{margin:4px 0 0;color:var(--muted);font-size:14px}
.tag{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--pink)}
.caltog{display:inline-block!important;margin:20px 0 0;background:none;border:1px solid var(--ink);border-radius:30px}
.calbox{margin-top:18px;background:var(--card);border:1px solid var(--line);border-radius:18px;padding:22px;max-width:520px}
.calbox[hidden]{display:none}
.calbox .mh{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:12px}
.calbox .mh .s{font-size:46px}.calbox .arr{display:flex;gap:4px}
.calinfo{margin-top:12px;padding-top:12px;border-top:1px solid var(--line);font-size:14px;color:var(--muted)}
.calinfo small{display:block;font-size:11px;letter-spacing:.16em;color:var(--pink)}.calinfo b{color:var(--ink)}
.grid button.ev::before{border-width:1.5px}
@media(max-width:760px){
 .tick{margin-inline:-16px;padding-block:9px}.tick div{font-size:10px}
 .evr{grid-template-columns:64px minmax(0,1fr);gap:14px;padding:18px 0}.evr .tag{grid-column:2}
 .dt b{font-size:32px}.et .s{font-size:32px}
 .calbox{padding:16px}
}
.mcta{display:inline-block;background:var(--ink);color:#fff!important;text-decoration:none;padding:10px 18px;border-radius:30px;font-size:12px;letter-spacing:.08em}
.phone{max-width:300px;justify-self:center;width:100%}
.tick+.w{padding-top:40px}
.wob{display:none}
@media(max-width:760px){.tick+.w{padding-top:26px}.phone{max-width:180px}.htxt .s{font-size:64px;padding-left:6px}}
/* header: fixed, no backdrop blur (sticky+blur jittered in Chrome) */
.top{position:fixed;left:0;right:0;top:0;margin:0;background:var(--bg);backdrop-filter:none;-webkit-backdrop-filter:none;transform:translateZ(0)}
.bar{height:64px;padding-block:0}
body{padding-top:calc(64px + env(safe-area-inset-top,0px))}
html{scroll-padding-top:80px}
@media(max-width:760px){.top{margin:0}.bar{height:52px}body{padding-top:calc(52px + env(safe-area-inset-top,0px))}html{scroll-padding-top:64px}}

/* performance: no heavy repaint effects */
body{background-image:none}
.top{transform:none;box-shadow:none;border-bottom:1px solid var(--line)}
.phone{transform:none;transition:none;box-shadow:0 18px 36px rgba(63,21,48,.16)}
.count b{transition:none}
.rv.in{animation:none}
.pol,.mosaic figure{transition:transform .25s}
/* menu v2: solid plum overlay, Evolventa links (Sloop has no Cyrillic) */
.menu{background:var(--ink);color:#fff;place-content:center;justify-items:center;gap:34px}
.mlinks{gap:4px}
.mlinks a{font-family:var(--ev);font-weight:700;font-size:clamp(28px,7vw,44px);letter-spacing:.02em;color:#fff;transform:translateY(18px);line-height:1.35}
.mlinks a:nth-child(even){transform:translateY(18px)}
.mlinks a:hover{color:#ffb3d2}
.mclose{background:transparent;border:1px solid rgba(255,255,255,.6);color:#fff}
.minsta{color:#ffb3d2}
.msig{font-family:var(--sl);font-size:54px;color:#ffb3d2;line-height:1}
/* header v3: boutique layout */
.top{background:#fff}
.sht{display:none}
@media(max-width:760px){
 .bar{display:grid;grid-template-columns:1fr auto 1fr;height:56px;gap:0}
 .burger{order:-1;justify-self:start;display:flex;flex-direction:column;align-items:flex-start;gap:5px;font-family:var(--ev);font-size:0;color:var(--ink)}
 .burger i{display:block;width:24px;height:1.5px;background:var(--ink)}
 .burger i+i{width:16px}
 .burger span{display:none}
 .bar .lg{justify-self:center}.bar .lg img{height:38px}
 .bar .mcta{justify-self:end;margin:0;padding:8px 14px;font-size:11px;letter-spacing:.14em;text-transform:uppercase}
 .lgt{display:none}.sht{display:inline}
 body{padding-top:calc(56px + env(safe-area-inset-top,0px))}
}
/* script swash room */
.htxt .s,.hero2 .s{padding-left:.14em;margin-left:-.06em;overflow:visible}
@media(max-width:760px){.htxt .s{font-size:60px;padding-left:.16em}.hero2>div{padding-top:10px}}
.hero2{margin-bottom:36px}
