:root{--paper:#faf9f6;--ink:#252623;--blue:#617e93;--line:#c7c6bd;--mono:'SFMono-Regular',Consolas,'Liberation Mono',monospace;--sans:'Helvetica Neue',Helvetica,Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--mono);font-size:16px;line-height:1.6}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}button:focus-visible,a:focus-visible{outline:2px solid var(--blue);outline-offset:5px}button{border:0}img{display:block;width:100%;object-fit:cover}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--sans);font-weight:500;line-height:1.05;letter-spacing:-.045em}.header{height:108px;padding:0 3.2%;display:grid;grid-template-columns:1fr 1fr auto;align-items:center;border-bottom:1px solid var(--line)}.identity{font-family:var(--sans);font-weight:700;letter-spacing:-.035em;font-size:22px;line-height:1.2}.identity span{display:block;font-family:var(--mono);font-size:10px;font-weight:400;letter-spacing:.03em;margin-top:6px}.header nav{display:flex;gap:32px;font-family:var(--sans);font-size:16px}.header nav a{position:relative;transition:transform .2s}.header nav a:hover{transform:translateY(-2px)}.header nav a.current:after{content:'';position:absolute;left:0;right:0;bottom:-7px;height:2px;background:var(--blue)}sup{font:11px var(--mono);vertical-align:top;margin-left:3px}.edition,.micro,.hero-top,.hero-bottom,.sample-note,.section-label>span,.card-caption p,footer,.index-head{font-family:var(--mono);font-size:12px;letter-spacing:.04em}.hero{height:calc(100svh - 132px);min-height:530px;max-height:940px;position:relative;margin:20px 24px 0;background:#35424a;overflow:hidden;color:var(--paper)}.slides,.slide{position:absolute;inset:0;height:100%}.slide{opacity:0;transition:opacity 1.3s ease;object-position:center}.slide.active{opacity:1}.slides:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#0008,transparent 32%,#0001 70%,#0004)}.blue-slide{filter:grayscale(1) sepia(.6) hue-rotate(155deg) saturate(1.8);object-position:80% 60%}.hero-top{position:absolute;top:28px;left:32px;right:32px;display:flex;justify-content:space-between}.wordmark{position:absolute;width:73%;height:68%;object-fit:contain;left:13.5%;top:14%;mix-blend-mode:screen;pointer-events:none}.hero-bottom{position:absolute;bottom:30px;left:32px;right:32px;display:flex;align-items:flex-end;justify-content:space-between}.hero-bottom a>span{display:block}.hero-bottom a>span:first-child{font:500 26px var(--sans);letter-spacing:-.03em;margin-bottom:6px}.hero-bottom a:hover>span:first-child{letter-spacing:.015em}.hero-bottom a>span:first-child{transition:letter-spacing .3s}.slide-controls{display:flex;gap:22px;align-items:center}.slide-controls button{width:36px;height:40px;background:transparent;color:var(--paper);font-size:21px}.slide-controls button:hover{background:#ffffff22}.intro{display:grid;grid-template-columns:1fr 2fr 1fr;gap:28px;padding:100px 3.2% 110px;align-items:start}.intro h1{font-size:clamp(30px,3.5vw,57px)}.intro-copy{font-size:14px;line-height:1.7;max-width:290px;padding-top:5px}.work{padding:0 3.2% 70px}.section-label{display:flex;justify-content:space-between;align-items:center;padding:20px 0;border-top:1px solid var(--ink)}.section-label h2{font-size:18px;letter-spacing:-.025em}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.project-image{aspect-ratio:1.15;overflow:hidden;position:relative;background:var(--blue)}.project-image img{height:100%;transition:transform .6s}.project-card:hover img{transform:scale(1.035)}.view{position:absolute;right:15px;bottom:15px;font-size:12px;background:var(--paper);padding:8px 12px;transform:translateY(60px);transition:transform .25s}.project-card:hover .view,.project-card:focus-visible .view{transform:none}.card-caption{display:grid;grid-template-columns:1fr auto;padding:18px 0}.card-caption h3{font-size:23px}.card-caption>span{font-size:12px;color:var(--blue)}.card-caption p{grid-column:1/-1;padding-top:8px;font-size:11px}.sample-note{color:#62645e;margin-top:35px;font-size:11px}footer{border-top:1px solid var(--ink);padding:25px 3.2%;display:flex;justify-content:space-between;align-items:center;font-size:10px}footer>a{font:700 30px var(--sans);letter-spacing:-.06em}.inner{padding:65px 3.2% 100px;min-height:calc(100svh - 191px)}.page-title{padding:0 0 65px}.page-title .micro{display:block;margin-bottom:30px}.page-title h1{font-size:clamp(64px,8vw,132px);line-height:.98}.blue{color:var(--blue)}.index-head,.index-row{display:grid;grid-template-columns:1.5fr 1fr 100px;gap:24px;padding:18px 0;border-bottom:1px solid var(--line)}.index-head{border-bottom-color:var(--ink)}.index-row{align-items:center;position:relative;min-height:132px;transition:background .2s,padding .25s}.index-row h2{font-size:clamp(26px,3.2vw,52px)}.index-row h2 sup{display:inline-block;color:var(--blue);width:35px;margin:7px 0 0;letter-spacing:0}.index-row>span{font-size:13px}.index-row:hover{padding-left:14px;background:#e6e5dd}.index-preview{position:absolute;width:170px;height:110px;right:15%;top:10px;opacity:0;transform:rotate(-4deg);pointer-events:none;transition:opacity .2s}.index-row:hover .index-preview{opacity:1}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:8%;border-top:1px solid var(--ink);padding-top:35px}.about-art img{aspect-ratio:4/5}.about-art>span{display:block;margin-top:15px}.about-copy h2{font-size:clamp(32px,3.2vw,52px);margin:25px 0 35px}.about-copy p{max-width:600px;margin-bottom:24px}.about-detail{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);padding-top:25px;margin-top:40px}.text-link{display:inline-block;font-size:14px;border-bottom:1px solid var(--ink);padding-bottom:5px;transition:color .2s}.text-link:hover{color:var(--blue)}.resume-title{display:flex;align-items:end;justify-content:space-between}.print-button{background:transparent;border-bottom:1px solid var(--ink);padding:8px 0;font-size:14px}.resume-grid{display:grid;grid-template-columns:1fr 2fr;gap:8%;border-top:1px solid var(--ink);padding-top:35px}.resume-grid aside h2{font-size:40px;margin-bottom:10px}.resume-section{display:grid;grid-template-columns:1fr 2fr;gap:30px;padding:0 0 35px;margin:0 0 35px;border-bottom:1px solid var(--line)}.resume-section h2{font-size:24px}.resume-section p{font-size:15px}.resume-entry h3{font-size:22px;margin-bottom:8px}.resume-entry>span{font-size:11px;color:#62645e}.resume-entry p{margin-top:20px}.detail-image{max-height:800px;aspect-ratio:3/2}.project-detail>.text-link{margin-bottom:35px}.project-detail .page-title{padding-bottom:35px}.page-title>p{margin-top:25px}.project-description{display:grid;grid-template-columns:1fr 2fr;gap:30px;padding:55px 0}.project-description h2{font-size:40px;margin-bottom:20px}.project-description p{max-width:650px}.skip{position:absolute;left:20px;top:-100px;z-index:10;background:var(--paper);padding:10px}.skip:focus{top:10px}@media(min-width:1800px){body{max-width:1800px;margin:auto}}@media(max-width:1000px){.edition{display:none}.header{grid-template-columns:1fr auto}.intro{grid-template-columns:1fr 2fr}.intro-copy{grid-column:2;max-width:100%}.cards{gap:16px}.resume-section{grid-template-columns:1fr}.index-preview{display:none}.about-grid{gap:5%}}@media(max-width:650px){.header{height:100px;padding:18px 20px;grid-template-columns:1fr;gap:14px}.identity{font-size:19px}.identity span{display:none}.header nav{gap:27px;font-size:14px}.hero{margin:12px 12px 0;height:calc(100svh - 130px);min-height:470px}.hero-top{left:18px;right:18px;top:20px;font-size:10px}.hero-top span:last-child{display:none}.wordmark{width:94%;left:3%;height:55%;top:19%}.hero-bottom{left:18px;right:18px;bottom:20px;gap:25px;display:block}.hero-bottom a>span:last-child{font-size:10px}.slide-controls{margin-top:23px;gap:16px}.slide-controls button{height:32px}.intro{display:block;padding:55px 20px}.intro h1{font-size:39px;margin:25px 0}.intro-copy{font-size:14px}.work{padding:0 20px 45px}.cards{grid-template-columns:1fr;gap:22px}.card-caption h3{font-size:25px}.project-image{aspect-ratio:1.2}footer{padding:25px 20px;flex-wrap:wrap;gap:18px}footer span:nth-child(2){display:none}.inner{padding:45px 20px 60px}.page-title{padding-bottom:45px}.page-title h1{font-size:64px}.index-head{display:none}.index-row{grid-template-columns:1fr auto;gap:12px;padding:25px 0}.index-row h2{grid-column:1/-1;font-size:33px}.index-row>span{font-size:11px}.about-grid{grid-template-columns:1fr;gap:45px}.about-art img{aspect-ratio:1.25}.about-copy h2{font-size:35px}.about-detail{grid-template-columns:1fr;gap:20px}.resume-title{display:block}.print-button{margin-top:30px}.resume-grid{grid-template-columns:1fr;gap:45px}.resume-section{gap:20px}.project-description{grid-template-columns:1fr}.project-description h2{font-size:35px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;animation:none!important;scroll-behavior:auto!important}}@media print{.header,footer,.print-button,.skip{display:none}.inner{padding:0}.page-title{padding-bottom:30px}.page-title h1{font-size:55px}.resume-grid{grid-template-columns:1fr 3fr}.resume-section{break-inside:avoid;margin-bottom:18px;padding-bottom:18px}body{background:white;color:black}.sample-note{color:#555}}

/* One shared outer grid: image, navigation, headings and rules. */
:root{--gutter:24px}
.header{padding-left:var(--gutter);padding-right:var(--gutter)}
.hero{margin-left:var(--gutter);margin-right:var(--gutter)}
.intro,.work,.inner,footer{padding-left:var(--gutter);padding-right:var(--gutter)}
.intro{grid-template-columns:repeat(12,minmax(0,1fr));gap:24px;position:relative}
.intro .motto{grid-column:1/-1;justify-self:start;margin-bottom:6px}
.intro h1{grid-column:1/9;text-align:left;font-size:clamp(38px,4.8vw,78px)}
.intro-copy{grid-column:10/-1;font-size:16px;max-width:none}
.motto{background:none;padding:0;text-transform:uppercase;font-size:12px;color:var(--blue);letter-spacing:.09em;text-align:left}
.motto span{display:inline-block;margin-left:12px;transition:transform .4s}
.motto:hover span,.motto:focus-visible span{transform:rotate(45deg)}
.kinetic-type{cursor:default;text-align:left}
.type-word{display:inline-block;white-space:nowrap}
.type-letter{display:inline-block;transform:translateY(var(--ty,0px)) rotate(var(--tr,0deg));transition:transform .45s cubic-bezier(.2,.8,.2,1);will-change:transform}
.kinetic-type.is-active .type-letter{transition-duration:.12s}
.wordmark{transition:transform .6s cubic-bezier(.2,.8,.2,1);transform:translate(var(--logo-x,0px),var(--logo-y,0px)) rotate(var(--logo-r,0deg))}
.page-title h1{max-width:100%;overflow-wrap:normal}
.header .identity span,.edition,.card-caption p,.sample-note,footer,.hero-top{font-size:12px}
@media(max-width:1000px){.intro h1{grid-column:1/9}.intro-copy{grid-column:9/-1}}
@media(max-width:650px){:root{--gutter:16px}.intro{display:grid;grid-template-columns:1fr;gap:20px}.intro .motto,.intro h1,.intro-copy{grid-column:1;margin:0}.intro h1{font-size:clamp(31px,8vw,48px)}.hero{margin-top:12px}.hero-top{font-size:12px}.page-title h1{font-size:clamp(44px,12vw,64px)}footer{font-size:12px}.hero-bottom a>span:last-child{font-size:12px}}
@media(prefers-reduced-motion:reduce){.type-letter,.wordmark{transform:none!important;will-change:auto}}
@media print{.inner{padding:0}.type-letter{transform:none!important}}

/* Full-bleed opening, followed by the navigation rail. */
body[data-page="home"]{max-width:none}
body[data-page="home"]>.hero{margin:0;width:100%;height:100svh;min-height:500px;max-height:none}
body[data-page="home"]>.header{position:sticky;top:0;z-index:30;background:var(--paper);height:88px}
#content{scroll-margin-top:108px}
.slides:after{z-index:3;pointer-events:none}
.slide{opacity:1;visibility:hidden;transition:none;overflow:hidden;pointer-events:none}
.slide.active{visibility:visible;pointer-events:auto}
.slide-image{height:100%;width:100%}
.slide:focus-visible{outline:3px solid var(--paper);outline-offset:-7px}
.hero-top,.hero-bottom{z-index:5}
.hero-top{pointer-events:none}
.wordmark{z-index:4;opacity:.58;transform:none;transition:none;overflow:visible}
.logo-piece{position:absolute;inset:0;height:100%;width:100%;object-fit:contain;transform-origin:center;transition:transform .65s cubic-bezier(.22,1,.36,1)}
.piece-0{clip-path:inset(0 70% 0 0)}
.piece-1{clip-path:inset(0 47% 0 30%)}
.piece-2{clip-path:inset(0 25% 0 53%)}
.piece-3{clip-path:inset(0 0 0 75%)}
/* Flush-left type within the right-hand grid columns. */
.intro h1{grid-column:5/-1;grid-row:1;font-size:clamp(38px,4.6vw,76px)}
.intro .motto{grid-column:1/5;grid-row:1;align-self:start;margin-top:8px}
.intro-copy{grid-column:5/10;max-width:640px}
.page-title:not(.resume-title){display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:24px;align-items:start}
.page-title:not(.resume-title)>.micro{grid-column:1/5;grid-row:1;margin-top:10px}
.page-title:not(.resume-title)>h1{grid-column:5/-1;grid-row:1;font-size:clamp(48px,6.8vw,112px)}
.page-title:not(.resume-title)>p{grid-column:5/-1}
.resume-title{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:24px}
.resume-title>div{display:contents}
.resume-title .micro{grid-column:1/5;grid-row:1;align-self:start;margin-top:10px}
.resume-title h1{grid-column:5/-1;grid-row:1;font-size:clamp(48px,6.8vw,112px)}
.resume-title .print-button{grid-column:5/-1;justify-self:start}
@media(max-width:1000px){.intro h1{grid-column:5/-1}.intro-copy{grid-column:5/-1}}
@media(max-width:650px){body[data-page="home"]>.header{height:100px}.intro{grid-template-columns:1fr}.intro .motto,.intro h1,.intro-copy{grid-column:1;grid-row:auto}.intro h1{font-size:clamp(30px,8vw,48px)}.page-title:not(.resume-title){grid-template-columns:1fr}.page-title:not(.resume-title)>.micro,.page-title:not(.resume-title)>h1,.page-title:not(.resume-title)>p{grid-column:1;grid-row:auto}.page-title:not(.resume-title)>h1,.resume-title h1{font-size:clamp(42px,11vw,64px)}.resume-title{grid-template-columns:1fr}.resume-title .micro,.resume-title h1,.resume-title .print-button{grid-column:1;grid-row:auto}.wordmark{opacity:.58}.hero-top{left:var(--gutter);right:var(--gutter)}.hero-bottom{left:var(--gutter);right:var(--gutter)}}
@media(prefers-reduced-motion:reduce){.logo-piece{transform:none!important;transition:none!important}}

/* The first viewport includes the complete navigation rail. */
:root{--nav-height:88px;--project-gap:24px}
body[data-page="home"]>.hero{height:calc(100svh - var(--nav-height));min-height:0}
body[data-page="home"]>.header{height:auto;min-height:88px;padding-top:18px;padding-bottom:18px}
.wordmark{opacity:.45;width:70%;left:15%}
.logo-piece{filter:url(#lighter-lettering);transform:translateX(calc(var(--tracking) + var(--expansion,0%))) scaleY(var(--stretch,1));transition:transform .9s cubic-bezier(.16,1,.3,1)}
.piece-0{--tracking:-3.6%;transform-origin:15% 50%}
.piece-1{--tracking:-1.2%;transform-origin:41.5% 50%}
.piece-2{--tracking:1.2%;transform-origin:64% 50%}
.piece-3{--tracking:3.6%;transform-origin:87.5% 50%}
.cards{gap:var(--project-gap)}
.intro,.page-title:not(.resume-title),.resume-title{grid-template-columns:repeat(3,minmax(0,1fr));column-gap:var(--project-gap)}
.intro .motto,.page-title:not(.resume-title)>.micro,.resume-title .micro{grid-column:1;grid-row:1}
.intro h1,.page-title:not(.resume-title)>h1,.resume-title h1{grid-column:2/4;grid-row:1;text-align:left}
.intro-copy,.page-title:not(.resume-title)>p,.resume-title .print-button{grid-column:2/4}
.section-label{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--project-gap)}
.section-label h2{grid-column:2;grid-row:1;text-align:left}
.section-label>span{grid-column:3;grid-row:1;justify-self:end}
.work{padding-bottom:24px}
@media(max-width:1000px){:root{--project-gap:16px}}
@media(max-width:650px){:root{--nav-height:100px}body[data-page="home"]>.header{min-height:100px}.wordmark{width:84%;left:8%;opacity:.45}.intro,.page-title:not(.resume-title),.resume-title{grid-template-columns:1fr}.intro .motto,.intro h1,.intro-copy,.page-title:not(.resume-title)>.micro,.page-title:not(.resume-title)>h1,.page-title:not(.resume-title)>p,.resume-title .micro,.resume-title h1,.resume-title .print-button{grid-column:1;grid-row:auto}.section-label{grid-template-columns:1fr auto}.section-label h2{grid-column:1}.section-label>span{grid-column:2}.work{padding-bottom:18px}}
@media(prefers-reduced-motion:reduce){.logo-piece{transform:translateX(var(--tracking))!important}}

/* Complete frosted-glass wordmark, with no segmented transformations. */
.wordmark.glass-wordmark{opacity:1;width:73%;left:13.5%;mix-blend-mode:normal;transform:none;filter:blur(.55px);pointer-events:none}
.glass-fallback{width:100%;height:100%;object-fit:contain}
@supports ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){
 .glass-wordmark{--glass-x:50%;--glass-y:45%;--glass-angle:105deg;background:radial-gradient(ellipse at var(--glass-x) var(--glass-y),rgba(255,255,255,.78) 0%,rgba(246,248,248,.4) 24%,transparent 58%),linear-gradient(var(--glass-angle),rgba(255,255,255,.64),rgba(227,235,240,.22) 38%,rgba(255,255,255,.60) 52%,rgba(237,243,248,.28) 68%,rgba(255,255,255,.64));-webkit-backdrop-filter:blur(18px) saturate(.65) brightness(1.22);backdrop-filter:blur(18px) saturate(.65) brightness(1.22);-webkit-mask:url('/assets/byrd-logo.svg') center/contain no-repeat;mask:url('/assets/byrd-logo.svg') center/contain no-repeat}
 .glass-wordmark .glass-fallback{visibility:hidden}
}
/* Restore the previous heading placement. */
.intro,.page-title:not(.resume-title),.resume-title{grid-template-columns:repeat(12,minmax(0,1fr));column-gap:24px}
.intro .motto,.page-title:not(.resume-title)>.micro,.resume-title .micro{grid-column:1/5;grid-row:1}
.intro h1,.page-title:not(.resume-title)>h1,.resume-title h1{grid-column:5/-1;grid-row:1;text-align:left}
.intro-copy{grid-column:5/10}
.page-title:not(.resume-title)>p,.resume-title .print-button{grid-column:5/-1}
.section-label{display:flex;justify-content:space-between}
/* Navigation starts on the exact second project-column line. */
.header{position:relative;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:var(--project-gap)}
.header .identity{grid-column:1;grid-row:1}
.header nav{grid-column:2/4;grid-row:1;justify-self:start}
.header .edition{position:absolute;right:var(--gutter)}
.header nav a{transition:transform .22s ease,color .22s ease}
.header nav a:hover,.header nav a:focus-visible{color:var(--blue);transform:translateY(-2px)}
@media(max-width:1100px){.header .edition{display:none}}
@media(max-width:1000px){.intro-copy{grid-column:5/-1}}
@media(max-width:650px){.header{grid-template-columns:1fr;row-gap:14px}.header .identity{grid-column:1;grid-row:1}.header nav{grid-column:1;grid-row:2;gap:27px}.wordmark.glass-wordmark{width:92%;left:4%;opacity:1}.intro,.page-title:not(.resume-title),.resume-title{grid-template-columns:1fr}.intro .motto,.intro h1,.intro-copy,.page-title:not(.resume-title)>.micro,.page-title:not(.resume-title)>h1,.page-title:not(.resume-title)>p,.resume-title .micro,.resume-title h1,.resume-title .print-button{grid-column:1;grid-row:auto}}

/* Shared page alignment and navigation. */
.header{position:sticky;top:0;z-index:30;background:var(--paper)}
.intro h1,.page-title:not(.resume-title)>h1,.resume-title h1{grid-column:1/-1;grid-row:2;text-align:left}
.intro .motto,.page-title:not(.resume-title)>.micro,.resume-title .micro{grid-column:1/-1;grid-row:1}
.intro-copy,.page-title:not(.resume-title)>p,.resume-title .print-button{grid-column:1/9;grid-row:3}
.inner{padding-bottom:24px}
.project-detail>.text-link:last-child{margin-bottom:0}
footer{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--project-gap);align-items:end;text-align:left}
footer>a{line-height:1}
footer span{line-height:1.15;text-align:left}
footer span:last-child{justify-self:end;text-align:right}
.slide-timing{display:flex;flex-direction:column;gap:8px;min-width:70px}
.slide-progress{height:2px;background:rgba(250,249,246,.25);width:100%;overflow:hidden}
.slide-progress>span{display:block;width:100%;height:100%;background:var(--paper);transform:scaleX(0);transform-origin:left}
.view{transform:none;transition:transform .25s,color .25s,background .25s}
.project-card:hover .view,.project-card:focus-visible .view{transform:translateY(-4px);background:var(--blue);color:var(--paper)}
.motto:hover span,.motto:focus-visible span{transform:translateX(3px)}
/* Index rows reveal a full-width image behind their labels. */
.index-row{overflow:hidden;isolation:isolate;padding:25px 0;transition:color .3s,background .3s}
.index-row:hover,.index-row:focus-visible{padding-left:0;color:var(--paper);background:var(--ink)}
.index-row h2{display:flex;align-items:center;position:relative;z-index:2}
.index-row h2 sup{flex:none;align-self:center;margin:0;width:35px;line-height:1;transition:color .3s}
.index-row>span{position:relative;z-index:2}
.index-row .index-preview{display:block;position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1);z-index:0;transition:opacity .35s,transform .6s}
.index-row:before{content:'';position:absolute;inset:0;background:rgba(20,25,28,.65);opacity:0;z-index:1;transition:opacity .35s;pointer-events:none}
.index-row:hover .index-preview,.index-row:focus-visible .index-preview{opacity:1;transform:scale(1.035)}
.index-row:hover:before,.index-row:focus-visible:before{opacity:1}
.index-row:hover h2 sup,.index-row:focus-visible h2 sup{color:var(--paper)}
@media(max-width:650px){.intro h1,.page-title:not(.resume-title)>h1,.resume-title h1{grid-column:1;grid-row:auto}.intro .motto,.page-title:not(.resume-title)>.micro,.resume-title .micro{grid-column:1;grid-row:auto}.intro-copy,.page-title:not(.resume-title)>p,.resume-title .print-button{grid-column:1;grid-row:auto}.inner{padding-bottom:18px}footer{grid-template-columns:1fr 1fr;row-gap:20px}footer span:nth-child(2){display:block;grid-column:1;grid-row:2}footer span:last-child{grid-column:2;grid-row:2}.index-row .index-preview{display:block}.slide-timing{min-width:70px}}
@media print{.header{display:none}}

@media(max-width:650px){footer{grid-template-columns:.8fr 1fr 1fr;gap:12px;align-items:end}footer span:nth-child(2){grid-column:2;grid-row:1}footer span:last-child{grid-column:3;grid-row:1}footer>a{grid-column:1;grid-row:1}}

/* Slightly more room at the edges and between display letterforms. */
:root{--gutter:30px}
h1,h2,h3{letter-spacing:-.025em}
.identity{letter-spacing:-.02em}
.section-label h2{letter-spacing:-.01em}
.hero-bottom a>span:first-child,.hero-bottom a:hover>span:first-child{letter-spacing:-.012em;transition:none}
footer>a{letter-spacing:-.035em}
.slide-controls{display:grid;grid-template-columns:36px 70px 36px 36px;column-gap:22px;row-gap:14px;align-items:center}
.slide-controls #prev{grid-column:1;grid-row:1}
.slide-controls .slide-timing{grid-column:2;grid-row:1;display:block}
.slide-controls #next{grid-column:3;grid-row:1}
.slide-controls #pause{grid-column:4;grid-row:1}
.slide-controls>.slide-progress{grid-column:1/4;grid-row:2}
/* Keep row content on the grid while its image extends to the viewport. */
.index-row{margin-left:calc(-1 * var(--gutter));margin-right:calc(-1 * var(--gutter));padding-left:var(--gutter);padding-right:var(--gutter)}
.index-row:hover,.index-row:focus-visible{padding-left:var(--gutter);padding-right:var(--gutter)}
body[data-page="about"] .page-title>h1{white-space:nowrap;font-size:clamp(24px,7.3vw,112px)}
@media(max-width:650px){:root{--gutter:20px}.slide-controls{column-gap:16px;row-gap:14px}.index-row{padding-left:var(--gutter);padding-right:var(--gutter)}body[data-page="about"] .page-title>h1{font-size:clamp(22px,6.9vw,45px)}}
/* Fine spacing adjustments. */
h1>.blue,h2>.blue,h3>.blue{margin-left:.055em}
.slide-controls>.slide-progress{width:78%;justify-self:center}
@media(min-width:651px){
 .about-grid{row-gap:16px}
 .about-art{display:contents}
 .about-art>img{grid-column:1;grid-row:1;height:100%;object-fit:cover;align-self:stretch}
 .about-art>.micro{grid-column:1;grid-row:2;margin-top:0}
 .about-copy{grid-column:2;grid-row:1;display:flex;flex-direction:column;align-items:flex-start}
 .about-copy>.text-link{margin-top:auto}
}
/* Shared eyebrow-to-title rhythm. */
.page-title:not(.resume-title),.page-title.resume-title{row-gap:0}
.page-title:not(.resume-title)>.micro,.page-title.resume-title .micro{margin-top:0;margin-bottom:20px}
.page-title h1,.project-detail .page-title>h1{margin:0;padding:0;grid-column:1/-1;text-align:left}
.resume-title .print-button{margin-top:24px}
/* Repeat the same three-column grid as navigation and footer. */
.resume-grid{grid-template-columns:repeat(3,minmax(0,1fr));column-gap:var(--project-gap)}
.resume-grid>aside{grid-column:1}
.resume-grid>div{grid-column:2/4}
.project-description{grid-template-columns:repeat(3,minmax(0,1fr));column-gap:var(--project-gap)}
.project-description>.micro{grid-column:1}
.project-description>div{grid-column:2/4}
.project-pagination{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin-top:12px}
.project-pagination .previous-project{text-align:left}
.project-pagination .next-project{text-align:right;margin-left:auto}
.project-pagination .text-link{transition:color .2s,transform .2s}
.project-pagination .text-link:hover,.project-pagination .text-link:focus-visible{color:var(--blue);transform:translateY(-2px)}
.inner.project-detail{padding-bottom:48px}
@media(max-width:650px){.resume-grid{grid-template-columns:1fr}.resume-grid>aside,.resume-grid>div{grid-column:1}.project-description{grid-template-columns:1fr}.project-description>.micro,.project-description>div{grid-column:1}.project-pagination{gap:20px}.project-pagination>a{max-width:48%;font-size:13px}.inner.project-detail{padding-bottom:36px}}

/* About: interests and experience in one reading flow. */
.about-detail{display:block;width:100%;margin-top:28px;padding-top:25px}
.about-detail h3{font:500 26px/1.15 var(--sans);letter-spacing:-.025em;margin:0 0 18px;text-align:left}
.about-detail p{font-family:var(--mono);text-align:left;line-height:1.8}
.about-resume{margin-top:80px;scroll-margin-top:125px}
.resume-section-title{display:flex;justify-content:space-between;align-items:flex-end;padding:0 0 28px}
.resume-section-title .micro{display:block;margin-bottom:20px}
.resume-section-title h2{font-size:clamp(42px,5vw,72px)}
.resume-section-title .print-button{margin-bottom:4px}
.contact-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--project-gap);border-top:1px solid var(--ink);padding-top:35px;padding-bottom:48px}
.contact-grid>.micro{grid-column:1}
.contact-copy{grid-column:2/4}
.contact-copy h2{font-size:clamp(30px,3.4vw,52px);max-width:700px;margin-bottom:28px}
.contact-copy>p,.inquiry-note p{max-width:660px;font-size:16px;line-height:1.75}
.contact-email{display:inline-block;font:500 clamp(20px,2.6vw,40px)/1.5 var(--sans);letter-spacing:-.015em;margin:34px 0 45px;border-bottom:1px solid var(--ink);transition:color .2s,transform .2s;overflow-wrap:anywhere}
.contact-email:hover,.contact-email:focus-visible{color:var(--blue);transform:translateY(-3px)}
.contact-email span{display:inline-block;transition:transform .2s}
.contact-email:hover span{transform:translateX(4px)}
.inquiry-note{border-top:1px solid var(--line);padding-top:25px;margin-bottom:35px}
.inquiry-note h3{font-size:25px;margin-bottom:18px}
@media(max-width:650px){.about-resume{margin-top:55px}.resume-section-title{align-items:start;flex-direction:column;gap:22px}.contact-grid{grid-template-columns:1fr;gap:28px;padding-bottom:20px}.contact-grid>.micro,.contact-copy{grid-column:1}.contact-email{font-size:clamp(19px,5.6vw,28px)}}
@media print{body[data-page="about"] .inner>.page-title,body[data-page="about"] .about-grid,body[data-page="about"] .header,body[data-page="about"] footer{display:none}body[data-page="about"] .about-resume{margin-top:0}.about-resume .resume-grid{grid-template-columns:1fr 2fr;gap:24px}.about-resume .resume-grid>div{grid-column:2}.about-resume .resume-section{break-inside:avoid}.resume-section-title h2{font-size:44px}.resume-section-title .print-button{display:none}}
/* About: connect the title to the resume, and anchor interests to the photograph. */
.about-detail{border-top:0;padding-top:0}
.about-detail p{margin-bottom:0}
body[data-page="about"] .page-title{grid-template-columns:minmax(0,1fr) auto;column-gap:28px;align-items:end}
body[data-page="about"] .page-title>.micro{grid-column:1/-1;grid-row:1}
body[data-page="about"] .page-title>h1{grid-column:1;grid-row:2;font-size:clamp(24px,5.8vw,94px);white-space:nowrap}
body[data-page="about"] .page-title>.about-resume-link{grid-column:2;grid-row:2;justify-self:end;align-self:end;margin:0;text-align:right;white-space:nowrap}
@media(min-width:651px){.about-copy>.about-detail{margin-top:auto;padding-top:24px}}
@media(max-width:800px){body[data-page="about"] .page-title{column-gap:16px}body[data-page="about"] .page-title>h1{font-size:clamp(22px,5.3vw,44px)}body[data-page="about"] .page-title>.about-resume-link{font-size:12px}}
@media(max-width:550px){body[data-page="about"] .page-title{grid-template-columns:1fr}body[data-page="about"] .page-title>h1{font-size:clamp(22px,6.9vw,38px)}body[data-page="about"] .page-title>.about-resume-link{grid-column:1;grid-row:3;margin-top:22px}.about-detail{margin-top:24px}}

/* Consistent type roles across the portfolio. */
:root{--type-body:1rem;--type-label:.875rem;--type-meta:.75rem;--type-card:1.5rem;--type-section:clamp(2rem,3.2vw,3.25rem);--type-display:clamp(3rem,6.8vw,7rem)}
body,.intro-copy,.about-copy p,.about-detail p,.resume-section p,.resume-entry p,.contact-copy>p,.inquiry-note p,.project-description p{font-size:var(--type-body)}
.header nav,.text-link,.print-button,.index-row>span{font-size:var(--type-label)}
.identity span,.edition,.micro,.hero-top,.hero-bottom a>span:last-child,.card-caption p,.card-caption>span,.sample-note,footer,.index-head,.resume-entry>span,.view{font-size:var(--type-meta)}
.page-title:not(.resume-title)>h1,.resume-title h1{font-size:var(--type-display)}
.about-copy h2,.contact-copy h2,.index-row h2{font-size:var(--type-section)}
.card-caption h3,.resume-section h2,.resume-entry h3,.inquiry-note h3{font-size:var(--type-card)}
.about-detail h3{font-size:1.625rem}
@media(max-width:650px){:root{--type-display:clamp(2.625rem,11vw,4rem);--type-section:clamp(2rem,8vw,2.5rem)}.header nav{font-size:var(--type-label)}.intro-copy,.index-row>span,.hero-bottom a>span:last-child{font-size:var(--type-body)}.page-title:not(.resume-title)>h1,.resume-title h1{font-size:var(--type-display)}.index-row h2{font-size:var(--type-section)}body[data-page="contact"] .contact-email{font-size:clamp(1.25rem,5.6vw,1.75rem)}}
@media print{.page-title:not(.resume-title)>h1,.resume-title h1{font-size:3.4375rem}}

/* Project 1: retain the full composition inside each existing image frame. */
.project-one-image{object-fit:contain!important;background:#181818}
/* Selected Explorations: fill the card height and retain its existing hover zoom. */
.project-card .project-image .project-one-image{object-fit:cover!important;object-position:center;transform:scale(1.1)}
.project-card:hover .project-image .project-one-image,.project-card:focus-visible .project-image .project-one-image{transform:scale(1.14)}
/* Index hover: full-width bleed with the label held at the strip's center. */
.index-row .index-preview.project-one-image{inset:auto;left:50%;top:50%;width:115%;height:auto;max-width:none;translate:-50% -54%;transform-origin:50% 54%;object-fit:cover!important}
/* Launch-only bleed: place the central bottle label at the frame's center.
   The 4:3 image needs at least 1.35x frame height to cover below its 62% focal point. */
body[data-page="home"] .hero .slide-image.project-one-image{position:absolute;width:max(115%,calc((100svh - var(--nav-height))*1.8));height:auto;max-width:none;left:50%;top:50%;translate:-50% -62%;object-fit:cover!important}
.project-carousel{position:relative;width:100%;background:#181818;color:var(--paper);overflow:hidden}
.project-gallery-slides{position:absolute;inset:0}
.project-gallery-slide{position:absolute;inset:0;margin:0;visibility:hidden;overflow:hidden;background:#181818;--image-zoom:1.08}
.project-gallery-art{position:absolute;inset:0;background:url("/assets/gato-negro-background.webp") center top/100% 105% no-repeat;transform:translateX(0) scale(1)}
.project-gallery-slide:nth-child(n+2) .project-gallery-art{background-size:100% 110%}
.project-gallery-slide.bottle-closeup{--image-zoom:1.15}
.project-gallery-slide.active{visibility:visible}
.project-gallery-slide img{width:auto;height:100%;max-width:100%;margin:0 auto;object-fit:contain;object-position:center;transform:scale(var(--image-zoom));-webkit-mask-image:linear-gradient(to right,transparent,#000 15%,#000 85%,transparent);mask-image:linear-gradient(to right,transparent,#000 15%,#000 85%,transparent)}
.project-gallery-controls{position:absolute;right:32px;bottom:20px;z-index:3}
.slide-controls{font:400 .75rem/1.6 var(--mono);letter-spacing:.04em}
.slide-controls :is(#prev,#next,[data-gallery-prev],[data-gallery-next]){font-family:var(--sans);font-weight:300}
.project-gallery-controls button:disabled{opacity:1;cursor:default;background:transparent}
.project-gallery-controls .slide-progress>span{transform:scaleX(0)}
@media(max-width:650px){.project-gallery-controls{right:16px;bottom:12px;row-gap:8px}}

/* Gato Negro case study: retain the existing three-column reading grid. */
.gato-section{border-top:1px solid var(--line);align-items:start}
.gato-section:first-of-type{border-top:0}
.gato-section .process-image{grid-column:1;margin:0}
.process-image img{width:100%;height:auto;object-fit:contain}
.gato-final>.project-carousel--compact{grid-column:2/4;aspect-ratio:3/2;max-height:540px;margin-top:32px}
.project-carousel--compact .project-gallery-controls{right:20px;bottom:16px}
.project-carousel--compact :is([data-gallery-prev],[data-gallery-next]){font-family:var(--mono);font-weight:400}
.project-gallery-slide.label-detail{--image-zoom:1}
.project-gallery-slide.label-detail .project-gallery-art{background:#181818}
.project-gallery-slide.label-detail img{width:100%;height:100%;object-fit:cover;-webkit-mask-image:none;mask-image:none}
@media(max-width:650px){.gato-section .process-image{grid-column:1;grid-row:2}.gato-section>div{grid-row:1}.gato-final>.project-carousel--compact{grid-column:1;width:92%;justify-self:start;margin-top:10px}.project-carousel--compact .project-gallery-controls{right:12px;bottom:12px;column-gap:12px}}

/* Process scans: retain their original marks while matching the page surface. */
.process-image--sketches img{mix-blend-mode:multiply}
.gato-section .process-image--linocuts{position:relative;aspect-ratio:792/1224}
.process-image--linocuts img{position:absolute;left:50%;top:50%;width:154.545455%;max-width:none;height:auto;transform:translate(-50%,-50%) rotate(90deg)}

/* Project-specific framing for the requested preview surfaces. */
.project-card[href="/projects/form/"] .project-image img{object-position:left center;transform-origin:left center}
.hero .slide-image[src="/assets/milo-j-tour.webp"]{object-fit:cover;object-position:center;transform:none}
.index-row[href="/projects/form/"] .index-preview{inset:auto;left:50%;top:50%;width:max(100%,420px);height:auto;translate:-50% -32%;transform-origin:50% 32%}
.index-row[href="/projects/blue/"] .index-preview{inset:auto;left:50%;top:50%;width:max(100%,520px);height:auto;translate:-50% -26%;transform-origin:50% 26%}

/* About: relaxed spacing for the interests heading. */
body[data-page="about"] .about-detail h3{font-kerning:normal;letter-spacing:normal}

/* About portrait: a slight crop removes the film border inside the existing frame. */
.about-art>.about-portrait{grid-column:1;grid-row:1;align-self:stretch;width:100%;aspect-ratio:4/5;overflow:hidden}
.about-portrait img{width:100%;height:100%;object-fit:cover;object-position:43% 42%;transform:scale(1.045);transform-origin:center}
@media(max-width:650px){.about-art>.about-portrait{aspect-ratio:1.25}.about-art .about-portrait img{aspect-ratio:auto}}

/* Keep multiple experience entries within the existing resume content column. */
.resume-entries .resume-entry+.resume-entry{margin-top:35px}

/* Experience: occupation and employer share a row when space permits. */
.resume-job-heading{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px 16px;margin-bottom:8px}
.resume-job-heading h3{margin-bottom:0}
.resume-company{font:400 var(--type-label)/1.5 var(--mono);color:var(--ink)}
.resume-job-meta{display:block;font-family:var(--mono);font-size:var(--type-meta);line-height:1.6}
.resume-job-meta>span{padding:0 .35em}

/* Reduce isolated final words throughout the responsive typography. */
body{text-wrap:pretty}
h1,h2,h3,h4,h5,h6{text-wrap:balance}

/* About copy keeps its original natural line wrapping and full column width. */
.about-copy>p{text-wrap:wrap;max-width:none;width:100%}
body[data-page="about"] .page-title>h1{white-space:normal;min-width:0}
/* Align resume details to the same right-hand column as Currently Exploring. */
@media(min-width:651px){
 .about-resume .resume-grid{grid-template-columns:calc((100% - 2 * var(--project-gap))/3) minmax(0,1fr) 46%;column-gap:var(--project-gap);row-gap:0}
 .about-resume .resume-grid>aside{grid-column:1;grid-row:1}
 .about-resume .resume-grid>div{grid-column:2/4;grid-row:1;display:grid;grid-template-columns:subgrid}
 .about-resume .resume-section{grid-column:1/-1;grid-template-columns:subgrid;column-gap:var(--project-gap)}
 .about-resume .resume-section>h2{grid-column:1}
 .about-resume .resume-section>:not(h2){grid-column:2;min-width:0}
}
@media(min-width:651px) and (max-width:1000px){.about-resume .resume-grid{grid-template-columns:calc((100% - 2 * var(--project-gap))/3) minmax(0,1fr) 47.5%}}
.resume-skills{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 24px;list-style:none;margin:0;padding:0;font-size:var(--type-body)}
.resume-skills li{min-width:0}
.contact-copy .inquiry-note h3{font-size:var(--type-section)}
.contact-resume-links{display:flex;flex-wrap:wrap;align-items:baseline;gap:20px 32px}

/* Filmmaker reuses the shared wipe and controls with uncropped artwork. */
.filmmaker-carousel,.filmmaker-carousel .project-gallery-slide,.filmmaker-carousel .project-gallery-art{background:#e9e9e9}
.filmmaker-carousel .project-gallery-slide img{width:100%;height:100%;max-width:none;object-fit:contain;transform:none;-webkit-mask-image:none;mask-image:none}
.mused-detail-image{width:100%;object-fit:contain;background:#18251c}
/* Generated Mused background extends across the entire Index reveal. */
.index-row--mused .index-preview{inset:auto;left:50%;top:50%;width:max(100%,1080px);height:auto;max-width:none;translate:-50% -50%;object-fit:cover}

/* Filmmaker print mockups: requested 20 percent zoom, digital views unchanged. */
.filmmaker-carousel .project-gallery-slide:nth-child(-n+6) img{transform:scale(1.2)}

/* Match the Gato Negro case-study section divider. */
.filmmaker-refining{border-top:1px solid var(--line)}

/* Filmmaker controls use black over the light image backgrounds. */
.filmmaker-carousel .project-gallery-controls,.filmmaker-carousel .project-gallery-controls button{color:#000}
.filmmaker-carousel .slide-progress{background:rgba(0,0,0,.25)}
.filmmaker-carousel .slide-progress>span{background:#000}

/* Uploaded identity face, paired with the established SF Mono navigation. */
@font-face{font-family:'VertigOdd';src:url('/assets/vertigodd.otf') format('opentype');font-weight:400;font-style:normal;font-display:swap}
.header{align-items:center}
.header .identity{font-family:'VertigOdd',var(--sans);font-weight:400;font-size:36px;line-height:1.1;letter-spacing:normal;align-self:center}
.header nav{font-family:var(--mono);align-self:center}
.header .edition{top:50%;transform:translateY(-50%)}
footer>a{font-family:'VertigOdd',var(--sans);font-weight:400;letter-spacing:normal}
@media(max-width:650px){.header .identity{font-size:30px}}

/* Shared semantic type roles across the page templates. */
.project-description h2{font-size:var(--type-section)}
.about-detail h3{font-size:var(--type-card)}
@media(max-width:650px){.index-row>span{font-size:var(--type-label)}}

/* Index, Contact, and About share the exact same responsive page-heading size. */
:root{--type-page-heading:clamp(24px,5.8vw,94px)}
body[data-page="about"] .page-title>h1,body[data-page="index"] .inner:not(.project-detail)>.page-title>h1,body[data-page="contact"] .page-title>h1{font-size:var(--type-page-heading)}
@media(max-width:800px){:root{--type-page-heading:clamp(22px,5.3vw,44px)}}
@media(max-width:550px){:root{--type-page-heading:clamp(22px,6.9vw,38px)}}
body[data-page="index"] .inner:not(.project-detail)>.page-title,body[data-page="contact"] .page-title{padding-bottom:26px}
@media(max-width:650px){body[data-page="index"] .inner:not(.project-detail)>.page-title,body[data-page="contact"] .page-title{padding-bottom:22px}}
/* A single Helvetica heading rhythm; mono labels retain their deliberate positive tracking. */
h1,h2,h3,.section-label h2,body[data-page="about"] .about-detail h3,.hero-bottom a>span:first-child,.hero-bottom a:hover>span:first-child{font-kerning:normal;letter-spacing:-.025em}
.header .identity,footer>a{letter-spacing:normal}

.footer-registered{margin-left:.08em}
.filmmaker-process{border-top:1px solid var(--line);align-items:start}
.filmmaker-process>.process-image{grid-column:1;margin:0;display:grid;gap:24px}
.filmmaker-process .process-image img{width:100%;height:auto;object-fit:contain}
@media(max-width:650px){.filmmaker-process>.process-image{grid-column:1;grid-row:2}.filmmaker-process>div{grid-row:1}}

/* Move the paired process screenshots together to the heading's cap-height edge. */
@media(min-width:651px){.filmmaker-process[aria-labelledby="defining-system"]>.process-image{font-size:var(--type-section);padding-top:.12em}}
/* Milo J uses the existing project frame and shared wipe animation, with edge-to-edge imagery. */
.milo-carousel,.milo-carousel .project-gallery-slide,.milo-carousel .project-gallery-art{background:#777}
.milo-carousel .project-gallery-slide img{width:100%;height:100%;max-width:none;object-fit:cover;object-position:center;transform:none;-webkit-mask-image:none;mask-image:none}
.milo-carousel .project-gallery-slide:nth-child(7) img{object-position:75% 50%}

/* Full-height original artwork; generated side backgrounds fill only the exposed width. */
.milo-carousel .project-gallery-slide:nth-child(-n+6) .project-gallery-art{background-position:center;background-size:auto 100%;background-repeat:no-repeat}
.milo-carousel .project-gallery-slide:nth-child(-n+6) img{position:absolute;left:50%;top:0;translate:-50% 0;width:auto;height:100%;max-width:none;object-fit:contain;transform:none}
.milo-carousel .project-gallery-slide:nth-child(1) .project-gallery-art{background-image:url("/assets/milo-extended-1.webp")}
.milo-carousel .project-gallery-slide:nth-child(2) .project-gallery-art{background-image:url("/assets/milo-extended-2.webp")}
.milo-carousel .project-gallery-slide:nth-child(3) .project-gallery-art{background-image:url("/assets/milo-extended-3.webp")}
.milo-carousel .project-gallery-slide:nth-child(4) .project-gallery-art{background-image:url("/assets/milo-extended-4.webp")}
.milo-carousel .project-gallery-slide:nth-child(5) .project-gallery-art{background-image:url("/assets/milo-extended-5.webp")}
.milo-carousel .project-gallery-slide:nth-child(6) .project-gallery-art{background-image:url("/assets/milo-extended-6.webp")}

.milo-carousel .project-gallery-slide:nth-child(-n+6) img{-webkit-mask-image:linear-gradient(to right,transparent,#000 var(--side-blend,12%),#000 calc(100% - var(--side-blend,12%)),transparent);mask-image:linear-gradient(to right,transparent,#000 var(--side-blend,12%),#000 calc(100% - var(--side-blend,12%)),transparent)}

.milo-carousel .project-gallery-slide:nth-child(2) img,.milo-carousel .project-gallery-slide:nth-child(4) img,.milo-carousel .project-gallery-slide:nth-child(5) img{--side-blend:15%}
.milo-carousel .project-gallery-slide:nth-child(6) img{--side-blend:8%}
/* Milo J requested image crops, percentages measured from the full-size fit. */
.milo-carousel .project-gallery-slide:nth-child(2) img{transform:scale(1.15)}
.milo-carousel .project-gallery-slide:nth-child(3) img{transform:scale(1.10)}
.milo-carousel .project-gallery-slide:nth-child(4) img{transform:scale(1.15)}
.milo-carousel .project-gallery-slide:nth-child(5) img{transform:scale(1.20)}
.milo-carousel .project-gallery-slide:nth-child(6) img{transform:scale(1.10)}

/* Milo J process sections follow the existing Gato Negro and Filmmaker grid. */
.milo-process{border-top:1px solid var(--line)}
.milo-process .process-image img{width:100%;height:auto;object-fit:contain}

/* Hover Index shortcuts are sourced from the Work Index rows. */
.header nav .nav-project-shortcuts{position:relative;display:flex;align-items:center}
.header nav .index-shortcut-menu{display:none;position:absolute;top:100%;left:-16px;z-index:80;min-width:260px;padding:9px 0;background:var(--paper);border:1px solid var(--line);box-shadow:0 12px 28px #25262318}
.header nav .nav-project-shortcuts:hover .index-shortcut-menu,.header nav .nav-project-shortcuts:focus-within .index-shortcut-menu{display:grid}
.header nav .index-shortcut-menu a{display:block;padding:8px 16px;font:400 13px/1.4 var(--mono);letter-spacing:.01em;white-space:nowrap;transition:background .18s,color .18s}
.header nav .index-shortcut-menu a:hover,.header nav .index-shortcut-menu a:focus-visible{background:#e6e5dd;color:var(--blue);transform:none}

/* Requested dusty blue accents on the identity and footer wordmark. */
.header .identity,footer>a{color:var(--blue)}

/* Mused uses the shared carousel frame and wipe, with AA-contrast light controls over its dark imagery. */
.mused-carousel,.mused-carousel .project-gallery-slide,.mused-carousel .project-gallery-art{background:linear-gradient(145deg,#203d2b 0%,#173723 54%,#111e16 100%)}
.mused-carousel .project-gallery-art{overflow:hidden}
.mused-carousel .project-gallery-slide img{width:100%;height:100%;max-width:none;margin:0 auto;object-fit:contain;object-position:center;transform:none;-webkit-mask-image:none;mask-image:none}
.mused-carousel .project-gallery-slide:nth-child(2) img,.mused-carousel .project-gallery-slide:nth-child(3) img{transform:scale(1.2)}
.mused-carousel .project-gallery-slide:nth-child(4) img{transform:scale(1.35)}
.mused-carousel .project-gallery-controls,.mused-carousel .project-gallery-controls button{color:var(--paper)}
.mused-carousel .slide-progress{background:#faf9f655}
.mused-carousel .slide-progress>span{background:var(--paper)}
.mused-process{border-top:1px solid var(--line);align-items:start}
.mused-process>.process-image{grid-column:1;margin:0}
.mused-process .process-image img{width:100%;height:auto;object-fit:contain}
@media(max-width:650px){.mused-process>.process-image{grid-column:1;grid-row:2}.mused-process>div{grid-row:1}.header nav .index-shortcut-menu{left:-10px;min-width:min(260px,calc(100vw - 32px))}}

/* Per-slide control colors follow the actual image background. */
.project-carousel[data-controls="dark"] .project-gallery-controls,.project-carousel[data-controls="dark"] .project-gallery-controls button{color:var(--ink)}
.project-carousel[data-controls="dark"] .slide-progress{background:#25262340}
.project-carousel[data-controls="dark"] .slide-progress>span{background:var(--ink)}
.mused-carousel .project-gallery-slide:nth-child(4) img{transform:scale(1.1475)}
/* Fit complete label artwork and retain paper behind its alpha channel. */
.project-carousel--compact,.project-carousel--compact .label-detail,.project-carousel--compact .label-detail .project-gallery-art{background:var(--paper)}
.project-carousel--compact .label-detail img{position:absolute;top:0;left:50%;translate:-50% 0;max-width:none;object-fit:contain;transform:none;z-index:1}
.label-edge-extension{position:absolute;inset:0;background-size:100% 100%;background-position:center;pointer-events:none}

/* Feather only the label perimeter into the generated extension. */
.project-carousel--compact .label-detail img{
 -webkit-mask-image:linear-gradient(to right,transparent,#000 var(--edge-blend-x),#000 calc(100% - var(--edge-blend-x)),transparent),linear-gradient(to bottom,transparent,#000 var(--edge-blend-y),#000 calc(100% - var(--edge-blend-y)),transparent);
 mask-image:linear-gradient(to right,transparent,#000 var(--edge-blend-x),#000 calc(100% - var(--edge-blend-x)),transparent),linear-gradient(to bottom,transparent,#000 var(--edge-blend-y),#000 calc(100% - var(--edge-blend-y)),transparent);
 -webkit-mask-composite:source-in;mask-composite:intersect;
}

/* MEROS uses the wordmark from its standalone project page. */
.index-row--meros .index-preview{object-fit:contain;background:#050505;padding:28px 0}
