/* ============================================================
   2 Keys — V3 shared styles
   Consolidated from per-page inline <style> blocks.
   Class names are page-scoped by prefix, no collisions:
   Home: .stepn / .htable / .cc   Solutions: .sol-*
   Platform: .pf-*   Resources: .res-*   About: .ab-*
   ============================================================ */

/* ── Home (index) ── */
.stepn{font-family:'Bebas Neue',sans-serif;color:#A1D1D9;letter-spacing:.04em;margin-right:.15em;opacity:.9}
.cc .cl{display:inline-flex;align-items:center;gap:.45em}
.cc-ic{width:15px;height:15px;flex:0 0 auto}
.htable-wrap{overflow-x:auto;margin-top:1.2rem}
.htable{width:100%;border-collapse:collapse;font-family:'DM Sans',sans-serif;min-width:640px}
.htable th,.htable td{text-align:left;padding:.7rem .85rem;vertical-align:top;border-bottom:1px solid rgba(161,209,217,.16)}
.htable th{font-family:'Montserrat',sans-serif;font-size:.64rem;letter-spacing:.12em;text-transform:uppercase;color:#A1D1D9;font-weight:700}
.htable td{font-size:.82rem;line-height:1.45;color:rgba(244,244,240,.88)}
.htable td:first-child{font-weight:600;color:#fff;white-space:nowrap}
@media(max-width:700px){.htable td{font-size:.76rem}.htable th,.htable td{padding:.5rem .55rem}}

/* ── Solutions ── */
.sol-hero{max-width:1120px;margin:0 auto;padding:8.5rem 5vw 3rem;text-align:left;}
.sol-hero .tag{display:inline-block;font-family:'Montserrat',sans-serif;font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;color:var(--nvy);margin-bottom:1.2rem;font-weight:600;}
.sol-hero h1{font-family:'Bebas Neue',sans-serif;font-size:clamp(3.4rem,8vw,6.5rem);line-height:.9;color:var(--nvy);margin:0 0 1.2rem;}
.sol-hero h1 em{color:var(--tel);font-style:normal;}
.sol-hero .subtitle{font-family:'DM Sans',sans-serif;font-size:1.05rem;line-height:1.6;color:var(--ink,#1E3A4A);max-width:560px;margin:0;}
@media(max-width:860px){.sol-hero{padding-top:6.5rem;}}
.sol-sec{max-width:1200px;margin:0 auto;padding:2rem 5vw 5rem;}
.sol-sec .lbl{display:block;font-family:'Montserrat',sans-serif;font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;color:var(--nvy);margin-bottom:.7rem;font-weight:600;}
.sol-sec h2{font-family:'Bebas Neue',sans-serif;font-size:clamp(2rem,4.5vw,3.4rem);line-height:.95;color:var(--nvy);margin:0 0 2.5rem;}
.sol-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.4rem;}
@media(max-width:760px){.sol-grid{grid-template-columns:1fr;}}
.sol-card{display:block;text-decoration:none;color:inherit;background:#fff;border:1px solid var(--sand,#E8E4DD);border-radius:18px;padding:2rem 1.9rem;transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease;}
.sol-card:hover{transform:translateY(-4px);box-shadow:0 18px 44px rgba(37,70,88,.12);border-color:var(--tel);}
.sol-card .num{font-family:'Bebas Neue',sans-serif;font-size:1.3rem;color:var(--tel);letter-spacing:.05em;}
.sol-card h3{font-family:'Montserrat',sans-serif;font-size:1.18rem;font-weight:700;color:var(--nvy);margin:.4rem 0 .7rem;}
.sol-card p{font-family:'DM Sans',sans-serif;font-size:.98rem;line-height:1.6;color:var(--ink,#1E3A4A);margin:0;}
.sol-contact{background:var(--nvy);color:var(--wht,#F4F4F0);}
.sol-contact-in{max-width:1100px;margin:0 auto;padding:5rem 5vw;}
.sol-contact .lbl{display:block;font-family:'Montserrat',sans-serif;font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;color:var(--tel);margin-bottom:.7rem;font-weight:600;}
.sol-contact h2{font-family:'Bebas Neue',sans-serif;font-size:clamp(2rem,4.5vw,3.4rem);line-height:.95;color:var(--wht,#F4F4F0);margin:0 0 1.2rem;}
.sol-contact .lead{font-family:'DM Sans',sans-serif;font-size:1.05rem;line-height:1.6;max-width:520px;margin:0 0 2rem;color:rgba(244,244,240,.85);}
.sol-contact .btnp{display:inline-flex;align-items:center;gap:.5rem;background:var(--tel);color:var(--blk,#060C10);font-family:'Montserrat',sans-serif;font-weight:700;font-size:.9rem;letter-spacing:.02em;padding:.95rem 1.7rem;border-radius:40px;text-decoration:none;border:none;cursor:pointer;transition:background .25s ease;}
.sol-contact .btnp:hover{background:var(--tl2,#7CBDC7);}
.sol-ccards{display:flex;flex-wrap:wrap;gap:2.2rem;margin-top:2.6rem;}
.sol-cc{display:flex;flex-direction:column;gap:.35rem;}
.sol-cc .cl{display:inline-flex;align-items:center;gap:.45em;font-family:'Montserrat',sans-serif;font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;color:var(--tel);}
.sol-cc a{color:var(--wht,#F4F4F0);text-decoration:none;font-family:'DM Sans',sans-serif;font-size:1rem;}
.sol-cc a:hover{color:var(--tel);}

/* ── Platform ── */
.pf-hero{display:grid;grid-template-columns:1fr 1.05fr;gap:3rem;align-items:center;max-width:1200px;margin:0 auto;padding:9rem 5vw 4rem;}
.pf-hero .tag{display:inline-block;font-family:'Montserrat',sans-serif;font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;color:var(--nvy);margin-bottom:1.2rem;font-weight:600;}
.pf-hero h1{font-family:'Bebas Neue',sans-serif;font-size:clamp(3.4rem,8vw,6.5rem);line-height:.9;color:var(--nvy);margin:0 0 1rem;}
.pf-hero h1 em{color:var(--tel);font-style:normal;}
.pf-hero .subh{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:clamp(1.2rem,2.2vw,1.7rem);color:var(--ink,#1E3A4A);max-width:440px;line-height:1.4;}
.pf-hgrid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;}
.pf-hbox{background:var(--warm,#F0EDE8);border:1px solid var(--sand,#E8E4DD);border-radius:14px;padding:1.3rem 1.3rem;opacity:0;transform:translateY(14px);animation:pfIn .6s ease forwards;}
.pf-hbox:nth-child(1){animation-delay:.05s}.pf-hbox:nth-child(2){animation-delay:.2s}.pf-hbox:nth-child(3){animation-delay:.35s}.pf-hbox:nth-child(4){animation-delay:.5s}
@keyframes pfIn{to{opacity:1;transform:translateY(0);}}
.pf-hbox h3{display:flex;align-items:center;gap:.5rem;font-family:'Montserrat',sans-serif;font-size:.98rem;font-weight:700;color:var(--nvy);margin:0 0 .5rem;}
.pf-hbox h3::before{content:'';width:8px;height:8px;border-radius:50%;background:var(--tel);flex:0 0 auto;}
.pf-hbox p{font-family:'DM Sans',sans-serif;font-size:.85rem;line-height:1.55;color:var(--ink,#1E3A4A);margin:0;}
@media(max-width:860px){.pf-hero{grid-template-columns:1fr;gap:2rem;padding-top:6.5rem;}}
@media(max-width:460px){.pf-hgrid{grid-template-columns:1fr;}}
.pf-feat{max-width:1200px;margin:0 auto;padding:2rem 5vw 4rem;}
.pf-feat .lbl{display:block;font-family:'Montserrat',sans-serif;font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;color:var(--nvy);margin-bottom:.7rem;font-weight:600;}
.pf-feat h2{font-family:'Bebas Neue',sans-serif;font-size:clamp(2rem,4.5vw,3.4rem);line-height:.95;color:var(--nvy);margin:0 0 2rem;max-width:900px;}
.pf-track{display:flex;gap:1.4rem;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:1rem;-webkit-overflow-scrolling:touch;}
.pf-track::-webkit-scrollbar{height:6px;}
.pf-track::-webkit-scrollbar-thumb{background:var(--sand,#E8E4DD);border-radius:6px;}
.pf-box{scroll-snap-align:start;flex:0 0 300px;background:#fff;border:1px solid var(--sand,#E8E4DD);border-radius:18px;padding:1.9rem 1.7rem;transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease;}
.pf-box:hover{transform:translateY(-4px);box-shadow:0 18px 44px rgba(37,70,88,.12);border-color:var(--tel);}
.pf-ic{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:rgba(161,209,217,.16);border-radius:12px;margin-bottom:1rem;}
.pf-ic svg{width:22px;height:22px;}
.pf-box h3{font-family:'Montserrat',sans-serif;font-size:1.05rem;font-weight:700;color:var(--nvy);margin:0 0 .6rem;}
.pf-box p{font-family:'DM Sans',sans-serif;font-size:.92rem;line-height:1.55;color:var(--ink,#1E3A4A);margin:0;}
.pf-hint{font-family:'Montserrat',sans-serif;font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-light,#3D6B7D);margin-top:.9rem;}
.pf-cta-wrap{max-width:1200px;margin:0 auto;padding:1rem 5vw;}
.pf-lbl{display:block;font-family:'Montserrat',sans-serif;font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;color:var(--nvy);margin-bottom:.4rem;font-weight:600;}
.pf-cta-h{font-family:'Bebas Neue',sans-serif;font-size:clamp(1.8rem,4vw,3rem);line-height:.95;color:var(--nvy);margin:0 0 1.4rem;}
.pf-panel{background:var(--nvy);border-radius:20px;padding:3rem 2.6rem;color:var(--wht,#F4F4F0);}
.pf-panel h3{font-family:'Bebas Neue',sans-serif;font-size:clamp(1.8rem,3.6vw,2.8rem);line-height:1;margin:0 0 .6rem;color:var(--wht,#F4F4F0);}
.pf-panel p{font-family:'DM Sans',sans-serif;font-size:1rem;line-height:1.6;color:rgba(244,244,240,.85);margin:0 0 1.6rem;max-width:560px;}
.pf-panel .btnp{display:inline-flex;align-items:center;gap:.5rem;background:var(--tel);color:var(--blk,#060C10);font-family:'Montserrat',sans-serif;font-weight:700;font-size:.85rem;letter-spacing:.03em;text-transform:uppercase;padding:.85rem 1.7rem;border-radius:40px;text-decoration:none;transition:background .25s ease;}
.pf-panel .btnp:hover{background:var(--tl2,#7CBDC7);}
.pf-sales{background:var(--blk,#060C10);color:var(--wht,#F4F4F0);margin-top:3rem;}
.pf-sales-in{max-width:820px;margin:0 auto;padding:5rem 5vw;text-align:center;}
.pf-sales .lbl{display:block;font-family:'Montserrat',sans-serif;font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;color:var(--tel);margin-bottom:.7rem;font-weight:600;}
.pf-sales h2{font-family:'Bebas Neue',sans-serif;font-size:clamp(2rem,4.5vw,3.4rem);line-height:.95;color:var(--wht,#F4F4F0);margin:0 0 1rem;}
.pf-sales p{font-family:'DM Sans',sans-serif;font-size:1.05rem;line-height:1.6;color:rgba(244,244,240,.8);max-width:560px;margin:0 auto 2rem;}
#apollo-forms{max-width:560px;margin:0 auto;text-align:left;}

/* ── Resources: Knowledge Hub ── */
.res-hero{max-width:1120px;margin:0 auto;padding:8.5rem 5vw 1rem;}
.res-tag{display:block;font-family:'Montserrat',sans-serif;font-size:.72rem;letter-spacing:.25em;text-transform:uppercase;color:var(--tel,#7CBDC7);font-weight:600;margin-bottom:1rem;}
.res-h1{font-family:'Bebas Neue',sans-serif;font-size:clamp(3.4rem,8vw,6.5rem);line-height:.88;color:var(--nvy,#254658);margin:0 0 1.2rem;}
.res-h1 em{font-style:normal;color:var(--tel,#A1D1D9);}
.res-sub{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:clamp(1.1rem,1.6vw,1.35rem);color:var(--ink,#1E3A4A);max-width:560px;margin:0;line-height:1.6;}
.res-menu{display:flex;flex-wrap:wrap;gap:1rem;justify-content:flex-start;margin-top:2.2rem;position:relative;z-index:5;}
.res-tile{background:var(--warm,#F0EDE8);border:1px solid var(--sand,#E8E4DD);border-radius:10px;padding:1rem 2rem;font-family:'Montserrat',sans-serif;font-size:.82rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--nvy,#254658);cursor:pointer;transition:background .25s ease,border-color .25s ease,transform .25s ease;}
.res-tile:hover{background:var(--sand,#E8E4DD);border-color:var(--tel,#A1D1D9);transform:translateY(-2px);}
#res-articles{position:relative;z-index:1;padding-top:1rem;}
#res-articles .cover-card{margin-top:0;}
.res-cat{display:none;}
.res-cat.active{display:block;}
.res-back{display:none;align-items:center;gap:1rem;max-width:820px;margin:0 auto 1.5rem;padding:0 2rem;position:relative;z-index:6;}
.res-back.show{display:flex;}
.res-back button{background:none;border:none;cursor:pointer;font-family:'Montserrat',sans-serif;font-size:.74rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--nvy,#254658);padding:0;}
.res-back button:hover{color:var(--tl2,#7CBDC7);}
.res-back .res-cat-title{font-family:'Montserrat',sans-serif;font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--tel,#7CBDC7);}
.res-empty{max-width:640px;margin:2rem auto 4rem;text-align:center;padding:3rem 2rem;}
.res-empty .lbl{display:block;font-family:'Montserrat',sans-serif;font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;color:var(--nvy,#254658);margin-bottom:.6rem;font-weight:600;}
.res-empty h2{font-family:'Bebas Neue',sans-serif;font-size:clamp(2rem,5vw,3.2rem);color:var(--nvy,#254658);margin:0 0 1rem;}
.res-empty p{font-family:'DM Sans',sans-serif;color:var(--ink,#1E3A4A);line-height:1.6;margin:0;}
.res-linkedin{background:var(--nvy,#254658);color:var(--wht,#F4F4F0);}
.res-li-in{max-width:800px;margin:0 auto;padding:4rem 5vw;text-align:center;}
.res-li-in .lbl{display:block;font-family:'Montserrat',sans-serif;font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;color:var(--tel,#A1D1D9);margin-bottom:.6rem;font-weight:600;}
.res-li-in h2{font-family:'Bebas Neue',sans-serif;font-size:clamp(2rem,4.5vw,3.2rem);color:var(--wht,#F4F4F0);margin:0 0 .8rem;}
.res-li-in p{font-family:'DM Sans',sans-serif;color:rgba(244,244,240,.85);line-height:1.6;margin:0 0 1.8rem;}

/* ── About ── */
.ab-sec{max-width:1120px;margin:0 auto;padding:3rem 5vw;}
.ab-sec:first-of-type{padding-top:8.5rem;}
.ab-lbl{display:block;font-family:'Montserrat',sans-serif;font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;color:var(--nvy);margin-bottom:.7rem;font-weight:600;}
.ab-h1{font-family:'Bebas Neue',sans-serif;font-size:clamp(3rem,7vw,5.5rem);line-height:.9;color:var(--nvy);margin:0 0 1.6rem;}
.ab-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:3rem;align-items:start;}
@media(max-width:860px){.ab-grid{grid-template-columns:1fr;gap:1.6rem;}}
.ab-mission-tag{font-family:'Montserrat',sans-serif;font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:var(--tel);font-weight:600;}
.ab-h2{font-family:'Bebas Neue',sans-serif;font-size:clamp(1.8rem,3.6vw,2.9rem);line-height:1;color:var(--nvy);margin:.4rem 0 1.2rem;}
.ab-p{font-family:'DM Sans',sans-serif;font-size:1.02rem;line-height:1.7;color:var(--ink,#1E3A4A);margin:0 0 1.2rem;}
.ab-keys{background:var(--warm,#F0EDE8);border:1px solid var(--sand,#E8E4DD);border-radius:16px;padding:1.6rem 1.7rem;}
.ab-keys h3{font-family:'Montserrat',sans-serif;font-size:1rem;font-weight:700;color:var(--nvy);margin:0 0 .6rem;}
.ab-keys p{font-family:'DM Sans',sans-serif;font-size:.98rem;line-height:1.65;color:var(--ink,#1E3A4A);margin:0;}
.ab-video{margin-top:2.5rem;border-radius:20px;overflow:hidden;background:var(--blk,#060C10);box-shadow:0 22px 60px rgba(6,12,16,.18);}
.ab-video video{display:block;width:100%;height:auto;}
.ab-founder{background:var(--warm,#F0EDE8);}
.ab-founder-in{max-width:1120px;margin:0 auto;padding:4.5rem 5vw;display:grid;grid-template-columns:.85fr 1.15fr;gap:3rem;align-items:start;}
@media(max-width:860px){.ab-founder-in{grid-template-columns:1fr;gap:1.8rem;}}
.ab-photo{width:100%;border-radius:18px;background:var(--nvy);aspect-ratio:4/5;object-fit:cover;display:block;box-shadow:0 18px 44px rgba(37,70,88,.2);}
.ab-founder-body h3{font-family:'Montserrat',sans-serif;font-weight:700;color:var(--nvy);font-size:1.05rem;margin:1.3rem 0 .35rem;}
.ab-founder-body p{font-family:'DM Sans',sans-serif;font-size:1rem;line-height:1.65;color:var(--ink,#1E3A4A);margin:0;}
.ab-name{font-family:'Bebas Neue',sans-serif;font-size:2.2rem;color:var(--nvy);line-height:1;margin:0;}
.ab-role{font-family:'Montserrat',sans-serif;font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-light,#3D6B7D);margin:.3rem 0 1rem;}
.ab-li{display:inline-flex;align-items:center;gap:.5rem;font-family:'Montserrat',sans-serif;font-size:.82rem;font-weight:600;color:var(--nvy);text-decoration:none;margin-top:1.2rem;}
.ab-li:hover{color:var(--tl2,#7CBDC7);}
.ab-li svg{width:18px;height:18px;}
.ab-partner{background:var(--nvy);color:var(--wht,#F4F4F0);}
.ab-partner-in{max-width:1120px;margin:0 auto;padding:5rem 5vw;display:grid;grid-template-columns:.8fr 1.2fr;gap:3rem;align-items:center;}
@media(max-width:860px){.ab-partner-in{grid-template-columns:1fr;gap:1.6rem;}}
.ab-partner h2{font-family:'Bebas Neue',sans-serif;font-size:clamp(2.4rem,5vw,4rem);line-height:.9;color:var(--wht,#F4F4F0);margin:0;}
.ab-partner .ab-lbl{color:var(--tel);}
.ab-pcard h3{font-family:'Montserrat',sans-serif;font-weight:700;font-size:1.05rem;color:var(--tel);margin:0 0 .5rem;}
.ab-pcard p{font-family:'DM Sans',sans-serif;font-size:1rem;line-height:1.65;color:rgba(244,244,240,.85);margin:0 0 1.8rem;}
.ab-pcard a{color:var(--wht,#F4F4F0);text-decoration:underline;}
