
:root{--bg:#f4f3f1;--ink:#101010;--dark:#0b0b0b;--white:#fff;--line:#c8c7c3;--muted:#747474;--accent:#c65b2c;--pad:clamp(24px,5.4vw,88px)}
*{box-sizing:border-box} html{scroll-behavior:smooth} body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,Arial,sans-serif}
a{color:inherit;text-decoration:none} img{max-width:100%;display:block}
.header{position:fixed;z-index:50;top:0;left:0;width:100%;display:flex;justify-content:space-between;align-items:flex-start;padding:24px var(--pad);mix-blend-mode:difference;color:#fff;pointer-events:none}
.header a,.header button{pointer-events:auto}.brand strong{display:block;font-size:18px;line-height:.9;letter-spacing:-.04em}.brand small{font-size:9px;letter-spacing:.1em}
.nav{display:flex;gap:26px;font-size:10px;letter-spacing:.1em;text-transform:uppercase}.nav a{border-bottom:1px solid transparent;padding-bottom:4px}.nav a:hover{border-color:currentColor}
.menu{display:none;background:none;border:0;color:inherit;font:inherit}
.hero{min-height:100svh;background:var(--dark);color:#fff;padding:150px var(--pad) 65px;display:flex;flex-direction:column;justify-content:space-between}
.eyebrow,.label{font-size:10px;text-transform:uppercase;letter-spacing:.14em;font-weight:600}
.hero h1{font-size:clamp(58px,8vw,132px);line-height:.88;letter-spacing:-.07em;margin:60px 0 34px;max-width:1400px}
.hero h1 em{font-weight:400}.hero-intro{display:grid;grid-template-columns:1fr .66fr;gap:90px;align-items:end}.hero-copy{font-size:19px;line-height:1.55;max-width:650px}
.hero-meta{display:flex;gap:45px;font-size:10px;letter-spacing:.1em}.hero-meta span{display:block;color:#929292;margin-bottom:8px}
.work{padding:120px var(--pad)}.section-head{display:grid;grid-template-columns:1.1fr .9fr;gap:80px;margin:38px 0 70px}
.section-head h2{font-size:clamp(44px,5.5vw,86px);line-height:.95;letter-spacing:-.055em;margin:0}.section-head p{font-size:18px;line-height:1.65;margin:0;max-width:650px}
.index{border-top:1px solid var(--line)}.row{display:grid;grid-template-columns:70px 1fr 1.7fr 1fr;gap:28px;align-items:center;padding:26px 0;border-bottom:1px solid var(--line);transition:.2s}
.row:hover{padding-left:16px;background:#eceae7}.row .cat{font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:#666}.row strong{font-size:25px;letter-spacing:-.03em}.row .sub{font-size:12px;color:#5c5c5c}
.approach{padding:120px var(--pad);background:#fff}.approach-grid{display:grid;grid-template-columns:1fr .8fr;gap:90px;margin-top:40px}.approach h2{font-size:clamp(44px,5vw,78px);line-height:.96;letter-spacing:-.05em;margin:0}.approach p{font-size:18px;line-height:1.65;margin-top:0}
.skills{display:grid;grid-template-columns:repeat(3,1fr);margin-top:80px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.skills div{padding:28px 35px 35px 0}.skills div+div{border-left:1px solid var(--line);padding-left:35px}.skills small{font-size:9px;letter-spacing:.12em}.skills p{font-size:16px;line-height:1.7;margin:20px 0 0}
.footer{padding:100px var(--pad) 45px;background:var(--dark);color:white}.footer h2{font-size:clamp(48px,6vw,94px);line-height:.9;letter-spacing:-.06em;margin:45px 0 70px}.contact-grid{display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid #444}.contact-grid a{padding:24px 0;border-bottom:1px solid #444}.contact-grid a:nth-child(odd){border-right:1px solid #444}.contact-grid a:nth-child(even){padding-left:26px}.fine{display:flex;justify-content:space-between;margin-top:80px;font-size:9px;letter-spacing:.1em;color:#888}

/* Project pages */
.project-hero{padding:150px var(--pad) 65px;background:#fff;min-height:76vh;display:flex;flex-direction:column;justify-content:space-between}.project-hero h1{font-size:clamp(62px,9vw,145px);line-height:.84;letter-spacing:-.075em;margin:50px 0 30px}
.project-grid{display:grid;grid-template-columns:.72fr 1.28fr;gap:90px;align-items:start}.project-summary{font-size:20px;line-height:1.62;max-width:780px}
.project-meta{display:grid;grid-template-columns:repeat(2,1fr);gap:32px;border-top:1px solid var(--line);padding-top:25px;margin-top:55px}.project-meta small{display:block;font-size:9px;letter-spacing:.12em;margin-bottom:12px}.project-meta p{font-size:14px;line-height:1.55;margin:0}
.metric{background:var(--dark);color:white;padding:70px var(--pad);display:grid;grid-template-columns:.65fr 1.35fr;gap:80px;align-items:end}.metric strong{font-size:clamp(40px,5vw,78px);letter-spacing:-.055em}.metric p{font-size:18px;line-height:1.6;margin:0;color:#c8c8c8;max-width:720px}
.visuals{padding:100px var(--pad)}.visual-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}.visual-card{aspect-ratio:4/3;background:#e4e2de;display:flex;flex-direction:column;justify-content:space-between;padding:28px;border:1px solid #d0cfca;overflow:hidden;position:relative}
.visual-card:before{content:"";position:absolute;inset:0;background:linear-gradient(145deg,transparent 55%,rgba(0,0,0,.04));}.visual-card .placeholder-no{font-size:56px;font-weight:700;color:#d2d0cb;letter-spacing:-.06em}.visual-card strong{font-size:15px;text-transform:uppercase;letter-spacing:.08em;z-index:2}.visual-note{grid-column:1/-1;font-size:12px;line-height:1.6;color:#666;margin-top:12px}
.contribution{padding:100px var(--pad);background:white}.contribution-grid{display:grid;grid-template-columns:.7fr 1.3fr;gap:80px}.contribution h2{font-size:clamp(42px,5vw,74px);line-height:.95;letter-spacing:-.05em;margin:0}.contrib-list{border-top:1px solid var(--line)}.contrib-list div{padding:20px 0;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;font-size:16px}.contrib-list span{font-size:10px;color:#777}
.next{padding:75px var(--pad);background:var(--dark);color:white;display:flex;justify-content:space-between;align-items:end}.next small{font-size:9px;letter-spacing:.12em}.next strong{display:block;font-size:clamp(38px,5vw,76px);letter-spacing:-.055em;margin-top:15px}.next .arrow{font-size:48px}
.back{font-size:10px;letter-spacing:.1em;text-transform:uppercase}
@media(max-width:800px){
 .nav{display:none}.menu{display:block}.hero-intro,.section-head,.approach-grid,.project-grid,.metric,.contribution-grid{grid-template-columns:1fr;gap:35px}.hero{padding-top:130px}.row{grid-template-columns:45px 1fr}.row .cat,.row strong,.row .sub{grid-column:2}.skills{grid-template-columns:1fr}.skills div+div{border-left:0;border-top:1px solid var(--line);padding-left:0}.visual-grid{grid-template-columns:1fr}.project-meta{grid-template-columns:1fr}.contact-grid{grid-template-columns:1fr}.contact-grid a:nth-child(odd){border-right:0}.contact-grid a:nth-child(even){padding-left:0}.fine{flex-direction:column;gap:8px}
}




/* Live Figma portfolio imagery */
.figma-grid{align-items:start}
.figma-image{
  margin:0;
  background:#e7e5e1;
  border:1px solid #d0cfca;
  overflow:hidden;
  position:relative;
  aspect-ratio:var(--ratio);
}
.figma-image--hero{grid-column:1/-1}
.figma-image iframe{
  display:block;
  width:100%;
  height:100%;
  border:0;
  background:#fff;
}
.figma-image figcaption{
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  padding:10px 14px;
  background:rgba(244,243,241,.94);
  color:#111;
  font-size:9px;
  font-weight:600;
  letter-spacing:.08em;
  text-transform:uppercase;
  opacity:0;
  transform:translateY(100%);
  transition:opacity .2s ease,transform .2s ease;
  pointer-events:none;
}
.figma-image:hover figcaption,
.figma-image:focus-within figcaption{
  opacity:1;
  transform:none;
}
@media(max-width:800px){
  .figma-image--hero{grid-column:auto}
  .figma-image{min-height:260px}
}
