@font-face {
  font-family: "Canora Frente";
  src: url("assets/803c823dcf49.otf") format("opentype");
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}

:root {
  --cream: #F5F2EB;
  --paper-yellow: #F5EFC6;
  --burgundy: #6D1623;
  --blue: #A5BCD6;
  --brown: #4A2E27;
  --ink: #231815;
  --muted: #68615D;
  --line: rgba(35,24,21,.18);
  --shadow: 0 26px 80px rgba(35,24,21,.11);
  --shell: min(1180px, calc(100vw - 64px));
  --bar-height: 0vh;
  --cinematic: 0;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; overflow-x: clip; }
body {
  margin: 0;
  background: var(--cream);
  color: var(--ink);
  font-family: "Manrope", system-ui, -apple-system, sans-serif;
  line-height: 1.5;
  overflow-x: clip;
}
button, a { font: inherit; }
a { color: inherit; }
img { display: block; max-width: 100%; }

.paper-grain {
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 1000;
  opacity: .105;
  background-image: url("assets/69d9dc50137e.png");
  background-repeat: repeat;
  mix-blend-mode: multiply;
  animation: paperShift 18s steps(10) infinite;
}
@keyframes paperShift {
  0% { background-position: 0 0; }
  25% { background-position: 13px -9px; }
  50% { background-position: -8px 11px; }
  75% { background-position: 7px 15px; }
  100% { background-position: 0 0; }
}

.section-shell { width: var(--shell); margin-inline: auto; position: relative; }
.section-kicker {
  font-size: .66rem;
  font-weight: 700;
  letter-spacing: .26em;
  text-transform: uppercase;
  color: var(--burgundy);
}
.starburst { shape-rendering: geometricPrecision; }
.decor { position: absolute; pointer-events: none; }

/* ABOUT — intentionally separated as one muted-blue editorial panel */
.editorial-intro {
  position: relative;
  background: var(--blue);
  padding: 126px 0 138px;
  border-top: 1px solid rgba(35,24,21,.08);
  border-bottom: 1px solid rgba(35,24,21,.12);
}
.intro-shell { position: relative; }
.intro-grid {
  min-height: 430px;
  display: grid;
  grid-template-columns: 1fr 3.2fr 1.65fr;
  gap: 54px;
  align-items: start;
  border-top: 1px solid rgba(35,24,21,.72);
  border-bottom: 1px solid rgba(35,24,21,.26);
  padding: 34px 0 50px;
}
.editorial-intro .section-kicker { color: var(--burgundy); }
.intro-main .eyebrow { margin: 0 0 24px; color: rgba(35,24,21,.67); font-size: .76rem; letter-spacing: .04em; }
.intro-main h2, .section-heading h2, .contact-copy h2 {
  margin: 0;
  font-family: "Bodoni Moda", Georgia, serif;
  font-weight: 500;
  font-size: clamp(3rem, 5.7vw, 6.25rem);
  line-height: .96;
  letter-spacing: -.055em;
}
.intro-main h2 em, .section-heading h2 em, .contact-copy h2 em { font-weight: 400; color: var(--burgundy); }
.intro-notes { padding-top: 49px; }
.about-row { padding: 15px 0 17px; border-bottom: 1px solid rgba(35,24,21,.22); }
.about-row:first-child { border-top: 1px solid rgba(35,24,21,.22); }
.about-row span { display:block; margin-bottom:7px; color:var(--burgundy); font-size:.57rem; font-weight:700; letter-spacing:.18em; text-transform:uppercase; }
.about-row p { margin:0; font-size:.72rem; line-height:1.65; font-weight:600; letter-spacing:.01em; }
.decor--intro { width: 74px; color: var(--paper-yellow); right: 2%; bottom: -32px; transform: rotate(12deg); opacity:.92; }

/* PROJECTS */
.projects { padding: 125px 0 190px; position: relative; overflow: hidden; }
.section-heading {
  display: grid;
  grid-template-columns: 1fr 3.4fr 1.4fr;
  gap: 50px;
  align-items: end;
  border-top: 1px solid var(--ink);
  padding-top: 28px;
  margin-bottom: 132px;
}
.section-heading h2 { font-size: clamp(3.1rem, 5.6vw, 5.9rem); }
.section-heading > p { margin: 0 0 8px; color: var(--muted); font-size: .83rem; line-height: 1.65; }
.project-stack { position: relative; padding-bottom: 1px; }
.project-card {
  position: sticky;
  top: calc(8vh + var(--card-index) * 24px);
  z-index: calc(10 + var(--card-index));
  min-height: 500px;
  display: grid;
  grid-template-columns: .9fr 1.35fr;
  gap: 58px;
  align-items: center;
  background: rgba(245,242,235,.985);
  border: 1px solid rgba(77,22,35,.18);
  padding: clamp(28px, 4vw, 54px);
  margin-bottom: 39vh;
  box-shadow: 0 28px 74px rgba(35,24,21,.13);
  opacity: 0;
  transform: translate3d(52px, 132px, 0) rotate(calc(var(--rest-tilt) + 5deg)) scale(.965);
  transform-origin: 50% 100%;
  transition: opacity .58s ease, transform .88s cubic-bezier(.16,.82,.18,1);
  overflow: hidden;
}
.project-card:nth-child(even) { transform: translate3d(-52px, 132px, 0) rotate(calc(var(--rest-tilt) - 5deg)) scale(.965); }
.project-card::after {
  content:"";
  position:absolute;
  width:150px;
  height:150px;
  right:-94px;
  top:-88px;
  border: 1px solid rgba(77,14,18,.16);
  transform: rotate(45deg);
}
.project-card.is-visible { opacity: 1; transform: translate3d(0,0,0) rotate(var(--rest-tilt)) scale(1); }
.project-number { font-family: "Bodoni Moda", serif; font-size: .8rem; color: var(--burgundy); margin-bottom: 45px; }
.tag {
  display: inline-block;
  background: var(--blue);
  padding: 8px 11px 7px;
  margin-bottom: 20px;
  font-size: .6rem;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.project-copy h3 {
  margin: 0 0 28px;
  font-family: "Bodoni Moda", serif;
  color: var(--burgundy);
  font-weight: 500;
  font-size: clamp(2.35rem, 4vw, 4.35rem);
  line-height: .95;
  letter-spacing: -.05em;
}
.project-copy p { margin: 0 0 13px; color: var(--muted); font-size: .82rem; line-height: 1.65; }
.project-copy strong { display: block; margin-bottom: 3px; color: var(--ink); font-size: .62rem; letter-spacing: .14em; text-transform: uppercase; }
.video-frame {
  aspect-ratio: 16 / 9;
  position: relative;
  overflow: hidden;
  background: var(--ink);
  box-shadow: 0 18px 48px rgba(35,24,21,.17);
}
.video-frame iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; background: #111; }
.video-placeholder {
  position: absolute;
  inset: 0;
  z-index: 2;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  grid-template-rows: auto 1fr auto;
  align-items: center;
  padding: 22px;
  background:
    linear-gradient(135deg, rgba(165,188,214,.89), rgba(35,24,21,.78)),
    radial-gradient(circle at 72% 28%, rgba(245,239,198,.42), transparent 38%);
  color: #fff;
  transition: opacity .35s ease, visibility .35s ease;
}
.video-placeholder::before { content:""; position:absolute; inset:12px; border:1px solid rgba(255,255,255,.22); pointer-events:none; }
.video-frame.is-playing .video-placeholder { opacity: 0; visibility: hidden; pointer-events: none; }
.video-index, .video-caption { font-size: .57rem; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; }
.video-index { grid-column: 1 / 3; grid-row: 1; }
.video-caption { grid-column: 2 / 4; grid-row: 3; justify-self: end; opacity:.72; }
.play-button {
  grid-column: 2;
  grid-row: 2;
  width: 74px;
  height: 74px;
  border: 0;
  border-radius: 50%;
  background: var(--paper-yellow);
  color: var(--burgundy);
  cursor: pointer;
  box-shadow: 0 14px 30px rgba(0,0,0,.22);
  transition: transform .25s ease, background .25s ease;
}
.play-button:hover { transform: scale(1.08); background: #fff9d9; }
.play-button span { display:block; width:0; height:0; margin:auto; transform:translateX(2px); border-top:9px solid transparent; border-bottom:9px solid transparent; border-left:14px solid currentColor; }
.decor--projects { width: 128px; color: var(--paper-yellow); right: -28px; top: 46%; transform: rotate(12deg); opacity: .9; }

/* THUMBNAILS — cream stays dominant; burgundy border carries the section */
.thumbnails {
  padding: 145px 0 178px;
  position: relative;
  background: var(--cream);
  border-top: 1px solid rgba(35,24,21,.08);
}
.section-heading--thumbs { margin-bottom: 84px; }
.thumb-stage {
  position: relative;
  background: rgba(245,242,235,.88);
  padding: clamp(22px, 3vw, 42px);
  border: 1px solid rgba(109,22,35,.72);
  box-shadow: 0 28px 78px rgba(35,24,21,.08);
  overflow: visible;
  --parallax: 0px;
}
.thumb-stage::before {
  content:"";
  position:absolute;
  inset:11px;
  border: 1px solid rgba(109,22,35,.22);
  pointer-events:none;
}
.thumb-grid {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: clamp(12px, 1.5vw, 20px);
  transform: translateY(var(--parallax));
  transition: transform .08s linear;
}
.thumb-card {
  position: relative;
  padding: 0;
  border: 0;
  aspect-ratio: 16/9;
  background: #ddd;
  cursor: zoom-in;
  box-shadow: 0 10px 27px rgba(35,24,21,.13);
  overflow: hidden;
  opacity: 0;
  transform: translateY(34px) rotate(var(--tilt,0deg));
  transition: opacity .65s ease, transform .65s cubic-bezier(.2,.8,.2,1), box-shadow .25s ease;
}
.thumb-stage.is-visible .thumb-card { opacity: 1; transform: translateY(0) rotate(var(--tilt,0deg)); }
.thumb-stage.is-visible .thumb-card:nth-child(1) { transition-delay:.03s; --tilt:-1deg; }
.thumb-stage.is-visible .thumb-card:nth-child(2) { transition-delay:.08s; --tilt:.7deg; }
.thumb-stage.is-visible .thumb-card:nth-child(3) { transition-delay:.13s; --tilt:-.35deg; }
.thumb-stage.is-visible .thumb-card:nth-child(4) { transition-delay:.18s; --tilt:.85deg; }
.thumb-stage.is-visible .thumb-card:nth-child(5) { transition-delay:.23s; --tilt:.4deg; }
.thumb-stage.is-visible .thumb-card:nth-child(6) { transition-delay:.28s; --tilt:-.75deg; }
.thumb-stage.is-visible .thumb-card:nth-child(7) { transition-delay:.33s; --tilt:.9deg; }
.thumb-stage.is-visible .thumb-card:nth-child(8) { transition-delay:.38s; --tilt:-.35deg; }
.thumb-stage.is-visible .thumb-card:nth-child(9) { transition-delay:.43s; --tilt:-.5deg; }
.thumb-stage.is-visible .thumb-card:nth-child(10) { transition-delay:.48s; --tilt:.7deg; }
.thumb-stage.is-visible .thumb-card:nth-child(11) { transition-delay:.53s; --tilt:.25deg; }
.thumb-stage.is-visible .thumb-card:nth-child(12) { transition-delay:.58s; --tilt:-.7deg; }
.thumb-card img { width:100%; height:100%; object-fit:cover; transition: transform .45s cubic-bezier(.2,.8,.2,1); }
.thumb-card:hover { transform: translateY(-5px) rotate(0deg) scale(1.018) !important; box-shadow: 0 18px 40px rgba(35,24,21,.22); z-index:4; }
.thumb-card:hover img { transform: scale(1.035); }
.decor--thumb-a { width: 70px; color: var(--blue); left: -22px; top: -29px; z-index:3; transform: rotate(15deg); }
.decor--thumb-b { width: 92px; color: var(--paper-yellow); right: -38px; bottom: -42px; z-index:3; transform: rotate(-8deg); filter:drop-shadow(0 0 0 var(--burgundy)); }
.gallery-link {
  margin-top: 34px;
  min-height: 128px;
  display: grid;
  grid-template-columns: 1.2fr 3fr auto;
  align-items: center;
  gap: 30px;
  padding: 28px 34px;
  border-top: 1px solid var(--burgundy);
  border-bottom: 1px solid rgba(109,22,35,.28);
  text-decoration: none;
  transition: background .25s ease, padding-inline .25s ease;
}
.gallery-link:hover { background: var(--paper-yellow); padding-inline: 42px; }
.gallery-link__label { font-size:.62rem; font-weight:700; letter-spacing:.2em; color:var(--burgundy); }
.gallery-link__title { font-family:"Bodoni Moda", serif; font-size:clamp(1.7rem,3vw,3rem); letter-spacing:-.04em; }
.gallery-link__arrow { font-size:2rem; color:var(--burgundy); }

/* CONTACT — yellow text panel, character stays on cream */
.contact { padding: 172px 0 36px; position: relative; }
.contact-shell {
  min-height: 640px;
  display: grid;
  grid-template-columns: 1.35fr .78fr;
  align-items: stretch;
  overflow: hidden;
  background: var(--cream);
  border: 1px solid rgba(109,22,35,.22);
  box-shadow: 0 28px 85px rgba(35,24,21,.09);
}
.contact-copy {
  padding: clamp(50px, 6vw, 86px);
  display:flex;
  flex-direction:column;
  justify-content:center;
  position:relative;
  z-index:3;
  background: var(--paper-yellow);
  border-right: 1px solid rgba(109,22,35,.16);
}
.contact-overline { margin:48px 0 24px; font-size:.65rem; font-weight:700; letter-spacing:.2em; color:var(--burgundy); }
.contact-copy h2 { font-size:clamp(3.4rem,6.1vw,6.8rem); max-width:760px; }
.email-link {
  width: fit-content;
  margin-top: 52px;
  color: var(--burgundy);
  text-decoration: none;
  font-size: clamp(1rem, 1.65vw, 1.45rem);
  font-weight: 700;
  border-bottom: 2px solid var(--burgundy);
  padding-bottom: 4px;
  word-break: break-word;
}
.email-link:hover { color: var(--brown); border-color: var(--brown); }
.contact-meta { display:flex; flex-wrap:wrap; gap:12px; align-items:center; margin-top:38px; font-size:.56rem; font-weight:700; letter-spacing:.16em; }
.contact-meta i { width:5px; height:5px; background:var(--burgundy); transform:rotate(45deg); }
.contact-character-wrap { position:relative; min-height:640px; background:var(--cream); overflow:hidden; }
.contact-character { position:absolute; z-index:2; height:94%; max-width:none; right:-5%; bottom:-2%; object-fit:contain; object-position:bottom; filter:drop-shadow(0 18px 24px rgba(35,24,21,.12)); }
.contact-star { position:absolute; width:112%; color:var(--blue); opacity:.62; left:-18%; top:9%; transform:rotate(8deg); }
.contact-spark { position:absolute; width:56px; color:var(--burgundy); opacity:.72; right:8%; top:10%; transform:rotate(-13deg); }
.site-footer { width:var(--shell); margin:34px auto 0; display:flex; justify-content:space-between; border-top:1px solid var(--line); padding-top:18px; font-size:.57rem; font-weight:700; letter-spacing:.16em; }

/* Scroll reveal */
.reveal-block { opacity:0; transform:translateY(32px); transition:opacity .75s ease, transform .8s cubic-bezier(.2,.8,.2,1); }
.reveal-block.is-visible { opacity:1; transform:translateY(0); }

/* Lightbox */
.lightbox {
  width:min(1180px,94vw);
  max-width:none;
  padding:0;
  border:0;
  background:transparent;
  overflow:visible;
}
.lightbox::backdrop { background:rgba(14,10,9,.87); backdrop-filter: blur(7px); }
.lightbox img { width:100%; max-height:84vh; object-fit:contain; box-shadow:0 24px 90px rgba(0,0,0,.4); }
.lightbox-close, .lightbox-nav { position:fixed; border:0; background:var(--cream); color:var(--ink); cursor:pointer; box-shadow:0 10px 30px rgba(0,0,0,.2); }
.lightbox-close { top:24px; right:24px; width:48px; height:48px; border-radius:50%; font-size:2rem; line-height:1; }
.lightbox-nav { top:50%; transform:translateY(-50%); width:52px; height:52px; border-radius:50%; font-size:1.35rem; }
.lightbox-prev { left:24px; }
.lightbox-next { right:24px; }

@media (max-width: 1020px) {
  :root { --shell:min(100% - 40px, 930px); }
  .hero-composition { width:min(900px,94vw); }
  .hero-name { font-size:clamp(8.6rem,19vw,13.5rem); }
  .avatar-stage { left:0; width:clamp(245px,25vw,305px); }
  .metric { min-width:0; flex:1; max-width:210px; }
  .intro-grid, .section-heading { grid-template-columns:1fr 3fr; }
  .intro-notes, .section-heading > p { grid-column:2; }
  .intro-notes { padding-top:10px; }
  .project-card { grid-template-columns: .8fr 1.25fr; gap:36px; }
  .thumb-grid { grid-template-columns:repeat(3,1fr); }
  .contact-shell { grid-template-columns:1.18fr .82fr; }
}

@media (max-width: 760px) {
  :root { --shell:calc(100vw - 28px); }
  .paper-grain { opacity:.09; }
  .hero-scroll { height:275vh; }
  .hero-sticky { min-height:600px; }
  .top-nav { top:22px; right:50%; transform:translateX(50%); width:max-content; gap:11px; font-size:.51rem; }
  .registration { width:20px; height:20px; }
  .registration--tl { top:18px; left:16px; }
  .registration--tr { top:18px; right:16px; }
  .registration--bl { bottom:18px; left:16px; }
  .registration--br { bottom:18px; right:16px; }
  .hero-composition { width:100%; align-items:center; min-height:540px; }
  .hero-copy { padding:0 13px; transform:translateY(72px); }
  .hero-name { font-size:clamp(5.8rem,25vw,7.8rem); line-height:.84; transform:translateX(.5vw); }
  .hero-role { font-size:.62rem; letter-spacing:.13em; margin-top:17px; }
  .hero-description { max-width:330px; font-size:.74rem; margin-bottom:22px; }
  .hero-metrics { gap:7px; flex-wrap:wrap; max-width:370px; margin-inline:auto; }
  .metric { flex:1 1 31%; min-width:105px; padding:9px 7px; font-size:.48rem; letter-spacing:.075em; }
  .avatar-stage {
    left:28%;
    top:29%;
    bottom:auto;
    width:150px;
    height:232px;
    transform:translate3d(calc(-50% + var(--avatar-x, 0px)), calc(-50% + var(--avatar-y,0px)),0) scale(var(--avatar-scale,1));
    opacity:.99;
  }
  .avatar-frame { width:123%; }
  .hero-star { width:118%; opacity:.68; }
  .hero-spark--a { width:28px; right:-10px; }
  .hero-spark--b { display:none; }
  .scroll-cue { font-size:.47rem; bottom:16px; }

  .editorial-intro { padding:92px 0 104px; }
  .intro-grid { min-height:auto; grid-template-columns:1fr; gap:26px; padding:24px 0 42px; }
  .intro-main .eyebrow { margin-bottom:16px; }
  .intro-main h2, .section-heading h2, .contact-copy h2 { font-size:clamp(2.7rem,13vw,4.4rem); }
  .intro-notes { grid-column:auto; padding-top:4px; }
  .about-row { padding:13px 0 15px; }
  .decor--intro { width:58px; right:2%; bottom:-26px; }

  .projects { padding:82px 0 112px; }
  .section-heading { grid-template-columns:1fr; gap:20px; padding-top:20px; margin-bottom:76px; }
  .section-heading > p { grid-column:auto; max-width:420px; }
  .project-card {
    position:relative;
    top:auto;
    grid-template-columns:1fr;
    gap:30px;
    min-height:0;
    padding:24px;
    margin-bottom:42px;
    transform:translate3d(36px,85px,0) rotate(calc(var(--rest-tilt) + 4deg)) scale(.97);
  }
  .project-card:nth-child(even) { transform:translate3d(-36px,85px,0) rotate(calc(var(--rest-tilt) - 4deg)) scale(.97); }
  .project-card.is-visible { transform:translate3d(0,0,0) rotate(var(--rest-tilt)) scale(1); }
  .project-number { margin-bottom:22px; }
  .project-copy h3 { margin-bottom:20px; }
  .decor--projects { display:none; }

  .thumbnails { padding:100px 0 110px; }
  .section-heading--thumbs { margin-bottom:50px; }
  .thumb-stage { padding:15px; }
  .thumb-stage::before { inset:7px; }
  .thumb-grid { grid-template-columns:repeat(2,1fr); gap:9px; }
  .decor--thumb-a { width:48px; left:-12px; top:-22px; }
  .decor--thumb-b { width:64px; right:-24px; bottom:-31px; }
  .gallery-link { grid-template-columns:1fr auto; gap:10px 18px; padding:22px 4px; min-height:0; }
  .gallery-link:hover { padding-inline:4px; }
  .gallery-link__label { grid-column:1 / -1; }
  .gallery-link__title { font-size:1.9rem; }

  .contact { padding:105px 0 26px; }
  .contact-shell { grid-template-columns:1fr; min-height:0; }
  .contact-copy { padding:46px 28px 54px; border-right:0; border-bottom:1px solid rgba(109,22,35,.16); }
  .contact-overline { margin:32px 0 18px; }
  .email-link { margin-top:36px; font-size:clamp(.92rem,4vw,1.18rem); }
  .contact-character-wrap { min-height:490px; }
  .contact-character { height:94%; right:50%; transform:translateX(50%); }
  .contact-star { width:116%; left:-8%; top:8%; }
  .contact-spark { width:42px; right:8%; top:7%; }
  .site-footer { margin-top:22px; font-size:.48rem; }

  .lightbox-nav { width:44px; height:44px; }
  .lightbox-prev { left:10px; }
  .lightbox-next { right:10px; }
  .lightbox-close { top:12px; right:12px; }
}

@media (max-width: 430px) {
  .hero-copy { transform:translateY(62px); }
  .hero-name { font-size:25vw; }
  .hero-role { font-size:.56rem; }
  .hero-description { font-size:.69rem; max-width:300px; }
  .metric { flex-basis:31%; font-size:.44rem; padding:8px 5px; }
  .avatar-stage { width:144px; height:226px; }
  .contact-character-wrap { min-height:440px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior:auto; }
  *, *::before, *::after { animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; }
  .paper-grain { animation:none; }
  .project-card, .reveal-block, .thumb-card { opacity:1 !important; transform:none !important; }
}

.cbar{position:fixed;left:0;width:100%;height:var(--bar);background:#000;z-index:60;pointer-events:none;will-change:height}
.cbar.top{top:0}.cbar.bottom{bottom:0}

.hero-scroll{height:235vh;position:relative;background:var(--bg)}
.hero{position:sticky;top:0;height:100vh;min-height:560px;overflow:hidden;display:flex;align-items:center;justify-content:center}
.stage{position:relative;width:100%;height:100%;padding:max(68px,7vh) clamp(34px,4vw,72px) max(42px,5vh)}

.cross{position:absolute;width:27px;height:27px;color:rgba(77,14,18,.72);z-index:7}
.cross:before,.cross:after{content:"";position:absolute;background:currentColor}
.cross:before{width:100%;height:1px;left:0;top:50%}.cross:after{height:100%;width:1px;left:50%;top:0}
.cross.tl{top:28px;left:30px}.cross.tr{top:28px;right:30px}.cross.bl{bottom:28px;left:30px}.cross.br{bottom:28px;right:30px}

.nav{position:absolute;top:36px;right:78px;z-index:7;display:flex;align-items:center;gap:18px;color:rgba(53,33,31,.88);font-size:10px;font-weight:600;letter-spacing:.33em;text-transform:uppercase;white-space:nowrap}
.nav a{color:inherit;text-decoration:none}.nav span{opacity:.36}

.hero-layout{
  width:min(1320px,100%);
  height:100%;
  margin:0 auto;
  display:grid;
  grid-template-columns:clamp(270px,24vw,350px) minmax(0,1fr);
  grid-template-rows:auto auto;
  grid-template-areas:
    "avatar wordmark"
    "avatar lower";
  column-gap:clamp(8px,1.3vw,24px);
  align-content:center;
  align-items:center;
}

.wordmark-shell{grid-area:wordmark;display:flex;align-items:flex-end;justify-content:center;align-self:end;width:100%;padding-top:2vh}
.wordmark-svg{display:block;width:min(100%,930px);height:auto;overflow:visible;filter:blur(.12px)}

.avatar-wrap{grid-area:avatar;position:relative;align-self:end;justify-self:end;width:clamp(285px,23vw,350px);height:clamp(480px,67vh,620px);pointer-events:none;transform:translateX(34px)}
.avatar-wrap img{position:absolute;left:50%;bottom:0;width:180%;max-width:none;height:auto;transform:translateX(-50%);filter:drop-shadow(0 17px 21px rgba(58,37,34,.10));user-select:none;z-index:2}
.star{position:absolute;left:45%;top:66%;width:88%;height:auto;transform:translate(-54%,-50%) rotate(-4deg);transform-origin:50% 50%;z-index:1;color:#eadf80}
.star.is-animating{animation:starFloat 2.35s linear 1 forwards}
@keyframes starFloat{0%{transform:translate(-54%,-50%) rotate(-4deg)}12%{transform:translate(-54%,-50%) rotate(-3.8deg)}100%{transform:translate(-54%,-50%) rotate(2.5deg)}}

.lower{grid-area:lower;align-self:start;text-align:center;width:100%;padding-top:6px}
.role{margin:0 auto 17px;color:var(--wine);font-size:clamp(15px,1.28vw,18px);line-height:1.2;letter-spacing:.155em;text-transform:uppercase;font-weight:500;width:min(620px,100%)}
.desc{margin:0 auto;max-width:620px;color:var(--muted);font-size:clamp(14px,1.12vw,16px);line-height:1.5;letter-spacing:.008em;font-weight:400}
.metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;width:min(720px,100%);margin:32px auto 0}
.hero .metric{background:var(--blue);padding:13px 12px 12px;border:1px solid rgba(53,33,31,.04);font-size:clamp(9px,.75vw,11px);font-weight:600;letter-spacing:.15em;text-transform:uppercase;color:#2d201d;white-space:nowrap}



/* laptop / tablet landscape */
@media (max-width:1280px) and (min-width:900px){
  .stage{padding-left:32px;padding-right:32px}
  .hero-layout{grid-template-columns:clamp(250px,23vw,310px) minmax(0,1fr);column-gap:8px}
  .avatar-wrap{width:clamp(260px,22vw,310px);height:clamp(430px,66vh,560px)}
  .wordmark-svg{width:min(100%,820px)}
  .metrics{gap:14px;width:min(670px,100%)}
  .nav{right:62px}
}

/* portrait tablet */
@media (max-width:899px) and (min-width:600px) and (orientation:portrait){
  .hero-scroll{height:220vh}
  .stage{padding:72px 28px max(54px,13vh)}
  .hero-layout{
    width:100%;height:100%;
    grid-template-columns:1fr;
    grid-template-rows:auto minmax(320px,1fr) auto;
    grid-template-areas:"wordmark" "avatar" "lower";
    row-gap:0;
    align-content:stretch;
  }
  .wordmark-shell{align-self:start;padding-top:20px}
  .wordmark-svg{width:min(92vw,700px)}
  .avatar-wrap{justify-self:center;align-self:center;width:clamp(225px,31vw,270px);height:clamp(360px,43vh,480px);transform:none}
  .lower{align-self:end;padding-bottom:4px}
  .role{width:min(500px,100%);font-size:14px;margin-bottom:14px}
  .desc{max-width:500px;font-size:14px}
  .metrics{width:min(560px,100%);gap:10px;margin-top:20px}
  .hero .metric{font-size:8.8px;padding:11px 7px}
  .nav{top:22px;right:52px;font-size:8px;gap:10px;letter-spacing:.23em}
  .cross.tl{top:16px;left:16px}.cross.tr{top:16px;right:16px}.cross.bl{bottom:16px;left:16px}.cross.br{bottom:16px;right:16px}
}

/* phones portrait */
@media (max-width:599px) and (orientation:portrait){
  .hero-scroll{height:210vh}
  .stage{padding:56px 14px max(34px,11.5vh)}
  .hero-layout{
    width:100%;height:100%;
    grid-template-columns:1fr;
    grid-template-rows:auto minmax(245px,1fr) auto;
    grid-template-areas:"wordmark" "avatar" "lower";
  }
  .wordmark-shell{align-self:start;padding-top:18px}
  .wordmark-svg{width:94vw}
  .avatar-wrap{justify-self:center;align-self:center;width:clamp(175px,47vw,210px);height:clamp(290px,40vh,350px);transform:none}
  .lower{align-self:end}
  .role{width:min(340px,100%);font-size:11.5px;letter-spacing:.135em;margin-bottom:10px}
  .desc{max-width:318px;font-size:12.5px;line-height:1.4}
  .metrics{width:min(340px,100%);grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin-top:15px}
  .hero .metric{font-size:8px;letter-spacing:.10em;padding:9px 5px;white-space:normal;line-height:1.25}.hero .metric:last-child{grid-column:1/-1}
  .nav{top:16px;right:16px;font-size:7px;gap:6px;letter-spacing:.18em}
  .cross{width:23px;height:23px}
  .cross.tl{top:12px;left:12px}.cross.tr{top:12px;right:12px}.cross.bl{bottom:12px;left:12px}.cross.br{bottom:12px;right:12px}
}

/* very short phones */
@media (max-width:599px) and (orientation:portrait) and (max-height:720px){
  .stage{padding-top:44px;padding-bottom:max(28px,10.5vh)}
  .hero-layout{grid-template-rows:auto minmax(200px,1fr) auto}
  .wordmark-shell{padding-top:8px}
  .wordmark-svg{width:88vw}
  .avatar-wrap{width:155px;height:255px}
  .role{font-size:10px;margin-bottom:7px}
  .desc{font-size:11px;max-width:290px}
  .metrics{margin-top:10px;gap:5px}
  .hero .metric{font-size:7.2px;padding:7px 4px}
}

/* landscape phone / small tablet */
@media (orientation:landscape) and (max-height:650px){
  .hero-scroll{height:240vh}
  .stage{padding:24px 22px max(92px,24vh)}
  .hero-layout{
    width:min(940px,100%);height:100%;
    grid-template-columns:clamp(145px,22vw,220px) minmax(0,1fr);
    grid-template-rows:auto auto;
    grid-template-areas:"avatar wordmark" "avatar lower";
    column-gap:8px;
  }
  .wordmark-shell{padding-top:0;align-self:end}
  .wordmark-svg{width:min(48vw,455px)}
  .avatar-wrap{width:clamp(125px,17vw,165px);height:clamp(205px,57vh,265px);transform:none}
  .role{width:min(400px,100%);font-size:9.2px;margin-bottom:5px}
  .desc{max-width:400px;font-size:9.2px;line-height:1.28}
  .metrics{width:min(430px,100%);gap:5px;margin-top:6px}
  .hero .metric{font-size:6.1px;padding:5px 3px}
  .nav{top:12px;right:18px;font-size:7px;gap:6px;letter-spacing:.18em}
  .cross{width:22px;height:22px}
  .cross.tl{top:10px;left:10px}.cross.tr{top:10px;right:10px}.cross.bl{bottom:10px;left:10px}.cross.br{bottom:10px;right:10px}
}

:root{--bg:#fbf6df;--cream:#fbf6df;--wine:#4d0e12;--burgundy:#4d0e12;--blue:#a6bcd6;--ink:#35211f;--muted:#65514b;--bar:0vh;--shell:min(1240px,calc(100% - 80px))}
html,body{overflow-x:clip}body{font-size:16px}button:focus-visible,a:focus-visible{outline:3px solid var(--burgundy);outline-offset:5px}.hero{font-family:'Avenir Next','Helvetica Neue',Arial,sans-serif}.wordmark-shell{margin:0;line-height:0}.hero .metric{min-width:0;box-shadow:none}.hero .nav{font-size:12px;letter-spacing:.2em}.hero .nav a{padding:10px 0}.hero-scroll{height:190vh}.hero{min-height:620px}.star{color:#eadf80}.section-kicker{font-size:.8rem;letter-spacing:.16em}
h2,h3{font-family:Georgia,'Bodoni Moda',serif!important}h2 em{font-weight:500!important}.editorial-intro{padding:76px 0 66px}.intro-grid{grid-template-columns:1.35fr 1fr;gap:70px;min-height:0;padding:30px 0 34px;border-top:0;border-bottom:1px solid rgba(53,33,31,.2)}.intro-main .eyebrow{font-size:.875rem;margin:0 0 24px}.intro-main h2{font-size:clamp(3rem,5.2vw,5.1rem);line-height:1.04;letter-spacing:-.05em}.intro-notes{padding-top:0}.about-summary{font-size:1.125rem;line-height:1.55;margin-bottom:24px}.about-row{padding:14px 0;border-bottom:0}.about-row:first-child{border-top:0}.about-row span{font-size:.8rem;margin-bottom:6px}.about-row p{font-size:1rem;font-weight:400;line-height:1.6}.about-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:30px}.about-facts>div{display:flex;align-items:center;gap:16px}.about-facts strong{font:500 clamp(2.5rem,4vw,4rem)/1 Georgia,serif;color:var(--burgundy);letter-spacing:-.04em}.about-facts span{font-size:.875rem;max-width:130px;line-height:1.4}.decor--intro{width:64px;right:-12px;top:-24px;bottom:auto;color:var(--paper-yellow)}
.projects{overflow:visible;padding:86px 0 55px}.section-heading{grid-template-columns:.65fr 2fr 1fr;gap:32px;margin-bottom:46px;padding-top:24px}.section-heading h2{font-size:clamp(2.8rem,4.8vw,5.1rem);line-height:1.04}.section-heading>p{font-size:1rem}.project-card{min-height:420px;margin-bottom:28px;gap:40px;padding:36px;top:calc(24px + var(--card-index)*14px);background:var(--cream);opacity:1;transform:none;transition:transform .7s cubic-bezier(.16,.82,.18,1),opacity .5s;box-shadow:0 20px 48px #35211f15}.project-card:nth-child(even),.project-card.is-visible{transform:rotate(calc(var(--rest-tilt)*.5))}.project-card:last-child{margin-bottom:0}.project-card::after{display:none}.project-number{margin-bottom:24px;font-size:.875rem}.tag{font-size:.8rem;letter-spacing:.06em;margin-bottom:16px}.project-copy h3{font-size:clamp(2.3rem,3.6vw,3.8rem);margin-bottom:20px}.project-copy p{font-size:1rem}.video-caption{font-size:.8rem}.video-placeholder{background:linear-gradient(125deg,#a6bcd6,#58677a);}.video-placeholder::before{display:none}
.thumbnails{padding:60px 0 94px}.section-heading--thumbs{margin-bottom:44px}.thumb-stage{padding:28px;--parallax:0px}.thumb-stage::before{display:none}.thumb-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.thumb-card{opacity:1;transform:rotate(var(--tilt,0deg))}.decor--thumb-a{width:66px;left:-26px;top:-27px}.decor--thumb-b{width:80px;right:-24px;bottom:-35px}
.contact{padding:40px 0 32px}.contact-shell{min-height:600px;grid-template-columns:1.35fr .78fr}.contact-copy{padding:clamp(32px,5vw,70px)}.contact-copy h2{font-size:clamp(3rem,5.5vw,6rem);line-height:1.02}.contact-overline{font-size:.8rem;line-height:1.6;margin:32px 0 22px}.contact-meta{font-size:.75rem;letter-spacing:.08em}.contact-character-wrap{min-height:600px}.contact-character{height:94%;width:100%;object-fit:contain;right:0;bottom:0}.contact-spark{color:var(--blue)}.site-footer{font-size:.75rem}.email-link{overflow-wrap:anywhere}.reveal-block{opacity:1;transform:none}.reveal{opacity:1;transform:none}.motion-ready .reveal:not(.is-visible){opacity:0;transform:translateY(32px)}.reveal{transition:opacity .75s ease,transform .85s cubic-bezier(.2,.8,.2,1)}.motion-ready .thumb-card{opacity:0;transform:translateY(28px) rotate(var(--tilt,0deg))}.motion-ready .thumb-stage.is-visible .thumb-card{opacity:1;transform:rotate(var(--tilt,0deg))}.decor{transition:transform .8s ease}.contact-star{transform:rotate(calc(8deg + var(--drift,0deg)))}
@media(max-width:1050px){:root{--shell:calc(100% - 48px)}.intro-grid{gap:36px}.section-heading{grid-template-columns:1fr 2.5fr;gap:18px 30px}.section-heading>p{grid-column:2;max-width:480px}.intro-notes{grid-column:auto}.project-card{padding:28px;gap:26px;min-height:380px}.contact-copy{padding:36px}.contact-character-wrap{min-height:540px}.contact-shell{min-height:540px}}
@media(max-width:899px){.hero-scroll{height:170vh}.hero{height:auto;min-height:100svh;position:sticky}.stage{padding:80px 24px 38px}.hero-layout{height:auto;grid-template-columns:1fr;grid-template-rows:auto auto auto;grid-template-areas:'wordmark' 'avatar' 'lower';gap:0;align-content:center;max-width:650px}.wordmark-shell{padding:0;justify-self:center}.wordmark-svg{width:min(100%,600px)}.avatar-wrap{width:210px;height:355px;transform:none;justify-self:center;align-self:center}.avatar-wrap img{width:170%}.lower{padding:6px 0 0;align-self:center}.role{font-size:14px;max-width:520px;margin-bottom:12px}.desc{font-size:16px;line-height:1.5;max-width:500px}.metrics{margin-top:20px;width:100%;gap:10px}.hero .metric{font-size:12px;line-height:1.4;white-space:normal;padding:12px 8px;letter-spacing:.05em}.hero .nav{top:18px;right:45px;font-size:12px}.cross{width:20px;height:20px}.cross.tl,.cross.tr{top:22px}.cross.tl,.cross.bl{left:16px}.cross.tr,.cross.br{right:16px}.cross.bl,.cross.br{bottom:16px}}
@media(max-width:760px){:root{--shell:calc(100% - 36px)}.hero .nav{top:14px;right:35px;gap:12px;font-size:12px;letter-spacing:.12em}.stage{padding:74px 18px 42px}.wordmark-svg{width:100%}.hero-layout{max-width:500px}.avatar-wrap{width:180px;height:300px}.role{font-size:14px;max-width:340px}.desc{font-size:16px;max-width:340px}.desktop-break{display:none}.metrics{grid-template-columns:1fr 1fr;max-width:380px;gap:8px}.hero .metric{font-size:12px;padding:10px 8px}.hero .metric:last-child{grid-column:1/-1}.editorial-intro{padding:48px 0}.intro-grid{grid-template-columns:1fr;gap:26px;padding:24px 0 28px}.intro-main h2{font-size:clamp(2.8rem,10vw,4rem)}.intro-main .eyebrow{font-size:.875rem;margin-bottom:20px}.intro-notes{grid-column:1;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:18px}.about-summary{grid-column:1/-1;font-size:1.1rem;margin:0}.about-row{padding:0}.about-row:last-child{grid-column:1/-1}.about-row p{font-size:1rem}.about-row span{font-size:.8rem}.about-facts{gap:16px}.about-facts>div{display:block}.about-facts strong{display:block;font-size:2.6rem;margin-bottom:10px}.about-facts span{font-size:.8rem;display:block}.decor--intro{width:46px;right:0;top:-18px}.section-heading{grid-template-columns:1fr;gap:16px;margin-bottom:30px}.section-heading>p{grid-column:1;font-size:1rem}.section-heading h2{font-size:2.9rem}.projects{padding:52px 0 30px}.project-card{grid-template-columns:1fr;gap:22px;padding:24px;margin-bottom:22px;top:calc(12px + var(--card-index)*8px);min-height:0}.project-card:nth-child(even),.project-card.is-visible{transform:none}.project-number{display:none}.project-copy h3{font-size:2.3rem;margin-bottom:14px}.project-copy p{font-size:1rem}.thumbnails{padding:32px 0 58px}.thumb-stage{padding:14px}.thumb-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.decor--thumb-a{width:42px;left:-12px;top:-20px}.decor--thumb-b{width:48px;right:-12px;bottom:-25px}.contact{padding:20px 0 26px}.contact-shell{grid-template-columns:1fr;min-height:0}.contact-copy{padding:32px 24px;border-right:0;border-bottom:1px solid var(--line)}.contact-copy h2{font-size:3.2rem}.contact-overline{font-size:.8rem;margin:24px 0 18px}.email-link{font-size:1rem;margin-top:28px}.contact-meta{font-size:.7rem;margin-top:24px}.contact-character-wrap{min-height:380px}.contact-character{height:96%;width:100%;right:0;bottom:0}.contact-star{width:75%;left:12%;top:5%}.contact-spark{width:40px;right:14%;top:10%}.site-footer{font-size:.7rem;letter-spacing:.05em}.lightbox-nav{top:auto;bottom:20px;transform:none;width:44px;height:44px}.lightbox-prev{left:calc(50% - 54px)}.lightbox-next{right:calc(50% - 54px)}}
@media(max-width:370px){.intro-notes{grid-template-columns:1fr}.about-facts strong{font-size:2.2rem}.stage{padding-inline:16px}.hero .nav{font-size:11px}.contact-copy h2{font-size:2.8rem}}
@media(orientation:landscape) and (max-height:650px){.hero-scroll{height:auto}.hero{position:relative;height:auto;min-height:650px}.stage{padding:80px 24px 44px}.hero-layout{grid-template-columns:220px minmax(0,1fr);grid-template-areas:'avatar wordmark' 'avatar lower';max-width:1000px}.avatar-wrap{width:220px;height:400px}.wordmark-svg{width:100%}.role{font-size:14px}.desc{font-size:16px}.hero .metric{font-size:12px}.cbar{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero-scroll{height:auto}.hero{position:relative}.cbar{display:none}.reveal,.motion-ready .reveal:not(.is-visible),.motion-ready .thumb-card{opacity:1;transform:none}*,*::before,*::after{animation:none!important;transition:none!important}}

@media(min-width:1101px) and (pointer:fine){.hero-scroll{height:235vh;position:relative;background:var(--bg)}
.hero{position:sticky;top:0;height:100vh;min-height:560px;overflow:hidden;display:flex;align-items:center;justify-content:center}
.stage{position:relative;width:100%;height:100%;padding:max(68px,7vh) clamp(34px,4vw,72px) max(42px,5vh)}

.cross{position:absolute;width:27px;height:27px;color:rgba(77,14,18,.72);z-index:7}
.cross:before,.cross:after{content:"";position:absolute;background:currentColor}
.cross:before{width:100%;height:1px;left:0;top:50%}.cross:after{height:100%;width:1px;left:50%;top:0}
.cross.tl{top:28px;left:30px}.cross.tr{top:28px;right:30px}.cross.bl{bottom:28px;left:30px}.cross.br{bottom:28px;right:30px}

.nav{position:absolute;top:36px;right:78px;z-index:7;display:flex;align-items:center;gap:18px;color:rgba(53,33,31,.88);font-size:10px;font-weight:600;letter-spacing:.33em;text-transform:uppercase;white-space:nowrap}
.nav a{color:inherit;text-decoration:none}.nav span{opacity:.36}

.hero-layout{
  width:min(1320px,100%);
  height:100%;
  margin:0 auto;
  display:grid;
  grid-template-columns:clamp(270px,24vw,350px) minmax(0,1fr);
  grid-template-rows:auto auto;
  grid-template-areas:
    "avatar wordmark"
    "avatar lower";
  column-gap:clamp(8px,1.3vw,24px);
  align-content:center;
  align-items:center;
}

.wordmark-shell{grid-area:wordmark;display:flex;align-items:flex-end;justify-content:center;align-self:end;width:100%;padding-top:2vh}
.wordmark-svg{display:block;width:min(100%,930px);height:auto;overflow:visible;filter:blur(.12px)}

.avatar-wrap{grid-area:avatar;position:relative;align-self:end;justify-self:end;width:clamp(285px,23vw,350px);height:clamp(480px,67vh,620px);pointer-events:none;transform:translateX(34px)}
.avatar-wrap img{position:absolute;left:50%;bottom:0;width:180%;max-width:none;height:auto;transform:translateX(-50%);filter:drop-shadow(0 17px 21px rgba(58,37,34,.10));user-select:none;z-index:2}
.star{position:absolute;left:45%;top:66%;width:88%;height:auto;transform:translate(-54%,-50%) rotate(-4deg);transform-origin:50% 50%;z-index:1;color:#eadf80}
.star.is-animating{animation:starFloat 2.35s linear 1 forwards}
@keyframes starFloat{0%{transform:translate(-54%,-50%) rotate(-4deg)}12%{transform:translate(-54%,-50%) rotate(-3.8deg)}100%{transform:translate(-54%,-50%) rotate(2.5deg)}}

.lower{grid-area:lower;align-self:start;text-align:center;width:100%;padding-top:6px}
.role{margin:0 auto 17px;color:var(--wine);font-size:clamp(15px,1.28vw,18px);line-height:1.2;letter-spacing:.155em;text-transform:uppercase;font-weight:500;width:min(620px,100%)}
.desc{margin:0 auto;max-width:620px;color:var(--muted);font-size:clamp(14px,1.12vw,16px);line-height:1.5;letter-spacing:.008em;font-weight:400}
.metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;width:min(720px,100%);margin:32px auto 0}
.metric{background:var(--blue);padding:13px 12px 12px;border:1px solid rgba(53,33,31,.04);font-size:clamp(9px,.75vw,11px);font-weight:600;letter-spacing:.15em;text-transform:uppercase;color:#2d201d;white-space:nowrap}




.hero-scroll{height:100vh}.hero{position:relative}.wordmark-shell{margin:0}.hero .metric{min-width:0;box-shadow:none}.hero .nav{font-size:12px}.hero .nav a{padding:8px 0}}

/* Preserve the published, approved touch/tablet hero. Desktop scene is separate. */
@media(max-width:1100px),(pointer:coarse),(hover:none){
 .cbar{display:none!important}
 .hero-scroll{height:auto;min-height:100svh}
 .hero{position:relative;min-height:min(900px,100svh);height:auto;display:grid;align-items:center;padding:110px 24px 64px;overflow:visible}
 .stage{width:100%;height:auto;max-width:1440px;margin:auto;padding:0}
 .cross{display:none}
 .hero .nav{position:absolute;right:48px;top:28px;display:flex;gap:20px;font-size:.875rem;letter-spacing:.16em;font-weight:600}
 .hero .nav a{display:flex;align-items:center;min-height:44px;padding:0}
 .hero-layout{display:grid;width:100%;height:auto;grid-template-columns:minmax(190px,.7fr) minmax(0,1.8fr);grid-template-rows:auto auto;grid-template-areas:'avatar wordmark' 'avatar lower';gap:16px;align-items:center;max-width:1320px;margin:auto}
 .wordmark-shell{grid-area:wordmark;margin:0;padding:0;align-self:end;width:100%;line-height:0}
 .wordmark-svg{width:100%;height:auto;display:block}
 .avatar-wrap{grid-area:avatar;position:relative;align-self:end;height:440px;width:100%;transform:none;pointer-events:none}
 .avatar-wrap img{position:absolute;left:50%;bottom:0;width:180%;max-width:none;transform:translateX(-50%)}
 .lower{grid-area:lower;text-align:center;align-self:start;padding:18px 0 0}
 .role{color:var(--burgundy);font-size:clamp(.875rem,1.2vw,1.125rem);line-height:1.5;letter-spacing:.11em;text-transform:uppercase;font-weight:600;max-width:650px;width:auto;margin:0 auto 18px}
 .desc{color:var(--muted);font-size:1rem;line-height:1.6;max-width:580px;margin:auto}
 .metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:28px auto 0;max-width:780px;width:100%}
 .hero .metric{min-width:0;max-width:none;white-space:normal;background:var(--blue);padding:14px 10px;font-size:.75rem;line-height:1.5;letter-spacing:.03em;text-transform:uppercase;font-weight:600}
 .hero .metric:last-child{grid-column:auto}
}
@media(max-width:760px){
 .hero{padding:82px 18px 38px;min-height:auto}
 .hero .nav{top:14px;right:18px;gap:15px;font-size:.8125rem}
 .hero-layout{grid-template-columns:1fr;grid-template-areas:'wordmark' 'avatar' 'lower';gap:0;max-width:540px}
 .wordmark-shell{max-width:480px;justify-self:center}
 .avatar-wrap{width:190px;height:342px;justify-self:center;margin-top:0;align-self:center}
 .lower{padding-top:14px}
 .role{font-size:.875rem;max-width:420px;margin-bottom:12px}
 .desc{font-size:1rem;max-width:430px}
 .metrics{grid-template-columns:repeat(3,1fr);gap:8px;margin-top:20px;max-width:780px}
 .hero .metric{font-size:.75rem;padding:12px 8px;letter-spacing:0}
 .hero .metric:last-child{grid-column:auto}
}
@media(max-width:380px){.metrics{grid-template-columns:1fr 1fr}.hero .metric:last-child{grid-column:1/-1}.avatar-wrap{height:315px;width:175px}}
@media(max-height:620px) and (min-width:761px){.hero{min-height:640px}}
@media(prefers-reduced-motion:reduce){.cbar{display:none!important}.hero-scroll{height:auto}}

/* Final responsive layout: one centered hero, crisp vector artwork, native scrolling. */
.wordmark-svg { filter:none; shape-rendering:geometricPrecision; }
.hero-scroll { height:auto; min-height:100svh; }
.hero { position:relative; height:auto; min-height:100svh; }
.cbar { display:none; }
.nav a { min-height:44px; display:flex; align-items:center; }
.project-media { min-width:0; }
.video-external { display:block; width:fit-content; margin-top:14px; font-size:.8rem; text-underline-offset:4px; color:var(--muted); }
.contact-character { transform:none; left:0; right:0; width:100%; height:96%; max-width:100%; bottom:0; object-position:center bottom; }
.project-card { opacity:1; transform:none; }
.motion-ready .project-card:not(.is-visible) { opacity:0; transform:translate3d(48px,70px,0) rotate(3deg); }
.motion-ready .project-card:nth-child(even):not(.is-visible) { transform:translate3d(-48px,70px,0) rotate(-3deg); }
.motion-ready .project-card.is-visible { opacity:1; transform:rotate(calc(var(--rest-tilt)*.5)); }
.project-card { transition:opacity .65s ease,transform .9s cubic-bezier(.16,.82,.18,1); }
html { scroll-padding-top:24px; }
@media(min-width:1101px) and (pointer:fine) {
 .hero { min-height:max(700px,100svh); }
 .stage { min-height:max(700px,100svh); height:auto; padding:100px 40px 76px; display:flex; align-items:center; }
 .hero-layout { position:relative; display:flex; flex-direction:column; justify-content:center; width:100%; height:auto; max-width:1440px; margin:auto; }
 .wordmark-shell { width:min(64vw,930px); padding:0; align-self:center; }
 .lower { width:min(64vw,930px); align-self:center; padding-top:10px; }
 .avatar-wrap { position:absolute; width:clamp(245px,18vw,320px); height:clamp(440px,62vh,580px); left:calc(50% - min(32vw,465px) - 135px); bottom:-56px; transform:none; z-index:2; }
 .avatar-wrap img { width:180%; height:auto; }
 .role { margin-bottom:18px; }
 .desc { max-width:620px; }
 .metrics { max-width:730px; gap:20px; }
}
@media(max-width:1100px),(pointer:coarse),(hover:none) {
 .hero { padding:92px 24px 46px; }
 .stage { position:static; padding:0; }
 .hero .nav { top:18px; right:28px; }
}
@media(max-width:760px) {
 .hero { padding:82px 18px 38px; }
 .hero .nav { top:14px; right:50%; transform:translateX(50%); gap:18px; font-size:12px; }
 .hero-layout { display:flex; flex-direction:column; gap:0; }
 .wordmark-shell { flex:none; width:min(100%,480px); align-self:center; }
 .avatar-wrap { flex:none; position:relative; width:180px; height:300px; margin:8px auto 0; align-self:center; }
 .avatar-wrap img { height:auto; width:170%; }
 .lower { width:100%; padding-top:12px; }
 .role { font-size:12px; line-height:1.5; max-width:350px; letter-spacing:.09em; }
 .desc { font-size:14px; line-height:1.55; max-width:340px; }
 .metrics { width:100%; max-width:400px; grid-template-columns:repeat(3,minmax(0,1fr)); margin-top:18px; gap:7px; }
 .hero .metric { font-size:10px; padding:12px 5px; line-height:1.5; max-width:none; }
 .hero .metric:last-child { grid-column:auto; }
 .project-card { position:relative; top:auto; }
 .motion-ready .project-card.is-visible { transform:none; }
 .motion-ready .project-card:not(.is-visible) { transform:translate3d(24px,48px,0) rotate(1.5deg); }
 .motion-ready .project-card:nth-child(even):not(.is-visible) { transform:translate3d(-24px,48px,0) rotate(-1.5deg); }
 .contact-copy h2 { font-size:clamp(2.55rem,11.5vw,3.7rem); }
 .contact-character-wrap { min-height:370px; }
 .contact-character { transform:none; left:0; right:0; }
 .email-link { font-size:clamp(.85rem,3.8vw,1.1rem); }
 .site-footer { gap:12px; font-size:10px; }
}
@media(max-width:360px) {
 .avatar-wrap { width:160px; height:265px; }
 .hero .metric { font-size:9px; }
 .contact-copy { padding:28px 20px; }
}
@media(prefers-reduced-motion:reduce) {
 .motion-ready .project-card:not(.is-visible),.motion-ready .project-card:nth-child(even):not(.is-visible),.motion-ready .project-card.is-visible { opacity:1; transform:none; }
}

/* Preserve the original desktop cinematic intro; touch devices scroll naturally. */
@media(min-width:1101px) and (pointer:fine) and (hover:hover) and (prefers-reduced-motion:no-preference) {
 .cbar { display:block; }
}
