/* ============ Amoré — shared design system (ui-ux-pro-max: Soft UI · Caveat+Quicksand · rose) ============ */
:root{
  --bg:#fff6fb; --bg2:#ffeef7; --panel:#ffffff; --panel2:#fff5fa;
  --line:#ffdcec; --line2:#ffcbe1;
  --ink:#3f1329; --ink2:#7a4a63; --faint:#8f5c74;
  --rose:#ec4899; --rose-deep:#d61f69; --rose-soft:#ff9ec7; --rose-glow:rgba(236,72,153,.14);
  --gold:#f5b301; --mint:#34d399; --lilac:#b692f6;
  --disp:"Caveat",cursive; --sans:"Quicksand",-apple-system,system-ui,sans-serif;
  --ease:cubic-bezier(.22,.61,.36,1);
  --sh-sm:0 8px 22px -10px rgba(214,31,105,.28);
  --sh:0 18px 46px -16px rgba(214,31,105,.34);
  --sh-lg:0 34px 80px -28px rgba(214,31,105,.42);
  --maxw:1080px; --r:22px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;overflow-x:hidden;-webkit-text-size-adjust:100%}
body{
  font-family:var(--sans);color:var(--ink);line-height:1.65;overflow-x:hidden;min-height:100dvh;
  background:var(--bg);
  background-image:
    radial-gradient(1100px circle at 84% -8%,rgba(255,158,199,.28),transparent 55%),
    radial-gradient(900px circle at 0% 10%,rgba(182,146,246,.12),transparent 52%),
    radial-gradient(800px circle at 50% 108%,rgba(255,182,214,.22),transparent 55%);
  background-attachment:fixed;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 22px}
.center{text-align:center}
:focus-visible{outline:2px solid var(--rose);outline-offset:3px;border-radius:8px}
::selection{background:var(--rose-soft);color:#3f1329}

/* floating hearts field */
#hearts{position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden}
.fh{position:absolute;bottom:-30px;opacity:0;will-change:transform,opacity;animation:floatUp linear forwards}
@keyframes floatUp{0%{transform:translateY(0) rotate(0);opacity:0}12%{opacity:.8}100%{transform:translateY(-116vh) rotate(var(--r,30deg));opacity:0}}

/* nav */
nav.bar{position:sticky;top:0;z-index:60;height:64px;display:flex;align-items:center;backdrop-filter:blur(14px);background:rgba(255,246,251,.78);border-bottom:1px solid transparent;transition:border-color .3s,background .3s}
nav.bar.scrolled{border-bottom-color:var(--line);background:rgba(255,246,251,.9)}
nav .wrap{display:flex;align-items:center;justify-content:space-between;width:100%}
.brand{display:flex;align-items:center;gap:9px;font-family:var(--disp);font-weight:700;font-size:27px;color:var(--rose-deep);letter-spacing:.5px}
.brand .mk{width:26px;height:26px;filter:drop-shadow(0 4px 8px rgba(214,31,105,.35))}
.nav-links{display:flex;gap:26px;align-items:center;font-weight:600;font-size:14.5px;color:var(--ink2)}
.nav-links a{position:relative;transition:color .2s}
.nav-links a:hover{color:var(--rose-deep)}
.nav-links a::after{content:"";position:absolute;left:0;bottom:-6px;height:2px;width:100%;background:var(--rose);border-radius:2px;transform:scaleX(0);transform-origin:left;transition:transform .25s var(--ease)}
.nav-links a:hover::after{transform:scaleX(1)}
.navtoggle{display:none;width:42px;height:42px;border:1px solid var(--line2);border-radius:12px;background:#fff;cursor:pointer;flex-direction:column;gap:5px;align-items:center;justify-content:center}
.navtoggle span{width:18px;height:2px;background:var(--rose-deep);border-radius:2px;transition:.25s var(--ease)}
.navtoggle[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.navtoggle[aria-expanded="true"] span:nth-child(2){opacity:0}
.navtoggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
@media(max-width:820px){
  .nav-links{position:absolute;top:64px;left:0;right:0;flex-direction:column;gap:0;background:rgba(255,246,251,.98);border-bottom:1px solid var(--line);padding:6px 22px 16px;display:none;box-shadow:var(--sh)}
  nav.bar.open .nav-links{display:flex}
  .nav-links a{padding:13px 2px;width:100%;font-size:16px;border-bottom:1px solid var(--line)}
  .nav-links a::after{display:none}
  .navtoggle{display:flex}
}

/* buttons */
.btn{display:inline-flex;align-items:center;gap:9px;padding:14px 26px;border-radius:99px;font-family:var(--sans);font-weight:700;font-size:15px;cursor:pointer;border:none;color:#fff;background:linear-gradient(135deg,var(--rose),var(--rose-deep));box-shadow:var(--sh-sm);transition:transform .2s var(--ease),box-shadow .25s;touch-action:manipulation;-webkit-tap-highlight-color:transparent}
.btn:hover{transform:translateY(-3px);box-shadow:var(--sh)}
.btn:active{transform:translateY(-1px) scale(.98)}
.btn svg{width:17px;height:17px}
.btn--ghost{background:#fff;color:var(--rose-deep);border:1.5px solid var(--line2);box-shadow:var(--sh-sm)}
.btn--ghost:hover{border-color:var(--rose)}
.btn--lg{padding:17px 34px;font-size:16.5px}

/* eyebrow / headings */
.eyebrow{display:inline-flex;align-items:center;gap:8px;font-weight:700;font-size:12.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--rose-deep);background:var(--rose-glow);border:1px solid var(--line2);padding:7px 14px;border-radius:99px}
h1{font-family:var(--disp);font-weight:700;font-size:clamp(52px,10vw,92px);line-height:.94;letter-spacing:.01em;color:var(--ink)}
h1 .rose{color:var(--rose-deep)}
h2{font-family:var(--disp);font-weight:700;font-size:clamp(40px,7vw,64px);line-height:.98;color:var(--ink)}
h3{font-family:var(--sans);font-weight:700;font-size:20px;color:var(--ink)}
.lead{font-size:clamp(17px,2.4vw,20px);color:var(--ink2);max-width:60ch}
.sub{font-size:16px;color:var(--ink2);max-width:56ch}
section{padding:72px 0;position:relative;z-index:2}
.sec-head{max-width:640px;margin:0 auto 44px}
.sec-head.center{text-align:center}
.sec-head h2{margin:12px 0 10px}

/* cards */
.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--sh-sm);padding:26px;transition:transform .28s var(--ease),box-shadow .28s,border-color .28s}
.card:hover{transform:translateY(-5px);box-shadow:var(--sh);border-color:var(--line2)}
.grid{display:grid;gap:20px}
.g3{grid-template-columns:repeat(3,1fr)}
.g2{grid-template-columns:repeat(2,1fr)}
.g4{grid-template-columns:repeat(4,1fr)}
@media(max-width:900px){.g3,.g4{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.g2,.g3,.g4{grid-template-columns:1fr}}

/* reveal + manifest */
.reveal{opacity:0;transform:translateY(30px) scale(.98);filter:blur(8px);transition:opacity .8s var(--ease),transform .8s var(--ease),filter .8s var(--ease)}
.reveal.in{opacity:1;transform:none;filter:blur(0)}
.d1{transition-delay:.1s}.d2{transition-delay:.22s}.d3{transition-delay:.34s}.d4{transition-delay:.46s}.d5{transition-delay:.58s}

/* footer */
footer{position:relative;z-index:2;border-top:1px solid var(--line);background:rgba(255,255,255,.6);backdrop-filter:blur(8px);padding:48px 0 40px;margin-top:40px}
footer .wrap{display:flex;flex-wrap:wrap;gap:20px;justify-content:space-between;align-items:center}
footer .brand{font-size:24px}
footer .cols{display:flex;gap:28px;flex-wrap:wrap;font-size:14px;color:var(--ink2)}
footer a:hover{color:var(--rose-deep)}
footer .fine{width:100%;font-size:12.5px;color:var(--faint);border-top:1px solid var(--line);padding-top:18px;margin-top:8px;text-align:center}

/* pill / stat */
.stat{font-family:var(--disp);font-weight:700;font-size:clamp(42px,8vw,60px);color:var(--rose-deep);line-height:1;font-variant-numeric:tabular-nums}
.chart-bar{height:12px;border-radius:99px;background:var(--line);overflow:hidden}
.chart-bar > i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,var(--rose-soft),var(--rose-deep));width:100%;transform:scaleX(0);transform-origin:left;transition:transform 1.2s var(--ease)}

@media (prefers-reduced-motion:reduce){
  *{animation:none!important}
  .reveal{opacity:1;transform:none;filter:none;transition:none}
  html{scroll-behavior:auto}
  #hearts{display:none}
}
