/* Shared response to presence and intent; quiet by default outside the viewport. */
.material-surface{position:relative;isolation:isolate}.surface-light{position:absolute;inset:0;z-index:-1;pointer-events:none;overflow:hidden;border-radius:inherit;background:radial-gradient(ellipse at var(--light-x,50%) var(--light-y,50%),#b8d6c618,transparent 62%);opacity:0;transition:opacity .8s ease}.material-surface.is-in-view .surface-light{opacity:.45}.material-surface:hover .surface-light{opacity:1}.material-surface.is-entering{animation:material-arrive .72s cubic-bezier(.2,.65,.2,1) both}
.button,.atlas-selector,.method-step,.atlas-cta,.atlas-details,.intervention-delivery a{transition:background .3s ease,color .3s ease,border-color .3s ease,box-shadow .4s ease,transform .45s cubic-bezier(.18,.8,.24,1.15)}
.button:hover{transform:translateY(-2px);box-shadow:0 6px 24px #cfb67b18}.button:active{transform:scale(.985)}.button .button-orbit{transition:transform .65s cubic-bezier(.16,.7,.2,1.1),border-color .35s,box-shadow .4s}.button:hover .button-orbit{transform:rotate(95deg);box-shadow:0 0 0 5px #b9cfb916}.button:hover .button-orbit:after{transform:scale(1.35)}.button-orbit:after{transition:transform .4s}
.domain-glyph,.node-symbol,.step-number,.circle-plus{transition:transform .55s cubic-bezier(.19,.7,.23,1.12),box-shadow .5s,background .35s}
.atlas-selector[aria-pressed=true] .domain-glyph{transform:rotate(-5deg) scale(1.07)}.atlas-selector:hover .domain-glyph{transform:rotate(5deg)}.method-step:hover .step-number{box-shadow:0 0 0 5px #b49b6020}.project-card:hover .circle-plus{transform:rotate(90deg)}
.material-surface.is-in-view .domain-glyph{animation:material-breathe 6.5s ease-in-out infinite}.material-surface.is-in-view .project-specimen{animation:material-breathe 8s ease-in-out infinite}.project-card:hover .project-specimen{animation-play-state:paused}.reading-progress i{box-shadow:0 0 10px #e1c58a70}.intervention-row{transition:border-color .55s,background .55s}.intervention-row:hover{border-bottom-color:#8d713f;background:#7f9e9808}
.about.section-pad{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:8%;align-items:center;background:#102735;padding-block:62px}.about-portrait{width:100%;max-width:410px;margin:0;justify-self:center;position:relative}.portrait-surface{position:relative;overflow:hidden;aspect-ratio:4/5;background:#071b26}.portrait-surface img{width:100%;height:100%;object-fit:cover;object-position:center;display:block}.portrait-surface:after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(0deg,#102735 0%,transparent 22%,transparent 85%,#10273520),linear-gradient(90deg,#10273528,transparent 20%,transparent 80%,#10273528)}.about-portrait figcaption{padding:17px 0 0;border-top:1px solid #bda56e50;margin-top:10px;color:#e8d7b0;font-size:.875rem;line-height:1.6}.about-portrait figcaption em{font-style:normal;color:#a6bfc7;font-size:.8125rem}.about-copy h2{font-size:clamp(35px,4.1vw,61px);letter-spacing:-.04em;line-height:1.12}.about-copy>p{font-size:1rem;line-height:1.85}.about-copy .about-boundary{font-size:.8125rem;line-height:1.8;color:#95b1b9}.about-copy .signature{margin-top:22px}.about-copy .signature>strong{font-size:1.25rem}.about-copy .signature>span{font-size:.8125rem;line-height:1.7}
@keyframes material-arrive{from{translate:0 7px}to{translate:0 0}}@keyframes material-breathe{0%,100%{filter:brightness(1)}50%{filter:brightness(1.1)}}
.motion-off .material-surface,.motion-off .material-surface *{animation:none!important;transition:none!important}.motion-off .button:hover{transform:none}
@media(max-width:760px){.about.section-pad{grid-template-columns:1fr;gap:28px;padding-block:42px}.about-portrait{max-width:300px}.portrait-surface{max-height:355px;aspect-ratio:4/4.7}.portrait-surface img{object-position:50% 28%}.about-copy h2{font-size:38px}.about-copy>p{font-size:1rem}.about-portrait figcaption{font-size:.875rem}.about-copy .signature>span{font-size:.8125rem}.surface-light{display:none}}
@media(prefers-reduced-motion:reduce){.material-surface,.material-surface *,.button,.button *{animation:none!important;transition:none!important}.button:hover{transform:none}}
