:root{--blue:#1d3fd0;--orange:#ff5b36;--paper:#f8f7ef;--ink:#080808;--white:#fff;--space:clamp(1.25rem,3.5vw,3.6rem)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:"Arial Narrow",Arial,Helvetica,sans-serif;font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased}a{color:inherit}img{display:block;max-width:100%}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:.9;letter-spacing:-.055em;text-transform:uppercase}.kicker,.meta{margin:0;font-family:"Courier New",monospace;font-size:.75rem;font-weight:700;letter-spacing:.035em;text-transform:uppercase}.site-header{position:sticky;z-index:20;top:0;display:flex;align-items:center;gap:2rem;min-height:4.2rem;padding:.85rem var(--space);background:var(--blue);color:var(--white)}.wordmark{font-size:1.45rem;font-weight:900;letter-spacing:-.04em;text-decoration:none}.site-header nav{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.5rem clamp(.9rem,2.2vw,2.2rem);margin-left:auto}.site-header nav a{font-family:"Courier New",monospace;font-size:.72rem;font-weight:700;text-transform:uppercase;text-decoration:none}.site-header nav a:hover{color:var(--orange)}.section-shell{padding:clamp(4.5rem,9vw,9rem) var(--space)}
.home-intro{display:grid;grid-template-columns:minmax(18rem,.82fr) minmax(22rem,1.18fr);min-height:calc(100svh - 4.2rem)}.intro-copy{display:flex;flex-direction:column;padding:var(--space);color:var(--white);background-color:var(--blue);background-image:repeating-linear-gradient(to bottom,transparent 0,transparent 78px,rgba(255,255,255,.19) 79px,transparent 80px)}.intro-copy .kicker,.intro-copy .meta{color:var(--white)}.intro-copy h1{margin:clamp(3rem,10vh,7rem) 0 1.4rem;font-size:clamp(6rem,14vw,12rem)}.intro-title{margin:0;font-size:clamp(1.5rem,3vw,3rem);font-weight:900;letter-spacing:-.03em;text-transform:uppercase}.intro-title::before{content:"/ ";color:var(--orange)}.location{margin-top:auto;font-family:"Courier New",monospace;font-size:.74rem;font-weight:700;text-transform:uppercase}.intro-image{display:grid;place-items:center;margin:0;padding-left:1.25rem;background:var(--orange)}.intro-image img{width:100%;height:calc(100svh - 4.2rem);object-fit:contain;background:var(--paper)}
.section-heading{display:grid;grid-template-columns:.5fr 1.5fr;gap:2rem;margin-bottom:clamp(3rem,7vw,7rem)}.section-heading .kicker{color:var(--blue)}.section-heading h2{grid-column:2;margin:0;font-size:clamp(3.5rem,8.5vw,8.7rem)}.section-heading>p:last-child{grid-column:2;margin:0;font-family:"Courier New",monospace;font-size:.82rem}.project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(2rem,4vw,4rem)}.project-card{position:relative;display:flex;flex-direction:column;min-height:36rem;padding:1rem;text-decoration:none;overflow:hidden}.project-card:nth-child(3n+1){background:var(--blue);color:var(--white)}.project-card:nth-child(3n+2){background:var(--orange)}.project-card:nth-child(3n){background:var(--ink);color:var(--white)}.card-image{display:grid;place-items:center;height:25rem;padding:1rem;background:var(--paper);overflow:hidden}.card-image img{width:100%;height:100%;object-fit:contain;transition:transform .35s ease}.project-card:hover .card-image img{transform:scale(1.02)}.card-title{display:grid;grid-template-columns:3rem 1fr;gap:.65rem;padding:1.2rem 0 .5rem}.card-title span{font-size:2.8rem;font-weight:900;line-height:.8;color:var(--orange)}.project-card:nth-child(3n+2) .card-title span{color:var(--blue)}.card-title h3{margin:0;font-size:clamp(1.65rem,3vw,3rem)}.card-title h3 small{display:block;margin-top:.4rem;font-size:.45em;font-weight:400;letter-spacing:0}.card-title b{grid-column:2;font-family:"Courier New",monospace;font-size:.7rem;text-transform:uppercase}.project-card>p{margin:.2rem 0 1.4rem;padding-left:3.65rem;font-family:"Courier New",monospace;font-size:.7rem;text-transform:uppercase}
.about-section{display:grid;grid-template-columns:minmax(18rem,.85fr) minmax(20rem,1.15fr);gap:0;padding:0;background:var(--white)}.about-image{position:relative;display:grid;place-items:center;padding:clamp(1.5rem,4vw,4rem);background:var(--orange)}.about-image img{width:100%;max-height:75vh;object-fit:contain}.about-copy{padding:clamp(3rem,8vw,8rem) var(--space)}.about-copy .kicker{color:var(--blue)}.about-copy h2{margin:1.5rem 0 2.5rem;font-size:clamp(3rem,7vw,7.5rem)}.about-copy h2 span{color:var(--blue)}.about-copy>p:not(.kicker){max-width:44rem;font-size:clamp(1rem,1.35vw,1.24rem)}.facts{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-top:3rem;padding-top:1.4rem;color:var(--blue);font-family:"Courier New",monospace;font-size:.72rem;text-transform:uppercase}.facts b{color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:.9rem;text-transform:none}
.contact-section{background:var(--ink);color:var(--white)}.contact-section .kicker{color:var(--orange)}.contact-section h2{margin:.8rem 0 0;font-size:clamp(3.6rem,9vw,9rem)}.contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(2rem,8vw,9rem)}.contact-list a{display:grid;grid-template-columns:1fr auto;gap:2rem;padding:1.1rem 0;border-bottom:1px solid #3d3d3d;text-decoration:none}.contact-list span{color:var(--orange);font-family:"Courier New",monospace;font-size:.72rem;font-weight:700;text-transform:uppercase}.contact-list b{font-size:.9rem}.contact-list a:hover b{color:var(--orange)}footer{display:flex;justify-content:space-between;gap:2rem;padding:1.5rem var(--space);background:var(--blue);color:var(--white);font-family:"Courier New",monospace;font-size:.7rem;font-weight:700;text-transform:uppercase}
.project-page main{padding:0 var(--space)}.project-top{display:flex;justify-content:space-between;gap:2rem;padding:1.6rem 0}.back-link,.next-link{font-family:"Courier New",monospace;font-size:.72rem;font-weight:700;text-transform:uppercase;text-decoration:none}.back-link:hover,.next-link:hover{color:var(--orange)}.project-hero{margin:0 calc(var(--space)*-1);padding:clamp(3rem,7vw,7rem) var(--space);color:var(--white);background-color:var(--blue);background-image:repeating-linear-gradient(to bottom,transparent 0,transparent 78px,rgba(255,255,255,.17) 79px,transparent 80px)}.project-hero .number{display:block;color:var(--orange);font-size:clamp(3rem,8vw,8rem);font-weight:900;line-height:.8}.project-hero h1{max-width:1150px;margin:1rem 0 1.4rem;font-size:clamp(3.8rem,10vw,10rem)}.project-hero h1 small{display:block;margin-top:.6rem;font-size:.27em;font-weight:400;letter-spacing:0}.project-hero .meta{color:var(--white)}.project-layout{display:grid;grid-template-columns:minmax(18rem,.72fr) minmax(22rem,1.28fr);gap:clamp(3rem,8vw,9rem);padding:clamp(4rem,8vw,8rem) 0}.project-description{align-self:start;position:sticky;top:7rem}.project-description p:not(.meta){font-size:clamp(1rem,1.3vw,1.22rem)}.project-description .meta{margin:2rem 0 .8rem;color:var(--blue)}.project-actions{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:2.2rem}.project-actions a{padding:.72rem 1rem;background:var(--orange);font-family:"Courier New",monospace;font-size:.72rem;font-weight:700;text-transform:uppercase;text-decoration:none}.project-actions a:hover{background:var(--blue);color:var(--white)}.gallery{display:grid;gap:1rem}.gallery figure{display:grid;place-items:center;margin:0;padding:clamp(1rem,2.5vw,2.4rem);background:var(--blue)}.gallery figure:nth-child(even){background:var(--orange)}.gallery figure img{width:100%;height:auto;max-height:82vh;object-fit:contain;background:var(--paper)}.gallery figcaption{justify-self:start;margin-top:.8rem;color:var(--white);font-family:"Courier New",monospace;font-size:.7rem;text-transform:uppercase}.gallery figure:nth-child(even) figcaption{color:var(--ink)}.gallery.two{grid-template-columns:1fr 1fr}.gallery.two .wide{grid-column:1/-1}.project-footer{display:flex;justify-content:space-between;gap:2rem;padding:2rem 0}
/* Simplified palette: blue structure with orange as the only image frame. */
.project-card,.project-card:nth-child(3n+1),.project-card:nth-child(3n+2),.project-card:nth-child(3n){background:transparent;color:var(--ink)}
.card-image{padding:.85rem;background:var(--orange)}
.card-image img{background:var(--paper)}
.card-title span,.project-card:nth-child(3n+2) .card-title span{color:var(--blue)}

.contact-section{background:var(--blue);color:var(--white)}
.contact-list a{border-color:rgba(255,255,255,.28)}
.gallery figure,.gallery figure:nth-child(even){background:var(--orange)}
.gallery figcaption,.gallery figure:nth-child(even) figcaption{color:var(--ink)}
/* Lighter frame study: an offset orange edge instead of a solid box. */
.card-image{width:calc(100% - 12px);margin-left:12px;margin-bottom:12px;padding:0;background:var(--paper);overflow:hidden;box-shadow:-12px 12px 0 var(--orange)}
.about-image{background:var(--paper);box-shadow:inset 12px 0 0 var(--orange)}
.gallery figure,.gallery figure:nth-child(even){width:calc(100% - 12px);margin-left:12px;margin-bottom:12px;padding:0;background:var(--paper);box-shadow:-12px 12px 0 var(--orange)}
.gallery figure img{background:var(--paper)}
.gallery figcaption,.gallery figure:nth-child(even) figcaption{width:100%;margin:0;padding:.7rem .8rem;color:var(--ink);background:var(--paper)}
@media(max-width:850px){.home-intro,.about-section,.contact-grid,.project-layout{grid-template-columns:1fr}.home-intro{min-height:0}.intro-copy{min-height:58svh}.intro-image{padding:1rem 0 0}.intro-image img{height:auto;max-height:78svh}.section-heading{grid-template-columns:1fr}.section-heading h2,.section-heading>p:last-child{grid-column:1}.project-description{position:static}.gallery.two{grid-template-columns:1fr}.gallery.two .wide{grid-column:1}}
@media(max-width:650px){.site-header{align-items:flex-start}.site-header nav{max-width:15rem}.project-grid{grid-template-columns:1fr}.project-card{min-height:32rem}.card-image{height:21rem;width:calc(100% - 8px);margin-left:8px;margin-bottom:8px;box-shadow:-8px 8px 0 var(--orange)}.gallery figure,.gallery figure:nth-child(even){width:calc(100% - 8px);margin-left:8px;margin-bottom:8px;box-shadow:-8px 8px 0 var(--orange)}.facts{grid-template-columns:1fr}.contact-section h2{margin-bottom:2rem}footer,.project-top,.project-footer{flex-direction:column}.project-page main{padding:0 1.25rem}.project-hero{margin:0 -1.25rem;padding-left:1.25rem;padding-right:1.25rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.card-image img{transition:none}}

/* Orange as editorial notation, never as a photograph frame. */
.intro-image{padding-left:0;background:var(--paper)}
.card-image{width:100%;margin:0;padding:0;background:var(--paper);box-shadow:none}
.about-image{background:var(--paper);box-shadow:none}
.gallery figure,.gallery figure:nth-child(even){width:100%;margin:0;padding:0;background:transparent;box-shadow:none}
.gallery figure img{background:var(--paper)}
.gallery figcaption,.gallery figure:nth-child(even) figcaption{width:auto;margin:.65rem 0 0;padding:0;color:var(--orange);background:transparent;font-weight:700}
.card-title span,.project-card:nth-child(3n+2) .card-title span{color:var(--orange)}
.card-title b{color:var(--blue)}

.section-heading h2::before{content:"";display:block;width:3.5rem;height:.55rem;margin-bottom:1.1rem;background:var(--orange)}

.project-description .meta::before{content:"";display:inline-block;width:.55rem;height:.55rem;margin-right:.5rem;background:var(--orange);vertical-align:.02em}

@media(max-width:650px){.card-image,.gallery figure,.gallery figure:nth-child(even){width:100%;margin:0;box-shadow:none}}

/* Full-colour study: cobalt field with orange editorial sections. */
body{background:var(--blue);color:var(--white)}
.section-shell{padding:clamp(3.5rem,6vw,6rem) var(--space)}
.home-intro,.intro-image,.work-section,.about-section,.contact-section{background:var(--blue)}
.intro-image img{background:var(--blue)}
.section-heading{gap:1rem 2rem;margin-bottom:clamp(2rem,4vw,3.5rem);padding:clamp(1.4rem,3vw,2.5rem);color:var(--ink);background:var(--orange)}
.section-heading .kicker{color:var(--blue)}
.section-heading h2::before{display:none}
.project-grid{gap:clamp(1.25rem,2.25vw,2.25rem)}
.project-card,.project-card:nth-child(3n+1),.project-card:nth-child(3n+2),.project-card:nth-child(3n){min-height:34rem;padding:0;color:var(--white);background:transparent}
.card-image{height:clamp(28rem,43vw,39rem);background:var(--blue)}
.card-image img{background:var(--blue)}
.card-title{padding:1rem 0 .35rem}
.card-title b{color:var(--orange)}
.project-card>p{margin-bottom:1rem}

.about-section{align-items:stretch}
.about-image{padding:clamp(1rem,2vw,2rem);background:var(--blue)}
.about-image img{max-height:none}
.about-copy{align-self:center;margin:clamp(1rem,2vw,2rem) var(--space) clamp(1rem,2vw,2rem) 0;padding:clamp(2.5rem,5vw,5rem);color:var(--ink);background:var(--orange)}
.about-copy .kicker,.about-copy h2 span,.facts{color:var(--blue)}
.contact-grid{gap:clamp(2rem,5vw,5rem)}
.contact-list{display:grid;gap:.55rem}
.contact-list a{padding:1rem 1.15rem;border:0;color:var(--ink);background:var(--orange)}
.contact-list span{color:var(--blue)}
.contact-list a:hover b{color:var(--blue)}
.project-page main{background:var(--blue)}
.project-top,.project-footer{color:var(--white)}
.project-layout{grid-template-columns:minmax(18rem,.62fr) minmax(25rem,1.38fr);gap:clamp(2rem,4vw,4rem);padding:clamp(2.5rem,5vw,5rem) 0}
.project-description{padding:clamp(1.4rem,2.5vw,2.25rem);color:var(--ink);background:var(--orange)}
.project-description .meta{color:var(--blue)}
.project-description .meta::before{background:var(--blue)}
.gallery{gap:clamp(1rem,2vw,1.75rem)}
.gallery figure img{width:100%;max-height:none;background:var(--blue)}
.gallery figcaption,.gallery figure:nth-child(even) figcaption{color:var(--orange)}

@media(max-width:850px){.about-copy{margin:0 var(--space) var(--space)}.project-layout{grid-template-columns:1fr}.project-description{position:static}}
@media(max-width:650px){.section-shell{padding-top:3rem;padding-bottom:3rem}.card-image{height:27rem}.section-heading{padding:1.25rem}.about-image{padding:1rem}.about-copy{margin:0 1.25rem 1.25rem;padding:2rem}.project-card{min-height:31rem}}

/* Type and spacing repairs for long titles and narrow screens. */
html,body{overflow-x:hidden}
.about-section{padding:0}
.project-card{padding-bottom:.35rem;overflow:visible}
.card-title h3,.project-hero h1,.about-copy h2,.contact-list b,.project-top a,.project-footer a{overflow-wrap:anywhere;word-break:normal}
.card-title h3{min-width:0}

.contact-list b{min-width:0;text-align:right}
.project-description{min-width:0}

@media(max-width:650px){
  .site-header{position:relative;flex-direction:column;align-items:flex-start;gap:.65rem;padding-top:.8rem;padding-bottom:.8rem}
  .site-header nav{justify-content:flex-start;width:100%;max-width:none;margin-left:0;gap:.45rem 1rem}
  .site-header nav a{font-size:.66rem}
  .intro-copy h1{font-size:clamp(4.8rem,25vw,6rem)}
  .section-heading h2{font-size:clamp(2.85rem,14vw,4rem)}
  .card-title{grid-template-columns:2.45rem minmax(0,1fr);gap:.55rem}
  .card-title span{font-size:2.35rem}
  .card-title h3{font-size:clamp(1.45rem,8vw,2.15rem);line-height:.95}
  .project-card>p{padding-left:3rem}
  .project-hero h1{font-size:clamp(2.8rem,14vw,5rem);line-height:.92}
  .about-copy h2{font-size:clamp(2.6rem,13vw,4.2rem)}
  .contact-list a{grid-template-columns:minmax(0,.45fr) minmax(0,1fr);gap:1rem}
  .project-top,.project-footer{gap:.75rem}
}

.intro-social,.footer-social{display:inline-flex;align-items:center;gap:.55rem;text-decoration:none}
.intro-social svg,.footer-social svg{width:1.3rem;height:1.3rem;flex:none}
.intro-social{align-self:flex-start;margin-top:1.5rem;color:var(--white);font-family:"Courier New",monospace;font-size:.7rem;font-weight:700;text-transform:uppercase;transition:color .2s}
.intro-social:hover,.intro-social:focus-visible{color:var(--orange)}
.footer-social{color:var(--white);transition:color .2s}
.footer-social:hover,.footer-social:focus-visible{color:var(--orange)}
.wordmark:hover,.wordmark:focus-visible{color:var(--orange)}

/* Smaller archival images arranged as groups on the MPB and EP pages. */
.archive-gallery{gap:clamp(.8rem,1.6vw,1.5rem);align-items:start}
.archive-gallery figure,.archive-gallery figure:nth-child(even){width:100%;margin:0;padding:0;background:transparent;box-shadow:none}
.archive-gallery figure img{display:block;width:100%;height:auto;object-fit:contain;background:transparent}
.archive-gallery figure figcaption,.archive-gallery figure:nth-child(even) figcaption{margin-top:.55rem;color:var(--orange)}
.ep-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}
.ep-gallery figure:first-child{grid-column:1/-1;justify-self:center;max-width:36rem;margin-bottom:.6rem}
.mpb-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}
.mpb-gallery figure:first-child{grid-column:1/-1;justify-self:center;max-width:38rem;margin-bottom:.6rem}
.mpb-gallery figure:nth-child(4){grid-column:1/-1;justify-self:center;max-width:26rem;margin-top:.5rem}
.landing-gallery{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}
.landing-gallery figure:first-child{grid-column:1/-1;justify-self:center;max-width:42rem;margin-bottom:.6rem}
.landing-gallery figure:nth-child(2){grid-column:1/-1;justify-self:center;max-width:25rem}
.landing-gallery figure:nth-child(n+3){grid-column:1/-1;justify-self:center;max-width:34rem;margin-top:.65rem}
.gallery.two.audio-gallery,.gallery.two.experimental-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}
.gallery.two.audio-gallery .wide{grid-column:1/-1}
.experimental-gallery figure:first-child{grid-column:1/-1;justify-self:center;max-width:38rem}
.experimental-gallery figure:nth-child(2){grid-column:1;grid-row:2/4}
.experimental-gallery figure:nth-child(3){grid-column:2;grid-row:2}
.experimental-gallery figure:nth-child(4){grid-column:2;grid-row:3}
.gallery.untalented-gallery{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}
.untalented-gallery figure:first-child{grid-column:1/-1;justify-self:center;max-width:38rem}
.untalented-gallery figure:last-child{grid-column:1/-1;justify-self:center;max-width:21rem}

@media(max-width:650px){
  .ep-gallery{grid-template-columns:1fr}
  .ep-gallery figure:first-child{grid-column:1;max-width:100%}
  .ep-gallery figure:not(:first-child){justify-self:center;width:86%}
  .mpb-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}
  .mpb-gallery figure:first-child{grid-column:1/-1;grid-row:1;max-width:100%;justify-self:center}
  .mpb-gallery figure:nth-child(2){grid-column:1;grid-row:2}
  .mpb-gallery figure:nth-child(3){grid-column:2;grid-row:2}
  .mpb-gallery figure:nth-child(4){grid-column:1/-1;grid-row:3;width:82%;margin-top:0}
  .landing-gallery{grid-template-columns:1fr}
  .landing-gallery figure:first-child{grid-column:1;max-width:100%}
  .landing-gallery figure:nth-child(n+2){grid-column:1;width:84%;margin-top:0}
  .gallery.two.experimental-gallery{grid-template-columns:1fr}
  .experimental-gallery figure:first-child{grid-column:1;max-width:100%}
  .experimental-gallery figure:nth-child(n+2){grid-column:1;grid-row:auto;width:82%;justify-self:center}
  .untalented-gallery figure:first-child{max-width:100%}
  .untalented-gallery figure:last-child{width:70%}
}

/* Keep the surname intact in the narrow biography panel. */
.about-copy h2 .bio-first,.about-copy h2 .bio-surname{color:var(--ink)}
.about-copy h2 .bio-surname{white-space:nowrap}
footer{position:relative}
.footer-links{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:flex;gap:1.15rem;align-items:center}
.footer-links a{display:inline-flex;color:var(--white);width:2.1rem;height:2.1rem;align-items:center;justify-content:center;transition:color .2s}
.footer-links a:hover,.footer-links a:focus-visible{color:var(--orange)}
.footer-links svg{width:1.25rem;height:1.25rem}
@media(max-width:650px){footer{align-items:center;text-align:center}.footer-links{position:static;transform:none}}
@media(max-width:650px){
  .about-copy h2{font-size:clamp(1.8rem,9.5vw,3rem);line-height:1.02}
  .about-copy h2 .bio-first,.about-copy h2 .bio-surname{display:block}
  .site-header nav a,.project-actions a,.back-link,.next-link{font-size:.875rem}
  .gallery.two.audio-gallery{grid-template-columns:1fr}
  .gallery.two.audio-gallery .wide{grid-column:1}
  .contact-list a{gap:.65rem}
}

/* Keep the EP title intact on narrow phone screens. */
@media(max-width:650px){
  .wander-off-card .card-title h3{font-size:clamp(1rem,5vw,1.5rem);white-space:nowrap;overflow-wrap:normal;letter-spacing:-.06em}
  .wander-off-page .project-hero h1{font-size:clamp(1.2rem,6vw,2.3rem);white-space:nowrap;overflow-wrap:normal;letter-spacing:-.06em}
}
