.story{height:300vh;min-height:1800px;position:relative;background:transparent}
.story::before{content:"";position:absolute;top:0;left:50%;transform:translateX(-50%);width:min(100%,var(--maxw));border-top:1px dotted rgba(0,0,0,.28)}
.story-sticky{height:100vh;height:100dvh;min-height:620px;display:flex;align-items:center;position:sticky;top:0;overflow:hidden}
.story-inner{width:100%;max-width:var(--maxw);height:100%;margin:0 auto;padding:54px 44px 0;display:grid;grid-template-columns:minmax(0,.82fr) minmax(560px,1.18fr);gap:30px;align-items:stretch}
.story-fan{position:relative;display:flex;align-items:center;min-width:0;overflow:visible}
.story-fan-word{position:absolute;top:50%;left:0;white-space:nowrap;font-family:var(--disp);font-size:clamp(52px,5vw,72px);font-weight:500;line-height:1;letter-spacing:-.055em;color:#d1d1d5;transform-origin:-520px center;transform:translateY(-50%);will-change:transform;transition:color .35s ease}
.story-fan-word[data-active="true"]{color:var(--ink)}
.story-demo{position:relative;display:flex;align-items:center;justify-content:flex-end;min-width:0}
.story-camera{position:relative;z-index:1;width:min(690px,100%);border:1px solid rgba(0,0,0,.62);border-radius:12px;background:linear-gradient(90deg,#d6d5d7,#efefef 50%,#d6d5d7);box-shadow:0 30px 70px rgba(35,39,46,.2),0 1px 0 rgba(255,255,255,.9) inset;overflow:hidden}
.story-camera-bar{height:38px;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:0 13px;border-bottom:1px solid rgba(0,0,0,.22);color:#5e5e63;background:linear-gradient(#f4f4f4,#dedede);font-size:9px;letter-spacing:.035em}
.story-camera-live{display:flex;align-items:center;gap:6px;color:#343438}.story-camera-live i,.story-camera-readout i{width:6px;height:6px;border-radius:50%;background:var(--rec);box-shadow:0 0 7px rgba(255,59,48,.75)}
.story-camera-screen{--story-overlay-top:60%;position:relative;aspect-ratio:16/10;overflow:hidden;background:#222}
.story-camera-screen video{width:100%;height:100%;object-fit:cover;filter:saturate(.8) contrast(1.03);transform:scale(1.01)}
.story-camera-shade{position:absolute;inset:0;background:rgba(7,9,13,.14);opacity:0;pointer-events:none;transition:opacity .45s ease}
.story-camera-screen:not([data-step="0"]) .story-camera-shade{opacity:1}
.story-camera-readout{position:absolute;z-index:3;top:14px;right:14px;display:flex;align-items:center;gap:7px;padding:6px 8px;border:1px solid rgba(255,255,255,.24);border-radius:5px;background:rgba(6,8,11,.54);color:#fff;font-size:8px;letter-spacing:.055em;backdrop-filter:blur(8px)}
.story-artifact{position:absolute;z-index:2;left:clamp(24px,4vw,46px);top:var(--story-overlay-top);bottom:auto;opacity:0;visibility:hidden;transform:translateY(14px) scale(.985);transition:opacity .45s ease,transform .45s var(--ease),visibility .45s}
.story-artifact[data-active="true"]{opacity:1;visibility:visible;transform:translateY(0) scale(1)}
.story-prompt,.story-receipt{width:min(520px,84%);border:1px solid rgba(255,255,255,.62);background:radial-gradient(circle at 12% 0%,rgba(255,255,255,.72),transparent 42%),linear-gradient(135deg,rgba(250,252,255,.58),rgba(230,237,246,.34));box-shadow:inset 0 1px 0 rgba(255,255,255,.86),inset 0 -1px 0 rgba(255,255,255,.2),0 22px 55px rgba(25,38,58,.22),0 5px 16px rgba(25,38,58,.12);-webkit-backdrop-filter:blur(24px) saturate(1.45) brightness(1.06);backdrop-filter:blur(24px) saturate(1.45) brightness(1.06)}
.story-prompt{overflow:hidden;border-radius:9px;color:var(--ink)}
.story-prompt-bar{min-height:32px;padding:0 11px;display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid rgba(255,255,255,.42);background:linear-gradient(180deg,rgba(255,255,255,.38),rgba(255,255,255,.13));color:rgba(55,61,70,.74);box-shadow:inset 0 1px 0 rgba(255,255,255,.44);font-size:8px;letter-spacing:.05em}
.story-prompt-bar span:last-child{display:flex;align-items:center;gap:5px}.story-prompt-bar span:last-child::before{content:"";width:5px;height:5px;border-radius:50%;background:#2cc45a;box-shadow:0 0 6px rgba(44,196,90,.45)}
.story-prompt p{margin:0;padding:20px 22px 23px;text-wrap:pretty}
.story-prompt p,.story-receipt b{font-size:clamp(20px,2.2vw,21px);font-weight:500;line-height:1.2;letter-spacing:-.035em}
.story-receipt{padding:14px 16px;display:grid;grid-template-columns:42px minmax(0,1fr) 28px;gap:13px;align-items:center;border-radius:9px;color:var(--ink)}
.story-receipt>img{width:42px;height:42px;padding:6px;object-fit:contain;border:1px solid rgba(255,255,255,.68);border-radius:7px;background:rgba(255,255,255,.7);box-shadow:inset 0 1px 0 rgba(255,255,255,.8),0 4px 10px rgba(25,38,58,.1)}.story-receipt>span{min-width:0;display:flex;flex-direction:column}.story-receipt small{color:rgba(55,61,70,.7);font-size:7px;line-height:1.2;letter-spacing:.08em}.story-receipt em{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:rgba(55,61,70,.76);font-size:9px;font-style:normal}.story-receipt>i{width:28px;height:28px;display:grid;place-items:center;border-radius:50%;background:rgba(11,11,13,.9);color:#fff;font-size:12px;font-style:normal;box-shadow:inset 0 1px 0 rgba(255,255,255,.24)}
@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.story-prompt,.story-receipt{background:rgba(244,247,251,.93)}}
.integrations h2,.final-cta h2{font-family:var(--disp);font-size:clamp(42px,6vw,72px);font-weight:500;line-height:.98;letter-spacing:-.045em;text-wrap:balance}
.final-cta{position:relative;max-width:930px;margin:0 auto var(--section-gap);padding:var(--section-gap) 38px var(--section-gap);text-align:center;border-top:1px dotted rgba(0,0,0,.28);border-bottom:1px dotted rgba(0,0,0,.28)}
.final-cta h2{font-size:clamp(48px,7vw,78px)}
.final-cta p{max-width:580px;margin:22px auto 0;color:var(--muted);font-size:17px;line-height:1.6}
.final-actions{display:flex;justify-content:center;align-items:center;gap:20px;flex-wrap:wrap;margin-top:30px}
.text-link{min-height:44px;display:inline-flex;align-items:center;cursor:pointer;background:none;font-size:14px;color:var(--muted);padding:10px 0}.text-link:hover{color:var(--ink)}
.cta-sticker{position:absolute;right:7%;top:14px;display:inline-block;background:#fff;border:1px solid var(--line-strong);box-shadow:var(--shadow-small);padding:5px 11px 7px;font-family:var(--sketch);font-size:17px;font-weight:600;letter-spacing:.01em;transform:rotate(4deg)}
@media(max-width:1120px){.story-camera-screen{--story-overlay-top:44%}}
@media(max-width:1000px){
  .story-inner{padding-inline:24px;grid-template-columns:minmax(220px,.6fr) minmax(480px,1.4fr);gap:18px}
  .story-fan-word{font-size:clamp(44px,6vw,60px);transform-origin:-390px center}
  .story-camera{width:min(620px,100%)}
  .story-prompt,.story-receipt{width:min(500px,86%)}
}
@media(max-width:780px){
  .story{height:220vh;min-height:0}
  .story-sticky{min-height:0}
  .story-inner{padding:clamp(70px,9vh,90px) 20px clamp(24px,4vh,40px);display:flex;flex-direction:column;justify-content:flex-start;gap:14px}
  .story-fan{flex:0 0 auto;width:100%;overflow:visible;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:2px}
  .story-fan-word{position:static;left:auto;top:auto;transform:none;font-size:clamp(34px,9vw,48px);line-height:1.08;letter-spacing:-.045em;transform-origin:center}
  .story-demo{flex:1 1 auto;min-height:0;max-height:64vh;width:100%;display:flex}
  .story-camera{width:100%;height:100%;margin:0 auto;display:flex;flex-direction:column}
  .story-camera-screen{--story-overlay-top:44%;flex:1 1 auto;min-height:0;aspect-ratio:auto}
  .story-artifact{left:20px}
  .story-prompt,.story-receipt{width:calc(100% - 40px)}
  .story-prompt p,.story-receipt b{font-size:clamp(18px,4vw,21px)}
}
@media(max-width:600px){
  .story{height:220vh;min-height:0}
  .story-inner{padding:clamp(66px,8vh,82px) 14px clamp(20px,3vh,28px)}
  .story-fan-word{font-size:clamp(30px,8.5vw,42px)}
  .story-camera-bar{height:32px;padding-inline:10px;font-size:8px}
  .story-camera-readout{top:9px;right:9px}
  .story-artifact{left:14px}
  .story-prompt,.story-receipt{width:calc(100% - 28px)}
  .story-prompt-bar{min-height:27px;padding-inline:9px;font-size:7px}.story-prompt p{padding:14px 15px 16px}.story-prompt p,.story-receipt b{font-size:17px}
  .story-receipt{grid-template-columns:34px minmax(0,1fr) 24px;padding:10px 12px;gap:9px}.story-receipt>img{width:34px;height:34px}.story-receipt>i{width:24px;height:24px}
  .final-cta{margin:var(--section-gap) 20px;padding:var(--section-gap) 12px}.final-cta h2{font-size:48px}.final-cta p{font-size:15px}
}
/* Mobile perf (≤1024px): the story section pins a playing video for 220vh while
   layering blurred glass panels over it. Drop every backdrop-filter/filter pass
   here; panels fall back to the frosted-solid look (copied from the
   @supports-not fallback above), the readout goes solid, and the video's
   per-frame filter is removed. */
@media(max-width:1024px){
  .story-prompt,.story-receipt{-webkit-backdrop-filter:none;backdrop-filter:none;background:rgba(244,247,251,.93)}
  .story-camera-readout{-webkit-backdrop-filter:none;backdrop-filter:none;background:rgba(6,8,11,.72)}
  .story-camera-screen video{filter:none}
}
/* Safari perf (any width): same drops as the ≤1024px block above — Safari
   re-runs each backdrop-filter over the playing story video every scroll
   frame of the sticky pin. html.is-safari set by the inline <head> snippet. */
html.is-safari .story-prompt,html.is-safari .story-receipt{-webkit-backdrop-filter:none;backdrop-filter:none;background:rgba(244,247,251,.93)}
html.is-safari .story-camera-readout{-webkit-backdrop-filter:none;backdrop-filter:none;background:rgba(6,8,11,.72)}
html.is-safari .story-camera-screen video{filter:none}
@media(prefers-reduced-motion:reduce){
  .story{height:auto;min-height:0;padding:110px 20px}
  .story-sticky{height:auto;min-height:0;position:static;overflow:visible}
  .story-inner{height:auto;display:block;padding:0}
  .story-fan{display:none}
  .story-demo{display:block;max-width:760px;max-height:none;margin:0 auto}
  .story-camera{width:100%;height:auto;display:block}
  .story-camera-screen{flex:none;max-height:none;aspect-ratio:auto;min-height:0;display:grid;gap:12px;padding:calc(62.5% + 16px) 16px 16px;background:var(--bg)}
  .story-camera-screen video{position:absolute;inset:0 0 auto;width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;transform:none}
  .story-camera-shade{display:none}
  .story-artifact,.story-artifact[data-active="true"]{position:relative;left:auto;top:auto;bottom:auto;width:100%;opacity:1;visibility:visible;transform:none}
}
