/* EXCAVATIONS OF MEMORY / V3 — gallery-first kinetic art direction */
:root{--v3-ruby:#742e3e;--v3-terracotta:#ab493b;--v3-paper:#ebe5d9;--v3-ink:#1b1c1a}
/* Remove supersized floating VIEW control. Use tiny precise archival pointer instead. */
.custom-cursor{display:none!important}
.ink-cursor{position:fixed;left:0;top:0;z-index:550;width:17px;height:17px;border:1px solid rgba(117,39,57,.68);border-radius:50%;pointer-events:none;opacity:0;transform:translate(-50%,-50%);transition:width .24s ease,height .24s ease,border-color .24s ease,background .24s ease,opacity .16s;will-change:transform;mix-blend-mode:multiply}
.ink-cursor:after{content:"";position:absolute;left:50%;top:50%;width:4px;height:4px;transform:translate(-50%,-50%);border-radius:50%;background:#8e3a46}
.ink-cursor.is-active{width:34px;height:34px;border-color:#ad4e50;background:rgba(145,58,76,.055)}
.ink-cursor.is-pressed{width:12px;height:12px;background:rgba(145,58,76,.23)}
@media (hover:hover) and (pointer:fine){body.cursor-ready,body.cursor-ready a,body.cursor-ready button,body.cursor-ready input,body.cursor-ready select,body.cursor-ready textarea,body.cursor-ready label{cursor:none!important}}
@media (hover:none),(pointer:coarse),(prefers-reduced-motion:reduce){.ink-cursor{display:none!important}body{cursor:auto!important}}
/* Fully-visible artwork rule: creative motion must never crop original canvas edges. */
.work-image,.gallery-image,.project-visual,.print-image,.practice-image,.statement-artwork,.project-hero-image{isolation:isolate}
.work-image img,.gallery-image img,.project-visual img,.print-image img,.practice-image img,.statement-artwork img,.project-hero-image img,.about-image img{object-fit:contain!important;object-position:center!important;transform:none!important;filter:none!important}
.work-card:hover .work-image img,.chapter-card:hover img,.print-work:hover img{transform:none!important}
.work-card .work-image,.gallery-item .gallery-image,.project-card .project-visual{background:#e5ded1!important}
.work-card .work-image{height:min(56svh,480px)!important;min-height:250px;padding:clamp(14px,1.8vw,28px)}
.work-card:nth-child(n) .work-image{height:min(56svh,480px)!important}
.work-card .work-image img{width:100%!important;height:100%!important;max-width:100%;max-height:100%;object-fit:contain!important;position:static!important}
.work-image::before{background:none!important}
.print-image img{width:100%;height:100%;max-height:100%;object-fit:contain!important}
.statement-artwork,.practice-image{background:#d9d3c7}
.statement-artwork img,.practice-image img{width:100%;height:100%;padding:clamp(12px,2vw,32px)}
.practice-image{filter:none!important;max-height:min(75svh,680px)}
.practice-image::after{background:linear-gradient(0deg,rgba(0,0,0,.32),transparent 24%)}
/* Category image cards are editorial covers intentionally, but no aggressive image zoom. */
.chapter-card:hover img{transform:scale(1.02)!important}
/* Painterly borders, quietly asymmetric composition. */
.work-card,.gallery-item,.project-card{position:relative}
.work-card .work-image:after,.gallery-image:after,.project-visual:after{content:"";position:absolute;inset:8px;border:1px solid rgba(71,61,53,.12);pointer-events:none}
.work-card .card-details{border-top:1px solid rgba(56,49,43,.26)}
.work-card:hover .card-details strong{color:var(--v3-ruby)}
.work-card .work-image img{transition:opacity .45s ease!important}
.work-card:hover .work-image img{opacity:.93}
/* Hand-drawn editorial markers applied sparingly to headings. */
.selected .section-heading,.print-heading,.inner-hero,.inner-project-hero{position:relative}
.selected .section-heading:after,.inner-hero .inner-kicker:after{content:"✳";display:block;color:#964d51;opacity:.65;font-size:clamp(15px,2vw,25px);position:absolute;right:2%;top:-1.2em;transform:rotate(-17deg)}
.inner-hero .inner-kicker:after{top:20px;right:0}
.text-link .link-arrow,.project-arrow,.next-room a span{transition:transform .35s cubic-bezier(.2,.7,.15,1),color .3s}
.text-link:hover .link-arrow{transform:translate(5px,-5px) rotate(8deg)}
/* Archival plate appears through a warm-paper wipe that never distorts image itself. */
.art-wipe{position:absolute;inset:-1px;z-index:5;background:#e6e0d5;pointer-events:none;transform-origin:center bottom;will-change:transform;contain:paint}
.art-wipe:after{content:"";position:absolute;bottom:0;left:0;right:0;height:2px;background:#8c3546;opacity:.7}
.practice-image .art-wipe{background:#292b2a}.statement-artwork .art-wipe{background:#d4c8b7}
.gallery-image .art-wipe,.project-visual .art-wipe{background:#e6e0d5}
/* Layered print cut-lines, no moving/cropping artwork. */
.print-room{position:relative;overflow:hidden}
.print-room:before{content:"";position:absolute;right:5vw;top:10%;height:56%;width:1px;background:rgba(112,70,66,.23);pointer-events:none}
.print-work{transition:transform .55s cubic-bezier(.2,.68,.19,1)}
@media(hover:hover){.print-work:hover{transform:translateY(-6px)}}
/* Footer handwriting-like annotation with sober typography. */
.footer-kicker{position:relative}
.footer-kicker:after{content:"/ CORRESPONDENCE";font-family:var(--serif);font-style:italic;font-weight:400;color:#ab8587;font-size:clamp(13px,1.2vw,18px);letter-spacing:0;margin-left:18px}
/* Chapter separators have material hierarchy and restrained marks. */
.chapter-stamp{pointer-events:none;position:absolute;right:var(--gutter);top:28px;z-index:3;display:flex;align-items:center;gap:9px;font:500 9px/1.2 var(--sans);letter-spacing:.17em;color:#a25e5b;opacity:.7}
.chapter-stamp i{display:block;width:34px;height:1px;background:currentColor;transform-origin:left center}
.chapter-card .chapter-stamp{top:40px;right:20px;color:#f7eadb}
/* On-screen page transitions: a short ink-paper swash, never an external redirect. */
.route-veil{position:fixed;inset:0;z-index:900;transform:translate3d(0,102%,0);pointer-events:none;background:#2b2926;color:#f1eae0;display:grid;place-content:center;isolation:isolate;overflow:hidden;will-change:transform}
.route-veil:before{content:"";position:absolute;inset:-30%;background:radial-gradient(ellipse at 30% 50%,#792e41aa,transparent 38%),repeating-linear-gradient(165deg,transparent 0px,transparent 16px,#f9f3e307 17px,#f9f3e307 18px);opacity:.8}
.route-veil:after{content:"";position:absolute;right:13%;top:15%;width:2px;height:70%;background:#b78a8199;transform:rotate(16deg)}
.route-veil-title{font:400 clamp(38px,7vw,110px)/.92 var(--serif);letter-spacing:-.07em;position:relative;text-align:center}
.route-veil-number{font:500 10px/1 var(--sans);letter-spacing:.25em;text-align:center;margin-top:28px;position:relative;color:#c9a7a2}
/* Page intro imagery and typography enter naturally. */
.inner-hero .inner-title,.inner-project-hero h1{will-change:transform}
@media(max-width:620px){
  .work-card:nth-child(n) .work-image{height:min(51svh,420px)!important;min-height:245px}
  .statement-artwork{max-height:52svh}
  .practice-image{height:min(60svh,460px)!important;min-height:300px}
  .chapter-stamp{display:none}
  .footer-kicker:after{display:none}
  .art-wipe{will-change:auto}
}
@media(prefers-reduced-motion:reduce){.art-wipe,.route-veil{display:none!important}}
