/* Story-first homepage. Shared header/footer and base tokens remain in shared.css. */
.story-hero{padding:72px 0 58px;background:radial-gradient(circle at 86% 10%,rgba(53,95,214,.12),transparent 28%),radial-gradient(circle at 7% 8%,rgba(200,79,69,.08),transparent 22%),linear-gradient(#fff,#f7f9fd)}
.story-hero-grid{display:grid;grid-template-columns:1.02fr .98fr;gap:50px;align-items:center}
.story-copy h1{font-size:clamp(2rem,3.15vw,3rem);line-height:1.08;letter-spacing:-.034em;margin:18px 0 20px;max-width:700px}
.story-copy h1 span{display:block;color:var(--red2);font-size:.72em;line-height:1.16;letter-spacing:-.024em;margin-top:.28em;max-width:680px}
.story-copy .lead{max-width:710px}
.story-panel{display:flex;flex-direction:column;gap:12px;min-width:0}
.story-panel-title{font-size:.76rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.story-tabs{display:flex;gap:6px;flex-wrap:wrap}
.story-tabs button{border:1px solid var(--line);background:#fff;color:var(--muted);padding:7px 10px;border-radius:999px;font-size:.69rem;font-weight:850;cursor:pointer;transition:background .15s,color .15s,border-color .15s;white-space:nowrap}
.story-tabs button.active{background:#1b1f26;color:#fff;border-color:#1b1f26}
.story-scene{height:var(--story-card-height,390px);min-height:390px}
.story-card{position:relative;width:100%;height:100%;min-height:0;outline:none}
.story-face{position:relative;width:100%;height:100%;min-height:0;border-radius:22px;border:1px solid var(--line);box-shadow:var(--shadow);overflow:hidden;display:flex;flex-direction:column;animation:storyFade .22s ease}
.story-front{background:#fff;padding:28px 26px;cursor:pointer}
.story-card.flipped .story-front{display:none}
@keyframes storyFade{from{opacity:.55;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}
.story-front-body{flex:1;display:flex;flex-direction:column;justify-content:center}
.story-moment{font-size:.75rem;font-weight:900;letter-spacing:.11em;text-transform:uppercase;color:var(--red2);margin-bottom:14px}
.story-front h3{font-size:1.65rem;line-height:1.14;letter-spacing:-.025em;margin-bottom:12px}
.story-front p{font-size:1rem;color:var(--muted);margin:0;max-width:48ch}
.story-open{color:var(--red2);font-weight:850;font-size:.94rem;margin-top:18px;padding-top:15px;border-top:1px solid var(--line2)}
.story-back{background:#fff;display:none;cursor:pointer}.story-card.flipped .story-back{display:flex}
.story-back-head{padding:15px 17px;background:#1b1f26;color:#fff;display:flex;justify-content:space-between;gap:12px;align-items:center}
.story-back-head strong{font-size:.94rem}.story-back-head span{font-size:.68rem;font-weight:850;padding:5px 8px;border-radius:999px;background:rgba(99,136,255,.18);color:#cbd8ff;white-space:nowrap}
.story-back-body{padding:15px 17px;overflow:visible;flex:1}
.story-back-closer{padding:12px 17px;border-top:1px solid var(--line2);font-weight:850;font-size:.9rem;background:#fafcff;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.story-sample-link{color:var(--blue2);font-weight:900;white-space:nowrap;text-decoration:none}.story-sample-link:hover{text-decoration:underline}
.story-read-row{display:grid;grid-template-columns:1fr auto;gap:14px;align-items:start;padding:11px 0;border-bottom:1px solid var(--line2)}
.story-read-row:last-child{border-bottom:0}.story-read-row small{display:block;color:var(--muted);font-size:.78rem;margin-top:2px}.story-read-row>strong{text-align:right;font-size:.9rem;max-width:190px}
.story-status{display:inline-flex;align-items:center;padding:5px 9px;border-radius:999px;font-size:.7rem;font-weight:900;white-space:nowrap}
.story-status.possible{background:var(--goldSoft);color:var(--gold)}.story-status.good{background:var(--greenSoft);color:var(--green)}.story-status.risk{background:var(--redSoft);color:var(--red2)}.story-status.neutral{background:var(--blueSoft);color:var(--blue2)}
.story-note{margin:12px 0 0;padding:11px 12px;border-radius:12px;background:#fafcff;border:1px solid var(--line2);font-size:.84rem;color:var(--muted)}
.story-note strong{color:var(--ink2)}
.story-question{margin-top:12px;padding:11px 12px;border-radius:12px;background:var(--redSoft);border:1px solid #ffd1cc;color:var(--red2);font-size:.84rem;font-weight:750}
.story-challenge-inline{margin-top:12px;border:1px solid #f1c3bd;border-radius:13px;padding:11px 12px;background:#fff8f7}
.story-challenge-inline button{border:0;background:transparent;color:var(--red2);font-weight:900;padding:0;cursor:pointer}
.story-challenge-response{display:none;margin-top:10px;color:var(--ink2);font-size:.82rem;line-height:1.45}.story-challenge-response>div{padding:7px 0}.story-challenge-divider{height:1px!important;padding:0!important;background:#ecd7d3;margin:2px 0}.story-challenge-next{margin-top:4px!important;padding:9px 10px!important;border-radius:9px;background:#fff;border:1px solid #efd4cf}.story-challenge-inline.open .story-challenge-response{display:block}
.story-principle{margin:14px 0 12px;padding:11px 14px;border-left:3px solid var(--red2);border-radius:0 11px 11px 0;background:#fff8f7;font-size:.9rem;line-height:1.4}.story-principle-link,.story-principle-action{border:0;background:transparent;padding:0;font:inherit;cursor:pointer}.story-principle-link{font-weight:900;color:var(--ink2);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}.story-principle-link:hover{color:var(--red2)}.story-principle span{color:var(--muted);margin-left:.25rem}.story-principle-action{display:inline;margin-left:.45rem;color:var(--red2);font-weight:900}.story-principle-action:hover{text-decoration:underline}.story-footer{display:flex;align-items:center;justify-content:center;gap:14px;flex-wrap:wrap}.story-dots{display:flex;gap:8px}.story-dots button{width:10px;height:10px;border:0;border-radius:50%;background:#cfd8e6;padding:0;cursor:pointer}.story-dots button.active{background:var(--red);transform:scale(1.2)}
.story-trust-link{font-weight:800;color:var(--blue2)}
.story-section{padding:74px 0}.story-section .section-head h2{font-size:clamp(1.8rem,2.8vw,2.55rem);line-height:1.12;letter-spacing:-.028em}.story-soft{background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.story-two-col{display:grid;grid-template-columns:.9fr 1.1fr;gap:42px;align-items:start}.story-section-head{margin-bottom:0}.story-philosophy{font-size:1.08rem!important;font-weight:850;color:var(--ink)!important}
.story-integrity{display:grid;grid-template-columns:1fr 1fr;gap:14px}.story-integrity article{background:#fff;border:1px solid var(--line);border-radius:17px;padding:19px}.story-integrity h3{font-size:1rem;margin-bottom:6px}.story-integrity p{font-size:.9rem;color:var(--muted);margin:0}
.story-thread{display:grid;grid-template-columns:1fr auto 1fr auto 1fr auto 1fr;gap:10px;align-items:stretch}.story-thread-step{display:flex;gap:11px;align-items:flex-start;background:#fff;border:1px solid var(--line);border-radius:17px;padding:16px}.story-thread-step>span{flex:0 0 31px;width:31px;height:31px;display:grid;place-items:center;border-radius:9px;background:var(--blueSoft);color:var(--blue2);font-weight:900}.story-thread-step small{display:block;color:var(--muted);font-weight:750;margin-bottom:4px}.story-thread-step strong{display:block;font-size:.93rem;line-height:1.35}.story-thread-arrow{display:grid;place-items:center;color:#aab4c4;font-size:1.2rem;font-weight:900}.story-thread-note{margin:16px 0 0;color:var(--muted);font-size:.9rem}
.story-proof-grid{display:grid;grid-template-columns:.82fr 1.18fr;gap:36px;align-items:center}.story-proof-links{display:flex;gap:12px;flex-wrap:wrap}.story-proof-shots{display:grid;grid-template-columns:1fr 1fr;gap:14px}.story-proof-shots figure{margin:0;background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden;box-shadow:0 12px 28px rgba(35,44,68,.07)}.story-proof-shots img{display:block;width:100%;height:auto;object-fit:contain}.story-proof-shots figcaption{padding:11px 13px;border-top:1px solid var(--line2);font-size:.82rem;color:var(--muted)}.story-proof-shots figcaption strong{color:var(--ink2)}
@media(max-width:1050px){.story-hero-grid,.story-two-col,.story-proof-grid{grid-template-columns:1fr}.story-hero-grid{gap:36px}.story-copy h1{max-width:850px}.story-thread{grid-template-columns:1fr}.story-thread-arrow{transform:rotate(90deg)}}
@media(max-width:760px){.story-hero{padding:48px 0 42px}.story-copy h1{font-size:clamp(1.9rem,8.2vw,2.45rem);line-height:1.09}.story-copy h1 span{font-size:.74em}.story-section .section-head h2{font-size:clamp(1.7rem,7.5vw,2.15rem)}.story-tabs{flex-wrap:nowrap;overflow-x:auto;padding-bottom:4px;scrollbar-width:thin}.story-tabs button{flex:0 0 auto}.story-scene{min-height:390px}.story-integrity,.story-proof-shots{grid-template-columns:1fr}.story-footer{align-items:flex-start;flex-direction:column}.story-section{padding:58px 0}}
@media(max-width:430px){.story-principle span{display:block;margin:.2rem 0 0}.story-scene{min-height:405px}.story-front{padding:24px 20px}.story-back-body{padding:13px 14px}.story-read-row{grid-template-columns:1fr}.story-read-row>strong{text-align:left;max-width:none}.story-back-closer{align-items:flex-start;flex-direction:column}.story-sample-link{white-space:normal}}
@media(prefers-reduced-motion:reduce){.story-face{animation:none}}


/* Interactive Challenge demo */
.challenge-demo-backdrop[hidden]{display:none}
.challenge-demo-backdrop{position:fixed;inset:0;z-index:9999;background:rgba(15,23,42,.56);display:grid;place-items:center;padding:22px}
.challenge-demo-dialog{width:min(860px,100%);max-height:calc(100vh - 44px);overflow:auto;background:#fff;border:1px solid var(--line);border-radius:22px;box-shadow:0 28px 80px rgba(15,23,42,.25);padding:24px}
.challenge-demo-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}
.challenge-demo-head h2{margin:5px 0 0;font-size:clamp(1.6rem,3vw,2.15rem);line-height:1.1}
.challenge-demo-close{width:42px;height:42px;display:grid;place-items:center;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--ink);font-size:1.65rem;line-height:1;cursor:pointer}
.challenge-demo-close:hover{background:#f7f9fd}
.challenge-demo-intro{margin:14px 0 18px;color:var(--muted);max-width:68ch}
.challenge-demo-finding{padding:15px 16px;border:1px solid #f1c3bd;border-left:4px solid var(--red2);border-radius:14px;background:#fff8f7}
.challenge-demo-finding strong{display:block;font-size:1rem;line-height:1.4}
.challenge-demo-label{font-size:.72rem;font-weight:900;text-transform:uppercase;letter-spacing:.09em;color:var(--muted);margin-bottom:5px}
.challenge-demo-columns{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:14px 0}
.challenge-demo-columns>div{padding:13px 14px;border:1px solid var(--line);border-radius:13px;background:#fafcff}
.challenge-demo-columns p{margin:0;color:var(--ink2);font-size:.9rem;line-height:1.45}
.challenge-demo-choice{border:0;padding:0;margin:17px 0 0}
.challenge-demo-choice legend{font-weight:900;margin-bottom:9px}
.challenge-demo-choice{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.challenge-demo-choice legend{grid-column:1/-1}
.challenge-demo-choice button{min-height:48px;border:1px solid #cfd8e6;border-radius:12px;background:#fff;color:var(--ink2);font-weight:850;padding:10px 12px;cursor:pointer;text-align:left}
.challenge-demo-choice button:hover,.challenge-demo-choice button.active{border-color:#5f6ff2;background:#f3f5ff;color:#223f9a}
.challenge-demo-workspace{margin-top:14px;padding:15px;border:1px solid var(--line);border-radius:14px;background:#fafcff}
.challenge-demo-workspace h3{font-size:1rem;margin:0 0 7px}
.challenge-demo-workspace p{margin:0 0 10px;color:var(--muted);font-size:.9rem}
.challenge-demo-workspace textarea{width:100%;min-height:104px;resize:vertical;border:1px solid #cfd8e6;border-radius:11px;padding:11px 12px;font:inherit;color:var(--ink2);background:#fff}
.challenge-demo-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:11px}
.challenge-demo-actions button{min-height:42px;border-radius:10px;padding:9px 13px;font-weight:850;cursor:pointer}
.challenge-demo-primary{background:var(--blue2);color:#fff;border:1px solid var(--blue2)}
.challenge-demo-secondary{background:#fff;color:var(--ink2);border:1px solid #cfd8e6}
.challenge-demo-result{margin-top:13px;padding:13px 14px;border-radius:12px;border:1px solid #bfe3c9;background:#f5fff8}
.challenge-demo-result strong{display:block;margin-bottom:4px}
.challenge-demo-next{margin-top:9px;padding:10px 11px;border-radius:10px;border:1px solid #dbe3ef;background:#fff}
.challenge-demo-question{margin-top:9px;padding:10px 11px;border-radius:10px;background:#eef4ff;color:#203d91}
.challenge-demo-foot{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-top:17px;padding-top:14px;border-top:1px solid var(--line2);font-size:.82rem;color:var(--muted)}
.challenge-demo-foot a{font-weight:900;color:var(--blue2)}
body.challenge-demo-open{overflow:hidden}
.story-measure-probe{position:absolute!important;visibility:hidden!important;pointer-events:none!important;left:-100000px!important;top:0!important;z-index:-1!important}
@media(max-width:700px){
  .challenge-demo-backdrop{padding:10px}
  .challenge-demo-dialog{max-height:calc(100vh - 20px);padding:18px}
  .challenge-demo-columns,.challenge-demo-choice{grid-template-columns:1fr}
  .challenge-demo-choice legend{grid-column:auto}
}
