:root{--ink:#111d37;--ink2:#24334f;--muted:#64718a;--paper:#fff;--bg:#fbfbfe;--line:#e8ebf4;--violet:#7354df;--teal:#21becb;--gold:#e5ae3b;--lilac:#987cf3;--shadow:0 18px 54px rgba(29,47,98,.075);--max:1260px}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:110px}
body{margin:0;color:var(--ink);background:var(--bg);font-family:Inter,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:inherit;text-decoration:none}
button{font:inherit;cursor:pointer}
button:focus-visible,a:focus-visible{outline:3px solid var(--teal);outline-offset:4px}
button:focus:not(:focus-visible){outline:0}
.wrap{width:min(var(--max),calc(100% - 72px));margin-inline:auto}
.skip-link{position:fixed;z-index:300;left:16px;top:-100px;padding:12px 18px;background:white;color:var(--ink);border-radius:9px}.skip-link:focus{top:12px}
.site-header{position:sticky;top:0;z-index:100;background:rgba(252,252,255,.86);border-bottom:1px solid rgba(230,234,245,.85);backdrop-filter:blur(22px)}
.nav-shell{display:flex;align-items:center;justify-content:space-between;gap:20px;height:90px}
.brand{flex-shrink:0;display:flex;justify-content:center;align-items:center;background:#141a38;border-radius:16px;padding:6px 13px;box-shadow:0 10px 22px rgba(15,19,57,.12)}
.brand img{width:148px;height:auto;aspect-ratio:337/169;object-fit:contain}
.navigation{display:flex;align-items:center;gap:30px;margin-left:auto}
.navigation a,.nav-link-out{font-size:13px;font-weight:700;color:#526079;white-space:nowrap;transition:color .2s}
.navigation a:hover,.nav-link-out:hover{color:var(--violet)}
.nav-link-out{display:none}
.nav-end{display:flex;align-items:center;gap:17px}
.button{display:inline-flex;align-items:center;justify-content:center;gap:17px;min-height:52px;padding:0 22px;font-size:13px;font-weight:800;letter-spacing:.05px;border-radius:13px;white-space:nowrap;transition:transform .22s,box-shadow .22s,background .22s;border:1px solid transparent}
.button:hover{transform:translateY(-2px)}
.button-solid{background:linear-gradient(105deg,#6851d8,#7068e9);color:white;box-shadow:0 13px 27px rgba(105,84,217,.20)}
.button-outline{color:#303a5a;background:rgba(255,255,255,.78);border-color:#dadfea;box-shadow:0 9px 20px rgba(36,53,91,.05)}
.menu-button{display:none;border:none;background:none;font-size:25px;color:var(--ink)}

/* Hero */
.hero{display:grid;grid-template-columns:minmax(0,1.03fr) minmax(0,.97fr);align-items:center;gap:18px;min-height:668px;padding-block:51px 48px;position:relative}
.hero:before{position:absolute;content:'';left:-250px;top:-115px;width:680px;height:650px;pointer-events:none;background:radial-gradient(ellipse,rgba(119,90,235,.065),transparent 68%);z-index:-1}
.hero-copy{position:relative;z-index:2}
.eyebrow{display:inline-flex;align-items:center;gap:11px;letter-spacing:1.85px;font-size:10px;font-weight:850;text-transform:uppercase;color:#6256a5}
.eyebrow-indicator{width:9px;height:9px;background:var(--teal);border-radius:50%;box-shadow:0 0 0 5px rgba(33,190,203,.12)}
.eyebrow-split{color:#a3a5c0}
h1,h2,h3,p{margin-top:0}
h1{font-size:clamp(58px,6.1vw,88px);letter-spacing:-5.7px;line-height:1.02;font-weight:780;margin:28px 0 26px}
h1 em,.section-intro h2 em,.persona-story h3 em,.principle-content h2 em,.contact-card h2 em{font-style:normal;background:linear-gradient(94deg,#7658df,#1bafc3);background-clip:text;-webkit-background-clip:text;color:transparent}
.lead{font-size:16.5px;line-height:1.82;color:#5c6882;max-width:580px;margin-bottom:27px}.lead strong{font-weight:650;color:#33425f}
.hero-actions{display:flex;flex-wrap:wrap;gap:12px}
.hero-trust{display:flex;gap:12px 25px;flex-wrap:wrap;margin-top:32px;color:#7e89a3;font-size:10px;letter-spacing:1.12px;font-weight:850;text-transform:uppercase}
.hero-trust span{display:flex;align-items:center;gap:9px}
.hero-trust i{width:6px;height:6px;background:var(--teal);border-radius:50%;display:block}
.hero-illustration{position:relative;min-width:0;height:584px;background:radial-gradient(ellipse at 55% 47%,#ebe5ff 0%,#f4f3ff 26%,#f9faff 68%,transparent 76%);border-radius:42px;isolation:isolate}
.hero-ambient{position:absolute;inset:0;pointer-events:none;z-index:-1;background:radial-gradient(circle at 70% 18%,rgba(31,188,204,.17),transparent 30%)}
.hero-orbit-stage{position:absolute;width:530px;height:530px;max-width:100%;max-height:100%;top:35px;left:50%;transform:translateX(-50%)}
.orbit{position:absolute;left:50%;top:50%;width:79%;height:79%;margin-left:-39.5%;margin-top:-39.5%;border:1.4px solid rgba(118,91,222,.4);border-radius:50%;pointer-events:none}
.orbit-a{transform:rotate(-28deg) scale(1.18,.62);border-width:1.8px;border-color:rgba(122,85,239,.44);animation:orbit-a 25s linear infinite}
.orbit-b{transform:rotate(32deg) scale(.69,1.19);border-color:rgba(27,179,203,.45);animation:orbit-b 35s linear infinite}
.orbit-c{transform:rotate(59deg) scale(1.14,.82);border-color:rgba(150,122,239,.33);animation:orbit-c 33s linear infinite}
.orbit-wash{position:absolute;inset:16%;border-radius:50%;border:1px solid rgba(210,199,248,.66);box-shadow:0 0 0 30px rgba(255,255,255,.14)}
.orbital-core{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:240px;height:240px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-direction:column;background:linear-gradient(145deg,#fefeff,#e8f4ff);border:8px solid rgba(255,255,255,.88);box-shadow:0 20px 55px rgba(101,106,179,.20),0 0 0 2px #cfc6f8,0 0 0 18px rgba(255,255,255,.48)}
.orbital-core svg{width:160px;height:160px;filter:drop-shadow(0 7px 14px rgba(89,99,180,.1))}
.core-caption{font-size:9px;color:#5c6792;letter-spacing:1.75px;font-weight:900;margin-top:-2px}
.orbit-node{position:absolute;min-width:86px;height:46px;display:flex;align-items:center;gap:9px;padding:7px 9px;border-radius:999px;background:rgba(255,255,255,.96);box-shadow:0 9px 22px rgba(74,80,158,.10);font-size:11px;font-weight:800;color:#4d537f}
.orbit-node b{display:grid;place-items:center;width:30px;height:30px;flex:0 0 30px;border-radius:50%;background:#7252d7;color:#fff;font-size:10px}
.node-one{top:18%;left:2%}.node-two{top:19%;right:0}.node-three{bottom:20%;left:1%}.node-four{bottom:17%;right:3%}
.node-two b{background:#27bbcb}.node-three b{background:#e4b252}.node-four b{background:#9b80f0}
.signal-card{position:absolute;z-index:3;display:flex;align-items:center;gap:10px;background:rgba(255,255,255,.9);border:1px solid #e9eaf9;border-radius:14px;box-shadow:0 12px 30px rgba(60,67,130,.10);padding:12px 15px;animation:float 5.2s ease-in-out infinite}
.signal-card-a{left:0;top:21px}.signal-card-b{right:0;bottom:29px;animation-delay:-2.5s}
.signal-card strong{display:block;color:#252f55;font-size:11px;margin-bottom:3px}.signal-card small{color:#818ba6;font-size:10px}.signal-check,.signal-icon{width:30px;height:30px;border-radius:11px;background:#e6faf7;color:#24a9ab;display:grid;place-items:center;font-weight:900}.signal-icon{background:#edeaff;color:#7959eb;font-size:21px}
.hero-visual-caption{position:absolute;bottom:5px;left:50%;transform:translateX(-50%);white-space:nowrap;font-size:9px;color:#9aa3c1;font-weight:850;letter-spacing:2px}

/* Section scaffolding */
.section-intro{max-width:810px}.section-intro.centered{text-align:center;margin:0 auto}
.section-eyebrow{display:block;color:#6f56d7;font-weight:900;letter-spacing:2.5px;font-size:10px;margin-bottom:16px}
.section-intro h2,.principle-content h2,.contact-card h2{font-size:clamp(37px,4.3vw,60px);letter-spacing:-2.7px;line-height:1.12;margin-bottom:18px}
.section-intro p{color:#6b7691;font-size:15px;line-height:1.85;max-width:680px}
.section-intro.centered p{margin-inline:auto}
.role-intro{padding:106px 0 92px;background:linear-gradient(180deg,#fff 0%,#f9f9fe 100%);border-top:1px solid #eff0f7;border-bottom:1px solid #eff0f7}
.persona-options{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:37px 0 20px}
.persona-tab{text-align:left;position:relative;min-width:0;border:1px solid #e7e9f4;border-radius:19px;padding:20px 19px 19px;display:grid;grid-template-rows:56px auto auto;background:white;color:#22314f;box-shadow:0 6px 20px rgba(38,58,102,.025);transition:.24s ease;transition-property:background,transform,border-color,box-shadow}
.persona-tab:hover{transform:translateY(-3px);box-shadow:0 16px 27px rgba(70,61,134,.09)}
.persona-tab.is-selected{background:linear-gradient(138deg,#f2eeff,#eefdff);border-color:#b7a4f3;box-shadow:0 14px 30px rgba(110,87,201,.12)}
.persona-symbol{display:grid;place-items:center;width:50px;height:50px;border-radius:15px;background:#f1eeff;color:#7056d8}.persona-symbol svg{width:31px;height:31px}
.persona-tab:nth-child(2) .persona-symbol{background:#e9f9fc;color:#1297aa}.persona-tab:nth-child(3) .persona-symbol{background:#fff4e0;color:#bd8b2e}.persona-tab:nth-child(4) .persona-symbol{background:#e9efff;color:#586cce}
.persona-tab strong{font-size:15px;letter-spacing:-.2px;margin:10px 0 5px}.persona-tab small{font-size:12px;color:#78839b}.tab-arrow{position:absolute;right:20px;top:23px;font-size:19px;color:#a6adbf}.is-selected .tab-arrow{color:#6b4fdb}
.persona-stage{border:1px solid #e5e7f1;background:#fff;border-radius:29px;overflow:hidden;box-shadow:0 24px 65px rgba(54,65,115,.075);min-height:470px}
.persona-panel{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);min-height:470px;animation:stage-in .38s ease both}
.persona-panel[hidden]{display:none!important}
.persona-story{padding:60px 43px 42px 51px;display:flex;align-items:flex-start;justify-content:center;flex-direction:column}
.persona-kicker{font-size:10px;letter-spacing:2px;font-weight:850;color:#6a5ed1}.persona-kicker span{color:#c2b9ee;padding:0 7px}
.persona-story h3{font-size:clamp(31px,3vw,44px);letter-spacing:-1.7px;line-height:1.15;margin:24px 0 18px}
.persona-story p{font-size:14px;line-height:1.8;color:#697690;max-width:425px;margin-bottom:20px}
.persona-benefits{display:flex;flex-wrap:wrap;gap:8px 12px;margin-bottom:29px}
.persona-benefits span{font-size:10px;font-weight:800;color:#625d90;letter-spacing:.2px;background:#f4f1ff;padding:9px 12px;border-radius:999px}
.text-cta{font-size:12px;font-weight:850;color:#6855d7;display:flex;gap:14px;align-items:center;border-bottom:1px solid #a99cf0;padding-bottom:8px}
.persona-visual{background:linear-gradient(150deg,#f9f8ff,#edf7fc);padding:30px;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}
.persona-visual:after{content:'';position:absolute;right:-160px;bottom:-190px;width:450px;height:450px;border:1px solid #cfc6ef;border-radius:50%;box-shadow:0 0 0 60px rgba(143,167,237,.025);pointer-events:none}
.visual-window{position:relative;z-index:1;width:100%;max-width:570px;background:white;border:1px solid #dee4f4;border-radius:18px;overflow:hidden;box-shadow:0 24px 65px rgba(55,63,112,.15)}
.window-top{height:52px;padding:0 17px;display:flex;gap:12px;align-items:center;background:#fff;border-bottom:1px solid #e7ecf4;color:#66738e;font-size:11px;font-weight:750}
.window-dots{display:inline-flex;gap:4px}.window-dots i{width:7px;height:7px;border-radius:50%;background:#d6dcf0}.window-dots i:nth-child(2){background:#c5c4f0}.window-dots i:nth-child(3){background:#b9e5e7}
.sample-label{font-size:8px;letter-spacing:1.15px;margin-left:auto;font-weight:850;color:#8b92a5}
.window-body{padding:22px 25px 23px;min-height:315px}
.visual-title{display:flex;justify-content:space-between;gap:10px;align-items:center;font-size:15px;font-weight:850;color:#253653;margin-bottom:20px}
.visual-tag{font-size:9px;color:#5d64a2;background:#f0f1ff;border:1px solid #e7e7fc;border-radius:999px;padding:7px 11px;letter-spacing:.2px;font-weight:800;white-space:nowrap}
.lineage-flow{display:grid;gap:9px}
.lineage-item{position:relative;border:1px solid #ebedf5;border-radius:13px;background:#fafbff;padding:10px 12px;display:flex;align-items:center;gap:12px;transition:transform .2s}
.lineage-item:not(:last-child)::after{content:'';position:absolute;left:28px;bottom:-11px;width:2px;height:11px;background:linear-gradient(180deg,#ac91ed,#3ec4d4);z-index:2}
.lineage-icon{display:grid;place-items:center;width:34px;height:34px;flex:none;border-radius:10px;background:#eeeaff;color:#7046db;font-size:17px;font-weight:800}
.lineage-item:nth-child(2) .lineage-icon{background:#e8f9ff;color:#1e9ea9}.lineage-item:nth-child(3) .lineage-icon{background:#fff5df;color:#cc9134}.lineage-item:nth-child(4) .lineage-icon{background:#e7f8f6;color:#1ea9ac}
.lineage-item small,.framework-node small,.risk-root small,.risk-branch small,.ciso-card small{display:block;font-size:9px;color:#8994aa;letter-spacing:.3px;margin-bottom:3px}
.lineage-item strong{display:block;font-size:11px;color:#344363;line-height:1.2}
.trail-ok{margin-left:auto;color:#16a5a2;font-weight:900}
.visual-bottom{display:flex;align-items:center;gap:8px;color:#8a94ae;font-size:10px;padding-top:17px}
.mini-dot{display:inline-block;width:7px;height:7px;border-radius:50%}.mini-dot.teal{background:#26bbbf}
.persona-disclaimer{font-size:11px;color:#a1a9ba;margin:19px 0 0;text-align:center;line-height:1.6}

/* Persona view content */
.framework-board{display:flex;align-items:center;justify-content:space-between;gap:7px;margin-bottom:16px}
.framework-node{flex:1;min-width:0;text-align:center;border:1px solid #e4e7f3;border-radius:12px;padding:13px 6px;background:#f8f9ff}
.framework-node b{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:#e8e1ff;color:#654fd5;font-size:10px;margin:0 auto 9px}
.framework-node:nth-of-type(2) b{background:#e7f9fb;color:#159faf}.framework-node:nth-of-type(3) b{background:#fef0d1;color:#be8a26}
.framework-node strong{display:block;font-size:11px;color:#334465;margin-bottom:4px}
.framework-node small{font-size:9px;line-height:1.3}
.framework-arrow{color:#a4b2d1;font-size:18px}
.sample-table{border:1px solid #e9ecf5;border-radius:12px;overflow:hidden}
.sample-row{display:grid;grid-template-columns:1.4fr .9fr .8fr;align-items:center;gap:8px;padding:10px 13px;font-size:10px;color:#69758f;border-top:1px solid #eef0f6}
.sample-row:first-child{border-top:0}.sample-row.row-head{background:#f8f9fc;color:#909ab0;font-size:9px;text-transform:uppercase;letter-spacing:.5px;font-weight:800}
.status-pill{display:inline-block;text-align:center;font-size:9px;font-weight:850;padding:6px 8px;border-radius:999px;white-space:nowrap}
.status-pill.good{color:#188c86;background:#e4faf5}.status-pill.warn{color:#ac7b25;background:#fff2d9}
.risk-tree{margin-top:7px}.risk-root{border:1px solid #eaddec;border-radius:14px;background:linear-gradient(130deg,#f7f4ff,#fff);display:flex;justify-content:space-between;gap:15px;align-items:center;padding:17px}
.risk-root strong{display:block;font-size:15px;color:#293b5b}.risk-branches{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding-top:35px;position:relative}
.risk-branches::before{content:'';position:absolute;top:16px;left:16.6%;width:66.6%;border-top:1px dashed #acb6d7}.risk-branches::after{content:'';position:absolute;top:0;left:50%;height:16px;border-left:1px dashed #acb6d7}
.risk-branch{position:relative;border:1px solid #e7ebf4;background:#fbfcff;border-radius:12px;padding:16px 11px 11px;min-height:107px}
.risk-branch:before{content:'';position:absolute;top:-18px;left:50%;height:18px;border-left:1px dashed #acb6d7}
.risk-bullet{display:block;width:12px;height:12px;border-radius:50%;margin-bottom:10px}.risk-bullet.teal{background:#29b6be}.risk-bullet.violet{background:#9673e8}.risk-bullet.gold{background:#e2af43}
.risk-branch strong{display:block;color:#3b4764;font-size:10px;line-height:1.4}
.risk-foot{display:flex;align-items:center;justify-content:space-between;gap:9px;margin-top:22px;color:#8a94ad;font-size:10px}
.risk-rail{height:6px;flex:1;background:#eff2f8;border-radius:999px;overflow:hidden}.risk-rail i{display:block;height:100%;width:68%;background:linear-gradient(90deg,#a782f4,#37c3ca);border-radius:999px;animation:grow 1.8s ease-out both}
.ciso-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:17px}.ciso-card{display:grid;grid-template-columns:auto 1fr;gap:0 11px;align-items:center;background:#f8fbff;border:1px solid #e9edf6;border-radius:13px;padding:17px 14px}.visual-icon-circle{grid-row:1/3;width:36px;height:36px;border-radius:12px;background:#e5faf6;color:#22a5a5;display:grid;place-items:center;font-weight:900}.visual-icon-circle.amber{background:#fff2dd;color:#c18e2e}.ciso-card strong{font-size:11px;color:#3b4664}.assurance-list{border:1px solid #e9edf6;border-radius:12px;overflow:hidden}.assurance-list>div{display:flex;justify-content:space-between;align-items:center;gap:9px;padding:10px 14px;font-size:11px;color:#60708c;border-bottom:1px solid #edf0f5}.assurance-list>div:last-child{border-bottom:0}

/* Discipline system */
.discipline-section{padding:104px 0 108px}.discipline-section .section-intro{margin-bottom:48px}
.discipline-flow{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:17px;position:relative}
.discipline-line{position:absolute;top:28px;left:7%;right:7%;height:2px;z-index:0;background:repeating-linear-gradient(90deg,#c6b6f7 0px,#c6b6f7 7px,transparent 7px,transparent 15px);overflow:hidden}
.discipline-line i{position:absolute;top:0;left:-12%;width:18%;height:100%;background:linear-gradient(90deg,transparent,#49bdcc,transparent);animation:stream 6s linear infinite}
.discipline-step{position:relative;z-index:1;padding:0 6px 8px}.discipline-dot{display:grid;place-items:center;height:55px;width:55px;border-radius:18px;color:white;font-size:12px;font-weight:900;margin-bottom:30px;box-shadow:0 12px 22px rgba(105,102,173,.13)}.discipline-dot.teal{background:#23b8c8}.discipline-dot.violet{background:#8060e7}.discipline-dot.gold{background:#e7b347}.discipline-dot.lilac{background:#9b7def}
.discipline-name{font-size:10px;color:#8673ba;letter-spacing:2px;font-weight:900;margin-bottom:14px}.discipline-step h3{font-size:22px;letter-spacing:-.65px;margin-bottom:12px}.discipline-step p{font-size:13px;line-height:1.8;color:#69748b;max-width:250px;margin-bottom:17px}.discipline-step small{font-size:11px;font-weight:850;color:#697bb1}

/* Portfolio */
.portfolio-section{padding:94px 0 110px;background:linear-gradient(180deg,#f0f0ff 0%,#f3faff 100%);border-top:1px solid #edf0fb;border-bottom:1px solid #e8eef7}
.portfolio-section .section-intro{margin-bottom:36px}.portfolio-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.product-card{min-height:382px;border:1px solid #e1e5f2;border-radius:23px;background:rgba(255,255,255,.96);box-shadow:0 13px 27px rgba(34,48,101,.04);padding:24px;display:flex;flex-direction:column;transition:transform .28s,box-shadow .28s;position:relative;overflow:hidden}
.product-card:hover{transform:translateY(-5px);box-shadow:0 22px 42px rgba(50,57,124,.11)}
.product-card.product-live{border-color:#99e1eb;box-shadow:0 12px 34px rgba(27,171,188,.10)}
.product-top{display:flex;align-items:center;justify-content:space-between;gap:5px}.product-num{font-size:10px;letter-spacing:1.7px;font-weight:900;color:#7c73a9}
.product-state{display:inline-block;white-space:nowrap;font-size:9px;font-weight:800;color:#66718c;background:#f2f4f9;padding:7px 9px;border-radius:999px}.product-state.live{background:#e1f9f5;color:#1d918f}
.product-shape{margin-top:35px;margin-bottom:18px;width:62px;height:62px;border-radius:19px;display:grid;place-items:center;font-size:29px;font-weight:700;background:linear-gradient(145deg,#e5fbfe,#edf1ff);color:#2497b5;transition:transform .35s}
.product-card:hover .product-shape{transform:rotate(-7deg) scale(1.05)}
.product-shape.enforce{background:#eeeaff;color:#7355dd}.product-shape.prove{background:#fff1dc;color:#d49d35}.product-shape.verify{background:#e8f9f5;color:#24a9a5}
.product-card h3{font-size:23px;letter-spacing:-.6px;margin-bottom:12px}.product-card p{font-size:13px;color:#6a7590;line-height:1.76;margin-bottom:22px;flex:1}
.product-card a{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #e9ecf4;padding-top:17px;font-size:12px;font-weight:850;color:#6251c8}

.principle-section{padding:116px 0 112px}.principle-content{display:grid;grid-template-columns:1fr .82fr;gap:95px;align-items:center}.principle-content h2{margin-bottom:0}.principle-content p{font-size:17px;color:#596883;line-height:1.85}.principle-content .principle-small{font-size:12px;color:#8792aa}
.contact-section{padding-bottom:90px}
.contact-card{position:relative;overflow:hidden;border-radius:30px;background:linear-gradient(112deg,#202853 0%,#263567 45%,#13627c 100%);color:white;padding:54px 58px;display:flex;align-items:end;justify-content:space-between;gap:25px}
.contact-glow{position:absolute;right:8%;top:-140px;width:430px;height:430px;border:1px solid rgba(255,255,255,.17);border-radius:50%;box-shadow:0 0 0 70px rgba(255,255,255,.035),0 0 0 145px rgba(255,255,255,.022)}
.contact-card>*:not(.contact-glow){position:relative;z-index:1}.contact-card .section-eyebrow{color:#7ce2e5}.contact-card h2{margin-bottom:15px}.contact-card h2 em{background:linear-gradient(90deg,#c2b0ff,#86f1ed);background-clip:text;-webkit-background-clip:text;color:transparent}
.contact-card p{font-size:14px;color:#c7d8ed;line-height:1.7;max-width:650px;margin-bottom:0}.contact-actions{display:flex;flex-direction:column;gap:10px;min-width:225px}.button-light{background:white;color:#273c66}.button-glass{background:rgba(255,255,255,.10);color:#fff;border-color:rgba(255,255,255,.25)}
.footer{display:flex;align-items:center;justify-content:space-between;gap:28px;padding:18px 0 48px;color:#7d8ba4}.footer strong{display:block;color:#313e5a;margin-bottom:8px;font-size:13px}.footer span{display:block;font-size:11px}.footer nav{display:flex;flex-wrap:wrap;gap:20px;font-size:12px;font-weight:650}.footer a:hover{color:#6b56dd}

/* Motion */
.reveal{opacity:1;transform:none;transition:opacity .75s cubic-bezier(.2,.75,.25,1),transform .75s cubic-bezier(.2,.75,.25,1)}.js .reveal{opacity:0;transform:translateY(25px)}.js .reveal.in-view{opacity:1;transform:translateY(0)}
.portfolio-grid>.reveal:nth-child(2),.discipline-flow>.reveal:nth-child(3){transition-delay:.09s}.portfolio-grid>.reveal:nth-child(3),.discipline-flow>.reveal:nth-child(4){transition-delay:.18s}.portfolio-grid>.reveal:nth-child(4),.discipline-flow>.reveal:nth-child(5){transition-delay:.27s}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-9px)}}
@keyframes orbit-a{0%{transform:rotate(-28deg) scale(1.18,.62)}100%{transform:rotate(332deg) scale(1.18,.62)}}
@keyframes orbit-b{0%{transform:rotate(32deg) scale(.69,1.19)}100%{transform:rotate(392deg) scale(.69,1.19)}}
@keyframes orbit-c{0%{transform:rotate(59deg) scale(1.14,.82)}100%{transform:rotate(419deg) scale(1.14,.82)}}
@keyframes stage-in{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
@keyframes stream{from{left:-18%}to{left:100%}}
@keyframes grow{from{width:0}to{width:68%}}

@media(max-width:1180px){
 .nav-shell{height:82px}.navigation{gap:18px}.nav-cta{display:none}.nav-link-out{display:inline}
 .hero{grid-template-columns:1fr 1fr;gap:4px}.hero-illustration{height:515px}.hero-orbit-stage{width:480px;height:480px;top:30px}.orbital-core{width:208px;height:208px}.orbital-core svg{width:145px;height:145px}
 h1{font-size:68px;letter-spacing:-4.4px}.persona-story{padding-left:34px;padding-right:25px}.portfolio-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.product-card{min-height:335px}
}
@media(max-width:900px){
 .wrap{width:min(var(--max),calc(100% - 44px))}.navigation{display:none;position:absolute;top:81px;left:22px;right:22px;padding:21px;background:#fff;border:1px solid #e6e9f2;border-radius:20px;box-shadow:var(--shadow);flex-direction:column;align-items:start;z-index:90}.navigation.open{display:flex}.menu-button{display:block}.nav-link-out{display:none}
 .hero{grid-template-columns:1fr;padding-block:42px 45px}.hero-copy{max-width:740px}.hero-illustration{width:100%;max-width:670px;height:560px;margin-inline:auto}
 .persona-panel{grid-template-columns:1fr}.persona-story{padding:40px 38px 35px}.persona-visual{min-height:450px}.persona-options{grid-template-columns:repeat(2,minmax(0,1fr))}.discipline-flow{grid-template-columns:repeat(2,minmax(0,1fr));gap:34px}.discipline-line{display:none}.principle-content{grid-template-columns:1fr;gap:27px}.contact-card{align-items:start;flex-direction:column}.contact-actions{flex-direction:row}
}
@media(max-width:600px){
 .wrap{width:min(var(--max),calc(100% - 34px))}.nav-shell{height:75px}.brand{padding:4px 9px;border-radius:11px}.brand img{width:128px}.navigation{top:74px;left:17px;right:17px}
 .hero{padding-block:38px 30px}.hero:before{display:none}.eyebrow{font-size:8px;letter-spacing:1.1px;gap:7px}h1{font-size:clamp(52px,13vw,72px);letter-spacing:-3.7px;margin:24px 0 17px}.lead{font-size:14.5px;line-height:1.8}.hero-actions{display:grid;grid-template-columns:1fr}.button{min-height:52px;width:100%;padding-inline:18px}.hero-trust{gap:10px 15px;font-size:8px;letter-spacing:.7px;margin-top:25px}
 .hero-illustration{height:390px;border-radius:26px;margin-top:15px}.hero-orbit-stage{width:365px;height:365px;top:14px}.orbital-core{width:155px;height:155px;border-width:6px;box-shadow:0 14px 37px rgba(101,106,179,.2),0 0 0 1px #cfc6f8,0 0 0 13px rgba(255,255,255,.48)}.orbital-core svg{width:118px;height:118px}.core-caption{font-size:6px;letter-spacing:1px}.orbit-node{min-width:73px;height:34px;padding:4px 6px;font-size:9px;gap:4px}.orbit-node b{width:23px;height:23px;flex-basis:23px;font-size:8px}.signal-card{padding:7px 9px;border-radius:10px;gap:6px}.signal-card-a,.signal-card-b{display:none}.signal-card strong{font-size:9px}.signal-card small{font-size:8px}.signal-check,.signal-icon{width:23px;height:23px;font-size:11px}.hero-visual-caption{font-size:7px;bottom:0}
 .role-intro{padding:75px 0}.section-intro h2,.principle-content h2,.contact-card h2{font-size:clamp(35px,9vw,48px);letter-spacing:-1.9px}.section-intro p{font-size:14px}
 .persona-options{gap:9px;margin-top:28px}.persona-tab{padding:13px 11px 13px;grid-template-rows:43px auto auto;border-radius:14px}.persona-symbol{width:39px;height:39px;border-radius:11px}.persona-symbol svg{width:24px;height:24px}.persona-tab strong{font-size:12px;margin:9px 0 5px}.persona-tab small{font-size:10px}.tab-arrow{right:13px;top:12px;font-size:15px}
 .persona-stage{border-radius:20px}.persona-story{padding:32px 24px 25px}.persona-story h3{font-size:32px;margin:16px 0}.persona-story p{font-size:13px}.persona-kicker{font-size:9px;line-height:1.8}.persona-benefits{gap:7px;margin-bottom:23px}.persona-benefits span{font-size:9px;padding:8px 9px}
 .persona-visual{padding:16px;min-height:390px}.window-body{padding:18px 14px 17px}.visual-window{border-radius:14px}.visual-title{font-size:13px}.lineage-item{padding:8px}.lineage-item strong{font-size:10px}.lineage-item small{font-size:8px}.sample-label{font-size:7px}.window-top{gap:7px;padding:0 11px;font-size:9px}.framework-board{gap:4px}.framework-node{padding:10px 4px}.framework-node strong{font-size:9px}.framework-node small{font-size:8px}.framework-arrow{font-size:12px}.sample-row{grid-template-columns:1.2fr .8fr .8fr;gap:4px;padding:10px 6px;font-size:9px}.status-pill{font-size:8px;padding:5px 6px}.risk-branch{padding:13px 7px 9px;min-height:116px}.risk-branch strong{font-size:9px}.risk-branch small{font-size:8px}.ciso-card{padding:12px 9px}.ciso-card strong{font-size:9px}.visual-icon-circle{width:28px;height:28px}
 .discipline-section{padding:74px 0}.discipline-flow{grid-template-columns:1fr 1fr;gap:23px 12px}.discipline-step{padding:0}.discipline-dot{height:44px;width:44px;border-radius:14px;margin-bottom:19px}.discipline-name{font-size:9px;margin-bottom:10px}.discipline-step h3{font-size:19px}.discipline-step p{font-size:12px;margin-bottom:8px}
 .portfolio-section{padding:76px 0}.portfolio-grid{grid-template-columns:1fr}.product-card{min-height:330px}.product-shape{margin-top:25px}.principle-section{padding:78px 0}.principle-content p{font-size:15px}.contact-section{padding-bottom:60px}.contact-card{padding:37px 26px;border-radius:25px}.contact-card p{font-size:13px}.contact-actions{flex-direction:column;width:100%}.footer{flex-direction:column;align-items:start;gap:25px}.footer nav{gap:12px 20px}
}
@media(max-width:380px){.hero-illustration{height:340px}.hero-orbit-stage{width:315px;height:315px;top:10px}.orbit-node{min-width:66px;font-size:8px}.orbital-core{width:140px;height:140px}.orbital-core svg{width:108px;height:108px}.signal-card-a{top:0}.signal-card-b{bottom:6px}.persona-tab strong{font-size:11px}.persona-story h3{font-size:29px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.orbit,.signal-card,.discipline-line i,.risk-rail i{animation:none!important}*,*::before,*::after{transition:none!important}.reveal{opacity:1!important;transform:none!important}}

/* Readability and production resilience · 2026-11-01 */
.persona-control{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.persona-options .persona-tab{cursor:pointer;user-select:none}
.persona-options .persona-tab.is-selected{background:#fff;border-color:#e7e9f4;box-shadow:0 6px 20px rgba(38,58,102,.025)}
#role-auditor:checked ~ .persona-options label[for="role-auditor"],
#role-consultant:checked ~ .persona-options label[for="role-consultant"],
#role-risk:checked ~ .persona-options label[for="role-risk"],
#role-ciso:checked ~ .persona-options label[for="role-ciso"]{
  background:linear-gradient(138deg,#f2eeff,#eefdff);border-color:#b7a4f3;box-shadow:0 14px 30px rgba(110,87,201,.12)
}
#role-auditor:focus-visible ~ .persona-options label[for="role-auditor"],
#role-consultant:focus-visible ~ .persona-options label[for="role-consultant"],
#role-risk:focus-visible ~ .persona-options label[for="role-risk"],
#role-ciso:focus-visible ~ .persona-options label[for="role-ciso"]{outline:3px solid var(--teal);outline-offset:3px}
.persona-stage .persona-panel{display:none!important}
#role-auditor:checked ~ .persona-stage #panel-auditor,
#role-consultant:checked ~ .persona-stage #panel-consultant,
#role-risk:checked ~ .persona-stage #panel-risk,
#role-ciso:checked ~ .persona-stage #panel-ciso{display:grid!important}
.navigation a,.nav-link-out{font-size:14px}
.section-eyebrow{font-size:11.5px}
.section-intro p{font-size:16px}
.persona-tab strong{font-size:16.5px}
.persona-tab small{font-size:13px}
.persona-story p{font-size:16px;line-height:1.72;max-width:465px}
.persona-kicker{font-size:11px;letter-spacing:1.65px}
.persona-benefits span{font-size:11.5px}
.text-cta{font-size:13px}
.persona-stage,.persona-stage .persona-panel{min-height:530px}
.window-top{font-size:12.5px;height:56px}
.sample-label{font-size:9px;letter-spacing:.8px}
.window-body{padding:24px 24px 25px;min-height:350px}
.visual-title{font-size:16px;margin-bottom:17px}
.visual-tag{font-size:10.5px}
.lineage-flow{gap:10px}
.lineage-item{padding:12px 14px;gap:13px}
.lineage-item:not(:last-child)::after{bottom:-12px;height:12px;left:32px}
.lineage-icon{width:40px;height:40px;font-size:20px}
.lineage-item small,.framework-node small,.risk-root small,.risk-branch small,.ciso-card small{font-size:11px;letter-spacing:0}
.lineage-item strong{font-size:14px;line-height:1.34}
.trail-ok{font-size:17px}
.visual-bottom{font-size:12px;padding-top:16px}
.persona-disclaimer{font-size:12px}
.framework-node strong{font-size:12px}
.sample-row{font-size:11.5px}
.risk-branch strong{font-size:12px}
.risk-root strong{font-size:15px}
.ciso-card strong{font-size:12px}
.assurance-list>div{font-size:12px}
.product-card p{font-size:14.5px}
.product-card a{font-size:13px}
.discipline-step p{font-size:14px}
@media(max-width:900px){
  .persona-stage,.persona-stage .persona-panel{min-height:0}
  .persona-tab strong{font-size:15px}
  .persona-tab small{font-size:12px}
}
@media(max-width:600px){
  .section-intro p{font-size:15px}
  .persona-tab strong{font-size:13.5px}
  .persona-tab small{font-size:11px}
  .persona-story p{font-size:15px}
  .persona-kicker{font-size:10px}
  .persona-benefits span{font-size:10px}
  .window-top{font-size:11px;height:50px}
  .sample-label{font-size:8px}
  .window-body{padding:18px 14px 20px;min-height:0}
  .visual-title{font-size:14px}
  .lineage-item{padding:10px;gap:9px}
  .lineage-icon{width:35px;height:35px;font-size:18px}
  .lineage-item:not(:last-child)::after{left:27px}
  .lineage-item small{font-size:10px}
  .lineage-item strong{font-size:12.5px}
  .visual-bottom{font-size:11px}
  .framework-node strong{font-size:10px}
  .framework-node small{font-size:9px}
  .sample-row{font-size:10px}
  .risk-branch strong{font-size:11px}
  .risk-branch small{font-size:9.5px}
  .ciso-card strong{font-size:11px}
  .product-card p{font-size:14px}
  .discipline-step p{font-size:13px}
}
