/* Internal pages */
.page-main{padding-top:var(--header-h)}
.page-hero{position:relative;overflow:hidden;padding:95px 0 76px;background:linear-gradient(180deg,#fff,#f2f6f8);border-bottom:1px solid var(--line)}.page-hero::after{content:"";position:absolute;right:-150px;top:-210px;width:560px;height:560px;border-radius:50%;background:radial-gradient(circle,rgba(239,139,34,.12),rgba(42,111,158,.035) 50%,transparent 72%)}.page-hero-grid{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1fr) 410px;gap:64px;align-items:center}.page-hero h1{margin:17px 0 20px;color:var(--navy);font-size:clamp(48px,6.5vw,78px);line-height:1.01;letter-spacing:-.05em}.page-hero p{max-width:790px;margin:0;color:var(--muted);font-size:17px}.page-hero-media{overflow:hidden;border-radius:24px;box-shadow:var(--shadow)}.page-hero-media img{width:100%;height:380px;object-fit:cover}.page-meta{display:flex;flex-wrap:wrap;gap:11px 22px;margin-top:28px;color:#718094;font-size:11px}.page-meta span{display:inline-flex;align-items:center;gap:7px}.page-meta span::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--orange)}
.content-section{padding:84px 0}.content-section.white{background:#fff}.content-section h2{margin:0 0 18px;color:var(--navy);font-size:clamp(34px,4.5vw,54px);line-height:1.08;letter-spacing:-.04em}.intro{max-width:820px;margin:0 0 44px;color:var(--muted);font-size:16px}.prose{max-width:840px}.prose h2{margin-top:58px}.prose h3{margin:38px 0 12px;color:var(--navy);font-size:23px}.prose p,.prose li{color:#53657a}.prose a{color:var(--blue);font-weight:750}.prose blockquote{margin:35px 0;padding:24px 28px;border-left:4px solid var(--orange);border-radius:0 16px 16px 0;background:#fff;box-shadow:var(--shadow-sm);color:#334a61;font-size:18px}
.editorial-split{display:grid;grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr);gap:60px;align-items:start}.sticky-aside{position:sticky;top:110px}.sticky-aside img{width:100%;border-radius:24px;box-shadow:var(--shadow)}.sticky-aside nav{display:grid;margin-top:20px;border-top:1px solid var(--line)}.sticky-aside nav a{padding:12px 0;border-bottom:1px solid var(--line);color:#627286;font-size:11px;text-decoration:none}.sticky-aside nav a:hover{color:var(--blue)}
.photo-mosaic{display:grid;grid-template-columns:1.2fr .8fr;gap:16px;margin-top:44px}.photo-mosaic figure{margin:0;overflow:hidden;border-radius:20px;background:#fff;box-shadow:var(--shadow-sm)}.photo-mosaic figure:first-child{grid-row:span 2}.photo-mosaic img{width:100%;height:100%;min-height:240px;object-fit:cover}.photo-mosaic figure:first-child img{min-height:500px}.photo-mosaic figcaption{padding:12px 15px;color:#68798c;font-size:10px}
.capability-list{display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid var(--line)}.capability{padding:27px 28px 27px 0;border-bottom:1px solid var(--line)}.capability:nth-child(even){padding-left:28px;border-left:1px solid var(--line)}.capability span{color:var(--blue);font-size:9px;font-weight:850;letter-spacing:.1em;text-transform:uppercase}.capability h3{margin:12px 0 8px;color:var(--navy);font-size:20px}.capability p{margin:0;color:var(--muted);font-size:12px}

/* Publication page */
.publication-filterbar{position:sticky;top:var(--header-h);z-index:40;display:flex;flex-wrap:wrap;gap:8px;padding:16px 0;background:rgba(245,247,249,.94);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.pub-filter{border:1px solid var(--line);border-radius:999px;background:#fff;padding:8px 12px;color:#5c6d81;font-size:10px;font-weight:800;cursor:pointer}.pub-filter[aria-pressed="true"],.pub-filter:hover{background:var(--navy);border-color:var(--navy);color:#fff}.publication-list{border-top:1px solid var(--line)}.publication-item{display:grid;grid-template-columns:70px 1fr auto;gap:24px;padding:26px 0;border-bottom:1px solid var(--line);transition:opacity .2s,transform .2s}.publication-item.hidden{display:none}.publication-year{color:var(--orange);font-size:12px;font-weight:850}.publication-item h3{margin:0;color:var(--navy);font:750 18px/1.38 "Manrope"}.publication-item p{margin:6px 0 0;color:var(--muted);font-size:12px}.publication-arrow{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:#e8eef3;color:var(--navy);font-weight:850;text-decoration:none}.publication-arrow:hover{background:var(--navy);color:#fff}.tag-row{display:flex;flex-wrap:wrap;gap:7px;margin-top:12px}.tag-row span{padding:5px 8px;border:1px solid var(--line);border-radius:999px;color:#68798c;font-size:8px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
.supporting-list{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.supporting-item{display:grid;grid-template-columns:42% 58%;overflow:hidden;border:1px solid var(--line);border-radius:20px;background:#fff;box-shadow:var(--shadow-sm)}.supporting-item img{width:100%;height:100%;min-height:260px;object-fit:contain;padding:15px;background:#eef3f6}.supporting-item div{padding:24px}.supporting-item h3{margin:13px 0 10px;color:var(--navy);font:750 20px/1.22 "Source Serif 4"}.supporting-item p{margin:0;color:var(--muted);font-size:11px}

/* Projects page */
.project-story{display:grid;grid-template-columns:1.05fr .95fr;min-height:560px;margin-bottom:34px;overflow:hidden;border-radius:28px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow-sm)}.project-story:nth-child(even) .project-story-media{order:2}.project-story-media{position:relative;min-height:560px;background:#edf3f6}.project-story-media img{width:100%;height:100%;min-height:560px;object-fit:cover}.project-story-media img.diagram{object-fit:contain;padding:22px}.project-story-copy{display:flex;flex-direction:column;justify-content:center;padding:48px}.project-story-copy h2{font-size:40px}.project-story-copy p{color:var(--muted)}.project-status{display:flex;justify-content:space-between;gap:15px;color:var(--blue);font-size:9px;font-weight:850;letter-spacing:.09em;text-transform:uppercase}.project-status span:first-child{padding:6px 8px;border-radius:999px;background:#edf4f8}.project-boundary{margin-top:20px;padding:15px;border-left:3px solid var(--orange);background:#fff6ea;color:#6b563d;font-size:11px}
.project-index{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.project-index article{padding:26px;border:1px solid var(--line);border-radius:18px;background:#fff}.project-index h3{margin:18px 0 10px;color:var(--navy);font-size:21px}.project-index p{color:var(--muted);font-size:12px}

/* Paper pages */
.paper-hero{padding-bottom:52px}.paper-hero .page-hero-grid{grid-template-columns:minmax(0,1.06fr) minmax(420px,.94fr)}.paper-hero h1{font-size:clamp(42px,5.4vw,68px)}.paper-figure{padding:24px;border-radius:24px;background:#eef3f6;box-shadow:var(--shadow)}.paper-figure img{width:100%;max-height:520px;object-fit:contain;background:#fff;border-radius:14px}.paper-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:70px;align-items:start}.paper-sidebar{position:sticky;top:110px}.paper-fact{padding:18px 0;border-top:1px solid var(--line)}.paper-fact span,.paper-fact strong{display:block}.paper-fact span{color:var(--blue);font-size:9px;font-weight:850;letter-spacing:.08em;text-transform:uppercase}.paper-fact strong{margin-top:5px;color:var(--navy);font-size:13px}.paper-sidebar .button{width:100%;margin-top:20px}
.paper-section{padding:24px 0 38px;border-bottom:1px solid var(--line)}.paper-section:first-child{padding-top:0}.paper-section h2{font-size:35px}.paper-section p{color:#526277}.boundary-box{padding:22px;border-radius:17px;background:#fff6ea;border:1px solid #f1d4ae}.boundary-box h3{margin:0 0 8px;color:#8f4c0b}.boundary-box p{margin:0;color:#745b43}

/* Lightbox and motion */
.zoomable{cursor:zoom-in}.lightbox{position:fixed;inset:0;z-index:999;display:none;align-items:center;justify-content:center;padding:28px;background:rgba(5,16,29,.93)}.lightbox.open{display:flex}.lightbox figure{position:relative;max-width:min(1300px,94vw);max-height:92vh;margin:0;display:grid;gap:10px}.lightbox img{max-width:100%;max-height:84vh;object-fit:contain;border-radius:12px;background:#fff;box-shadow:0 35px 110px rgba(0,0,0,.5)}.lightbox figcaption{color:#dce7f2;text-align:center;font-size:12px}.lightbox button{position:absolute;right:-10px;top:-50px;width:42px;height:42px;border:0;border-radius:50%;background:#fff;color:var(--navy);font-size:23px;cursor:pointer}
.reveal{opacity:0;filter:blur(7px);transform:translateY(28px);clip-path:inset(0 0 12% 0);transition:opacity .72s ease,filter .72s ease,transform .72s cubic-bezier(.18,.75,.2,1),clip-path .72s ease;transition-delay:var(--delay,0ms)}.reveal.in-view{opacity:1;filter:none;transform:none;clip-path:inset(0)}
@keyframes ambient{from{transform:translate3d(-2%,-1%,0) scale(.96)}to{transform:translate3d(2%,2%,0) scale(1.04)}}
@keyframes orbit{to{transform:rotate(360deg)}}
@keyframes drawline{from{transform:scaleX(0)}to{transform:scaleX(1)}}
