@import url("/ai-check/jess-chat.css");
/* Jess's lander (the designer's approved page), consolidated from her handoff:
   base (style.css), lander (lander/chat.css), and the live-results additions.
   Loaded only by /ai-check. Fonts are the site's own files, not a third-party host. */
:root{--ink:#0f2d3f;--cream:#f6f1e6;--spectral:linear-gradient(120deg,#d9edf5,#efdef7 33%,#fae0d1 66%,#f6f1e6);--edge:linear-gradient(110deg,#6bcde3,#adaeee,#e5abd6,#ebc69c,#b5ded3)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--cream);font-family:Inter,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}a:focus-visible{outline:2px solid #5487a0;outline-offset:6px}.defs{position:absolute;width:0;height:0}header{position:absolute;z-index:4;left:6%;right:6%;top:30px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;gap:10px;align-items:center;font-family:Outfit,sans-serif;font-weight:300;font-size:32px;letter-spacing:-1px}.brand svg{width:20px;height:26px;fill:var(--ink)}.glass-link{position:relative;display:inline-flex;align-items:center;padding:14px 20px;border-radius:14px;color:#223449;background:#f5f6f18a;border:1px solid #fff9;backdrop-filter:blur(20px);box-shadow:0 10px 25px #26334710,inset 0 1px 0 #fff8;font-size:12px}.glass-link:before{content:'';position:absolute;inset:-1px;border-radius:14px;padding:1px;background:var(--edge);mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask-composite:exclude;pointer-events:none}.glass-link:hover{background:#f5f6f1d9}.hero{position:relative;min-height:750px;height:94svh;max-height:1050px;overflow:hidden}.hero-art,.closing-art{position:absolute;inset:0;background:url('/ai-check/glass.png') right center/auto 108% no-repeat}.hero-art:after,.closing-art:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#f6f1e6 5%,#f6f1e6dc 30%,#f6f1e600 66%)}.hero-art svg{position:absolute;z-index:1;left:69%;top:35%;width:14%;height:32%;fill:#f5f2f990;stroke:#fffc;stroke-width:1.3;filter:drop-shadow(0 8px 20px #45536b18)}.hero-copy{position:relative;z-index:2;padding:200px 0 140px 8%;width:68%}h1,h2,h3{font-family:Outfit,sans-serif;font-weight:300;line-height:1.12;margin:0;letter-spacing:-1.6px}h1{font-size:clamp(70px,8vw,125px);max-width:680px;letter-spacing:-3px}.hero-copy p{font-family:Outfit,sans-serif;font-weight:300;font-size:30px;line-height:1.35;margin:32px 0}.hero-copy .glass-link{margin-top:5px}.hero-scroll{position:absolute;z-index:2;bottom:35px;left:8%;font-size:24px}.hero-site{position:absolute;z-index:2;bottom:40px;right:6%;font-size:11px}.deck-slide{display:grid;grid-template-columns:1fr 1fr;gap:6%;align-items:center;padding:80px 8%;min-height:620px;overflow:hidden}.cream{background:var(--cream)}.spectral{background:var(--spectral)}.slide-number{display:block;font-size:9px;letter-spacing:1.5px;color:#57788a;margin-bottom:32px}h2{font-size:clamp(37px,4.2vw,65px)}.slide-copy p,.closing-copy p{font-family:Outfit,sans-serif;font-weight:300;font-size:25px;line-height:1.45;margin:28px 0 0}.slide-copy small{display:block;font-size:11px;line-height:1.7;color:#506a79;margin-top:22px;max-width:400px}.slide-visual{min-width:0}.slide-visual>img{width:120%;margin-left:-10%;display:block;mix-blend-mode:multiply;border-radius:28px}.code-widget{background:#f5f6f19e;border:1px solid #fff9;border-radius:25px;padding:28px;box-shadow:0 20px 40px -6px #2633471d,inset 0 1px 0 #fff9;backdrop-filter:blur(20px);position:relative}.code-widget:before{content:'';position:absolute;inset:-1px;border-radius:25px;padding:1px;background:var(--edge);mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask-composite:exclude;pointer-events:none}.code-widget>span{font-size:8px;letter-spacing:1.5px;color:#617d8c}.code-widget pre{font-family:'IBM Plex Mono',monospace;font-size:12px;line-height:1.9;white-space:pre-wrap;overflow-wrap:anywhere;margin:25px 0 0;color:#345568}.missing-layer{padding:85px 8%;text-align:center}.missing-layer>div>p{font-family:Outfit,sans-serif;font-weight:300;font-size:24px;margin:25px 0 0}.missing-layer>img{display:block;width:90%;margin:0 auto;max-height:420px;object-fit:contain;mix-blend-mode:multiply}.destinations{display:grid;grid-template-columns:repeat(4,1fr);gap:25px;text-align:left;border-top:1px solid #8aa9b366;padding-top:30px}.destinations h3{font-size:24px;letter-spacing:-.5px}.destinations p{font-size:11px;line-height:1.7;color:#506a79}.layer-note{font-family:Outfit,sans-serif;font-weight:300;font-size:23px;margin:40px 0 15px}.missing-layer>small{font-size:9px;color:#57788a;line-height:1.6}.closing{position:relative;overflow:hidden;min-height:700px;padding:100px 8% 30px}.closing-copy{position:relative;z-index:2;width:65%}.closing-copy .glass-link{margin-top:35px}.closing-copy h2{font-size:clamp(40px,4.5vw,70px)}footer{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;margin-top:150px;border-top:1px solid #99b1bd55;padding-top:25px}footer>span{font-family:Outfit,sans-serif;font-weight:300;font-size:22px}.reveal{opacity:1;transform:none}.has-motion .reveal{opacity:0;transform:translateY(16px);transition:opacity .7s,transform .7s}.has-motion .reveal.visible{opacity:1;transform:none}
@media(min-width:1800px){body{max-width:1800px;margin:auto}}@media(max-width:1000px){.deck-slide{padding:70px 6%;min-height:560px}.hero-copy{width:75%}.slide-copy p{font-size:22px}.destinations{grid-template-columns:1fr 1fr;gap:25px}.hero-copy p{font-size:27px}}@media(max-width:650px){header{top:22px}.brand{font-size:27px}.glass-link{font-size:10px;padding:12px 16px}.hero{height:auto;min-height:850px}.hero-copy{width:100%;padding:145px 7% 400px}h1{font-size:74px;max-width:280px;line-height:1;letter-spacing:-2px}.hero-copy p{font-size:24px;max-width:300px}.hero-art{background-size:auto 54%;background-position:65% 110%}.hero-art:after{background:linear-gradient(#f6f1e6 5%,#f6f1e6ff 42%,#f6f1e600 76%)}.hero-art svg{left:55%;top:67%;width:20%;height:23%}.deck-slide{grid-template-columns:1fr;padding:65px 7% 35px;min-height:0;gap:30px}.slide-number{margin-bottom:23px}h2{font-size:40px;letter-spacing:-1px}.slide-copy p{font-size:22px;margin-top:22px}.slide-copy small{font-size:10px}.slide-visual>img{width:110%;margin-left:-5%;max-height:310px;object-fit:contain}.code-widget{padding:23px;margin:15px 0 25px}.code-widget pre{font-size:10px}.missing-layer{padding:65px 7%}.missing-layer>img{width:116%;margin-left:-8%;height:240px;object-fit:cover}.missing-layer>div>p{font-size:22px}.destinations h3{font-size:21px}.destinations p{font-size:10px}.layer-note{font-size:21px}.closing{padding:65px 7% 30px;min-height:750px}.closing-copy{width:100%}.closing-copy h2{font-size:42px}.closing-copy p{font-size:23px;max-width:310px}.closing-art{background-size:auto 65%;background-position:65% bottom}.closing-art:after{background:linear-gradient(#f6f1e6 5%,#f6f1e6ff 40%,#f6f1e600 80%)}footer{margin-top:340px}.hero-site{font-size:10px}footer>span{font-size:17px}footer .brand{font-size:24px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.has-motion .reveal{opacity:1;transform:none;transition:none}}
/* Seamless atmosphere and partial hero reveal. */
body:before{content:'';position:fixed;inset:0;z-index:-1;background:var(--spectral);opacity:var(--wash,0);transition:opacity .8s;pointer-events:none}body{isolation:isolate}.cream,.spectral,.deck-slide,.missing-layer{background:transparent}.hero{height:100svh;min-height:760px;max-height:none;background:transparent}.hero-copy{width:100%;padding:180px 6% 300px;text-align:center}.hero-copy h1{max-width:none;font-size:clamp(65px,8vw,120px);margin:auto}.hero-copy p{margin:30px auto;max-width:620px}.hero-art{top:68%;left:15%;right:15%;height:650px;background-position:60% top;background-size:auto 110%;mask-image:linear-gradient(transparent,#000 20%,#000);transform:translateY(var(--hero-reveal,0px));will-change:transform}.hero-art:after{background:linear-gradient(100deg,#f6f1e6a0,transparent 40%,#f6f1e666)}.hero-art:before{content:'';position:absolute;z-index:2;inset:-30%;background:linear-gradient(110deg,transparent 38%,#ffffff70 48%,transparent 57%);mix-blend-mode:soft-light;animation:shimmer 7s ease-in-out infinite;pointer-events:none}.hero-scroll{left:calc(50% - 7px);bottom:30px;z-index:3}.hero-site{z-index:3}.slide-visual>img{border-radius:0;mix-blend-mode:normal;width:110%;margin-left:-5%}.deck-slide{position:relative}.closing-art{mask-image:linear-gradient(transparent,#000 28%)}.closing-art:after{background:linear-gradient(90deg,#f6f1e6 5%,#f6f1e6dc 30%,#f6f1e600 66%)}#fragments{display:block;width:100%;height:auto;aspect-ratio:1}.missing-layer>img{mix-blend-mode:multiply}@keyframes shimmer{0%,20%{transform:translateX(-40%);opacity:0}45%{opacity:.8}75%,100%{transform:translateX(40%);opacity:0}}
@media(max-width:650px){.hero{min-height:800px}.hero-copy{padding:160px 7% 300px}.hero-copy h1{font-size:68px;max-width:350px}.hero-copy p{font-size:24px;max-width:330px}.hero-art{left:-15%;right:-15%;top:70%;height:500px;background-position:60% top;background-size:auto 110%}.hero-site{font-size:9px}.slide-visual>img{max-height:350px}.closing-art{mask-image:linear-gradient(transparent,#000 50%)}}
@media(prefers-reduced-motion:reduce){.hero-art:before{animation:none;opacity:.15}.hero-art{transform:none;will-change:auto}body:before{transition:none}}
#hero-light{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.hero-copy{position:relative;z-index:2}.code-flow{display:grid;grid-template-columns:1fr 1fr;gap:6%;padding:0 8%;position:relative}.code-chapter{min-height:80svh;display:flex;align-items:center;padding:70px 0}.code-chapter h2{font-size:clamp(37px,4.2vw,65px)}.code-chapter .slide-copy{max-width:550px}.persistent-code{position:sticky;top:calc(50svh - 280px);align-self:start;height:560px;margin-top:80px}.persistent-code canvas{width:100%;height:100%;aspect-ratio:1}.deck-slide[data-layout="centered"]{grid-template-columns:1fr;text-align:center;gap:30px;padding-top:90px;padding-bottom:70px}.deck-slide[data-layout="centered"] .slide-copy{max-width:850px;margin:auto}.deck-slide[data-layout="centered"] .slide-copy small{max-width:none}.deck-slide[data-layout="centered"] .slide-visual{width:min(700px,80%);margin:auto}.deck-slide[data-layout="centered"] img{max-height:400px;object-fit:contain}.deck-tiles{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin:30px 8% 90px}.deck-tile{padding:40px 35px 20px;background:#f5f6f177;border:1px solid #ffffffb0;border-radius:28px;backdrop-filter:blur(20px);box-shadow:0 16px 32px -10px #26334719;overflow:hidden}.deck-tile h2{font-size:38px;letter-spacing:-1px}.deck-tile p{font-size:22px}.deck-tile .slide-visual{width:80%;margin:5px auto 0}.deck-tile img{max-height:250px;object-fit:contain}.deck-tile .slide-copy p{margin-top:20px}#slide-7 .slide-visual img{width:110%;margin-left:-5%;border-radius:0;mask-image:radial-gradient(ellipse,#000 45%,transparent 75%);mix-blend-mode:multiply}
@media(max-width:1000px){.code-flow{padding:0 6%;gap:4%}.persistent-code{height:440px;top:calc(50svh - 220px)}.code-chapter h2{font-size:40px}.deck-tiles{margin-left:6%;margin-right:6%}.deck-tile{padding:30px 25px 15px}.deck-tile h2{font-size:32px}.deck-tile p{font-size:20px}}
@media(max-width:650px){.code-flow{display:flex;flex-direction:column;padding:0 7%}.persistent-code{order:-1;top:0;z-index:1;height:290px;margin-top:0;background:linear-gradient(#f6f1e6e0,#f6f1e660,transparent);backdrop-filter:blur(3px);width:100%;mask-image:linear-gradient(#000 90%,transparent)}.code-chapters{order:0}.code-chapter{min-height:55svh;padding:40px 0 60px;scroll-margin-top:280px}.code-chapter h2{font-size:40px}.persistent-code canvas{max-width:340px;margin:auto}.deck-tiles{grid-template-columns:1fr;margin:20px 7% 65px;gap:20px}.deck-tile{padding:30px 25px 20px}.deck-tile h2{font-size:35px}.deck-tile .slide-visual{width:70%}.deck-slide[data-layout="centered"]{padding:65px 7% 35px}.deck-slide[data-layout="centered"] .slide-visual{width:100%}.deck-slide[data-layout="centered"] img{max-height:310px}}
/* The code surrounds the words; both chapters remain centered. */
.code-flow{display:block;padding:0;isolation:isolate}.code-chapters{position:relative;z-index:2;pointer-events:none}.code-chapter{min-height:82svh;justify-content:center;text-align:center;padding:100px 8%;position:relative}.code-chapter .slide-copy{max-width:820px}.code-chapter h2{font-size:clamp(42px,5vw,76px)}.code-chapter .slide-copy p{max-width:680px;margin:28px auto 0}.persistent-code{position:absolute;inset:0;height:100%;margin:0;width:100%;z-index:0;pointer-events:none}.persistent-code canvas{position:sticky;top:0;width:100%;height:100svh;aspect-ratio:auto;max-width:none;margin:0;mask-image:radial-gradient(ellipse at center,transparent 12%,#000 55%)}.code-flow:after{content:'';position:absolute;inset:0;z-index:1;pointer-events:none;background:radial-gradient(ellipse at 20% 30%,#c3e5ec22,transparent 40%),radial-gradient(ellipse at 80% 70%,#dfc7e92a,transparent 40%)}
@media(max-width:650px){.code-flow{display:block;padding:0}.persistent-code{position:absolute;inset:0;height:100%;background:none;backdrop-filter:none;mask-image:none;width:100%;order:initial}.persistent-code canvas{height:100svh;max-width:none;width:100%;mask-image:radial-gradient(ellipse at center,transparent 18%,#000 70%)}.code-chapter{min-height:75svh;padding:75px 7%;scroll-margin-top:0}.code-chapter h2{font-size:42px}.code-chapter .slide-copy p{font-size:23px;margin-top:24px}.code-chapters{order:initial}}
.persistent-code canvas{mask-image:none}.code-flow:after{background:radial-gradient(ellipse at 18% 30%,#c3e5ec18,transparent 40%),radial-gradient(ellipse at 82% 70%,#dfc7e920,transparent 40%)}
@media(max-width:650px){.persistent-code canvas{mask-image:none}}
.hero{display:grid;place-items:center;min-height:620px;height:100svh}.hero-copy{width:100%;padding:100px 6%;align-self:center}.hero-copy h1{margin:0 auto}.hero-copy p{margin:30px auto}.hero-copy .glass-link{margin-top:5px}.code-flow{--darkness:1}.code-flow:before{content:'';position:absolute;inset:0;z-index:-1;background:#122737;opacity:var(--darkness);transition:opacity .25s}.code-flow:after{opacity:calc(1 - var(--darkness));transition:opacity .25s}.code-chapter .slide-copy{color:#0f2d3f;transition:color .4s}#slide-1 .slide-copy,#slide-2 .slide-copy{color:#f5f3ee}.persistent-code canvas{height:100svh;width:100%;overflow:visible}.context-cards,.source-cards{align-items:stretch}.context-cards .deck-tile,.source-cards .deck-tile{min-height:280px;padding:40px}.source-cards{grid-template-columns:repeat(3,1fr)}.source-cards h2{font-size:34px!important;letter-spacing:-.8px!important}.source-cards .slide-copy p{font-size:21px!important}.source-cards .slide-copy small{font-size:10px;line-height:1.7;margin-top:20px;display:block}.deck-tile[data-layout="centered"]{text-align:left}.context-cards h2{font-size:39px}.closing{position:relative;isolation:isolate}.closing-copy{position:relative;z-index:2}.closing footer{position:relative;z-index:2}#closing-light{position:absolute;inset:0;width:100%;height:100%;transform:scaleY(-1);z-index:0;pointer-events:none}.closing-copy{width:85%}.closing footer{margin-top:150px}
@media(max-width:1000px){.source-cards{grid-template-columns:1fr 1fr}.source-cards .deck-tile:first-child{grid-column:1/-1}.source-cards h2{font-size:34px!important}.hero-copy{padding:100px 6%}.context-cards .deck-tile,.source-cards .deck-tile{padding:30px}}
@media(max-width:650px){.hero{min-height:640px;height:100svh}.hero-copy{padding:100px 7%;width:100%}.hero-copy h1{font-size:68px}.hero-copy p{font-size:24px;margin:25px auto}.code-chapter{min-height:85svh}.persistent-code canvas{height:100svh;width:100%}.source-cards{grid-template-columns:1fr}.source-cards .deck-tile:first-child{grid-column:auto}.context-cards .deck-tile,.source-cards .deck-tile{min-height:0;padding:30px 25px}.context-cards h2{font-size:35px}.closing-copy{width:100%}.closing footer{margin-top:180px}.closing{min-height:650px}}
@media(prefers-reduced-motion:reduce){.code-flow:before,.code-chapter .slide-copy{transition:none}}

/* Pinned bookends, with section-bound light and dark backgrounds. */
.hero{position:sticky;top:0;z-index:0;background:var(--cream);height:100svh;min-height:0}
.page-overlap{position:relative;z-index:2;background:var(--cream);isolation:isolate}
.code-flow:before,.code-flow:after{display:none}
.code-chapter{min-height:100svh;background:var(--cream)}
#slide-1 .slide-copy,#slide-3 .slide-copy{color:var(--ink)}
#slide-2{background:#122737}#slide-2 .slide-copy{color:#f5f3ee}
.persistent-code{z-index:1}.code-chapters{z-index:auto}.code-chapter .slide-copy{position:relative;z-index:2;transition:none}

.closing{position:sticky;bottom:0;z-index:0;height:100svh;min-height:0;background:var(--cream);display:flex;flex-direction:column;justify-content:center;padding:100px 8% 110px}
.closing-copy{width:85%;flex:none}.closing footer{position:absolute;left:8%;right:8%;bottom:30px;margin:0}
@media(max-width:650px){.hero{height:100svh;min-height:0}.code-chapter{min-height:100svh}.closing{height:100svh;min-height:640px;padding:85px 7% 110px}.closing-copy{width:100%}.closing footer{left:7%;right:7%;bottom:25px;margin:0}}

/* Keep the footer inside its own reveal area so it cannot cover the hero. */
.footer-reveal{position:relative;z-index:0;overflow:clip;min-height:100svh;isolation:isolate}
.page-overlap:before{content:'';position:absolute;inset:0;z-index:-1;background:var(--spectral);opacity:var(--wash,0);transition:opacity .8s;pointer-events:none}
.page-overlap>.deck-slide,.page-overlap>.missing-layer{background:transparent}
#slide-1,#slide-3{background:transparent}
.hero{isolation:isolate}.hero-copy{z-index:2}#hero-light{z-index:0}
@media(prefers-reduced-motion:reduce){.page-overlap:before{transition:none}}

/* The room goes dark only when the hidden-details copy reaches center. */
.code-flow:before{display:block;content:'';position:absolute;inset:0;z-index:0;background:#122737;opacity:0;transition:opacity .28s ease-out;pointer-events:none}
.code-flow.is-dark:before{opacity:1}
#slide-2{background:transparent}
#slide-1 .slide-copy,#slide-2 .slide-copy,#slide-3 .slide-copy{color:var(--ink);transition:color .28s ease-out}
.code-flow.is-dark .slide-copy{color:#f5f3ee!important}
.link-word{color:inherit;text-decoration-color:transparent;text-decoration-line:underline;text-decoration-thickness:2px;text-underline-offset:.13em;transition:color .35s,text-decoration-color .35s}
.hidden-word{opacity:1;transition:opacity .5s}
.link-revealed .link-word{color:#65acff;text-decoration-color:#65acff;transition-delay:.35s}
.is-dark .hidden-word{opacity:.5;transition-delay:.85s}
/* Float every information card, with the same fine spectral edge as the buttons. */
.deck-tile{position:relative;transition:transform .35s ease,box-shadow .35s ease,background .35s ease;overflow:visible}
.deck-tile:before{content:'';position:absolute;inset:-1px;border-radius:inherit;padding:1px;background:var(--edge);mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask-composite:exclude;opacity:0;transition:opacity .35s;pointer-events:none}
@media(hover:hover){.deck-tile:hover{transform:translateY(-8px);background:#f5f6f1b0;box-shadow:0 25px 45px -15px #26334730}.deck-tile:hover:before{opacity:1}}
/* Use the original page artwork without its circular blend treatment. */
#slide-7 .expanding-pages{position:relative;aspect-ratio:1;width:110%;margin-left:-5%;isolation:isolate}
#slide-7 .expanding-pages img{position:absolute;inset:0;width:100%;height:100%;margin:0;max-height:none;object-fit:contain;mask-image:none;mix-blend-mode:normal;border-radius:0}
.page-front{clip-path:polygon(10.6% 18.8%,41.6% 35.5%,41.6% 87.2%,10.6% 68%)}
.page-middle{clip-path:polygon(37.5% 14.9%,63.4% 28.4%,63.4% 79.1%,41.6% 67%,41.6% 35.5%,37.5% 33.5%)}
.page-back{clip-path:polygon(60% 8.4%,89.9% 23.6%,89.9% 75.7%,63.4% 62.3%,63.4% 28.4%,60% 26.7%)}
.page-piece{display:none}
.has-motion #slide-7 .pages-complete{opacity:0}
.has-motion #slide-7 .page-piece{display:block;opacity:0}
.has-motion #slide-7 .pages-open .page-front{animation:front-open 1.5s cubic-bezier(.2,.7,.2,1) both}
.has-motion #slide-7 .pages-open .page-middle{animation:middle-open 1.5s cubic-bezier(.2,.7,.2,1) both}
.has-motion #slide-7 .pages-open .page-back{animation:back-open 1.5s cubic-bezier(.2,.7,.2,1) both}
.has-motion #slide-7 .pages-open .pages-complete{animation:complete-pages .4s 1.1s both}
@keyframes front-open{0%{transform:translateX(17%);opacity:0}15%,75%{opacity:1}80%{transform:translateX(0);opacity:1}100%{transform:none;opacity:0}}
@keyframes middle-open{0%{transform:translateX(4%);opacity:0}15%,75%{opacity:1}80%{transform:none;opacity:1}100%{transform:none;opacity:0}}
@keyframes back-open{0%{transform:translateX(-16%);opacity:0}15%,75%{opacity:1}80%{transform:none;opacity:1}100%{transform:none;opacity:0}}
@keyframes complete-pages{from{opacity:0}to{opacity:1}}
/* Small design details and a staggered entrance for the destination row. */
.destinations{border-top:0;gap:18px;padding-top:15px}
.destinations>div{position:relative;padding:23px 18px 16px;border-radius:16px;background:#ffffff20;border:1px solid #ffffff70}
.destinations>div:before{content:'';display:block;width:32px;height:2px;margin-bottom:18px;background:var(--edge);border-radius:3px}
.destinations h3{font-size:23px}.destinations p{margin-bottom:0}
.has-motion .missing-layer>div:first-child.reveal{transition:opacity .9s,transform 1s cubic-bezier(.2,.7,.2,1);transform:translateY(25px)}
.has-motion .missing-layer>div:first-child.visible{transform:none}
.has-motion .missing-layer>img.reveal{transform:translateY(35px) scale(.96);transition:opacity 1.1s .15s,transform 1.2s .15s cubic-bezier(.2,.7,.2,1)}
.has-motion .missing-layer>img.visible{transform:none}
.has-motion .destinations.reveal{opacity:1;transform:none}
.has-motion .destinations>div{opacity:0;transform:translateY(20px);transition:opacity .7s,transform .8s cubic-bezier(.2,.7,.2,1)}
.has-motion .destinations.visible>div{opacity:1;transform:none}
.destinations>div:nth-child(2){transition-delay:.12s}.destinations>div:nth-child(3){transition-delay:.24s}.destinations>div:nth-child(4){transition-delay:.36s}
/* The preceding surface uncovers a stationary, full-height footer. */
.footer-reveal{height:100svh;min-height:640px;position:relative;overflow:clip}
.closing{position:absolute;inset:0;bottom:auto;height:100%;min-height:0;will-change:transform}
.has-motion .closing-copy.reveal{opacity:1;transform:none;transition:none}
@media(max-width:650px){.destinations{gap:12px}.destinations>div{padding:18px 14px}.destinations h3{font-size:21px}}
@media(prefers-reduced-motion:reduce){.code-flow:before,.code-flow .slide-copy,.link-word,.hidden-word,.deck-tile,.deck-tile:before,.destinations>div{transition:none!important}.page-piece{display:none!important}.pages-complete{opacity:1!important;animation:none!important}.has-motion .missing-layer .reveal,.has-motion .destinations>div{opacity:1;transform:none;transition:none}}

/* Header shares the hero's pinned surface and is covered by the following content. */
.hero>header{position:absolute;top:30px;left:6%;right:6%;z-index:4}
.nav-mark{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:flex;align-items:center;justify-content:center;width:40px;height:40px}
.nav-mark svg{width:22px;height:28px;fill:var(--ink)}
.has-motion .hero-copy h1{animation:hero-enter .95s .12s cubic-bezier(.2,.7,.2,1) both}
.has-motion .hero-copy p{animation:hero-enter .95s .28s cubic-bezier(.2,.7,.2,1) both}
.has-motion .hero-copy .glass-link{animation:hero-enter .85s .44s cubic-bezier(.2,.7,.2,1) both}
@keyframes hero-enter{from{opacity:0;transform:translateY(25px)}to{opacity:1;transform:translateY(0)}}
/* Draw the pale underline first; color follows, then the word hidden recedes. */
.link-word{position:relative;display:inline-block;text-decoration:none;transition:color .35s}
.link-word:after{content:'';position:absolute;left:0;right:0;bottom:-.05em;height:2px;background:currentColor;transform:scaleX(0);transform-origin:left center;transition:transform .4s,color .35s}
.link-revealed .link-word{color:#65acff;text-decoration:none;transition-delay:.75s}
.link-revealed .link-word:after{transform:scaleX(1);transition-delay:.25s}
.hidden-word{transition:opacity .5s,color .5s}
.is-dark .hidden-word{opacity:.3;color:#8fb9e8;transition-delay:1.15s}
.persistent-code canvas{opacity:1;transition:opacity .3s .32s}
.is-dark .persistent-code canvas{opacity:0;transition:opacity .15s;transition-delay:0s}
@media(max-width:650px){.hero>header{top:22px}.nav-mark svg{width:20px;height:26px}}
@media(prefers-reduced-motion:reduce){.has-motion .hero-copy>*{animation:none!important;opacity:1;transform:none}.link-word,.link-word:after,.hidden-word,.persistent-code canvas{transition:none!important}}

/* Compact the story while keeping the full-screen bookends. */
.code-chapter{min-height:74svh;padding:65px 8%}
.deck-slide{min-height:500px;padding-top:60px;padding-bottom:60px}
.deck-tiles{margin-top:20px;margin-bottom:55px}
.closing footer .nav-mark{top:calc(50% + 12px)}
/* Before opening, the pages remain close together instead of disappearing. */
.has-motion #slide-7 .page-piece{opacity:1}
.has-motion #slide-7 .page-front{transform:translateX(17%)}
.has-motion #slide-7 .page-middle{transform:translateX(4%)}
.has-motion #slide-7 .page-back{transform:translateX(-16%)}
/* Keep link pale and readable while the separate underline draws. */
.code-flow.link-revealed .link-word{color:#f5f3ee;transition:none;animation:link-blue .35s .75s forwards}
@keyframes link-blue{from{color:#f5f3ee}to{color:#65acff}}
.hidden-word{filter:blur(0);transition:opacity .5s,color .5s,filter .5s}
.is-dark .hidden-word{opacity:.3;color:#8fb9e8;filter:blur(1.8px);transition-delay:1.15s}
@media(max-width:650px){.code-chapter{min-height:78svh;padding:60px 7%}.deck-slide{min-height:0;padding-top:50px;padding-bottom:40px}.deck-tiles{margin-bottom:45px}}
@media(prefers-reduced-motion:reduce){.code-flow.link-revealed .link-word{animation:none;color:#65acff}.hidden-word{transition:none!important}}

/* Match the code example's two equal columns and gutter. */
.context-cards{grid-template-columns:1fr 1fr;gap:6%}
.has-motion #slide-7 .page-piece{opacity:0}
/* One intentional scroll cue starts the whole missing-layer sequence. */
.has-motion .missing-layer>div:first-child.reveal,.has-motion .missing-layer>img.reveal{opacity:0;transition:none}
.has-motion .missing-layer>div:first-child.reveal{transform:translateY(35px)}
.has-motion .missing-layer>img.reveal{transform:translateY(45px) scale(.94);filter:blur(5px)}
.has-motion .missing-layer.layer-entered>div:first-child{animation:layer-heading .95s cubic-bezier(.2,.7,.2,1) both}
.has-motion .missing-layer.layer-entered>img{animation:layer-art 1.25s .22s cubic-bezier(.2,.7,.2,1) both}
.has-motion .missing-layer.layer-entered .destinations>div{animation:layer-destination .8s .65s cubic-bezier(.2,.7,.2,1) both}
.has-motion .missing-layer.layer-entered .destinations>div:nth-child(2){animation-delay:.78s}
.has-motion .missing-layer.layer-entered .destinations>div:nth-child(3){animation-delay:.91s}
.has-motion .missing-layer.layer-entered .destinations>div:nth-child(4){animation-delay:1.04s}
.has-motion .missing-layer .layer-note,.has-motion .missing-layer>small{opacity:0}
.has-motion .missing-layer.layer-entered .layer-note,.has-motion .missing-layer.layer-entered>small{animation:layer-heading .8s 1.15s both}
@keyframes layer-heading{from{opacity:0;transform:translateY(35px)}to{opacity:1;transform:none}}
@keyframes layer-art{from{opacity:0;transform:translateY(45px) scale(.94);filter:blur(5px)}to{opacity:1;transform:none;filter:blur(0)}}
@keyframes layer-destination{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}
@media(max-width:650px){.context-cards{grid-template-columns:1fr;gap:20px}}
@media(prefers-reduced-motion:reduce){.has-motion #slide-7 .pages-complete{opacity:1}.has-motion .missing-layer .reveal,.has-motion .missing-layer .destinations>div,.has-motion .missing-layer .layer-note,.has-motion .missing-layer>small{opacity:1!important;transform:none!important;filter:none!important;animation:none!important}}

/* The upper surface casts a soft edge onto the revealed footer. */
.page-overlap{box-shadow:0 16px 24px -16px #12273745}
.missing-layer{position:relative}
.missing-layer:after{content:'';position:absolute;left:0;right:0;bottom:-22px;height:22px;pointer-events:none;background:linear-gradient(#12273714,transparent);z-index:3}

/* Desktop editorial breaks become natural, balanced wrapping on phones. */
@media(max-width:650px){
  .desktop-break{display:none}
  .hero-copy h1{font-size:clamp(48px,12vw,68px);max-width:100%;line-height:1.08}
  h2,.code-chapter h2,.context-cards h2,.deck-tile h2,.closing-copy h2{font-size:clamp(30px,8.5vw,42px);line-height:1.15;text-wrap:balance}
  .source-cards h2{font-size:clamp(28px,7.8vw,34px)!important;text-wrap:balance}
  .hero-copy p,.slide-copy p,.closing-copy p,.missing-layer>div>p,.layer-note{max-width:100%;text-wrap:pretty}
  .hero-copy,.slide-copy,.closing-copy,.destinations>div{min-width:0}
  .slide-copy p,.closing-copy p{overflow-wrap:break-word}
}

/* Preserve the artwork's original colors and proportions. */
.missing-layer>img{mix-blend-mode:normal;object-fit:contain}
/* Give the binary field a soft exit before the next explanation. */
.code-flow{padding-bottom:110px}
.persistent-code{mask-image:linear-gradient(to bottom,#000 0%,#000 calc(100% - 340px),transparent 100%)}
#slide-4{padding-top:120px}
@media(max-width:650px){
  .code-flow{padding-bottom:65px}
  .persistent-code{mask-image:linear-gradient(to bottom,#000 0%,#000 calc(100% - 240px),transparent 100%)}
  #slide-4{padding-top:85px}
  .missing-layer>img{height:auto;max-height:300px;object-fit:contain}
}

/* lander */
body.lander{min-height:100svh;background:var(--cream)}.lander header{position:absolute}.chat-stage{min-height:100svh;padding:155px 24px 80px;display:flex;align-items:center;justify-content:center;background:linear-gradient(90deg,#6bcde32e,#adaeee2e,#e5abd62e,#ebc69c2e,#b5ded32e)}.chat-stack{width:min(550px,100%)}.chat-mark{display:block;margin:0 auto 22px}.chat-panel{position:relative;padding:20px;border-radius:24px;background:#292b38;backdrop-filter:blur(14px);color:#f3f5f8;box-shadow:0 22px 45px -8px #1a1f3038,inset 0 1px 1px #ffffff38;border:2px solid transparent;background-image:linear-gradient(#292b38,#292b38),var(--edge);background-origin:padding-box,border-box;background-clip:padding-box,border-box}.chat-prompt{padding:18px 16px;background:#ffffff14;border-radius:19px;margin:-14px -14px 24px;font-size:16px;line-height:1.45}.chat-reply{font:300 26px/1.45 Outfit,sans-serif;margin:0 0 30px}.chat-form{display:flex;gap:10px;align-items:stretch}.chat-form input{min-width:0;flex:1;border:1px solid #ffffff30;border-radius:12px;padding:14px;background:#ffffff0c;color:#f3f5f8;font:14px Inter,sans-serif}.chat-form input::placeholder{color:#b5bac8}.chat-form button{border:0;cursor:pointer}.chat-status{font:13px/1.6 Inter,sans-serif;color:#b5bac8;margin:18px 0 0}.chat-status:empty{display:none}.chat-status a{text-decoration:underline;color:#6bcde3}@media(max-width:650px){.chat-stage{padding:130px 20px 60px}.chat-form{flex-direction:column}.chat-form button{justify-content:center}.chat-reply{font-size:24px}}
.try-example{display:block;margin:18px auto 0;padding:5px;background:none;border:0;color:#b5bac8;font:12px Inter,sans-serif;text-decoration:underline;text-underline-offset:4px;cursor:pointer}.demo-results{margin-top:24px;color:var(--ink)}.demo-results[hidden]{display:none}.demo-label{font:11px Inter,sans-serif;color:#526575;margin:0 0 12px}.audit-total{padding:24px;border-radius:24px;background:#ffffffaa;border:1px solid #ffffffcc;margin-bottom:14px}.audit-total strong{font:300 44px Outfit,sans-serif}.audit-total h2{font:300 26px Outfit,sans-serif;letter-spacing:-.5px;margin:8px 0}.audit-total p{font:13px/1.6 Inter,sans-serif;margin:8px 0 0;color:#526575}.audit-row{border-radius:18px;background:#ffffffaa;border:1px solid #ffffffcc;margin:10px 0;padding:18px}.audit-row summary{cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:15px;list-style:none}.audit-row summary::-webkit-details-marker{display:none}.audit-row summary:after{content:'+';color:#617582}.audit-row[open] summary:after{content:'−'}.audit-row h3{font:400 17px Inter,sans-serif;letter-spacing:0}.audit-score{margin-left:auto;font:400 15px Inter,sans-serif}.audit-row p{font:12px/1.65 Inter,sans-serif;color:#526575;margin:12px 0 0}.audit-meter{height:3px;background:#e1e2de;border-radius:5px;margin-top:14px;overflow:hidden}.audit-meter span{display:block;height:100%;background:var(--edge)}.audit-fix{color:#2e6f95!important}.chat-form button:disabled{opacity:.6;cursor:wait}

/* A moving spectral edge tracks the example analysis. */
@property --chat-edge-angle{syntax:'<angle>';initial-value:0deg;inherits:false}
.chat-panel.is-checking:before{content:'';position:absolute;inset:-2px;padding:2px;border-radius:inherit;pointer-events:none;background:conic-gradient(from var(--chat-edge-angle),#6bcde3,#adaeee,#e5abd6,#ebc69c,#b5ded3,#6bcde3);mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask-composite:exclude;animation:chat-edge-spin 2.4s linear infinite;filter:drop-shadow(0 0 5px #adaeee66)}
@keyframes chat-edge-spin{to{--chat-edge-angle:360deg}}
@media(prefers-reduced-motion:reduce){.chat-panel.is-checking:before{animation:none}}

.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
#opening-question{width:100%;resize:none;border:0;background:transparent;color:#f3f5f8;font:16px/1.45 Inter,sans-serif;padding:0;outline-offset:6px}
.question-actions{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:12px}.question-actions span{font-size:12px;color:#b5bac8}.question-send{border:0;cursor:pointer}.question-send:disabled{opacity:.4;cursor:default}
.chat-form[hidden],.chat-reply[hidden],.try-example[hidden]{display:none}
.chat-reply{white-space:pre-line}.chat-reply.is-arriving{animation:reply-arrive .6s ease both}@keyframes reply-arrive{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@media(max-width:650px){.question-actions{align-items:flex-start;flex-direction:column}}
@media(prefers-reduced-motion:reduce){.chat-reply.is-arriving{animation:none}}

.question-actions[hidden]{display:none}

.chat-stage{align-items:flex-start;padding-top:155px}.chat-panel{z-index:2}.chat-stack{position:relative}.chat-status{display:none}.work-drawer{width:96%;margin:-24px auto 0;display:grid;grid-template-rows:0fr;opacity:0;transform:translateY(-16px);transition:grid-template-rows .65s cubic-bezier(.22,1,.36,1),opacity .4s ease,transform .65s cubic-bezier(.22,1,.36,1);pointer-events:none}.work-drawer.is-open{grid-template-rows:1fr;opacity:1;transform:none;pointer-events:auto}.work-glass{min-height:0;overflow:hidden;border-radius:0 0 24px 24px;background:#ffffffa8;backdrop-filter:blur(10px);box-shadow:0 18px 32px -6px #26334724;position:relative}.work-glass:before{content:'';position:absolute;inset:0;border-radius:inherit;padding:2px;background:var(--edge);mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask-composite:exclude;pointer-events:none}.work-light{height:124px;background:linear-gradient(90deg,#6bcde338,#adaeee38,#e5abd638,#ebc69c38,#b5ded338);display:flex;align-items:flex-end;justify-content:center;padding-bottom:12px;border-radius:0 0 24px 24px}.work-state{color:#2e6f95;font:12px Inter,sans-serif;transition:opacity .2s}.work-content{padding:20px 28px 26px}.work-content h2{font:300 22px/1.45 Outfit,sans-serif;letter-spacing:0;color:#223449}.work-description{font:13px/1.45 Inter,sans-serif;color:#526575;margin:10px 0 28px}.work-step{font:12px/1.45 Inter,sans-serif;color:#617582;margin:0 0 16px}.work-progress{height:3px;border-radius:2px;background:#dae3e4;overflow:hidden}.work-progress span{display:block;width:100%;height:100%;background:var(--edge);transform:scaleX(.02);transform-origin:left;transition:transform 1.1s cubic-bezier(.4,0,.2,1)}.work-actions{display:flex;justify-content:space-between;align-items:center;margin-top:24px;font:12px Inter,sans-serif;color:#526575}.stop-task{font:inherit;color:inherit;background:none;border:0;cursor:pointer;padding:4px}.stop-task:focus-visible{outline:2px solid #6bcde3}.demo-results{position:relative;z-index:1}.work-state.is-changing{opacity:0}@media(prefers-reduced-motion:reduce){.work-drawer,.work-progress span,.work-state{transition:none}}

/* Work and findings share one continuous drawer below the prompt. */
.work-drawer .demo-results{padding:24px 26px 28px;margin:0;animation:drawer-results-in .5s ease both}
.work-drawer.has-results .work-content{display:none}
.work-drawer.has-results .work-light{height:76px;transition:height .5s cubic-bezier(.22,1,.36,1)}
.work-drawer .audit-total{background:transparent;border:0;border-radius:0;padding:0 0 22px;margin:0}
.work-drawer .audit-row{background:transparent;border:0;border-top:1px solid #52657526;border-radius:0;padding:18px 0;margin:0}
.work-drawer .demo-label{margin-bottom:16px}
@keyframes drawer-results-in{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@media(max-width:650px){.work-drawer .demo-results{padding:22px 20px}}
@media(prefers-reduced-motion:reduce){.work-drawer .demo-results{animation:none}.work-drawer.has-results .work-light{transition:none}}

/* Keep the task status tucked directly beneath the prompt. */
.work-light,.work-drawer.has-results .work-light{height:64px;padding-bottom:12px}
.work-drawer .audit-row{border-top:0;padding:0;margin:10px 0}
.work-drawer .audit-row summary{padding:15px 14px;border:1px solid #9cb1bc55;border-radius:12px;background:#ffffff70;box-shadow:0 3px 8px #26334708;transition:background .2s,border-color .2s,box-shadow .2s}
.work-drawer .audit-row summary:after{display:grid;place-items:center;min-width:24px;height:24px;border-radius:50%;background:#e5eef1;color:#2e6f95;font-size:18px}
.work-drawer .audit-row summary:hover{background:#fff;border-color:#6bcde3;box-shadow:0 4px 12px #26334712}
.work-drawer .audit-row summary:focus-visible{outline:2px solid #6bcde3;outline-offset:3px}
.work-drawer .audit-row[open] summary{background:#edf5f6;border-color:#6bcde3}
.work-drawer .audit-row>p,.work-drawer .audit-row>.audit-meter{margin-left:14px;margin-right:14px}
.work-drawer .audit-row[open]{padding-bottom:12px}
.chat-form .glass-link,.chat-form .glass-link:hover{background:#f5f6f1ed;color:#223449;opacity:1;cursor:pointer;box-shadow:0 8px 20px #00000018,inset 0 1px 0 #fff}

.question-send,.question-send:hover,.question-send:disabled{background:#f5f6f1ed;color:#223449;opacity:1;box-shadow:0 8px 20px #00000018,inset 0 1px 0 #fff}

.question-actions{position:relative;justify-content:flex-end;flex-direction:row;align-items:center;gap:12px}
.question-actions #question-hint{position:relative;max-width:180px;padding:9px 12px;border-radius:9px;background:#1d1f2b;color:#d8dce7;font-size:11px;line-height:1.4;box-shadow:0 6px 16px #0003;border:1px solid #ffffff15;opacity:0;transform:translateX(-5px);transition:opacity .3s,transform .3s;pointer-events:none}
#question-hint:after{content:'';position:absolute;right:-5px;top:50%;width:8px;height:8px;background:#1d1f2b;border-right:1px solid #ffffff15;border-top:1px solid #ffffff15;transform:translateY(-50%) rotate(45deg)}
.question-actions.hint-ready #question-hint{opacity:1;transform:none}
@media(max-width:400px){.question-actions #question-hint{max-width:135px;font-size:10px;padding:8px 10px}}
@media(prefers-reduced-motion:reduce){.question-actions #question-hint{transition:none}}

/* Conversation roles: a compact user bubble and an open assistant reply. */
.chat-prompt{width:fit-content;max-width:88%;margin:0 0 26px auto;padding:16px 18px;border-radius:20px 20px 5px 20px;background:#ffffff13}
#opening-question{display:block;width:250px;max-width:100%;height:46px;font-size:15px}
.chat-prompt.is-sent #opening-question{height:24px}
.chat-reply{width:fit-content;max-width:90%;margin:0 auto 28px 0;font:16px/1.65 Inter,sans-serif;position:relative;padding-top:22px}
.chat-reply:before{content:'Peithos';position:absolute;left:0;top:0;color:#b5bac8;font:11px Inter,sans-serif;letter-spacing:.3px}
.question-actions{flex-wrap:wrap}.question-actions #question-hint{font-size:10px;max-width:130px}
.breakdown-button{display:flex;justify-content:center;width:100%;margin-top:22px;cursor:pointer;border:0;background:#f5f6f1ed}
.finding-breakdown{padding:100px 8%;background:linear-gradient(120deg,#d9edf533,#efdef744,#fae0d144);scroll-margin-top:30px}
.finding-breakdown[hidden]{display:none}.breakdown-intro{max-width:750px;margin:0 auto 70px;text-align:center}.breakdown-intro h2{font-size:clamp(36px,5vw,62px);margin-top:18px;text-wrap:balance}.breakdown-intro p,.breakdown-close p{font:300 22px/1.5 Outfit,sans-serif}.breakdown-findings{max-width:1060px;margin:auto}.finding-story{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center;padding:55px 0;border-top:1px solid #52657525}.finding-story h3{font:300 clamp(30px,3.5vw,44px)/1.15 Outfit,sans-serif;letter-spacing:-1px;margin:14px 0 20px;text-wrap:balance}.finding-story p{font:16px/1.7 Inter,sans-serif;color:#526575}.finding-proof{background:#ffffff8a;border:1px solid #ffffffc0;border-radius:22px;padding:28px;box-shadow:0 15px 30px #2633470c}.finding-proof .demo-label{display:block;margin-bottom:12px}.finding-proof p{margin:0 0 24px}.finding-proof p:last-child{margin-bottom:0;color:#2e6f95}.breakdown-close{text-align:center;max-width:700px;margin:80px auto 0}.breakdown-close h2{font-size:40px;text-wrap:balance}.breakdown-close .glass-link{margin-top:16px}
@media(max-width:650px){.chat-prompt{max-width:95%}.finding-breakdown{padding:75px 7%}.finding-story{grid-template-columns:1fr;gap:20px;padding:35px 0}.breakdown-intro{margin-bottom:40px}.breakdown-intro p,.breakdown-close p{font-size:20px}.breakdown-close h2{font-size:34px}}

.chat-panel>.question-actions{margin:0 0 8px;width:100%;justify-content:flex-end}.chat-prompt{margin-bottom:18px}

.finding-breakdown{position:relative;z-index:2;background:var(--cream);padding-bottom:0;box-shadow:0 16px 24px -16px #12273745}
.finding-scene{min-height:135svh;position:relative}.finding-story{position:sticky;top:0;min-height:100svh;padding:90px 0;border-top:0}.finding-story>div{opacity:.35;transform:translateY(24px);transition:opacity .8s,transform .9s cubic-bezier(.22,1,.36,1)}.finding-story.finding-focused>div{opacity:1;transform:none}.finding-proof{background:#292b38;color:#f3f5f8;border:1px solid #ffffff40;box-shadow:0 22px 45px -8px #1a1f3038;position:relative}.finding-proof:before{content:'';position:absolute;inset:-1px;border-radius:inherit;padding:1px;background:var(--edge);mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask-composite:exclude;pointer-events:none}.finding-proof .demo-label{color:#b5bac8}.finding-proof p{color:#f3f5f8;min-height:82px}.finding-proof p:last-child{color:#9ed8e9;min-height:55px}.assistant-name{display:block;font:12px Inter,sans-serif;color:#b5bac8;margin-bottom:24px}.is-typing:after{content:'▏';color:#6bcde3;animation:typing-cursor .7s steps(2) infinite}.finding-action{margin-top:10px}.lander-footer[hidden]{display:none}.lander-footer .closing{background:var(--cream)}@keyframes typing-cursor{50%{opacity:0}}
@media(max-width:650px){.finding-scene{min-height:120svh}.finding-story{padding:45px 0;gap:24px;align-content:center}.finding-proof p{min-height:65px}.finding-proof{padding:24px}.finding-story h3{font-size:32px}}
@media(max-height:700px),(prefers-reduced-motion:reduce){.finding-scene{min-height:0}.finding-story{position:relative;min-height:0;padding:60px 0}}
@media(prefers-reduced-motion:reduce){.finding-story>div{opacity:1;transform:none;transition:none}.is-typing:after{animation:none}}

.chat-stage.is-collapsed{min-height:0;padding:85px 24px 0}.chat-stage.is-collapsed .chat-mark{display:none}
.breakdown-intro{margin-bottom:28px}.finding-breakdown{padding-top:60px}
.breakdown-findings{display:grid;grid-template-columns:1fr 1fr;column-gap:70px;align-items:start;position:relative}
.finding-scene{grid-column:1;min-height:95svh}.finding-story{position:relative;top:auto;display:block;min-height:0;padding:65px 0 90px}
.finding-story>div{opacity:1;transform:none}.finding-chat-rail{grid-column:2;grid-row:1 / span 4;align-self:stretch;min-width:0}.finding-chat-dock{position:sticky;top:calc(50svh - 210px);padding-top:0}
.finding-chat-dock .chat-panel{width:100%}.finding-chat-dock .chat-prompt{max-width:100%;margin-bottom:18px}.finding-chat-dock .finding-proof{background:none;box-shadow:none;border:0;padding:5px 0 0}.finding-chat-dock .finding-proof:before{display:none}.finding-chat-dock .finding-proof p{min-height:82px}
.lander-footer{height:100svh;min-height:640px;overflow:clip}.lander-footer .closing{position:sticky;top:0;inset:auto;height:100%;transform:none!important;will-change:auto}
@media(max-width:650px){.breakdown-findings{grid-template-columns:1fr;gap:20px}.finding-chat-rail{grid-column:1;grid-row:1;position:sticky;top:15px;z-index:3;align-self:start}.finding-chat-dock{position:relative;top:auto}.finding-scene{min-height:70svh}.finding-story{padding:35px 0}.finding-chat-dock .chat-prompt{display:none}.finding-chat-dock .finding-proof p{min-height:45px}.finding-chat-dock .chat-panel{padding:18px}.finding-breakdown{padding-top:40px}}
@media(prefers-reduced-motion:reduce){.finding-scene{min-height:70svh}}

.lander header{position:fixed;top:0;left:0;right:0;padding:22px 6%;z-index:10;background:#f6f1e6e8;backdrop-filter:blur(18px);transition:transform .35s,background .35s}.breakdown-nav-mark{display:none}.lander.breakdown-mode .breakdown-nav-mark{display:flex}.lander.nav-scrolling-down header .brand,.lander.nav-scrolling-down header>.glass-link{opacity:0;pointer-events:none;transition:opacity .25s}.lander header .brand,.lander header>.glass-link{transition:opacity .25s}.lander.nav-scrolling-down header{background:transparent;backdrop-filter:none}
.finding-scene{min-height:62svh}.finding-story{padding:45px 0 70px}.finding-chat-dock{top:110px}.finding-chat-rail{padding-bottom:60px}.breakdown-findings{align-items:stretch}.finding-story.finding-focused{animation:finding-focus-in .65s cubic-bezier(.22,1,.36,1) both}@keyframes finding-focus-in{from{opacity:.55;transform:translateY(12px)}to{opacity:1;transform:none}}
.lander-footer .closing-copy{width:48%}.footer-chat-dock{position:relative;z-index:3;width:43%;margin-left:auto}.email-capture h3{font:300 28px/1.2 Outfit,sans-serif;letter-spacing:-.5px;color:#f3f5f8}.email-capture p{font:14px/1.6 Inter,sans-serif;color:#b5bac8}.demo-email-form{display:flex;flex-direction:column;gap:12px;margin-top:24px}.demo-email-form input{width:100%;min-width:0;border:1px solid #ffffff40;border-radius:12px;padding:15px;background:#ffffff10;color:#f3f5f8;font:14px Inter,sans-serif}.demo-email-form button{border:0;justify-content:center;cursor:pointer;background:#f5f6f1ed}.email-status:empty{display:none}.lander-footer .closing{display:grid;grid-template-columns:1fr 1fr;gap:6%;align-content:center}.lander-footer .closing-copy{width:100%}.footer-chat-dock{width:100%;margin:0}
@media(max-width:650px){.finding-scene{min-height:55svh}.finding-chat-rail{padding-bottom:0}.finding-chat-dock{top:auto}.lander-footer{height:auto;min-height:100svh}.lander-footer .closing{height:auto;min-height:100svh;grid-template-columns:1fr;padding:90px 7% 140px;gap:30px}.lander-footer .closing-copy h2{font-size:34px}.lander header{padding:18px 7%}.finding-story{padding:30px 0 50px}}
@media(prefers-reduced-motion:reduce){.finding-story.finding-focused{animation:none}.lander header{transition:none}}

.chat-prompt.is-sent{width:fit-content;max-width:88%;padding:12px 16px}.sent-message{margin:0;font:15px/1.45 Inter,sans-serif;color:#f3f5f8;overflow-wrap:anywhere}#opening-question[hidden]{display:none}

/* Compact, conversational findings and a continuous handoff to booking. */
.finding-chat-dock .chat-panel{padding:24px;border-radius:28px}
.finding-chat-dock .finding-proof{padding:0}
.finding-chat-dock .finding-proof p{min-height:0;margin:0 0 22px;font:15px/1.55 Inter,sans-serif}
.finding-chat-dock .finding-proof p:last-child{min-height:0;margin-bottom:0}
.finding-chat-dock .assistant-name{margin-bottom:14px}
.finding-chat-dock .chat-prompt{margin-bottom:22px}
.finding-chat-dock .finding-proof .demo-label{margin-bottom:9px;font-size:10px}
.finding-story>div{opacity:0;transform:translateY(30px);transition:opacity .7s ease,transform .9s cubic-bezier(.22,1,.36,1)}
.finding-story.finding-focused>div{opacity:1;transform:none}
.finding-story.finding-focused{animation:none}
.chat-prompt[hidden],.finding-proof[hidden]{display:none}
.footer-chat-dock .chat-panel{transform-origin:top left}
.capture-content{padding:0;background:none;border:0;box-shadow:none;backdrop-filter:none;border-radius:0}
.capture-content .assistant-name{margin-bottom:20px}
.footer-chat-dock{min-height:275px}
.finding-chat-dock .chat-panel{transform-origin:top left}
.lander-footer .closing-copy h2{font-size:clamp(38px,4.4vw,68px);text-wrap:balance}
.lander-footer .closing-copy p{max-width:480px;text-wrap:pretty}
@media(prefers-reduced-motion:reduce){.finding-story>div{opacity:1;transform:none;transition:none}}

.footer-chat-dock>.email-capture{visibility:hidden}
.footer-chat-dock .capture-content{visibility:visible}

/* Keep the navigation clear over the opening and the conversation centered. */
.lander header{background:transparent;backdrop-filter:none}
.lander.nav-past-opening header{background:#f6f1e6e8;backdrop-filter:blur(18px)}
.lander.nav-past-opening.nav-scrolling-down header{background:transparent;backdrop-filter:none}
.finding-chat-dock{top:clamp(100px,calc(50svh - 160px),500px)}
.finding-chat-dock .chat-panel{min-height:320px}
.finding-chat-dock .finding-proof p{min-height:70px;margin-bottom:18px}
.finding-chat-dock .finding-proof p:last-child{min-height:47px;margin-bottom:0}
@media(max-width:650px){.finding-chat-dock{top:auto}.finding-chat-dock .chat-panel{min-height:270px}.finding-chat-dock .finding-proof p{min-height:65px}}

/* Center the entire opening stack; expansion distributes space above and below. */
.chat-stage{align-items:center;padding:100px 24px;min-height:100svh}
.chat-stage.is-collapsed{align-items:flex-start;padding:85px 24px 0;min-height:0}
@media(max-width:650px){.chat-stage{padding:90px 20px}.chat-stage.is-collapsed{padding:85px 20px 0}}

/* The opening question uses the same proportions as the sent message. */
.chat-prompt{padding:12px 16px}
#opening-question{width:21ch;height:22px;min-height:22px;overflow:hidden;font:15px/1.45 Inter,sans-serif}
.chat-prompt.is-sent #opening-question{height:22px}

/* A dedicated introduction leads into one aligned, scroll-revealed scene. */
.finding-breakdown{padding-top:0;scroll-margin-top:80px}
.breakdown-intro{min-height:75svh;display:flex;flex-direction:column;justify-content:center;margin:0 auto;padding:80px 0;max-width:900px}
.breakdown-intro h2{margin:20px 0 24px}
.breakdown-intro p{margin:0}
.breakdown-findings{--finding-reveal:0}
.finding-scene{min-height:75svh;display:flex;align-items:center}
.finding-story{width:100%;padding:40px 0;min-height:320px;display:flex;align-items:center}
.finding-chat-rail{padding-top:max(0px,calc(37.5svh - 160px));padding-bottom:calc(37.5svh - 160px)}
.finding-chat-dock{top:calc(50svh - 160px)}
.finding-chat-dock .chat-panel{opacity:var(--finding-reveal);transform:translateY(calc((1 - var(--finding-reveal))*-36px));transition:opacity .12s linear;min-height:320px}
.finding-scene:first-child .finding-story{opacity:var(--finding-reveal)}
@media(max-width:650px){.breakdown-intro{min-height:65svh;padding:80px 0 60px}.finding-scene{min-height:65svh}.finding-chat-rail{padding:0}.finding-chat-dock{top:auto}.finding-story{min-height:0}.finding-chat-dock .chat-panel{min-height:270px}}
@media(prefers-reduced-motion:reduce){.finding-chat-dock .chat-panel{transform:none;transition:none}}

.reply-next-line{display:block}
.chat-stack>.chat-panel{box-sizing:border-box}
.chat-prompt{transition:padding .4s cubic-bezier(.22,1,.36,1),background .4s}
@media(prefers-reduced-motion:reduce){.chat-prompt{transition:none}}

#opening-question{width:32ch;height:44px;min-height:44px;white-space:pre-wrap}
.intro-chat-dock{width:min(550px,100%);min-height:240px;margin:38px auto 0;text-align:left}
.intro-chat-dock .chat-panel{padding:24px}
.intro-chat-reply p{font:300 25px/1.4 Outfit,sans-serif;color:#f3f5f8;margin:0 0 22px}
.intro-chat-reply .glass-link{border:0;cursor:pointer;background:#f5f6f1ed}
.intro-chat-reply[hidden]{display:none}
.breakdown-intro{min-height:85svh;padding:70px 0 40px}
@media(max-width:650px){#opening-question{width:26ch}.intro-chat-dock{min-height:240px}.breakdown-intro{min-height:85svh}}

.intro-chat-dock .chat-panel{opacity:1;transform:none;visibility:visible}.intro-chat-dock .finding-proof[hidden]{display:none}

/* Keep intro chat typography independent of the marketing paragraph styles. */
.breakdown-intro .chat-panel .sent-message{font:15px/1.45 Inter,sans-serif;margin:0;color:#f3f5f8}
.breakdown-intro .intro-chat-reply p{font:16px/1.65 Inter,sans-serif;margin:0 0 22px;color:#f3f5f8}

.intro-chat-reply .show-findings{display:flex;width:fit-content;margin-left:auto;justify-content:center}

.breakdown-intro>.demo-label{margin-bottom:0}
.breakdown-intro h2{margin-top:10px}
.breakdown-intro>p{text-wrap:balance;max-width:780px;align-self:center}
.keep-together{white-space:nowrap}
@media(max-width:650px){
 .chat-stack,.intro-chat-dock,.footer-chat-dock{min-width:0;max-width:100%}
 .chat-panel{padding:18px;border-radius:22px}
 .chat-prompt,.chat-prompt.is-sent{max-width:100%}
 #opening-question{width:100%;height:66px;min-height:66px;font-size:16px}
 .chat-prompt:not(.is-sent){width:100%}
 .chat-form input,.demo-email-form input,.quick-report-form input{font-size:16px}
 .glass-link{min-height:44px}
 .breakdown-intro{padding:55px 0 30px}
 .breakdown-intro h2{font-size:36px;line-height:1.12}
 .breakdown-intro>p{font-size:20px;line-height:1.45}
 .intro-chat-dock{margin-top:28px;min-height:250px}
 .breakdown-findings{display:flex;flex-direction:column;gap:0}
 .finding-chat-rail{order:-1;position:sticky;top:80px;z-index:3;align-self:stretch}
 .finding-chat-dock{position:relative;top:auto}
 .finding-chat-dock .chat-panel{padding:18px;min-height:280px}
 .finding-chat-dock .chat-prompt{display:block;margin-bottom:16px}
 .finding-chat-dock .finding-proof p{min-height:55px;font-size:14px}
 .finding-chat-dock .finding-proof p:last-child{min-height:42px}
 .finding-scene{min-height:65svh;padding-top:30px}
 .finding-story{padding:35px 0}
 .lander-footer .closing{position:relative;overflow:hidden;padding-top:70px;gap:24px}
 .lander-footer .closing-copy h2{font-size:38px}
 .footer-chat-dock{min-height:280px}
 .lander header .brand{font-size:27px}
}

.report-row{padding:15px 0;border-bottom:1px solid #52657520}
.report-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}
.report-heading h3{font:400 16px/1.4 Inter,sans-serif;letter-spacing:0;margin:0}
.report-row .audit-score{font-size:14px;color:#526575}
.report-row .audit-meter{height:3px;margin-top:10px;background:#52657516}

.chat-stack{animation:opening-focus 850ms cubic-bezier(.22,1,.36,1) both}
@keyframes opening-focus{from{opacity:0;filter:blur(10px)}to{opacity:1;filter:blur(0)}}
@media(prefers-reduced-motion:reduce){.chat-stack{animation:none}}

/* Lead with the mark, then resolve the conversation into focus. */
.chat-stack{animation:none}
.chat-stack>.chat-mark{animation:opening-mark 500ms ease-out both}
.chat-stack>.chat-panel{animation:opening-focus 850ms cubic-bezier(.22,1,.36,1) 550ms both}
@keyframes opening-mark{from{opacity:0}to{opacity:1}}
@media(prefers-reduced-motion:reduce){.chat-stack>.chat-mark,.chat-stack>.chat-panel{animation:none}}

.chat-stack>.chat-mark{animation:opening-mark 800ms cubic-bezier(.22,1,.36,1) both}
.chat-stack>.chat-panel{animation:opening-focus 1300ms cubic-bezier(.22,1,.36,1) 750ms both}
@keyframes opening-mark{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@keyframes opening-focus{from{opacity:0;filter:blur(10px);transform:translateY(18px)}to{opacity:1;filter:blur(0);transform:none}}
@media(prefers-reduced-motion:reduce){.chat-stack>.chat-mark,.chat-stack>.chat-panel{animation:none}}

/* One fade controls the handoff; scrolling no longer competes with a moving transform. */
.finding-chat-dock .chat-panel{opacity:1;transform:none;transition:none}
@media(max-width:650px){
 .finding-chat-rail{position:relative;top:auto;height:0;min-height:0}
 .finding-chat-active .finding-chat-rail{position:fixed;left:7%;right:7%;top:auto;bottom:max(16px,env(safe-area-inset-bottom));height:auto;z-index:8}
 .finding-chat-dock .chat-panel{min-height:0;max-height:45svh;overflow:auto;box-shadow:0 12px 40px #1a1f3050}
 .finding-chat-dock .finding-proof p{min-height:0;margin-bottom:14px}
 .finding-chat-dock .finding-proof p:last-child{min-height:0}
 .finding-scene{min-height:75svh;align-items:flex-start;padding-top:50px}
 .finding-story{padding-bottom:38svh}
 .breakdown-findings{padding-bottom:25svh}
}

.breakdown-findings[hidden]{display:none!important}

/* The assistant's recommendation unfolds in the same glass drawer language. */
.finding-add-drawer{display:grid;grid-template-rows:0fr;opacity:0;margin:0 -24px -24px;transition:grid-template-rows .7s cubic-bezier(.22,1,.36,1),opacity .5s ease,margin-top .7s}
.finding-add-drawer.is-open{grid-template-rows:1fr;opacity:1;margin-top:20px}
.finding-add-glass{min-height:0;overflow:hidden;border-radius:0 0 26px 26px;background:linear-gradient(90deg,#d8edf4ee,#ebe3f0ee,#f4e8deee,#e1ece7ee);position:relative}
.finding-add-content{padding:24px}
.finding-chat-dock .finding-add-content .demo-label{color:#526575}
.finding-chat-dock .finding-add-content p:last-child{color:#223449;min-height:0;margin:0;font:15px/1.55 Inter,sans-serif}
.finding-thinking{display:block;font:12px/1.5 Inter,sans-serif;color:#b5bac8;margin:8px 0;animation:thinking-breathe 1.4s ease-in-out infinite}
.finding-thinking[hidden]{display:none}
@keyframes thinking-breathe{50%{opacity:.45}}
.footer-chat-dock>.chat-panel{width:min(100%,var(--conversation-width,100%));margin-right:auto}
@media(max-width:650px){.finding-add-drawer{margin-left:-18px;margin-right:-18px;margin-bottom:-18px}.finding-add-content{padding:18px}.finding-chat-dock .chat-panel{max-height:52svh}.footer-chat-dock>.chat-panel{width:100%}}
@media(prefers-reduced-motion:reduce){.finding-add-drawer{transition:none}.finding-thinking{animation:none}}

.finding-breakdown{min-height:calc(100svh - 80px);box-shadow:none}.breakdown-intro{min-height:calc(100svh - 80px)}

.finding-chat-dock>.chat-panel{z-index:2;min-height:245px}
.finding-chat-dock>.finding-add-drawer{width:96%;margin:-24px auto 0;position:relative;z-index:1;transform:translateY(-16px);transition:grid-template-rows .7s cubic-bezier(.22,1,.36,1),opacity .4s,transform .7s cubic-bezier(.22,1,.36,1)}
.finding-chat-dock>.finding-add-drawer.is-open{margin-top:-24px;transform:none}
.finding-chat-dock .finding-add-glass{border-radius:0 0 24px 24px;background:#ffffffa8;backdrop-filter:blur(10px);box-shadow:0 18px 32px -6px #26334724;border:1px solid #adaeee80}
.finding-chat-dock .finding-add-content{padding:44px 24px 24px;background:linear-gradient(90deg,#6bcde318,#adaeee18,#e5abd618,#ebc69c18,#b5ded318)}
.finding-add-drawer[hidden]{display:none!important}
@media(max-width:650px){.finding-chat-dock>.chat-panel{min-height:0;max-height:34svh}.finding-chat-dock .finding-add-content{padding:38px 18px 18px}.finding-chat-dock>.finding-add-drawer{max-height:20svh;overflow:auto}}
@media(prefers-reduced-motion:reduce){.finding-chat-dock>.finding-add-drawer{transition:none;transform:none}}

.direct-demo .footer-chat-dock>.email-capture{visibility:visible}

/* live results */
/* Additions to Jess's chat.css for live results. Colors, bars and easing are his. */

/* Meters fill as each check lands, with the same easing as the work progress bar. */
.report-row .audit-meter span{width:0;transition:width 1.1s cubic-bezier(.4,0,.2,1)}
/* A check that is still processing: the work-progress bar treatment, moving. */
.report-row .audit-meter.is-loading span{width:28%;animation:meter-loading 1.6s cubic-bezier(.4,0,.2,1) infinite}
@keyframes meter-loading{from{transform:translateX(-100%)}to{transform:translateX(360%)}}
.work-source{transition:opacity .2s}
@media(prefers-reduced-motion:reduce){.report-row .audit-meter span{transition:none}.report-row .audit-meter.is-loading span{animation:none;width:100%;opacity:.35}}

/* Quick pass inside "What Peithos can add": Jess's ink, muted and panel colors. */
.finding-add-detail{margin-top:18px;display:flex;flex-direction:column;gap:10px}
.finding-add-detail[hidden],.finding-add-waiting[hidden]{display:none}
.finding-add-detail .demo-label{margin:4px 0 0;font-size:10px;color:#526575}
.quick-video{display:flex;gap:12px;align-items:center}
.quick-video strong{display:block;font:500 13px/1.4 Inter,sans-serif;color:#223449}
.quick-video small{display:block;font:12px/1.4 Inter,sans-serif;color:#617582;overflow-wrap:anywhere}
.quick-thumb{flex:none;width:72px;height:40px;border-radius:8px;background:#292b38 center/cover no-repeat;box-shadow:inset 0 0 0 1px #ffffff24;position:relative}
.quick-thumb:after{content:'';position:absolute;left:31px;top:14px;border-style:solid;border-width:6px 0 6px 10px;border-color:transparent transparent transparent #f3f5f8cc}
.quick-code{margin:0;padding:12px 14px;border-radius:12px;background:#292b38;color:#f3f5f8;font:11px/1.55 'IBM Plex Mono',ui-monospace,monospace;max-height:min(120px,16svh);overflow:auto;white-space:pre}
.quick-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px;font:13px/1.45 Inter,sans-serif;color:#223449}
.quick-list span{display:inline-block;min-width:38px;color:#2e6f95;font-variant-numeric:tabular-nums}
.quick-chips{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px}
.quick-chips li{font:12px/1 Inter,sans-serif;color:#223449;padding:7px 10px;border-radius:999px;background:#ffffff8a;border:1px solid #adaeee66}
.finding-add-waiting{margin-top:16px;display:flex;flex-wrap:wrap;align-items:center;gap:12px}
.finding-add-waiting p{margin:0;font:13px/1.5 Inter,sans-serif;color:#526575!important;min-height:0!important}
.finding-add-waiting .finding-next{padding:10px 14px;cursor:pointer}
.finding-chat-dock .finding-add-content>p{color:#223449;min-height:0;margin:0;font:15px/1.55 Inter,sans-serif}
/* The processing bar in "What Peithos can add": the homepage drawer's progress track
   (.work-progress), running across above the note, with the pending row's moving edge. */
.finding-add-waiting{flex-direction:column;align-items:flex-start;gap:12px}
.finding-add-loading{align-self:stretch;height:3px;border-radius:2px;background:#dae3e4;overflow:hidden}
.finding-add-loading span{display:block;height:100%;width:28%;background:var(--edge);animation:meter-loading 1.6s cubic-bezier(.4,0,.2,1) infinite}
@media(prefers-reduced-motion:reduce){.finding-add-loading span{animation:none;width:100%;opacity:.35}}
.quick-list li{display:flex;gap:8px}.quick-list span{flex:none}
/* Phone: Jess's chat docks at the bottom with a short drawer, and the page already
   scrolls freely under it, so the processing note is one line and needs no button. */
@media(max-width:650px){.finding-add-waiting{margin-top:12px;gap:10px}.finding-add-more,.finding-add-waiting .finding-next{display:none}}
@media(max-width:650px){.finding-chat-dock>.finding-add-drawer.is-open .finding-add-glass{overflow-y:auto;overscroll-behavior:contain}}

/* Returning customers sign in from the homepage: a quiet link beside Jess's Book a demo. */
.lander-nav{display:flex;align-items:center;gap:20px}
.lander-login{font:12px Inter,sans-serif;color:#223449}
.lander-login:hover{text-decoration:underline}

/* The invisible human check sits on its own line under the field and button, so it never squeezes the website or email field. */
.chat-form,.demo-email-form{flex-wrap:wrap}
.chat-form>div,.demo-email-form>div{flex:0 0 100%;min-width:0}
/* The reminder form stacks its label, email field and button. */
.chat-form.stacked-form{flex-direction:column}
.chat-form.stacked-form label{font:13px Inter,sans-serif;color:#b5bac8}
/* Until the real total exists the card shows a loading bar, never a 0. */
.audit-total.is-pending strong{display:none}
/* Findings and suggestions arrive one per line. */
.finding-proof p,.finding-add-content>p{white-space:pre-line}
/* Drawer visuals, in the lander's glass: a moment timeline, one card per AI answer. */
.quick-track{position:relative;height:6px;border-radius:3px;background:#dae3e4;margin:2px 0 4px}
.quick-track span{position:absolute;top:50%;width:10px;height:10px;margin:-5px 0 0 -5px;border-radius:50%;background:#f3f5f8;box-shadow:0 0 0 2px #6bcde3,0 2px 6px #2633471f}
.quick-answer{padding:12px 14px;border-radius:14px;background:#ffffff8a;border:1px solid #ffffffcc;box-shadow:0 8px 18px #2633470a}
.quick-answer{position:relative;display:flex;flex-direction:column;gap:4px;padding-left:20px}
.quick-answer:before{content:'';position:absolute;left:9px;top:14px;bottom:14px;width:3px;border-radius:3px;background:#b5bac8}
.quick-answer.is-elsewhere:before{background:#e5abd6}
.quick-answer.is-page:before{background:#6bcde3}
.quick-answer-engine{display:flex;align-items:center;gap:7px;font:500 12px/1.3 Inter,sans-serif;color:#617582}
.quick-answer-engine img{width:16px;height:16px;border-radius:4px;object-fit:contain}
.quick-answer p{margin:0!important;min-height:0!important;font:14px/1.45 Inter,sans-serif!important;color:#223449!important}
.quick-answer p strong{font-weight:600;color:#223449}
/* Key moments as frames: the still, its time, its title. */
.quick-frames{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:10px}
.quick-frame{display:flex;flex-direction:column;gap:6px;color:#223449;text-decoration:none}
.quick-frame-image{position:relative;aspect-ratio:16/9;border-radius:10px;background:#292b38 center/cover no-repeat;box-shadow:inset 0 0 0 1px #ffffff24,0 8px 18px #2633470f;overflow:hidden}
.quick-frame-time{position:absolute;left:6px;bottom:6px;padding:3px 6px;border-radius:999px;background:#292b38d9;color:#f3f5f8;font:500 10px/1 Inter,sans-serif;font-variant-numeric:tabular-nums}
.quick-frame-label{font:12px/1.35 Inter,sans-serif;color:#223449}
a.quick-frame:hover .quick-frame-image{box-shadow:inset 0 0 0 1px #6bcde3,0 8px 18px #26334718}
/* Moment links: each one starts the video at that second. */
.quick-links{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.quick-link{display:flex;align-items:center;gap:9px;padding:9px 12px;border-radius:999px;background:#ffffff8a;border:1px solid #ffffffcc;font:13px/1.3 Inter,sans-serif;color:#223449;text-decoration:none}
.quick-link strong{font-weight:500;color:#2e6f95;font-variant-numeric:tabular-nums}
.quick-link-play{flex:none;width:18px;height:18px;border-radius:50%;background:var(--edge);position:relative}
.quick-link-play:after{content:'';position:absolute;left:7px;top:5px;border-style:solid;border-width:4px 0 4px 6px;border-color:transparent transparent transparent #fff}
a.quick-link:hover{border-color:#6bcde3}
.quick-frame-image.is-empty{background:linear-gradient(135deg,#ffffffb3,#ffffff66);box-shadow:inset 0 0 0 1px #ffffffcc}
.quick-frame-image.is-empty .quick-frame-time{left:50%;top:50%;bottom:auto;transform:translate(-50%,-50%);font-size:12px;padding:5px 9px}
/* Nothing in a drawer runs past its edge; links show they open. */
.finding-add-detail,.finding-add-detail>*{min-width:0;max-width:100%}
.finding-add-detail p,.quick-frame-label,.quick-link{overflow-wrap:break-word}
.quick-chips li,.quick-site,.quick-chips a{overflow-wrap:anywhere}
.quick-site{font-weight:600;color:#223449;text-decoration:underline;text-decoration-color:#e5abd6;text-underline-offset:3px}
.quick-chips a{color:#223449;text-decoration:none}.quick-chips li:has(a):hover{border-color:#6bcde3}
/* A part still on its way: the shape of what will land, shimmering, with a note. */
.quick-skeleton{display:flex;flex-direction:column;gap:8px}
.quick-skeleton span{display:block;height:10px;border-radius:6px;background:linear-gradient(90deg,#e6ecee 0%,#f6f8f8 40%,#e6ecee 80%);background-size:200% 100%;animation:quick-shimmer 1.6s linear infinite}
.quick-skeleton.is-lines span:nth-child(2){width:86%}.quick-skeleton.is-lines span:nth-child(3){width:62%}
.quick-skeleton.is-frames{flex-direction:row}.quick-skeleton.is-frames span{flex:1;height:auto;aspect-ratio:16/9;border-radius:10px}
.quick-skeleton.is-cards span{height:52px;border-radius:14px}
.quick-skeleton.is-chips{flex-direction:row;flex-wrap:wrap}.quick-skeleton.is-chips span{width:88px;height:26px;border-radius:999px}
.quick-coming{font:12px/1.45 Inter,sans-serif;color:#617582}
@keyframes quick-shimmer{from{background-position:200% 0}to{background-position:-200% 0}}
@media(prefers-reduced-motion:reduce){.quick-skeleton span{animation:none}}
/* Desktop: the rail pins the chat at 50svh - 160px, so chat and drawer get the rest of the screen less 24px; a long drawer scrolls inside itself. */
@media(min-width:651px){.finding-chat-dock{display:flex;flex-direction:column;max-height:calc(50svh + 136px)}.finding-chat-dock>.chat-panel{flex:none}.finding-chat-dock>.finding-add-drawer{flex:0 1 auto;min-height:0}.finding-chat-dock>.finding-add-drawer.is-open .finding-add-glass{overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}}
/* Phone: touch scrolls the chat and its drawer; a scrollbar would cut across their rounded corners. */
@media(max-width:650px){.finding-chat-dock>.finding-add-drawer{border-radius:0 0 24px 24px}.finding-chat-dock>.chat-panel,.finding-chat-dock>.finding-add-drawer,.finding-chat-dock .finding-add-glass{scrollbar-width:none}.finding-chat-dock>.chat-panel::-webkit-scrollbar,.finding-chat-dock>.finding-add-drawer::-webkit-scrollbar,.finding-chat-dock .finding-add-glass::-webkit-scrollbar{display:none}}
/* Phone: the drawer tucks under the chat, so what scrolls up fades before it reaches the chat, and a solid glass keeps the page behind from showing through. */
@media(max-width:650px){.finding-chat-dock>.finding-add-drawer{-webkit-mask-image:linear-gradient(to bottom,transparent 0,transparent 24px,#000 40px);mask-image:linear-gradient(to bottom,transparent 0,transparent 24px,#000 40px)}.finding-chat-dock .finding-add-glass{background:#fbfaf6f5}}
/* Cite: the full report by email, under the findings. */
.quick-report-form{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.quick-report-form input{flex:1 1 160px;min-width:0;border:1px solid #adaeee80;border-radius:10px;padding:9px 11px;background:#fff;color:#223449;font:13px Inter,sans-serif}
.quick-report-form .glass-link{border:0;cursor:pointer;padding:9px 14px;justify-content:center;background:#292b38;color:#f3f5f8}
.quick-report-status{flex-basis:100%;font:12px/1.45 Inter,sans-serif;color:#2e6f95}.quick-report-status:empty{display:none}
.quick-answer.is-unchecked p{color:#617582!important}
/* Desktop: what scrolls up inside the drawer fades before it reaches the chat it tucks under. */
@media(min-width:651px){.finding-chat-dock>.finding-add-drawer.is-open .finding-add-glass{-webkit-mask-image:linear-gradient(to bottom,transparent 0,transparent 24px,#000 40px);mask-image:linear-gradient(to bottom,transparent 0,transparent 24px,#000 40px)}}
/* Phone: each finding is its own section, story then its card then its open drawer, in the page flow. */
@media(max-width:650px){
.breakdown-stacked .finding-chat-rail{display:none}
.breakdown-stacked .breakdown-findings{display:block;padding-bottom:40px}
.breakdown-stacked .finding-scene{display:flex;flex-direction:column;align-items:stretch;min-height:0;padding:0 0 36px}
.breakdown-stacked .finding-scene>*{width:100%;max-width:100%}
.breakdown-stacked .finding-story{position:static;min-height:0;padding:36px 0 18px;display:block}
.breakdown-stacked .finding-scene>.finding-add-drawer{width:96%;align-self:center}
.breakdown-stacked .finding-story>div{opacity:1;transform:none}
.breakdown-stacked .finding-inline{padding:18px;position:relative;z-index:2}
.breakdown-stacked .finding-inline .chat-prompt{margin:-6px -6px 16px;padding:12px 14px}
.breakdown-stacked .finding-inline .finding-proof{background:none;box-shadow:none;border:0;padding:0}
.breakdown-stacked .finding-inline .finding-proof:before{display:none}
.breakdown-stacked .finding-inline .finding-proof .demo-label{margin-bottom:9px;font-size:10px}
.breakdown-stacked .finding-inline .finding-proof p{min-height:0;margin:0;font:15px/1.55 Inter,sans-serif}
.breakdown-stacked .finding-scene>.finding-add-drawer{width:96%;margin:-24px auto 0;position:relative;z-index:1}
.stacked-demo .footer-chat-dock>.email-capture{visibility:visible}
.breakdown-stacked .finding-inline:not(.is-played){opacity:0}.breakdown-stacked .finding-inline .chat-prompt{transform-origin:50% 100%}
.breakdown-stacked .finding-scene>.finding-add-drawer .finding-add-glass{border-radius:0 0 24px 24px;background:#fbfaf6;box-shadow:0 18px 32px -6px #26334724;border:1px solid #adaeee80}
.breakdown-stacked .finding-scene>.finding-add-drawer .finding-add-content{padding:38px 18px 18px}
}
/* Lead back: the visitor's question, answered citing the video's moment and linking back to their page. */
.quick-thread{display:flex;flex-direction:column;gap:8px}
.quick-bubble{max-width:90%;border-radius:16px;padding:10px 13px;font:13px/1.5 Inter,sans-serif;margin:0!important;min-height:0!important}
.quick-bubble.is-question{margin-left:auto!important;background:#292b38;color:#f3f5f8!important;border-bottom-right-radius:6px}
.quick-bubble.is-answer{background:#fff;border:1px solid #ffffffcc;color:#223449;border-bottom-left-radius:6px;box-shadow:0 6px 14px #2633470a;display:flex;flex-direction:column;gap:4px}
.quick-bubble.is-answer p{margin:0!important;min-height:0!important;font:13px/1.5 Inter,sans-serif!important;color:#223449!important}
.quick-sources{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}
.quick-source{display:inline-flex;align-items:center;gap:6px;padding:5px 9px;border-radius:999px;font:12px/1.3 Inter,sans-serif;color:#223449;text-decoration:none;background:#eaf7fa;border:1px solid #bfe6ef;overflow-wrap:anywhere}
.quick-source .quick-link-play{width:14px;height:14px}.quick-source .quick-link-play:after{left:5px;top:3.5px;border-width:3.5px 0 3.5px 5px}
a.quick-source:hover{border-color:#6bcde3}
.quick-thread-note{font:11px/1.45 Inter,sans-serif;color:#8a96a2}
.quick-chips-elsewhere li{background:#fbeef6;border-color:#f0cfe4}
/* Coming back to a saved check: each part ticks as its result loads. */
.saved-steps{list-style:none;margin:12px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px 16px;font:13px/1.4 Inter,sans-serif}
.saved-steps li{display:flex;align-items:center;gap:7px;opacity:.5;transition:opacity .4s}
.saved-steps li:before{content:'';width:15px;height:15px;border-radius:50%;border:1px solid currentColor;box-sizing:border-box;font-size:10px;line-height:13px;text-align:center}
.saved-steps li.is-done{opacity:1}
.saved-steps li.is-done:before{content:'✓';border-color:#6bcde3;background:#6bcde3;color:#292b38;font-weight:700}
.finding-add-detail>.quick-source{width:fit-content;max-width:100%;justify-self:start;align-self:flex-start}
/* A part still running: the bar fills toward its usual time, with a soft sheen so it reads as moving. */
.report-row .audit-meter.is-timed span{position:relative;overflow:hidden;opacity:.75}
.report-row .audit-meter.is-timed span:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,transparent,#ffffffa0,transparent);animation:meter-sheen 1.8s ease-in-out infinite}
@keyframes meter-sheen{from{transform:translateX(-100%)}to{transform:translateX(100%)}}
@media(prefers-reduced-motion:reduce){.report-row .audit-meter.is-timed span:after{animation:none}}
/* After "Let's break this down" the chat stands in for the four-step breakdown. */
.chat-breakdown .chat-stage .work-drawer,.chat-breakdown .breakdown-intro,.chat-breakdown .breakdown-findings,.chat-breakdown .finding-chat-rail{display:none}
.finding-breakdown .ai-chat{background:transparent;padding-top:30px}
.chat-breakdown.stacked-demo .footer-chat-dock>.email-capture{visibility:visible}
.ai-chat-waiting{display:block;margin-top:10px;font:14px Inter,sans-serif;color:#526575}.is-with .ai-chat-waiting{color:#b5bac8}
.ai-chat-waiting[hidden]{display:none}
.ai-chat-waiting:after{content:'';animation:chat-dots 1.2s steps(4) infinite}
/* With the chat showing, nothing scrolls visibly under the top bar or its mark: the bar stays solid glass, and jumps land below it. */
.lander.chat-breakdown header,.lander.nav-past-opening.chat-breakdown.nav-scrolling-down header{background:#f6f1e6eb;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
.chat-breakdown #finding-breakdown,#ai-chat{scroll-margin-top:96px}
/* The results card: one bar for the whole check; the four parts in a pull-down. */
.overall-meter{display:block;height:4px;margin-top:16px}
.overall-meter span{display:block;height:100%;width:6%;background:var(--edge);transition:width 1.1s cubic-bezier(.4,0,.2,1)}
.report-parts{margin-top:8px}
.report-parts>summary{cursor:pointer;list-style:none;font:13px Inter,sans-serif;color:#526575;padding:10px 0}
.report-parts>summary::-webkit-details-marker{display:none}
.report-parts>summary:after{content:' ↓'}.report-parts[open]>summary:after{content:' ↑'}
.breakdown-wait{margin:18px 0 0;text-align:center;font:14px Inter,sans-serif;color:#526575}
.breakdown-wait[hidden]{display:none}
.breakdown-wait:after{content:'';animation:chat-dots 1.2s steps(4) infinite}

/* How long the check has run: under the one overall bar, and under the first bar while it works. */
.overall-time,.work-timer{font:12px/1.45 Inter,sans-serif;color:#617582;margin:8px 0 0;font-variant-numeric:tabular-nums}
/* The video being checked: the host's still and its title, from the moment it is found. */
.work-video{display:flex;align-items:center;gap:12px;margin:-12px 0 20px;padding:8px;border-radius:12px;background:#ffffffb8;box-shadow:0 1px 0 #dae3e4}
.work-video[hidden]{display:none}
.work-video-still{width:96px;aspect-ratio:16/9;object-fit:cover;border-radius:8px;flex:none;background:#dae3e4}
.work-video figcaption{display:grid;gap:2px;min-width:0}
.work-video figcaption span{font:11px/1.4 Inter,sans-serif;color:#2e6f95;text-transform:uppercase;letter-spacing:.04em}
.work-video figcaption strong{font:500 14px/1.35 Inter,sans-serif;color:#223449;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.results-source{display:flex;align-items:center;gap:10px}
.results-thumb{width:64px;aspect-ratio:16/9;object-fit:cover;border-radius:6px;flex:none}
/* .glass-link sets its own display, which beats the hidden attribute: keep the breakdown hidden until it is ready. */
.breakdown-button[hidden],.breakdown-wait[hidden]{display:none}
/* A failed check: what happened, our team, and another try. */
.work-failed{padding:20px 28px 26px}
.work-failed[hidden],.work-content[hidden]{display:none}
.work-failed h2{font:300 22px/1.45 Outfit,sans-serif;letter-spacing:0;color:#223449}
.work-failed p{font:14px/1.6 Inter,sans-serif;color:#526575;margin:10px 0 22px}
.work-failed-actions{display:flex;gap:10px;flex-wrap:wrap}
.work-failed-actions .glass-link{cursor:pointer;font:inherit;font-size:12px}
