@font-face{font-family:CorpSans;src:url('/fonts/brand-0.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:CorpSans;src:url('/fonts/brand-3.woff2') format('woff2');font-weight:700;font-display:swap}
@font-face{font-family:CorpDisplay;src:url('/fonts/brand-7.woff2') format('woff2');font-weight:700;font-display:swap}
:root{--corp-ink:#0a2943;--corp-soft:#536575;--corp-paper:#f7f7f2;--corp-blue:#075dbc;--corp-line:#ced8de;--corp-gold:#d9a342}
.corporate-page{margin:0;background:var(--corp-paper);color:var(--corp-ink);font:400 16px/1.65 CorpSans,sans-serif}
.corporate-page::before{display:none}
.corporate-page *,.brand-header *,.brand-footer *{box-sizing:border-box}
.corporate-page a{color:inherit;text-decoration:none}
.corporate-page img{display:block;max-width:100%;height:auto}
.corporate-page h1,.corporate-page h2,.corporate-page h3{font-family:CorpDisplay,sans-serif;font-weight:700;line-height:1.18;letter-spacing:-.045em;margin:0 0 1.1rem}
.corporate-page h1{font-size:clamp(2.45rem,4.3vw,4.4rem)}
.corporate-page h2{font-size:clamp(1.9rem,3.2vw,3rem)}
.corporate-page h3{font-size:1.6rem}
.corporate-page p{margin:0 0 1.2rem}
.corporate-page section[id]{scroll-margin-top:110px}
.wrap{width:min(1240px,calc(100% - 64px));margin-inline:auto}
.brand-header{position:relative;z-index:40;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:2rem;width:min(1380px,calc(100% - 40px));margin:20px auto 0;padding:18px 24px;border:1px solid #dce4e7;border-radius:14px;background:#fffdf9;color:var(--corp-ink);font:400 14px/1.4 CorpSans,sans-serif;box-shadow:0 12px 36px #0a29430a}
.brand-home{display:flex;align-items:center;gap:12px;flex-shrink:0;color:var(--corp-ink);text-decoration:none}
.brand-home img{width:48px;height:48px;border-radius:50%}
.brand-home>span{font:700 25px/1.1 CorpDisplay,sans-serif;letter-spacing:-.04em}
.brand-home small{display:block;margin-top:6px;font:700 8px/1.3 CorpSans,sans-serif;letter-spacing:.17em;color:#627487}
.brand-menu{display:flex;align-items:center;justify-content:flex-end;gap:24px;min-width:0}
.brand-menu nav{display:flex;gap:22px;align-items:center}
.brand-menu a{color:var(--corp-ink);text-decoration:none;white-space:nowrap}
.brand-menu nav a:hover{color:var(--corp-blue)}
.brand-languages{display:flex;gap:4px;border-left:1px solid var(--corp-line);padding-left:16px}
.brand-languages a{padding:7px 8px;border-radius:6px;font-size:12px}
.brand-languages a[aria-current=page]{background:var(--corp-ink);color:white}
.brand-menu .brand-contact{display:flex;gap:15px;align-items:center;border-bottom:1px solid var(--corp-blue);padding:9px 0;font-weight:700}
.brand-toggle{display:none;align-items:center;gap:10px;border:1px solid var(--corp-line);background:transparent;border-radius:6px;padding:10px 13px;color:var(--corp-ink);font:700 13px CorpSans,sans-serif;cursor:pointer}
.skip-link{position:fixed;top:-100px;left:20px;z-index:100;background:white;color:#0a2943;padding:10px 16px}
.skip-link:focus{top:5px}
:is(.corporate-page,.brand-header,.brand-footer) a:focus-visible,.brand-toggle:focus-visible{outline:3px solid #1384c9;outline-offset:5px}
.corp-hero{display:grid;grid-template-columns:1.2fr 1fr;gap:72px;align-items:center;padding-block:90px 80px}
.overline{font:700 11px/1.7 CorpSans,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:var(--corp-soft)}
.hero-editorial .overline{color:var(--corp-blue);margin-bottom:28px}
.corp-lead{font-size:1.15rem;color:var(--corp-soft);line-height:1.7;max-width:610px}
.corp-button{display:inline-flex;align-items:center;justify-content:center;gap:26px;margin-top:15px;padding:15px 22px;background:var(--corp-ink);border:1px solid var(--corp-ink);border-radius:7px;color:white!important;font-weight:700;font-size:14px;transition:background .2s,transform .2s}
.corp-button:hover{background:var(--corp-blue);transform:translateY(-2px)}
.corp-button.secondary{background:transparent;color:var(--corp-ink)!important}
.portfolio-map{position:relative;padding:34px;border-radius:24px;background:radial-gradient(ellipse at top right,#27719877,transparent 60%),linear-gradient(145deg,#102e46,#061a2b);color:white;box-shadow:0 35px 60px #0a294324;overflow:hidden}
.portfolio-map::before{content:'';position:absolute;inset:0;background-image:linear-gradient(#ffffff05 1px,transparent 1px),linear-gradient(90deg,#ffffff05 1px,transparent 1px);background-size:35px 35px;pointer-events:none}
.map-brand{position:relative;display:flex;align-items:center;gap:18px;margin-bottom:28px;font:700 35px/1.1 CorpDisplay,sans-serif}
.map-brand img{width:65px;height:65px;border-radius:50%}
.map-brand small{display:block;font:400 9px/1.5 CorpSans,sans-serif;letter-spacing:.2em;margin-top:8px;color:#b5cddd}
.orbit-list{position:relative;display:grid;gap:10px}
.orbit-product{display:grid;grid-template-columns:36px minmax(0,1fr) 16px;align-items:center;gap:15px;padding:14px 16px;border:1px solid #bad7ee29;background:#ffffff09;border-radius:8px;font-size:13px}
.orbit-product:hover{background:#ffffff18}
.product-mark{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;background:#dbe9f7;color:#074f88;font:700 16px CorpDisplay,sans-serif;border-radius:9px;flex-shrink:0}
.orbit-product .product-mark{width:36px;height:36px;font-size:13px}
.school .product-mark{background:#dce9d2;color:#355b2e}
.tails .product-mark{background:#ffedb8;color:#795611}
.aura .product-mark{background:#daebec;color:#185a64}
.map-foot{position:relative;font-size:11px;color:#a5bdce;margin:24px 0 0!important;border-top:1px solid #ffffff22;padding-top:20px}
.sector-strip{border-block:1px solid var(--corp-line);background:#edf1ef}
.sector-strip>.wrap{display:flex;justify-content:space-between;gap:25px;flex-wrap:wrap;padding-block:20px;font-size:12px;font-weight:700;letter-spacing:.03em}
.sector-strip span::before{content:'+';margin-right:15px;color:#1682b0}
.corp-section{padding-block:90px}
.section-intro{max-width:750px;margin-bottom:40px}
.section-intro>p:last-child{color:var(--corp-soft);max-width:680px}
.portfolio-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.portfolio-card{position:relative;display:flex;flex-direction:column;min-width:0;border:1px solid var(--corp-line);border-radius:12px;padding:32px;background:linear-gradient(140deg,#fff,#f0f5f9);transition:border-color .2s}
.portfolio-card:hover{border-color:#4a92b5}
.portfolio-card.school{background:linear-gradient(140deg,#fff,#eef3e8)}
.portfolio-card.tails{background:linear-gradient(140deg,#fffdf5,#fbf0d8)}
.portfolio-card.aura{background:linear-gradient(140deg,#fff,#ebf4f3)}
.card-top{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:35px}
.product-stage{font-size:11px;border:1px solid #9baab466;border-radius:100px;padding:5px 10px;color:#536575;max-width:75%;text-align:right}
.portfolio-card .overline{margin-bottom:10px}
.portfolio-card h3{font-size:1.6rem;margin-bottom:18px;letter-spacing:-.04em}
.portfolio-card .card-headline{color:var(--corp-ink);font-weight:700;margin-bottom:12px}
.portfolio-card>p{color:var(--corp-soft);font-size:15px}
.portfolio-card .card-link{display:flex;justify-content:space-between;gap:15px;align-items:center;margin-top:auto;padding-top:25px;color:var(--corp-ink);font-size:13px;font-weight:700}
.approach-section{background:#0b2b44;color:#f2f6f6;padding-block:80px}
.approach-section .overline{color:#81bed2}
.principles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px}
.principles article{border-top:1px solid #ffffff33;padding-top:25px}
.principles h3{font-size:1.35rem;letter-spacing:-.02em}
.principles p{font-size:15px;color:#b8cedb}
.about-grid{display:grid;grid-template-columns:1fr 2fr;gap:70px}
.about-grid>div{max-width:700px}
.about-grid>div>p:last-child{color:var(--corp-soft)}
.lab-section{background:#eaf0ef;border-block:1px solid var(--corp-line);padding-block:75px}
.lab-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.compact-card{padding:25px;background:#ffffff80!important}
.compact-card h3{font-size:1.3rem}
.compact-card .card-headline{font-size:15px}
.compact-card>p{font-size:14px}
.compact-card .card-top{margin-bottom:25px;align-items:flex-start}
.corp-contact{border-left:4px solid var(--corp-gold);padding:10px 0 10px 38px;max-width:850px}
.corp-contact>p{color:var(--corp-soft);max-width:620px}
.corp-contact>a{font:700 clamp(1.2rem,3vw,2.2rem) CorpDisplay,sans-serif;color:var(--corp-blue);overflow-wrap:anywhere}
.brand-footer{width:100%;background:#071e30;color:#b8c9d6;padding:50px max(32px,calc((100% - 1240px)/2));font:400 13px/1.7 CorpSans,sans-serif;display:grid;grid-template-columns:1fr 1fr;gap:35px}
.brand-footer a{color:#e9f0f4;text-decoration:none}
.brand-footer .footer-wordmark{font:700 30px CorpDisplay,sans-serif}
.brand-footer p{margin:15px 0}
.brand-footer nav{display:grid;grid-template-columns:1fr 1fr;gap:12px 25px}
.brand-footer .copyright{grid-column:1/-1;border-top:1px solid #ffffff20;padding-top:20px;font-size:11px}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.product-intro{padding-block:50px}
.product-context{width:min(1180px,calc(100% - 40px));margin:24px auto;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;color:#deefff;font:400 13px/1.5 CorpSans,sans-serif}
.product-context strong{font-size:15px}
.product-context nav{display:flex;flex-wrap:wrap;gap:12px 20px}
.product-context a{color:#bcdfff;text-decoration:none;padding-block:6px}
.product-context a:hover{text-decoration:underline}
@media(min-width:701px){.portfolio-grid>.portfolio-card:last-child:nth-child(odd){grid-column:1/-1}}
.product-hero-grid{display:grid;grid-template-columns:1.3fr 1fr;align-items:center;gap:70px;margin-top:45px}
.product-hero-grid h1{font-size:clamp(2.4rem,4vw,4rem)}
.product-hero-grid h2{font-size:1.5rem;letter-spacing:-.02em;line-height:1.4}
.product-brand-panel{margin:0;min-width:0;padding:28px;border:1px solid var(--corp-line);background:#edf3f5;border-radius:15px;text-align:center}
.product-logo{width:100%;object-fit:contain;border-radius:9px}
.product-brand-panel figcaption{margin-top:25px;font-size:12px}
.product-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px}
.text-link{font-size:14px;font-weight:700;color:var(--corp-blue)!important}
.product-features article{border-top-color:var(--corp-line)}
.scope-note{margin-top:45px;padding:28px;background:#edf1f0;border-radius:9px}
.scope-note h2{font-size:1.2rem}
.scope-note p{color:var(--corp-soft);margin-bottom:0}
.related-products{padding-bottom:80px}
.large-mark{display:block;padding:30px;font:700 100px CorpDisplay,sans-serif;color:var(--corp-blue)}
@media(min-width:1001px){.corp-hero{animation:corp-enter .7s ease both}.portfolio-map{animation:corp-enter .9s ease both}}
@keyframes corp-enter{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
@media(max-width:1150px){.brand-header{gap:16px;padding:15px 18px}.brand-menu{gap:15px}.brand-menu nav{gap:15px}.brand-contact{font-size:12px}.brand-languages{padding-left:10px}}
@media(max-width:1000px){.brand-toggle{display:flex;justify-self:end}.brand-menu{grid-column:1/-1;display:none;flex-direction:column;align-items:stretch;gap:20px}.brand-menu.is-open{display:flex}.brand-menu nav{display:grid;gap:0}.brand-menu nav a{padding:12px 0;border-bottom:1px solid var(--corp-line)}.brand-languages{border:0;padding:0}.brand-menu .brand-contact{align-self:flex-start}.brand-header{margin-top:12px}.corp-hero{gap:35px;padding-block:60px}.portfolio-map{padding:25px}.about-grid{gap:35px}.lab-grid{grid-template-columns:1fr 1fr}.product-hero-grid{gap:30px}}
@media(max-width:700px){.wrap{width:calc(100% - 36px)}.brand-header{width:calc(100% - 24px);padding:14px}.brand-home img{width:40px;height:40px}.brand-home>span{font-size:23px}.corp-hero{grid-template-columns:1fr;padding-block:45px;gap:35px}.corp-lead{font-size:1.02rem}.portfolio-map{max-width:100%}.sector-strip>.wrap{display:grid;grid-template-columns:1fr 1fr;gap:15px;font-size:11px}.sector-strip span::before{margin-right:8px}.portfolio-grid,.lab-grid,.principles,.about-grid,.product-hero-grid{grid-template-columns:1fr}.corp-section{padding-block:55px}.portfolio-card{padding:25px}.principles{gap:20px}.approach-section,.lab-section{padding-block:50px}.about-grid{gap:15px}.corp-contact{padding-left:22px}.brand-footer{grid-template-columns:1fr;padding:40px 24px}.brand-footer nav{gap:12px;font-size:12px}.product-hero-grid{margin-top:30px}.product-intro{padding-block:30px}.product-brand-panel{padding:20px}.product-stage{text-align:left}}
@media(prefers-reduced-motion:reduce){.corporate-page *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* Corporate identity leads the page; product logos retain their original artwork. */
.brand-symbol{position:relative;display:block;overflow:hidden;width:64px;height:64px;flex:0 0 64px}
.brand-home .brand-symbol img,.hero-brand .brand-symbol img{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:contain;transform:scale(2.6);border-radius:0}
.brand-home>.brand-symbol{font-size:inherit}
.brand-home>.brand-name{font-size:36px;color:#062949}
.brand-home small{font-size:8px;letter-spacing:.13em}
.brand-header{margin-bottom:20px}
.brand-hero{position:relative;isolation:isolate;background:radial-gradient(ellipse at 12% 10%,#1558a55c,transparent 65%),radial-gradient(ellipse at 98% 80%,#1482a733,transparent 50%),#06182e;color:#fff;border-bottom:3px solid #d9a342}
.brand-hero::before{content:'';position:absolute;inset:0;z-index:-1;background-image:linear-gradient(#9bcff207 1px,transparent 1px),linear-gradient(90deg,#9bcff207 1px,transparent 1px);background-size:48px 48px}
.brand-hero .corp-hero{grid-template-columns:1.22fr 1fr;gap:56px;padding-block:65px}
.brand-hero .hero-brand{display:flex;align-items:center;gap:20px;font-size:clamp(68px,7.5vw,108px);line-height:1;letter-spacing:-.055em;margin:0 0 28px;color:#fff}
.hero-brand .brand-symbol{width:130px;height:140px;flex-basis:130px;filter:drop-shadow(0 0 20px #298acc55)}
.brand-hero .brand-mission{font:700 clamp(24px,2.45vw,35px)/1.35 CorpDisplay,sans-serif;letter-spacing:-.025em;margin-bottom:22px;color:#e0edfc}
.brand-hero .overline{color:#81d9fa;margin-bottom:26px}
.brand-hero .corp-lead{font-size:17px;color:#b9cee4}
.brand-hero .corp-button{background:#f0c160;border-color:#f0c160;color:#09233e!important}
.brand-hero .corp-button:hover{background:#ffda86}
.brand-hero .portfolio-map{padding:28px;background:#ffffff05;border:1px solid #9dc4ec33;border-radius:18px;box-shadow:none}
.portfolio-label{position:relative;font:700 20px/1.3 CorpDisplay,sans-serif;margin-bottom:22px!important;color:#f1f6ff}
.portfolio-logo{display:inline-flex;justify-content:center;align-items:center;flex:0 0 132px;width:132px;height:78px;padding:9px;border:1px solid #b2c5d83d;border-radius:8px;overflow:hidden}
.portfolio-logo.logo-dark{background:#04132d}
.portfolio-logo.logo-light{background:#fffdf9}
.portfolio-logo img{display:block;width:100%;height:100%;max-width:100%;object-fit:contain}
.orbit-product{grid-template-columns:106px minmax(0,1fr) 16px;padding:10px 12px;gap:14px;font-weight:700;font-size:14px}
.orbit-product .portfolio-logo{width:106px;height:54px;flex-basis:106px;padding:5px}
.orbit-list{gap:9px}
.card-top{align-items:flex-start;gap:12px;flex-wrap:wrap;margin-bottom:22px}
.card-top .overline{max-width:55%;margin:4px 0}
.product-stage{max-width:100%;text-align:left}
.product-identity{display:flex;align-items:center;gap:18px;margin-bottom:25px;min-width:0}
.product-identity h3{margin:0;font-size:25px;line-height:1.25;overflow-wrap:anywhere}
.compact-card .product-identity{gap:12px}
.compact-card .portfolio-logo{width:96px;flex-basis:96px;height:66px}
.compact-card .product-identity h3{font-size:19px}
.compact-card .card-top .overline{max-width:100%}
.footer-product{display:flex;align-items:center;gap:10px}
.footer-product .portfolio-logo{width:66px;flex-basis:66px;height:40px;padding:4px}
@media(max-width:1150px){.brand-toggle{display:flex;justify-self:end}.brand-menu{grid-column:1/-1;display:none;flex-direction:column;align-items:stretch;gap:20px}.brand-menu.is-open{display:flex}.brand-menu nav{display:grid;gap:0}.brand-menu nav a{padding:12px 0;border-bottom:1px solid var(--corp-line)}.brand-languages{border:0;padding:0}.brand-menu .brand-contact{align-self:flex-start}.brand-hero .corp-hero{gap:30px;grid-template-columns:1fr 1fr}.brand-hero .hero-brand{font-size:72px;gap:12px}.hero-brand .brand-symbol{width:85px;height:100px;flex-basis:85px}.brand-hero .portfolio-map{padding:18px}.orbit-product{grid-template-columns:90px minmax(0,1fr) 12px;padding:9px;gap:10px}.orbit-product .portfolio-logo{width:90px;flex-basis:90px}}
@media(max-width:800px){.brand-hero .corp-hero{grid-template-columns:1fr;padding-block:42px}.brand-hero .hero-brand{font-size:88px}.hero-brand .brand-symbol{width:100px;height:110px;flex-basis:100px}.brand-hero .portfolio-map{padding:24px}.orbit-product{grid-template-columns:112px minmax(0,1fr) 14px}.orbit-product .portfolio-logo{width:112px;flex-basis:112px;height:60px}.brand-footer nav{grid-template-columns:1fr}}
@media(max-width:700px){.brand-home{gap:8px}.brand-home>.brand-name{font-size:28px}.brand-home small{font-size:6px}.brand-home .brand-symbol{width:46px;height:48px;flex-basis:46px}.brand-header{gap:12px;margin-bottom:12px}.brand-toggle{padding:10px;font-size:12px}.brand-hero .hero-brand{font-size:clamp(43px,14vw,76px);gap:10px;margin-bottom:24px}.hero-brand .brand-symbol{width:72px;height:86px;flex-basis:72px}.brand-hero .overline{font-size:10px;letter-spacing:.1em;margin-bottom:18px}.brand-hero .brand-mission{font-size:24px}.brand-hero .corp-lead{font-size:16px}.brand-hero .portfolio-map{padding:18px}.orbit-product{grid-template-columns:92px minmax(0,1fr) 12px;font-size:12px;gap:10px}.orbit-product .portfolio-logo{width:92px;flex-basis:92px;height:54px}.product-identity{gap:14px}.product-identity h3{font-size:21px}.product-identity .portfolio-logo{width:105px;flex-basis:105px;height:70px}.card-top .overline{max-width:100%}.brand-footer nav{grid-template-columns:1fr}.portfolio-card{padding:22px}}
@media(max-width:360px){.brand-home>.brand-name{font-size:25px}.brand-home .brand-symbol{width:40px;flex-basis:40px}.brand-home small{font-size:5.5px}.product-identity .portfolio-logo{width:86px;flex-basis:86px;height:60px}.product-identity h3{font-size:19px}.hero-brand .brand-symbol{width:58px;flex-basis:58px;height:72px}}
.evidence-figure { margin: 1.75rem 0; }
.evidence-figure img { display: block; width: 100%; height: auto; border-radius: 16px; border: 1px solid rgba(114, 174, 217, .25); }
.evidence-figure figcaption { margin-top: .75rem; font-size: .875rem; color: #b4c9df; }
.practical-examples .article-grid > article { padding: 1.5rem; border: 1px solid rgba(114, 174, 217, .2); border-radius: 16px; background: rgba(4, 18, 38, .45); }
.practical-examples .article-grid h3 { margin-top: 0; }
