:root{--paper:#F8F9FA;--ink:#0A0A0A;--muted:#62656b;--accent:#00BCFF;--sky:#00BCFF;--line:rgba(10,10,10,.12);--surface:#eceef2;--orange:#ef8955;--ochre:#cca13b}
html.lens-mode{--paper:#0A0A0A;--ink:#F8F9FA;--muted:#b1b5be;--line:rgba(248,249,250,.15);--surface:#17191e}
body{background:var(--paper);color:var(--ink);transition:background-color .7s ease,color .7s ease}
body:after,.hero:before,.section:before,.contact:before,.section:after,.contact:after,.section-index,.project-card:after{display:none!important}
.hero,.section{background:transparent;border:0}.hero{padding-bottom:65px}.section{padding-top:95px;padding-bottom:100px}
.header-shell .header{border:0;background:var(--paper);color:var(--ink);padding-left:0;padding-right:0;transition:transform .35s,height .3s,background-color .7s,color .7s}
.header-shell .wordmark,.header-shell .header nav a,.header-shell .header-caption{color:var(--ink)}
.header-shell .header nav a:is(:hover,[aria-current]),.header-shell .header nav a.active{color:var(--accent)}
.header-resume,.floating-resume,.floating-navigation button{border-radius:999px}
.header-shell .header-resume,.header-shell.is-compact .header-resume,.floating-resume{background:#00BCFF;color:white;border:0}
.header-shell .header-resume:hover,.floating-resume:hover{background:#00BCFF}
.floating-navigation button{background:var(--paper);color:var(--ink);border-color:var(--line)}
.hero-name{display:flex;flex-direction:column;align-items:center;text-align:center;padding:45px 0 30px;border:0;gap:24px}
.hero-name h1{font-size:clamp(80px,15vw,216px);line-height:.9;font-weight:600;letter-spacing:-.06em}
.hero-aside{border:0;padding:0;max-width:none;text-align:center;font-size:10px;line-height:1.8;display:block}
.availability{justify-content:center;margin-bottom:14px}.availability i{background:#00BCFF;animation:none}
.hero-grid{display:block}.hero-copy{display:flex;flex-direction:column;align-items:center;text-align:center;padding:40px 0 65px;gap:20px}
.hero-copy h2{font-size:clamp(42px,6.2vw,92px);line-height:1.02;max-width:1100px;margin:0}
.hero-copy h2 em{color:var(--ink)}.hero-copy>p{padding:0;border:0;max-width:640px;font-size:18px;color:var(--muted)}
.hero-copy .round-link{margin-top:8px;align-self:center;background:#00BCFF;color:#fff;padding:13px 22px;border-radius:999px;gap:12px}
.round-link .round-icon{border:0;width:22px;height:22px;background:none;color:#fff}
.hero-footnote{display:none}.showreel{border:0;border-radius:8px;overflow:hidden}
.section-head{display:flex;flex-direction:column;align-items:center;text-align:center;border:0;padding:0;margin-bottom:48px;gap:24px}
.section-head>div{width:100%}.section-head .eyebrow{margin-bottom:18px;color:var(--muted)}
.section h2,.about-copy h2{font-size:clamp(38px,5vw,74px);line-height:1.06;font-weight:500;margin-top:0}
.section-head>p{border:0;padding:0;max-width:540px;font-size:16px;color:var(--muted)}
.collection-nav.collection-cards{display:flex;justify-content:center;gap:12px;margin:0 0 48px;flex-wrap:wrap}
.collection-nav .collection-choice,.collection-nav .collection-choice+.collection-choice{display:flex;flex-direction:row;align-items:center;min-height:44px;gap:10px;padding:12px 18px;border:0;background:var(--surface);border-radius:999px;color:var(--ink);overflow:visible}
.collection-choice img,.collection-choice:after,.collection-count,.collection-arrow{display:none}
.collection-label{font-family:var(--sans);font-size:13px;line-height:1.3;margin:0;padding:0}
.collection-choice:before{content:"";width:6px;height:6px;background:var(--orange);border-radius:50%}
.collection-choice:nth-child(2):before{background:var(--ochre)}.collection-choice:nth-child(3):before{background:#00BCFF}
.collection-nav .collection-choice:is(:hover,:focus-visible){background:#00BCFF;color:#fff}
#project-grid.bento-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:auto;gap:60px 30px;padding:0}
#project-grid.bento-grid .project-card,#project-grid.bento-grid .project-card.is-featured,#project-grid.bento-grid .project-card:nth-child(n){grid-column:auto!important;grid-row:auto!important;display:block;background:none;border:0;overflow:visible}
#project-grid.bento-grid .project-image,#project-grid.bento-grid .is-featured .project-image{aspect-ratio:1.12;min-height:0;flex:none;width:100%;border:0;border-radius:8px;overflow:hidden;background:var(--surface);transition:box-shadow .4s ease,transform .4s ease}
#project-grid.bento-grid .project-image img{object-fit:cover;transition:transform .55s cubic-bezier(.2,.7,.2,1);transform:scale(1)}
#project-grid.bento-grid .project-card:is(:hover,:focus-visible) .project-image{box-shadow:0 18px 46px -18px rgba(0,188,255,.48)}
#project-grid.bento-grid .project-card:nth-child(3n):is(:hover,:focus-visible) .project-image{box-shadow:0 18px 46px -18px rgba(239,137,85,.4)}
#project-grid.bento-grid .project-card:is(:hover,:focus-visible) img{transform:scale(1.02)}
#project-grid.bento-grid .card-meta,#project-grid.bento-grid .is-featured .card-meta{padding:23px 0 0;background:none;gap:15px;color:var(--ink)}
#project-grid.bento-grid .card-meta h3,#project-grid.bento-grid .is-featured h3{font-size:clamp(25px,2.8vw,42px);font-weight:600;line-height:1.1}
#project-grid.bento-grid .card-meta p{font-size:12px;line-height:1.6;letter-spacing:.035em;text-transform:none;color:var(--muted);margin-top:10px}
#project-grid.bento-grid .card-number{color:var(--muted);padding-top:7px}
#project-grid.bento-grid .featured-description,#project-grid.bento-grid .featured-link{display:none}
.finalist-badge{font-size:9px;letter-spacing:.06em;max-width:calc(100% - 28px);top:14px;left:14px;right:14px;background:#F8F9FA;color:#0A0A0A;border-radius:3px;padding:8px 10px}
.bento-grid .image-arrow{border-radius:50%;background:#00BCFF;color:white;width:40px;height:40px}
.lens-heading{padding:0;border:0;color:var(--ink)}.lens-heading span{color:var(--muted)}
.cinema-meta{border:0;padding:32px 0;color:var(--ink)}.cinema-meta .eyebrow{color:var(--muted)}
.cinema-summary{color:var(--muted)}.cinema-ambient{filter:blur(45px);opacity:.2}
.film-choice,.photo-card{color:var(--ink)}.film-thumb-title{font-weight:500}.film-thumb-active{color:var(--ink)}
.film-choice[aria-pressed=true]{border-color:#00BCFF}.film-choice:hover .film-thumb-title{color:#00BCFF}
.cinema-controls button:hover{color:#00BCFF}.cinema-controls .cinema-seek{accent-color:#00BCFF}
.photo-card{border:0}.photo-label{padding:15px 0;color:var(--ink)}
.about{gap:65px 7%}.about-copy,.about-image,.about-details>div,.making-section,.recognition-section{border:0!important;padding:0;background:transparent;color:var(--ink)}
.about-copy{grid-column:1/-1;grid-row:1;text-align:center;max-width:850px;margin:auto}
.about-copy .eyebrow{color:var(--muted);margin-bottom:22px}.about-copy p{max-width:720px;margin:24px auto;color:var(--muted)}
.about-image{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:28px}
.about-image>img{height:100%;aspect-ratio:1.4;object-fit:cover;border-radius:8px}
.about-image>span{display:none}.personal-pair{margin:0;gap:18px}.personal-pair img{border-radius:8px}
.journey-heading{display:flex;flex-direction:column;text-align:center;align-items:center;gap:18px;padding:0}
.journey-heading h3{font-size:clamp(32px,4vw,56px)}.journey-heading>p{align-self:center;color:var(--muted);max-width:620px}
.editorial-journey{border:0}.timeline-deck,.timeline-date,.practice-date{color:var(--muted)}
.timeline-step details,.practice-entry,.toolkit-entry,.recognition li{border-color:var(--line)}
.timeline-step:before{background:var(--paper);border-color:var(--muted)}.timeline-step.is-reached:before,.journey-line span{background:#00BCFF;border-color:#00BCFF}
.disclosure-content p,.recognition small,.toolkit-entry ul,.making-section>p{color:var(--muted)}
.about-details{gap:55px}.about-details h3{text-align:center;margin-bottom:24px}.practice-notes{border:0;gap:70px}
.making-section,.recognition-heading{text-align:center}.making-section>p{margin:20px auto;max-width:650px}
.skills-branches{text-align:left;gap:25px}.toolkit-entry{border-right:0;padding-inline:0}.recognition{text-align:left}
.download-grid{gap:24px}.download-grid>a,.download-grid>a+a{border:0;background:var(--surface);border-radius:8px;color:var(--ink)}
.download-grid>a:hover{background:#00BCFF;color:#fff}.download-grid>a:hover :is(span,b){color:white}
.contact{background:#0A0A0A;text-align:center;color:#F8F9FA;border:0;padding-top:100px}
.contact h2{font-size:clamp(42px,6vw,90px);line-height:1.05}.contact-links{justify-content:center}
.contact .email:hover,.contact-links a:hover,.text-link:hover{color:#00BCFF}
button:hover{border-color:#00BCFF}a:focus-visible,button:focus-visible,summary:focus-visible{outline-color:#00BCFF}
@media(max-width:700px){.hero-name{padding-top:30px;gap:22px}.hero-name h1{font-size:20vw}.hero-copy{padding:30px 0 45px;gap:20px}.hero-copy h2{font-size:clamp(33px,8.8vw,50px);line-height:1.04}.hero-copy>p{font-size:16px}.section{padding-top:65px;padding-bottom:70px}.section-head{gap:18px;margin-bottom:32px}.collection-nav.collection-cards{gap:8px;margin-bottom:35px}.collection-nav .collection-choice{padding:10px 13px;min-height:40px}.collection-label{font-size:11px}#project-grid.bento-grid{grid-template-columns:1fr;gap:36px}#project-grid.bento-grid .project-image{aspect-ratio:1.08}#project-grid.bento-grid .card-meta{padding-top:18px}#project-grid.bento-grid .card-meta h3,#project-grid.bento-grid .is-featured h3{font-size:30px}.about{gap:40px}.about-image{grid-template-columns:1fr;gap:20px}.about-image>img{height:auto}.about-details{gap:40px}.skills-branches{gap:0}.contact{padding-top:70px}.finalist-badge{font-size:8px}.journey-track{margin-inline:8px}.cinema-meta{padding:25px 0}}
@media(prefers-reduced-motion:reduce){body,.header-shell .header,.project-image,.project-image img{transition:none!important}}

#project-grid.bento-grid .card-meta{flex-direction:row;align-items:start}#project-grid.bento-grid .card-number{order:0}
.about-copy .text-link{color:var(--ink);border-color:#00BCFF}.about-copy .text-link:hover{color:#00BCFF}
.case-intro{text-align:center}.case-intro h1{margin-left:auto;margin-right:auto}.case-intro,.case-chapter,.case-footer,.case-meta>div{border:0}.case-meta{text-align:left}.case-nav a:hover{color:#00BCFF}
.section :is(h2,h3,p,.eyebrow,.timeline-deck,.timeline-date,.photo-label),.hero-copy :is(h2,p){transition:color .7s ease}
@media(prefers-reduced-motion:reduce){.section :is(h2,h3,p,.eyebrow,.timeline-deck,.timeline-date,.photo-label){transition:none}}
.header-shell .header{margin-inline:4.5%;width:auto}@media(max-width:700px){.header-shell .header{margin-inline:6%;width:auto}}

/* Cyan foreground labels are bold; main navigation keeps its original weight. */
.hero-copy .eyebrow,.skill-index,.recognition li>span,.text-link,.photo-label>span:last-child,.gallery-controls button,.cinema-track-controls button,.film-thumb-title:hover,.film-choice:hover .film-thumb-title,.cinema-controls button:hover,.contact .email:hover,.contact-links a:hover,.case-summary a:hover,.case-end a:hover{font-weight:700}
.header-shell .header nav a{font-weight:400}
/* Dark lettering keeps the brighter cyan buttons readable. */
.header-shell .header-resume,.header-shell.is-compact .header-resume,.floating-resume,.hero-copy .round-link,.round-link .round-icon,.collection-nav .collection-choice:is(:hover,:focus-visible),.bento-grid .image-arrow,.download-grid>a:hover,.download-grid>a:hover :is(span,b){color:#0A0A0A}

/* A consistent, compact index organised by discipline. */
#project-grid.bento-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:32px 24px}
#project-grid .project-group-heading{grid-column:1/-1;display:flex;align-items:baseline;justify-content:space-between;gap:16px;border-bottom:1px solid var(--line);padding-bottom:14px;scroll-margin-top:130px}
#project-grid .project-group-heading:not(:first-child){margin-top:22px}
#project-grid .project-group-heading h3{font-size:clamp(20px,2vw,26px);font-weight:500;letter-spacing:-.025em}
#project-grid .project-group-heading>span{font-size:12px;color:var(--muted);white-space:nowrap}
#project-grid.bento-grid .project-image,#project-grid.bento-grid .is-featured .project-image{aspect-ratio:4/3}
#project-grid.bento-grid .card-meta,#project-grid.bento-grid .is-featured .card-meta{padding:16px 0 0;gap:8px}
#project-grid.bento-grid .card-meta h3,#project-grid.bento-grid .is-featured h3{font-size:clamp(21px,1.8vw,28px);line-height:1.18}
#project-grid.bento-grid .card-meta p{font-size:14px;margin-top:6px}
#project-grid.bento-grid .card-number{font-size:12px;flex-shrink:0}
#project-grid.bento-grid .is-featured .card-number{display:none}
#project-grid.bento-grid .finalist-badge{font-size:10px;line-height:1.4;white-space:normal;max-width:calc(100% - 24px);top:12px;left:12px;padding:8px}
@media(max-width:1000px){#project-grid.bento-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 20px}}
@media(max-width:600px){#project-grid.bento-grid{grid-template-columns:minmax(0,1fr);gap:26px}#project-grid.bento-grid .project-image,#project-grid.bento-grid .is-featured .project-image{aspect-ratio:3/2}#project-grid.bento-grid .card-meta h3,#project-grid.bento-grid .is-featured h3{font-size:24px}#project-grid .project-group-heading{scroll-margin-top:155px}}
