*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
:root{
  --oatmeal:#FAF0EB;--blueberry:#465AE1;--apple:#F55A32;
  --banana:#FFD719;--lime:#D2D741;--strawberry:#FF87EB;
  --kelp:#6EC8BE;--guava:#FFAAC3;--black:#1a1a1a;
  --muted:#888;--line:rgba(0,0,0,.1);
}
html{font-size:16px;scroll-behavior:smooth;}
body{background:var(--oatmeal);color:var(--black);font-family:-apple-system,BlinkMacSystemFont,'Helvetica Neue',Arial,sans-serif;-webkit-font-smoothing:antialiased;}

/* ── NAV ── */
nav{
  position:sticky;top:0;z-index:200;
  display:flex;justify-content:space-between;align-items:center;
  padding:.9rem 2rem;
  background:var(--oatmeal);
  border-bottom:1px solid var(--line);
}
.nav-logo{font-size:13px;font-weight:500;letter-spacing:-.01em;cursor:pointer;color:var(--black);text-decoration:none;}
.nav-logo em{font-style:italic;font-family:'DM Serif Display',Georgia,serif;color:var(--blueberry);font-weight:400;}
.nav-links{display:flex;gap:1rem;align-items:center;}
.nav-pill{
  font-size:9px;letter-spacing:.08em;text-transform:uppercase;
  color:var(--muted);cursor:pointer;text-decoration:none;
  border:1px solid var(--line);padding:5px 12px;border-radius:100px;
  transition:color .2s,border-color .2s;
}
.nav-pill:hover{color:var(--black);border-color:rgba(0,0,0,.3);}

/* ── BRACKET LABEL (global utility) ── */
.blabel{
  display:inline-flex;align-items:center;
  font-size:8px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);
  border:1px solid var(--line);padding:3px 9px;border-radius:100px;
}
.blabel-blue{color:var(--blueberry);border-color:var(--blueberry);}
.blabel-apple{color:var(--apple);border-color:var(--apple);}
.blabel-solid{background:var(--black);color:var(--oatmeal);border-color:var(--black);}

/* ── HERO — editorial, oatmeal, mixed type ── */
.hero-ed{
  background:var(--oatmeal);
  border-bottom:1px solid var(--line);
  overflow:hidden;
}
.hero-ed-topbar{
  display:flex;justify-content:space-between;align-items:center;
  padding:.7rem 2rem;border-bottom:1px solid var(--line);
}
.hero-ed-topbar-right{display:flex;gap:.6rem;}
.hero-ed-main{
  display:grid;grid-template-columns:1fr 280px;
  min-height:calc(100vh - 110px);
}
.hero-ed-left{
  padding:3.5rem 2.5rem 3rem;
  border-right:1px solid var(--line);
  display:flex;flex-direction:column;justify-content:space-between;
  overflow:hidden;
}
.hero-ed-right{
  padding:2rem 2rem 3rem;
  display:flex;flex-direction:column;justify-content:space-between;
  background:var(--blueberry);
}
/* big display type */
.hed{
  display:block;
  font-family:'Bebas Neue',Arial,sans-serif;
  font-size:clamp(80px,13vw,172px);
  line-height:.86;
  color:var(--black);
  letter-spacing:-.025em;
  white-space:nowrap;
}
.hed-serif{
  display:block;
  font-family:'DM Serif Display',Georgia,serif;
  font-style:italic;
  font-size:clamp(62px,10vw,132px);
  line-height:.9;
  color:var(--blueberry);
  letter-spacing:-.01em;
  margin:.06em 0;
}
.hed-accent{color:var(--apple);}
/* right panel (blueberry) */
.hero-right-top{}
.hero-right-label{
  font-size:8px;letter-spacing:.14em;text-transform:uppercase;
  color:rgba(255,255,255,.35);margin-bottom:1.5rem;display:block;
}
.hero-right-num{
  font-family:'Bebas Neue',Arial,sans-serif;
  font-size:clamp(70px,10vw,130px);
  line-height:.85;color:var(--banana);
  letter-spacing:-.02em;
}
.hero-right-num small{
  display:block;font-size:.28em;color:rgba(255,255,255,.4);
  font-family:-apple-system,BlinkMacSystemFont,sans-serif;
  font-weight:400;letter-spacing:.06em;text-transform:uppercase;
  margin-top:.15em;
}
.hero-right-bottom{}
.hero-right-desc{
  font-size:10px;color:rgba(255,255,255,.45);line-height:1.85;margin-bottom:1.25rem;
}
.hero-right-cta{
  display:inline-flex;align-items:center;gap:8px;
  font-size:9px;letter-spacing:.08em;text-transform:uppercase;
  color:rgba(255,255,255,.6);cursor:pointer;transition:color .2s;
  text-decoration:none;
}
.hero-right-cta::after{content:'→';}
.hero-right-cta:hover{color:var(--banana);}
/* bottom of left panel */
.hero-ed-bottom{
  display:flex;justify-content:space-between;align-items:flex-end;
  padding-top:1.5rem;margin-top:1.5rem;
  border-top:1px solid var(--line);
}
.hero-loc{font-size:10px;color:var(--muted);letter-spacing:.02em;}
.hero-pills{display:flex;gap:.5rem;}

/* ── STATS ── */
.stats{display:grid;grid-template-columns:repeat(4,1fr);border-bottom:1px solid var(--line);}
.stat{padding:1.1rem 2rem;border-right:1px solid var(--line);}
.stat:last-child{border-right:none;}
.stat-num{font-family:'Bebas Neue',Arial,sans-serif;font-size:34px;line-height:1;}
.stat-label{font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-top:4px;}

/* ── FILTER ── */
.filter-bar{display:flex;justify-content:space-between;align-items:center;padding:.65rem 2rem;border-bottom:1px solid var(--line);}
.filter-label{font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);}
.filter-btns{display:flex;gap:1rem;}
.filter-btn{
  font-size:9px;letter-spacing:.06em;text-transform:uppercase;
  color:var(--muted);background:none;border:1px solid transparent;
  cursor:pointer;font-family:inherit;padding:4px 11px;border-radius:100px;
  transition:all .2s;
}
.filter-btn:hover{color:var(--black);border-color:var(--line);}
.filter-btn.active{color:var(--apple);border-color:var(--apple);}

/* ── PROJECT GRID — 2 col, editorial cards ── */
.project-grid{display:grid;grid-template-columns:repeat(2,1fr);border-bottom:1px solid var(--line);}
.proj-card{
  border-right:1px solid var(--line);cursor:pointer;
  transition:background .2s;overflow:hidden;
  display:block;text-decoration:none;color:inherit;
}
.proj-card:nth-child(2n){border-right:none;}
.proj-card:not(:nth-child(-n+2)){border-top:1px solid var(--line);}
.proj-card:hover{background:rgba(0,0,0,.015);}
.proj-card.hidden{display:none;}
/* image area */
.card-img{
  position:relative;height:290px;overflow:hidden;
  border-bottom:1px solid var(--line);background:var(--oatmeal);
}
.aura-blob{position:absolute;border-radius:50%;filter:blur(52px);opacity:.55;pointer-events:none;z-index:1;}
.card-img img{width:100%;height:100%;object-fit:cover;display:block;position:relative;z-index:0;transition:transform .6s ease;}
.proj-card:hover .card-img img{transform:scale(1.03);}
.card-num{
  position:absolute;top:.85rem;left:.85rem;z-index:2;
  font-size:8px;letter-spacing:.1em;text-transform:uppercase;
  color:rgba(0,0,0,.65);
  background:rgba(255,255,255,.55);padding:3px 9px;border-radius:100px;
  backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);
}
.card-cat{
  position:absolute;top:.85rem;right:.85rem;z-index:2;
  font-size:8px;letter-spacing:.08em;text-transform:uppercase;
  color:rgba(0,0,0,.42);
}
/* card info below image */
.card-info{
  padding:.9rem 1.25rem 1.1rem;
  display:flex;justify-content:space-between;align-items:flex-end;
}
.card-title{font-family:'Bebas Neue',Arial,sans-serif;font-size:30px;line-height:.95;}
.card-right{text-align:right;}
.card-tag{font-size:8px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);display:block;}
.card-year{font-size:8px;color:#b0a89e;display:block;margin-top:2px;}

/* ── ACCENT STRIPS ── */
.strip{
  padding:1.25rem 2rem;border-bottom:1px solid var(--line);
  display:flex;justify-content:space-between;align-items:center;
  cursor:pointer;transition:opacity .2s;
}
.strip:hover{opacity:.9;}
.strip-type{
  font-family:'Bebas Neue',Arial,sans-serif;
  font-size:clamp(28px,4.5vw,48px);line-height:.95;
}
.strip-inline{display:inline-block;width:38px;height:26px;border-radius:3px;overflow:hidden;vertical-align:middle;margin:0 5px;}
.strip-inline img{width:100%;height:100%;object-fit:cover;display:block;}
.strip-meta{font-size:9px;letter-spacing:.08em;text-transform:uppercase;text-align:right;}

/* ── INDEX ROW ── */
.index-header{
  display:flex;justify-content:space-between;align-items:center;
  padding:.65rem 2rem;border-bottom:1px solid var(--line);
}
.index-row{display:grid;grid-template-columns:repeat(5,1fr);border-bottom:1px solid var(--line);}
.idx{border-right:1px solid var(--line);cursor:pointer;transition:background .2s;}
.idx:last-child{border-right:none;}
.idx:hover{background:rgba(0,0,0,.025);}
.idx-img{height:80px;overflow:hidden;border-bottom:1px solid var(--line);}
.idx-img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s;}
.idx:hover .idx-img img{transform:scale(1.06);}
.idx-name{font-family:'Bebas Neue',Arial,sans-serif;font-size:14px;padding:6px 10px 2px;line-height:1;}
.idx-tag{font-size:8px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);padding:0 10px 8px;display:block;}

/* ── HOME ABOUT STRIP ── */
.home-about{display:grid;grid-template-columns:100px 1fr auto;border-bottom:1px solid var(--line);}
.home-about-mono{padding:1.5rem;border-right:1px solid var(--line);display:flex;align-items:center;justify-content:center;background:var(--blueberry);}
.home-about-mono span{font-family:'Bebas Neue',Arial,sans-serif;font-size:42px;color:var(--banana);line-height:1;}
.home-about-content{padding:1.5rem 2rem;}
.home-about-name{font-size:11px;font-weight:500;margin-bottom:6px;}
.home-about-text{font-size:11px;color:#666;line-height:1.8;max-width:440px;}
.home-about-cta{padding:1.5rem 2rem;border-left:1px solid var(--line);display:flex;align-items:flex-end;}
.home-about-cta a{font-size:9px;letter-spacing:.06em;text-transform:uppercase;color:var(--apple);cursor:pointer;border-bottom:1px solid var(--apple);padding-bottom:1px;text-decoration:none;}

/* ── PROJECT PAGE ── */
.proj-page-header{border-bottom:1px solid var(--line);}
.proj-page-top{display:grid;grid-template-columns:1fr auto;padding:1.75rem 2rem 0;gap:1rem;align-items:start;}
.proj-page-num{font-size:9px;letter-spacing:.14em;text-transform:uppercase;margin-bottom:.5rem;}
.proj-page-title{font-family:'Bebas Neue',Arial,sans-serif;font-size:clamp(52px,10vw,84px);line-height:.88;}
.proj-page-title em{font-style:italic;font-family:'DM Serif Display',Georgia,serif;font-size:.75em;}
.proj-page-meta{display:flex;flex-direction:column;justify-content:flex-start;gap:10px;padding-top:4px;min-width:140px;}
.meta-row{display:flex;flex-direction:column;}
.meta-lbl{font-size:8px;letter-spacing:.12em;text-transform:uppercase;}
.meta-val{font-size:11px;font-weight:500;margin-top:2px;}
.proj-page-tags{display:flex;gap:6px;padding:1rem 2rem;flex-wrap:wrap;}
.proj-tag{font-family:'Bebas Neue',Arial,sans-serif;font-size:13px;padding:3px 10px;border-radius:100px;letter-spacing:.04em;}
.proj-hero{height:340px;overflow:hidden;border-bottom:1px solid var(--line);}
.proj-hero img{width:100%;height:100%;object-fit:cover;display:block;}
.proj-desc-grid{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid var(--line);}
.proj-desc-left{padding:1.75rem 2rem;border-right:1px solid var(--line);}
.proj-desc-right{padding:1.75rem 2rem;}
.sec-eyebrow{font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:.75rem;}
.proj-body{font-size:12px;color:#444;line-height:1.9;}
.proj-right-title{font-family:'Bebas Neue',Arial,sans-serif;font-size:24px;line-height:1;margin-bottom:.6rem;}
.proj-right-body{font-size:11px;color:#555;line-height:1.8;}
.proj-quote-strip{padding:1.5rem 2rem;border-bottom:1px solid var(--line);}
.proj-quote{font-family:'DM Serif Display',Georgia,serif;font-style:italic;font-size:clamp(15px,2.6vw,21px);line-height:1.45;max-width:520px;}
.proj-quote-src{font-size:9px;letter-spacing:.1em;text-transform:uppercase;margin-top:.75rem;}
.proj-gallery{display:grid;grid-template-columns:2fr 1fr;border-bottom:1px solid var(--line);}
.proj-gallery-main{height:260px;overflow:hidden;border-right:1px solid var(--line);}
.proj-gallery-main img{width:100%;height:100%;object-fit:cover;display:block;}
.proj-gallery-side{display:flex;flex-direction:column;}
.proj-gallery-cell{flex:1;overflow:hidden;border-bottom:1px solid var(--line);}
.proj-gallery-cell:last-child{border-bottom:none;}
.proj-gallery-cell img{width:100%;height:100%;object-fit:cover;display:block;}
.proj-detail-row{display:grid;grid-template-columns:repeat(4,1fr);border-bottom:1px solid var(--line);}
.proj-detail-cell{padding:1rem 1.5rem;border-right:1px solid var(--line);}
.proj-detail-cell:last-child{border-right:none;}
.proj-detail-lbl{font-size:8px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:4px;}
.proj-detail-val{font-family:'Bebas Neue',Arial,sans-serif;font-size:17px;line-height:1.1;}
.proj-nav-row{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid var(--line);}
.proj-nav-prev{padding:1.25rem 2rem;border-right:1px solid var(--line);cursor:pointer;display:flex;align-items:center;text-decoration:none;color:inherit;}
.proj-nav-prev span{font-size:9px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);}
.proj-nav-next{padding:1.25rem 2rem;cursor:pointer;display:flex;justify-content:space-between;align-items:center;transition:opacity .2s;text-decoration:none;color:inherit;}
.proj-nav-next:hover{opacity:.88;}
.proj-nav-lbl{font-size:9px;letter-spacing:.08em;text-transform:uppercase;}
.proj-nav-name{font-family:'Bebas Neue',Arial,sans-serif;font-size:26px;line-height:1;margin-top:4px;}
.proj-nav-arrow{font-family:'Bebas Neue',Arial,sans-serif;font-size:30px;}

/* ── ABOUT PAGE ── */
.about-header{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid var(--line);min-height:200px;}
.about-header-left{background:var(--strawberry);padding:2rem;border-right:1px solid var(--line);display:flex;flex-direction:column;justify-content:space-between;}
.about-header-right{padding:2rem;display:flex;flex-direction:column;justify-content:flex-end;}
.about-eyebrow{font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:rgba(0,0,0,.35);margin-bottom:.5rem;}
.about-big{font-family:'Bebas Neue',Arial,sans-serif;font-size:clamp(52px,10vw,80px);line-height:.88;color:var(--black);}
.about-big em{font-style:italic;font-family:'DM Serif Display',Georgia,serif;color:var(--blueberry);font-size:.75em;}
.about-tagline{font-size:11px;color:rgba(0,0,0,.4);}
.about-intro{font-size:13px;color:var(--black);line-height:1.75;}
.bio-section{display:grid;grid-template-columns:200px 1fr;border-bottom:1px solid var(--line);}
.bio-photo{border-right:1px solid var(--line);overflow:hidden;background:var(--guava);}
.bio-photo img{width:100%;height:100%;object-fit:cover;object-position:top;display:block;}
.bio-content{padding:2rem;}
.bio-name{font-family:'Bebas Neue',Arial,sans-serif;font-size:30px;color:var(--apple);line-height:1;margin-bottom:.75rem;}
.bio-text{font-size:12px;color:#444;line-height:1.9;margin-bottom:1rem;}
.bio-location{font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);}
.disc-header{padding:.6rem 2rem;border-bottom:1px solid var(--line);}
.disc-header span{font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);}
.disc-grid{display:grid;grid-template-columns:repeat(3,1fr);border-bottom:1px solid var(--line);}
.disc-cell{padding:1.25rem 2rem;border-right:1px solid var(--line);}
.disc-cell:last-child{border-right:none;}
.disc-name{font-family:'Bebas Neue',Arial,sans-serif;font-size:20px;line-height:1;margin-bottom:6px;}
.disc-desc{font-size:10px;color:var(--muted);line-height:1.75;}
.skills-strip{background:var(--banana);padding:.8rem 2rem;border-bottom:1px solid var(--line);overflow:hidden;white-space:nowrap;}
.skills-inner{font-family:'Bebas Neue',Arial,sans-serif;font-size:18px;color:var(--black);letter-spacing:.04em;}
.skills-dot{color:var(--apple);margin:0 10px;}
.edu-section{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid var(--line);}
.edu-cell{padding:1.5rem 2rem;border-right:1px solid var(--line);}
.edu-cell:last-child{border-right:none;}
.edu-year{font-family:'Bebas Neue',Arial,sans-serif;font-size:30px;line-height:1;margin-bottom:4px;}
.edu-lbl{font-size:8px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);}
.edu-name{font-size:12px;font-weight:500;color:var(--black);margin-top:8px;}
.edu-place{font-size:11px;color:var(--muted);margin-top:2px;}
.contact-section{background:var(--blueberry);padding:2rem;border-bottom:1px solid var(--line);display:grid;grid-template-columns:1fr auto;align-items:center;gap:1rem;}
.contact-title{font-family:'Bebas Neue',Arial,sans-serif;font-size:clamp(32px,5.5vw,50px);color:var(--banana);line-height:.95;}
.contact-title em{font-style:italic;font-family:'DM Serif Display',Georgia,serif;color:rgba(255,255,255,.55);font-size:.72em;}
.contact-links{display:flex;flex-direction:column;gap:6px;align-items:flex-end;}
.contact-link{font-size:10px;color:rgba(255,255,255,.5);letter-spacing:.06em;text-transform:uppercase;text-decoration:none;}
.contact-email{font-size:13px;color:var(--lime);font-weight:500;text-decoration:none;}

/* ── FOOTER ── */
footer{display:flex;justify-content:space-between;align-items:center;padding:1rem 2rem;background:var(--black);}
.footer-name{font-family:'Bebas Neue',Arial,sans-serif;font-size:18px;color:var(--banana);cursor:pointer;text-decoration:none;}
.footer-links{display:flex;gap:1.5rem;}
.footer-links a{font-size:9px;color:rgba(255,255,255,.35);letter-spacing:.06em;text-transform:uppercase;text-decoration:none;transition:color .2s;}
.footer-links a:hover{color:rgba(255,255,255,.7);}
.footer-site{font-size:9px;color:rgba(255,255,255,.25);letter-spacing:.06em;text-transform:uppercase;}

/* ── RESPONSIVE ── */
@media(max-width:768px){
  nav{padding:.875rem 1.25rem;}
  .hero-ed-main{grid-template-columns:1fr;}
  .hero-ed-right{display:none;}
  .hero-ed-left{padding:2.5rem 1.25rem 2rem;min-height:auto;}
  .hed{font-size:clamp(62px,17vw,110px);}
  .hed-serif{font-size:clamp(48px,13vw,84px);}
  .stats{grid-template-columns:repeat(2,1fr);}
  .stat{padding:.875rem 1.25rem;}
  .stat:nth-child(2){border-right:none;}
  .stat:nth-child(n+3){border-top:1px solid var(--line);}
  .filter-bar{padding:.6rem 1.25rem;flex-direction:column;align-items:flex-start;gap:.5rem;}
  .project-grid{grid-template-columns:1fr;}
  .proj-card{border-right:none!important;}
  .proj-card:not(:first-child){border-top:1px solid var(--line)!important;}
  .card-img{height:200px;}
  .strip{padding:.875rem 1.25rem;}
  .index-row{grid-template-columns:repeat(3,1fr);}
  .idx:nth-child(3){border-right:none;}
  .idx:nth-child(n+4){border-top:1px solid var(--line);}
  .idx:nth-child(n+6){display:none;}
  .home-about{grid-template-columns:80px 1fr;}
  .home-about-cta{display:none;}
  footer{flex-direction:column;gap:.75rem;text-align:center;padding:1.25rem;}
  .proj-page-top{grid-template-columns:1fr;padding:1.5rem 1.25rem 0;}
  .proj-page-tags{padding:.75rem 1.25rem;}
  .proj-hero{height:220px;}
  .proj-desc-grid{grid-template-columns:1fr;}
  .proj-desc-left{border-right:none;border-bottom:1px solid var(--line);padding:1.5rem 1.25rem;}
  .proj-desc-right{padding:1.5rem 1.25rem;}
  .proj-gallery{grid-template-columns:1fr;}
  .proj-gallery-main{border-right:none;border-bottom:1px solid var(--line);}
  .proj-gallery-side{flex-direction:row;height:120px;}
  .proj-gallery-cell{border-bottom:none;border-right:1px solid var(--line);}
  .proj-gallery-cell:last-child{border-right:none;}
  .proj-detail-row{grid-template-columns:repeat(2,1fr);}
  .proj-detail-cell:nth-child(2){border-right:none;}
  .proj-detail-cell:nth-child(n+3){border-top:1px solid var(--line);}
  .about-header{grid-template-columns:1fr;}
  .about-header-left{border-right:none;border-bottom:1px solid var(--line);padding:1.5rem 1.25rem;}
  .about-header-right{padding:1.5rem 1.25rem;}
  .bio-section{grid-template-columns:1fr;}
  .bio-photo{height:260px;border-right:none;border-bottom:1px solid var(--line);}
  .bio-content{padding:1.5rem 1.25rem;}
  .disc-grid{grid-template-columns:1fr;}
  .disc-cell{border-right:none;border-bottom:1px solid var(--line);padding:1.25rem;}
  .disc-cell:last-child{border-bottom:none;}
  .edu-section{grid-template-columns:1fr;}
  .edu-cell{border-right:none;border-bottom:1px solid var(--line);padding:1.25rem;}
  .edu-cell:last-child{border-bottom:none;}
  .contact-section{grid-template-columns:1fr;padding:1.5rem 1.25rem;}
  .contact-links{align-items:flex-start;margin-top:1rem;}
}

/* ── PROJECT BODY CONTENT ── */
.proj-body-content{max-width:860px;margin:0 auto;padding:3rem 2rem 2rem;}
.proj-body-para{font-size:1rem;line-height:1.8;color:var(--black);margin-bottom:2rem;max-width:700px;}
.proj-img-full{margin:2rem 0;}
.proj-img-full img{width:100%;display:block;border-radius:2px;}
.proj-img-2col{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;margin:2rem 0;}
.proj-img-2col img{width:100%;height:100%;object-fit:cover;display:block;border-radius:2px;}
.proj-img-3col{display:grid;grid-template-columns:1fr 1fr 1fr;gap:.75rem;margin:2rem 0;}
.proj-img-3col img{width:100%;height:100%;object-fit:cover;display:block;border-radius:2px;}
.proj-img-4col{display:grid;grid-template-columns:repeat(4,1fr);gap:.75rem;margin:2rem 0;}
.proj-img-4col img{width:100%;height:100%;object-fit:cover;display:block;border-radius:2px;}
.proj-vimeo{margin:2.5rem 0;aspect-ratio:16/9;}
.proj-vimeo iframe{width:100%;height:100%;border-radius:2px;}
/* Discipline tags under project title */
.proj-subtags{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:1rem;}
.proj-subtag{font-size:8px;letter-spacing:.1em;text-transform:uppercase;padding:3px 10px;border-radius:100px;border:1px solid;}
/* Meta strip at bottom of project */
.proj-meta-strip{display:flex;flex-wrap:wrap;padding:2.5rem 2rem;gap:2rem;border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.proj-meta-cell{flex:1;min-width:160px;}
.proj-meta-lbl{font-size:8px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:.4rem;}
.proj-meta-val{font-size:.875rem;font-weight:500;color:var(--black);line-height:1.4;}
@media(max-width:700px){
  .proj-img-3col{grid-template-columns:1fr 1fr;}
  .proj-img-4col{grid-template-columns:1fr 1fr;}
  .proj-meta-strip{gap:1.5rem;}
  .proj-meta-cell{min-width:120px;}
}


/* ── ABOUT PAGE — updated ── */
.bio-subtitle{font-size:.8rem;color:var(--muted);margin-bottom:1.2rem;line-height:1.5;}

/* CV layout */
.cv-section{border-top:1px solid var(--line);padding:3rem 2rem;}
.cv-section-label{font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:2rem;}
.cv-entries{display:flex;flex-direction:column;gap:2.5rem;}
.cv-entry{display:grid;grid-template-columns:200px 1fr;gap:1.5rem;}
.cv-entry-meta{display:flex;flex-direction:column;gap:.25rem;padding-top:.15rem;}
.cv-date{font-size:.75rem;font-weight:500;color:var(--black);}
.cv-location{font-size:.7rem;color:var(--muted);}
.cv-company{font-size:.9rem;font-weight:600;color:var(--blueberry);margin-bottom:.2rem;}
.cv-role{font-size:.8rem;font-style:italic;color:var(--black);margin-bottom:.75rem;}
.cv-bullets{list-style:none;padding:0;display:flex;flex-direction:column;gap:.5rem;}
.cv-bullets li{font-size:.82rem;line-height:1.65;color:#444;padding-left:1rem;position:relative;}
.cv-bullets li::before{content:'–';position:absolute;left:0;color:var(--muted);}

/* Skills grid */
.skills-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.skills-col{padding:2rem;border-right:1px solid var(--line);}
.skills-col:last-child{border-right:none;}
.skills-col:nth-child(4n){border-right:none;}
.skills-col-title{font-size:9px;letter-spacing:.12em;text-transform:uppercase;font-weight:700;margin-bottom:.75rem;}
.skills-col-body{font-size:.78rem;line-height:1.7;color:#555;}

@media(max-width:800px){
  .cv-entry{grid-template-columns:1fr;}
  .skills-grid{grid-template-columns:1fr 1fr;}
  .skills-col{border-bottom:1px solid var(--line);border-right:1px solid var(--line);}
  .skills-col:nth-child(4n){border-right:1px solid var(--line);}
  .skills-col:nth-child(2n){border-right:none;}
}
@media(max-width:500px){
  .skills-grid{grid-template-columns:1fr;}
}


/* ── PROJECT BODY — rich text elements ── */
.proj-section-heading{display:block;font-family:'Bebas Neue',Arial,sans-serif;font-size:1.15rem;letter-spacing:.04em;color:var(--black);margin-bottom:.5rem;margin-top:.25rem;}
.proj-list{list-style:none;padding:0;margin:.75rem 0 1rem 0;display:flex;flex-direction:column;gap:.5rem;}
.proj-list li{font-size:.9rem;line-height:1.7;color:#444;padding-left:1.25rem;position:relative;}
.proj-list li::before{content:'—';position:absolute;left:0;color:var(--muted);}


/* ── SCROLL CAROUSELS ── */
.proj-carousel{margin:1.5rem 0;}
.proj-carousel-label{font-size:8px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:.5rem;font-weight:600;}
.proj-carousel-track{display:flex;gap:.5rem;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:.6rem;}
.proj-carousel-track::-webkit-scrollbar{height:3px;}
.proj-carousel-track::-webkit-scrollbar-thumb{background:rgba(0,0,0,.2);border-radius:2px;}
.proj-carousel-item{flex:0 0 auto;scroll-snap-align:start;overflow:hidden;border-radius:2px;position:relative;}
.proj-carousel-item img{height:100%;width:auto;display:block;object-fit:cover;}
.proj-carousel-caption{position:absolute;bottom:0;left:0;right:0;padding:.35rem .55rem;background:rgba(0,0,0,.55);color:#fff;font-size:8px;letter-spacing:.04em;line-height:1.3;}
/* Channel label (INSTAGRAM / LINKEDIN) */
.proj-channel-label{font-family:'Bebas Neue',Arial,sans-serif;font-size:1.4rem;letter-spacing:.05em;color:var(--black);margin:2.5rem 0 .6rem;padding-top:2rem;border-top:1px solid var(--line);display:block;}
/* Stacked full-width images */
.proj-img-stack{display:flex;flex-direction:column;gap:.6rem;margin:1.5rem 0;}
.proj-img-stack img{width:100%;display:block;border-radius:2px;}
/* Split view: text left, image collage right */
.proj-splitview{display:grid;grid-template-columns:1fr 1.6fr;gap:3rem;margin:2.5rem 0;align-items:start;}
.proj-splitview-text p{font-size:.95rem;line-height:1.85;color:#555;margin-bottom:1.5rem;}
.proj-splitview-grid{columns:2;column-gap:.4rem;}
.proj-splitview-grid img{width:100%;display:block;margin-bottom:.4rem;border-radius:2px;break-inside:avoid;}
@media(max-width:600px){.proj-splitview{grid-template-columns:1fr;}}
