.princ-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:clamp(28px,4vw,56px);gap:clamp(28px,4vw,56px)}.value-card{position:relative;background:rgba(255,255,255,.04);box-shadow:inset 0 0 0 1px rgba(255,255,255,.1);border-radius:6px;padding:clamp(28px,3vw,40px);overflow:hidden;transition:background .32s ease,transform .32s ease,box-shadow .32s ease;cursor:default}.value-card:after{content:"";position:absolute;inset:0;border-radius:6px;box-shadow:inset 0 0 0 2px var(--gold-500);opacity:0;transition:opacity .35s cubic-bezier(.22,1,.36,1);pointer-events:none}.value-card:hover{background:var(--green-800,#073B2E);box-shadow:inset 0 0 0 1px rgba(255,255,255,.18);transform:translateY(-4px)}.value-card:hover:after{opacity:1}.value-card .vbar{position:absolute;left:0;right:0;bottom:0;height:3px;background:var(--gold-500);transform:scaleX(0);transform-origin:left;transition:transform .45s cubic-bezier(.22,1,.36,1)}.value-card:hover .vbar{transform:scaleX(1)}.value-card.on{background:var(--green-800,#073B2E);box-shadow:inset 0 0 0 1px rgba(255,255,255,.18)}.value-card.on:after{opacity:1}.value-card.on .vbar{transform:scaleX(1)}.exp-card-wrap{position:relative;transition:background var(--dur-base) var(--ease-out),box-shadow var(--dur-base) var(--ease-out),transform var(--dur-base) var(--ease-out)}.exp-card-wrap:after{content:"";position:absolute;inset:0;box-shadow:inset 0 0 0 2px var(--gold-500);opacity:0;transition:opacity .35s cubic-bezier(.22,1,.36,1);z-index:2;pointer-events:none;border-radius:var(--radius-lg)}.exp-card-wrap:hover:after{opacity:1}.exp-card-wrap:hover img{transform:scale(1.035)}.exp-card-wrap:hover{background:var(--ink-900,#1E2226)!important;box-shadow:inset 0 0 0 1px rgba(255,255,255,.16)!important;transform:translateY(-4px)}.exp-rail{scrollbar-width:none;gap:28px}.exp-rail::-webkit-scrollbar{display:none}.exp-card-wrap{flex:0 0 min(528px,52vw);scroll-snap-align:start}@media (max-width:900px){.exp-rail{gap:40px}.exp-card-wrap{flex-grow:0;flex-shrink:0;flex-basis:calc(100vw - 40px);scroll-snap-align:center}}.photostack>div>div{transition:transform .3s cubic-bezier(.22,1,.36,1)}.photostack>div>div:hover{z-index:20!important;transform:scale(1.06) rotate(0deg)!important}.pev-row{display:grid;align-items:center;grid-template-columns:minmax(120px,160px) 1fr auto;grid-template-areas:"meta body rsvp";grid-gap:clamp(16px,3vw,40px);gap:clamp(16px,3vw,40px)}.pev-meta{grid-area:meta}.pev-body{grid-area:body}.pev-rsvp{grid-area:rsvp}@media (max-width:900px){.pev-row{grid-template-columns:1fr auto;grid-template-areas:"meta rsvp" "body body";row-gap:10px;column-gap:12px}.pev-rsvp{justify-self:end}}.ideas-row{display:grid;grid-template-columns:96px 1fr auto;align-items:center;grid-gap:clamp(18px,2.5vw,32px);gap:clamp(18px,2.5vw,32px)}.ideas-thumb{width:96px;height:72px}@media (max-width:900px){.ideas-row{grid-template-columns:64px 1fr 24px;gap:16px}.ideas-thumb{width:64px;height:52px}}.consilience-pop{opacity:0;visibility:hidden;transition:opacity .25s var(--ease-out),visibility .25s}.consilience-term:hover .consilience-pop{opacity:1;visibility:visible}.consilience-row{transition:background var(--dur-base) var(--ease-out)}.consilience-row:hover{background:var(--paper-100,#F2F0EB)}.navmenu{position:fixed;inset:0;z-index:60;background:var(--ink-900);display:flex;flex-direction:column;padding-top:env(safe-area-inset-top);animation:fadeIn var(--dur-fast) var(--ease-out)}.navmenu-head{display:flex;align-items:center;justify-content:space-between;padding:10px 12px 10px clamp(24px,6vw,40px)}.navmenu nav{flex:1 1;display:flex;flex-direction:column;justify-content:center;gap:4px;padding:0 clamp(24px,6vw,40px)}.navmenu a{font-family:var(--font-serif);font-size:34px;letter-spacing:-.02em;color:var(--paper-0);text-decoration:none;padding:12px 0;opacity:0;animation:riseIn .42s var(--ease-out) both}.navmenu-foot{padding:0 clamp(24px,6vw,40px) calc(40px + env(safe-area-inset-bottom))}.navmenu-close{width:44px;height:44px;display:grid;place-items:center;background:none;border:none;cursor:pointer;color:var(--paper-0)}@media (prefers-reduced-motion:reduce){.navmenu a{opacity:1;animation:none}}@media (max-width:900px){.consilience-grid{grid-template-columns:1fr!important}.princ-grid{grid-template-columns:1fr}.whoweare-grid{grid-template-columns:1fr!important}.navlinks{display:none!important}.navtoggle{display:inline-flex!important}.ideas-head{text-align:center}.ideas-head h2{justify-content:center}.ideas-head p{margin-left:auto;margin-right:auto}.photostack{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;justify-content:flex-start!important}.photostack::-webkit-scrollbar{display:none}}.hero-scrim{background:linear-gradient(90deg,rgba(30,34,38,.88),rgba(30,34,38,.55) 34%,rgba(30,34,38,0) 60%)}.hero-copy,.hero-scrim{position:absolute;inset:0;pointer-events:none}.hero-copy{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;text-align:left;padding:0 clamp(24px,6vw,96px);max-width:1000px}.hero-copy h1{font-family:var(--font-serif);font-weight:400;font-size:clamp(40px,6.4vw,84px);line-height:1.02;letter-spacing:-.025em;color:var(--paper-0);margin:24px 0 0;max-width:15ch;text-wrap:balance}#hero-3d{position:absolute;top:0;bottom:0;right:-4vw;width:62%;cursor:-webkit-grab;cursor:grab;animation:fadeIn 1.2s var(--ease-out) both .2s}#hero-3d:active{cursor:-webkit-grabbing;cursor:grabbing}@media (max-width:900px){#hero-3d{top:calc(env(safe-area-inset-top) + 344px);bottom:32px;right:0;left:0;width:100%;height:auto}.hero-copy{inset:auto 0 auto 0;top:0;justify-content:flex-start;align-items:flex-start;padding:calc(96px + env(safe-area-inset-top)) 24px 0;max-width:none}.hero-copy h1{font-size:44px;max-width:12ch}.hero-scrim{background:linear-gradient(180deg,rgba(30,34,38,.35),rgba(30,34,38,0) 34%)}}.reveal{opacity:0;transform:translateY(16px);animation:reveal var(--dur-slower) var(--ease-out) forwards}.reveal-1{animation-delay:.14s}.reveal-2{animation-delay:.26s}.reveal-3{animation-delay:.38s}@keyframes reveal{to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes riseIn{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.bob{animation:bob 2.4s var(--ease-in-out) infinite}@keyframes bob{0%,to{transform:translateY(0)}50%{transform:translateY(5px)}}@media (prefers-reduced-motion:reduce){.bob,.reveal{animation:none!important;opacity:1!important;transform:none!important}}.on-scroll{opacity:0;transform:translateY(24px);transition:opacity var(--dur-slower) var(--ease-out),transform var(--dur-slower) var(--ease-out)}.on-scroll.in{opacity:1;transform:none}