body>header.portfolio-header{display:block;padding:16px 5% 12px;background:#1c1c1c;border-bottom:1px solid #343b37}
.profile-banner{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:18px 24px;background:#101010;color:#b3efd8;border-radius:3px}
.profile-banner .brand{font-size:21px;color:#b3efd8}
.profile-banner p{font-size:17px;margin:6px 0 0;line-height:1.5}
.profile-banner p span{font-size:13px;color:#acc2b9}
.profile-contact{display:flex;flex-direction:column;gap:3px;font-size:13px;color:#c0d4cc}
.portfolio-header>nav{display:flex;flex-wrap:nowrap;gap:16px;margin-top:12px;max-width:none;overflow-x:auto}
.portfolio-header>nav>a{flex:0 0 auto;display:block;padding:11px 22px;background:#101010;color:#b3efd8;border:1px solid transparent;border-radius:2px;white-space:nowrap;font-size:15px;transition:background 160ms,color 160ms}
.portfolio-header>nav>a:hover{border-color:#83b29f}
.portfolio-header>nav>a[aria-current="true"]{background:#b3efd8;color:#10231b;border-color:#b3efd8}
.module-anchor{height:0;position:relative;pointer-events:none}
.personal-project{margin-bottom:30px;padding:24px 0;border-top:1px solid var(--line)}
.personal-project h3{font-size:24px;margin:0 0 18px}
.personal-preview,.personal-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.personal-project img{display:block;width:100%;height:260px;object-fit:contain;background:#080808}
.personal-project summary{padding:18px 0;cursor:pointer;color:#b3efd8}
.personal-project .video-card video{max-height:450px;object-fit:contain}
@media(max-width:650px){body>header.portfolio-header{padding:8px 4%}.profile-banner{padding:10px 12px;gap:10px}.profile-banner .brand{font-size:16px}.profile-banner p{font-size:12px}.profile-banner p span{font-size:10px}.profile-contact{font-size:10px}.portfolio-header>nav{gap:8px;margin-top:8px}.portfolio-header>nav>a{padding:10px 13px;font-size:12px}.personal-preview,.personal-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.personal-project img{height:180px}}
@media(prefers-reduced-motion:reduce){.portfolio-header>nav>a{transition:none}}
.personal-videos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-bottom:28px}
.personal-videos[data-count="1"]{grid-template-columns:1fr}
.personal-videos .video-card{margin:0}
.personal-videos .video-card video{height:clamp(240px,48svh,480px);max-height:480px;object-fit:contain}
.personal-project h4{font-size:15px;font-weight:400;color:#acc2b9;margin:24px 0 14px}
@media(max-width:650px){.personal-videos{grid-template-columns:1fr}}
.personal-gallery.journey-main{grid-template-columns:repeat(2,minmax(0,1fr))}
.personal-gallery.journey-character{grid-template-columns:repeat(4,minmax(0,1fr))}
@media(max-width:650px){.personal-gallery.journey-character{gap:6px}.journey-character img{height:auto;aspect-ratio:3/4;object-fit:contain}}

.portfolio-header>nav{gap:8px;margin-top:8px;transition:none}
.portfolio-header>nav>a{padding:6px 14px;font-size:12px;transition:none}
@media(pointer:coarse){.portfolio-header>nav>a{min-height:44px;display:flex;align-items:center}}
.academic-groups{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.academic-group{padding:24px;background:#151515;border:1px solid var(--line)}
.academic-group h3{font-size:24px;margin:0 0 12px}
.academic-group p{color:#b5c5be;margin:6px 0}
.academic-group .academic-empty{padding-top:24px;color:#858d89;font-size:13px}
@media(max-width:650px){.academic-groups{grid-template-columns:1fr}.portfolio-header>nav>a{padding:6px 12px}}
.academic-project{padding:24px 0 40px;border-top:1px solid var(--line)}
.academic-project h3{font-size:24px;margin:0 0 22px}
.academic-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;align-items:start}
.academic-gallery img{display:block;width:100%;height:auto;background:#080808}
@media(max-width:650px){.academic-gallery{grid-template-columns:1fr;gap:16px}}
.academic-coverflow{position:relative;height:clamp(260px,34vw,450px);perspective:1100px;overflow:hidden;padding:18px 0}
.academic-coverflow img{position:absolute;left:24%;top:24px;width:52%;height:calc(100% - 70px);object-fit:contain;background:#0b0b0b;border:1px solid #45574f;border-radius:10px;box-shadow:0 14px 30px #0008;transform:translateX(var(--card-x)) translateY(var(--card-y)) rotateY(var(--card-angle)) scale(var(--card-scale));transition:transform 300ms ease,border-color 200ms ease;cursor:zoom-in}
.academic-coverflow img.is-front{border-color:#b3efd8;box-shadow:0 18px 36px #000a}
.academic-caption{text-align:center;font-size:12px;color:#acc2b9;margin:8px 0 14px}
.academic-picker{display:flex;justify-content:center;gap:7px;flex-wrap:wrap}
.academic-picker button{background:#181818;color:#aaa;border:1px solid #3d4943;min-width:36px;min-height:36px;padding:5px 8px;border-radius:4px;font-size:12px}
.academic-picker button[aria-pressed="true"]{background:#b3efd8;color:#11261d;border-color:#b3efd8}
@media(max-width:650px){.academic-coverflow{height:260px}.academic-coverflow img{width:66%;left:17%;height:175px}.academic-picker button{min-height:44px}.academic-caption{font-size:11px}}
@media(prefers-reduced-motion:reduce){.academic-coverflow img{transition:none}}
/* Five visible cards: a central feature and two exposed neighbours per side. */
.academic-coverflow{display:block;position:relative;height:clamp(270px,34vw,410px);perspective:1100px;overflow:hidden;padding:18px 0}
.academic-coverflow img{position:absolute;left:34%;top:24px;width:32%;height:calc(100% - 76px);min-width:0;max-height:none;object-fit:contain;transform:translateX(var(--card-x)) translateY(var(--card-y)) rotateY(var(--card-angle)) scale(var(--card-scale));transition:transform 280ms ease,border-color 180ms ease}
.academic-coverflow img.is-front{width:32%;transform:translateX(var(--card-x)) translateY(var(--card-y)) rotateY(var(--card-angle)) scale(var(--card-scale))}
@media(max-width:650px){.academic-coverflow{height:245px}.academic-coverflow img,.academic-coverflow img.is-front{left:34%;width:32%;height:160px}}
@media(prefers-reduced-motion:reduce){.academic-coverflow img{transition:none}}
.academic-coverflow{touch-action:pan-y}.academic-coverflow img{user-select:none;-webkit-user-drag:none}
.academic-coverflow img{cursor:pointer}.academic-coverflow img.is-front{cursor:zoom-in}
.academic-coverflow{--academic-card-height:clamp(194px,calc(34vw - 76px),334px);height:calc(var(--academic-card-height)*1.98 + 100px)}
.academic-coverflow img,.academic-coverflow img.is-front{top:calc(var(--academic-card-height)*.49 + 36px);height:var(--academic-card-height)}
.academic-picker{gap:2px}
.academic-picker button{display:grid;place-items:center;flex:0 0 30px;width:30px;height:36px;min-width:0;min-height:36px;padding:0;background:none;border:0;border-radius:0}
.academic-picker button::after{content:'';display:block;width:7px;height:7px;border-radius:50%;background:#626c67}
.academic-picker button[aria-pressed="true"]{background:none;border:0}
.academic-picker button[aria-pressed="true"]::after{width:10px;height:10px;background:#b3efd8}
@media(max-width:650px){.academic-coverflow{--academic-card-height:160px}.academic-picker button{height:44px;min-height:44px}}

/* Four Seasons: stacked animations and a single image row. */
.personal-project.four-seasons .personal-videos{grid-template-columns:repeat(4,minmax(0,1fr));max-width:none;margin-inline:0}
.personal-project.four-seasons .personal-gallery{grid-template-columns:repeat(5,minmax(0,1fr))}
.personal-project.four-seasons .personal-gallery img{height:auto;aspect-ratio:3/4;object-fit:contain}
@media(max-width:650px){.personal-project.four-seasons .personal-gallery{grid-template-columns:repeat(5,minmax(140px,1fr));overflow-x:auto;padding-bottom:12px}}

#recent .recent-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:24px;align-items:start}
#recent .recent-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
#recent .recent-gallery img{width:100%;height:clamp(180px,27vw,360px);object-fit:cover;object-position:center}
#recent .video-card{margin:0}#recent .video-card video{width:100%;height:min(70vh,740px);aspect-ratio:auto;object-fit:contain}
@media(max-width:650px){#recent .recent-layout{grid-template-columns:1fr}#recent .recent-gallery img{height:220px}}

#recent .recent-gallery.is-stacked{display:block;position:relative;height:clamp(310px,36vw,480px);perspective:1000px;isolation:isolate}
#recent .recent-gallery.is-stacked img{position:absolute;top:50%;left:var(--card-left);width:43%;height:88%;object-fit:cover;object-position:center;transform:translate(-50%,-50%) rotateY(var(--card-angle)) scale(var(--card-scale));transition:transform .45s ease,left .45s ease;cursor:pointer}
#recent .recent-gallery-controls{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:16px}
#recent .recent-gallery-controls span{font-size:12px;color:var(--muted)}
#recent .recent-gallery-controls button{padding:8px 14px}
@media(max-width:650px){#recent .recent-gallery.is-stacked{height:340px}}
@media(prefers-reduced-motion:reduce){#recent .recent-gallery.is-stacked img{transition:none}}

#recent .recent-gallery-wrap{position:relative;padding-inline:36px;min-width:0}
#recent .recent-gallery-controls{margin-top:12px;min-height:24px}
#recent .recent-gallery-controls button{position:absolute;top:calc(50% - 18px);transform:translateY(-50%);z-index:20;width:34px;height:52px;padding:0;border-radius:12px;font-size:24px}
#recent .recent-gallery-controls button:first-child{left:0}
#recent .recent-gallery-controls button:last-child{right:0}
#recent .recent-gift-toolbar{display:grid;grid-template-columns:auto minmax(0,448px) auto;justify-content:center;margin-top:24px}
#recent .recent-gift-tabs{display:flex;justify-content:center;flex-wrap:wrap;gap:2px}
#recent .recent-gift-tabs button{display:grid;place-items:center;width:28px;height:32px;border:0;padding:0;border-radius:50%;background:none;box-shadow:none;backdrop-filter:none}
#recent .recent-gift-tabs button::after{content:'';width:8px;height:8px;border-radius:50%;background:linear-gradient(135deg,#ffffff90,#ffffff25);border:1px solid #ffffff40}
#recent .recent-gift-tabs button[aria-pressed=true]::after{width:10px;height:10px;background:linear-gradient(135deg,#fff,#b9c0c8);box-shadow:0 0 8px #ffffff30}
#recent .recent-project[hidden]{display:none}

.personal-project.four-seasons .personal-videos .video-card video{height:auto;max-height:none;object-fit:contain}
@media(max-width:650px){.personal-project.four-seasons .personal-videos{grid-template-columns:repeat(4,minmax(160px,1fr));overflow-x:auto;padding-bottom:12px}}

.personal-project.queen-project .personal-gallery{grid-template-columns:repeat(4,minmax(0,1fr))}
@media(max-width:650px){.personal-project.queen-project .personal-gallery{grid-template-columns:repeat(4,minmax(140px,1fr));overflow-x:auto;padding-bottom:12px}}

#recent .recent-motion-list{display:grid;gap:20px}
