/* Quiet movement, translucent layers, and photographic depth. */
header{background:rgba(9,13,13,.76);backdrop-filter:blur(22px) saturate(125%);-webkit-backdrop-filter:blur(22px) saturate(125%);transition:background .3s,box-shadow .3s}
header.has-scrolled{background:rgba(9,13,13,.88);box-shadow:0 10px 45px #0002}
header::after{content:'';position:absolute;left:0;bottom:-1px;width:100%;height:2px;background:linear-gradient(90deg,#bcf5de,#6ba58d);transform:scaleX(var(--reading-progress,0));transform-origin:left;pointer-events:none}
.personal-hero{position:relative;isolation:isolate;overflow:clip;padding-top:80px;padding-bottom:95px}
.personal-hero::before{content:'';position:absolute;width:65%;height:85%;right:-15%;top:0;background:radial-gradient(ellipse,#9ae9c717,transparent 68%);z-index:-1;pointer-events:none}
.personal-photo,.portrait,.next-feature figure{transform:translateY(var(--photo-drift,0px));position:relative}
.personal-photo{padding:0 14px 14px 0}
.personal-photo::before,.portrait::before{content:'';position:absolute;inset:22px 0 0 22px;border:1px solid #bcf5de55;pointer-events:none;z-index:-1}
.personal-photo img{border-radius:110px 4px 4px 4px;box-shadow:0 28px 70px #0005}
.personal-photo::after,.portrait::after{content:'';position:absolute;inset:0 14px 14px 0;background:radial-gradient(circle at var(--light-x,75%) var(--light-y,20%),#fff2,transparent 48%);border-radius:110px 4px 4px 4px;pointer-events:none}
.personal-photo figcaption{position:absolute;left:-22px;bottom:42px;max-width:calc(100% - 10px);padding:18px 24px;color:#fff;font-size:12px;letter-spacing:.045em;background:rgba(9,20,17,.7);border:1px solid #ffffff38;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);z-index:1;box-shadow:0 12px 35px #0002}
.personal-photo figcaption::before{content:'';display:inline-block;width:6px;height:6px;background:#bcf5de;border-radius:50%;margin-right:12px;box-shadow:0 0 15px #bcf5de80}
.visual-grid{gap:35px;align-items:start;padding-bottom:45px}.visual-story:nth-child(2){margin-top:55px}.visual-story:nth-child(3){margin-top:110px}
.visual-story img{border-radius:3px 3px 45px 3px;transition:border-radius .5s ease,box-shadow .5s ease,transform .5s ease,opacity .5s ease}
.visual-story:nth-child(2) img{border-radius:60px 3px 3px 3px}.visual-story:nth-child(3) img{border-radius:3px 3px 3px 60px}
.visual-story h3{transition:transform .3s}.visual-story:hover img,.visual-story:focus-visible img{opacity:1;transform:translateY(-7px);box-shadow:0 20px 35px #15352a24;border-radius:3px}.visual-story:hover h3{transform:translateX(4px)}
.next-feature{position:relative;isolation:isolate;overflow:clip}.next-feature::before{content:'';position:absolute;inset:10% 40% 5% 0;background:radial-gradient(ellipse,#bcf5de0c,transparent 68%);pointer-events:none;z-index:-1}
.next-feature figure img{mask-image:linear-gradient(to bottom,transparent,#000 12%,#000 85%,transparent);-webkit-mask-image:linear-gradient(to bottom,transparent,#000 12%,#000 85%,transparent)}
.next-feature>div{padding:32px;border:1px solid #bcf5de25;background:linear-gradient(125deg,#bcf5de0d,#ffffff02);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.project-image{overflow:hidden;border-radius:2px}.project-image img{transition:transform .7s cubic-bezier(.2,.7,.2,1)}.project-image figcaption{position:absolute;bottom:15px;left:15px;max-width:calc(100% - 30px);background:#091612c9;border:1px solid #ffffff40;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);padding:9px 14px;color:#fff}
.project{background:#ffffff16!important;transition:box-shadow .35s,background .35s}.project:hover{background:#ffffff26!important;box-shadow:0 18px 45px #123b2a0c}
.portrait{isolation:isolate;padding:0 15px 15px 0}.portrait img{border-radius:3px 75px 3px 3px}.portrait::after{border-radius:3px 75px 3px 3px;background:radial-gradient(circle at var(--light-x,75%) var(--light-y,20%),#fff1,transparent 50%)}
.horizon-visuals{align-items:start;padding-bottom:30px}.horizon-visuals figure:nth-child(2){margin-top:35px}.horizon-visuals figure:nth-child(3){margin-top:70px}.horizon-visuals img{border-radius:2px 35px 2px 2px}
.pathway-grid>a,.press-grid>a{transition:padding-left .3s,background .3s}.pathway-grid>a:hover,.press-grid>a:hover{padding-left:12px;background:#ffffff0b}
.button-primary{transition:transform .25s,box-shadow .25s}.button-primary:hover{transform:translateY(-3px);box-shadow:0 10px 30px #bcf5de18}
.text-link{position:relative}.text-link::after{content:'';height:1px;position:absolute;bottom:-1px;left:0;width:100%;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .35s}.text-link:hover::after{transform:scaleX(1)}
@media(prefers-reduced-motion:no-preference){
 .motion-enabled .reveal-ready{opacity:0;transform:translateY(28px);transition:opacity .7s ease var(--reveal-delay,0ms),transform .8s cubic-bezier(.2,.7,.2,1) var(--reveal-delay,0ms)}
 .motion-enabled .reveal-ready.is-visible,.motion-enabled .reveal-ready:focus-within{opacity:1;transform:translateY(0)}
 .personal-photo img{animation:photo-unfold 1.1s cubic-bezier(.2,.7,.2,1) both}
 @keyframes photo-unfold{from{clip-path:inset(5% 5% 5% 5%);opacity:.2}to{clip-path:inset(0);opacity:1}}
}
@media(hover:hover) and (pointer:fine){.project:hover .project-image img{transform:scale(1.025)}}
@media(max-width:760px){.personal-hero{padding-top:40px;padding-bottom:55px}.personal-photo{margin:0 0 0 8px}.personal-photo img{border-top-left-radius:65px}.personal-photo::after{border-top-left-radius:65px}.personal-photo figcaption{left:-8px;bottom:30px;padding:13px 16px;font-size:11px}.visual-grid{gap:36px;padding-bottom:0}.visual-story:nth-child(n){margin-top:0}.visual-story:nth-child(2){padding-left:7%}.visual-story:nth-child(3){padding-right:7%}.next-feature>div{padding:25px}.horizon-visuals{padding-bottom:15px}.horizon-visuals figure:nth-child(2){margin-top:20px}.horizon-visuals figure:nth-child(3){margin-top:40px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.personal-photo,.portrait,.next-feature figure{transform:none!important}.visual-story:hover img,.visual-story:hover h3,.button-primary:hover,.project:hover .project-image img{transform:none}.reveal-ready{opacity:1!important;transform:none!important}*,*::before,*::after{animation:none!important;transition:none!important}}
@media print{.reveal-ready{opacity:1!important;transform:none!important}header{position:static}.personal-photo,.portrait,.next-feature figure{transform:none!important}}
