/* /how-it-works: one sample campaign told in four steps. Loaded after site.css. Motion: a CSS-only scroll reveal
   (scroll-driven animations where supported, otherwise everything is simply visible), off under reduced motion. */
.hw{--hw-max:1120px}
.hw-hero{position:relative;isolation:isolate;max-width:860px;margin:0 auto;padding:48px var(--gutter-mobile) 24px;text-align:center}
.hw-hero .eyebrow-pill{margin:0 auto}
.hw-title{margin-top:18px;font-family:var(--font-display);font-size:clamp(40px,11vw,76px);line-height:1;letter-spacing:-.045em;font-weight:760;text-wrap:balance}
.hw-lede{margin:18px auto 0;max-width:34em;font-size:clamp(17px,4.6vw,20px);line-height:1.45;letter-spacing:-.014em;color:var(--text-secondary)}
.hw-fiction{margin-top:14px;font-size:13px;color:var(--text-tertiary);font-weight:500}
.hw-jump ol{list-style:none;display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:26px}
.hw-jump a{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:6px 16px 6px 7px;border-radius:var(--radius-pill);background:rgba(255,255,255,.78);-webkit-backdrop-filter:var(--material-blur);backdrop-filter:var(--material-blur);box-shadow:var(--material-edge),var(--shadow-1);font-size:15px;font-weight:620;transition:transform var(--dur-fast) var(--ease-standard),box-shadow var(--dur-fast) var(--ease-standard)}
.hw-jump a:hover{transform:translateY(-1px);box-shadow:var(--material-edge),var(--shadow-2)}
.hw-n{flex-shrink:0;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:var(--bg-inverse);color:var(--text-inverse);font:700 14px/1 var(--font-rounded);font-variant-numeric:tabular-nums}

/* Steps */
.hw-step{max-width:var(--hw-max);margin:0 auto;padding:56px var(--gutter-mobile) 8px;scroll-margin-top:64px}
.hw-head{max-width:640px}
.hw-kicker{display:flex;align-items:center;gap:10px}
.hw-kicker .hw-n{width:36px;height:36px;font-size:16px;background:linear-gradient(135deg,#FFB53F,#FF5A36 52%,#F7357A);color:#fff;box-shadow:0 8px 18px -8px rgba(217,58,28,.6)}
.hw-who{font-size:13px;font-weight:650;letter-spacing:.06em;text-transform:uppercase;color:var(--text-secondary)}
.hw-head h2{margin-top:14px;font-family:var(--font-display);font-size:clamp(30px,7.4vw,46px);line-height:1.04;letter-spacing:-.035em;font-weight:740;text-wrap:balance}
.hw-body{margin-top:12px;font-size:18px;line-height:1.5;color:var(--text-secondary);max-width:36em}

.hw-fig{margin:0;min-width:0}
.hw-fig figcaption{margin-top:12px;font-size:14px;line-height:1.45;color:var(--text-secondary);text-align:center;text-wrap:balance}
.hw-img{display:block;width:100%;height:auto}
.hw-wide{margin-top:28px}

/* Desktop window frame (CSS only; the screenshots carry no chrome) */
.hw-browser{border-radius:18px;overflow:hidden;background:#fff;box-shadow:0 0 0 .5px rgba(0,0,0,.08),0 40px 80px -40px rgba(80,30,10,.35),var(--shadow-2)}
.hw-chrome{display:flex;align-items:center;gap:7px;height:34px;padding:0 14px;background:#F3F1EF;border-bottom:.5px solid var(--border-hairline)}
.hw-chrome i{width:11px;height:11px;border-radius:50%;background:#E2DEDA}
.hw-chrome i:nth-child(1){background:#FF6159}.hw-chrome i:nth-child(2){background:#FFBD2E}.hw-chrome i:nth-child(3){background:#28C941}
.hw-chrome span{margin:0 auto;padding:3px 14px;border-radius:7px;background:#fff;font-size:11.5px;color:var(--text-secondary);transform:translateX(-24px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:60%}
.hw-card-shot{border-radius:var(--radius-xl);overflow:hidden;background:#fff;box-shadow:0 0 0 .5px rgba(0,0,0,.06),var(--shadow-2)}

.hw-pair{display:grid;gap:20px;margin-top:28px}
.hw-points{list-style:none;display:grid;gap:10px;margin-top:28px}
.hw-points li{display:flex;align-items:flex-start;gap:10px;padding:14px 16px;border-radius:var(--radius-lg);background:#fff;box-shadow:var(--shadow-1);font-size:15.5px;line-height:1.45}
.hw-points svg{flex-shrink:0;margin-top:3px;color:var(--flare-700)}
@media (min-width:760px){.hw-pair{grid-template-columns:1fr 1fr}.hw-points{grid-template-columns:repeat(3,1fr)}}

/* Step 2 */
.hw-split{display:grid;gap:28px;margin-top:28px;align-items:start}
.hw-publish{background:#F7F3EF}
.hw-send h3,.hw-feeds-head h3{font-family:var(--font-display);font-size:22px;letter-spacing:-.022em;font-weight:720}
.hw-people{list-style:none;display:grid;gap:10px;margin-top:14px}
.hw-people li{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:var(--radius-lg);background:#fff;box-shadow:var(--shadow-1)}
.hw-person{min-width:0;display:grid;gap:1px}
.hw-person b{font-size:15.5px;font-weight:680}
.hw-person i{font-style:normal;font-size:13px;color:var(--text-tertiary)}
.hw-person span{font-size:14.5px;line-height:1.4;color:var(--text-secondary)}
.hw-av{flex-shrink:0;width:42px;height:42px;border-radius:50%;display:grid;place-items:center;color:#fff;font:700 14px/1 var(--font-rounded);letter-spacing:.02em}
.av-lt{background:linear-gradient(135deg,#FF7A7A,#E2335E)}
.av-jr{background:linear-gradient(135deg,#B57BFF,#7B3FE4)}
.av-so{background:linear-gradient(135deg,#D9E84A,#9DBB1F);color:#2B3300}
.av-pn{background:linear-gradient(135deg,#5FE0A0,#1FAE6B)}
.hw-roles{margin-top:18px}
.hw-roles img{border-radius:var(--radius-lg);box-shadow:var(--shadow-1);max-width:360px;margin:0 auto}
.hw-note{display:flex;align-items:center;justify-content:center;gap:6px;margin-top:16px;font-size:14px;font-weight:550;color:var(--text-secondary)}
.hw-note svg{color:var(--text-success)}
@media (min-width:900px){.hw-split{grid-template-columns:1.05fr .95fr;gap:44px}}

/* Step 3: phones (device frame drawn here, never baked into the screenshot) */
.hw-phones{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),300px));justify-content:center;gap:28px 48px;margin-top:32px}
.hw-phone{position:relative;padding:9px;border-radius:50px;background:linear-gradient(145deg,#2B2622,#0E0C0A);box-shadow:0 0 0 1.5px #3A3530,inset 0 0 0 1px rgba(255,255,255,.08),0 50px 90px -34px rgba(80,30,10,.45),0 20px 40px -20px rgba(0,0,0,.3)}
.hw-phone::before{content:"";position:absolute;top:19px;left:50%;width:84px;height:24px;border-radius:14px;background:#0B0A09;transform:translateX(-50%);z-index:2}
.hw-phone-screen{border-radius:41px;overflow:hidden;background:#F5F5F7;padding-top:34px}
.hw-phone-screen img{display:block;width:100%;height:auto}

/* Step 3: what it shares (post previews built in HTML/CSS) */
.hw-feeds{margin-top:56px}
.hw-feeds-head{text-align:center;max-width:560px;margin:0 auto}
.hw-feeds-head p{margin-top:8px;font-size:16px;line-height:1.5;color:var(--text-secondary)}
.hw-posts{display:grid;gap:22px;margin-top:26px;align-items:start}
@media (min-width:720px){.hw-posts{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1080px){.hw-posts{grid-template-columns:repeat(3,minmax(0,1fr))}}
.post{position:relative;min-width:0;border-radius:18px;background:#fff;box-shadow:0 0 0 .5px rgba(0,0,0,.07),var(--shadow-2);overflow:hidden;font-family:var(--font-text);color:#1D1D1F;transition:transform var(--dur-base) var(--ease-standard),box-shadow var(--dur-base) var(--ease-standard)}
.post:hover{transform:translateY(-3px);box-shadow:0 0 0 .5px rgba(0,0,0,.07),var(--shadow-3)}
.post-pf{position:absolute;top:12px;right:12px;width:26px;height:26px;border-radius:8px;display:grid;place-items:center;z-index:1}
.post-head{display:flex;align-items:center;gap:10px;padding:14px 48px 10px 14px}
.post-head .hw-av{width:40px;height:40px;font-size:13px}
.post-who{min-width:0;display:grid}
.post-who b{font-size:14.5px;font-weight:650}
.post-who i{display:flex;align-items:center;gap:4px;font-style:normal;font-size:12px;color:#666;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.post-text{padding:0 14px 12px;font-size:14px;line-height:1.45;overflow-wrap:anywhere}
.post-more{color:#666;font-weight:500}
.post-media{display:block;width:100%;height:auto}
.post-actions{display:flex;align-items:center;color:#555}
.li-actions{justify-content:space-around;padding:6px 6px 8px;border-top:.5px solid #E6E6E6;font-size:13px;font-weight:600}
.li-actions span{display:flex;align-items:center;gap:5px;padding:8px 4px}
@media (max-width:400px){.li-actions{font-size:12px}.li-actions svg{display:none}}
.ig-ring{box-shadow:0 0 0 2px #fff,0 0 0 4px #E1306C}
.post-ig .post-head{padding-right:14px}
.post-ig .post-pf{display:none}
.post-dots{margin-left:auto;color:#1D1D1F;display:flex}
.ig-media{aspect-ratio:4/5;object-fit:cover}
.ig-actions{gap:14px;padding:10px 14px 4px;color:#1D1D1F}
.ig-actions span{display:flex}
.ig-save{margin-left:auto}
.ig-text{padding-top:4px}
.ig-text b{font-weight:650}
.post-tags,.post-link{color:#1D5FD8}
.post-ig .post-tags{color:#00376B}
.x-card{position:relative;margin:0 14px;border-radius:16px;overflow:hidden;border:.5px solid #CFD9DE}
.x-media{aspect-ratio:1/1;object-fit:cover;object-position:50% 62%}
.x-card-title{position:absolute;left:10px;bottom:10px;max-width:calc(100% - 20px);padding:2px 7px;border-radius:5px;background:rgba(0,0,0,.72);color:#fff;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.x-from{display:block;padding:6px 14px 0;font-size:12.5px;color:#536471}
.x-actions{justify-content:space-between;padding:10px 18px 14px;color:#536471}
.x-actions span{display:flex}

/* Outcomes */
.hw-out{max-width:var(--hw-max);margin:0 auto;padding:72px var(--gutter-mobile) 48px}
.hw-out-grid{list-style:none;display:grid;gap:16px}
.hw-out-grid li{padding:26px;border-radius:var(--radius-xl);background:#fff;box-shadow:var(--shadow-2)}
.hw-out-ico{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;background:var(--accent-tint);color:var(--flare-700)}
.hw-out-grid h3{margin-top:16px;font-family:var(--font-display);font-size:22px;line-height:1.15;letter-spacing:-.022em;font-weight:720;text-wrap:balance}
.hw-out-grid p{margin-top:8px;font-size:16px;line-height:1.5;color:var(--text-secondary)}
@media (min-width:860px){.hw-out-grid{grid-template-columns:repeat(3,1fr);gap:20px}}
.hw-final-ctas{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}
.btn-glass{background:rgba(255,255,255,.18);color:#fff;box-shadow:inset 0 0 0 1px rgba(255,255,255,.55)}
.btn-glass:hover{background:rgba(255,255,255,.28)}
@media (max-width:480px){.hw-final-ctas .btn{width:100%}}

@media (min-width:1024px){
  .hw-hero{padding:80px var(--gutter-desktop) 24px}
  .hw-step{padding:88px var(--gutter-desktop) 8px}
  .hw-out{padding:104px var(--gutter-desktop) 56px}
  .hw-wide{margin-top:36px}
}

/* Scroll reveal: progressive enhancement only. Without support (or with reduced motion) nothing is hidden. */
@media (prefers-reduced-motion: no-preference){
  @supports (animation-timeline: view()){
    .hw-reveal{animation:hwReveal linear both;animation-timeline:view();animation-range:entry 0% entry calc(45% + var(--i,0) * 6%)}
  }
}
@keyframes hwReveal{from{opacity:0;transform:translate3d(0,28px,0) scale(.985)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion: reduce){.post,.hw-jump a{transition:none}.post:hover,.hw-jump a:hover{transform:none}}
@media (forced-colors: active){.hw-n,.hw-av{border:1px solid CanvasText}}
@media (max-width:899px){.hw-split > .hw-fig{width:100%;max-width:520px;margin:0 auto}}
@media (min-width:600px) and (max-width:899px){.hw-people{grid-template-columns:1fr 1fr}}
