/* Editorial structure, shared rhythm, and purposeful navigation. */
:root{--site-gutter:6.2%;--ease-premium:cubic-bezier(.16,1,.3,1)}
header{height:96px;padding-inline:var(--site-gutter)}
#main-navigation a{min-height:44px;display:inline-flex;align-items:center}
#main-navigation a::after{height:2px;bottom:8px;transition:width .35s var(--ease-premium)}
#main-navigation a:focus-visible::after{width:100%}
.site-footer a{display:inline-flex;align-items:center;min-height:44px}
.site-footer{padding-block:16px}
.scene-link{min-height:44px}
.deck-selector{min-height:48px}
.deck-selector>span{opacity:.72;transition:opacity .3s,color .3s}
.deck-selector:hover>span,.deck-selector:focus-visible>span,.deck-selector.current>span{opacity:1}
.deck-actions button{width:44px;height:44px}
.deck-actions button:hover{transform:none;background:#7015b815;border-color:#7015b8}
.hero-deck[data-tone=dark] .deck-actions button:hover{background:#ffffff18;border-color:#d6a5f2}
.interior-page main>.section{padding:72px var(--site-gutter) 80px;min-height:0;max-width:1560px;margin-inline:auto}
.interior-page .philosophy{background:var(--paper)}
.interior-page .section-label{justify-content:flex-start;gap:28px;margin-bottom:64px;min-height:32px;padding-bottom:22px;border-bottom:1px solid var(--line);font-size:11px;letter-spacing:1.25px}
.interior-page .section-number{color:var(--muted);font-family:Plex,sans-serif;font-size:12px;letter-spacing:1.5px;font-variant-numeric:tabular-nums;min-width:66px}
.page-title,.philosophy-page h1{font-size:clamp(32px,3.8vw,58px);line-height:1.4;letter-spacing:-.6px;text-wrap:balance}
.philosophy-layout{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:8%}
.prose{padding-top:7px;max-width:560px}
.prose .lead{font-size:clamp(23px,2.1vw,30px);line-height:1.45;letter-spacing:-.25px;margin-bottom:32px;text-wrap:pretty}
.prose p{line-height:1.7;font-size:19px;max-width:50ch;text-wrap:pretty}
.prose p:last-child{margin-bottom:0}
.focus-heading,.partner-heading{margin-bottom:64px}
.focus-list{border-top:0}
.investment-entry{display:grid;grid-template-columns:66px minmax(0,1fr) minmax(0,1fr);gap:28px;border-top:1px solid var(--line);padding-block:34px;align-items:baseline}
.investment-entry:last-child{border-bottom:1px solid var(--line)}
.investment-entry .row-num{font-family:Aldrich,sans-serif;color:var(--purple);font-size:14px}
.investment-entry .row-title{font-family:Aldrich,sans-serif;font-size:clamp(23px,2.1vw,30px);line-height:1.4;letter-spacing:0;margin:0;max-width:23ch;text-wrap:balance}
.investment-entry .focus-detail{padding:0;border:0;animation:none}
.investment-entry .focus-detail p{font-size:19px;line-height:1.65;margin:0;max-width:45ch;text-wrap:pretty}
.principles{gap:40px;margin-top:72px;counter-reset:principle}
.principles article{padding-top:25px;border-color:var(--line)}
.principles article>span{font-family:Aldrich,sans-serif;font-size:12px}
.philosophy-page .principles h2{font-size:25px;line-height:1.35;margin:24px 0 15px;text-wrap:balance}
.philosophy-page .principles p{font-size:18px;line-height:1.65;max-width:35ch;text-wrap:pretty}
.partners{gap:8%}
.partner{padding-top:28px;border-color:var(--line)}
.partner-content .eyebrow{font-family:Plex,sans-serif;font-size:11px;letter-spacing:1.6px}
.partner-content h2{font-family:Aldrich,sans-serif;font-size:clamp(28px,2.9vw,41px);line-height:1.3;letter-spacing:0;margin:18px 0 22px;text-wrap:balance}
.partner-content p{font-size:19px;line-height:1.7;max-width:42ch;margin:0;text-wrap:pretty}
.page-next{display:block;position:static;background:none;padding:0 var(--site-gutter) 60px;margin:0 auto;max-width:1560px;border:0}
.page-next a{position:relative;display:grid;grid-template-columns:94px minmax(0,1fr) 56px;gap:0;align-items:center;padding:35px 0;border-top:1px solid var(--line);min-height:112px}
.page-next a::after{content:'';position:absolute;top:-1px;left:0;width:100%;height:1px;background:var(--purple);transform:scaleX(0);transform-origin:left;transition:transform .6s var(--ease-premium)}
.page-next a:hover::after,.page-next a:focus-visible::after{transform:scaleX(1)}
.next-label{font-family:Plex,sans-serif;font-size:12px;color:var(--muted)}
.next-title{font-family:Aldrich,sans-serif;font-size:clamp(24px,2.8vw,39px);line-height:1.35;color:var(--ink);transition:color .3s}
.next-arrow{font-family:Plex,sans-serif;font-size:32px;color:var(--purple);text-align:right;transition:transform .4s var(--ease-premium)}
.page-next a:hover .next-title{color:var(--purple)}
.page-next a:hover .next-arrow{transform:translate(4px,-4px)}
.reveal{transform:translateY(14px);transition:opacity .7s ease,transform .9s var(--ease-premium)}
.reveal.visible{transform:none}
.principles article:nth-child(2),.partners .partner:nth-child(2){transition-delay:.1s}
.principles article:nth-child(3){transition-delay:.18s}
@view-transition{navigation:auto}
header{view-transition-name:site-header}
::view-transition-old(root){animation:page-depart .24s ease both}
::view-transition-new(root){animation:page-arrive .65s var(--ease-premium) both}
::view-transition-group(site-header){animation-duration:.4s}
@keyframes page-depart{to{opacity:0;transform:translateY(-6px)}}
@keyframes page-arrive{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:1600px){:root{--site-gutter:max(6.2%,calc((100vw - 1380px)/2))}.interior-page main>.section,.page-next{max-width:none}}
@media(max-width:1000px){.investment-entry{grid-template-columns:48px minmax(0,1fr) minmax(0,1fr);gap:22px}.page-next a{grid-template-columns:70px minmax(0,1fr) 44px;gap:0}.interior-page .section-label{gap:22px}.section-number{min-width:48px!important}}
@media(max-width:700px){
 :root{--site-gutter:6%}
 header{height:85px}
 .menu{min-height:44px;min-width:64px;align-items:center;justify-content:flex-end;font-size:13px}
 #main-navigation{display:flex;visibility:hidden;opacity:0;pointer-events:none;transform:translateY(-8px);top:85px;gap:0;padding:18px var(--site-gutter) 24px;transition:opacity .25s,transform .4s var(--ease-premium),visibility 0s .4s}
 #main-navigation.open{visibility:visible;opacity:1;pointer-events:auto;transform:none;transition-delay:0s}
 #main-navigation a{font-family:Aldrich,sans-serif;font-size:21px;padding:15px 0;min-height:56px;border-bottom:1px solid var(--line)}
 #main-navigation a::after{bottom:-1px}
 .interior-page main>.section{padding-top:40px;padding-bottom:54px}
 .interior-page .section-label{margin-bottom:40px;padding-bottom:20px;font-size:10px;gap:20px}
 .interior-page .section-label>span:last-child{max-width:none;text-align:left;font-size:10px}
 .page-title,.philosophy-page h1{font-size:clamp(28px,6.7vw,42px);letter-spacing:-.4px}
 .philosophy-layout{grid-template-columns:1fr;gap:32px}
 .prose{padding-top:0}
 .prose .lead{font-size:24px;margin-bottom:24px}
 .prose p,.investment-entry .focus-detail p,.partner-content p{font-size:18px;line-height:1.65}
 .focus-heading,.partner-heading{margin-bottom:38px}
 .investment-entry{grid-template-columns:28px minmax(0,1fr);gap:12px 14px;padding-block:28px}
 .investment-entry .row-title{font-size:24px}
 .investment-entry .focus-detail{grid-column:2}
 .principles{grid-template-columns:1fr;margin-top:42px;gap:28px}
 .philosophy-page .principles h2{font-size:24px;margin-top:20px}
 .partners{grid-template-columns:1fr;gap:40px}
 .partner-content h2{font-size:32px}
 .page-next{padding-bottom:32px}
 .page-next a{grid-template-columns:minmax(0,1fr) 40px;gap:12px;padding:27px 0;min-height:116px}
 .next-label{grid-column:1;font-size:12px}
 .next-title{grid-column:1;font-size:28px}
 .next-arrow{grid-column:2;grid-row:1/3;font-size:30px}
 .deck-actions{gap:8px}
 .deck-actions button{width:44px;height:44px}
 .deck-controls{bottom:19px}
 .scene-rule{bottom:150px}
 .site-footer{gap:12px}
 .site-footer>div{gap:8px 24px}
}
@media(prefers-reduced-motion:reduce){
 @view-transition{navigation:none}
 ::view-transition-old(root),::view-transition-new(root),::view-transition-group(site-header){animation:none!important}
 .reveal{opacity:1;transform:none}
 #main-navigation,.page-next a::after,.next-arrow{transition:none}
}

/* Phone layouts only: desktop compositions remain untouched. */
@media(max-width:700px){
 :root{--phone-header:76px;--phone-controls:140px;--site-gutter:clamp(20px,6vw,30px)}
 html{scroll-padding-top:24px}
 header,.slides-home header{height:var(--phone-header);gap:14px}
 .brand{min-width:0}
 .home-company-name{font-size:clamp(14px,4.1vw,18px)!important;letter-spacing:.45px!important;gap:6px;white-space:nowrap}
 .home-company-name small{font-size:8px;letter-spacing:2.3px}
 .menu{flex-shrink:0;min-width:60px;min-height:48px;gap:10px}
 .wordmark-window{width:clamp(180px,58vw,230px);height:58px}
 .brand .wordmark-window img{width:calc(100% + 30px);left:-8px;top:clamp(-39px,-8.5vw,-30px)}
 #main-navigation{top:var(--phone-header);padding:12px var(--site-gutter) 24px;max-height:calc(100svh - var(--phone-header));overflow-y:auto;overscroll-behavior:contain;box-shadow:0 24px 32px -24px #26172f30}
 #main-navigation a{font-size:22px;min-height:60px;padding:16px 0}
 .hero-deck{height:calc(100svh - var(--phone-header));min-height:540px;touch-action:pan-y pinch-zoom}
 .brand-scene{display:grid;grid-template-rows:auto minmax(0,1fr);gap:8px;padding:24px var(--site-gutter) var(--phone-controls)}
 .brand-scene .scene-copy{position:relative;inset:auto;transform:none;min-width:0}
 .scene-copy h1{font-size:clamp(30px,8.4vw,40px);line-height:1.4;letter-spacing:-.6px}
 .brand-scene .purpose-line{font-size:clamp(24px,6.5vw,32px);line-height:1.5;white-space:nowrap}
 .scene-link{margin-top:18px;min-height:44px;padding-bottom:7px;font-size:16px;gap:34px}
 .brand-scene .scene-logo{position:relative;inset:auto;transform:none;translate:none;justify-self:center;align-self:center;width:min(100%,clamp(180px,calc(100svh - 420px),360px));max-width:none;aspect-ratio:1}
 .brand-scene .scene-logo img{width:100%;height:auto}
 .generations-scene .scene-copy,.investment-scene .scene-copy{left:var(--site-gutter);right:var(--site-gutter);top:calc((100% - var(--phone-controls))/2);transform:translateY(-50%)}
 .generations-scene h2{font-size:clamp(27px,7.3vw,40px);line-height:1.6;letter-spacing:-.5px}
 .generations-scene .scene-link{margin-top:24px}
 .ribbon-scene{right:-65%;width:145%;top:-8%;height:116%;gap:18px;opacity:.48}
 .ribbon-scene i{height:28px}
 .investment-scene h2{font-size:clamp(24px,6.2vw,34px);line-height:1.65;letter-spacing:-.4px}
 .investment-scene .scene-copy p{font-size:18px;line-height:1.65;margin-top:22px;max-width:32ch}
 .investment-scene .scene-copy p br{display:none}
 .investment-lines{right:-30%;width:65%;opacity:.24}
 .deck-controls{left:var(--site-gutter);right:var(--site-gutter);bottom:max(16px,env(safe-area-inset-bottom));display:grid;grid-template-columns:minmax(0,1fr);gap:10px}
 .deck-selectors{width:100%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
 .deck-selector{min-width:0;min-height:48px;padding:8px 0;gap:9px;align-items:stretch}
 .deck-selector>span{gap:6px;font-size:11px;white-space:nowrap}
 .deck-selector small{font-size:12px}
 .deck-selector i{width:100%;height:2px}
 .deck-actions{width:100%;display:flex;justify-content:flex-end;gap:10px;margin:0}
 .deck-actions button{width:48px;height:48px;font-size:20px}
 .deck-actions .deck-pause{margin-right:auto}
 .scene-rule{left:var(--site-gutter);right:var(--site-gutter);bottom:var(--phone-controls)}
 .interior-page main{min-height:0}
 .interior-page main>.section{padding:32px var(--site-gutter) 44px}
 .interior-page .section-label{margin-bottom:30px;padding-bottom:17px;gap:15px;line-height:1.5}
 .interior-page .section-number{min-width:44px!important;font-size:11px}
 .page-title,.philosophy-page h1{font-size:clamp(27px,6.7vw,40px);line-height:1.5;letter-spacing:-.5px;overflow-wrap:normal}
 .philosophy-layout{gap:28px}
 .prose .lead{font-size:22px;line-height:1.5;margin-bottom:22px}
 .prose p,.investment-entry .focus-detail p,.partner-content p{font-size:18px;line-height:1.7}
 .prose p{margin-bottom:20px}
 .focus-heading,.partner-heading{margin-bottom:32px}
 .investment-entry{grid-template-columns:22px minmax(0,1fr);gap:11px 12px;padding:26px 0}
 .investment-entry .row-title{font-size:23px;line-height:1.4;text-wrap:pretty}
 .investment-entry .row-num{font-size:12px}
 .investment-entry .focus-detail{padding:0}
 .principles{margin-top:38px;gap:26px}
 .principles article{padding-top:22px}
 .philosophy-page .principles h2{font-size:23px;margin:17px 0 12px}
 .philosophy-page .principles p{max-width:none;font-size:18px;line-height:1.7}
 .partners{gap:34px}
 .partner{padding-top:24px}
 .partner-content h2{font-size:clamp(27px,7.4vw,34px);margin:14px 0 18px}
 .partner-content .eyebrow{font-size:10px}
 .page-next{padding:0 var(--site-gutter) 28px}
 .page-next a{padding:24px 0;min-height:108px;gap:10px}
 .next-title{font-size:26px}
 .site-footer{padding:20px var(--site-gutter) max(20px,env(safe-area-inset-bottom));gap:12px;font-size:11px}
 .site-footer>div{display:grid;grid-template-columns:1fr 1fr;width:100%;gap:0 24px}
 .site-footer a{font-size:14px;min-height:44px}
 .intro-art{width:min(76vw,340px,52svh)}
 .intro-enter{right:var(--site-gutter);bottom:max(24px,env(safe-area-inset-bottom));min-height:48px}
}
@media(max-width:700px) and (max-height:620px){
 .hero-deck{min-height:520px}
 .brand-scene{padding-top:20px}
 .brand-scene .scene-logo{width:min(100%,190px)}
 .scene-copy h1{font-size:30px}
 .brand-scene .purpose-line{font-size:24px}
}
@media(max-width:700px) and (orientation:landscape){
 .hero-deck{height:auto;min-height:580px}
 .brand-scene .scene-logo{width:220px}
}
/* Keep the complete interior-header wordmark inside its mobile window. */
@media(max-width:700px){
 .interior-page header .brand .wordmark-window{height:auto;aspect-ratio:1584/400}
 .interior-page header .brand .wordmark-window img{width:105.555556%;height:auto;left:-4.040404%;top:-62.5%}
}
