/* FlowPilot extends the site's existing dark glass system. */
.fp-project-preview{display:flex;flex-direction:column;justify-content:center;gap:26px;padding:32px;border-left:1px solid var(--glass-border);background:radial-gradient(ellipse at 80% 20%,#a792f516,transparent 70%),linear-gradient(135deg,#20232dc9,#15231fc9);min-width:0}
.fp-preview-label{display:flex;align-items:center;gap:10px;font-size:9px;letter-spacing:.12em;color:#aaa8b7}
.fp-preview-image{border:1px solid #c1b0e63c;border-radius:7px;overflow:hidden;box-shadow:0 16px 30px #0003;transition:transform .35s,border-color .3s}
.fp-preview-image img{width:100%;height:auto;display:block}
.fp-project-preview:hover .fp-preview-image{transform:translateY(-3px);border-color:#a0d8c47a}
.fp-preview-bottom{display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:13px;color:#e1deea}
.fp-preview-bottom small{font-size:11px;color:var(--muted)}
.fp-preview-open{width:36px;height:36px;flex:0 0 auto;display:grid;place-items:center;border:1px solid #a792f54a;border-radius:50%;color:var(--mint);transition:transform .25s}
.fp-project-preview:hover .fp-preview-open{transform:translate(2px,-2px)}
.homepage .project-subtitle{max-width:340px}
.homepage .stats .stat strong{font-size:clamp(20px,2.1vw,27px)}
.fp-hero{padding:55px 0 0;background:radial-gradient(ellipse at 85% 25%,#42755a20,transparent 60%),radial-gradient(ellipse at 10% 8%,#7354a227,transparent 58%)}
.fp-hero .back{margin-bottom:35px}
.fp-hero .eyebrow{font-size:10px}
.fp-hero-grid{display:grid;grid-template-columns:1.06fr 1fr;gap:75px;align-items:end}
.fp-hero h1{font-size:clamp(64px,7.5vw,104px);letter-spacing:-.065em;margin-bottom:25px}
.fp-hero h1 span{color:var(--purple)}
.fp-hero h2{font-size:clamp(24px,2.5vw,34px);line-height:1.25;letter-spacing:-.035em;max-width:570px}
.fp-hero-intro>p{font-size:15px;line-height:1.8;max-width:520px}
.fp-hero .actions{margin-top:24px}
.fp-hero .chips{margin:23px 0 0}
.fp-evidence{margin:0;min-width:0}
.fp-evidence>button,.fp-evidence>.fp-video-frame{display:block;position:relative;width:100%;padding:9px;border:1px solid #c1b0e63b;border-radius:9px;background:linear-gradient(135deg,#292735cf,#1c2b25cf);box-shadow:inset 0 1px #ffffff0b,0 16px 40px #0002;overflow:hidden;transition:border-color .25s,box-shadow .25s}
.fp-evidence>button:hover,.fp-evidence>.fp-video-frame:hover{border-color:#a0d8c47a;box-shadow:inset 0 1px #ffffff12,0 18px 40px #0003}
.fp-evidence img{display:block;width:100%;height:auto;border-radius:4px;background:#f5f5f5}
.fp-expand{position:absolute;right:18px;bottom:18px;padding:6px 11px;border:1px solid #c1b0e64a;border-radius:4px;background:#161b22ed;color:#eeeaf6;box-shadow:0 3px 12px #0003;font-size:10px;opacity:0;transform:translateY(3px);transition:opacity .2s,transform .2s;pointer-events:none}
.fp-evidence button:hover .fp-expand,.fp-evidence button:focus-visible .fp-expand{opacity:1;transform:none}
.fp-evidence figcaption{display:flex;align-items:baseline;gap:12px;font-size:11px;line-height:1.65;color:#a7a8b1;padding-top:11px}
.fp-image-number{color:var(--mint);font-family:'Space Grotesk',sans-serif;font-size:10px;flex:0 0 auto}
.fp-hero-evidence{margin-top:42px}
.fp-hero-evidence img{max-height:540px;object-fit:contain}
.fp-snapshot{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px;margin:36px 0 0;padding:27px 0 36px;border-top:1px solid var(--line)}
.fp-snapshot>div+div{border-left:1px solid var(--line);padding-left:28px}
.fp-snapshot dt,.fp-micro{font-size:9px;letter-spacing:.12em;color:var(--mint);display:block;margin-bottom:10px}
.fp-snapshot dd{margin:0;font-size:13px;line-height:1.7;color:#cccbd3}
.case-page .fp-section{padding:76px 0}
.fp-section-head{display:flex;align-items:end;justify-content:space-between;gap:55px;margin-bottom:35px}
.fp-section-head h2{font-size:clamp(31px,3.1vw,44px)}
.fp-section-head>p{max-width:400px;font-size:14px;line-height:1.8}
.fp-problem-copy{display:grid;grid-template-columns:1fr 1fr;gap:60px;max-width:1050px}
.fp-problem-copy p{font-size:16px;line-height:1.85}
.fp-system-steps{list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));padding:0;margin:0;border-top:1px solid var(--line)}
.fp-system-steps li{padding:26px 25px 10px 0;position:relative}
.fp-system-steps li+li{padding-left:25px;border-left:1px solid var(--line)}
.fp-system-steps li>span{font-family:'Space Grotesk',sans-serif;color:var(--mint);font-size:11px}
.fp-system-steps h3{font-size:23px;margin:16px 0 12px}
.fp-system-steps p{font-size:13px;line-height:1.8}
.fp-handoff{display:grid;grid-template-columns:1fr 1fr 1fr;align-items:center;gap:24px;padding:28px;margin-top:32px;border:1px solid var(--glass-border);border-radius:8px;background:var(--glass);box-shadow:var(--glass-shadow)}
.fp-handoff strong{display:block;font-size:13px;font-weight:500}
.fp-handoff-center{display:flex;gap:14px;align-items:center;justify-content:center;border-inline:1px solid var(--line);font-size:13px;color:#e0d7f0}
.fp-handoff-center small{font-size:10px;color:#aaa5b1}
.fp-handoff>div:last-child{text-align:right}
.fp-scenario-layout{display:grid;grid-template-columns:220px minmax(0,1fr);gap:55px}
.fp-scenario-note{align-self:start;border-top:1px solid #a792f544;padding-top:24px}
.fp-scenario-note p{font-size:13px;margin-bottom:25px}
.fp-scenario-note .text-link{font-size:11px;gap:10px;margin-top:8px}
.fp-step-list{min-width:0}
.fp-step{border:1px solid var(--glass-border);border-radius:8px;background:var(--glass);box-shadow:inset 0 1px #ffffff07;margin-bottom:13px;overflow:hidden;transition:border-color .25s}
.fp-step:hover,.fp-step[open]{border-color:#a792f567}
.fp-step summary{list-style:none;display:grid;grid-template-columns:28px minmax(0,1fr) 16px;gap:18px;padding:24px;cursor:pointer}
.fp-step summary::-webkit-details-marker,.fp-gallery-group summary::-webkit-details-marker{display:none}
.fp-step-number{font-size:11px;font-family:'Space Grotesk',sans-serif;color:var(--mint);padding-top:3px}
.fp-step-text strong{font-family:'Space Grotesk',sans-serif;display:block;font-size:19px;font-weight:500;line-height:1.3;letter-spacing:-.025em;color:#ece9f1}
.fp-step-text>span{display:block;font-size:13px;color:#aeb0b8;line-height:1.75;margin-top:9px}
.fp-step-toggle{position:relative;width:12px;height:12px;margin-top:6px;color:var(--mint)}
.fp-step-toggle:before,.fp-step-toggle:after{content:'';position:absolute;top:5px;left:0;height:1px;width:12px;background:currentColor;transition:transform .2s}
.fp-step-toggle:after{transform:rotate(90deg)}
details[open]>summary .fp-step-toggle:after{transform:rotate(0)}
.fp-step-body{padding:0 24px 24px 70px}
.fp-step-body>p{font-size:13px;line-height:1.8;margin-bottom:22px}
.fp-step-body code{font-size:12px;color:#c8b8e9;background:#a792f50c;padding:2px 4px;border-radius:3px}
.fp-step-evidence{display:grid;gap:23px}
.fp-step-evidence .fp-evidence img{max-height:460px;object-fit:contain}
.fp-routing{display:grid;gap:12px;margin-bottom:24px;border-left:1px solid #a0d8c43f;padding-left:18px}
.fp-routing span{font-size:10px;color:var(--mint);letter-spacing:.05em}
.fp-routing p{font-size:13px;margin-top:4px}
.fp-nurture-bridge{display:grid;grid-template-columns:1fr 1fr;gap:45px;align-items:center;margin-top:42px;padding:32px;border:1px solid #a0d8c437;border-radius:8px;background:linear-gradient(120deg,#a792f50b,#a0d8c40b);scroll-margin-top:24px}
.fp-nurture-bridge h3{font-size:27px;margin-bottom:17px}
.fp-nurture-bridge p{font-size:14px;line-height:1.85}
.fp-scenario-overview{margin-bottom:40px}
.fp-scenario-overview img{max-height:490px;object-fit:contain}
.fp-gallery-group{border-top:1px solid var(--line)}
.fp-gallery-group:last-child{border-bottom:1px solid var(--line)}
.fp-gallery-group>summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:22px;padding:23px 0;font-family:'Space Grotesk',sans-serif;font-size:19px}
.fp-gallery-count{margin-left:auto;font:10px 'DM Sans',sans-serif;letter-spacing:.04em;color:#a6a3b0;white-space:nowrap}
.fp-gallery-controls{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:0 0 18px;color:#a6a3b0;font-size:11px}
.fp-gallery-controls>div{display:flex;gap:8px}
.fp-gallery-controls button{border:1px solid var(--glass-border);border-radius:5px;width:36px;height:32px;background:var(--glass);color:var(--mint)}
.fp-gallery-controls button:hover{border-color:var(--mint)}
.fp-gallery-rail{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 24px)/2);gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:#a792f580 #25242b;padding:0 0 24px;margin-bottom:24px}
.fp-gallery-rail>.fp-evidence{scroll-snap-align:start}
.fp-gallery-rail .fp-evidence img{width:100%;height:auto;aspect-ratio:1.72;object-fit:contain}
.fp-technical{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:0;border-top:1px solid var(--line);border-left:1px solid var(--line)}
.fp-technical>div{padding:28px;border-bottom:1px solid var(--line);border-right:1px solid var(--line);background:linear-gradient(135deg,#a792f506,#a0d8c404)}
.fp-technical dt{font-size:9px;letter-spacing:.12em;color:var(--mint);margin-bottom:17px}
.fp-technical dd{margin:0}
.fp-technical strong{font-size:20px;font-family:'Space Grotesk',sans-serif;font-weight:500}
.fp-technical p{font-size:13px;margin-top:12px;line-height:1.8}
.fp-demonstrates{padding:0;list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:0 50px;margin:0}
.fp-demonstrates li{padding:19px 0;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:15px;color:#d7d3df;font-size:15px}
.fp-demonstrates .status-dot{width:4px;height:4px}
.fp-final-cta{max-width:780px;margin:auto;text-align:center}
.fp-final-cta h2{font-size:clamp(30px,3.5vw,46px)}
.fp-final-cta p{max-width:590px;margin:24px auto 0;font-size:15px;line-height:1.8}
.fp-final-cta .actions{justify-content:center}
.lightbox{padding:0;width:min(1500px,96vw);max-width:96vw;max-height:94dvh;overflow:hidden;background:#15161b;border-color:#a792f54d}
.fp-viewer-toolbar{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:12px 18px;border-bottom:1px solid var(--line)}
.fp-viewer-counter{font-size:11px;white-space:nowrap;color:var(--mint)}
.fp-viewer-toolbar>div{display:flex;align-items:center;gap:10px}
.fp-viewer-toolbar button,.fp-viewer-original{position:static;border:1px solid var(--glass-border);border-radius:4px;background:#24232c;color:#e2deea;padding:6px 12px;font-size:12px;min-height:34px}
.fp-viewer-toolbar .close{width:34px;height:34px;font-size:20px;padding:0;background:#302c3a;color:white;line-height:1}
.fp-viewer-stage{overflow:auto;max-height:calc(94dvh - 150px);padding:14px}
.fp-viewer-stage img{width:100%;height:auto;max-height:calc(94dvh - 178px);object-fit:contain;display:block}
.fp-viewer-stage.is-zoomed img{width:auto;max-width:none;max-height:none}
.fp-viewer-caption{font-size:12px;line-height:1.6;padding:12px 18px;color:#c0bdca;border-top:1px solid var(--line)}
html.image-viewer-open{overflow:hidden}
.fp-step summary:focus-visible,.fp-gallery-group summary:focus-visible{outline:2px solid var(--mint);outline-offset:-3px;border-radius:6px}
@media(max-width:1050px){.fp-hero-grid{gap:35px}.fp-scenario-layout{grid-template-columns:170px minmax(0,1fr);gap:30px}.fp-handoff{gap:15px;padding:23px}.fp-snapshot{gap:18px}.fp-snapshot>div+div{padding-left:18px}}
@media(max-width:780px){.fp-hero{padding-top:35px}.fp-hero-grid{grid-template-columns:1fr;gap:25px}.fp-hero-intro>p{max-width:none}.fp-hero-evidence{margin-top:32px}.fp-section-head{display:block}.fp-section-head>p{max-width:600px;margin-top:20px}.fp-snapshot{grid-template-columns:1fr 1fr;gap:24px}.fp-snapshot>div:nth-child(3){padding-left:0;border-left:0}.fp-system-steps{grid-template-columns:1fr 1fr}.fp-system-steps li:nth-child(3){border-left:0;padding-left:0}.fp-system-steps li:nth-child(n+3){border-top:1px solid var(--line);margin-top:15px}.fp-handoff{grid-template-columns:1fr;text-align:left;gap:20px}.fp-handoff-center{justify-content:start;border-inline:0;border-block:1px solid var(--line);padding:16px 0}.fp-handoff>div:last-child{text-align:left}.fp-scenario-layout{grid-template-columns:1fr;gap:22px}.fp-scenario-note{display:none}.fp-nurture-bridge{grid-template-columns:1fr;gap:25px;padding:25px}.fp-technical{grid-template-columns:1fr 1fr}.fp-problem-copy{gap:25px}.case-page .fp-section{padding:60px 0}.fp-project-preview{border-left:0;border-top:1px solid var(--glass-border);padding:25px}.fp-preview-label{font-size:8px}.fp-viewer-toolbar{gap:10px;padding:10px}.fp-viewer-toolbar>div{gap:6px}.fp-viewer-toolbar button,.fp-viewer-original{padding:6px 8px;font-size:11px}.fp-viewer-stage{padding:8px}}
@media(max-width:540px){.fp-hero .eyebrow{font-size:8px;letter-spacing:.09em}.fp-hero h1{font-size:65px}.fp-hero h2{font-size:26px}.fp-hero-intro>p{font-size:14px}.fp-snapshot{gap:20px 14px}.fp-snapshot>div+div{padding-left:14px}.fp-snapshot dt{font-size:8px}.fp-snapshot dd{font-size:11px}.fp-evidence>button,.fp-evidence>.fp-video-frame{padding:5px}.fp-expand{opacity:1;transform:none;font-size:9px;right:11px;bottom:11px;padding:3px 7px}.fp-problem-copy{grid-template-columns:1fr;gap:20px}.fp-problem-copy p{font-size:14px}.fp-system-steps li{padding-right:15px}.fp-system-steps li+li{padding-left:15px}.fp-system-steps h3{font-size:21px}.fp-system-steps p{font-size:12px}.fp-step summary{padding:19px 16px;gap:10px;grid-template-columns:22px minmax(0,1fr) 12px}.fp-step-text strong{font-size:17px}.fp-step-text>span{font-size:12px}.fp-step-body{padding:0 16px 19px}.fp-step-body>p{font-size:12px}.fp-nurture-bridge{padding:22px 18px}.fp-gallery-group>summary{font-size:16px;gap:12px}.fp-gallery-count{font-size:9px}.fp-gallery-controls{font-size:10px}.fp-gallery-controls>span{max-width:190px}.fp-gallery-rail{grid-auto-columns:90%;gap:16px}.fp-technical{grid-template-columns:1fr}.fp-technical>div{padding:24px}.fp-demonstrates{grid-template-columns:1fr}.fp-demonstrates li{font-size:14px}.fp-viewer-counter{font-size:9px}.fp-viewer-original{font-size:10px;max-width:65px;text-align:center;line-height:1.3}.fp-viewer-toolbar{gap:5px}.fp-viewer-toolbar>div{gap:4px}.fp-viewer-toolbar button{padding:5px 7px}.fp-viewer-caption{font-size:11px;padding:10px 12px}.fp-viewer-stage{max-height:calc(94dvh - 170px)}.fp-viewer-stage img{max-height:calc(94dvh - 188px)}}
@media(prefers-reduced-motion:reduce){.fp-project-preview:hover .fp-preview-image,.fp-project-preview:hover .fp-preview-open{transform:none}.fp-evidence>button,.fp-expand{transition:none}}
.fp-gallery-controls button:disabled,.fp-viewer-toolbar button:disabled{opacity:.3;cursor:default}

/* Reuse screenshot geometry; contain the complete workflow inside it. */
.fp-overview-video{display:block;width:100%;height:auto;object-fit:contain;border-radius:4px;background:#f5f5f5}
.fp-hero-evidence .fp-overview-video{max-height:540px}
.fp-scenario-overview .fp-overview-video{max-height:490px}

.fp-preview-image .fp-home-preview-video{border-radius:0}
