/* Nòduls v0.8.0-alpha.20 · Home Story + Footer */
:root{
    --story-bg:#030a17;
    --story-bg-soft:#071126;
    --story-bg-elevated:#0a1530;
    --story-border:rgba(152,166,221,.17);
    --story-border-strong:rgba(171,181,236,.28);
    --story-text:#f6f7fc;
    --story-soft:#aeb7cd;
    --story-muted:#7e89a4;
    --story-accent:#8176ff;
    --story-accent-2:#56c9f2;
    --story-width:1400px;
}

.story-section{position:relative;padding:clamp(88px,9vw,148px) 0;color:var(--story-text)}
.story-shell{width:min(var(--story-width),calc(100% - 48px));margin-inline:auto}
.story-split{display:grid;grid-template-columns:minmax(0,.92fr) minmax(430px,1.08fr);align-items:center;gap:clamp(56px,8vw,130px)}
.story-split--reverse{grid-template-columns:minmax(430px,1.02fr) minmax(0,.98fr)}
.story-heading{max-width:760px;margin-bottom:clamp(32px,4.5vw,60px)}
.story-heading--center{margin-inline:auto;text-align:center}
.story-heading--center>p:last-child{margin-inline:auto}
.story-eyebrow{margin:0 0 16px;color:#aeb5ff;font-size:.7rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase}
.story-section h2{margin:0;color:#f8f9ff;font-family:Georgia,"Times New Roman",serif;font-size:clamp(1.95rem,3.25vw,3.45rem);font-weight:500;line-height:1.07;letter-spacing:-.034em}
.story-section h3{margin:0;color:#f7f8fe;font-size:1.02rem;line-height:1.35}
.story-section p{color:var(--story-soft);line-height:1.72}
.story-heading>p:last-child{max-width:680px;margin:17px 0 0;font-size:1rem}
.story-copy{max-width:690px}
.story-copy>p{margin:20px 0 0;font-size:.98rem}
.story-copy .story-lead{margin-top:26px;color:#d9deed;font-size:1.12rem;line-height:1.68}
.story-note{display:flex;align-items:flex-start;gap:12px;margin-top:28px;padding:16px 0;border-top:1px solid var(--story-border)}
.story-note span{width:7px;height:7px;margin-top:9px;flex:0 0 auto;border-radius:50%;background:#a89cff;box-shadow:0 0 14px rgba(168,156,255,.72)}
.story-note p{margin:0;color:#c9d0e3;font-size:.84rem}
.story-button{min-height:46px;display:inline-flex;align-items:center;justify-content:center;padding:0 21px;border:1px solid transparent;border-radius:.2rem;font-size:.8rem;font-weight:760;transition:transform .18s ease,border-color .18s ease,background .18s ease}
.story-button:hover,.story-button:focus-visible{transform:translateY(-2px);outline:none}
.story-button--primary{border-color:rgba(166,174,255,.33);background:linear-gradient(135deg,#5368ff,#7849dd);color:#fff;box-shadow:0 14px 34px rgba(74,79,224,.2)}
.story-button--light{background:#f5f6ff;color:#101629}
.story-button--ghost{border-color:rgba(240,242,255,.24);background:rgba(255,255,255,.04);color:#fff}
.story-text-link{display:inline-flex;align-items:center;gap:9px;margin-top:28px;color:#dce1ff;font-size:.8rem;font-weight:750}
.story-text-link span{transition:transform .18s ease}.story-text-link:hover span{transform:translate(2px,-2px)}

/* Intro */
.story-intro{padding-top:clamp(110px,11vw,176px);background:linear-gradient(180deg,var(--story-bg) 0%,#050d1d 100%)}
.story-flow{position:relative;display:grid;gap:14px;padding:34px;border:1px solid var(--story-border);border-radius:.2rem;background:linear-gradient(145deg,rgba(13,27,57,.78),rgba(5,13,29,.5));box-shadow:0 30px 90px rgba(0,0,0,.28)}
.story-flow::before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 80% 20%,rgba(90,109,255,.16),transparent 42%)}
.story-flow article{position:relative;z-index:1;display:grid;grid-template-columns:58px 1fr;gap:18px;align-items:center;padding:19px;border:1px solid rgba(169,179,235,.12);background:rgba(4,12,28,.62)}
.story-flow article>span{display:grid;place-items:center;width:46px;height:46px;border:1px solid rgba(174,181,255,.28);color:#b6b0ff;font-size:.68rem;font-weight:800}
.story-flow small{display:block;margin-bottom:5px;color:var(--story-muted);font-size:.61rem;font-weight:760;letter-spacing:.1em;text-transform:uppercase}
.story-flow strong{display:block;color:#fff;font-size:.96rem}
.story-flow p{margin:5px 0 0;font-size:.72rem;line-height:1.45}
.story-flow>i{width:1px;height:19px;margin:-5px 0 -5px 56px;background:linear-gradient(180deg,rgba(126,137,255,.6),rgba(81,202,242,.2))}

/* Capabilities */
.story-capabilities{background:#050b18}
.story-capability-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--story-border);border-bottom:1px solid var(--story-border)}
.story-capability-grid article{position:relative;min-height:280px;padding:34px 28px 32px;border-right:1px solid var(--story-border);transition:background .2s ease,transform .2s ease}
.story-capability-grid article:last-child{border-right:0}
.story-capability-grid article:hover{background:linear-gradient(180deg,rgba(49,65,132,.12),transparent)}
.story-index{display:block;margin-bottom:34px;color:rgba(193,206,255,.96);font-size:3rem;line-height:.9;font-weight:850;letter-spacing:-.05em;text-shadow:0 0 20px rgba(80,103,255,.08)}
.story-capability-grid h3{font-size:1.16rem}
.story-capability-grid p{margin:15px 0 0;font-size:.82rem}

/* Journey */
.story-process{overflow:hidden;background:linear-gradient(180deg,#071126 0%,#0a1430 52%,#071126 100%)}
.story-process::before{content:"";position:absolute;inset:8% -10% auto 44%;height:720px;pointer-events:none;background:radial-gradient(circle,rgba(82,99,255,.14),transparent 68%);filter:blur(20px)}
.story-process .story-heading{max-width:880px}
.story-journey{position:relative;display:grid;gap:0;margin:0;padding:0;list-style:none}
.story-journey::before{content:"";position:absolute;top:0;bottom:0;left:50%;width:1px;background:rgba(142,155,213,.2)}
.story-journey::after{content:"";position:absolute;top:0;left:50%;width:1px;height:var(--journey-progress,0%);background:linear-gradient(180deg,#8e82ff,#55c7f1);box-shadow:0 0 16px rgba(111,115,255,.4);transition:height .1s linear}
.story-journey li{position:relative;width:50%;min-height:174px;display:grid;grid-template-columns:78px 1fr;gap:16px;padding:20px 56px 20px 0}
.story-journey li:nth-child(even){margin-left:50%;padding:20px 0 20px 56px}
.story-journey li::after{content:"";position:absolute;top:36px;right:-6px;width:11px;height:11px;border:2px solid #7785dc;border-radius:50%;background:#09142d;z-index:2}
.story-journey li:nth-child(even)::after{right:auto;left:-6px}
.story-journey li>span{display:grid;place-items:center;width:60px;height:60px;border:1px solid rgba(168,178,231,.22);background:linear-gradient(180deg,rgba(18,28,58,.86),rgba(7,16,35,.8));color:#d8deff;font-size:.94rem;font-weight:850;box-shadow:0 16px 34px rgba(30,45,108,.22)}
.story-journey small{display:block;margin:0 0 6px;color:#8090b1;font-size:.61rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.story-journey h3{font-size:1.13rem}
.story-journey p{margin:9px 0 0;font-size:.81rem}
.story-inline-cta{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:42px;padding:25px 0;border-top:1px solid var(--story-border)}
.story-inline-cta p{margin:0;color:#dce1f0;font-size:.96rem}

/* Principle */
.story-principle{background:#050b18}
.story-chain{display:grid;grid-template-columns:1fr;gap:9px;max-width:520px;padding:34px;border:1px solid var(--story-border);background:linear-gradient(150deg,rgba(12,25,54,.75),rgba(4,11,25,.65))}
.story-chain article{display:grid;grid-template-columns:48px 1fr;align-items:center;gap:17px;padding:15px 17px;border:1px solid rgba(160,171,223,.12);background:rgba(6,15,33,.7)}
.story-chain article span{display:grid;place-items:center;width:38px;height:38px;border:1px solid rgba(158,168,255,.28);color:#aaa2ff;font-size:.65rem;font-weight:800}
.story-chain strong{font-size:.8rem}
.story-chain i{width:1px;height:16px;margin:-4px 0 -4px 52px;background:linear-gradient(180deg,#776cff,rgba(83,201,242,.35))}
.story-checks{display:grid;gap:12px;margin:28px 0 0;padding:0;list-style:none}
.story-checks li{position:relative;padding-left:23px;color:#c9d0e2;font-size:.84rem;line-height:1.5}
.story-checks li::before{content:"";position:absolute;left:0;top:.58em;width:8px;height:8px;border:1px solid #8e85ff;background:rgba(142,133,255,.15)}

/* Graph explainer */
.story-graph-explainer{background:linear-gradient(135deg,#091329 0%,#0a1530 52%,#0d1838 100%)}
.story-network{position:relative;min-height:520px;display:grid;place-items:center;isolation:isolate}
.story-network--real{overflow:hidden;align-items:center;width:min(760px,100%);min-height:auto;margin:0;justify-self:center;padding:16px;border:1px solid rgba(165,178,235,.14);background:linear-gradient(180deg,rgba(11,21,48,.88),rgba(7,15,34,.94));box-shadow:0 32px 90px rgba(8,14,32,.34)}
.story-network--real::before{content:"";position:absolute;inset:-8% -6% auto auto;width:360px;height:360px;border-radius:50%;background:radial-gradient(circle,rgba(107,96,255,.22),transparent 68%);pointer-events:none}
.story-network--real img{position:relative;z-index:1;display:block;width:100%;height:auto;border:1px solid rgba(141,156,219,.10);object-fit:cover;box-shadow:0 18px 54px rgba(8,14,32,.26);filter:saturate(1.04) brightness(1.03)}
.story-network__badge{position:absolute;left:34px;bottom:30px;z-index:2;display:grid;gap:4px;max-width:280px;padding:14px 16px;border:1px solid rgba(170,181,235,.22);background:rgba(7,16,35,.76);backdrop-filter:blur(10px);box-shadow:0 18px 48px rgba(6,14,31,.34)}
.story-network__badge strong{color:#f0f3ff;font-size:1rem;font-weight:780}
.story-network__badge span{color:#aeb7d3;font-size:.72rem;line-height:1.45}

/* Output */
.story-output{background:#050b18}
.story-document{position:relative;width:min(520px,100%);min-height:620px;margin-inline:auto;padding:34px;border:1px solid var(--story-border-strong);background:linear-gradient(180deg,#f8f8fb,#e8ebf3);color:#11182b;box-shadow:0 34px 100px rgba(0,0,0,.32);transform:rotate(-1.5deg)}
.story-document::after{content:"";position:absolute;inset:12px;border:1px solid rgba(22,38,72,.09);pointer-events:none}
.story-document__top{display:flex;align-items:center;justify-content:space-between;padding-bottom:24px;border-bottom:1px solid rgba(26,42,75,.13)}
.story-document__top span{font-size:1.05rem;font-weight:850}.story-document__top small{color:#5f6b83;font-size:.62rem;letter-spacing:.08em;text-transform:uppercase}
.story-document__title{width:68%;height:22px;margin:38px 0 16px;background:#17213b}
.story-document__meta{display:flex;gap:8px}.story-document__meta span{width:72px;height:9px;background:#c4cad8}
.story-document__section{display:grid;grid-template-columns:42px 1fr;gap:16px;margin-top:38px;padding-top:20px;border-top:1px solid rgba(26,42,75,.12)}
.story-document__section strong{font-size:.66rem}.story-document__section i{grid-column:2;height:8px;background:#c8cedb}.story-document__section i:last-child{width:72%}
.story-document__map{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin-top:45px;padding:22px;background:#dfe4ef}.story-document__map span{height:64px;background:linear-gradient(180deg,#6979e7,#4a5cc9)}
.story-output-list{display:grid;grid-template-columns:1fr 1fr;gap:0;margin-top:30px;border-top:1px solid var(--story-border)}
.story-output-list span{position:relative;padding:15px 14px 15px 22px;border-bottom:1px solid var(--story-border);color:#cbd2e4;font-size:.77rem;line-height:1.4}
.story-output-list span::before{content:"";position:absolute;left:0;top:21px;width:7px;height:7px;background:#8479ff}

/* Audiences */
.story-audiences{background:#071126}
.story-audience-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.story-audience-grid article{min-height:220px;padding:28px;border:1px solid var(--story-border);background:rgba(6,14,31,.55)}
.story-audience-grid article span{display:block;color:#f0f2fb;font-size:.86rem;font-weight:760}.story-audience-grid p{margin:52px 0 0;font-size:.79rem}

/* Roadmap */
.story-roadmap{overflow:hidden;background:linear-gradient(145deg,#0b1633,#121a40 58%,#091329)}
.story-roadmap::before{content:"";position:absolute;right:-18%;bottom:-45%;width:720px;height:720px;border-radius:50%;background:radial-gradient(circle,rgba(112,91,255,.18),transparent 68%)}
.story-roadmap .story-heading{max-width:990px}
.story-stage-line{position:relative;display:grid;grid-template-columns:1fr 90px 1fr 90px 1fr;align-items:stretch}
.story-stage-line>i{align-self:center;height:1px;background:linear-gradient(90deg,rgba(114,128,207,.3),rgba(97,202,238,.65),rgba(114,128,207,.3))}
.story-stage-line article{min-height:250px;padding:28px;border:1px solid rgba(164,176,229,.17);background:rgba(5,13,29,.45)}
.story-stage-line article.is-active{border-color:rgba(169,161,255,.54);background:linear-gradient(180deg,rgba(102,92,255,.18),rgba(5,13,29,.55));box-shadow:0 18px 60px rgba(53,47,167,.2)}
.story-stage-line article>span{display:block;margin-bottom:26px;color:rgba(207,217,255,.96);font-size:3rem;line-height:.9;font-weight:850;letter-spacing:-.05em;text-shadow:0 0 22px rgba(80,103,255,.08)}.story-stage-line small{display:block;margin:0 0 10px;color:#9b91ff;font-size:.62rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.story-stage-line strong{font-family:Georgia,"Times New Roman",serif;font-size:2.05rem;font-weight:500}.story-stage-line p{margin:16px 0 0;font-size:.76rem}

/* Transparency */
.story-transparency{background:#050b18}
.story-transparency-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.story-transparency-grid article{min-height:270px;padding:30px;border:1px solid var(--story-border);background:linear-gradient(180deg,rgba(15,29,61,.64),rgba(5,13,29,.5))}
.story-transparency-grid article>span{display:block;margin-bottom:72px;color:#8f9ab6;font-size:.61rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.story-transparency-grid h3{font-size:1.08rem}.story-transparency-grid p{margin:15px 0 0;font-size:.79rem}

/* FAQ */
.story-faq{background:#071126}
.story-faq .story-split{align-items:start}
.story-faq-list{border-top:1px solid var(--story-border)}
.story-faq-list details{border-bottom:1px solid var(--story-border)}
.story-faq-list summary{position:relative;padding:22px 44px 22px 0;color:#eef1fa;font-size:.85rem;font-weight:700;cursor:pointer;list-style:none}
.story-faq-list summary::-webkit-details-marker{display:none}.story-faq-list summary::after{content:"+";position:absolute;right:4px;top:18px;color:#a9b3ca;font-size:1.3rem;font-weight:400}.story-faq-list details[open] summary::after{content:"−"}
.story-faq-list details p{margin:0;padding:0 44px 23px 0;font-size:.79rem}

/* Final CTA + footer */
.story-final-cta{padding-top:clamp(100px,12vw,180px);padding-bottom:90px;background:#050b18}
.story-final-cta__panel{position:relative;overflow:hidden;display:flex;align-items:flex-end;justify-content:space-between;gap:50px;min-height:390px;padding:clamp(38px,6vw,82px);border:1px solid rgba(170,180,235,.24);background:linear-gradient(135deg,#101b42,#0b1430 60%,#151b4b)}
.story-final-cta__panel::before{content:"";position:absolute;inset:auto -8% -66% 34%;height:560px;border-radius:50%;background:radial-gradient(circle,rgba(95,91,255,.35),rgba(62,122,241,.14) 38%,transparent 70%)}
.story-final-cta__panel>div{position:relative;z-index:1}.story-final-cta__panel h2{max-width:760px}.story-final-cta__panel p:not(.story-eyebrow){max-width:670px;margin:21px 0 0}.story-final-cta__actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}
.story-footer{padding:70px 0 28px;border-top:1px solid var(--story-border);background:#030812;color:#fff}
.story-footer__grid{display:grid;grid-template-columns:minmax(300px,1.4fr) repeat(3,minmax(150px,.6fr));gap:clamp(38px,6vw,90px)}
.story-footer__brand img{width:210px;max-height:54px;object-fit:contain;object-position:left center}.story-footer__brand>p{max-width:390px;margin:22px 0 0;color:#9fa9bf;font-size:.8rem;line-height:1.65}.story-footer__status{display:grid;gap:5px;margin-top:24px}.story-footer__status span{color:#e9ebf5;font-size:.72rem;font-weight:760}.story-footer__status small{color:#77839d;font-size:.65rem}
.story-footer nav{display:flex;flex-direction:column;gap:12px}.story-footer nav strong{margin-bottom:8px;color:#eef1fb;font-size:.7rem;letter-spacing:.1em;text-transform:uppercase}.story-footer nav a{color:#8e99b2;font-size:.72rem;transition:color .18s ease}.story-footer nav a:hover{color:#fff}
.story-footer__bottom{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:64px;padding-top:22px;border-top:1px solid var(--story-border)}.story-footer__bottom p{margin:0;color:#6f7b93;font-size:.64rem}

/* Reveal */
[data-reveal]{opacity:0;transform:translateY(26px);transition:opacity .65s ease,transform .65s ease}
[data-reveal].is-visible{opacity:1;transform:translateY(0)}

@media(max-width:1150px){
    .story-split,.story-split--reverse{grid-template-columns:1fr;gap:56px}
    .story-flow,.story-chain,.story-document{width:min(720px,100%);max-width:none}
    .story-capability-grid,.story-audience-grid{grid-template-columns:repeat(2,1fr)}
    .story-capability-grid article:nth-child(2){border-right:0}.story-capability-grid article:nth-child(-n+2){border-bottom:1px solid var(--story-border)}
    .story-stage-line{grid-template-columns:1fr;gap:12px}.story-stage-line>i{width:1px;height:28px;margin-inline:auto}
    .story-final-cta__panel{align-items:flex-start;flex-direction:column}.story-final-cta__actions{justify-content:flex-start}
    .story-footer__grid{grid-template-columns:1.2fr repeat(2,1fr)}.story-footer__brand{grid-row:span 2}
}
@media(max-width:820px){
    .story-shell{width:calc(100% - 30px)}
    .story-section{padding:78px 0}
    .story-section h2{font-size:clamp(1.8rem,7.4vw,2.8rem)}
    .story-journey::before,.story-journey::after{left:26px}
    .story-journey li,.story-journey li:nth-child(even){width:100%;margin-left:0;padding:18px 0 18px 72px;grid-template-columns:1fr;min-height:auto}
    .story-journey li::after,.story-journey li:nth-child(even)::after{left:22px;right:auto;top:34px}
    .story-journey li>span{width:52px;height:52px;font-size:.86rem}
    .story-output-list{grid-template-columns:1fr}
    .story-transparency-grid{grid-template-columns:1fr}
    .story-transparency-grid article{min-height:210px}.story-transparency-grid article>span{margin-bottom:42px}
    .story-footer__grid{grid-template-columns:1fr 1fr}.story-footer__brand{grid-column:1/-1;grid-row:auto}
    .story-footer__bottom{align-items:flex-start;flex-direction:column}
}
@media(max-width:560px){
    .story-capability-grid,.story-audience-grid{grid-template-columns:1fr}
    .story-capability-grid article{border-right:0;border-bottom:1px solid var(--story-border)}.story-capability-grid article:last-child{border-bottom:0}.story-capability-grid article:nth-child(-n+2){border-bottom:1px solid var(--story-border)}
    .story-flow{padding:16px}.story-flow article{grid-template-columns:44px 1fr;padding:14px}.story-flow article>span{width:38px;height:38px}.story-flow>i{margin-left:35px}
    .story-document{min-height:520px;padding:24px}.story-document__map{grid-template-columns:repeat(2,1fr)}
    .story-network{min-height:400px}.story-network--real{min-height:360px;padding:12px}.story-network__badge{left:18px;right:18px;bottom:18px;max-width:none}
    .story-inline-cta{align-items:flex-start;flex-direction:column}
    .story-final-cta__panel{padding:32px 24px}.story-final-cta__actions{width:100%}.story-final-cta__actions .story-button{width:100%}
    .story-footer__grid{grid-template-columns:1fr}.story-footer__brand{grid-column:auto}
}
@media(prefers-reduced-motion:reduce){[data-reveal]{opacity:1;transform:none;transition:none}.story-button,.story-text-link span{transition:none}}
