:root{--bg: #080d18;--surface: #0f1830;--surface-2: #121f3d;--line-2: #ff7700;--line: #727272;--brand-bright: #4dffa9;--text: #f4f8ff;--card-text: #080d18;--card-surface: #f4f1ef;--muted: #999;--accent: #ff7700;--accent-2: #0aad7f;--display: "Arial Black", "Helvetica Neue", Arial, sans-serif;--body: "Avenir Next", "Segoe UI", sans-serif}html,body{background-image:url(/res/background.png);color:var(--text);font-family:var(--body)}*{box-sizing:border-box}.hero{padding:48px 16px 24px}.hero-inner,.main-grid{max-width:1100px;margin:0 auto}.eyebrow{margin:0;font-size:.78rem;text-transform:uppercase;letter-spacing:.12em;color:var(--accent)}h1{margin:12px 0;font-family:var(--display);font-size:clamp(2.5rem,9vw,5.5rem);line-height:.92;letter-spacing:-.03em}.tagline{margin:0;max-width:70ch;color:var(--muted)}.nav{margin-top:18px;display:flex;flex-wrap:wrap;gap:8px}.nav a{padding:8px 11px;border:1px solid var(--line);border-radius:999px;text-decoration:none;color:var(--text);font-size:.74rem;text-transform:uppercase;letter-spacing:.08em;background:#ffffff08}.main-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:14px;padding:0 16px 48px}.panel{grid-column:span 4;border-radius:14px;padding:14px}.panel-inner{border-radius:12px;padding:12px}.panel#media{grid-column:span 2}.panel#photography{grid-column:span 6}.panel#contact{grid-column:span 12}.home-layout .panel#projects,.home-layout .panel#publications{grid-column:1/span 4}.projects-page-panel{grid-column:span 12}.projects-page-panel .list{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));align-items:start}.section-layout .panel#media,.section-layout .panel#photography,.section-layout .panel#publications{grid-column:span 8}.section-sidebar{grid-column:span 4;align-self:start;position:sticky;top:16px}.sidebar-inner{display:grid;gap:12px}.sidebar-inner h2,.sidebar-inner p{margin:0}.sidebar-inner p{color:var(--muted);line-height:1.45}.sidebar-notes{display:grid;gap:8px;margin:0;padding-left:18px;color:var(--text)}.sidebar-links{display:flex;flex-wrap:wrap;gap:8px}.sidebar-links a{display:inline-block;padding:7px 10px;border:1px solid var(--line);border-radius:999px;background:#ffffff0a;color:var(--text);font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em}h2{margin:0 0 12px;font-family:var(--display);font-size:1.3rem}.panel-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.panel-head h2{margin-bottom:0}.panel-head h2 a{color:inherit;text-decoration:none}.panel-head h2 a:hover{text-decoration:underline}.read-more{font-size:.85rem;white-space:nowrap}.panel-end{margin:12px 0 0;text-align:right}.photo-cta-links{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.simple-cta{display:inline-block;padding:6px 10px;border:1px solid var(--line);border-radius:999px;background:#ffffff08;color:var(--text);font-size:.75rem;text-transform:uppercase;letter-spacing:.06em}h3{margin:0 0 8px;font-size:1rem;font-family:var(--display)}.list{list-style:none;margin:0;padding:0;display:grid;gap:10px}.card{background-color:var(--card-surface);color:var(--card-text);border:1px solid var(--line);border-radius:10px;padding:12px}.card h3{line-height:1.1rem}.card-title-link{color:inherit}.card-title-link:hover{color:var(--accent)}.project-card{display:grid;gap:0;overflow:hidden;padding:0;scroll-margin-top:18px}.project-body{display:grid;gap:10px;padding:12px}.project-media{display:grid;gap:8px;padding:10px;background:radial-gradient(circle at top left,rgba(255,119,0,.25),transparent 38%),linear-gradient(135deg,#0f1830,#162a4f);border-bottom:1px solid var(--line)}.project-media img{display:block;width:100%;border:1px solid rgba(8,13,24,.28);border-radius:8px;background:#fff}.project-media-primary{aspect-ratio:16/9;max-height:310px;object-fit:contain}.project-summary,.project-description p,.project-role{margin:0}.project-summary{font-weight:700}.project-description{display:grid;gap:8px}.project-links{margin-top:2px}.project-card-links{margin-top:10px}.card.publication-card .meta{text-align:right}.publication-card{display:grid;grid-template-columns:92px minmax(0,1fr);gap:12px;align-items:start;min-height:140px}.publication-card--with-cover{padding:0;gap:0;overflow:hidden;grid-template-columns:minmax(75px,92px) minmax(0,1fr);align-items:stretch}.publication-cover{width:100%;min-width:75px;height:100%;background-image:var(--publication-cover-image);background-size:cover;background-position:center;background-repeat:no-repeat;border-radius:0;border-right:1px solid var(--line)}.publication-body{display:flex;flex-direction:column;min-width:0;padding:12px;height:100%}.publication-card .publication-body .links{margin-top:auto;justify-content:flex-end}.panel#media .card .meta .source{color:var(--card-text);font-weight:700}.panel#media .card h3{font-size:.9rem;font-weight:lighter}.panel#media .card{overflow:hidden;display:flex;flex-direction:column;padding:12px 12px 0}.media-cover{display:block;min-width:100%;min-height:100px;max-height:160px;object-fit:cover;border-top:1px solid var(--line);margin:10px -12px 0}.meta{margin:0;color:var(--muted);font-size:.82rem}.links{display:flex;gap:10px;flex-wrap:wrap;margin:0}.links a{margin:0;font-size:.82rem}a{color:var(--accent);text-decoration:none}a:hover{color:var(--accent-2);text-decoration:underline}.photo-posts{margin-top:12px}.featured-photo-grid{list-style:none;margin:0 0 12px;padding:0;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}.featured-photo-grid li{margin:0}.featured-photo-grid a{display:block;aspect-ratio:1/1;overflow:hidden;border-radius:8px;border:1px solid #365a95}.featured-photo-grid img{width:100%;height:100%;object-fit:cover;display:block}.photo-post-card{padding:0;overflow:hidden;max-width:500px;width:100%}.photo-post-body{padding:12px}.photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px;padding:0 12px 12px}.photo-single{margin:0;padding:0;border-bottom:1px solid #365a95}.photo-single a,.photo-single img{display:block;width:100%}.photo-single img{height:360px;object-fit:cover;border:0;border-radius:0}.photo-grid img{width:100%;height:140px;object-fit:cover;display:block;border-radius:8px;border:1px solid #365a95}.photo-carousel{position:relative;overflow:hidden;border-radius:0;border-bottom:1px solid #365a95;background:#0f1b30}.carousel-track{display:flex;transition:transform .25s ease}.carousel-slide{flex:0 0 100%}.carousel-slide img{width:100%;height:360px;object-fit:cover;display:block}.carousel-btn{position:absolute;top:50%;transform:translateY(-50%);z-index:2;width:34px;height:34px;border-radius:999px;border:1px solid #3f5f95;background:#080d18cc;color:#e8f2ff;font-size:20px;line-height:1;cursor:pointer}.carousel-btn.prev{left:8px}.carousel-btn.next{right:8px}.carousel-dots{position:absolute;left:0;right:0;bottom:10px;display:flex;justify-content:center;gap:6px;z-index:2}.dot{width:8px;height:8px;border-radius:999px;border:1px solid #8ea7d4;background:#fff3;padding:0;cursor:pointer}.dot.is-active{background:var(--accent);border-color:var(--accent)}.contact-list{margin:0;padding-left:18px}.contact-list a{font-weight:700}@media(max-width:980px){.panel,.panel:nth-of-type(3),.panel:nth-of-type(4),.panel:nth-of-type(5){grid-column:span 12}.section-layout .panel#media,.section-layout .panel#photography,.section-layout .panel#publications,.section-sidebar{grid-column:span 12}.section-sidebar{position:static}.carousel-slide img{height:250px}.featured-photo-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(max-width:640px){.publication-card{grid-template-columns:72px minmax(0,1fr)}.publication-card--with-cover{grid-template-columns:minmax(75px,75px) minmax(0,1fr)}.featured-photo-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
