*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
:root{
  --blue:#0072BB;
  --blue-light:#EEF6FF;
  --blue-soft:#DCEBFA;
  --rail-prussian:#011638;
  --rail-charcoal:#364156;
  --rail-silver:#CDCDCD;
  --ios-white:#FBFBFD;
  --ios-gray-1:#F5F5F7;
  --ios-gray-2:#E5E5EA;
  --ios-gray-3:#D1D1D6;
  --red-light:#FFF0ED;
  --red:#B83A1A;
  --green-light:#EDFAF3;
  --green:#1A7A4A;
  --text:#0E0E0F;
  --text-2:#6E6E73;
  --text-3:#AEAEB2;
  --surface:#F7F7F5;
  --border:rgba(0,0,0,0.09);
  --white:#fff;
}
body{font-family:'DM Sans',sans-serif;background:#f0efed;color:var(--text);-webkit-font-smoothing:antialiased;padding:72px 0 0;margin:0}

/* ── SITE HEADER ── */
.site-header{position:fixed;top:0;left:0;width:100%;z-index:200;background:#F2F0EB;box-sizing:border-box;padding:8px max(48px,calc((100% - 1440px)/2))}
.site-wordmark{height:56px;width:auto;display:block}

/* ── HERO ── */
.hero{max-width:1440px;margin:0 auto;display:grid;grid-template-columns:560px 340px;justify-content:center;align-items:center;min-height:calc(100vh - 72px);gap:80px;padding-left:max(48px,calc((100% - 1440px)/2));padding-right:max(48px,calc((100% - 1440px)/2));padding-top:clamp(80px,12vh,140px);padding-bottom:clamp(80px,12vh,140px)}
.hero-text{max-width:560px;align-self:center}
.hero-headline{font-family:'DM Serif Display',serif;font-size:44px;line-height:1.08;color:#0E0E0F;max-width:700px;margin-bottom:18px}
.hero-sub{font-size:clamp(16px,1.6vw,19px);font-weight:400;line-height:1.6;color:#1A1A1A;max-width:620px;margin-bottom:32px}
.hero-phone{display:flex;align-items:center;justify-content:center;margin-top:0}
.hero-phone-img{width:100%;max-width:340px;height:auto;transform:translateX(32px)}

/* ── PAGE MAIN (content below hero) ── */
.page-main{max-width:none;margin:0;padding:40px 0 24px}
.story-section{scroll-margin-top:140px;margin-bottom:96px;padding-left:calc((100vw - 980px) / 2);padding-right:calc((100vw - 980px) / 2);box-sizing:border-box}
.story-section:last-child{margin-bottom:0}
.story-section-head{max-width:100%;margin:0 auto 18px 0;padding:0 4px}
.story-section-title{font-family:'DM Serif Display',serif;font-size:34px;line-height:1.12;color:var(--text);margin-bottom:8px}
.story-section-desc{font-size:17px;line-height:1.75;color:var(--text-2);max-width:640px}
.chapter-panel{max-width:820px}
.chapter-body{padding:24px 32px 32px}
.state-shift-head{margin-bottom:24px}
.state-shift-title{font-family:'DM Serif Display',serif;font-size:30px;line-height:1.08;color:var(--text);margin-bottom:10px}
.state-shift-copy{font-size:15px;line-height:1.65;color:var(--text-2);max-width:620px}
.state-query-bar{display:flex;align-items:center;gap:12px;background:var(--white);border:1px solid rgba(0,0,0,.12);border-radius:14px;padding:14px 18px;margin-bottom:18px}
.state-query-icon{width:14px;height:14px;flex-shrink:0;color:var(--text-3)}
.state-query-text{font-size:15px;line-height:1.5;color:var(--text)}
.chapter-grid{display:grid;gap:12px}
.chapter-grid-3,.chapter-grid-steps{grid-template-columns:repeat(3,minmax(0,1fr))}
.chapter-card{padding:18px;border:1px solid var(--border);border-radius:16px;background:linear-gradient(180deg,#FCFCFB 0%,#F6F6F3 100%)}
.chapter-card-label{font-size:10px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--blue);margin-bottom:8px}
.chapter-card p{font-size:13px;line-height:1.65;color:var(--text)}
.chapter-step-number{font-size:11px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--text-3);margin-bottom:10px}
.chapter-step-title{font-size:17px;line-height:1.4;color:var(--text);margin-bottom:8px}
.chapter-note{margin-top:14px;padding:16px 18px;border-radius:14px;background:var(--surface);font-size:13px;line-height:1.65;color:var(--text-2)}
.next-grid{margin-bottom:18px}
.next-mission{margin-top:18px;padding:28px 24px;border-radius:18px;background:linear-gradient(180deg,#FCFCFB 0%,#F6F6F3 100%);border:1px solid var(--border);text-align:center}
.next-mission-copy{font-family:'DM Serif Display',serif;font-size:28px;line-height:1.5;color:var(--text);max-width:620px;margin:0 auto}
.next-contact-row{display:flex;justify-content:center;gap:26px;flex-wrap:wrap;margin-top:22px}
.next-contact-link{font-size:14px;font-weight:600;color:var(--blue);text-decoration:none}
.next-contact-link:hover{text-decoration:underline}
.next-contact-primary{display:inline-flex;align-items:center;padding:12px 28px;background:#002FA7;color:#FFFFFF;border-radius:100px;font-size:15px;font-weight:500;text-decoration:none;transition:background .2s ease,transform .15s ease,box-shadow .2s ease}
.next-contact-primary:hover{background:#002486;transform:translateY(-1px);box-shadow:0 4px 16px rgba(0,47,167,.3)}
.next-contact-primary:active{transform:translateY(0);box-shadow:none}
.next-contact-divider{font-size:13px;color:#AEAEB2;margin:0 12px}
.next-contact-secondary{font-size:14px;color:#0072BB;text-decoration:none;font-weight:500}
.next-contact-secondary:hover{text-decoration:underline}
.explainer{background:var(--white);border:1px solid var(--border);border-radius:20px;overflow:hidden;margin-bottom:48px;max-width:100%;margin-left:0;margin-right:auto}
.ex-header{padding:28px 32px 20px}
.eyebrow{font-size:12px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--text-2);margin-bottom:10px}
.ex-title{font-family:'DM Serif Display',serif;font-size:28px;line-height:1.15;font-weight:700;color:var(--text);margin-bottom:8px}
.ex-desc{font-size:16px;color:var(--text-2);line-height:1.7;max-width:68ch}
.ex-desc-source{display:inline-block;margin-left:6px;font-size:11px;font-weight:500;color:var(--text-3);letter-spacing:0.02em;cursor:default;position:relative;vertical-align:middle}
.ex-desc-tooltip{display:none;position:absolute;bottom:calc(100% + 8px);left:0;background:#FFFFFF;border:1px solid rgba(26,26,26,0.12);border-radius:10px;padding:12px 16px;min-width:280px;box-shadow:0 4px 16px rgba(0,0,0,0.08);z-index:300;flex-direction:column;gap:8px}
.ex-desc-source:hover .ex-desc-tooltip,.ex-desc-source:focus .ex-desc-tooltip{display:flex}
.ex-desc-tooltip a{font-size:12px;font-weight:400;color:#0072BB;text-decoration:none;line-height:1.4}
.ex-desc-tooltip a:hover{text-decoration:underline}
.ex-body{border-top:1px solid var(--border)}
.ex-footer{padding:16px 32px;border-top:1px solid var(--border);display:flex;align-items:center;gap:10px;background:var(--surface)}
#g3-back{transition:opacity 200ms ease,transform 200ms ease}
#g3-back[style*="display:none"],#g3-back[style*="display: none"]{pointer-events:none}
.btn{display:inline-flex;align-items:center;gap:8px;padding:10px 24px;border-radius:100px;font-family:'DM Sans',sans-serif;font-size:14px;font-weight:500;letter-spacing:0.01em;cursor:pointer;transition:all .2s ease;border:1.5px solid var(--blue);color:var(--blue);background:white}
.btn:hover{background:var(--blue);color:white;transform:translateY(-1px);box-shadow:0 4px 12px rgba(0,114,187,.22)}
.btn:active{transform:translateY(0px);box-shadow:none}
.btn.sec{border-color:var(--border);color:var(--text-2);background:white}
.btn.sec:hover{background:var(--surface);color:var(--text)}
.btn.is-hidden,.hidden-el{display:none}

/* GAP 01 */
.g1-grid{display:grid;grid-template-columns:1fr 1fr}
.g1-col{padding:24px 32px}
.g1-col+.g1-col{border-left:1px solid var(--border)}
.col-ey{font-size:11px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;margin-bottom:14px}
.col-ey.cap{color:var(--text-3)}
.col-ey.mis{color:var(--blue)}
.drow{display:flex;justify-content:space-between;gap:10px;padding:9px 0;border-bottom:1px solid var(--border);opacity:0;transform:translateY(4px);transition:opacity .25s,transform .25s}
.drow:last-child{border-bottom:none}
.drow.vis{opacity:1;transform:none}
.dk{font-size:13px;color:var(--text-3);min-width:80px}
.dv{font-size:13px;color:var(--text);font-weight:500;text-align:right;line-height:1.5}
.ph{height:10px;background:var(--surface);border-radius:3px;margin-bottom:8px}
.mi-wrap{display:none}
.mi{padding:10px 0;border-bottom:1px solid var(--border);opacity:0;transition:opacity .3s}
.mi:last-child{border-bottom:none}
.mi.vis{opacity:1}
.mi-lbl{font-size:11px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--blue);margin-bottom:3px}
.mi-txt{font-size:13px;color:var(--text);line-height:1.6}

/* GAP 02 */
.g2-body{padding:24px 32px}
.tog-row{display:flex;align-items:center;gap:10px;padding:16px 0 14px;margin-bottom:14px}
.tog{width:40px;height:24px;border-radius:12px;background:#E5E5EA;position:relative;cursor:pointer;transition:background .2s;flex-shrink:0;border:none;padding:0;appearance:none;-webkit-appearance:none}
.tog.on{background:var(--blue)}
.tog::after{content:'';position:absolute;left:2px;top:2px;width:20px;height:20px;border-radius:50%;background:white;transition:transform .2s;box-shadow:0 1px 2px rgba(0,0,0,.2)}
.tog.on::after{transform:translateX(16px)}
.tog-lbl{font-size:13px;font-weight:500;color:var(--text);letter-spacing:0.01em}
.qbox{background:var(--surface);border-radius:10px;padding:12px 16px;font-size:14px;color:var(--text-2);margin-bottom:16px;line-height:1.6}
.qbox strong{color:var(--text)}
.qbox-label{font-size:11px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--text-3);margin-bottom:6px}
.qbox-question{font-size:15px;font-weight:500;color:var(--text);line-height:1.5}
.ritem{display:flex;align-items:flex-start;gap:12px;padding:12px 0;border-bottom:1px solid var(--border);transition:all .25s}
.ritem:last-child{border-bottom:none}
.ritem.is-highlighted{background:var(--blue-light);border-radius:10px;padding:12px 10px;margin:0 -10px 4px}
.rnk{width:22px;height:22px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:500;flex-shrink:0;margin-top:1px;transition:all .25s}
.rnk.hi{background:var(--blue);color:white}
.rnk.lo{background:var(--surface);color:var(--text-3)}
.ri{flex:1}
.ri-br{font-size:11px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--text-3);margin-bottom:2px}
.ri-nm{font-size:15px;font-weight:500;color:var(--text);margin-bottom:3px}
.ri-wh{font-size:13px;color:var(--text-2);line-height:1.5}
.bdg{font-size:11px;padding:3px 10px;border-radius:100px;font-weight:500;white-space:nowrap;flex-shrink:0}
.bdg.miss{background:var(--red-light);color:var(--red)}
.bdg.hit{background:var(--blue-light);color:var(--blue)}
.bdg.gen{background:var(--surface);color:var(--text-3)}

/* GAP 03 */
.g3-body{padding:24px 32px}
.g3-if{border:1.5px dashed var(--border);border-radius:12px;padding:14px 16px;margin-bottom:12px;transition:all .3s}
.g3-if.active{border-color:var(--blue);border-style:solid;background:var(--blue-light)}
.g3-ilbl{font-size:11px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--text-2);margin-bottom:4px;transition:color .3s}
.g3-if.active .g3-ilbl{color:var(--blue)}
.g3-iq{font-size:15px;font-weight:500;color:var(--text);line-height:1.5}
.g3-plats{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:16px}
.g3-plat{border:1px solid var(--border);border-radius:10px;padding:16px 18px;transition:all .3s}
.g3-plbl{font-size:12px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--text-2);margin-bottom:8px}
.g3-ptxt{font-size:14px;color:var(--text);line-height:1.65}
.g3-txt-conn{display:none}
.g3-txt-conn.is-visible{display:block}
.g3-txt-dim.is-hidden{display:none}
.g3-plat.dim{opacity:1;filter:none}
.g3-plat.dim .g3-plbl{color:var(--text-3)}
.g3-plat.dim .g3-ptxt{color:var(--text-2)}
.g3-plat.conn{border-color:var(--blue);background:var(--blue-light)}
.g3-plat.conn .g3-plbl{color:var(--blue)}
.g3-plat.conn .g3-ptxt{color:var(--text)}
.g3-layer{background:var(--blue);color:white;border-radius:10px;padding:12px 16px;font-size:13px;font-weight:500;text-align:center;opacity:0;transition:opacity .4s;margin-top:8px}
.g3-layer.vis{opacity:1}

/* GAP 04 */
.g4-dots{display:flex;gap:5px}
.g4-dot{width:7px;height:7px;border-radius:50%;background:var(--border);transition:background .2s}
.g4-dot.on{background:var(--blue)}

/* GAP 05 */
.g5-grid{display:grid;grid-template-columns:1fr 1fr}
.g5-col{padding:28px 32px}
.g5-col+.g5-col{border-left:1px solid var(--border)}
.g5-lbl{font-size:12px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;margin-bottom:20px}
.g5-lbl.pl{color:var(--text-3)}
.g5-lbl.ol{color:var(--blue)}
.flow{display:flex;flex-direction:column;gap:0}
.frow{display:flex;align-items:center}
.fb{flex:1;padding:11px 14px;border-radius:8px;font-size:14px;font-weight:500;text-align:center;border:1px solid var(--border);line-height:1.3}
.fb.n{background:var(--surface);color:var(--text-2)}
.fb.w{background:var(--blue-light);color:var(--blue);border-color:rgba(0,47,167,.12)}
.fb.wb{background:var(--blue);color:white;border-color:var(--blue)}
.fb.bad{background:var(--red-light);color:var(--red);border-color:rgba(184,58,26,.12);text-decoration:line-through;opacity:.65}
.fb.g{background:var(--green-light);color:var(--green);border-color:rgba(26,122,74,.12)}
.fa{font-size:13px;padding:0 6px;color:var(--text-3);flex-shrink:0}
.fa.b{color:var(--blue)}
.fgap{height:8px}
.fn{font-size:13px;color:var(--text-2);margin-top:16px;line-height:1.6}
.fn.emphasis{color:var(--blue);font-weight:500}

/* CIRCLE 01 */
.c1-body{padding:24px 32px}
.c1-lbl{font-size:11px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--text-3);margin-bottom:14px}
.c1-f{display:flex;gap:12px;padding:10px 0;border-bottom:1px solid var(--border);opacity:0;transform:translateX(-6px);transition:opacity .3s,transform .3s}
.c1-f:last-child{border-bottom:none}
.c1-f.vis{opacity:1;transform:none}
.c1-ico{width:26px;height:26px;border-radius:6px;background:var(--blue-light);display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:500;color:var(--blue);flex-shrink:0}
.c1-key{font-size:11px;color:var(--text-3);margin-bottom:2px;font-weight:500;text-transform:uppercase;letter-spacing:.05em}
.c1-val{font-size:13px;color:var(--text);line-height:1.45}

/* CIRCLE 02 */
.c2-wrap{display:grid;grid-template-columns:1fr 52px 1fr;padding:24px 32px;align-items:start}
.c2-col{display:flex;flex-direction:column;gap:8px}
.c2-clbl{font-size:10px;font-weight:500;letter-spacing:.07em;text-transform:uppercase;margin-bottom:4px}
.c2-clbl.cu{color:var(--text-3);text-align:right}
.c2-clbl.br{color:var(--blue)}
.c2-item{font-size:12px;line-height:1.45;padding:10px 12px;border-radius:10px;opacity:0;transition:opacity .4s}
.c2-item.cu{background:var(--surface);color:var(--text);text-align:right}
.c2-item.br{background:var(--blue-light);color:var(--text)}
.c2-item.vis{opacity:1}
.c2-ctr{display:flex;flex-direction:column;align-items:center;justify-content:center;padding-top:26px;gap:6px}
.c2-node{width:44px;height:44px;border-radius:50%;background:var(--blue);opacity:0;transform:scale(.6);transition:opacity .4s,transform .4s;display:flex;align-items:center;justify-content:center}
.c2-node.vis{opacity:1;transform:scale(1)}
.c2-line{width:1px;height:14px;background:var(--border)}

/* CIRCLE 03 */
.c3-grid{display:grid;grid-template-columns:1fr 1fr}
.c3-pan{padding:0}
.c3-pan+.c3-pan{border-left:1px solid var(--border)}
.c3-plbl{font-size:10px;font-weight:500;letter-spacing:.07em;text-transform:uppercase;padding:12px 20px;border-bottom:1px solid var(--border);background:var(--surface)}
.c3-plbl.bef{color:var(--text-3)}
.c3-plbl.aft{color:var(--blue);background:var(--blue-light)}
.c3-q{padding:12px 20px;font-size:12px;color:var(--text-2);line-height:1.5;border-bottom:1px solid var(--border);background:var(--surface)}
.c3-ans{padding:14px 20px;font-size:13px;color:var(--text);line-height:1.6;min-height:140px}
.c3-tag{display:inline-block;font-size:10px;font-weight:500;padding:2px 8px;background:var(--blue-light);color:var(--blue);border-radius:100px;margin-bottom:6px}
.c3-rich{display:none;opacity:0;transition:opacity .4s}
.c3-rich.is-visible{display:block;opacity:1}

/* GAP 01 query panel */
.g1-query-wrap{border-top:1px solid var(--border);overflow:hidden;max-height:0;transition:max-height .5s ease}
.g1-chat-pair{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:14px}
.g1-query-wrap.open{max-height:400px}
.g1-query-inner{padding:20px 32px 24px}
.g1-query-label{font-size:10px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--text-3);margin-bottom:10px}
.g1-query-text{font-size:14px;font-weight:500;color:var(--text);line-height:1.5;margin-bottom:20px;padding:14px 16px;background:var(--surface);border-radius:10px;font-style:italic}

@media(max-width:640px){
  .g1-grid,.g5-grid,.c2-wrap,.c3-grid{grid-template-columns:1fr}
  .g1-col+.g1-col,.g5-col+.g5-col,.c3-pan+.c3-pan{border-left:none;border-top:1px solid var(--border)}
  .ex-header,.g1-col,.g5-col,.c1-body,.c2-wrap,.g2-body,.g3-body{padding:16px 20px}
  .ex-footer{padding:12px 20px}
}

@media(max-width:899px){
  .hero{grid-template-columns:1fr;padding:clamp(48px,8vh,96px) 24px 48px;min-height:auto;gap:40px}
  .hero-headline{font-size:36px}
  .hero-phone{margin-top:0}
  .hero-phone-img{max-width:240px;margin:0 auto}
  body{padding-top:72px}
  .site-header{padding:14px 24px}
  .site-wordmark{height:44px}
  .story-section-title{font-size:30px}
  .next-mission-copy{font-size:24px}
  .story-section{padding-left:24px;padding-right:24px}
  .chapter-grid-3,.chapter-grid-steps{grid-template-columns:1fr}
  .chapter-body{padding:20px}
}

@media(max-width:639px){
  .hero-phone{display:none}
  .hero{padding:clamp(32px,6vh,64px) 24px 32px}
  .spyglass-input-bar{max-width:100%}
}

/* Shared chat shell */
.chat-shell{background:white;border-radius:14px;overflow:hidden;border:1px solid var(--border)}
.chat-shell.fill{flex:1}
.chat-topbar{background:var(--surface);border-bottom:1px solid var(--border);padding:9px 16px;display:flex;align-items:center;gap:4px}
.brand-icon{height:16px;width:16px;flex-shrink:0;display:block}
.brand-wordmark{height:13px;width:auto;display:block}
.brand-node-icon{width:22px;height:22px;display:block;filter:brightness(0) invert(1)}
.chat-topbar-dot{width:7px;height:7px;border-radius:50%;background:var(--text-3);flex-shrink:0}
.chat-topbar-dot.blue{background:var(--blue)}
.chat-topbar-lbl{font-size:13px;font-weight:500;color:var(--text-2)}
.chat-topbar-lbl.with-prefix{margin-left:0}
.chat-messages{padding:7px 16px 14px;display:flex;flex-direction:column;gap:10px;background:white}
.chat-q{align-self:flex-end;max-width:82%;background:#0072BB;color:white;padding:10px 14px;border-radius:18px 18px 4px 18px;font-size:15px;line-height:1.6;font-style:italic;margin-top:10px}
.chat-a{align-self:flex-start;width:100%;font-size:15px;line-height:1.75;color:var(--text)}
.chat-a-source{font-size:11px;font-weight:500;color:var(--text-3);margin-bottom:6px}
.chat-a-source.ondutch{color:var(--blue)}
.chat-a-body{max-width:680px}
.chat-a-body.revealable{opacity:0;transition:opacity .4s}
.chat-a-body.revealable.slow{transition:opacity .5s}
.chat-a-body.revealable.is-visible{opacity:1}
.chat-typing{display:flex;gap:4px;padding:4px 0 6px}
.chat-typing-dot{width:6px;height:6px;border-radius:50%;background:var(--text-3);animation:tdot 1.1s ease-in-out infinite}
.chat-typing-dot:nth-child(2){animation-delay:.18s}
.chat-typing-dot:nth-child(3){animation-delay:.36s}
@keyframes tdot{0%,60%,100%{transform:translateY(0);opacity:.35}30%{transform:translateY(-5px);opacity:1}}
@media(max-width:640px){.g1-chat-pair{grid-template-columns:1fr}}

/* Gap 03 result shells */
.g3-result{display:none;margin-bottom:10px}
.g3-result.vis{display:block;animation:fadeIn .4s ease forwards}
@keyframes fadeIn{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}

/* Gap 04 tab switcher */
.g4-switcher{padding:0 32px;background:var(--surface);border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between}
.g4-switch-pair{display:flex}
.g4-switch-tab{font-size:12px;font-weight:500;padding:12px 16px;color:var(--text-3);cursor:pointer;border:none;border-bottom:2px solid transparent;background:none;transition:all .2s;user-select:none;white-space:nowrap;font-family:'DM Sans',sans-serif}
.g4-switch-tab.active{color:var(--blue);border-bottom-color:var(--blue)}
.g4-dots{display:flex;gap:5px;padding-right:4px}
.g4-dot{width:7px;height:7px;border-radius:50%;background:var(--border);transition:background .2s}
.g4-dot.on{background:var(--blue)}
.g4-panels{padding:20px 32px}
.g4-panel{display:block;padding:20px 32px}
.g4-divider{height:1px;background:var(--border);margin:0 32px}
@media(max-width:640px){.g4-switcher,.g4-panels{padding-left:20px;padding-right:20px}}

/* ChatGPT "Thinking" staged state */
.g3-searching{display:flex;align-items:center;gap:8px;padding:0;height:0;overflow:hidden;opacity:0;transition:opacity .3s,height .3s,padding .3s}
.g3-searching.vis{opacity:1;height:auto;padding:4px 0 8px}
.g3-search-icon{width:14px;height:14px;flex-shrink:0;opacity:.5}
.g3-search-lbl{font-size:13px;color:var(--text-3);font-style:italic}
.g3-search-lbl::after{content:'...';animation:searchdots 1.4s steps(4,end) infinite}
@keyframes searchdots{0%,100%{content:'.'}33%{content:'..'}66%{content:'...'}}
.g3-fail-body{opacity:0;transition:opacity .4s}
.g3-fail-body.vis{opacity:1}
.g3-searching + .chat-a-body{margin-top:6px}
.g3-fail-intro{margin:0 0 18px;font-size:15px;line-height:1.7;max-width:680px}
.g3-finding-list{display:flex;flex-direction:column;gap:20px;max-width:680px}
.g3-finding{padding-top:2px}
.g3-finding-title{font-size:16px;font-weight:600;color:var(--text);margin-bottom:6px}
.g3-finding-copy{font-size:15px;color:var(--text);line-height:1.7}
.g3-finding-note{margin-top:10px;padding:11px 13px;border-left:3px solid rgba(0,114,187,.55);background:var(--surface);border-radius:10px;font-size:14px;line-height:1.7;color:var(--text-2)}
.g3-finding-note-label{display:block;font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--blue);margin-bottom:4px}
.g3-note-toggle{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--blue);background:rgba(26,26,26,0.06);border:none;border-radius:6px;padding:5px 9px;cursor:pointer;opacity:1}
.g3-note-toggle:hover{background:rgba(26,26,26,0.1)}
.g3-note-chevron{display:inline-block;width:8px;height:8px;border-right:2px solid var(--blue);border-bottom:2px solid var(--blue);transform:rotate(45deg);transition:transform 200ms ease;margin-bottom:2px}
.g3-signal-toggle{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--green);background:rgba(26,26,26,0.06);border:none;border-radius:6px;padding:5px 9px;cursor:pointer;opacity:1}
.g3-signal-toggle:hover{background:rgba(26,26,26,0.1)}
.g3-signal-chevron{display:inline-block;width:8px;height:8px;border-right:2px solid var(--green);border-bottom:2px solid var(--green);transform:rotate(45deg);transition:transform 200ms ease;margin-bottom:2px}
.g3-suc-lead{margin:0 0 14px;line-height:1.7;color:var(--text);max-width:680px}
.g3-suc-stage{opacity:0;transform:translateY(8px);transition:opacity .45s ease,transform .45s ease}
.g3-suc-stage.is-visible{opacity:1;transform:none}
.g3-suc-card{padding:14px 16px;border:1px solid rgba(0,114,187,.14);border-radius:14px;background:linear-gradient(180deg,#F7FBFF 0%,#FFFFFF 100%);margin-bottom:12px}
.g3-suc-kicker{font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--blue);margin-bottom:6px}
.g3-suc-title{font-size:16px;font-weight:600;color:var(--text);margin-bottom:6px}
.g3-suc-copy{font-size:14px;color:var(--text);line-height:1.65}
.g3-suc-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}
.g3-suc-tag{display:inline-flex;align-items:center;padding:5px 9px;border-radius:999px;background:white;border:1px solid rgba(0,114,187,.14);font-size:11px;font-weight:500;color:var(--blue)}
.g3-suc-point + .g3-suc-point{margin-top:14px}
.g3-suc-point-title{color:var(--text);line-height:1.6;max-width:680px}
.g3-suc-note{margin-top:10px;padding:11px 13px;border-left:3px solid rgba(26,122,74,.45);background:rgba(237,250,243,.85);border-radius:10px;font-size:13px;line-height:1.65;color:var(--text-2)}
.g3-suc-note-label{display:block;font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--green);margin-bottom:4px}

/* Gap 03 source annotation bar */
.g3-source-bar{background:#FAFAF8;border:1px solid var(--border);border-radius:10px;padding:14px 16px;margin-top:8px;display:flex;flex-direction:column;gap:10px;opacity:0;transition:opacity .4s}
.g3-source-bar.vis{opacity:1}
.g3-source-item{display:flex;gap:10px;align-items:flex-start}
.g3-source-num{width:18px;height:18px;border-radius:50%;background:var(--border);color:var(--text-3);font-size:10px;font-weight:600;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:1px}
.g3-source-txt{font-size:12px;color:var(--text-2);line-height:1.5}
.g3-source-verdict{font-size:15px;font-weight:600;color:var(--text);line-height:1.6;padding-top:4px;border-top:1px solid var(--border);margin-top:2px;max-width:680px}
.g3-src-link{color:var(--blue);text-decoration:underline;text-underline-offset:2px;text-decoration-color:rgba(0,114,187,.35)}

/* Gap 03 screenshots strip */
.g3-screenshots-row{display:none;padding:12px 0 4px;flex-direction:column;gap:8px}
.g3-screenshots-row.vis{display:flex}
.g3-ss-label{font-size:11px;color:var(--text-3)}
.g3-ss-btn{background:none;border:none;color:var(--blue);font-size:11px;cursor:pointer;padding:0;text-decoration:underline;text-underline-offset:2px;font-family:'DM Sans',sans-serif}
.g3-ss-thumbs{display:flex;gap:6px;overflow-x:auto;padding-bottom:4px}
.g3-ss-thumb{background:none;border:none;padding:0;cursor:pointer;flex-shrink:0}
.g3-ss-img{display:block;height:80px;width:auto;border-radius:6px;border:1px solid var(--border);cursor:pointer;flex-shrink:0;transition:opacity .15s}
.g3-ss-img:hover{opacity:.8}

/* Lightbox */
.g3-lightbox{display:none;position:fixed;inset:0;background:rgba(0,0,0,.85);z-index:1000;align-items:center;justify-content:center;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
.g3-lightbox.open{display:flex}
.g3-lb-inner{background:white;border-radius:16px;padding:20px;max-width:420px;width:90%;position:relative;display:flex;flex-direction:column;max-height:calc(100vh - 56px);max-height:calc(100dvh - 56px);overflow-y:auto}
.g3-lb-close{position:absolute;top:12px;right:14px;background:none;border:none;font-size:18px;cursor:pointer;color:var(--text-3);line-height:1}
.g3-lb-img{display:none;width:100%;border-radius:8px}
.g3-lb-img.is-active{display:block}
.g3-lb-nav{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:12px}
.g3-lb-arrow{background:none;border:1px solid var(--border);border-radius:50%;width:32px;height:32px;font-size:18px;cursor:pointer;color:var(--text);line-height:1}
.g3-lb-count{font-size:12px;color:var(--text-3)}

body .g3-source-bar{gap:14px;padding:16px 18px}
body .g3-source-verdict{font-size:15px;line-height:1.6;border-top:none;margin-top:0;padding-top:0}
body .g3-lightbox{padding:28px 18px;background:rgba(9,12,18,.82);backdrop-filter:blur(6px);overflow-y:auto}
body .g3-lb-inner{width:min(96vw,560px);max-width:560px;padding:18px;border-radius:24px;background:rgba(255,255,255,.96);box-shadow:0 22px 70px rgba(0,0,0,.24);max-height:calc(100vh - 56px);max-height:calc(100dvh - 56px);overflow-y:auto}
.g3-lb-toolbar{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:14px;position:sticky;top:0;z-index:1;background:rgba(255,255,255,.98);padding-bottom:12px}
.g3-lb-meta{display:flex;flex-direction:column;gap:4px}
.g3-lb-label{font-size:10px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--text-3)}
body .g3-lb-count{font-size:13px;font-weight:600;color:var(--text)}
body .g3-lb-close{position:static;display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid var(--border);border-radius:999px;background:white;flex-shrink:0}
.g3-lb-stage{position:relative;display:flex;align-items:center;justify-content:center;padding:0 54px;min-height:0}
body .g3-lb-imgs{display:flex;justify-content:center;width:min(100%,390px);margin:0 auto}
body .g3-lb-img{max-width:100%;max-height:min(68vh,760px);max-height:min(68dvh,760px);box-shadow:0 14px 36px rgba(0,0,0,.14);background:white}
body .g3-lb-imgs .g3-lb-img{width:auto;border-radius:20px}
.g3-lb-stage .g3-lb-arrow{position:absolute;top:50%;transform:translateY(-50%);width:42px;height:42px;background:rgba(255,255,255,.95);box-shadow:0 8px 24px rgba(0,0,0,.12)}
.g3-lb-arrow-left{left:0}
.g3-lb-arrow-right{right:0}
.g3-lb-hint{margin-top:12px;text-align:center;font-size:11px;color:var(--text-3)}
body .g3-plat.conn{background:linear-gradient(180deg,#F6FBFF 0%,#EEF6FF 100%);box-shadow:0 10px 28px rgba(0,114,187,.08);transform:translateY(-2px)}
body .g3-layer{transform:translateY(8px);transition:opacity .4s,transform .4s;box-shadow:0 14px 28px rgba(0,114,187,.16)}
body .g3-layer.vis{transform:none}

@media(max-width:640px){
  body .g3-lb-inner{width:min(96vw,420px);padding:16px;max-height:calc(100vh - 36px);max-height:calc(100dvh - 36px)}
  .g3-lb-stage{padding:0 42px}
  .g3-lb-toolbar{margin-bottom:12px;padding-bottom:10px}
  .g3-lb-hint{font-size:10px}
  .g3-suc-card{padding:13px 14px}
}

.btn:focus-visible,
.tog:focus-visible,
.g3-ss-btn:focus-visible,
.g3-ss-thumb:focus-visible,
.g3-lb-close:focus-visible,
.g3-lb-arrow:focus-visible,
.g4-switch-tab:focus-visible,
.spyglass-field-input:focus-visible,
.spyglass-submit:focus-visible{
  outline:2px solid rgba(0,114,187,.35);
  outline-offset:2px;
}

/* ── SPYGLASS ENTRY SYSTEM ── */

/* CTA instruction */
.hero-cta{font-size:clamp(16px,1.6vw,19px);font-weight:500;line-height:1.5;color:#1A1A1A;margin-bottom:14px}
.gate-line-1{font-size:clamp(15px,1.5vw,18px);font-weight:500;color:#0E0E0F;line-height:1.5}
.gate-line-2{font-size:clamp(15px,1.5vw,18px);font-weight:500;color:#0E0E0F;line-height:1.5}
.gate-confirm-wrap{display:flex;flex-direction:column;gap:10px}
.gate-confirm-box{width:100%;padding:16px 20px;border:1.5px solid rgba(26,26,26,0.15);border-radius:12px;background:#FFFFFF;font-size:16px;font-weight:500;color:#0D0D0D;line-height:1.5;min-height:52px;display:flex;align-items:center}
.gate-confirm-sub{font-size:13px;font-weight:400;color:#9E9E9E;padding-left:4px;line-height:1.5}
.gate-contact{color:#9E9E9E;text-decoration:none}
.gate-contact:hover{color:#0072BB;text-decoration:underline}
.hero-divider{border:none;border-top:1px solid rgba(26,26,26,0.08);margin:0 0 20px}

/* Staged input bar */
.spyglass-input-bar{display:flex;align-items:center;gap:10px;background:var(--white);border:1px solid rgba(0,0,0,.1);border-radius:14px;padding:12px 14px 12px 18px;box-shadow:0 1px 3px rgba(0,0,0,.04);max-width:540px}
.spyglass-url-prefix{font-family:'DM Sans',sans-serif;font-size:14px;color:var(--text-3);flex-shrink:0;user-select:none}
.spyglass-field-input{border:none;background:none;font-family:'DM Sans',sans-serif;font-size:14px;color:var(--text);width:100%;outline:none}
.spyglass-field-input::placeholder{color:var(--text-3)}
.spyglass-field-input:disabled{opacity:.5}
.spyglass-submit{width:38px;height:38px;border-radius:50%;border:1.5px solid var(--blue);background:var(--white);color:var(--blue);display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;transition:all .15s}
.spyglass-submit:hover{background:var(--blue);color:var(--white)}
.spyglass-submit:disabled{opacity:.35;pointer-events:none}

/* Locked URL label (Stage 2) */
.spyglass-url-locked{font-size:12px;color:var(--text-3);margin-bottom:8px;font-family:'DM Sans',sans-serif;display:inline-flex;align-items:baseline;gap:6px}
.spyglass-url-clear{background:none;border:none;color:var(--text-3);cursor:pointer;padding:2px;line-height:0;border-radius:4px;transition:color 150ms ease,background 150ms ease;flex-shrink:0;position:relative;top:-1px}
.spyglass-url-clear:hover{color:var(--text);background:rgba(26,26,26,0.06)}

/* Stage visibility */
.stage-pitch .spyglass-url-prefix{display:none}
.stage-pitch .spyglass-url-locked{display:inline-flex}
.stage-running .spyglass-input-bar{opacity:.5;pointer-events:none}

/* Demo-gated sections */
.demo-gated{opacity:0;transform:translateY(12px);transition:opacity .6s ease,transform .6s ease}
.demo-gated.is-revealed{opacity:1;transform:none}

/* Email gate */
.spyglass-email-gate{margin-top:24px;padding:24px;background:#FFFFFF;border:1px solid rgba(0,0,0,0.09);border-radius:16px}
.spyglass-gate-copy{font-family:'DM Serif Display',serif;font-size:20px;font-weight:400;line-height:1.3;color:#0D0D0D;margin-bottom:20px}
.spyglass-gate-form{display:flex;align-items:center;gap:10px;max-width:540px;background:var(--white);border:1px solid rgba(0,0,0,.1);border-radius:14px;padding:12px 14px 12px 18px;box-shadow:0 1px 3px rgba(0,0,0,.04)}
.spyglass-gate-links{display:flex;gap:20px;margin-top:10px}
.spyglass-gate-links a{font-size:12px;color:var(--text-3);text-decoration:none;transition:color .15s}
.spyglass-gate-links a:hover{color:var(--text)}

/* Thinking indicator */
.spyglass-thinking{display:flex;align-items:center;gap:10px;margin-top:18px;padding:14px 0;opacity:0;transition:opacity 400ms ease}
.spyglass-thinking .chat-typing{padding:0}
.spyglass-thinking-label{font-size:13px;color:var(--text-3);font-style:italic;transition:opacity .4s;display:inline-block;min-width:220px}

/* Discovery findings reveal */
.spyglass-findings-reveal{margin-top:14px}
.spyglass-findings-toggle{display:flex;align-items:center;gap:6px;background:none;border:none;padding:6px 0;cursor:pointer;font-family:'DM Sans',sans-serif;font-size:12px;color:var(--text-3);transition:color .15s}
.spyglass-findings-toggle:hover{color:var(--text-2)}
.spyglass-findings-chevron{transition:transform .25s ease;flex-shrink:0}
.spyglass-findings-body{max-height:0;overflow:hidden;transition:max-height .4s ease}
.spyglass-findings-reveal.is-open .spyglass-findings-chevron{transform:rotate(90deg)}
.spyglass-findings-reveal.is-open .spyglass-findings-body{max-height:800px}

/* Finding cards */
.spyglass-findings{display:flex;flex-direction:column;gap:10px;padding-top:10px}
.spyglass-finding{padding:14px 16px;border:1px solid var(--border);border-radius:12px;background:linear-gradient(180deg,#FCFCFB 0%,#F8F8F6 100%);opacity:0;transform:translateY(6px);transition:opacity .4s ease,transform .4s ease}
.spyglass-finding.is-visible{opacity:1;transform:none}
.spyglass-finding-type{font-size:9px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--blue);margin-bottom:6px}
.spyglass-finding-quote{font-size:13px;font-style:italic;color:var(--text);line-height:1.6;margin-bottom:4px}
.spyglass-finding-quote::before{content:'\201C'}
.spyglass-finding-quote::after{content:'\201D'}
.spyglass-finding-source{font-size:11px;color:var(--text-3);margin-bottom:6px}
.spyglass-finding-insight{font-size:12px;color:var(--text-2);line-height:1.5}

/* Query area */
.spyglass-query-area{margin-top:18px}
.spyglass-query-label{font-size:11px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--text-3);margin-bottom:10px}
.spyglass-query-text{font-family:'DM Serif Display',serif;font-size:18px;font-weight:400;color:var(--text);line-height:1.5;padding:16px 18px;background:var(--surface);border-radius:12px;font-style:italic;min-height:52px}
.spyglass-query-text::after{content:'|';animation:blink-cursor .8s step-end infinite;color:var(--blue);font-weight:300}
.spyglass-query-text.is-done::after{display:none}

@keyframes blink-cursor{0%,100%{opacity:1}50%{opacity:0}}

/* Three model panels */
.spyglass-panels{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:18px;align-items:start}
.spyglass-panel{background:var(--white);border:1px solid var(--border);border-radius:14px;overflow:hidden;opacity:0;transform:translateY(6px);transition:opacity .4s ease,transform .4s ease}
.spyglass-panel.is-visible{opacity:1;transform:none}
.spyglass-panel-claude{border-top:2px solid rgba(255,149,0,.5)}
.spyglass-panel-openai{border-top:2px solid rgba(16,163,127,.5)}
.spyglass-panel-gemini{border-top:2px solid rgba(66,133,244,.5)}
.spyglass-panel-header{display:flex;align-items:center;gap:8px;padding:10px 14px;border-bottom:1px solid var(--border);background:var(--surface)}
.spyglass-panel-icon{width:16px;height:16px;flex-shrink:0;display:block}
.spyglass-panel-label{font-size:11px;font-weight:500;color:var(--text-3)}
.spyglass-panel-body{padding:14px;font-size:13px;line-height:1.7;color:var(--text);height:420px;overflow-y:auto;white-space:pre-wrap;word-break:break-word}

/* Analysis note */
.spyglass-analysis{margin-top:18px;padding:16px 18px;border-left:3px solid var(--blue);background:linear-gradient(180deg,#F8FBFF 0%,#FFFFFF 100%);border-radius:0 12px 12px 0;opacity:0;transition:opacity .5s}
.spyglass-analysis.is-visible{opacity:1}
.spyglass-analysis-label{font-size:10px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--blue);margin-bottom:8px}
.spyglass-analysis-text{font-size:13px;color:var(--text);line-height:1.7}

/* Spyglass error state */
.spyglass-error{margin-top:14px;padding:12px 16px;border-radius:10px;background:var(--red-light);color:var(--red);font-size:13px;line-height:1.5}

@media(max-width:900px){
  .spyglass-panels{grid-template-columns:1fr}
}

/* ── SECTION PROGRESS BAR ── */
.section-progress{position:fixed;top:72px;left:0;width:100%;z-index:199;padding:0;box-sizing:border-box}
.progress-track{width:100%;height:3px;background:rgba(26,26,26,0.12);position:relative;overflow:hidden}
.progress-fill{position:absolute;top:0;left:0;height:100%;width:25%;background:#9E9B96;border-radius:0 9999px 9999px 0;transition:width 500ms ease}
.progress-zones{position:absolute;top:0;left:0;width:100%;height:44px;display:flex}
.progress-zone{flex:1;height:100%;background:transparent;border:none;cursor:pointer;padding:0}

/* ── CHEVRON PAGINATION ── */
.section-chevrons{position:fixed;bottom:32px;right:32px;display:flex;flex-direction:row;gap:4px;z-index:100}
.chevron-btn{width:40px;height:40px;border-radius:12px;border:1.5px solid rgba(26,26,26,0.15);background:#F2F0EB;color:#1A1A1A;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background 200ms ease,border-color 200ms ease,color 200ms ease,transform 200ms ease;-webkit-tap-highlight-color:transparent}
.chevron-btn:hover{background:rgba(26,26,26,0.08);border-color:rgba(26,26,26,0.35);color:#1A1A1A;transform:scale(1.08)}
.chevron-btn:active{transform:scale(0.97)}
.chevron-btn:disabled{opacity:0.3;cursor:default;pointer-events:none}

@media(max-width:899px){
  .section-progress{top:72px}
}

@media(max-width:640px){
  .section-chevrons{bottom:20px;right:20px}
  .chevron-btn{width:44px;height:44px}
}

@media print{
  .section-progress,.section-chevrons{display:none}
}
