/*! social-pinks — page styles: social-media
    Generated from the static build. Edit the source HTML and re-run
    tools/build-theme.py, or edit here directly once you stop regenerating. */
@media(prefers-reduced-motion:reduce){}
.hero-grid{display:grid;grid-template-columns:1.02fr .98fr;gap:40px;align-items:center}
.hero-media{position:relative;margin-top:6px}
@media(max-width:940px){.hero-grid{grid-template-columns:1fr;gap:26px}.hero-media{margin-top:26px}.mediacard img{height:300px}}
/* ===== HERO — variation 2: full-bleed image banner ===== */
.hero.hero2{padding:0;background:#fff}
.hero2 .bgwrap{position:relative;min-height:560px;display:flex;align-items:center;overflow:hidden}
.hero2 .bgwrap>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:62% 18%;z-index:0}
.hero2 .bgwrap::before{content:"";position:absolute;inset:0;background:linear-gradient(100deg,rgba(255,255,255,.86) 0%,rgba(255,255,255,.62) 32%,rgba(255,255,255,.34) 58%,rgba(255,255,255,.12) 100%);z-index:1}
.hero2 .wrap{position:relative;z-index:2;padding:56px 24px;width:100%;text-align:left}
.hero2 .herocopy{max-width:560px}
.hero2 .kick{background:rgba(255,255,255,.85)}
.hero2 .herostats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:26px;max-width:480px}
.hero2 .herostats>div{background:rgba(255,255,255,.7);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);border:1px solid rgba(255,255,255,.7);border-radius:14px;padding:12px 8px;text-align:center;box-shadow:var(--shadow-sm)}
.hero2 .herostats b{font-size:1.35rem}
.hero2 .herostats span{text-transform:uppercase;letter-spacing:.04em;font-size:.62rem;font-weight:700;margin-top:2px}
@media(max-width:980px){.hero2 .bgwrap>img{object-position:70% 15%}.hero2 .bgwrap::before{background:linear-gradient(100deg,rgba(255,255,255,.9) 0%,rgba(255,255,255,.7) 42%,rgba(255,255,255,.4) 66%,rgba(255,255,255,.18) 100%)}}
@media(max-width:760px){
    .hero2 .bgwrap{min-height:auto;display:block}
    .hero2 .bgwrap>img{position:static;width:100%;height:280px;object-fit:cover;object-position:60% 12%}
    .hero2 .bgwrap::before{display:none}
    .hero2 .wrap{padding:28px 24px 36px}
    .hero2 .herostats{max-width:none}
    .hero2 .herocopy{max-width:none}
  }
/* ===== service-page additions (same tokens/theme) ===== */
.byline{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;font-size:.82rem;color:var(--ink-3);margin-top:16px}
.byline .av{width:26px;height:26px;border-radius:50%;background:var(--ink);color:var(--spring-hi);display:grid;place-items:center;font-family:var(--disp);font-weight:800;font-size:.62rem}
.byline b{color:var(--ink)}
.byline .vf{display:inline-flex;align-items:center;gap:4px;color:var(--green);font-weight:600}
.byline .vf svg{width:13px;height:13px}
/* hero float visuals */
.hero-media{position:relative}
.serpcard{position:absolute;left:-14px;bottom:22px;width:266px;max-width:70%;background:rgba(255,255,255,.92);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid var(--line-2);border-radius:16px;box-shadow:var(--shadow-lg);padding:14px 16px;z-index:3}
.serpcard .u{font-size:.72rem;color:#3b7a3b;display:flex;align-items:center;gap:7px}
.serpcard .u .g{width:15px;height:15px;border-radius:50%;background:conic-gradient(from -40deg,#EA4335,#FBBC05,#34A853,#4285F4,#EA4335);flex:none}
.serpcard .t{font-family:var(--disp);color:#1a0dab;font-size:.98rem;font-weight:700;margin:5px 0 3px;line-height:1.2}
.serpcard .d{font-size:.75rem;color:var(--ink-2);line-height:1.42}
.serpcard .bd{margin-top:9px;display:inline-flex;align-items:center;gap:6px;font-size:.68rem;font-weight:800;color:#0a7a4e;background:#e9fbf3;border-radius:999px;padding:4px 10px}
.fchip{position:absolute;background:#fff;border:1px solid var(--line-2);border-radius:14px;box-shadow:var(--shadow);padding:10px 14px;z-index:3;display:flex;align-items:center;gap:10px}
.fchip .ic{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;color:#fff;flex:none}
.fchip .ic svg{width:17px;height:17px}
.fchip b{font-family:var(--disp);font-weight:800;font-size:1.02rem;display:block;line-height:1}
.fchip small{font-size:.64rem;color:var(--ink-3)}
.fchip.tr{top:-18px;right:12px;animation:fl 6s ease-in-out infinite}
.fchip.bl{bottom:-18px;left:10px;animation:fl 7s ease-in-out infinite .8s}
/* full-screen hero fold */
.hero.fold{min-height:0;display:flex;flex-direction:column;align-items:stretch}
@media(max-width:520px){.serpcard,.fchip{display:none}}
/* what is SEO */
.whatgrid{display:grid;grid-template-columns:1.02fr .98fr;gap:36px;align-items:center}
@media(max-width:900px){.whatgrid{grid-template-columns:1fr;gap:26px}}
.takes{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:26px}
@media(max-width:900px){.takes{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.takes{grid-template-columns:1fr}}
.take{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:20px;transition:transform .16s,box-shadow .2s,border-color .2s}
.take:hover{transform:translateY(-3px);box-shadow:var(--shadow);border-color:var(--pink)}
.take .ic{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;color:#fff;margin-bottom:12px}
.take .ic svg{width:20px;height:20px}
.take b{font-family:var(--disp);font-size:.95rem;display:block;margin-bottom:4px}
.take p{font-size:.83rem;color:var(--ink-2);margin:0;line-height:1.5}
/* services 4-col + CTA card */
.svc8{grid-template-columns:repeat(4,1fr)}
@media(max-width:1000px){.svc8{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.svc8{grid-template-columns:1fr}}
.svc-cta{background:linear-gradient(155deg,var(--ink),var(--forest-2));border-color:transparent!important;display:flex;flex-direction:column;justify-content:center}
.svc-cta .ic{background:rgba(255,255,255,.14)!important}
.svc-cta h3{color:#fff}
.svc-cta p{color:rgba(255,255,255,.8)}
.svc-cta .go{color:var(--spring-hi)}
a.svc-cta:hover{box-shadow:var(--shadow-lg)}
/* how-we-work flow timeline (light, colorful) */
.flow{position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:22px;margin-top:6px}
.flow::before{content:"";position:absolute;top:32px;left:12%;right:12%;height:3px;border-radius:3px;background:linear-gradient(90deg,var(--pink),#3b82f6,#f59e0b,#14b8a6);z-index:0}
@media(max-width:820px){.flow{grid-template-columns:1fr 1fr;gap:32px 22px}.flow::before{display:none}}
@media(max-width:520px){.flow{grid-template-columns:1fr}}
.fstep{position:relative;z-index:1;text-align:center;display:flex;flex-direction:column;align-items:center}
.fstep .fic{width:64px;height:64px;border-radius:50%;display:grid;place-items:center;color:#fff;box-shadow:var(--shadow);margin-bottom:18px;position:relative}
.fstep .fic svg{width:27px;height:27px}
.fstep .fic .n{position:absolute;bottom:-7px;right:-7px;width:24px;height:24px;border-radius:50%;background:#fff;border:2px solid currentColor;font-family:var(--disp);font-weight:800;font-size:.7rem;display:grid;place-items:center}
.fstep h3{font-family:var(--disp);font-size:1.1rem;margin-bottom:7px}
.fstep p{font-size:.9rem;color:var(--ink-2);max-width:26ch}
/* what's inside the audit */
.kitgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
@media(max-width:820px){.kitgrid{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.kitgrid{grid-template-columns:1fr}}
.kit{display:flex;gap:14px;align-items:flex-start;background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:20px;transition:transform .16s,box-shadow .2s,border-color .2s}
.kit:hover{transform:translateY(-3px);box-shadow:var(--shadow);border-color:var(--pink)}
.kit .ic{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;color:#fff;flex:none}
.kit .ic svg{width:21px;height:21px}
.kit b{font-family:var(--disp);font-size:.98rem;display:block;margin-bottom:3px}
.kit p{font-size:.85rem;color:var(--ink-2);margin:0;line-height:1.5}
.kitnote{text-align:center;margin-top:22px;color:var(--ink-2);font-size:.94rem}
.kitnote b{color:var(--ink)}
/* h3 semantics for sub-cards (keep homepage look) */
.step h3{font-family:var(--disp);font-size:1.2rem;font-weight:700;margin-bottom:7px}
.work .body h3{font-family:var(--disp);font-size:1.05rem;font-weight:700;margin:5px 0 6px}
.epill h3{font-family:var(--disp);font-size:1.05rem;font-weight:700;margin:4px 0 7px}
/* AEO answer / definition */
.answer{background:#fff;border:1px solid var(--line-2);border-left:4px solid var(--pink);border-radius:var(--r-lg);padding:26px 28px;box-shadow:var(--shadow-sm)}
.answer .q{font-family:var(--disp);font-weight:800;font-size:1.15rem;letter-spacing:-.01em;margin-bottom:8px}
.answer p{color:var(--ink-2);font-size:1rem;margin-top:10px}
.answer .lead-a{color:var(--ink);font-size:1.04rem;font-weight:500}
/* E-E-A-T pillars */
.eeat{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
@media(max-width:900px){.eeat{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.eeat{grid-template-columns:1fr}}
.epill{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:22px}
.epill .ic{width:44px;height:44px;border-radius:13px;display:grid;place-items:center;color:#fff;margin-bottom:14px}
.epill .ic svg{width:22px;height:22px}
.epill .k{font-family:var(--disp);font-size:.68rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase;color:var(--pink)}
.epill p{font-size:.88rem;color:var(--ink-2)}
/* author card */
.authorcard{display:flex;gap:18px;align-items:center;flex-wrap:wrap;background:var(--ink);color:#fff;border-radius:var(--r-lg);padding:24px 26px;box-shadow:var(--shadow)}
.authorcard .mono{width:64px;height:64px;border-radius:50%;background:linear-gradient(135deg,var(--pink),#8b5cf6);display:grid;place-items:center;font-family:var(--disp);font-weight:800;font-size:1.3rem;color:#fff;flex:none}
.authorcard .who b{font-family:var(--disp);font-size:1.05rem}
.authorcard .who .role{color:var(--spring-hi);font-size:.86rem;font-weight:600}
.authorcard .who p{color:rgba(255,255,255,.75);font-size:.86rem;margin-top:6px;max-width:56ch}
.authorcard .creds{margin-left:auto;display:flex;gap:8px;flex-wrap:wrap}
.authorcard .creds span{font-size:.72rem;font-weight:600;color:#fff;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.16);border-radius:999px;padding:6px 12px}
@media(max-width:640px){.authorcard .creds{margin-left:0;width:100%}}
.geo{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center}
@media(max-width:900px){.geo{grid-template-columns:1fr;gap:28px}}
.geo .copy h2{font-size:clamp(1.7rem,3vw,2.15rem);letter-spacing:-.03em;max-width:18ch}
.geo .copy .lead{margin:14px 0 18px;color:var(--ink-2);font-size:1.02rem;max-width:46ch}
.geo .checks{list-style:none;padding:0;margin:0 0 20px;display:grid;gap:10px}
.geo .checks li{display:flex;gap:10px;align-items:flex-start;font-size:.94rem}
.geo .checks li svg{width:18px;height:18px;color:var(--green);flex:none;margin-top:3px}
.mock{border-radius:var(--r-xl);overflow:hidden;box-shadow:var(--shadow-lg);border:1px solid var(--line-2);background:#fff}
.mock svg{display:block;width:100%;height:auto}
.relstrip{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:8px}
.relstrip a{display:inline-flex;align-items:center;gap:8px;font-family:var(--disp);font-weight:600;font-size:.86rem;color:var(--ink);background:#fff;border:1px solid var(--line-2);border-radius:999px;padding:9px 16px;transition:transform .15s,border-color .2s,color .2s}
.relstrip a:hover{transform:translateY(-2px);border-color:var(--pink);color:var(--pink)}
.relstrip a .dot{width:9px;height:9px;border-radius:3px;flex:none}
/* ---- Social Media page unique sections ---- */
.ce-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:14px;margin-top:8px}
.ce-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:20px 16px;text-align:center;transition:transform .16s,box-shadow .2s}
.ce-card:hover{transform:translateY(-5px);box-shadow:var(--shadow)}
.ce-ic{width:46px;height:46px;border-radius:13px;background:var(--t);color:var(--c);display:grid;place-items:center;margin:0 auto 12px}
.ce-ic svg{width:23px;height:23px}
.ce-card b{font-family:var(--disp);font-weight:800;font-size:1.5rem;color:var(--ink);display:block;line-height:1}
.ce-card span{font-size:.76rem;color:var(--ink-2);margin-top:5px;display:block}
@media(max-width:900px){.ce-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:520px){.ce-grid{grid-template-columns:repeat(2,1fr)}}
.ce-flow{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:10px;margin-top:34px}
.ce-step{font-family:var(--disp);font-weight:700;font-size:.9rem;color:var(--ink);background:var(--lilac);border:1px solid var(--line-2);border-radius:999px;padding:9px 18px}
.ce-step.ce-loop{background:var(--pink);color:#fff;border-color:var(--pink)}
.ce-arr{color:var(--ink-3);font-weight:700}
@media(max-width:600px){.ce-arr{display:none}.ce-flow{gap:8px}}
/* centered final CTA (distinct from the split audit band) */
.cta-final{background:linear-gradient(150deg,#1a1330,#241a3f 55%,#2d1548);border-radius:var(--r-xl);padding:clamp(36px,6vw,72px) clamp(24px,4vw,56px);text-align:center;position:relative;overflow:hidden}
.cta-final::before{content:"";position:absolute;left:-10%;top:-40%;width:50%;height:180%;background:radial-gradient(circle,rgba(230,0,126,.4),transparent 65%);opacity:.55}
.cta-final::after{content:"";position:absolute;right:-10%;bottom:-50%;width:50%;height:180%;background:radial-gradient(circle,rgba(108,77,242,.4),transparent 65%);opacity:.5}
.cta-final-in{position:relative;z-index:1;max-width:640px;margin:0 auto}
.cta-final h2{color:#fff;font-size:clamp(1.9rem,3.6vw,2.7rem);font-weight:800;margin-top:16px}
.cta-final p{color:rgba(255,255,255,.8);margin-top:14px;font-size:1.04rem}
.cta-final-ticks{display:inline-flex;flex-direction:column;gap:10px;margin:22px auto 0;text-align:left}
.cta-final-ticks div{display:flex;align-items:center;gap:10px;font-size:.94rem;color:rgba(255,255,255,.9)}
.cta-final-ticks svg{width:18px;height:18px;color:var(--spring);flex:none}
.cta-final-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:28px}
.btn-lg{padding:15px 28px;font-size:1.02rem}
.cta-final-trust{margin-top:22px;font-size:.9rem;color:rgba(255,255,255,.75)}
.cta-final-trust b{color:#fff}
/* SVG safety: icons in cards/panels must never render at intrinsic size */
.svcpanel svg,.ce-card svg,.epill svg,.kit svg,.fstep svg,.tcard svg,.relstrip svg,.cta-final svg,.svc svg{width:1.25em;height:1.25em}
.svcpanel .svcpanel-in>div svg{width:auto}
.svcpanel ul svg{width:16px;height:16px;flex:none}
.svcpanel h3 span svg{width:20px;height:20px}
.svcpanel .stat svg,.ce-card .ce-ic svg{width:23px;height:23px}
/* social services panel */
.sp-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:26px;align-items:center}
.sp-copy h3{font-size:1.4rem;display:flex;align-items:center;gap:12px}
.sp-badge{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;flex:none}
.sp-badge svg{width:20px;height:20px}
.sp-copy p{color:var(--ink-2);margin-top:12px;font-size:.98rem}
.sp-list{list-style:none;padding:0;margin:16px 0 0;display:grid;gap:9px}
.sp-list li{display:flex;align-items:center;gap:10px;font-size:.92rem;color:var(--ink-2)}
.sp-list li svg{width:15px;height:15px;color:var(--c);flex:none}
.sp-stat{border:1px solid var(--line);border-radius:20px;padding:30px 24px;text-align:center}
.sp-stat-b{font-family:var(--disp);font-weight:800;font-size:2.6rem;color:var(--c);line-height:1}
.sp-stat-s{font-size:.86rem;color:var(--ink-2);margin-top:6px}
@media(max-width:760px){.sp-grid{grid-template-columns:1fr}}
/* ROBUST icon guard — inline SVGs without explicit size default to text-size, never intrinsic huge */
svg:not([width]){max-width:100%}
.band :where(h3,h4,li,summary,.kick,.badge,.go,.vf) svg:not([width]){width:1.1em;height:1.1em}
.sp-list li svg{width:15px!important;height:15px!important}
.ce-flow svg,.relstrip svg:not([width]){width:1em;height:1em}
/* ===== Interactive animations (shared) ===== */
/* hover lift on all interactive cards */
.svc,.epill,.tcard,.kit,.ce-card,.sp-stat,.pp-list .item{transition:transform .2s cubic-bezier(.22,1,.36,1),box-shadow .25s ease,border-color .2s}
.svc:hover,.epill:hover,.tcard:hover,.kit:hover,.ce-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg)}
.pp-list .item:hover{transform:translateX(4px);border-color:var(--line-2)}
/* animated gradient shimmer on primary buttons */
.btn-pink,.btn-ink{position:relative;overflow:hidden}
.btn-pink::after,.btn-ink::after{content:"";position:absolute;top:0;left:-120%;width:60%;height:100%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.28),transparent);transform:skewX(-18deg);transition:left .6s ease}
.btn-pink:hover::after,.btn-ink:hover::after{left:130%}
/* reveal: fade + rise, staggered (works with .rev/.in from SEO JS) */
.rev{opacity:0;transform:translateY(22px);transition:opacity .6s ease,transform .6s cubic-bezier(.22,1,.36,1)}
.rev.in{opacity:1;transform:none}
/* live pulse dot */
@keyframes livepulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.35;transform:scale(.8)}}
.live-dot{animation:livepulse 1.6s ease-in-out infinite}
/* tab active underline slide */
.svctab{position:relative}
.svctab.on{animation:tabpop .3s ease}
@keyframes tabpop{0%{transform:scale(.94)}60%{transform:scale(1.04)}100%{transform:scale(1)}}
/* stat number subtle pop when revealed */
.sp-stat.in .sp-stat-b,.ce-card.in b{animation:statpop .5s ease}
@keyframes statpop{0%{transform:scale(.8);opacity:0}100%{transform:scale(1);opacity:1}}
/* floating hero chips */
@keyframes floaty{0%,100%{transform:translateY(0)}50%{transform:translateY(-9px)}}
.fchip{animation:floaty 6s ease-in-out infinite}
.fchip.bl{animation-delay:.8s;animation-duration:7s}
/* card hover on results/geo */
.geo .tcard:hover{transform:translateY(-6px)}
/* respect reduced motion */
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
/* ===== Content engine (redesigned, premium) ===== */
.ce-main{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:8px;align-items:stretch}
/* calendar card */
.ce-cal{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:22px;box-shadow:var(--shadow-sm)}
.ce-cal-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}
.ce-cal-title{display:flex;align-items:center;gap:9px;font-family:var(--disp);font-weight:700;font-size:.92rem;color:var(--ink)}
.ce-cal-title svg{width:18px;height:18px;color:var(--pink)}
.ce-cal-badge{font-size:.68rem;font-weight:700;color:var(--pink);background:var(--rose);border-radius:999px;padding:5px 11px}
.ce-cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}
.ce-dow{font-size:.66rem;font-weight:700;color:var(--ink-3);text-align:center;padding-bottom:4px}
.ce-day{aspect-ratio:1;border-radius:9px;background:var(--lilac);display:flex;align-items:center;justify-content:center;gap:2px;flex-wrap:wrap;padding:4px}
.ce-day.ce-today{background:#141019;box-shadow:0 0 0 2px var(--pink)}
.ce-d{width:8px;height:8px;border-radius:50%;display:block}
.ce-d.ce-reel{background:var(--pink)}
.ce-d.ce-post{background:var(--purple)}
.ce-d.ce-story{background:var(--blue)}
.ce-cal-legend{display:flex;gap:16px;justify-content:center;margin-top:16px;padding-top:14px;border-top:1px solid var(--line)}
.ce-cal-legend span{display:inline-flex;align-items:center;gap:6px;font-size:.74rem;color:var(--ink-2)}
.ce-cal-legend .ce-d{width:9px;height:9px}
/* mix cards */
.ce-mix{display:grid;grid-template-columns:1fr 1fr;gap:14px;align-content:stretch}
.ce-card2{position:relative;background:#fff;border:1px solid var(--line);border-radius:16px;padding:18px;display:flex;align-items:center;gap:14px;overflow:hidden;transition:transform .2s cubic-bezier(.22,1,.36,1),box-shadow .25s}
.ce-card2::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--c)}
.ce-card2:hover{transform:translateY(-5px);box-shadow:var(--shadow-lg)}
.ce-ic2{width:44px;height:44px;border-radius:12px;background:var(--t);color:var(--c);display:grid;place-items:center;flex:none}
.ce-ic2 svg{width:20px;height:20px}
.ce-txt b{font-family:var(--disp);font-weight:800;font-size:1.5rem;color:var(--ink);display:block;line-height:1}
.ce-txt span{font-size:.78rem;color:var(--ink-2);margin-top:3px;display:block}
@media(max-width:900px){.ce-main{grid-template-columns:1fr}.ce-mix{grid-template-columns:1fr 1fr}}
@media(max-width:480px){.ce-mix{grid-template-columns:1fr}}
/* pipeline */
.ce-pipe{margin-top:26px;background:linear-gradient(135deg,var(--lilac),#fff);border:1px solid var(--line);border-radius:var(--r-lg);padding:22px}
.ce-pipe-track{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:6px}
.ce-pstep{display:inline-flex;align-items:center;gap:9px;font-family:var(--disp);font-weight:700;font-size:.9rem;color:var(--ink);background:#fff;border:1px solid var(--line-2);border-radius:999px;padding:9px 16px 9px 9px;box-shadow:var(--shadow-sm)}
.ce-pnum{width:24px;height:24px;border-radius:50%;background:var(--ink);color:#fff;display:grid;place-items:center;font-size:.74rem;flex:none}
.ce-pline{width:26px;height:2px;background:var(--line-2);flex:none}
.ce-ploop{background:linear-gradient(135deg,var(--pink),var(--purple));color:#fff;border-color:transparent;padding-left:16px}
.ce-ploop svg{width:15px;height:15px}
@media(max-width:720px){.ce-pline{width:14px}.ce-pstep{font-size:.82rem;padding:7px 13px 7px 7px}}
@media(max-width:520px){.ce-pline{display:none}.ce-pipe-track{gap:8px}}
/* interactive calendar upgrades */
.ce-day{position:relative;aspect-ratio:1;border:0;border-radius:9px;background:var(--lilac);display:flex;align-items:center;justify-content:center;gap:3px;flex-wrap:wrap;padding:4px;cursor:default}
.ce-day .ce-dn{position:absolute;top:4px;left:6px;font-size:.6rem;font-weight:700;color:var(--ink-3)}
.ce-day.ce-empty{opacity:.55}
.ce-day.ce-has{cursor:pointer;transition:transform .15s,box-shadow .2s,background .2s}
.ce-day.ce-has:hover{transform:translateY(-2px);background:#fff;box-shadow:var(--shadow-sm)}
.ce-day.ce-has:focus-visible{outline:2px solid var(--pink);outline-offset:2px}
.ce-day.ce-sel{background:#141019;box-shadow:0 0 0 2px var(--pink)}
.ce-day.ce-sel .ce-dn{color:rgba(255,255,255,.7)}
.ce-day.ce-today{box-shadow:0 0 0 2px var(--pink)}
.ce-right{display:flex;flex-direction:column;gap:14px}
.ce-detail{background:#141019;border-radius:var(--r-lg);padding:20px;color:#fff;min-height:150px}
.ce-detail-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}
.ce-detail-date{font-family:var(--disp);font-weight:800;font-size:1.1rem;color:#fff}
.ce-detail-count{font-size:.7rem;font-weight:700;color:var(--spring);background:rgba(117,212,157,.14);border-radius:999px;padding:4px 11px}
.ce-detail-body{display:flex;flex-direction:column;gap:10px}
.ce-item{display:flex;gap:12px;align-items:center;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:11px 13px;animation:ceItemIn .35s ease both}
@keyframes ceItemIn{from{opacity:0;transform:translateX(8px)}to{opacity:1;transform:none}}
.ce-item .ce-item-ic{width:32px;height:32px;border-radius:9px;display:grid;place-items:center;flex:none;color:#fff}
.ce-item .ce-item-ic svg{width:16px;height:16px}
.ce-item-k{font-family:var(--disp);font-weight:700;font-size:.82rem;color:#fff}
.ce-item-d{font-size:.75rem;color:rgba(255,255,255,.6);margin-top:1px}
.ce-empty-msg{font-size:.85rem;color:rgba(255,255,255,.55);text-align:center;padding:18px 0}
.ce-mix{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.ce-mix .ce-card2{flex-direction:column;text-align:center;gap:8px;padding:16px 10px}
.ce-mix .ce-card2::before{width:100%;height:4px;left:0;top:0;bottom:auto}
.ce-mix .ce-txt b{font-size:1.25rem}
@media(max-width:900px){.ce-mix{grid-template-columns:repeat(4,1fr)}}
@media(max-width:520px){.ce-mix{grid-template-columns:1fr 1fr}}
