:root{
  --color-paper:#f7f1e8;
  --color-paper-soft:#fcf8f1;
  --color-paper-deep:#eee3d4;
  --color-ink:#15110f;
  --color-ink-soft:#403832;
  --color-muted:#766b61;
  --color-line:rgba(21,17,15,.10);
  --color-line-strong:rgba(200,155,47,.38);
  --color-gold:#c89b2f;
  --color-gold-deep:#8f671d;
  --color-red:#9d3d32;
  --color-green:#5f6a46;
  --surface-paper:var(--color-paper);
  --surface-soft:rgba(255,250,241,.76);
  --surface-glass:rgba(255,250,241,.72);
  --surface-dark:#0d0d10;
  --surface-overlay:rgba(21,17,15,.56);
  --font-display:"Cormorant Garamond","Iowan Old Style","Palatino Linotype",Georgia,serif;
  --font-body:"Inter","Aptos","Segoe UI",system-ui,-apple-system,BlinkMacSystemFont,sans-serif;
  --text-xs:clamp(.72rem,.72vw,.82rem);
  --text-sm:clamp(.84rem,.82vw,.94rem);
  --text-base:clamp(1rem,.95vw,1.08rem);
  --text-lead:clamp(1.08rem,1.24vw,1.32rem);
  --title-card:clamp(1.55rem,2.1vw,2.25rem);
  --title-section:clamp(2.25rem,4.35vw,4.85rem);
  --title-hero:clamp(3.25rem,6.4vw,6.7rem);
  --title-home:clamp(3.5rem,7.4vw,7.6rem);
  --space-1:.35rem;
  --space-2:.55rem;
  --space-3:.85rem;
  --space-4:1.15rem;
  --space-5:1.6rem;
  --space-6:2.2rem;
  --space-7:3.2rem;
  --space-8:4.6rem;
  --container:min(1360px,calc(100% - 40px));
  --container-narrow:min(1060px,calc(100% - 40px));
  --radius-card:8px;
  --radius-panel:10px;
  --radius-modal:12px;
  --radius-pill:999px;
  --shadow-soft:0 16px 46px rgba(21,17,15,.08);
  --shadow-card:0 24px 72px rgba(21,17,15,.11);
  --shadow-modal:0 42px 140px rgba(0,0,0,.28);
  --duration-fast:220ms;
  --duration-mid:620ms;
  --duration-slow:900ms;
  --duration-gallery:10s;
  --ease:cubic-bezier(.22,.61,.36,1);
  --z-header:70;
  --z-drawer:90;
  --z-dialog:110;
  --z-gallery:120;
  --z-cursor:140;
  --scroll-progress:0%;
  color-scheme:light;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth;text-size-adjust:100%}
body{
  margin:0;
  min-width:320px;
  font-family:var(--font-body);
  font-size:var(--text-base);
  line-height:1.7;
  color:var(--color-ink);
  background:
    radial-gradient(circle at 12% 4%,rgba(200,155,47,.11),transparent 30rem),
    radial-gradient(circle at 94% 10%,rgba(157,61,50,.08),transparent 26rem),
    linear-gradient(180deg,var(--color-paper),var(--color-paper-soft) 42%,var(--color-paper));
  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;
}
body::before{
  content:"";
  position:fixed;
  inset:0;
  z-index:-1;
  pointer-events:none;
  opacity:.24;
  background-image:
    linear-gradient(rgba(21,17,15,.028) 1px,transparent 1px),
    linear-gradient(90deg,rgba(21,17,15,.02) 1px,transparent 1px);
  background-size:34px 34px,34px 34px;
}
body.no-scroll{overflow:hidden}
body.nav-open main,
body.nav-open footer{pointer-events:none}
img,picture{display:block;max-width:100%}
img{height:auto}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
button{color:inherit}
p{margin:0 0 1rem;color:var(--color-ink-soft)}
strong{font-weight:760;color:var(--color-ink)}
::selection{background:rgba(200,155,47,.25);color:var(--color-ink)}

.skip-link{
  position:absolute;
  left:1rem;
  top:-5rem;
  z-index:calc(var(--z-gallery) + 10);
  padding:.72rem 1rem;
  border-radius:var(--radius-pill);
  background:var(--color-ink);
  color:var(--color-paper);
}
.skip-link:focus{top:1rem}
:focus-visible{
  outline:3px solid rgba(200,155,47,.56);
  outline-offset:4px;
}
.sr-only{
  position:absolute!important;
  width:1px;height:1px;
  padding:0;margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;border:0;
}

.site-header{
  position:fixed;
  top:0;
  left:0;
  right:0;
  z-index:var(--z-header);
  background:rgba(247,241,232,.88);
  border-bottom:1px solid var(--color-line);
  backdrop-filter:blur(18px) saturate(1.04);
  -webkit-backdrop-filter:blur(18px) saturate(1.04);
  transform:translateY(-112%);
  opacity:0;
  pointer-events:none;
  transition:
    transform var(--duration-mid) var(--ease),
    opacity var(--duration-fast) var(--ease),
    box-shadow var(--duration-fast) var(--ease),
    background var(--duration-fast) var(--ease);
}
.site-header.is-visible,
.site-header:focus-within,
body.nav-open .site-header{
  transform:translateY(0);
  opacity:1;
  pointer-events:auto;
}
.site-header::after{
  content:"";
  position:absolute;
  left:0;
  bottom:-1px;
  width:var(--scroll-progress);
  height:2px;
  background:linear-gradient(90deg,transparent,var(--color-gold),var(--color-red));
}
.site-header.is-scrolled{box-shadow:0 12px 40px rgba(21,17,15,.07);background:rgba(247,241,232,.96)}
.nav-wrap{
  width:var(--container);
  min-height:74px;
  margin:auto;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
}
.brand{
  display:inline-flex;
  align-items:center;
  min-width:0;
  padding:.15rem 0;
  white-space:nowrap;
}
.brand-logo{
  display:block;
  width:auto;
  height:clamp(46px,5vw,68px);
  max-width:min(28vw,252px);
  object-fit:contain;
  object-position:left center;
}
.primary-nav{
  display:flex;
  align-items:center;
  gap:.2rem;
  padding:.22rem;
  border:1px solid rgba(21,17,15,.08);
  border-radius:var(--radius-pill);
  background:var(--surface-glass);
}
.primary-nav a{
  position:relative;
  min-height:40px;
  padding:.62rem .95rem;
  border-radius:var(--radius-pill);
  color:var(--color-ink-soft);
  font-size:var(--text-sm);
  font-weight:650;
  transition:background var(--duration-fast) var(--ease),color var(--duration-fast) var(--ease);
}
.primary-nav a[aria-current="page"],
.primary-nav a:hover{background:rgba(200,155,47,.14);color:var(--color-ink)}
.nav-actions{display:flex;align-items:center;gap:.55rem}
.nav-toggle{display:none}

.btn,.icon-btn{
  border:1px solid var(--color-line);
  background:rgba(255,250,241,.72);
  color:var(--color-ink);
  cursor:pointer;
  transition:
    transform var(--duration-fast) var(--ease),
    border-color var(--duration-fast) var(--ease),
    background var(--duration-fast) var(--ease),
    box-shadow var(--duration-fast) var(--ease);
}
.btn{
  min-height:46px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.55rem;
  padding:.78rem 1.08rem;
  border-radius:var(--radius-pill);
  font-size:var(--text-sm);
  font-weight:760;
  line-height:1;
}
.btn::after{
  content:"";
  width:.44rem;
  height:.44rem;
  border-right:1.5px solid currentColor;
  border-bottom:1.5px solid currentColor;
  transform:rotate(-45deg);
  opacity:.72;
}
.btn.no-arrow::after,
.btn.icon-only::after{display:none}
.btn:hover,.btn:focus-visible,
.icon-btn:hover,.icon-btn:focus-visible{
  transform:translateY(-2px);
  border-color:var(--color-line-strong);
  box-shadow:0 14px 34px rgba(21,17,15,.09);
}
.btn.primary{background:var(--color-ink);border-color:var(--color-ink);color:var(--color-paper)}
.btn.primary:hover,.btn.primary:focus-visible{background:#2b211c}
.btn.secondary{background:rgba(255,250,241,.9)}
.btn.ghost{background:transparent}
.btn.light{background:rgba(247,241,232,.94);color:var(--color-ink);border-color:rgba(247,241,232,.28)}
.icon-btn{
  width:44px;
  height:44px;
  display:inline-grid;
  place-items:center;
  border-radius:50%;
}
.icon-btn.light{background:rgba(247,241,232,.94);color:var(--color-ink);border-color:rgba(247,241,232,.28)}
.icon-close::before,
.icon-close::after{
  content:"";
  position:absolute;
  width:16px;
  height:1.5px;
  background:currentColor;
}
.icon-close::before{transform:rotate(45deg)}
.icon-close::after{transform:rotate(-45deg)}
.icon-btn{position:relative}
.keycap{
  display:inline-flex;
  min-width:2.4rem;
  justify-content:center;
  padding:.2rem .38rem;
  border:1px solid rgba(21,17,15,.12);
  border-radius:6px;
  font-size:.72rem;
  color:var(--color-muted);
  background:rgba(255,255,255,.42);
}

.meta,.eyebrow,.kicker{
  margin:0;
  font-size:var(--text-xs);
  line-height:1.2;
  letter-spacing:.18em;
  text-transform:uppercase;
  font-weight:820;
}
.meta{color:var(--color-muted)}
.eyebrow,.kicker{color:var(--color-gold-deep)}
.eyebrow{
  display:inline-flex;
  align-items:center;
  gap:.7rem;
  margin-bottom:.9rem;
}
.eyebrow::before{
  content:"";
  width:34px;
  height:1px;
  background:linear-gradient(90deg,var(--color-gold),rgba(200,155,47,.12));
}
h1,h2,h3{
  margin:0;
  font-family:var(--font-display);
  font-weight:430;
  line-height:1.02;
  letter-spacing:-.032em;
  color:var(--color-ink);
  text-wrap:balance;
}
h1{font-size:var(--title-hero);max-width:12ch}
.home-hero h1{font-size:var(--title-home);max-width:8.8ch}
.hero-logo-title{
  max-width:min(720px,100%);
  line-height:1;
}
.hero-logo-title img{
  display:block;
  width:min(680px,100%);
  height:auto;
  filter:drop-shadow(0 16px 34px rgba(21,17,15,.08));
}
h2{font-size:var(--title-section)}
h3{font-size:var(--title-card);line-height:1.04}
.lead{
  max-width:65ch;
  font-size:var(--text-lead);
  line-height:1.68;
  color:var(--color-ink-soft);
}
.section-title-line{
  display:block;
  width:clamp(3rem,7vw,5.6rem);
  height:1px;
  margin-top:1rem;
  background:linear-gradient(90deg,var(--color-gold),rgba(157,61,50,.32),transparent);
}

main{overflow:hidden}
.section{
  width:var(--container);
  margin:0 auto;
  padding:clamp(4.8rem,7vw,7.4rem) 0;
}
.section.narrow{width:var(--container-narrow)}
.section-head{
  display:flex;
  justify-content:space-between;
  align-items:end;
  gap:2rem;
  margin-bottom:clamp(1.4rem,2.4vw,2.3rem);
}
.section-head > *{min-width:0}
.section-head .lead{max-width:48rem}
.section-head h2{max-width:14ch}
.section-band{
  position:relative;
  isolation:isolate;
}
.section-band::before{
  content:"";
  position:absolute;
  inset:8% -4% auto auto;
  width:min(42vw,520px);
  height:min(42vw,520px);
  background-image:var(--section-image);
  background-size:cover;
  background-position:center;
  opacity:.06;
  filter:saturate(.8);
  border-radius:50%;
  z-index:-1;
}
.action-row{display:flex;flex-wrap:wrap;align-items:center;gap:.72rem;margin-top:1.7rem}

.hero{
  width:100%;
  min-height:100svh;
  margin:0 auto;
  padding:clamp(.8rem,2vw,1.5rem) 0;
  display:grid;
  align-items:center;
  justify-items:center;
}
.hero-shell{
  position:relative;
  width:var(--container);
  margin-inline:auto;
  min-height:calc(100svh - clamp(1.6rem,4vw,3rem));
  display:grid;
  grid-template-columns:minmax(0,.96fr) minmax(300px,.74fr);
  gap:clamp(2rem,5vw,5rem);
  align-items:center;
  overflow:hidden;
  padding:clamp(2rem,5vw,4.6rem);
  border:1px solid var(--color-line);
  border-radius:var(--radius-panel);
  background:
    linear-gradient(125deg,rgba(255,255,255,.4),transparent 42%,rgba(200,155,47,.055)),
    var(--surface-glass);
  box-shadow:var(--shadow-soft);
}
.hero-shell::before{
  content:"";
  position:absolute;
  inset:0;
  background-image:var(--hero-image);
  background-size:cover;
  background-position:center;
  opacity:.07;
  filter:saturate(.86) contrast(1.04);
}
.hero-copy,.hero-media{position:relative;z-index:1}
.hero-copy .lead{margin-top:1.1rem}
.hero-media{
  min-height:420px;
  display:grid;
  place-items:center;
}
.hero-frame{
  width:min(430px,100%);
  overflow:hidden;
  border:1px solid rgba(21,17,15,.12);
  border-radius:var(--radius-card);
  background:var(--color-paper-deep);
  box-shadow:var(--shadow-card);
  transform:rotate(.4deg);
}
.hero-frame img{
  width:100%;
  height:min(56vw,560px);
  object-fit:cover;
  object-position:center;
}
.hero-caption{display:none}
.hero-line{
  position:absolute;
  left:clamp(2rem,5vw,4.6rem);
  bottom:clamp(1.5rem,3vw,3rem);
  width:min(22vw,260px);
  height:1px;
  background:linear-gradient(90deg,var(--color-gold),transparent);
  transform-origin:left;
  animation:lineDraw 1100ms var(--ease) both;
}
.page-hero .hero-shell{grid-template-columns:minmax(0,.92fr) minmax(260px,.54fr);min-height:calc(100svh - clamp(1.6rem,4vw,3rem))}
.page-hero h1{max-width:18ch}
.page-hero .hero-frame{width:min(360px,100%)}
.page-hero .hero-frame img{height:min(48vw,470px)}
.works-hero h1{max-width:10ch}


/* Homepage hero targeted refinement */
.home-hero{
  padding-top:0;
  padding-bottom:0;
}
.home-hero .hero-shell{
  width:min(100% - 28px, 1600px);
  min-height:100svh;
  grid-template-columns:minmax(0,1.02fr) minmax(340px,.82fr);
  gap:clamp(2rem,4vw,4.2rem);
  padding-block:clamp(2.25rem,5vw,4.6rem);
}
.home-hero .hero-copy{
  align-self:center;
  max-width:43rem;
  padding-block:clamp(.5rem,2vw,1.4rem);
}
.home-hero .hero-logo-title{
  margin-bottom:clamp(1rem,2.2vw,1.35rem);
}
.home-hero .hero-logo-title img{
  max-width:min(620px,100%);
}
.home-hero .lead{
  max-width:34rem;
}
.home-hero .hero-media{
  min-height:0;
  align-self:center;
}
.home-hero .hero-frame{
  width:min(500px,100%);
  transform:none;
}
.home-hero .hero-frame img{
  height:min(68vh,680px);
}
@media (max-width:1100px){
  .home-hero .hero-shell{
    width:min(100% - 24px, 1320px);
    min-height:100svh;
    padding-block:clamp(1.4rem,4vw,2.4rem);
  }
  .home-hero .hero-copy{max-width:none}
  .home-hero .hero-frame{width:min(430px,100%)}
  .home-hero .hero-frame img{height:min(64vw,560px)}
}
@media (max-width:760px){
  .home-hero{padding-top:.35rem}
  .home-hero .hero-shell{
    width:min(100% - 16px, 100%);
    min-height:calc(100svh - .35rem);
    grid-template-columns:1fr;
    padding:1rem;
    gap:1.2rem;
    align-items:start;
  }
  .home-hero .hero-media{
    order:-1;
    width:100%;
    display:grid;
    place-items:center;
    min-height:auto;
    margin:0;
  }
  .home-hero .hero-copy{
    width:100%;
    max-width:none;
    align-self:start;
  }
  .home-hero .hero-logo-title img{max-width:min(420px,100%)}
  .home-hero .lead{max-width:none}
  .home-hero .hero-frame{
    width:min(280px,56vw);
    margin-inline:auto;
  }
  .home-hero .hero-frame img{
    width:100%;
    height:auto;
    max-height:min(42vh,320px);
    aspect-ratio:1448 / 2048;
  }
}

@media (max-width:560px){
  .home-hero .hero-shell{
    gap:1rem;
    padding:1rem .9rem;
  }
  .home-hero .hero-frame{
    width:min(240px,54vw);
  }
  .home-hero .hero-logo-title img{max-width:min(360px,100%)}
}

.editorial-grid{
  display:grid;
  grid-template-columns:minmax(280px,.74fr) minmax(0,1fr);
  gap:clamp(2rem,5vw,5rem);
  align-items:start;
}
.portrait-panel{
  position:relative;
  overflow:hidden;
  border:1px solid var(--color-line);
  border-radius:var(--radius-card);
  background:var(--color-paper-deep);
  box-shadow:var(--shadow-soft);
}
.portrait-panel img{
  width:100%;
  height:min(640px,64vw);
  object-fit:cover;
  object-position:39% 55%;
  transform:scale(1.08);
  transform-origin:39% 55%;
}
.bio-copy h2{max-width:14ch}
.bio-copy p{max-width:74ch}
.bio-copy .lead{font-size:clamp(1.05rem,1.16vw,1.24rem);line-height:1.62}
.statement-banner{
  width:var(--container);
  min-height:clamp(460px,56vh,650px);
  margin:0 auto;
  display:flex;
  align-items:end;
  position:relative;
  overflow:hidden;
  isolation:isolate;
  padding:clamp(1.8rem,5vw,4.8rem);
  border-radius:var(--radius-panel);
  background:var(--surface-dark);
  box-shadow:var(--shadow-card);
}
.statement-banner::before{
  content:"";
  position:absolute;
  inset:-6%;
  background-image:var(--banner-image);
  background-size:cover;
  background-position:center;
  opacity:.34;
  filter:saturate(.82) contrast(1.05);
  transform:translateY(var(--banner-shift,0)) scale(1.04);
}
.statement-banner::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,rgba(13,13,16,.94),rgba(13,13,16,.68) 52%,rgba(13,13,16,.92));
}
.statement-inner{position:relative;z-index:1;max-width:1120px;color:var(--color-paper)}
.statement-inner h2{max-width:16ch;color:var(--color-paper)}
.statement-inner .eyebrow{color:var(--color-gold)}
.statement-inner p{color:rgba(247,241,232,.86)}
.text-columns{
  columns:2 320px;
  column-gap:3rem;
  max-width:960px;
  margin-top:1.3rem;
}

.visual-grid,.collab-grid,.request-grid,.collection-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1rem;
}
.visual-card,.collab-card{
  position:relative;
  min-height:340px;
  overflow:hidden;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  padding:clamp(1.15rem,1.8vw,1.6rem);
  border:1px solid var(--color-line);
  border-radius:var(--radius-card);
  background:var(--surface-dark);
  box-shadow:var(--shadow-soft);
  isolation:isolate;
}
.visual-card::before,.collab-card::before{
  content:"";
  position:absolute;
  inset:0;
  background-image:var(--image);
  background-size:cover;
  background-position:center;
  opacity:.9;
  filter:saturate(.9) contrast(1.03);
  transform:scale(1.01);
  transition:transform var(--duration-mid) var(--ease),filter var(--duration-mid) var(--ease);
}
.visual-card::after,.collab-card::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(21,17,15,.02),rgba(21,17,15,.38) 36%,rgba(21,17,15,.88));
}
.visual-card > *,.collab-card > *{position:relative;z-index:1}
.visual-card .meta{display:none}
.visual-card h3,.collab-card h3,
.visual-card p,.collab-card p{color:var(--color-paper)}
.visual-card p,.collab-card p{font-size:clamp(.94rem,1vw,1.06rem);line-height:1.58;color:rgba(247,241,232,.88);max-width:42ch}
.visual-card h3{font-size:clamp(1.75rem,2.2vw,2.55rem);margin-bottom:.35rem}
.visual-card:hover::before,.collab-card:hover::before{transform:scale(1.025);filter:saturate(1.02) contrast(1.05)}
.visual-card:hover,.collab-card:hover{border-color:rgba(200,155,47,.5)}
.collab-card{min-height:430px}
.collab-card .ideal{
  margin:.8rem 0 0;
  padding-top:.8rem;
  border-top:1px solid rgba(247,241,232,.18);
  color:rgba(247,241,232,.78);
}
.collab-card .btn{align-self:flex-start;margin-top:auto;background:rgba(247,241,232,.94)}

.card,.collection-card,.timeline-card,.request-card,.contact-card,.work-card{
  border:1px solid var(--color-line);
  border-radius:var(--radius-card);
  background:var(--surface-soft);
  box-shadow:var(--shadow-soft);
}
.collection-card,.timeline-card,.request-card,.contact-card{
  padding:1.15rem;
  transition:transform var(--duration-fast) var(--ease),border-color var(--duration-fast) var(--ease),box-shadow var(--duration-fast) var(--ease);
}
.collection-card:hover,.timeline-card:hover,.request-card:hover,.contact-card:hover{
  transform:translateY(-3px);
  border-color:var(--color-line-strong);
  box-shadow:var(--shadow-card);
}
.collection-card{min-height:260px;display:flex;flex-direction:column;justify-content:space-between}
.collection-card p:last-child{margin-bottom:0}
.timeline{display:grid;gap:.9rem}
.timeline-card{display:grid;grid-template-columns:170px 1fr;gap:1.25rem;align-items:start}
.timeline-card time{
  font-family:var(--font-display);
  font-size:clamp(1.4rem,2.2vw,2rem);
  line-height:1;
  color:var(--color-gold-deep);
}

.archive-intro{
  display:grid;
  grid-template-columns:minmax(0,.78fr) minmax(280px,.42fr);
  gap:1rem;
  align-items:stretch;
}
.archive-note{
  padding:1.2rem;
  border:1px solid var(--color-line);
  border-radius:var(--radius-card);
  background:rgba(255,250,241,.62);
}
.archive-section{padding-top:.25rem;scroll-margin-top:112px}
.archive-controls{
  position:sticky;
  top:78px;
  z-index:40;
  margin:0 auto 1.6rem;
  padding:clamp(.7rem,1.2vw,1rem);
  border:1px solid var(--color-line);
  border-radius:var(--radius-panel);
  background:rgba(247,241,232,.9);
  backdrop-filter:blur(18px);
  box-shadow:0 14px 42px rgba(21,17,15,.07);
}
.archive-control-row #openFilterPanel{display:none}
#closeFilterPanel{display:none}
.archive-control-row{
  display:grid;
  grid-template-columns:minmax(260px,1.15fr) auto;
  gap:.8rem;
  align-items:end;
}
.filter-panel{
  display:grid;
  grid-template-columns:minmax(220px,1.2fr) repeat(2,minmax(160px,1fr)) auto;
  gap:.8rem;
  align-items:end;
  margin-top:.8rem;
}
.field{display:grid;gap:.35rem;margin:0}
label{
  font-size:var(--text-sm);
  font-weight:760;
  color:var(--color-ink);
}
.required{color:var(--color-red)}
input,select,textarea{
  width:100%;
  min-height:48px;
  border:1px solid var(--color-line);
  border-radius:var(--radius-card);
  padding:.72rem .88rem;
  background:rgba(255,250,241,.92);
  color:var(--color-ink);
  transition:border-color var(--duration-fast) var(--ease),box-shadow var(--duration-fast) var(--ease),background var(--duration-fast) var(--ease);
}
textarea{min-height:168px;resize:vertical}
input:hover,select:hover,textarea:hover{border-color:rgba(200,155,47,.5);background:#fffaf2}
input:focus-visible,select:focus-visible,textarea:focus-visible{
  border-color:var(--color-gold);
  box-shadow:0 0 0 4px rgba(200,155,47,.14);
}
.field-error{
  min-height:1.1rem;
  margin:0;
  font-size:var(--text-xs);
  color:#8b2b23;
}
.field.has-error input,
.field.has-error select,
.field.has-error textarea{border-color:#b74034}
.archive-meta-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  margin-top:.8rem;
}
.active-chips,.chip-list{
  display:flex;
  flex-wrap:wrap;
  gap:.45rem;
}
.chip{
  display:inline-flex;
  align-items:center;
  gap:.35rem;
  min-height:28px;
  padding:.28rem .58rem;
  border:1px solid var(--color-line);
  border-radius:var(--radius-pill);
  background:rgba(255,255,255,.42);
  color:var(--color-ink-soft);
  font-size:var(--text-xs);
  line-height:1.2;
}
.chip button{
  border:0;
  background:transparent;
  color:inherit;
  cursor:pointer;
  padding:0 .05rem;
}
.archive-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1rem;
}
.work-card{overflow:hidden;min-height:100%;transition:transform var(--duration-fast) var(--ease),border-color var(--duration-fast) var(--ease),box-shadow var(--duration-fast) var(--ease)}
.work-card:hover{transform:translateY(-3px);border-color:var(--color-line-strong);box-shadow:var(--shadow-card)}
.work-card button{
  width:100%;
  min-height:100%;
  padding:0;
  border:0;
  background:transparent;
  text-align:left;
  cursor:pointer;
  display:flex;
  flex-direction:column;
}
.work-thumb-wrap{
  aspect-ratio:4/3;
  display:grid;
  place-items:center;
  overflow:hidden;
  background:linear-gradient(180deg,#fffaf1,var(--color-paper-deep));
}
.work-thumb-wrap img{
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center;
  padding:.45rem;
  transition:filter var(--duration-mid) var(--ease),transform var(--duration-mid) var(--ease);
}
.work-card:hover img{filter:brightness(1.035) saturate(1.02);transform:scale(1.015)}
.card-body{
  flex:1;
  display:flex;
  flex-direction:column;
  padding:1rem;
}
.work-card h3{
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
  margin:.35rem 0 .55rem;
}
.work-card .summary{
  display:-webkit-box;
  -webkit-line-clamp:3;
  -webkit-box-orient:vertical;
  overflow:hidden;
  margin-bottom:.9rem;
  font-size:var(--text-sm);
  line-height:1.55;
}
.card-cta{
  margin-top:auto;
  padding-top:.9rem;
  font-size:var(--text-xs);
  letter-spacing:.16em;
  text-transform:uppercase;
  font-weight:820;
  color:var(--color-gold-deep);
}
.empty-state{
  grid-column:1/-1;
  padding:2rem;
  border:1px dashed rgba(21,17,15,.18);
  border-radius:var(--radius-card);
  background:rgba(255,250,241,.68);
}

.process-strip{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:1px;
  overflow:hidden;
  border:1px solid var(--color-line);
  border-radius:var(--radius-card);
  background:var(--color-line);
  box-shadow:var(--shadow-soft);
}
.process-step{
  padding:1.2rem;
  background:rgba(255,250,241,.82);
}
.process-step span{
  display:inline-grid;
  place-items:center;
  width:34px;
  height:34px;
  margin-bottom:1rem;
  border-radius:50%;
  background:rgba(200,155,47,.14);
  color:var(--color-gold-deep);
  font-weight:820;
}

.contact-grid{
  display:grid;
  grid-template-columns:minmax(280px,.48fr) minmax(0,.76fr);
  gap:1rem;
  align-items:start;
}
.panel{
  border:1px solid var(--color-line);
  border-radius:var(--radius-card);
  background:var(--surface-soft);
  box-shadow:var(--shadow-soft);
  padding:clamp(1.25rem,2.8vw,2.8rem);
}
.panel h2{max-width:15ch}
.panel .lead{max-width:62ch}
.section.narrow .panel h2{font-size:clamp(2.2rem,4.2vw,4.45rem);line-height:1.04}
.section.narrow .panel{padding:clamp(1.45rem,3.4vw,3.2rem)}
.contact-panel{position:sticky;top:104px}
.contact-form{display:grid;gap:1rem}
.check-row{
  display:flex;
  gap:.75rem;
  align-items:flex-start;
  font-size:var(--text-sm);
  color:var(--color-ink-soft);
}
.check-row input{width:auto;min-height:0;margin-top:.22rem}
.form-status{
  margin:0;
  min-height:1.5rem;
  font-weight:720;
}
.form-status.success{color:#386139}
.form-status.error{color:#8b2b23}
.social-grid{display:grid;gap:.65rem;margin-top:1.1rem}
.contact-card{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:1rem;
}
.contact-card .meta{margin-top:.25rem}

.dialog{
  position:relative;
  width:min(1180px,calc(100% - 32px));
  max-height:min(92vh,900px);
  padding:0;
  border:0;
  border-radius:var(--radius-modal);
  background:transparent;
  color:var(--color-ink);
  box-shadow:var(--shadow-modal);
}
.dialog::backdrop{background:rgba(21,17,15,.62);backdrop-filter:blur(10px)}
.dialog-shell{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(340px,.82fr);
  overflow:hidden;
  max-height:min(92vh,900px);
  border:1px solid rgba(255,250,241,.22);
  border-radius:var(--radius-modal);
  background:var(--color-paper);
}
.dialog-media{
  display:grid;
  place-items:center;
  min-height:0;
  padding:clamp(.7rem,2vw,1.25rem);
  background:#12100f;
}
.dialog-media img{
  width:auto;
  height:auto;
  max-width:100%;
  max-height:min(86vh,820px);
  object-fit:contain;
}
.dialog-copy{
  overflow:auto;
  padding:clamp(1.2rem,3vw,2.4rem);
  max-height:min(92vh,900px);
  background:linear-gradient(180deg,#fffaf2,var(--color-paper));
}
.dialog-title{margin:.35rem 0 1rem;font-size:clamp(2rem,4.4vw,4.4rem)}
.dialog-close{position:absolute;right:1rem;top:1rem;z-index:2;background:var(--color-paper)}
.fact-list{
  display:grid;
  gap:.55rem;
  margin:1.2rem 0;
}
.fact{
  display:flex;
  justify-content:space-between;
  gap:1rem;
  padding:.65rem 0;
  border-bottom:1px solid var(--color-line);
}
.fact span:first-child{color:var(--color-muted);font-size:var(--text-sm)}
.fact span:last-child{text-align:right;font-weight:680}

.gallery-overlay{
  position:fixed;
  inset:0;
  z-index:var(--z-gallery);
  display:grid;
  grid-template-rows:auto minmax(0,1fr);
  gap:.55rem;
  padding:clamp(.55rem,1.35vw,1rem);
  background:
    radial-gradient(circle at 50% 24%,rgba(237,222,195,.16),transparent 22rem),
    radial-gradient(circle at 50% 60%,rgba(66,82,127,.18),transparent 34rem),
    linear-gradient(180deg,#10131d 0%,#090b10 100%);
  color:var(--color-paper);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity var(--duration-mid) var(--ease),visibility var(--duration-mid) var(--ease);
}
.gallery-overlay[hidden]{display:none}
.gallery-overlay.is-open{opacity:1;visibility:visible;pointer-events:auto}
.gallery-topbar{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:start;
  gap:.8rem;
  position:relative;
  z-index:3;
  padding:0 .1rem;
}
.gallery-topbar h2{
  font-size:clamp(1.35rem,2.6vw,2.6rem);
  color:var(--color-paper);
  line-height:.96;
}
.gallery-heading{
  display:grid;
  gap:.18rem;
  min-width:0;
}
.gallery-toolbar{
  display:flex;
  align-items:flex-start;
  justify-content:flex-end;
  gap:.65rem;
  min-width:0;
  flex-shrink:0;
}
.gallery-stage{
  position:relative;
  min-height:0;
  overflow:hidden;
  padding:clamp(.35rem,.9vw,.7rem);
  border:1px solid rgba(247,241,232,.14);
  border-radius:var(--radius-panel);
  background:
    radial-gradient(circle at 50% 50%,rgba(255,255,255,.03),transparent 28%),
    linear-gradient(180deg,rgba(255,255,255,.03),rgba(0,0,0,.03));
  perspective:2200px;
  perspective-origin:50% 48%;
}
.gallery-stage::before,
.gallery-stage::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
}
.gallery-stage::before{
  background:
    linear-gradient(90deg,rgba(0,0,0,.45),transparent 12%,transparent 88%,rgba(0,0,0,.45)),
    radial-gradient(circle at 50% 35%,rgba(240,228,211,.10),transparent 32%),
    repeating-linear-gradient(90deg,rgba(255,255,255,.03) 0 2px,rgba(255,255,255,0) 2px 54px),
    repeating-linear-gradient(180deg,rgba(255,255,255,.02) 0 2px,rgba(255,255,255,0) 2px 54px);
  opacity:.92;
}
.gallery-stage::after{
  inset:5% 4% 6%;
  border-left:1px solid rgba(247,241,232,.12);
  border-right:1px solid rgba(247,241,232,.12);
  border-top:1px solid rgba(247,241,232,.05);
  border-bottom:1px solid rgba(247,241,232,.05);
  transform:translateZ(-10px);
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,.02),
    inset 0 -190px 160px rgba(0,0,0,.5),
    inset 0 130px 140px rgba(255,255,255,.03);
}
.gallery-art{
  position:relative;
  z-index:1;
  width:100%;
  height:100%;
  min-height:calc(100dvh - clamp(165px,20vh,210px));
  transform-style:preserve-3d;
}
.gallery-tunnel{
  position:relative;
  width:100%;
  height:100%;
  transform-style:preserve-3d;
}
.gallery-plane,
.gallery-gridline,
.gallery-vanish{
  position:absolute;
  inset:auto;
  pointer-events:none;
}
.gallery-plane{
  left:50%;
  transform-style:preserve-3d;
}
.gallery-plane--floor,
.gallery-plane--ceiling{
  width:min(1200px,84vw);
  height:min(780px,72vh);
  margin-left:calc(min(1200px,84vw) * -0.5);
  top:50%;
  border:1px solid rgba(247,241,232,.05);
  background:
    linear-gradient(180deg,rgba(255,255,255,.02),rgba(255,255,255,0)),
    repeating-linear-gradient(90deg,rgba(255,255,255,.03) 0 2px,transparent 2px 64px),
    repeating-linear-gradient(180deg,rgba(255,255,255,.025) 0 2px,transparent 2px 64px);
}
.gallery-plane--floor{
  transform:translate3d(0,22vh,-260px) rotateX(82deg);
  opacity:.44;
}
.gallery-plane--ceiling{
  transform:translate3d(0,-30vh,-260px) rotateX(-82deg);
  opacity:.14;
}
.gallery-plane--left,
.gallery-plane--right{
  top:50%;
  width:min(860px,56vw);
  height:min(760px,72vh);
  margin-top:calc(min(760px,72vh) * -0.5);
  background:
    linear-gradient(180deg,rgba(255,255,255,.035),rgba(255,255,255,.01)),
    repeating-linear-gradient(180deg,rgba(255,255,255,.026) 0 2px,transparent 2px 62px),
    repeating-linear-gradient(90deg,rgba(255,255,255,.018) 0 2px,transparent 2px 62px);
  border:1px solid rgba(247,241,232,.06);
  opacity:.34;
}
.gallery-plane--left{
  left:50%;
  transform:translate3d(calc(-1 * min(520px,30vw)),0,-170px) rotateY(82deg);
}
.gallery-plane--right{
  left:50%;
  transform:translate3d(min(520px,30vw),0,-170px) rotateY(-82deg);
}
.gallery-gridline{
  inset:10% 50% 11% auto;
  width:1px;
  background:linear-gradient(180deg,transparent,rgba(247,241,232,.25),transparent);
  transform:translateX(-50%);
  opacity:.65;
}
.gallery-vanish{
  left:50%;
  top:51%;
  width:38px;
  height:38px;
  margin:-19px 0 0 -19px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(244,236,224,.28),rgba(244,236,224,.02) 62%,transparent 72%);
  filter:blur(2px);
  opacity:.75;
}
.gallery-card{
  --frame-width:clamp(120px,10vw,190px);
  --frame-tilt:0deg;
  --frame-z:0px;
  --frame-opacity:.52;
  --frame-brightness:.62;
  position:absolute;
  top:50%;
  left:50%;
  width:min(var(--frame-width), calc((100% - 8px) * var(--frame-ratio, 0.74)));
  max-height:calc(100% - 8px);
  aspect-ratio:var(--frame-ratio, 0.74);
  transform-style:preserve-3d;
  transform:translate3d(-50%,-50%,var(--frame-z)) rotateY(var(--frame-tilt));
  opacity:var(--frame-opacity);
  filter:brightness(var(--frame-brightness)) saturate(.9);
  transition:transform 900ms var(--ease),opacity 600ms var(--ease),filter 600ms var(--ease);
}
.gallery-card__surface{
  width:100%;
  height:100%;
  transform-style:preserve-3d;
}
.gallery-card__frame{
  position:relative;
  width:100%;
  height:100%;
  padding:clamp(.55rem,1.1vw,.9rem);
  border-radius:18px;
  background:
    linear-gradient(135deg,rgba(26,24,27,.96),rgba(57,49,39,.92)),
    linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,0));
  box-shadow:
    0 22px 70px rgba(0,0,0,.42),
    inset 0 0 0 1px rgba(255,255,255,.08),
    inset 0 0 0 5px rgba(236,221,195,.05);
}
.gallery-card__mat{
  width:100%;
  height:100%;
  padding:clamp(.45rem,1vw,.75rem);
  border-radius:12px;
  background:linear-gradient(180deg,rgba(240,233,220,.98),rgba(214,203,188,.94));
  box-shadow:inset 0 0 0 1px rgba(67,45,28,.11), inset 0 0 0 18px rgba(255,255,255,.18);
}
.gallery-card__artwrap{
  position:relative;
  width:100%;
  height:100%;
  overflow:hidden;
  border-radius:6px;
  background:#efe8dc;
  box-shadow:0 0 0 1px rgba(67,45,28,.12);
  display:grid;
  place-items:center;
}
.gallery-card__art{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center;
  transform-origin:50% 50%;
}
.gallery-card.is-active{
  --frame-opacity:1;
  --frame-brightness:1;
  z-index:4;
}
.gallery-card.is-near{
  --frame-opacity:.7;
  --frame-brightness:.8;
  z-index:3;
}
.gallery-card.is-far{
  --frame-opacity:.42;
  --frame-brightness:.55;
  z-index:2;
}
.gallery-card.is-deep{
  --frame-opacity:.24;
  --frame-brightness:.48;
  z-index:1;
}
.gallery-card.is-portrait.is-active{--frame-width:min(32vw, calc((100dvh - 210px) * .72), 540px)}
.gallery-card.is-landscape.is-active{--frame-width:min(58vw, calc((100dvh - 210px) * 1.2), 980px)}
.gallery-card.is-square.is-active{--frame-width:min(42vw, calc(100dvh - 210px), 620px)}
.gallery-card.is-portrait.is-near{--frame-width:clamp(165px, 12vw, 240px)}
.gallery-card.is-landscape.is-near{--frame-width:clamp(190px, 16vw, 320px)}
.gallery-card.is-square.is-near{--frame-width:clamp(170px, 14vw, 250px)}
.gallery-card.is-portrait.is-far{--frame-width:clamp(118px, 9vw, 176px)}
.gallery-card.is-landscape.is-far{--frame-width:clamp(136px, 11vw, 220px)}
.gallery-card.is-square.is-far{--frame-width:clamp(122px, 10vw, 182px)}
.gallery-card.is-portrait.is-deep{--frame-width:clamp(98px, 7vw, 146px)}
.gallery-card.is-landscape.is-deep{--frame-width:clamp(112px, 8vw, 176px)}
.gallery-card.is-square.is-deep{--frame-width:clamp(104px, 7vw, 154px)}
.gallery-card.is-active .gallery-card__frame{box-shadow:0 28px 110px rgba(0,0,0,.46), 0 0 0 1px rgba(255,255,255,.10), inset 0 0 0 1px rgba(255,255,255,.08), inset 0 0 0 6px rgba(236,221,195,.06)}
.gallery-card.is-active .gallery-card__art{box-shadow:inset 0 0 0 1px rgba(40,27,15,.08)}
.gallery-card.is-active .gallery-card__caption{opacity:1;transform:translate(-50%,0)}
.gallery-card__caption{
  position:absolute;
  left:50%;
  bottom:-2.4rem;
  transform:translate(-50%,8px);
  white-space:nowrap;
  font-size:.82rem;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:rgba(247,241,232,.68);
  opacity:0;
  transition:opacity 400ms var(--ease),transform 400ms var(--ease);
}
.gallery-card.is-active .gallery-card__surface{
  animation:galleryApproach var(--duration-gallery) cubic-bezier(.24,.78,.18,1) both;
}
.gallery-card.is-active .gallery-card__art{
  animation:galleryDetailDrift var(--duration-gallery) cubic-bezier(.24,.78,.18,1) both;
}
.gallery-overlay.is-paused .gallery-card.is-active .gallery-card__surface,
.gallery-overlay.is-paused .gallery-card.is-active .gallery-card__art{animation:none}
.gallery-overlay.is-paused .gallery-card.is-active .gallery-card__surface{transform:translate3d(0,0,260px) rotateY(0deg) scale(1)}
.gallery-overlay.is-paused .gallery-card.is-active .gallery-card__art{transform:translate3d(0,0,0) scale(1.08)}
.gallery-overlay.is-reduced .gallery-card.is-active .gallery-card__surface,
.gallery-overlay.is-reduced .gallery-card.is-active .gallery-card__art{animation:none}
.gallery-overlay.is-reduced .gallery-card{transition:none}
.gallery-overlay.is-reduced .gallery-card.is-active{filter:none;opacity:1}
.gallery-info{
  max-width:min(700px,calc(100vw - 7rem));
  padding-top:.08rem;
}
.gallery-info h3{
  margin:.1rem 0 0;
  color:var(--color-paper);
  font-size:clamp(1.08rem,1.7vw,1.55rem);
  line-height:1.08;
}
.gallery-controls{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:flex-end;
  gap:.5rem;
}
.gallery-controls-top{
  max-width:min(920px,58vw);
  padding:.1rem;
  border-radius:999px;
  background:linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.015));
}
.gallery-mini-btn{
  min-height:38px;
  padding:.62rem .92rem;
  font-size:.89rem;
  white-space:nowrap;
}

.command-trigger{white-space:nowrap}
.command-dialog{
  width:min(720px,calc(100% - 28px));
  padding:0;
  border:0;
  border-radius:var(--radius-modal);
  background:transparent;
  box-shadow:var(--shadow-modal);
}
.command-dialog::backdrop{background:rgba(21,17,15,.42);backdrop-filter:blur(8px)}
.command-shell{
  position:relative;
  overflow:hidden;
  border:1px solid rgba(255,250,241,.24);
  border-radius:var(--radius-modal);
  background:rgba(247,241,232,.97);
}
.command-head{padding:1.1rem 1.1rem .8rem;border-bottom:1px solid var(--color-line)}
.command-head h2{font-size:clamp(1.8rem,4vw,3.2rem);margin-bottom:.8rem}
.command-list{
  max-height:min(56vh,520px);
  overflow:auto;
  padding:.55rem;
}
.command-group-label{
  padding:.75rem .65rem .35rem;
  color:var(--color-muted);
  font-size:var(--text-xs);
  letter-spacing:.16em;
  text-transform:uppercase;
  font-weight:820;
}
.command-item{
  width:100%;
  display:grid;
  grid-template-columns:28px 1fr auto;
  align-items:center;
  gap:.8rem;
  padding:.82rem .75rem;
  border:1px solid transparent;
  border-radius:var(--radius-card);
  background:transparent;
  text-align:left;
  cursor:pointer;
}
.command-item:hover,.command-item:focus-visible{
  border-color:var(--color-line-strong);
  background:rgba(200,155,47,.10);
}
.command-dot{
  width:10px;
  height:10px;
  border-radius:50%;
  background:var(--color-gold);
  box-shadow:0 0 0 6px rgba(200,155,47,.12);
}
.command-type{color:var(--color-muted);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.14em;font-weight:800}
.command-close{position:absolute;right:.8rem;top:.8rem}

.site-footer{
  margin-top:2rem;
  border-top:1px solid var(--color-line);
  background:rgba(238,227,212,.42);
}
.footer-inner{
  width:var(--container);
  margin:auto;
  padding:2rem 0;
  display:flex;
  justify-content:space-between;
  gap:2rem;
  color:var(--color-muted);
  font-size:var(--text-sm);
}
.footer-inner strong{font-family:var(--font-display);font-size:1.4rem;font-weight:430}

.reveal{
  opacity:0;
  transform:translateY(24px);
  filter:blur(8px);
  transition:opacity var(--duration-slow) var(--ease),transform var(--duration-slow) var(--ease),filter var(--duration-slow) var(--ease);
}
.reveal.is-visible{opacity:1;transform:none;filter:none}
@keyframes lineDraw{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes galleryApproach{
  0%{transform:translate3d(var(--entry-x,0px),0,var(--entry-z,-520px)) rotateY(var(--entry-rotate,0deg)) scale(.72);opacity:.04;filter:blur(18px)}
  18%{transform:translate3d(calc(var(--entry-x,0px) * .52),0,120px) rotateY(calc(var(--entry-rotate,0deg) * .48)) scale(.9);opacity:.84;filter:blur(2px)}
  34%{transform:translate3d(0,0,260px) rotateY(0deg) scale(1);opacity:1;filter:blur(0)}
  72%{transform:translate3d(0,0,288px) rotateY(0deg) scale(1.1);opacity:1;filter:blur(0)}
  100%{transform:translate3d(0,0,272px) rotateY(0deg) scale(1.06);opacity:1;filter:blur(0)}
}
@keyframes galleryDetailDrift{
  0%,18%{transform:translate3d(0,0,0) scale(1)}
  30%{transform:translate3d(0,0,0) scale(1.08)}
  58%{transform:translate3d(var(--pan-x,0%),var(--pan-y,0%),0) scale(var(--zoom,1.54))}
  82%{transform:translate3d(calc(var(--pan-x,0%) * .82),calc(var(--pan-y,0%) * .82),0) scale(calc(var(--zoom,1.54) + .12))}
  100%{transform:translate3d(calc(var(--pan-x,0%) * .26),calc(var(--pan-y,0%) * .26),0) scale(1.14)}
}
@keyframes galleryFade{from{opacity:0}to{opacity:1}}

@media (pointer:fine){
  body{cursor:url("../img/ui/brush-cursor.svg") 4 30,crosshair}
  a,button,.work-card,[role="button"]{cursor:url("../img/ui/brush-pointer.svg") 4 30,pointer}
  input,textarea,select,label,p,h1,h2,h3,h4,li,.lead,.dialog-copy{cursor:auto}
  a *,button *,.work-card *{cursor:inherit}
  .cursor-aura{
    position:fixed;
    left:0;
    top:0;
    width:140px;
    height:140px;
    z-index:var(--z-cursor);
    pointer-events:none;
    border-radius:50%;
    opacity:.28;
    background:radial-gradient(circle,rgba(200,155,47,.12),rgba(157,61,50,.03) 34%,transparent 72%);
    transform:translate(-50%,-50%);
    transition:opacity var(--duration-fast) var(--ease),width var(--duration-fast) var(--ease),height var(--duration-fast) var(--ease);
    mix-blend-mode:multiply;
  }
  .cursor-aura.is-hot{width:190px;height:190px;opacity:.46}
}

@media (max-width:1100px){
  :root{--container:min(100% - 32px,1360px)}
  .hero-shell,.page-hero .hero-shell{grid-template-columns:1fr;min-height:calc(100svh - clamp(1.6rem,4vw,3rem))}
  .hero-media{min-height:340px;order:-1}
  .hero-frame{width:min(390px,100%)}
  .hero-frame img,.page-hero .hero-frame img{height:min(72vw,480px)}
  .section-head{display:grid}
  .editorial-grid,.archive-intro,.contact-grid{grid-template-columns:1fr}
  .contact-panel{position:static}
  .visual-grid,.collab-grid,.collection-grid,.request-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .archive-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .process-strip{grid-template-columns:repeat(2,minmax(0,1fr))}
  .timeline-card{grid-template-columns:1fr}
  .filter-panel{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media (max-width:900px){
  .command-trigger{display:none}
  .nav-toggle{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:42px;
    padding:.65rem .9rem;
    border:1px solid var(--color-line);
    border-radius:var(--radius-pill);
    background:rgba(255,250,241,.82);
    font-weight:760;
  }
  .primary-nav{
    position:fixed;
    inset:76px 12px auto;
    z-index:var(--z-drawer);
    display:grid;
    gap:.3rem;
    padding:.85rem;
    border-radius:var(--radius-panel);
    background:rgba(247,241,232,.98);
    box-shadow:var(--shadow-modal);
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transform:translateY(-8px);
    transition:opacity var(--duration-fast) var(--ease),visibility var(--duration-fast) var(--ease),transform var(--duration-fast) var(--ease);
  }
  .primary-nav.is-open{opacity:1;visibility:visible;pointer-events:auto;transform:none}
  .primary-nav a{border-radius:var(--radius-card);padding:.9rem 1rem}
}

@media (max-width:760px){
  :root{
    --container:min(100% - 24px,1360px);
    --title-home:clamp(3.2rem,15vw,4.8rem);
    --title-hero:clamp(3.1rem,14vw,4.6rem);
    --title-section:clamp(2.15rem,10vw,3.4rem);
  }
  .nav-wrap{min-height:68px}
  .brand-logo{height:clamp(42px,13vw,58px);max-width:46vw}
  .command-trigger{display:none}
  .nav-toggle{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:42px;
    padding:.65rem .9rem;
    border:1px solid var(--color-line);
    border-radius:var(--radius-pill);
    background:rgba(255,250,241,.82);
    font-weight:760;
  }
  .primary-nav{
    position:fixed;
    inset:76px 12px auto;
    z-index:var(--z-drawer);
    display:grid;
    gap:.3rem;
    padding:.85rem;
    border-radius:var(--radius-panel);
    background:rgba(247,241,232,.98);
    box-shadow:var(--shadow-modal);
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transform:translateY(-8px);
    transition:opacity var(--duration-fast) var(--ease),visibility var(--duration-fast) var(--ease),transform var(--duration-fast) var(--ease);
  }
  .primary-nav.is-open{opacity:1;visibility:visible;pointer-events:auto;transform:none}
  .primary-nav a{border-radius:var(--radius-card);padding:.9rem 1rem}
  .hero{min-height:100svh;padding:.8rem 0}
  .hero-shell{min-height:calc(100svh - 1.6rem);padding:1rem;border-radius:var(--radius-panel);gap:1.3rem}
  .hero-media{min-height:300px}
  .hero-frame img{height:360px}
  .hero-line{display:none}
  .section{padding:3.6rem 0}
  .statement-banner{min-height:auto;padding:1.1rem}
  .text-columns{columns:1}
  .visual-grid,.collab-grid,.collection-grid,.request-grid,.archive-grid{grid-template-columns:1fr}
  .visual-card,.collab-card{min-height:310px}
  .archive-section{scroll-margin-top:90px}
  .archive-controls{position:sticky;top:68px;border-radius:var(--radius-card)}
  .archive-control-row{grid-template-columns:1fr auto}
  .archive-control-row #openFilterPanel{display:inline-flex}
  #closeFilterPanel{display:inline-flex}
  .filter-panel{
    position:fixed;
    left:12px;
    right:12px;
    bottom:12px;
    z-index:var(--z-drawer);
    display:grid;
    grid-template-columns:1fr;
    max-height:76vh;
    overflow:auto;
    margin:0;
    padding:1rem;
    border:1px solid var(--color-line);
    border-radius:var(--radius-panel);
    background:rgba(247,241,232,.99);
    box-shadow:var(--shadow-modal);
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transform:translateY(16px);
    transition:opacity var(--duration-fast) var(--ease),visibility var(--duration-fast) var(--ease),transform var(--duration-fast) var(--ease);
  }
  .filter-panel.is-open{opacity:1;visibility:visible;pointer-events:auto;transform:none}
  .archive-meta-row{align-items:flex-start;display:grid}
  .dialog{width:calc(100% - 18px);max-height:92dvh}
  .dialog-shell{grid-template-columns:1fr;grid-template-rows:minmax(220px,38dvh) minmax(0,1fr);max-height:92dvh}
  .dialog-media{min-height:0;max-height:none;padding:.7rem}
  .dialog-media img{width:auto;height:auto;max-width:calc(100vw - 3rem);max-height:calc(38dvh - 1.4rem);object-fit:contain}
  .dialog-copy{max-height:none;padding:1.05rem}
  .dialog-title{font-size:clamp(1.8rem,10vw,3rem)}
  .gallery-overlay{padding:.55rem;gap:.5rem}

  .home-hero .hero-shell{min-height:auto;padding-bottom:1.15rem}
  .home-hero .hero-copy{padding-bottom:.35rem}
  .home-hero .hero-logo-title{margin-bottom:.8rem}
  .home-hero .lead{font-size:1.05rem;line-height:1.58}
  .action-row{display:grid;grid-template-columns:1fr;gap:.8rem}
  .action-row .btn{width:100%;justify-content:center}
  .section.contact-grid .panel h2,
  .instagram-request-panel h2{font-size:clamp(1.9rem,10vw,3.3rem);line-height:1.02;max-width:9ch}
  .contact-panel,.instagram-request-panel{padding:1.15rem}
  .gallery-topbar{grid-template-columns:1fr;align-items:flex-start}
  .gallery-toolbar{width:100%;justify-content:space-between;gap:.55rem}
  .gallery-topbar h2{font-size:clamp(1.2rem,6vw,1.8rem)}
  .gallery-info{max-width:calc(100vw - 5.2rem)}
  .gallery-stage{border-radius:var(--radius-card);padding:.45rem}
  .gallery-art{min-height:calc(100dvh - 220px)}
  .gallery-controls-top{max-width:none;justify-content:flex-start}
  .gallery-controls .btn{min-height:40px;padding:.66rem .8rem}
  .process-strip{grid-template-columns:1fr}
  .footer-inner{display:grid}
}

@media (max-width:430px){
  .archive-control-row{grid-template-columns:1fr}
  .archive-control-row .btn{width:100%}
  .action-row .btn{width:100%}
  .gallery-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}
  .gallery-controls .btn{width:100%}
  .gallery-toolbar{display:grid;grid-template-columns:1fr auto;align-items:start}
  .gallery-card.is-portrait.is-active{--frame-width:min(80vw, calc((100dvh - 220px) * .72), 520px)}
  .gallery-card.is-landscape.is-active{--frame-width:min(94vw, calc((100dvh - 230px) * 1.14), 760px)}
  .gallery-card.is-square.is-active{--frame-width:min(86vw, calc(100dvh - 230px), 560px)}
  .gallery-card.is-portrait.is-near{--frame-width:min(28vw,170px)}
  .gallery-card.is-landscape.is-near{--frame-width:min(32vw,220px)}
  .gallery-card.is-square.is-near{--frame-width:min(29vw,180px)}
  .gallery-card.is-far,.gallery-card.is-deep{display:none}
  .gallery-plane--left,.gallery-plane--right{opacity:.22}
}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{
    animation-duration:.01ms!important;
    animation-iteration-count:1!important;
    scroll-behavior:auto!important;
    transition-duration:.01ms!important;
  }
  .reveal{opacity:1;transform:none;filter:none}
  .statement-banner::before{transform:none}
  .cursor-aura{display:none!important}
}


/* Legal, social and cookie updates */
.social-actions{gap:.48rem}
.social-icon{
  width:44px;
  height:44px;
  display:inline-grid;
  place-items:center;
  border:1px solid var(--color-line);
  border-radius:50%;
  background:rgba(255,250,241,.78);
  color:var(--color-ink);
  transition:transform var(--duration-fast) var(--ease),border-color var(--duration-fast) var(--ease),box-shadow var(--duration-fast) var(--ease),background var(--duration-fast) var(--ease);
}
.social-icon:hover,.social-icon:focus-visible{
  transform:translateY(-2px);
  border-color:var(--color-line-strong);
  background:rgba(255,250,241,.95);
  box-shadow:0 14px 34px rgba(21,17,15,.09);
}
.social-icon.behance span{
  font-size:.86rem;
  font-weight:850;
  letter-spacing:-.05em;
}
.direct-socials .contact-card{min-height:76px}

.instagram-request-panel h2{max-width:12ch}
.contact-panel > p,
.instagram-request-panel .lead,
.contact-checklist{max-width:62ch}
.contact-checklist{
  display:grid;
  gap:.85rem;
  margin:1.35rem 0 0;
  padding:0;
  list-style:none;
}
.contact-checklist li{
  position:relative;
  padding-left:1.65rem;
  color:var(--color-ink-soft);
}
.contact-checklist li::before{
  content:"";
  position:absolute;
  left:0;
  top:.68rem;
  width:.58rem;
  height:.58rem;
  border-radius:50%;
  background:var(--color-gold);
  box-shadow:0 0 0 6px rgba(200,155,47,.12);
}
.footer-inner{
  display:grid;
  grid-template-columns:minmax(260px,1.2fr) minmax(220px,.8fr) minmax(220px,.7fr);
  align-items:start;
}
.footer-brandline{display:grid;gap:.25rem}
.footer-brandline p{max-width:58ch;margin:.55rem 0 0;color:var(--color-muted)}
.footer-links{
  display:flex;
  flex-wrap:wrap;
  gap:.55rem .9rem;
  align-items:center;
}
.footer-links a,.footer-links button,.footer-credit a{
  color:var(--color-ink-soft);
  text-decoration:underline;
  text-decoration-thickness:1px;
  text-underline-offset:.22em;
}
.footer-links button{
  appearance:none;
  border:0;
  padding:0;
  background:transparent;
  cursor:pointer;
  font:inherit;
}
.footer-credit{color:var(--color-muted)}
.legal-hero{padding-top:clamp(6rem,10vw,8rem)}
.legal-layout{
  display:grid;
  grid-template-columns:minmax(220px,.34fr) minmax(0,1fr);
  gap:1rem;
  align-items:start;
}
.legal-toc{position:sticky;top:104px;display:grid;gap:.55rem}
.legal-toc a{padding:.65rem .75rem;border:1px solid var(--color-line);border-radius:var(--radius-card);background:rgba(255,250,241,.66);font-weight:720;color:var(--color-ink-soft)}
.legal-toc a:hover,.legal-toc a:focus-visible{border-color:var(--color-line-strong);background:rgba(200,155,47,.10)}
.legal-content{display:grid;gap:1rem}
.legal-card h2{font-size:clamp(1.9rem,3.3vw,3.4rem);margin-bottom:.8rem}
.legal-card h3{font-size:clamp(1.28rem,2vw,1.8rem);margin:1.2rem 0 .45rem}
.legal-card ul{margin:.4rem 0 0;padding-left:1.25rem;color:var(--color-ink-soft)}
.legal-card li{margin:.3rem 0}
.cookie-banner{
  position:fixed;
  left:clamp(.75rem,2vw,1.25rem);
  bottom:clamp(.75rem,2vw,1.25rem);
  z-index:calc(var(--z-gallery) + 20);
  width:min(620px,calc(100% - 1.5rem));
  padding:1rem;
  border:1px solid var(--color-line-strong);
  border-radius:var(--radius-panel);
  background:rgba(247,241,232,.98);
  box-shadow:var(--shadow-modal);
  backdrop-filter:blur(18px) saturate(1.02);
  -webkit-backdrop-filter:blur(18px) saturate(1.02);
}
.cookie-copy h2{font-size:clamp(1.55rem,2.6vw,2.35rem);margin:.3rem 0 .65rem;max-width:16ch}
.cookie-copy p:last-child{margin-bottom:0}
.cookie-actions{display:flex;flex-wrap:wrap;gap:.55rem;margin-top:1rem;align-items:center}
.cookie-actions .btn{min-height:42px}
@media (max-width:900px){
  .social-icon{width:42px;height:42px}
  .legal-layout{grid-template-columns:1fr}
  .legal-toc{position:static;grid-template-columns:repeat(2,minmax(0,1fr))}
  .footer-inner{grid-template-columns:1fr}
}
@media (max-width:520px){
  .social-icon{width:38px;height:38px}
  .legal-toc{grid-template-columns:1fr}
  .cookie-actions{display:grid}
  .cookie-actions .btn{width:100%}
  .home-hero .hero-frame{width:min(220px,58vw)}
  .home-hero .hero-logo-title img{max-width:min(320px,100%)}
  .home-hero .lead{font-size:1rem}
}


/* Final mobile-only homepage hero alignment pass */
@media (max-width:760px){
  .home-hero .hero-shell{
    align-items:start;
    justify-items:center;
  }

  .home-hero .hero-media{
    width:100%;
    display:grid;
    place-items:center;
  }

  .home-hero .hero-frame{
    width:min(360px,76vw);
    max-width:calc(100vw - 2.25rem);
    margin-inline:auto;
  }

  .home-hero .hero-frame img{
    width:100%;
    height:auto;
    max-height:min(46vh,440px);
    object-fit:contain;
  }

  .home-hero .hero-copy{
    width:100%;
    max-width:36rem;
    margin-inline:auto;
    text-align:center;
    display:grid;
    justify-items:center;
  }

  .home-hero .kicker,
  .home-hero .lead{
    text-align:center;
  }

  .home-hero .section-title-line{
    margin-inline:auto;
  }

  .home-hero .lead{
    max-width:31rem;
    margin-inline:auto;
  }

  .home-hero .action-row{
    width:100%;
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    align-items:center;
    gap:.75rem;
    margin-inline:auto;
  }

  .home-hero .action-row .btn{
    width:auto;
    min-width:clamp(145px,38vw,190px);
    justify-content:center;
  }
}

@media (max-width:430px){
  .home-hero .hero-frame{
    width:min(340px,80vw);
  }

  .home-hero .hero-logo-title img{
    max-width:min(330px,100%);
  }

  .home-hero .action-row{
    gap:.65rem;
  }

  .home-hero .action-row .btn{
    min-width:min(44vw,176px);
    padding-inline:.95rem;
    font-size:.92rem;
  }
}


/* Gallery overlay cleanup: remove large intro banner and reduced-motion button area */
.gallery-heading--compact{
  align-self:center;
}

.gallery-heading--compact .gallery-info{
  display:grid;
  gap:.12rem;
  align-items:start;
}

.gallery-heading--compact .meta[hidden]{
  display:none;
}

.gallery-heading--compact #galleryWorkTitle{
  font-size:clamp(1.45rem,2.45vw,2.5rem);
  line-height:.96;
  margin:0;
}

@media (max-width:760px){
  .gallery-heading--compact #galleryWorkTitle{
    font-size:clamp(1.12rem,5.2vw,1.7rem);
  }
}


/* Final mobile visibility fixes: homepage hero + immersive gallery */
@media (max-width:760px){
  /* Homepage: use the transparent portrait as a compact artwork mark, then keep copy/buttons visible */
  .home-hero{
    padding-top:.35rem;
  }

  .home-hero .hero-shell{
    min-height:calc(100svh - .7rem);
    align-content:start;
    justify-items:center;
    gap:.7rem;
    padding:.85rem .85rem 1rem;
  }

  .home-hero .hero-media{
    min-height:0;
    margin:0;
  }

  .home-hero .hero-frame{
    width:min(300px,58vw);
    max-width:calc(100vw - 2rem);
    border:0;
    border-radius:0;
    background:transparent;
    box-shadow:none;
    overflow:visible;
  }

  .home-hero .hero-frame picture,
  .home-hero .hero-frame img{
    display:block;
    width:100%;
    height:auto;
  }

  .home-hero .hero-frame img{
    max-height:min(31svh,270px);
    object-fit:contain;
    object-position:center;
  }

  .home-hero .hero-copy{
    max-width:34rem;
    gap:0;
  }

  .home-hero .kicker{
    margin-top:.15rem;
    font-size:.72rem;
    letter-spacing:.24em;
    line-height:1.15;
  }

  .home-hero .hero-logo-title{
    margin:0 0 .25rem;
  }

  .home-hero .hero-logo-title img{
    max-width:min(315px,76vw);
  }

  .home-hero .section-title-line{
    margin-top:.55rem;
  }

  .home-hero .lead{
    max-width:34ch;
    margin-top:.8rem;
    font-size:.98rem;
    line-height:1.5;
  }

  .home-hero .action-row{
    display:flex;
    flex-wrap:nowrap;
    justify-content:center;
    align-items:center;
    width:100%;
    gap:.55rem;
    margin-top:.95rem;
    padding-bottom:max(.25rem, env(safe-area-inset-bottom));
  }

  .home-hero .action-row .btn{
    flex:1 1 0;
    width:auto;
    min-width:0;
    max-width:190px;
    min-height:48px;
    justify-content:center;
    padding:.78rem .76rem;
    font-size:.91rem;
  }

  /* Galleria immersiva: keep the active work large and readable on mobile */
  .gallery-overlay{
    grid-template-rows:auto minmax(0,1fr);
    padding:.45rem;
    gap:.35rem;
  }

  .gallery-topbar{
    gap:.45rem;
  }

  .gallery-toolbar{
    gap:.45rem;
  }

  .gallery-heading--compact #galleryWorkTitle{
    font-size:clamp(1.08rem,5vw,1.55rem);
    line-height:1;
  }

  .gallery-info .meta{
    font-size:.66rem;
    line-height:1.05;
  }

  .gallery-controls{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:.4rem;
    width:100%;
  }

  .gallery-controls-top{
    max-width:none;
    padding:0;
    background:transparent;
  }

  .gallery-mini-btn{
    min-height:38px;
    padding:.56rem .45rem;
    font-size:.78rem;
  }

  .gallery-toolbar .icon-btn{
    width:44px;
    height:44px;
    flex:0 0 auto;
  }

  .gallery-stage{
    padding:.2rem;
    min-height:calc(100svh - 150px);
  }

  .gallery-art{
    min-height:calc(100svh - 152px);
  }

  .gallery-card.is-active{
    z-index:8;
  }

  .gallery-card.is-portrait.is-active{
    --frame-width:min(78vw, calc((100svh - 168px) * .72), 520px);
  }

  .gallery-card.is-landscape.is-active{
    --frame-width:min(94vw, calc((100svh - 172px) * 1.18), 760px);
  }

  .gallery-card.is-square.is-active{
    --frame-width:min(82vw, calc(100svh - 172px), 560px);
  }

  .gallery-card.is-near{
    --frame-opacity:.38;
    --frame-brightness:.7;
  }

  .gallery-card.is-portrait.is-near{
    --frame-width:min(27vw,145px);
  }

  .gallery-card.is-landscape.is-near{
    --frame-width:min(32vw,190px);
  }

  .gallery-card.is-square.is-near{
    --frame-width:min(28vw,155px);
  }

  .gallery-card.is-far,
  .gallery-card.is-deep{
    display:none;
  }

  .gallery-card.is-active .gallery-card__surface{
    animation:galleryApproachMobile var(--duration-gallery) cubic-bezier(.24,.78,.18,1) both;
  }

  .gallery-overlay.is-paused .gallery-card.is-active .gallery-card__surface{
    transform:translate3d(0,0,268px) rotateY(0deg) scale(1);
  }

  .gallery-card.is-active .gallery-card__caption{
    bottom:-1.75rem;
    font-size:.72rem;
    letter-spacing:.18em;
  }

  @keyframes galleryApproachMobile{
    0%{transform:translate3d(0,0,205px) rotateY(0deg) scale(.96);opacity:1;filter:blur(0)}
    24%{transform:translate3d(0,0,248px) rotateY(0deg) scale(1);opacity:1;filter:blur(0)}
    74%{transform:translate3d(0,0,286px) rotateY(0deg) scale(1.05);opacity:1;filter:blur(0)}
    100%{transform:translate3d(0,0,260px) rotateY(0deg) scale(1.01);opacity:1;filter:blur(0)}
  }
}

@media (max-width:430px){
  .home-hero .hero-shell{
    gap:.58rem;
    padding:.75rem .78rem .9rem;
  }

  .home-hero .hero-frame{
    width:min(270px,58vw);
  }

  .home-hero .hero-frame img{
    max-height:min(29svh,245px);
  }

  .home-hero .hero-logo-title img{
    max-width:min(285px,74vw);
  }

  .home-hero .lead{
    max-width:33ch;
    font-size:.94rem;
    line-height:1.46;
  }

  .home-hero .action-row{
    gap:.48rem;
    margin-top:.75rem;
  }

  .home-hero .action-row .btn{
    min-height:46px;
    padding:.74rem .62rem;
    font-size:.86rem;
  }

  .gallery-stage{
    min-height:calc(100svh - 138px);
  }

  .gallery-art{
    min-height:calc(100svh - 140px);
  }

  .gallery-card.is-portrait.is-active{
    --frame-width:min(80vw, calc((100svh - 150px) * .72), 500px);
  }

  .gallery-card.is-landscape.is-active{
    --frame-width:min(95vw, calc((100svh - 156px) * 1.18), 720px);
  }

  .gallery-card.is-square.is-active{
    --frame-width:min(84vw, calc(100svh - 156px), 540px);
  }

  .gallery-mini-btn{
    font-size:.74rem;
    padding:.52rem .35rem;
  }
}

@media (max-width:760px) and (max-height:760px){
  .home-hero .hero-frame{
    width:min(240px,50vw);
  }

  .home-hero .hero-frame img{
    max-height:24svh;
  }

  .home-hero .lead{
    font-size:.9rem;
    line-height:1.42;
  }

  .home-hero .action-row{
    margin-top:.55rem;
  }

  .gallery-stage{
    min-height:calc(100svh - 126px);
  }

  .gallery-art{
    min-height:calc(100svh - 128px);
  }
}


/* Content, chronology and typography enhancement pass */
.bio-copy h2{max-width:11.5ch}
.bio-copy p{
  max-width:68ch;
  font-size:clamp(1.02rem,1.02vw,1.11rem);
  line-height:1.74;
}
.bio-copy .lead{
  font-size:clamp(1.08rem,1.18vw,1.26rem);
  line-height:1.7;
}
.section-head .lead{
  font-size:clamp(1rem,1.04vw,1.14rem);
  line-height:1.68;
}
.statement-inner .lead,
.statement-inner p,
.panel .lead,
.panel p,
.request-card p,
.contact-checklist li{
  font-size:clamp(.99rem,1.01vw,1.1rem);
  line-height:1.72;
}
.section-head h2{max-width:15ch}

.timeline{
  display:grid;
  gap:1rem;
  margin-top:1rem;
}
.timeline-card{
  display:grid;
  grid-template-columns:minmax(160px,190px) 1fr;
  gap:0;
  padding:0;
  overflow:hidden;
  background:rgba(255,251,244,.86);
}
.timeline-date{
  min-height:100%;
  padding:1.35rem 1.1rem;
  border-right:1px solid var(--color-line);
  background:linear-gradient(180deg,rgba(200,155,47,.12),rgba(200,155,47,.035));
}
.timeline-date time{
  display:grid;
  gap:.16rem;
  font-family:var(--font-display);
}
.timeline-date__label{
  font-size:clamp(1.25rem,2vw,1.9rem);
  line-height:.97;
  color:var(--color-gold-deep);
}
.timeline-date__year{
  font-size:clamp(2rem,3vw,3.45rem);
  line-height:.92;
  color:var(--color-gold-deep);
}
.timeline-card__body{
  display:grid;
  gap:.75rem;
  padding:1.35rem 1.45rem;
}
.timeline-card__head{
  display:grid;
  gap:.22rem;
}
.timeline-card__head .meta{
  margin-bottom:.1rem;
}
.timeline-card__head h3{
  margin:0;
  font-size:clamp(2rem,2.6vw,3.1rem);
  line-height:.95;
  max-width:16ch;
}
.timeline-card__venue,
.timeline-card__role{
  margin:0;
}
.timeline-card__role{
  color:var(--color-ink-soft);
  font-size:.96rem;
}
.timeline-card__description{
  margin:0;
  max-width:92ch;
  font-size:clamp(.99rem,1.01vw,1.08rem);
  line-height:1.72;
}

.contact-panel h2,
.instagram-request-panel h2{
  font-size:clamp(2.2rem,3.5vw,4.35rem);
  line-height:1.02;
}
.contact-panel h2{max-width:11ch}
.instagram-request-panel h2{max-width:13ch}
.contact-panel > p,
.instagram-request-panel .lead,
.contact-checklist{
  max-width:64ch;
}
.contact-checklist li{
  color:var(--color-ink-soft);
}
.request-card h3,
.contact-card strong{
  line-height:1.15;
}
.request-card p{
  max-width:40ch;
}
.direct-socials .contact-card{
  align-items:center;
}

@media (max-width:1024px){
  .timeline-card{
    grid-template-columns:145px 1fr;
  }
  .timeline-card__head h3{
    font-size:clamp(1.7rem,3vw,2.35rem);
  }
}

@media (max-width:760px){
  .bio-copy p{
    font-size:.98rem;
    line-height:1.68;
  }
  .timeline{
    gap:.9rem;
  }
  .timeline-card{
    grid-template-columns:1fr;
  }
  .timeline-date{
    border-right:0;
    border-bottom:1px solid var(--color-line);
    padding:1rem 1rem .9rem;
  }
  .timeline-date time{
    display:flex;
    flex-wrap:wrap;
    align-items:baseline;
    gap:.45rem .6rem;
  }
  .timeline-date__label{
    font-size:1.15rem;
  }
  .timeline-date__year{
    font-size:1.65rem;
  }
  .timeline-card__body{
    padding:1rem;
    gap:.65rem;
  }
  .timeline-card__head h3{
    max-width:none;
    font-size:clamp(1.65rem,7.5vw,2.35rem);
  }
  .timeline-card__description{
    font-size:.97rem;
    line-height:1.64;
  }
  .contact-panel h2,
  .instagram-request-panel h2{
    font-size:clamp(1.65rem,7vw,2.5rem);
    line-height:1.04;
    max-width:12ch;
  }
}

@media (max-width:430px){
  .contact-panel h2,
  .instagram-request-panel h2{
    font-size:clamp(1.55rem,8vw,2.2rem);
  }
}


/* Final mobile homepage hero artwork enlargement and copy/style polish */
@media (max-width:760px){
  .home-hero .hero-shell{
    min-height:calc(100svh - .5rem);
    gap:.55rem;
    padding:.65rem .85rem .9rem;
    align-content:start;
  }

  .home-hero .hero-media{
    min-height:0;
  }

  .home-hero .hero-frame{
    width:min(430px,78vw);
    max-width:calc(100vw - 1.5rem);
  }

  .home-hero .hero-frame img{
    max-height:min(38svh,345px);
  }

  .home-hero .kicker{
    margin-top:.05rem;
    font-size:.71rem;
    letter-spacing:.23em;
  }

  .home-hero .hero-logo-title{
    margin:0 0 .15rem;
  }

  .home-hero .hero-logo-title img{
    max-width:min(330px,78vw);
  }

  .home-hero .section-title-line{
    margin-top:.45rem;
  }

  .home-hero .lead{
    max-width:35ch;
    margin-top:.62rem;
    font-size:.94rem;
    line-height:1.45;
  }

  .home-hero .action-row{
    margin-top:.72rem;
    gap:.52rem;
    flex-wrap:nowrap;
  }

  .home-hero .action-row .btn{
    min-height:46px;
    padding:.72rem .7rem;
    font-size:.88rem;
  }
}

@media (max-width:430px){
  .home-hero .hero-shell{
    gap:.48rem;
    padding:.58rem .72rem .85rem;
  }

  .home-hero .hero-frame{
    width:min(390px,76vw);
  }

  .home-hero .hero-frame img{
    max-height:min(36svh,310px);
  }

  .home-hero .hero-logo-title img{
    max-width:min(310px,76vw);
  }

  .home-hero .lead{
    max-width:34ch;
    font-size:.91rem;
    line-height:1.43;
  }

  .home-hero .action-row{
    margin-top:.62rem;
    gap:.44rem;
  }

  .home-hero .action-row .btn{
    min-height:44px;
    padding:.68rem .56rem;
    font-size:.84rem;
  }
}

@media (max-width:760px) and (max-height:740px){
  .home-hero .hero-frame{
    width:min(330px,68vw);
  }

  .home-hero .hero-frame img{
    max-height:30svh;
  }

  .home-hero .lead{
    font-size:.88rem;
    line-height:1.38;
    margin-top:.48rem;
  }

  .home-hero .action-row{
    margin-top:.5rem;
  }
}

/* Typography and alignment consistency */
.bio-copy,
.statement-inner,
.panel,
.timeline-card__body,
.request-card,
.collection-card{
  text-wrap:pretty;
}

.bio-copy h2,
.section-head h2,
.panel h2{
  letter-spacing:-.02em;
}

.bio-copy p,
.panel p,
.timeline-card__description,
.request-card p,
.collection-card p,
.visual-card p,
.collab-card p{
  hanging-punctuation:first;
}

/* Keep chronology elegant without overfilling long cards */
.timeline-card__body{
  align-content:center;
}

.timeline-card__description{
  color:var(--color-ink-soft);
}

/* Contact copy panel: reduce title dominance and keep reading rhythm consistent */
.contact-panel h2,
.instagram-request-panel h2{
  letter-spacing:-.025em;
}

.contact-panel > p,
.instagram-request-panel .lead{
  margin-top:1rem;
}



/* Full check + polish pass */
.bio-copy{
  align-self:center;
}
.bio-copy h2{
  max-width:10.2ch;
  font-size:clamp(2.9rem,4.9vw,5.25rem);
  line-height:.98;
}
.bio-copy .section-title-line{
  margin-top:1.1rem;
}
.bio-copy p{
  max-width:64ch;
}
.editorial-grid{
  align-items:start;
}
.editorial-grid .hero-frame{
  align-self:start;
}
.editorial-grid .hero-frame img{
  object-position:center 28%;
}

.footer-inner{
  grid-template-columns:minmax(280px,1.25fr) minmax(220px,.9fr) minmax(220px,.65fr);
}
.footer-credit{
  text-align:right;
  align-self:end;
}
.footer-credit,
.footer-credit a{
  text-decoration:none;
}

/* Stronger mobile homepage hero balance */
@media (max-width:760px){
  .home-hero .hero-shell{
    gap:.42rem;
    padding:.45rem .7rem .82rem;
  }

  .home-hero .hero-frame{
    width:min(430px,80vw);
  }

  .home-hero .hero-frame img{
    max-height:min(41svh,360px);
  }

  .home-hero .hero-logo-title{
    margin:0 0 .08rem;
  }

  .home-hero .hero-logo-title img{
    max-width:min(320px,79vw);
  }

  .home-hero .section-title-line{
    margin-top:.35rem;
  }

  .home-hero .lead{
    max-width:32ch;
    margin-top:.5rem;
    font-size:.92rem;
    line-height:1.4;
  }

  .home-hero .action-row{
    margin-top:.6rem;
    gap:.44rem;
  }

  .home-hero .action-row .btn{
    min-height:45px;
    padding:.7rem .55rem;
    font-size:.84rem;
  }

  .bio-copy h2{
    max-width:11ch;
    font-size:clamp(2.2rem,10vw,3.7rem);
    line-height:1.01;
  }

  .bio-copy p,
  .bio-copy .lead{
    font-size:.97rem;
    line-height:1.66;
  }

  .footer-inner{
    grid-template-columns:1fr;
    gap:1rem;
  }

  .footer-links{
    gap:.5rem .8rem;
  }

  .footer-credit{
    text-align:left;
  }
}

@media (max-width:430px){
  .home-hero .hero-frame{
    width:min(390px,78vw);
  }

  .home-hero .hero-frame img{
    max-height:min(38svh,320px);
  }

  .home-hero .hero-logo-title img{
    max-width:min(300px,77vw);
  }

  .home-hero .lead{
    max-width:30ch;
    font-size:.9rem;
    line-height:1.38;
  }

  .bio-copy h2{
    font-size:clamp(2rem,10.4vw,3.15rem);
  }
}


/* Biography section balance and readability refinement */
.editorial-grid{
  grid-template-columns:minmax(300px,.56fr) minmax(0,.82fr);
  gap:clamp(2.4rem,4.8vw,5.4rem);
  align-items:center;
}

.portrait-panel{
  max-width:min(520px,100%);
  justify-self:center;
}

.portrait-panel img{
  height:min(620px,58vw);
  object-position:42% 48%;
  transform:scale(1.04);
}

.bio-copy{
  align-self:center;
  max-width:760px;
}

.bio-copy .eyebrow{
  margin-bottom:.8rem;
}

.bio-copy h2{
  max-width:12.8ch;
  font-size:clamp(3rem,4.15vw,4.95rem);
  line-height:1;
  letter-spacing:-.035em;
}

.bio-copy .section-title-line{
  margin-top:1rem;
  margin-bottom:0;
}

.bio-copy p,
.bio-copy .lead{
  max-width:66ch;
  font-size:clamp(1.03rem,1.05vw,1.16rem);
  line-height:1.72;
}

.bio-copy .lead{
  margin-top:1.4rem;
}

.bio-copy p:not(.lead){
  margin-top:1.05rem;
  color:var(--color-ink-soft);
}

@media (max-width:1100px){
  .editorial-grid{
    grid-template-columns:1fr;
    gap:1.8rem;
  }

  .portrait-panel{
    max-width:min(560px,100%);
  }

  .portrait-panel img{
    height:min(620px,78vw);
  }

  .bio-copy{
    max-width:780px;
    margin-inline:auto;
  }
}

@media (max-width:760px){
  .editorial-grid{
    gap:1.35rem;
  }

  .portrait-panel{
    max-width:min(460px,100%);
  }

  .portrait-panel img{
    height:min(560px,112vw);
    transform:scale(1.02);
  }

  .bio-copy h2{
    max-width:12ch;
    font-size:clamp(2.25rem,9.2vw,3.6rem);
    line-height:1.03;
  }

  .bio-copy p,
  .bio-copy .lead{
    font-size:.99rem;
    line-height:1.68;
  }

  .bio-copy .lead{
    margin-top:1.05rem;
  }
}

@media (max-width:430px){
  .bio-copy h2{
    font-size:clamp(2.05rem,9.7vw,3.05rem);
  }

  .portrait-panel img{
    height:min(500px,116vw);
  }
}

/* Footer credit: linked text only, no agency wording */
.footer-credit{
  color:var(--color-muted);
}

.footer-credit a{
  color:var(--color-ink-soft);
  text-decoration:underline;
  text-decoration-thickness:1px;
  text-underline-offset:.22em;
}


/* Cursor refinement: fluid gold arrow + subtle sparkle hover */
@media (pointer:fine){
  body{
    cursor:url("../img/ui/fluid-arrow-cursor.svg") 7 6, auto;
  }

  a,button,.work-card,.visual-card,.collab-card,.collection-card,.request-card,.contact-card,[role="button"],summary{
    cursor:url("../img/ui/fluid-arrow-pointer.svg") 7 6, pointer;
  }

  .cursor-aura{
    width:86px;
    height:86px;
    opacity:.18;
    background:radial-gradient(circle,rgba(200,155,47,.22),rgba(200,155,47,.06) 42%,rgba(157,61,50,.02) 70%,transparent 78%);
    transition:
      opacity var(--duration-fast) var(--ease),
      width var(--duration-fast) var(--ease),
      height var(--duration-fast) var(--ease),
      transform var(--duration-fast) var(--ease);
    mix-blend-mode:screen;
    filter:blur(.15px);
  }

  .cursor-aura.is-hot{
    width:116px;
    height:116px;
    opacity:.32;
  }

  .cursor-sparkles{
    position:fixed;
    left:0;
    top:0;
    width:72px;
    height:72px;
    z-index:calc(var(--z-cursor) + 1);
    pointer-events:none;
    transform:translate(-50%,-50%);
    opacity:.38;
    transition:opacity var(--duration-fast) var(--ease), transform var(--duration-fast) var(--ease);
  }

  .cursor-sparkles span{
    position:absolute;
    left:50%;
    top:50%;
    width:4px;
    height:4px;
    border-radius:50%;
    background:
      radial-gradient(circle,rgba(255,247,215,.98) 0 34%,rgba(226,195,107,.9) 35% 62%,rgba(200,155,47,.02) 63% 100%);
    box-shadow:
      0 0 10px rgba(226,195,107,.32),
      0 0 20px rgba(200,155,47,.16);
    transform:
      translate(-50%,-50%)
      rotate(var(--angle))
      translateX(var(--radius))
      scale(var(--scale,1));
    animation:sparkleFloat 2.6s ease-in-out infinite;
    animation-delay:var(--delay,0s);
    opacity:.72;
  }

  .cursor-sparkles.is-hot{
    opacity:.9;
  }

  .cursor-sparkles.is-hot span{
    animation-duration:1.75s;
  }

  .cursor-sparkles.is-hidden,
  .cursor-aura.is-hidden{
    opacity:0 !important;
  }
}

@keyframes sparkleFloat{
  0%,100%{
    transform:
      translate(-50%,-50%)
      rotate(var(--angle))
      translateX(calc(var(--radius) - 1px))
      scale(.76);
    opacity:.32;
  }
  40%{
    transform:
      translate(-50%,-50%)
      rotate(calc(var(--angle) + 6deg))
      translateX(calc(var(--radius) + 1px))
      scale(1);
    opacity:.85;
  }
  70%{
    transform:
      translate(-50%,-50%)
      rotate(calc(var(--angle) - 4deg))
      translateX(calc(var(--radius) + 3px))
      scale(.9);
    opacity:.6;
  }
}


/* Global custom cursor system: no native cursor on fine-pointer devices */
@media (pointer:fine) and (prefers-reduced-motion:no-preference){
  html,
  body,
  body *,
  a,
  a *,
  button,
  button *,
  input,
  textarea,
  select,
  label,
  p,
  h1,
  h2,
  h3,
  h4,
  h5,
  h6,
  li,
  span,
  img,
  svg,
  [role="button"],
  summary{
    cursor:none !important;
  }

  .custom-cursor{
    position:fixed;
    left:0;
    top:0;
    width:42px;
    height:42px;
    z-index:calc(var(--z-cursor) + 5);
    pointer-events:none;
    transform:translate3d(-120px,-120px,0);
    opacity:0;
    will-change:transform,opacity;
    color:#c89b2f;
    filter:
      drop-shadow(0 1px 1px rgba(61,43,12,.28))
      drop-shadow(0 0 8px rgba(200,155,47,.18));
    transition:
      opacity 140ms var(--ease),
      filter 140ms var(--ease);
  }

  .custom-cursor.is-visible{
    opacity:1;
  }

  .custom-cursor.is-hot{
    animation:cursorRainbowHue 780ms linear infinite;
    filter:
      drop-shadow(0 1px 1px rgba(61,43,12,.28))
      drop-shadow(0 0 10px rgba(255,236,168,.35))
      drop-shadow(0 0 18px rgba(200,155,47,.24));
  }

  .custom-cursor__svg{
    display:block;
    width:100%;
    height:100%;
    transform-origin:8px 7px;
    transition:transform 160ms var(--ease);
  }

  .custom-cursor.is-hot .custom-cursor__svg{
    transform:scale(1.08) rotate(-2deg);
  }

  .custom-cursor__body{
    fill:currentColor;
    stroke:#fff6d8;
    stroke-width:1.25;
    stroke-linejoin:round;
  }

  .custom-cursor__shine{
    fill:none;
    stroke:#fff1b8;
    stroke-width:1.1;
    stroke-linecap:round;
    opacity:.58;
  }

  .custom-cursor__tip{
    fill:#fff7db;
    opacity:.92;
  }

  .cursor-aura{
    width:62px !important;
    height:62px !important;
    opacity:.14;
    background:
      radial-gradient(circle,rgba(255,239,176,.24),rgba(200,155,47,.08) 42%,rgba(157,61,50,.02) 70%,transparent 79%);
    mix-blend-mode:screen;
    filter:blur(.2px);
    transition:
      opacity 140ms var(--ease),
      width 140ms var(--ease),
      height 140ms var(--ease);
  }

  .cursor-aura.is-hot{
    width:98px !important;
    height:98px !important;
    opacity:.38;
    background:
      radial-gradient(circle,rgba(255,245,205,.35),rgba(200,155,47,.14) 30%,rgba(61,161,255,.08) 52%,rgba(232,69,169,.06) 70%,transparent 82%);
  }

  .cursor-aura.is-hidden,
  .custom-cursor.is-hidden,
  .cursor-sparkles.is-hidden{
    opacity:0 !important;
  }

  .cursor-sparkles{
    width:76px;
    height:76px;
    opacity:0;
    mix-blend-mode:screen;
  }

  .cursor-sparkles.is-hot{
    opacity:.95;
  }

  .cursor-sparkles span{
    width:4px;
    height:4px;
    background:
      radial-gradient(circle,rgba(255,252,232,.98) 0 30%,rgba(255,213,87,.95) 31% 58%,rgba(200,155,47,.03) 59% 100%);
    box-shadow:
      0 0 10px rgba(255,231,145,.42),
      0 0 18px rgba(200,155,47,.2);
    animation:sparkleFloat 1.45s ease-in-out infinite;
  }

  .custom-cursor.is-hot ~ .cursor-sparkles span,
  .cursor-sparkles.is-hot span{
    animation-duration:1.05s;
  }
}

@keyframes cursorRainbowHue{
  0%{color:#c89b2f}
  14%{color:#f25a4b}
  28%{color:#ffb02e}
  42%{color:#f2df4d}
  56%{color:#37c875}
  70%{color:#3aa4ff}
  84%{color:#8c63ff}
  100%{color:#c89b2f}
}


/* Specific requested fixes: portrait crop, gallery caption removal, deeper artwork-detail zoom */
.portrait-panel img{
  object-position:47% 53%;
  transform:scale(1.16);
  transform-origin:47% 53%;
}

.gallery-card__caption{
  display:none !important;
}

@keyframes galleryDetailDrift{
  0%,16%{
    transform:translate3d(0,0,0) scale(1);
  }
  28%{
    transform:translate3d(0,0,0) scale(1.12);
  }
  48%{
    transform:translate3d(var(--pan-x,0%),var(--pan-y,0%),0) scale(var(--zoom,1.82));
  }
  68%{
    transform:translate3d(calc(var(--pan-x,0%) * -0.55),calc(var(--pan-y,0%) * -0.45),0) scale(calc(var(--zoom,1.82) + .16));
  }
  86%{
    transform:translate3d(calc(var(--pan-x,0%) * .88),calc(var(--pan-y,0%) * .82),0) scale(calc(var(--zoom,1.82) + .24));
  }
  100%{
    transform:translate3d(calc(var(--pan-x,0%) * .22),calc(var(--pan-y,0%) * .22),0) scale(1.18);
  }
}

@media (max-width:760px){
  .portrait-panel img{
    object-position:47% 52%;
    transform:scale(1.1);
    transform-origin:47% 52%;
  }
}


/* Gallery circular detail exploration: longer, smoother internal zoom/pan */
.gallery-card.is-active .gallery-card__art{
  animation:galleryDetailCircle var(--duration-gallery) cubic-bezier(.45,0,.2,1) both;
  will-change:transform;
}

@keyframes galleryDetailCircle{
  0%,14%{
    transform:translate3d(0,0,0) scale(1);
  }
  22%{
    transform:translate3d(calc(var(--pan-x,0%) * .42),calc(var(--pan-y,0%) * .36),0) scale(1.22);
  }
  36%{
    transform:translate3d(var(--pan-x,0%),var(--pan-y,0%),0) scale(var(--zoom,1.88));
  }
  52%{
    transform:translate3d(calc(var(--pan-y,0%) * .82),calc(var(--pan-x,0%) * -0.82),0) scale(calc(var(--zoom,1.88) + .12));
  }
  68%{
    transform:translate3d(calc(var(--pan-x,0%) * -0.92),calc(var(--pan-y,0%) * -0.86),0) scale(calc(var(--zoom,1.88) + .18));
  }
  82%{
    transform:translate3d(calc(var(--pan-y,0%) * -0.72),calc(var(--pan-x,0%) * .76),0) scale(calc(var(--zoom,1.88) + .08));
  }
  94%{
    transform:translate3d(calc(var(--pan-x,0%) * .3),calc(var(--pan-y,0%) * -.28),0) scale(1.34);
  }
  100%{
    transform:translate3d(0,0,0) scale(1.12);
  }
}

.gallery-overlay.is-paused .gallery-card.is-active .gallery-card__art{
  animation:none;
  transform:translate3d(0,0,0) scale(1.18);
}
