/* Sunset studio: softer city colors, worn paper, glossy little details. */
:root { --paper: #eee4d7; --ink: #493443; --red: #963e62; --purple: #89719c; --yellow: #ead18c; --line: #573d5233; --night: #eee4d7; --muted: #77616b; }
body { background: #eee4d7; color: #493443; }
body::after { opacity: .035; }
::selection { background: #dab0c7; color: #432638; }
:focus-visible { outline-color: #933f69 !important; }
.site-header { background: #eee4d7ed; color: #513844; border-color: #80647740; }
.wordmark { color: #703650; }
.header-note { color: #775866; }
.site-header nav a:hover { color: #a23f69; }
.site-header .nav-contact, .text-link, #bag-reset, .contact-actions a, .gallery-filters button, .menu-toggle, .studio-enter {
  background: linear-gradient(135deg, #fff8 0%, #ffffff20 48%, #e4bfd555), #ded0d680;
  border: 1px solid #ffffffa6;
  box-shadow: inset 0 1px 0 #fffe, inset 0 -1px 1px #9b6d8333, 0 6px 20px #59344912;
  color: #633b51;
  -webkit-backdrop-filter: blur(15px) saturate(130%);
  backdrop-filter: blur(15px) saturate(130%);
}
.site-header nav .nav-contact:hover, .text-link:hover, #bag-reset:hover, .contact-actions a:hover, .gallery-filters button:hover, .studio-enter:hover { background: linear-gradient(135deg, #fffa, #e5b0cb99); color: #762b53; border-color: #fff; }
.dropdown { background: #eee1e9f5; color: #513849; border-color: #fff9; box-shadow: 0 12px 30px #65465c20; }
.dropdown a:hover { background: #c799b23b; }
.studio-landing { position: relative; min-height: 660px; height: calc(100svh - 88px); max-height: 1100px; overflow: clip; background: #8898ab; color: #fff0de; isolation: isolate; }
.studio-scene { position: absolute; inset: 0; overflow: hidden; }
.studio-scenery { position: absolute; top: -13%; left: 0; width: 100%; height: 126%; object-fit: cover; object-position: center 66%; filter: saturate(.85) brightness(1.13); }
.studio-sunset-wash { position: absolute; inset: -15% 0; background: linear-gradient(180deg, #5167802e, #efbca51a 43%, #513a571a); }
.studio-title-layer { position: absolute; top: 10%; left: 3%; right: 3%; text-align: center; z-index: 2; }
.studio-eyebrow { color: #fff5e6; font: 10px/1.5 'Courier New', monospace; letter-spacing: 3px; text-shadow: 0 1px 8px #423e5066; margin: 0 0 16px; }
.studio-title-layer h1 { font: italic 400 clamp(72px, 13.6vw, 215px)/.9 Georgia, serif; letter-spacing: -.065em; margin: 0; color: #fff0da; text-transform: lowercase; text-shadow: 0 3px 18px #35253a15; }
.studio-title-layer h1>span { font: 18px Georgia, serif; letter-spacing: 0; vertical-align: top; display: inline-block; margin: 10px 0 0 8px; }
.studio-person { position: absolute; z-index: 3; bottom: -8%; left: 50%; transform: translateX(-50%); height: 80%; width: auto; max-width: none; object-fit: contain; filter: drop-shadow(0 10px 14px #382c4933); }
.studio-scribble { position: absolute; z-index: 4; top: 50%; left: 17%; font: italic 25px/1.15 Georgia, serif; color: #ffdded; transform: rotate(-9deg); text-shadow: 0 1px 10px #43263b33; }
.studio-scribble em { font-size: 39px; }
.studio-star { position: absolute; z-index: 4; right: 18%; top: 44%; color: #eed783; font: 100px/1 Georgia, serif; transform: rotate(12deg); }
.studio-bottom-fade { position: absolute; z-index: 4; inset: 65% 0 0; background: linear-gradient(transparent, #4b3d5355 65%, #342c4540); pointer-events: none; }
.studio-bottom { position: absolute; z-index: 5; bottom: 30px; left: 5%; right: 5%; display: flex; align-items: end; justify-content: space-between; gap: 24px; }
.studio-bottom>span { color: #fff2e3; font: 8px/1.8 'Courier New', monospace; letter-spacing: 1px; text-shadow: 0 1px 6px #33263f; }
.studio-bottom>span:last-child { text-align: right; }
.studio-enter { border-radius: 999px; padding: 14px 24px; color: #533144; font-size: 13px; white-space: nowrap; }
.studio-enter>span { padding-left: 16px; }
html.lenis, html.lenis body { height: auto; }
.lenis.lenis-smooth { scroll-behavior: auto !important; }
.lenis.lenis-stopped { overflow: hidden; }
.lenis.lenis-scrolling iframe { pointer-events: none; }
.scrapbook-hero { background: radial-gradient(ellipse at 85% 30%, #d6c8ddaa, transparent 55%), repeating-linear-gradient(0deg, transparent 0 39px, #915e7210 39px 40px), #eee4d7; color: #493443; }
.portfolio-story .story-intro { background: #eee4d7; }
.portfolio-story .story-page, .portfolio-story .pin-spacer { pointer-events: none; }
.portfolio-story [data-flow-inner] { pointer-events: auto; }
.edition-line, .landing-footnote { color: #806574; border-color: #80647740; }
.introduction :is(h1,h2) { color: #533448; text-shadow: none; }
.introduction :is(h1,h2) em { color: #a04972; }
.hello-note { color: #975f7e; }
.portrait-frame { background: #fff2dc; color: #684054; box-shadow: 7px 10px 0 #b688a02b, 0 8px 24px #7053611a; }
.portrait-frame img { filter: saturate(.8); }
.portrait-star { color: #bea253; text-shadow: 1px 1px #79523c; }
.title-label { background: #dac0d2; color: #5d3351; border-color: #b48ea250; }
.intro-description { color: #654455; }
.degree, .specialties { color: #7b5d6b; }
.bag-heading h2 em { color: #a25177; }
.bag-heading p, .tiny-label { color: #7b6070; }
.bag-item img { filter: saturate(.9) drop-shadow(2px 6px 5px #74526b22); }
.bag-item>span { background: #f8e9da; color: #624255; }
.bag-stage .pack-note { color: #995779; }
.bag-controls { border-color: #80647740; }
#bag-status { color: #7d6073; }
.bag-finale { background: #eee0eadb; color: #643851; }
.bag-finale em { color: #965878; }
.strategy-strip { background: #98617c; color: #fff0da; border-color: #fff5; }
.work-section { background: repeating-linear-gradient(0deg, transparent 0 39px, #ffffff16 39px 40px), #b9c5d2; color: #433b52; }
.section-index { color: #795d71; border-color: #63466140; }
.section-heading h2 em { color: #97537b; }
.section-heading p { color: #6c536b; }
.folder-meta { color: #6b5368; border-color: #63466140; }
.folder-caption h3 { color: #4b3752; }
.folder-caption h3 a:hover { color: #8a3666; }
.folder-caption h3 span { color: #8b4d74; }
.folder-caption p { color: #62516a; }
.folder-peek-note { color: #815274; }
.case-folder { --folder-tint: #a26286; }
.folder-tone-1 { --folder-tint: #6c7397; }
.folder-tone-2 { --folder-tint: #978056; }
.folder-back { background: linear-gradient(130deg, #ffffff28, #0001), #83748b; border-color: #ffffff70; box-shadow: inset 0 0 24px #46345622, 0 18px 35px #57476322; }
.folder-back::before { background: #96859c; border-color: #ffffff70; }
.folder-face-title { color: #fff0de; }
.folder-tab-label, .folder-face-bottom { color: #fff1e8; }
.work-card { background: #e9dae3; color: #533448; }
.work-card .work-cover { background: #91637c; color: #fff0de; }








.bag-index { background: repeating-linear-gradient(0deg, transparent 0 31px, #69557810 31px 32px), #d7ccdf; color: #513f62; }
.bag-links a { border-color: #69557840; }
.bag-links p { color: #705d7c; }
.bag-links img { filter: saturate(.9) drop-shadow(5px 10px 6px #71577625); }
.chat { background: #69465f; color: #fff0e1; }
.chat .section-index { color: #e7c7df; border-color: #edcde540; }
.chat h2 em { color: #e6c4e0; }
.chat .story-placeholder { color: #e6d0df; border-color: #e1b0d0; }
.chat .tags span { color: #f5e1ed; border-color: #f0d5e540; background: #fff1; }
.chat .placeholder { background-color: #b58da4; color: #452b3d; }
.chat .opportunity { background: #dec183; color: #543c40; border-color: #f6e4ba; }
.chat .contact-actions>span { color: #ddc6d8; border-color: #edd0e140; }
.small-footer { background: #ded0dd; color: #654259; border-color: #8c6b8540; }
.small-footer>span { color: #875976; }
.page-head { background: linear-gradient(90deg, #e8dbe9f5 10%, #e8dbe9a6), url('assets/studio/waterfront.jpeg') right 65% / cover no-repeat, #e6d9e5; color: #56354e; border-color: #9d7b9340; }
.page-head h1 em { color: #9f4b77; }
.page-head .eyebrow, .page-head .back-link { color: #7e4e70; }
.case-block { border-color: #94718940; }
.case-block blockquote { border-color: #af7399; }
.muted, .experience-card ol { color: #81657a; }
.tags span { background: #dfcddd; border-color: #b594ac55; color: #6a4561; }
.placeholder { background: repeating-linear-gradient(0deg, transparent 0 29px, #6b486409 29px 30px), #e0cddd; color: #76556e; border-color: #ac8ba1; }
.portrait-slot { border-color: #f7ebd5; box-shadow: 7px 9px 0 #714b6728; }
.metrics>div { background: #d7c5df; color: #5c3b60; border-color: #a37d9e55; }
.metrics>div:nth-child(even) { background: #e7d29b; }
.experience-list { background: #d8cbdc; }
.experience-card { background: #f2e8dc; color: #5a3d51; box-shadow: 5px 7px 0 #875b7c25; }
.skill-sheet { background: #dac4dc; border-color: #a5769e; }
.skill-sheet:nth-child(2) { background: #ead49e; border-color: #b19659; }
.gallery-filters .active { background: #aa7696; color: #fff0e1; border-color: #cfa9c5; }
/* Native cursor images stay crisp, never intercept clicks, and don't affect touch. */
@media (hover: hover) and (pointer: fine) {
  html, body, body * { cursor: url('assets/lipgloss-cursor.svg') 7 3, auto; }
  a, button, [role="button"], summary, .bag-item { cursor: url('assets/lipgloss-cursor.svg') 7 3, pointer; }
  input, textarea, [contenteditable="true"] { cursor: text; }
}
@media (max-width: 1000px) { .studio-scribble { left: 8%; }.studio-star { right: 9%; } }
@media (max-width: 700px) {
  .site-header nav { background: #efe3eb; border-color: #b892a850; }
  .studio-landing { height: calc(100svh - 78px); min-height: 620px; }
  .studio-scenery { object-position: 50% 65%; }
  .studio-title-layer { top: 12%; left: 3%; right: 3%; }
  .studio-title-layer h1 { font-size: clamp(58px, 14vw, 98px); letter-spacing: -.07em; white-space: nowrap; }
  .studio-title-layer h1>span { font-size: 12px; margin: 0 0 0 3px; }
  .studio-eyebrow { font-size: 7px; letter-spacing: 1.1px; margin-bottom: 20px; }
  .studio-person { height: 75%; bottom: -1%; }
  .studio-scribble { top: 37%; left: 5%; font-size: 14px; }.studio-scribble em { font-size: 22px; }
  .studio-star { top: 32%; right: 6%; font-size: 54px; }
  .studio-bottom { left: 6%; right: 6%; bottom: 24px; align-items: center; }
  .studio-bottom>span { font-size: 6px; letter-spacing: .4px; }
  .studio-bottom>span:last-child { display: none; }
  .studio-enter { padding: 13px 19px; font-size: 12px; }
}
@media (prefers-reduced-motion: reduce) { .studio-scene [data-parallax-layer] { will-change: auto; } }
