/* Phase 02: composition, using phase-one design tokens. */
.hero { min-height:830px; padding-top:180px; position:relative; display:grid; grid-template-columns:repeat(var(--columns),minmax(0,1fr)); column-gap:var(--grid-gap); align-items:center; }
.hero::before { content:''; position:absolute; inset:0 -10% 0 28%; background:radial-gradient(ellipse at 62% 45%,var(--accent-ambient),var(--clear) 66%); pointer-events:none; }
main { overflow:clip; }.hero-copy { grid-column:1/7; position:relative; z-index:2; padding-block:var(--space-9); }
.hero h1 { font-size:var(--display-xl); line-height:1.01; margin-top:var(--space-8); letter-spacing:-.06em; }
.hero h1 span { color:var(--accent-primary); }.hero-copy>p:not(.eyebrow) { margin-top:var(--space-7); max-width:390px; font-size:var(--body-l); line-height:1.65; }.hero .actions { margin-top:var(--space-8); }.hero .eyebrow { font-size:.6875rem; }
.origin-scene { position:relative; grid-column:7/13; width:calc(100% + 70px); margin-left:-40px; aspect-ratio:1; perspective:1000px; }
.origin-art { display:block; width:100%; height:100%; transform:rotateY(var(--tilt-x,0deg)) rotateX(var(--tilt-y,0deg)); transition:transform var(--motion-standard) var(--ease-standard); }
.scene-label { position:absolute; display:flex; flex-direction:column; padding:var(--space-3); z-index:3; font-size:var(--body-s); min-height:48px; line-height:1.5; }.scene-label .mono { font-size:.625rem; color:var(--text-muted); }.scene-label:hover { color:var(--accent-primary); }.scene-label::before { content:''; position:absolute; inset:0; background:var(--bg-base); opacity:.6; z-index:-1; border-radius:var(--radius-sm); }
.scene-portana { top:23%; left:0; }.scene-giti { top:8%; right:2%; }.scene-katibe { top:66%; right:-1%; }.scene-box { top:84%; left:0; }.scene-caption { position:absolute; bottom:-3%; left:28%; color:var(--text-muted); font-size:.625rem; letter-spacing:.1em; }
.hero-bottom { grid-column:1/-1; display:flex; align-items:center; justify-content:space-between; gap:var(--space-6); border-top:1px solid var(--border-subtle); padding:var(--space-6) 0; margin-top:var(--space-8); position:relative; }.hero-bottom .mono { color:var(--text-muted); font-size:.625rem; letter-spacing:.08em; }.scroll-link { display:flex; gap:var(--space-5); align-items:center; min-height:44px; font-size:var(--body-s); }.scroll-link svg { transform:rotate(90deg); }
.chapter { padding-block:var(--space-11); border-bottom:1px solid var(--border-subtle); }.chapter-intro { display:grid; grid-template-columns:repeat(var(--columns),minmax(0,1fr)); gap:var(--grid-gap); }.chapter-intro .eyebrow { grid-column:1/5; align-self:start; padding-top:var(--space-4); }.chapter-intro .statement { grid-column:5/-1; }.statement h2 { font-size:var(--h2); max-width:850px; }.statement p { max-width:550px; margin-top:var(--space-6); }.statement .text-link { margin-top:var(--space-6); }
.product-index { margin-top:var(--space-9); border-top:1px solid var(--border-subtle); }.product-line { display:grid; grid-template-columns:60px 1.3fr 1fr 150px 24px; gap:var(--space-6); align-items:center; min-height:112px; border-bottom:1px solid var(--border-subtle); position:relative; transition:background var(--motion-standard); }.product-line:hover { background:var(--glass-subtle-fill); }.product-line>.mono { color:var(--text-muted); }.product-line h3 { font-size:2rem; }.product-line>p { font-size:var(--body-s); }.product-line>.domain { font-family:var(--font-mono); font-size:var(--technical); color:var(--text-secondary); }.product-line svg { color:var(--text-muted); }.product-line:hover svg { color:var(--accent-primary); transform:translate(2px,-2px); }
.constellation-section { background:radial-gradient(ellipse at 45% 45%,var(--accent-ambient),var(--clear) 65%); }.constellation-top { display:flex; justify-content:space-between; align-items:flex-start; gap:var(--space-8); }.constellation-top>p { max-width:290px; font-size:var(--body-s); margin-top:var(--space-8); }.constellation { position:relative; height:470px; max-width:1050px; margin:auto; }.constellation-lines { width:100%; height:100%; position:absolute; inset:0; }.constellation-path { stroke:var(--border-glass); stroke-width:1; fill:none; transition:stroke var(--motion-standard); }.constellation-path.lit { stroke:var(--accent-primary); }.constellation-root { position:absolute; top:36%; left:43%; height:100px; width:140px; display:flex; flex-direction:column; justify-content:center; align-items:center; gap:var(--space-3); font-size:var(--body-s); }.constellation-root .brand-mark { width:34px; height:40px; }
.product-node { position:absolute; width:210px; min-height:88px; text-align:left; border-radius:var(--radius-md); display:flex; align-items:center; gap:var(--space-5); padding:var(--space-5); color:var(--text-primary); }.node-monogram { display:grid; place-items:center; width:40px; height:40px; border:1px solid var(--border-glass); border-radius:var(--radius-sm); font-size:1.25rem; font-weight:300; flex-shrink:0; }.product-node strong { font-weight:400; display:block; }.product-node small { display:block; color:var(--text-muted); font-family:var(--font-mono); font-size:.625rem; margin-top:var(--space-2); }.product-node[aria-pressed=true] { border-color:var(--accent-primary); background:var(--glass-elevated-fill); }.node-portana { top:12%; left:5%; }.node-giti { top:10%; right:5%; }.node-box { bottom:13%; left:9%; }.node-katibe { bottom:12%; right:9%; }
.product-detail { display:flex; gap:var(--space-7); align-items:center; max-width:800px; margin:auto; border-top:1px solid var(--border-glass); padding-top:var(--space-6); min-height:100px; }.product-detail h3 { font-size:var(--h4); min-width:115px; }.product-detail p { font-size:var(--body-s); margin-right:auto; }.product-detail a { white-space:nowrap; }.product-detail .mono { font-size:.6875rem; }
.investments-teaser { display:grid; grid-template-columns:1fr 1.2fr; gap:var(--space-10); }.investments-teaser h2 { margin-block:var(--space-6); }.vacant-window { min-height:320px; display:flex; align-items:center; justify-content:center; position:relative; }.vacant-window::before,.vacant-window::after { content:''; position:absolute; inset:10% 15%; border:1px solid var(--border-glass); transform:skewY(-10deg); }.vacant-window::after { inset:15% 10% 5% 20%; border-color:var(--border-subtle); }.vacant-window>div { position:relative; z-index:1; text-align:center; padding:var(--space-7); background:var(--bg-base); }.vacant-window .empty-line { width:60px; height:1px; background:var(--accent-primary); display:block; margin:0 auto var(--space-6); }.vacant-window p { font-size:var(--body-s); }
.pathways { margin-top:var(--space-8); }.pathway { display:grid; grid-template-columns:60px 1fr 1fr 24px; gap:var(--space-6); align-items:center; padding-block:var(--space-7); border-top:1px solid var(--border-subtle); }.pathway:last-child { border-bottom:1px solid var(--border-subtle); }.pathway h3 { font-size:1.7rem; }.pathway>p { font-size:var(--body-s); }.pathway>.mono { color:var(--text-muted); }.pathway:hover h3,.pathway:hover svg { color:var(--accent-primary); }.final-cta { padding-block:var(--space-11); display:flex; align-items:end; justify-content:space-between; gap:var(--space-8); }.final-cta h2 { font-size:var(--display-l); }.final-cta .eyebrow { margin-bottom:var(--space-7); }
.page-header { padding-top:200px; padding-bottom:var(--space-9); position:relative; }.page-header::after { content:''; position:absolute; inset:0 -20% 0 30%; background:radial-gradient(ellipse,var(--accent-ambient),var(--clear) 65%); z-index:-1; }.page-header h1 { margin-top:var(--space-7); max-width:1000px; }.page-header>.lede { max-width:640px; font-size:var(--body-l); margin-top:var(--space-7); }.page-header>.caption { margin-top:var(--space-6); }.page-body { padding-bottom:var(--space-10); }.editorial-split { display:grid; grid-template-columns:1fr 1.6fr; gap:var(--space-10); padding-block:var(--space-9); border-top:1px solid var(--border-subtle); }.editorial-split h2 { font-size:var(--h3); }.editorial-split .reading>p { font-size:var(--body-l); }.editorial-split .reading>p+p { margin-top:var(--space-6); }.locked-position { border-left:1px solid var(--border-strong); margin:var(--space-7) 0 0; padding-left:var(--space-6); font-size:var(--body-m); }
.people-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:var(--space-9); }.person { padding-block:var(--space-7); border-top:1px solid var(--border-subtle); display:grid; grid-template-columns:48px 1fr; gap:var(--space-6); }.person h3 { font-size:1.5rem; margin-bottom:var(--space-3); }.person p { font-size:var(--body-s); }.person .caption { color:var(--accent-primary); margin-bottom:var(--space-3); }.domain-note { display:flex; align-items:baseline; gap:var(--space-6); padding-block:var(--space-5); border-bottom:1px solid var(--border-subtle); }.domain-note .mono { min-width:85px; color:var(--accent-primary); }.domain-note p { font-size:var(--body-s); }
.product-chapter { display:grid; grid-template-columns:1.15fr 1fr; column-gap:var(--space-10); padding-block:var(--space-9); border-top:1px solid var(--border-subtle); align-items:center; }.product-chapter:nth-child(even) .product-visual { order:2; }.product-description h2 { font-size:var(--h1); margin-top:var(--space-6); }.product-description h3 { font-size:var(--h4); margin-top:var(--space-6); letter-spacing:-.02em; line-height:1.4; }.product-description p { margin-top:var(--space-5); }.product-description .actions { margin-top:var(--space-7); }.product-visual { min-height:390px; position:relative; display:grid; place-items:center; background:radial-gradient(ellipse,var(--accent-ambient),var(--clear) 70%); overflow:hidden; }.visual-caption { position:absolute; left:var(--space-6); bottom:var(--space-5); color:var(--text-muted); font-size:.625rem; letter-spacing:.1em; }.visual-plane { width:230px; height:260px; border:1px solid var(--border-glass); background:linear-gradient(125deg,var(--glass-subtle-fill),var(--glass-elevated-fill)); box-shadow:inset 0 1px 0 var(--highlight),var(--shadow-3); transform:rotateY(-25deg) rotateX(15deg) rotateZ(-12deg); position:relative; }.visual-plane::before,.visual-plane::after { content:''; position:absolute; inset:24px -24px -24px 24px; border:1px solid var(--border-glass); z-index:-1; }.visual-plane::after { inset:48px -48px -48px 48px; border-color:var(--border-subtle); }.visual-plane .brand-mark { position:absolute; top:45%; left:45%; }.talk-object { width:210px; height:210px; display:flex; align-items:center; gap:9px; justify-content:center; border:1px solid var(--border-glass); border-radius:var(--radius-full); background:var(--glass-subtle-fill); box-shadow:inset 0 1px 0 var(--highlight),var(--shadow-2); }.talk-object span { width:3px; height:var(--wave-height); border-radius:var(--radius-full); background:var(--accent-primary); opacity:.65; }.talk-object::before { content:''; position:absolute; width:260px; height:260px; border:1px solid var(--border-subtle); border-radius:var(--radius-full); }.box-object { width:230px; height:170px; border:1px solid var(--border-strong); background:linear-gradient(130deg,var(--surface-hover),var(--bg-elevated)); transform:skewY(-10deg); border-radius:var(--radius-sm); box-shadow:var(--shadow-3); position:relative; }.box-object::before { content:''; position:absolute; inset:16px; border:1px solid var(--border-subtle); }.box-object::after { content:''; position:absolute; height:3px; width:22px; background:var(--accent-primary); bottom:32px; left:32px; }.box-object .brand-mark { position:absolute; right:32px; bottom:32px; }.graph-object { width:300px; height:270px; }.graph-object circle { fill:var(--surface-secondary); stroke:var(--accent-primary); }.graph-object path { stroke:var(--border-strong); }.product-footnote { margin-top:var(--space-7); font-size:var(--body-s); padding-top:var(--space-5); border-top:1px solid var(--border-subtle); }
.empty-layout { display:grid; grid-template-columns:1.1fr 1fr; gap:var(--space-10); align-items:center; padding-bottom:var(--space-9); }.empty-layout .vacant-window { min-height:440px; }.empty-copy .badge { margin-bottom:var(--space-7); }.empty-copy p { max-width:460px; }.empty-copy .text-link { margin-top:var(--space-6); }.empty-meta { display:flex; justify-content:space-between; border-block:1px solid var(--border-subtle); padding-block:var(--space-6); font-size:var(--body-s); color:var(--text-secondary); }
.careers-toolbar { display:grid; grid-template-columns:2fr 1fr 1fr; gap:var(--space-6); padding-block:var(--space-7); border-block:1px solid var(--border-subtle); }.careers-empty { text-align:center; padding:var(--space-10) var(--space-6); }.careers-empty .empty-symbol { margin:auto; }.careers-empty h2 { margin-block:var(--space-6); }.careers-empty p { max-width:550px; margin:auto; }.careers-empty .button { margin-top:var(--space-6); }
.contact-layout { display:grid; grid-template-columns:1fr 1fr; gap:var(--space-10); padding-bottom:var(--space-9); }.contact-panel { padding:var(--space-8); border-radius:var(--radius-md); }.contact-panel h2 { font-size:var(--h3); margin-block:var(--space-7); }.contact-panel p { font-size:var(--body-s); }.contact-slot { display:flex; align-items:center; justify-content:space-between; gap:var(--space-5); padding-block:var(--space-5); border-bottom:1px solid var(--border-subtle); }.contact-slot>span:last-child { font-size:var(--body-s); color:var(--text-muted); }.contact-context h2 { font-size:var(--h3); margin-bottom:var(--space-6); }.contact-context p { margin-bottom:var(--space-6); }.contact-context { padding-top:var(--space-6); }.contact-context .subsection { border-top:1px solid var(--border-subtle); padding-top:var(--space-7); margin-top:var(--space-7); }
.legal-index { border-top:1px solid var(--border-subtle); }.legal-head { display:grid; grid-template-columns:1fr 180px 120px; gap:var(--space-6); padding-block:var(--space-5); border-bottom:1px solid var(--border-subtle); color:var(--text-muted); }.legal-empty { padding:var(--space-9) 0; max-width:700px; }.legal-empty h2 { font-size:var(--h3); margin-block:var(--space-6); }.legal-empty .caption { margin-top:var(--space-6); }.legal-note { display:flex; gap:var(--space-9); padding-block:var(--space-7); border-top:1px solid var(--border-subtle); }.legal-note p { font-size:var(--body-s); max-width:600px; }
.not-found { min-height:75vh; display:flex; align-items:center; padding-top:var(--space-11); padding-bottom:var(--space-9); gap:var(--space-10); }.not-found .code { font-size:clamp(7rem,20vw,18rem); font-weight:200; letter-spacing:-.08em; line-height:1; color:var(--border-strong); }.not-found h1 { font-size:var(--h2); margin-block:var(--space-6); }.not-found .actions { margin-top:var(--space-7); }
@media(max-width:1200px) { .hero { min-height:760px; padding-top:160px; }.hero h1 { font-size:clamp(3.5rem,7vw,6rem); }.origin-scene { width:calc(100% + 40px); margin-left:-20px; }.product-line { grid-template-columns:40px 1fr 1fr 130px 20px; gap:var(--space-5); }.product-chapter { column-gap:var(--space-8); }.product-node { width:185px; }.node-portana { left:1%; }.node-giti { right:1%; }.node-box { left:4%; }.node-katibe { right:4%; } }
@media(max-width:1023px) { .hero { min-height:720px; padding-top:160px; }.hero-copy { grid-column:1/5; padding-block:var(--space-7); }.origin-scene { grid-column:5/9; }.hero h1 { font-size:clamp(3rem,7.5vw,5rem); }.hero-copy>p:not(.eyebrow) { font-size:var(--body-m); }.scene-label { font-size:var(--caption); }.scene-label .mono { display:none; }.chapter { padding-block:var(--space-10); }.chapter-intro .eyebrow { grid-column:1/4; }.chapter-intro .statement { grid-column:4/-1; }.product-line { grid-template-columns:36px 1fr 1fr 24px; }.product-line>.domain { display:none; }.product-line h3 { font-size:1.6rem; }.constellation { height:430px; }.constellation-root { left:40%; }.product-node { width:165px; gap:var(--space-3); padding:var(--space-4); }.node-monogram { width:32px;height:32px; }.product-detail { flex-wrap:wrap; gap:var(--space-5); }.product-detail p { flex:1; }.product-detail a { margin-left:auto; }.investments-teaser { gap:var(--space-8); }.pathway { grid-template-columns:32px 1fr 1fr 20px; gap:var(--space-5); }.pathway h3 { font-size:1.4rem; }.final-cta { padding-block:var(--space-10); }.editorial-split { gap:var(--space-8); }.product-chapter { column-gap:var(--space-7); }.product-visual { min-height:320px; }.visual-plane { width:160px;height:200px; }.contact-layout { gap:var(--space-8); }.contact-panel { padding:var(--space-7); }.people-list { gap:var(--space-7); }.person { gap:var(--space-5); }.page-header { padding-top:170px; } }
@media(max-width:639px) { .hero { display:flex; flex-direction:column; align-items:stretch; min-height:0; padding-top:144px; }.hero-copy { padding:0; }.hero h1 { font-size:clamp(3.6rem,13.5vw,5rem); margin-top:var(--space-7); }.hero-copy>p:not(.eyebrow) { max-width:300px; margin-top:var(--space-6); }.hero .actions { margin-top:var(--space-7); }.hero .actions .button { padding-inline:var(--space-5); }.origin-scene { margin:var(--space-6) auto 0; width:100%; max-width:420px; }.scene-label { font-size:var(--body-s); }.scene-label .mono { display:block; font-size:.5625rem; }.scene-caption { left:22%; font-size:.5625rem; }.hero-bottom { margin-top:var(--space-8); padding-block:var(--space-5); }.hero-bottom>.mono { display:none; }.hero-bottom .scroll-link { width:100%; justify-content:space-between; }.chapter { padding-block:var(--space-9); }.chapter-intro { display:block; }.chapter-intro .eyebrow { margin-bottom:var(--space-7); }.product-index { margin-top:var(--space-8); }.product-line { grid-template-columns:24px 1fr 20px; gap:var(--space-4); padding-block:var(--space-6); min-height:100px; }.product-line h3 { font-size:1.75rem; }.product-line>p { grid-column:2; grid-row:2; margin-top:calc(-1 * var(--space-3)); }.product-line>svg { grid-column:3; grid-row:1/3; }.constellation-top { display:block; }.constellation-top>p { margin-top:0; margin-bottom:var(--space-7); max-width:100%; }.constellation { height:auto; display:flex; flex-direction:column; gap:var(--space-5); padding-left:var(--space-7); position:relative; }.constellation:before { content:''; position:absolute; top:50px; bottom:44px; left:16px; width:1px; background:var(--border-glass); }.constellation-lines { display:none; }.constellation-root { position:relative; top:auto; left:auto; width:100%; align-items:flex-start; height:80px; flex-direction:row; justify-content:flex-start; gap:var(--space-5); }.constellation-root span { padding-top:var(--space-3); }.product-node { width:100%; position:relative; inset:auto; min-height:82px; gap:var(--space-5); padding:var(--space-5); }.product-node:before { content:''; position:absolute; right:100%; width:17px; top:50%; height:1px; background:var(--border-glass); }.product-node small { font-size:var(--caption); }.node-monogram { width:40px;height:40px; }.product-detail { margin-top:var(--space-7); gap:var(--space-4); }.product-detail h3 { width:100%; }.product-detail p { flex:auto; }.product-detail a { margin-left:0; }.investments-teaser { display:flex; flex-direction:column; gap:var(--space-7); }.vacant-window { min-height:240px; }.pathway { grid-template-columns:24px 1fr 20px; padding-block:var(--space-6); }.pathway h3 { font-size:1.5rem; }.pathway>p { grid-column:2; }.pathway>svg { grid-column:3; grid-row:1/3; }.final-cta { flex-direction:column; align-items:flex-start; padding-block:var(--space-9); gap:var(--space-7); }.final-cta h2 { font-size:3.2rem; }.page-header { padding-top:144px; padding-bottom:var(--space-8); }.page-header h1 { font-size:3.25rem; }.page-header>.lede { font-size:var(--body-m); }.page-body { padding-bottom:var(--space-9); }.editorial-split { display:block; padding-block:var(--space-8); }.editorial-split>h2 { margin-bottom:var(--space-7); }.editorial-split .reading>p { font-size:var(--body-m); }.people-list { grid-template-columns:1fr; gap:0; }.person { padding-block:var(--space-6); }.product-chapter { display:flex; flex-direction:column; padding-block:var(--space-8); gap:var(--space-7); align-items:stretch; }.product-chapter:nth-child(even) .product-visual { order:0; }.product-visual { min-height:300px; }.product-description h2 { font-size:3rem; margin-top:var(--space-5); }.product-description h3 { margin-top:var(--space-5); }.empty-layout { display:flex; flex-direction:column; gap:var(--space-7); }.empty-layout .vacant-window { width:100%; min-height:280px; }.empty-meta { flex-direction:column; gap:var(--space-3); }.careers-toolbar { grid-template-columns:1fr 1fr; gap:var(--space-5); }.careers-toolbar>.field:first-child { grid-column:1/-1; }.careers-empty { padding:var(--space-9) 0; }.contact-layout { display:flex; flex-direction:column; gap:var(--space-8); }.contact-panel { padding:var(--space-6); }.contact-slot { align-items:flex-start; flex-direction:column; gap:var(--space-3); }.legal-head { grid-template-columns:1fr auto; }.legal-head span:last-child { display:none; }.legal-note { display:block; }.legal-note p { margin-top:var(--space-5); }.not-found { flex-direction:column; align-items:flex-start; gap:var(--space-7); padding-top:160px; }.not-found .code { font-size:8rem; } }
