@font-face{font-family:'Archivo';font-style:normal;font-weight:700;font-display:swap;src:url('/assets/fonts/archivo-v25-latin-700.woff2') format('woff2')}
@font-face{font-family:'Archivo';font-style:normal;font-weight:800;font-display:swap;src:url('/assets/fonts/archivo-v25-latin-800.woff2') format('woff2')}
@font-face{font-family:'Spline Sans';font-style:normal;font-weight:600;font-display:swap;src:url('/assets/fonts/spline-sans-v16-latin-600.woff2') format('woff2')}
@font-face{font-family:'Spline Sans';font-style:normal;font-weight:700;font-display:swap;src:url('/assets/fonts/spline-sans-v16-latin-700.woff2') format('woff2')}

:root{
  --dua-bg:#FBDFEF;
  --dua-bg-2:#F4CDE6;
  --dua-surface:#F8D3EC;
  --dua-surface-2:#FCE6F4;

  --dua-magenta:#FB45EC;
  --dua-magenta-deep:#D81FC9;
  --dua-magenta-ink:#B5139F;
  --dua-orchid:#F79BF2;
  --dua-yellow:#F8DD4A;
  --dua-cream:#FFF4BE;

  --dua-ink:#2B0B33;
  --dua-ink-soft:#5C3A60;
  --dua-muted:#8E6E92;

  --dua-line:#F1C8E4;
  --dua-line-strong:#E59FD2;

  --dua-grad-candy:linear-gradient(135deg,var(--dua-magenta) 0%,var(--dua-orchid) 52%,var(--dua-yellow) 100%);
  --dua-glow-magenta:radial-gradient(closest-side,rgba(251,69,236,.42),rgba(251,69,236,0));
  --dua-glow-orchid:radial-gradient(closest-side,rgba(247,155,242,.5),rgba(247,155,242,0));

  --dua-btn-grad:linear-gradient(135deg,var(--dua-magenta),var(--dua-orchid) 48%,var(--dua-yellow));
  --dua-btn-pill:var(--dua-ink);
  --dua-btn-text:var(--dua-cream);
  --dua-btn-accent-pill:var(--dua-surface-2);
  --dua-btn-accent-text:var(--dua-magenta-ink);

  --dua-plum:linear-gradient(156deg,#38123f 0%,#240a2b 72%);
  --dua-error:#A3104B;
  --dua-error-soft:#FF9BD0;

  --dua-display:'Archivo',system-ui,sans-serif;
  --dua-body:'Spline Sans',system-ui,sans-serif;

  --dua-r-sm:1rem;
  --dua-r:1.4rem;
  --dua-r-lg:2rem;
  --dua-r-xl:2.6rem;

  --dua-shadow-soft:0 14px 38px -18px rgba(43,11,51,.34);
  --dua-glow:0 0 0 2px var(--dua-line-strong),0 18px 44px -18px rgba(251,69,236,.55);

  --dua-wrap:1400px;
  --dua-pad:clamp(1rem,3.5vw,2.2rem);
  --dua-fast:.2s;
  --dua-mid:.42s;

  --dua-ease-out:cubic-bezier(.2,.7,.2,1);
  --dua-ease-pop:cubic-bezier(.34,1.56,.64,1);
  --dua-ease-io:cubic-bezier(.4,0,.2,1);
  --dua-t-reveal:.7s;
  --dua-t-enter:.8s;
  --dua-shift:24px;
  --dua-stagger:80ms;
  --dua-step:90ms;
}

*,*::before,*::after{box-sizing:border-box}
*{margin:0}
html{background:var(--dua-bg);-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{
  background:var(--dua-bg);
  color:var(--dua-ink);
  font-family:var(--dua-body);
  font-weight:600;
  font-size:1.02rem;
  line-height:1.62;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  overflow-x:hidden;
}
img,svg,video{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
input,textarea,select{font:inherit;color:inherit}
ul,ol{list-style:none;padding:0}
[hidden]{display:none!important}
:focus-visible{outline:3px solid var(--dua-magenta);outline-offset:3px;border-radius:6px}
::selection{background:var(--dua-magenta);color:var(--dua-cream)}

.dua-wrap{width:100%;max-width:var(--dua-wrap);margin-inline:auto;padding-inline:var(--dua-pad)}
.dua-section{position:relative;padding-block:clamp(3.4rem,8vw,6.4rem)}
.dua-section--alt{background:var(--dua-bg-2)}
.dua-section>.dua-wrap{position:relative;z-index:1}

h1,h2,h3,h4{font-family:var(--dua-display);font-weight:700;line-height:1.02;letter-spacing:-.01em}
.dua-hl--fill{color:var(--dua-magenta)}
.dua-hl--sun{color:var(--dua-yellow)}
.dua-hl--out{color:transparent;-webkit-text-stroke:2px var(--dua-ink)}

.dua-btn{
  position:relative;display:inline-flex;align-items:center;justify-content:center;
  padding:3px;border-radius:var(--dua-r);
  background-image:var(--dua-btn-grad);background-size:170% 170%;background-position:0 0;
  box-shadow:0 14px 30px -12px rgba(251,69,236,.5);
  font-family:var(--dua-display);font-weight:700;text-transform:uppercase;letter-spacing:.02em;
  transition:transform var(--dua-fast) ease,box-shadow var(--dua-mid) ease,background-position var(--dua-mid) ease;
}
.dua-btn__inner{
  display:inline-flex;align-items:center;justify-content:center;gap:.55rem;width:100%;
  padding:.85rem 1.5rem;border-radius:calc(var(--dua-r) - 3px);
  background-color:var(--dua-btn-pill);color:var(--dua-btn-text);font-size:.96rem;
  transition:background-color var(--dua-mid) ease,color var(--dua-mid) ease;
}
.dua-btn__icon{width:1.3em;height:1.3em;flex:none;filter:brightness(0) invert(1);transition:filter var(--dua-mid) ease}
.dua-btn:hover{background-position:100% 0;box-shadow:0 18px 40px -12px rgba(251,69,236,.66)}
.dua-btn:hover .dua-btn__inner{background-color:transparent;color:var(--dua-ink)}
.dua-btn:hover .dua-btn__icon{filter:brightness(0) invert(0)}
.dua-btn:active{transform:scale(.96)}
.dua-btn--accent .dua-btn__inner{background-color:var(--dua-btn-accent-pill);color:var(--dua-btn-accent-text)}
.dua-btn--accent .dua-btn__icon{filter:brightness(0) invert(0)}
.dua-btn--accent:hover .dua-btn__inner{background-color:transparent;color:var(--dua-ink)}
.dua-btn--ghost{background:var(--dua-surface-2);box-shadow:none;padding:0;border:2px solid var(--dua-line-strong)}
.dua-btn--ghost .dua-btn__inner{background:none;color:var(--dua-ink)}
.dua-btn--ghost .dua-btn__icon{filter:brightness(0) invert(0)}
.dua-btn--ghost:hover{border-color:var(--dua-magenta);box-shadow:var(--dua-glow)}
.dua-btn--ghost:hover .dua-btn__inner{background:none;color:var(--dua-magenta-ink)}
.dua-btn--compact .dua-btn__inner{padding:.62rem 1.15rem;font-size:.85rem}

/* round icon: gradient ring, ink core — the one icon style of the site */
.dua-ic{flex:none;display:inline-grid;place-items:center;width:2.75rem;height:2.75rem;border-radius:50%;border:3px solid transparent;background:linear-gradient(var(--dua-ink),var(--dua-ink)) padding-box,var(--dua-btn-grad) border-box;box-shadow:0 10px 22px -12px rgba(251,69,236,.6)}
.dua-ic__img{width:48%;height:48%;filter:brightness(0) invert(1)}
.dua-ic--lg{width:3.2rem;height:3.2rem}
.dua-ic--sm{width:2.15rem;height:2.15rem;border-width:2px}


.dua-card{
  position:relative;border-radius:var(--dua-r-lg);
  background:rgba(248,211,236,.55);
  backdrop-filter:blur(14px) saturate(1.25);-webkit-backdrop-filter:blur(14px) saturate(1.25);
  border:2px solid var(--dua-line);
  box-shadow:var(--dua-shadow-soft);
  transition:border-color var(--dua-mid) ease,box-shadow var(--dua-mid) ease;
}
.dua-card::after{content:"";position:absolute;inset:0;border-radius:inherit;background:var(--dua-glow-orchid);opacity:.3;pointer-events:none;transition:opacity var(--dua-mid) ease}
.dua-card>*{position:relative;z-index:1}
.dua-card:hover{border-color:var(--dua-line-strong);box-shadow:var(--dua-glow)}
.dua-card:hover::after{opacity:.7}

.dua-deco{position:absolute;pointer-events:none;z-index:0;border-radius:44% 56% 57% 43%/52% 44% 56% 48%;background:var(--dua-grad-candy);opacity:.4;filter:blur(3px)}
.dua-deco--ring{background:none;border:.5rem solid var(--dua-orchid);opacity:.34;border-radius:50%;filter:blur(1px)}

/* meter: the value lives in --v on .dua-meter (style="--v:83%") */
.dua-meter{display:flex;flex-direction:column;gap:.5rem}
.dua-meter__top{display:flex;justify-content:space-between;align-items:baseline;gap:.6rem}
.dua-meter__label{font-size:.8rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--dua-ink-soft)}
.dua-meter__val{font-family:var(--dua-display);font-weight:800;font-size:1rem;font-variant-numeric:tabular-nums;color:var(--dua-magenta-deep)}
.dua-meter__track{position:relative;height:.62rem;border-radius:999px;background:var(--dua-line)}
.dua-meter__track::before{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:repeating-linear-gradient(90deg,transparent 0,transparent calc(16.666% - 1.5px),rgba(43,11,51,.14) calc(16.666% - 1.5px),rgba(43,11,51,.14) 16.666%)}
.dua-meter__fill{position:absolute;left:0;top:0;width:var(--v,0%);height:100%;border-radius:999px;background:var(--dua-grad-candy);box-shadow:inset 0 1px 0 rgba(255,248,253,.6);transition:width .9s var(--dua-ease-out) calc(var(--i,0)*120ms)}
.dua-meter__knob{position:absolute;top:50%;left:var(--v,0%);width:1.2rem;height:1.2rem;border-radius:50%;background:var(--dua-grad-candy);transform:translate(-50%,-50%);border:2px solid var(--dua-surface-2);box-shadow:0 4px 10px -3px rgba(251,69,236,.7),inset 0 1px 0 rgba(255,248,253,.85);transition:left .9s var(--dua-ease-out) calc(var(--i,0)*120ms)}

/* ---------- motion ----------
   <html class="dua-motion"> is set by an inline script in <head> only when reduced motion is NOT requested,
   so without JS or with reduce nothing below hides anything. .is-ready = the loader has finished. */
.dua-motion .dua-reveal:not(.is-in),
.dua-motion .dua-reveal-group:not(.is-in)>*{opacity:0}
.dua-motion .dua-reveal.is-in,
.dua-motion .dua-reveal-group.is-in>*{animation:dua-reveal var(--dua-t-reveal) var(--dua-ease-out) calc(var(--i,0)*var(--dua-stagger)) backwards}
.dua-motion .dua-meter:not(.is-in) .dua-meter__fill{width:0}
.dua-motion .dua-meter:not(.is-in) .dua-meter__knob{left:0}
.dua-motion:not(.is-ready) .dua-enter{opacity:0}
.dua-motion.is-ready .dua-enter{animation:dua-enter var(--dua-t-enter) var(--dua-ease-out) calc(var(--d,0)*var(--dua-step)) backwards}
.dua-motion.is-ready .dua-enter--line{animation-name:dua-enter-line}
.dua-motion.is-ready .dua-enter--pop{animation-name:dua-enter-pop;animation-timing-function:var(--dua-ease-pop)}
.dua-loop.is-off{animation-play-state:paused!important}

@keyframes dua-float{0%,100%{transform:translate3d(0,0,0)}50%{transform:translate3d(0,-14px,0)}}
@keyframes dua-reveal{from{opacity:0;transform:translate3d(0,var(--dua-shift),0)}}
@keyframes dua-enter{from{opacity:0;transform:translate3d(0,18px,0)}}
@keyframes dua-enter-line{from{opacity:0;clip-path:inset(0 0 100% 0);transform:translate3d(0,.35em,0)}to{clip-path:inset(-30% -8% -30% -8%)}}
@keyframes dua-enter-pop{from{opacity:0;transform:scale(.9)}}
@keyframes dua-enter-drop{0%{opacity:0;translate:0 -70px}55%{opacity:1;translate:0 10px}76%{translate:0 -6px}100%{translate:0 0}}
@keyframes dua-spin{to{transform:rotate(360deg)}}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}
}
