@charset "UTF-8";

/* Cassandra: quiet product typography, neutral surfaces and an eight-pixel rhythm. */
@font-face{font-family:Inter;src:url('/assets/inter-latin.woff2') format('woff2');font-style:normal;font-weight:400 600;font-display:swap}
@font-face{font-family:'Inter Tight';src:url('/assets/inter-tight-latin.woff2') format('woff2');font-style:normal;font-weight:400 600;font-display:swap}
:root{
  --gray-950:#111111;--gray-900:#1e1e1e;--gray-800:#2c2c2c;
  --gray-600:#757575;--gray-400:#b3b3b3;--gray-100:#f5f5f5;--white:#ffffff;
  --background:#ffffff;--surface:#f5f5f7;--text:#1d1d1f;
  --muted:#616166;--line:#dedee2;--line-strong:#c4c4ca;--active:#1d1d1f;--focus:#1d1d1f;
  --space-1:8px;--space-2:16px;--space-3:24px;--space-4:32px;
  --space-5:40px;--space-6:48px;--space-8:64px;--space-10:80px;
  --space-12:96px;--space-16:128px;--space-20:160px;
  --content-width:1200px;--gutter:var(--space-3);--header:64px;
  --font-body:Inter,Arial,sans-serif;--font-heading:'Inter Tight',Inter,Arial,sans-serif;
  color:var(--text);background:var(--background);font-family:var(--font-body);
  font-synthesis:none;text-rendering:optimizeLegibility;scroll-padding-top:var(--space-12);
}
*{box-sizing:border-box}
body{margin:0;font-size:16px;line-height:1.6}
button,a,summary{-webkit-tap-highlight-color:transparent}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit}
button:enabled,summary{cursor:pointer}
img,svg{display:block;max-width:100%}
img{height:auto}
[hidden]{display:none!important}
:where(a,button,summary,[tabindex]):focus-visible{outline:2px solid var(--focus);outline-offset:6px}
p{max-width:68ch;margin:0 0 var(--space-3)}
h1,h2,h3,h4{font-family:var(--font-heading);font-weight:500;line-height:1.06;letter-spacing:-.035em;overflow-wrap:normal;margin:0}
h1{font-size:clamp(56px,8.8vw,128px)}
h2{font-size:clamp(36px,4.5vw,64px)}
h3{font-size:28px}
strong{font-weight:600}
.shell{width:min(var(--content-width),calc(100% - var(--gutter)*2));margin-inline:auto}
.section{padding-block:var(--space-10)}
.section-label{display:flex;gap:var(--space-3);align-items:center;margin:0 0 var(--space-6);font:400 14px/1.5 var(--font-body);letter-spacing:0;color:var(--muted)}
.label-line{height:1px;flex:1;background:var(--line)}
.eyebrow,.panel-kicker{font-size:14px;line-height:1.5;font-weight:400;letter-spacing:0;text-transform:none;color:var(--muted);margin:0 0 var(--space-3)}
.large-copy{font-size:22px;line-height:1.5;letter-spacing:-.02em;color:var(--text)}
.text-link{display:inline-flex;align-items:center;gap:var(--space-3);font-size:14px;line-height:1.5;padding-block:var(--space-1);border-bottom:1px solid var(--line-strong)}
.text-link:hover{color:var(--active);border-color:var(--active)}
.text-link>span{font-size:20px}
.button{display:inline-flex;align-items:center;justify-content:space-between;gap:var(--space-5);min-height:48px;padding:var(--space-2) var(--space-3);font-size:14px;line-height:1.5;font-weight:500;border:1px solid var(--text);border-radius:12px;background:var(--text);color:#ffffff}
.button:hover{background:var(--gray-800)}
.button>span{font-size:20px;line-height:1}
.skip-link{position:fixed;z-index:60;left:var(--space-3);top:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--active);color:#ffffff;transform:translateY(-200%)}
.skip-link:focus{transform:none}
.utility-bar{display:flex;justify-content:center;align-items:center;gap:var(--space-3);min-height:32px;padding-inline:var(--gutter);border-bottom:1px solid var(--line);font-size:10px;line-height:1.6;letter-spacing:.02em;color:var(--muted)}
.utility-bar i{display:none}
.utility-bar>span:last-child{display:flex;gap:var(--space-2)}
.site-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);height:var(--header);padding-inline:var(--gutter);position:sticky;top:0;z-index:30;background:var(--background);border-bottom:1px solid var(--line)}
.brand{display:inline-flex;align-items:center;gap:var(--space-2);flex-shrink:0}
.brand>svg{width:32px;fill:none;stroke:currentColor;stroke-width:1.5}
.brand>span{font-family:var(--font-heading);font-weight:600;font-size:22px;letter-spacing:-.04em;line-height:1.2}
.brand>span>span{display:block}
.site-header nav{display:none;position:absolute;inset:var(--header) 0 auto;padding:var(--space-3);background:var(--background);border-bottom:1px solid var(--line-strong);max-height:calc(100svh - var(--header));overflow:auto}
.site-header nav.is-open{display:flex;flex-direction:column}
.site-header nav>a{font-size:18px;padding-block:var(--space-2);border-bottom:1px solid var(--line);color:var(--muted)}
.site-header nav>a:hover{color:var(--active)}
.nav-cta{display:inline-flex;justify-content:space-between;align-items:center;gap:var(--space-3);font-size:14px;line-height:1.5;color:var(--text)}
.site-header>.nav-cta{margin:0;font-size:14px}
.nav-cta>span{font-size:20px}
.menu-button{display:flex;align-items:center;gap:var(--space-2);min-height:48px;padding:var(--space-1) 0;border:0;background:none;font-size:14px}
.menu-button svg{width:24px;fill:none;stroke:currentColor;stroke-width:1.5}
.no-script-note{padding-block:var(--space-3);font-size:14px;color:var(--muted)}
.no-script-note a{text-decoration:underline;text-underline-offset:4px}

/* A centred introduction gives the interactive brain the product stage. */
.hero{position:relative;padding-block:var(--space-8) var(--space-6);border-bottom:1px solid var(--line);overflow:clip}
.hero-content{display:flex;flex-direction:column;align-items:center;text-align:center}
.hero-introduction{font-size:16px;line-height:1.5;color:var(--muted);margin-bottom:var(--space-3)}
.hero h1{max-width:100%;font-weight:600;font-size:clamp(56px,6vw,88px);line-height:1.02;letter-spacing:-.055em;margin-bottom:var(--space-3)}
.hero-description{font-family:var(--font-heading);font-size:clamp(22px,2.5vw,28px);line-height:1.3;letter-spacing:-.025em;margin-bottom:var(--space-3);max-width:40ch}
.hero-detail{font-size:16px;line-height:1.6;color:var(--muted);max-width:58ch;margin-bottom:var(--space-3)}
.hero-bottom{display:flex;justify-content:space-between;align-items:center;gap:var(--space-3);margin-top:var(--space-4)}
.scroll-cue{display:flex;align-items:center;gap:var(--space-2);font-size:12px;color:var(--muted)}
.scroll-line{height:24px;width:1px;background:var(--line-strong)}
.hero-designation{display:none;font-size:12px;line-height:1.7;text-align:right;color:var(--muted)}
.hero-designation>span{display:block;color:var(--text)}

/* Editorial sections deliberately vary in structure instead of repeating cards. */
.mission-grid{display:grid;gap:var(--space-5)}
.mission-copy>p:not(.large-copy){font-size:16px;line-height:1.8;color:var(--muted)}
.mission-copy .text-link{margin-top:var(--space-1)}
.mission-links{display:flex;flex-wrap:wrap;gap:var(--space-1) var(--space-4)}
.principles{display:grid;gap:0;margin-top:var(--space-6);border-top:1px solid var(--line-strong)}
.principles>div{display:flex;justify-content:space-between;align-items:baseline;gap:var(--space-3);padding-block:var(--space-3);border-bottom:1px solid var(--line)}
.principles span{font-size:12px;color:var(--muted)}
.principles p{margin:0;font-size:15px;line-height:1.5;text-align:right}
.capabilities{border-block:1px solid var(--line);background:var(--surface)}
.model-tag{margin-left:auto;font-size:12px;white-space:nowrap;color:var(--muted)}
.section-heading{display:grid;gap:var(--space-3);margin-bottom:var(--space-6)}
.section-heading>p{font-size:16px;line-height:1.7;color:var(--muted);margin:0;max-width:32ch}
.capability-layout{display:grid;border-top:1px solid var(--line-strong);margin-top:var(--space-8)}
.cap-tabs{display:grid;grid-template-columns:1fr 1fr;gap:0 var(--space-3);border-bottom:1px solid var(--line)}
.cap-tab{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);text-align:left;min-width:0;min-height:112px;padding:var(--space-3) 0;border:0;border-bottom:1px solid var(--line);background:none;color:var(--muted);font-family:var(--font-heading);font-size:20px;letter-spacing:-.025em;line-height:1.25}
.cap-tab>span:first-child{min-width:0;overflow-wrap:anywhere}
.cap-tab[aria-selected="true"],.cap-tab:hover{color:var(--active)}
.cap-tab[aria-selected="true"]{border-bottom-color:var(--active)}
.tab-arrow{font-size:20px;flex-shrink:0}
.cap-display{padding-top:var(--space-5)}
.cap-panel{max-width:66ch}
.cap-panel h3{font-size:clamp(32px,3.5vw,48px);margin-bottom:var(--space-3)}
.cap-panel>p:not(.panel-kicker){font-size:16px;line-height:1.8;color:var(--muted)}
.panel-features{display:grid;gap:var(--space-1);margin-top:var(--space-4);font-size:14px;color:var(--muted)}
.panel-features span{display:flex;gap:var(--space-2);align-items:center}
.panel-features span:before{content:"";height:1px;width:16px;background:var(--gray-600)}

/* Three statements share one conceptual brain study. */
.statement{border-bottom:1px solid var(--line)}
.principle-layout{display:grid;gap:var(--space-6)}
.principle-statements{display:grid;gap:var(--space-3);margin-bottom:var(--space-4)}
.principle-statement{display:block;appearance:none;width:100%;padding:var(--space-1) 0;text-align:left;background:none;border:0;font-family:var(--font-heading);font-size:clamp(28px,3.6vw,48px);line-height:1.12;letter-spacing:-.035em;color:var(--muted);transition:color 160ms ease}
.principle-statement[aria-pressed="true"],.principle-statement:hover{color:var(--active)}
.principle-copy>p{color:var(--muted);font-size:15px;line-height:1.7;max-width:46ch;margin:0}
.principle-study{margin:0;min-width:0}
.principle-study figcaption{font-size:13px;line-height:1.6;color:var(--muted);min-height:48px;padding-top:var(--space-2);border-top:1px solid var(--line);max-width:none}
.method-steps{list-style:none;display:grid;gap:var(--space-4);padding:0;margin:0}
.method-steps li{display:grid;grid-template-columns:32px 1fr;gap:var(--space-1) var(--space-2);border-top:1px solid var(--line-strong);padding-top:var(--space-3)}
.step-id{grid-row:span 2;font-size:12px;color:var(--muted);padding-top:var(--space-1)}
.step-id>span{display:none}
.method-steps h3{font-size:28px}
.method-steps p{grid-column:2;color:var(--muted);font-size:15px;line-height:1.7;margin:0}
.assurance{background:var(--surface);border-block:1px solid var(--line)}
.assurance-grid{display:grid;gap:var(--space-6)}
.assurance-grid h2{margin-bottom:var(--space-4)}
.assurance-grid>div>p:not(.large-copy){font-size:16px;color:var(--muted);line-height:1.8}
.assurance-list article{border-top:1px solid var(--line-strong);padding-block:var(--space-3)}
.assurance-list h3{font-size:24px;margin-bottom:var(--space-2)}
.assurance-list p{font-size:15px;color:var(--muted);line-height:1.7;margin:0}
.questions{display:grid;gap:var(--space-5)}
.questions-title .eyebrow{margin-bottom:var(--space-3)}
.faq details{border-top:1px solid var(--line-strong)}
.faq details:last-child{border-bottom:1px solid var(--line-strong)}
.faq summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding-block:var(--space-3);font-size:16px;line-height:1.5}
.faq summary::-webkit-details-marker{display:none}
.faq summary>span{font-size:24px;color:var(--muted);line-height:1;font-weight:400;transition:transform 160ms ease}
.faq details[open] summary>span{transform:rotate(45deg)}
.faq details p{font-size:15px;color:var(--muted);line-height:1.8;margin:0;padding-bottom:var(--space-4)}
.brief-cta{padding-block:var(--space-8);border-top:1px solid var(--line-strong)}
.brief-cta>.shell{display:grid;gap:var(--space-4)}
.brief-cta h2{font-size:clamp(48px,6vw,80px)}
.brief-cta p:not(.eyebrow){font-size:18px;line-height:1.7;max-width:36ch;color:var(--muted);margin-bottom:var(--space-4)}
.site-footer{padding-block:var(--space-6) var(--space-3);border-top:1px solid var(--line);background:var(--background)}
.footer-main{display:grid;gap:var(--space-5);padding-bottom:var(--space-6)}
 .footer-brand{font:600 40px/1.1 var(--font-heading);letter-spacing:-.04em;max-width:max-content}
.footer-brand>span{display:block;font:400 10px/1.6 var(--font-body);letter-spacing:0;color:var(--muted);margin-top:var(--space-3)}
.footer-main nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2) var(--space-4);font-size:14px;color:var(--muted)}
.footer-main nav a:hover{color:var(--active)}
.footer-bottom{display:grid;gap:var(--space-1);padding-block:var(--space-3);border-top:1px solid var(--line);font-size:10px;color:var(--muted);letter-spacing:0}
.footer-note{font-size:12px;line-height:1.7;color:var(--muted);margin:0}
.footer-badge{display:flex;gap:.35em;margin:0;padding-block:0 var(--space-3);font-size:10px;letter-spacing:0;color:var(--muted);text-transform:uppercase}
.footer-badge-names{color:inherit;font:inherit}

/* Shared document pages. Tables wrap within their measure on small screens. */
.page-intro{padding-block:var(--space-8);border-bottom:1px solid var(--line)}
.page-intro h1{font-size:clamp(48px,6.5vw,88px);margin-bottom:var(--space-4)}
.page-intro .intro-copy{font-size:20px;line-height:1.6;color:var(--muted);max-width:54ch;margin:0}
.document-layout{display:grid;gap:var(--space-6)}
.document-nav{display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-3);align-self:start;font-size:14px;line-height:1.5;color:var(--muted);padding-bottom:var(--space-4);border-bottom:1px solid var(--line)}
.document-nav a:hover,.document-nav a[aria-current="location"]{color:var(--active)}
.document-content{min-width:0;max-width:70ch}
.document-content section{margin-bottom:var(--space-8);scroll-margin-top:var(--space-12)}
.document-content section:last-child{margin-bottom:0}
.document-content h2{font-size:clamp(30px,3vw,44px);line-height:1.15;margin-bottom:var(--space-3)}
.document-content h3{font-size:24px;line-height:1.2;margin:var(--space-4) 0 var(--space-2)}
.document-content p,.document-content li{font-size:16px;color:var(--muted);line-height:1.8}
.document-content ul,.document-content ol{padding-left:var(--space-3)}
.document-content li{margin-bottom:var(--space-1)}
.document-content table{width:100%;table-layout:fixed;border-collapse:collapse;margin-block:var(--space-4);font-size:14px;line-height:1.7;overflow-wrap:anywhere}
.document-content th,.document-content td{text-align:left;padding:var(--space-2) var(--space-2) var(--space-2) 0;vertical-align:top;border-bottom:1px solid var(--line-strong);color:var(--muted)}
.document-content th:first-child,.document-content td:first-child{width:34%;color:var(--text)}
.document-content th{font-weight:500;color:var(--text);border-top:1px solid var(--line-strong)}
.document-content .callout{border-left:1px solid var(--gray-600);padding-left:var(--space-3);color:var(--text);font-size:16px;line-height:1.8;margin-block:var(--space-4)}
.brief-actions{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-3);margin-top:var(--space-4)}
.print-button{appearance:none}

@media(max-width:599px){.utility-bar>span:last-child{display:none}}
@media(min-width:600px){
  :root{--gutter:var(--space-4)}
  .hero-designation{display:block}
  .principles{grid-template-columns:repeat(3,minmax(0,1fr))}
  .principles>div{display:block;padding-right:var(--space-3)}
  .principles p{text-align:left;margin-top:var(--space-2)}
  .method-steps{grid-template-columns:repeat(2,minmax(0,1fr))}
  .method-steps li{display:block}
  .method-steps h3{margin-block:var(--space-3) var(--space-2)}
  .assurance-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:var(--space-4)}
  .footer-main{grid-template-columns:1fr 1fr;gap:var(--space-6)}
  .footer-bottom{display:flex;justify-content:space-between;gap:var(--space-3)}
}
@media(min-width:960px){
  .section{padding-block:var(--space-12)}
  .hero h1 br{display:none}
  .mission-grid,.assurance-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--space-8)}
  .mission h2{max-width:10ch}
  .principles{margin-top:var(--space-8)}
  .section-heading{grid-template-columns:minmax(0,1fr) minmax(0,.5fr);gap:var(--space-8);align-items:end}
  .section-heading>p{justify-self:end}
  .capability-layout{grid-template-columns:minmax(0,1fr) minmax(0,1.8fr);gap:var(--space-8)}
  .cap-tabs{display:block;border-bottom:0}
  .cap-tab{width:100%;min-height:120px;font-size:24px}
  .cap-display{padding-top:var(--space-5)}
  .principle-layout{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:var(--space-6);align-items:center}
  .principle-statements{gap:var(--space-2)}
  .principle-statement{font-size:40px}
  .method-steps{grid-template-columns:repeat(5,minmax(0,1fr));gap:var(--space-3)}
  .method-steps h3{margin-top:var(--space-5)}
  .method-steps p{font-size:14px}
  .assurance-list{display:block}
  .questions{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:var(--space-8)}
  .questions h2{font-size:48px}
  .brief-cta{padding-block:var(--space-10)}
  .brief-cta>.shell{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:var(--space-8);align-items:end}
  .footer-main{grid-template-columns:1fr 1fr;gap:var(--space-8)}
  .footer-main nav{gap:var(--space-2) var(--space-5)}
  .page-intro{padding-block:var(--space-10)}
  .document-layout{grid-template-columns:200px minmax(0,1fr);gap:var(--space-8)}
  .document-nav{display:grid;position:sticky;top:var(--space-12);border:0;padding:0}
}
@media(min-width:1200px){
  .site-header nav{display:flex;position:static;flex-direction:row;align-items:center;gap:var(--space-3);padding:0;border:0;overflow:visible;background:none}
  .site-header nav>a{border:0;font-size:13px;padding-block:var(--space-2)}
  .site-header nav .nav-cta{margin-left:var(--space-2);padding-left:var(--space-3);border-left:1px solid var(--line-strong);color:var(--text)}
  .menu-button{display:none}
  .principle-statement{font-size:44px}
}
@media(min-width:1440px){.site-header,.utility-bar{padding-inline:max(var(--gutter),calc((100% - var(--content-width))/2))}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
@media print{
  :root{--background:#ffffff;--text:#111111;--muted:#2c2c2c;--line:#b3b3b3;--line-strong:#757575;color:#111111;background:#ffffff}
  body{background:#ffffff;color:#111111;font-size:11pt}
  .site-header,.utility-bar,.site-footer,.document-nav,.brief-actions,.skip-link,.hero-bottom{display:none!important}
  .shell{width:100%;max-width:none}.section,.page-intro{padding-block:24px}
  h1{font-size:36pt}.page-intro h1{font-size:36pt}.document-content h2{font-size:24pt}
  .document-layout{display:block}.document-content{max-width:none}
  .document-content section{break-inside:avoid;margin-bottom:32px}
  .document-content p,.document-content li{font-size:11pt}
  .document-content th,.document-content td{color:#111111}
}
