/*
Theme Name: HDN Vision
Author: HDN Vision
Description: Individuelles Portfolio mit Projektwand, bearbeitbaren Leistungen und Vimeo-Einwilligung.
Version: 1.0.0
Requires at least: 6.3
Requires PHP: 7.4
Text Domain: hdn-vision
*/
:root{--ink:#10110f;--paper:#f5f5f0;--muted:#a0a19a;--line:#373832;--lime:#d7ff3f;--gutter:clamp(1.25rem,4.3vw,5.5rem);color-scheme:dark;font-family:Arial,Helvetica,sans-serif;font-synthesis:none;scroll-behavior:smooth;scroll-padding-top:6rem}
*{box-sizing:border-box}body{margin:0;background:var(--ink);color:var(--paper);font-size:1rem;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}button{border:0;background:none}img{display:block;max-width:100%}h1,h2,h3,p{margin:0}p{line-height:1.6}button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid var(--lime);outline-offset:6px}::selection{background:var(--lime);color:var(--ink)}.skip-link{position:fixed;left:1rem;top:-5rem;z-index:999;background:var(--lime);color:var(--ink);padding:1rem}.skip-link:focus{top:1rem}.site-header{height:6rem;padding:0 var(--gutter);display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:30;background:rgba(16,17,15,.96);border-bottom:1px solid #ffffff15;backdrop-filter:blur(18px)}.brand{display:block;width:150px;height:61px;overflow:hidden}.brand img{width:150px;height:150px;max-width:none;transform:translateY(-46px)}nav{display:flex;align-items:center;gap:2.2rem}nav a{font-size:.9rem;font-weight:600;padding:.65rem 0;position:relative}nav a::after{content:'';height:2px;background:var(--lime);position:absolute;bottom:0;left:0;right:100%;transition:right .25s}nav a:hover::after,nav a[aria-current]::after{right:0}nav .nav-contact{color:var(--lime);margin-left:1rem}.nav-contact span{margin-left:1.1rem}.menu-toggle{display:none}.hero{min-height:calc(100svh - 6rem);max-height:1100px;position:relative;padding:2rem var(--gutter) 2.5rem;display:flex;flex-direction:column;isolation:isolate;overflow:hidden}.hero-image{position:absolute;z-index:-2;inset:0 0 0 25%;}.hero-image img{width:100%;height:100%;object-fit:cover;object-position:55% 50%;filter:brightness(.64)}.hero::before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,var(--ink) 2%,rgba(16,17,15,.9) 19%,rgba(16,17,15,.15) 72%),linear-gradient(0deg,var(--ink),transparent 65%);z-index:-1}.hero-topline{display:flex;justify-content:space-between;gap:1rem;font-size:.75rem;letter-spacing:.12em;line-height:1.5}.hero-topline span:last-child{color:#d4d5ce}.hero h1{font-size:clamp(3rem,8.8vw,10rem);line-height:.98;letter-spacing:-.035em;font-weight:800;margin:auto 0;padding:6.5rem 0 5rem;max-width:100%;}.hero h1 span{color:var(--lime)}.hero-bottom{display:flex;align-items:center;justify-content:space-between;gap:2rem}.hero-bottom>p{font-size:1.05rem;color:#d5d6ce}.hero-play{display:flex;align-items:center;gap:1rem;text-align:left;padding:0}.round-play{border:1px solid #ffffff90;border-radius:50%;width:68px;height:68px;display:grid;place-items:center;font-size:1rem;padding-left:3px;transition:background .25s,color .25s,transform .25s}.hero-play:hover .round-play{background:var(--lime);color:var(--ink);border-color:var(--lime);transform:scale(1.06)}.hero-play>span:last-child{font-weight:600}.hero-play small{display:block;font-weight:400;color:#b0b1a9;font-size:.8rem;margin-top:.5rem}.scroll-link{font-size:2rem;border-bottom:1px solid var(--line);padding:.6rem 1rem}.section-pad{padding:6.5rem var(--gutter)}.eyebrow{font-size:.75rem;letter-spacing:.12em;font-weight:600;line-height:1.5;margin-bottom:2.5rem}.intro{background:var(--paper);color:var(--ink);padding-top:5rem;padding-bottom:5rem}.intro-content{display:grid;grid-template-columns:1.15fr 1fr;gap:7vw}.intro h2{font-size:clamp(2rem,3.5vw,4rem);line-height:1.07;letter-spacing:-.045em}.intro-content p{max-width:610px;color:#494b42}.intro-content p+p{margin-top:1rem}.text-link{font-size:.9rem;display:inline-flex;align-items:center;gap:1.6rem;border-bottom:1px solid currentColor;padding:.5rem 0;line-height:1.5}.text-link:hover{color:#a4c600}.intro .text-link{margin-top:1.2rem}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:3rem;margin-bottom:4.5rem}.section-heading .eyebrow{margin-bottom:1.6rem}.section-heading h2{font-size:clamp(2.8rem,5.8vw,6.6rem);line-height:.98;letter-spacing:-.055em}.section-heading>p{color:var(--muted);max-width:390px;font-size:.95rem}.outline-text{-webkit-text-stroke:1px #a0a19a;color:transparent}.collection+.collection{margin-top:4rem}.collection-head{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.25rem}.collection-title{font-size:1.4rem;font-weight:500;letter-spacing:-.035em}.collection-title sup{font-size:.7rem;font-weight:400;color:var(--muted);margin-left:.7rem;vertical-align:super;letter-spacing:0}.slider-controls{display:flex;align-items:center;gap:.75rem}.slider-controls button{width:40px;height:40px;border:1px solid var(--line);border-radius:50%;font-size:1.2rem;transition:color .2s,border-color .2s}.slider-controls button:hover{color:var(--lime);border-color:var(--lime)}.slider-controls button:disabled{opacity:.25;cursor:default}.slider-status{font-size:.8rem;color:var(--muted);min-width:2.7rem;text-align:center}.project-track{display:flex;overflow-x:auto;gap:1.3rem;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:#60634c transparent;padding:0 0 1rem;scroll-behavior:smooth;overscroll-behavior-x:contain}.project-card{flex:0 0 calc((100% - 2.6rem)/3);min-width:0;scroll-snap-align:start}.project-button{display:block;width:100%;padding:0;text-align:left}.project-image{position:relative;aspect-ratio:16/10;overflow:hidden;background:#25261f}.project-image img{width:100%;height:100%;object-fit:cover;transition:transform .5s,filter .5s}.project-button:hover img{transform:scale(1.035);filter:brightness(.8)}.project-image::after{content:'';position:absolute;inset:55% 0 0;background:linear-gradient(transparent,#0007);pointer-events:none}.project-play{position:absolute;right:1rem;bottom:1rem;z-index:1;border:1px solid #ffffffb0;border-radius:50%;width:38px;height:38px;font-size:.75rem;display:grid;place-items:center;padding-left:2px;background:#0002;backdrop-filter:blur(6px)}.project-time{position:absolute;bottom:1.25rem;left:1rem;z-index:1;font-size:.75rem}.project-caption{padding:1rem 0 .3rem;display:flex;gap:.6rem;justify-content:space-between}.project-caption h4{margin:0;font-size:1rem;line-height:1.4;font-weight:500;letter-spacing:-.015em}.project-caption>span{color:var(--muted);font-size:.75rem;padding-top:.15rem;flex-shrink:0}.project-type{display:block;font-size:.8rem;color:var(--muted);margin-top:.5rem;line-height:1.5}.work-foot{display:flex;justify-content:space-between;gap:2rem;align-items:center;margin-top:3rem;padding-top:2rem;border-top:1px solid var(--line)}.work-foot p{font-size:.8rem;color:var(--muted);max-width:580px}.work-foot a{white-space:nowrap}.services{background:var(--lime);color:var(--ink)}.services .section-heading>p{color:#444d26}.service-list{border-top:1px solid #10110f66}.service-list details{border-bottom:1px solid #10110f66}.service-list summary{display:flex;align-items:center;gap:2rem;cursor:pointer;padding:1.7rem 0;list-style:none}.service-list summary::-webkit-details-marker{display:none}.service-index{font-size:.8rem;align-self:center;color:#4f592f;width:2rem}.service-list h3{font-size:clamp(1.5rem,2.7vw,3rem);font-weight:500;letter-spacing:-.045em;line-height:1.2}.service-plus{font-size:2rem;line-height:1;margin-left:auto;font-weight:300;transition:transform .25s}.service-list details[open] .service-plus{transform:rotate(45deg)}.service-body{padding:0 3rem 2.2rem 4rem;display:grid;grid-template-columns:1fr 1fr;column-gap:6vw;row-gap:1.3rem}.service-body>p:first-child{max-width:550px;font-size:1.05rem}.service-body ul{list-style:none;margin:0;padding:0;font-size:.95rem;line-height:1.9}.service-body li::before{content:'—';display:inline-block;margin-right:.7rem}.service-body .text-link{width:fit-content}.service-body .text-link:hover{color:#657900}.service-note{font-size:.875rem;grid-column:1/-1;opacity:.8}.about{display:grid;grid-template-columns:1fr 1fr;gap:7vw;align-items:center}.about-photo{position:relative}.about-photo img{width:100%;aspect-ratio:4/5;object-fit:cover}.about-photo>span{position:absolute;bottom:1.5rem;left:1.5rem;font-size:.7rem;letter-spacing:.12em;padding:.6rem .8rem;border:1px solid #ffffff55;background:#1114}.about-copy .eyebrow{margin-bottom:1.6rem}.about h2{font-size:clamp(2.5rem,5.5vw,6rem);letter-spacing:-.055em;line-height:.99;margin-bottom:2rem}.about h2 span{color:var(--lime)}.about-copy>p:not(.eyebrow){color:#b4b6ab;font-size:.95rem;margin-top:1rem;max-width:620px}.about-copy .about-lead{color:var(--paper)!important;font-size:1.25rem!important}.about-meta{border-top:1px solid var(--line);margin-top:2rem;padding:1.5rem 0;display:flex;gap:3rem;font-size:.7rem;color:var(--muted);line-height:1.8;letter-spacing:.05em}.about-meta strong{font-size:.9rem;color:var(--paper);font-weight:400;letter-spacing:0}.about .text-link{margin-top:.6rem}.contact{background:var(--paper);color:var(--ink)}.contact-heading{display:flex;justify-content:space-between;align-items:center;gap:2rem}.contact h2{font-size:clamp(4rem,11vw,12rem);font-weight:800;line-height:.91;letter-spacing:-.045em}.contact h2 span{-webkit-text-stroke:1.5px var(--ink);color:transparent}.contact-arrow{font-size:clamp(5rem,15vw,15rem);font-weight:300;line-height:1;transition:transform .25s}.contact-arrow:hover{transform:translate(8px,-8px)}.contact-bottom{border-top:1px solid #bec0b6;display:flex;justify-content:space-between;gap:3rem;align-items:center;margin-top:3.5rem;padding-top:2rem}.contact-bottom p{max-width:400px;color:#4c4e44}.contact-email{font-size:clamp(1.5rem,3vw,3rem);font-weight:500;letter-spacing:-.04em;display:block;line-height:1.5}.contact-email:hover{color:#718b00}.contact-phone{display:block;font-size:1.1rem;margin-top:.5rem;text-align:right}.site-footer{padding:3rem var(--gutter) 1.5rem}.footer-top{display:flex;align-items:center;justify-content:space-between;gap:2rem;padding-bottom:3rem}.footer-wordmark{font-size:2rem;letter-spacing:-.05em;font-weight:800}.footer-wordmark span{display:inline-block;color:var(--lime);margin-left:.6rem;font-size:2.5rem;vertical-align:middle}.footer-top p{font-size:.875rem;color:var(--muted)}.footer-top>div{display:flex;gap:1.5rem;font-size:.9rem}.footer-bottom{display:flex;justify-content:space-between;align-items:center;gap:1rem;border-top:1px solid var(--line);padding-top:1.5rem;font-size:.75rem;color:var(--muted)}.footer-bottom>div{display:flex;gap:1.2rem}.footer-bottom button{padding:0;font-size:inherit}.footer-bottom a:hover,.footer-bottom button:hover{color:var(--lime)}dialog{color:var(--paper);background:var(--ink);border:1px solid var(--line);padding:0;max-height:94svh;box-shadow:0 20px 100px #0009}dialog::backdrop{background:#000c;backdrop-filter:blur(8px)}.video-dialog{width:min(1100px,94vw);max-width:94vw}.dialog-top{display:flex;align-items:center;justify-content:space-between;padding:.8rem 1.5rem;font-size:.75rem;letter-spacing:.08em}.dialog-close{width:40px;height:40px;font-size:1.25rem}.dialog-close:hover{color:var(--lime)}.video-stage{aspect-ratio:16/9;position:relative;background:#030403;overflow:hidden}.video-stage iframe{width:100%;height:100%;border:0}.video-consent{height:100%;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:1rem;padding:2rem;text-align:center;position:relative;isolation:isolate}.video-consent img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:brightness(.23);z-index:-1}.load-video{background:var(--lime);color:var(--ink);padding:1rem 1.5rem;border-radius:2rem;font-weight:600}.video-consent p{font-size:.85rem;max-width:520px;color:#d2d4c7}.video-info{padding:1.5rem 2rem 2rem}.video-info h2{font-size:1.6rem;line-height:1.2;letter-spacing:-.03em}.video-info p{font-size:.875rem;color:var(--muted);white-space:pre-line;margin-top:1rem}.video-info .text-link{margin-top:1rem;font-size:.8rem}.legal-dialog{width:min(750px,92vw);max-width:92vw}.legal-dialog #legal-content{padding:1rem 2rem 2.5rem;line-height:1.65}.legal-dialog h2{font-size:2rem;margin-bottom:1.4rem}.legal-dialog h3{font-size:1.1rem;margin:1.5rem 0 .5rem}.legal-dialog p{margin-top:.8rem;color:#c8cabe}.legal-dialog a{text-decoration:underline}.legal-dialog small{font-size:.8rem}body.dialog-open{overflow:hidden}
@media(min-width:1800px){.hero{min-height:850px}.project-card{flex-basis:calc((100% - 3.9rem)/4)}}
@media(max-width:1000px){nav{gap:1.4rem}.hero h1{font-size:9vw}.intro-content{gap:3rem}.section-heading{gap:2rem}.section-heading>p{max-width:290px}.project-card{flex-basis:calc((100% - 1.3rem)/2)}.about{gap:3rem}.about-copy .about-lead{font-size:1.1rem!important}.about h2{font-size:5.6vw}.about-meta{gap:1.4rem}.hero-bottom>p{font-size:.9rem}.hero-play small{font-size:.75rem}.round-play{width:56px;height:56px}.service-body{column-gap:3rem}.contact-bottom p{max-width:310px}}
@media(max-width:720px){:root{scroll-padding-top:4.7rem}.site-header{height:4.7rem}.brand{width:117px;height:52px}.brand img{width:117px;height:117px;transform:translateY(-32px)}.menu-toggle{display:flex;align-items:center;gap:1rem;font-size:.9rem;padding:.6rem 0}.menu-toggle span{font-size:1.5rem}.menu-toggle[aria-expanded=true] span{transform:rotate(45deg)}nav{display:none;position:absolute;top:4.7rem;left:0;right:0;background:var(--ink);padding:1.5rem var(--gutter) 2rem;flex-direction:column;align-items:stretch;gap:.5rem;border-bottom:1px solid var(--line)}nav.open{display:flex}nav a{font-size:1.25rem;padding:.8rem 0}nav .nav-contact{margin:0}.hero{min-height:calc(90svh - 4.7rem);max-height:none;padding-top:1.4rem}.hero-topline{font-size:.65rem}.hero-topline span:last-child{display:none}.hero-image{left:0;opacity:.8}.hero-image img{object-position:62% 50%}.hero::before{background:linear-gradient(90deg,#10110fc4,transparent),linear-gradient(0deg,#10110f 2%,#10110f15 75%,#10110f80)}.hero h1{font-size:clamp(2.75rem,10.5vw,5rem);letter-spacing:-.035em;padding:6rem 0 4rem;line-height:1.03}.hero-bottom{align-items:flex-start;flex-direction:column;gap:1.5rem}.hero-bottom>p{font-size:1rem}.hero-play{gap:.8rem}.hero-play>span:last-child{font-size:.9rem}.hero-play small{font-size:.7rem}.round-play{width:49px;height:49px}.scroll-link{position:absolute;right:var(--gutter);bottom:2.5rem}.section-pad{padding:4.5rem var(--gutter)}.eyebrow{margin-bottom:1.8rem;font-size:.7rem}.intro-content{display:block}.intro h2{font-size:2.2rem;margin-bottom:2rem}.intro-content p{font-size:.95rem}.section-heading{display:block;margin-bottom:2.7rem}.section-heading h2{font-size:clamp(2.8rem,9vw,4.5rem)}.section-heading>p{margin-top:1.7rem;max-width:100%;font-size:.9rem}.collection+.collection{margin-top:2.7rem}.collection-title{font-size:1.2rem}.slider-controls{gap:.5rem}.slider-controls button{width:34px;height:34px}.slider-status{font-size:.7rem;min-width:2.3rem}.project-track{gap:.85rem;margin-right:calc(var(--gutter)*-1);padding-right:var(--gutter)}.project-card{flex-basis:85%}.project-caption h4{font-size:1rem}.project-image{aspect-ratio:16/11}.work-foot{display:block;margin-top:2rem}.work-foot a{margin-top:1.2rem;font-size:.8rem}.service-list summary{gap:1rem;padding:1.4rem 0}.service-index{width:1.3rem;font-size:.7rem}.service-list h3{font-size:1.6rem;letter-spacing:-.04em}.service-body{padding:0 0 1.8rem 2.3rem;display:block}.service-body>p:first-child{font-size:.95rem}.service-body ul{margin:1.2rem 0;font-size:.85rem}.service-note{font-size:.85rem;margin-top:1rem}.service-body .text-link{margin-top:.7rem;font-size:.85rem}.about{display:flex;flex-direction:column;align-items:stretch;gap:2.5rem}.about-photo img{max-height:640px;object-position:center 30%}.about h2{font-size:clamp(3rem,11vw,5rem)}.about-copy>p:not(.eyebrow){font-size:.95rem}.about-meta{gap:2rem}.contact h2{font-size:16vw}.contact-arrow{font-size:22vw}.contact-bottom{display:block;margin-top:2.5rem;padding-top:1.5rem}.contact-bottom p{max-width:100%;font-size:.95rem;margin-bottom:1.5rem}.contact-email{font-size:7vw}.contact-phone{text-align:left;font-size:1rem}.footer-top{display:block;padding-bottom:2rem}.footer-wordmark{font-size:1.8rem}.footer-top p{margin:1.2rem 0}.footer-top>div{gap:1.5rem;margin-top:1.2rem;font-size:.85rem}.footer-bottom{align-items:flex-start;flex-wrap:wrap;line-height:1.8;font-size:.7rem}.footer-bottom>span{flex-basis:100%}.footer-bottom>div{gap:1rem}.video-dialog{max-height:96svh}.video-consent{padding:1rem;gap:.6rem}.video-consent p{font-size:.75rem}.load-video{font-size:.85rem;padding:.8rem 1.1rem}.video-info{padding:1.2rem}.video-info h2{font-size:1.25rem}.video-info p{font-size:.8rem}.dialog-top{padding:.4rem 1rem}.legal-dialog #legal-content{padding:.5rem 1.25rem 2rem}}
@media(prefers-reduced-motion:reduce){:root,.project-track{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}

.video-stage video{width:100%;height:100%;object-fit:contain;background:#050505}.project-image.portrait img{object-fit:contain;background:#20221b}.project-image.portrait{background:#20221b}

.dialog-top{position:sticky;top:0;background:var(--ink);z-index:3}.video-stage{height:min(58svh,618px);aspect-ratio:auto}.video-info{padding:1.2rem 1.5rem 1.5rem}.video-info h2{font-size:1.4rem}.video-info p{margin-top:.65rem}
@media(max-width:720px){.video-stage{height:auto;aspect-ratio:16/9}.video-stage:has(video){height:58svh;aspect-ratio:auto}}

[hidden]{display:none!important}

/* Portfolio previews preserve each composition after removing embedded mattes. */
.project-track{--frame-height:clamp(190px,17vw,310px);align-items:flex-start;gap:1.4rem;padding-bottom:1.5rem}
#track-social{--frame-height:clamp(300px,29vw,400px)}
.project-card{flex:0 0 auto;width:min(calc(var(--preview-ratio)*var(--frame-height)),calc(100vw - var(--gutter)*2));min-width:0}
.project-image{aspect-ratio:var(--preview-ratio);background:#1b1d18;border-radius:5px;isolation:isolate}
.project-image::after{display:none}
.preview-image,.project-image .preview-image{position:absolute;max-width:none;width:var(--image-w,100%);height:var(--image-h,100%);left:var(--image-x,0%);top:var(--image-y,0%);object-fit:fill;transform:none;filter:none;transition:filter .3s}
.project-button:hover .preview-image{transform:none;filter:brightness(1.07)}
.project-caption{display:grid;grid-template-columns:minmax(0,1fr) 42px;align-items:center;gap:.9rem;padding:.9rem 0 .3rem;min-height:65px}
.project-caption h4{font-size:1rem;line-height:1.4}
.play-disc,.project-play{position:static;display:grid;place-items:center;flex-shrink:0;width:42px;height:42px;padding:0;border-radius:50%;border:1px solid #e5e6dc30;background:#f5f5f012;color:#f5f5f0;box-shadow:inset 0 1px 0 #ffffff16;transition:background .25s,color .25s,transform .3s,border-color .25s}
.play-disc svg{display:block;width:20px;height:20px;transform:none}
.project-button:hover .play-disc,.project-button:focus-visible .play-disc,.fan-watch:hover .play-disc{background:var(--lime);border-color:var(--lime);color:var(--ink);transform:scale(1.06)}
.project-type{font-size:.875rem;margin-top:.25rem;display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap}
.project-duration{font-size:.8125rem;font-variant-numeric:tabular-nums;color:#c1c3b6}
.load-video{display:inline-flex;align-items:center;gap:.6rem}
.load-video svg{width:20px;height:20px;flex-shrink:0}

/* An unpinned, full-width wall of work with alternating horizontal drift. */
.hero{display:block;position:relative;height:auto;min-height:0;max-height:none;padding:0;overflow:hidden;background:var(--ink)}
.hero::before{display:none}
.hero-screen{position:relative;top:0;height:auto;min-height:0;display:flex;flex-direction:column;gap:1.2rem;padding:1.5rem 0 1.8rem;isolation:isolate;overflow:hidden}
.hero-topline,.hero-heading,.hero-footer{margin-inline:var(--gutter)}
.hero-topline{font-size:.75rem;position:relative;z-index:2}
.hero-heading{position:relative;z-index:2;padding:.7rem 0 .2rem;pointer-events:none;transform:none}
.hero h1{font-size:clamp(3rem,6.5vw,7.5rem);line-height:.95;letter-spacing:-.045em;padding:0;margin:0}
.hero h1 .hero-reveal{display:block;color:var(--paper);font-size:.54em;font-weight:700;line-height:1.15;letter-spacing:-.035em;margin-top:.35em;opacity:var(--reveal,0);transform:translateY(calc((1 - var(--reveal,0))*.45em))}
.hero-comma{opacity:var(--reveal,0)}
.service-kicker{display:block;margin-bottom:.65rem;font-weight:600}
.project-wall{--wall-height:clamp(125px,16.5svh,180px);display:grid;gap:10px;padding:6px 0;margin:0;position:relative;isolation:isolate}
.wall-lane{position:relative;overflow:hidden;padding:5px 0}
.wall-track{display:flex;align-items:center;gap:12px;width:max-content;position:relative;will-change:transform}
.wall-card{position:relative;flex:none;height:var(--wall-height);width:calc(var(--wall-height)*var(--preview-ratio));padding:0;border-radius:4px;outline-offset:-4px;overflow:hidden;background:#22251e;transition:transform .25s}
.wall-image{position:absolute;inset:0;overflow:hidden;border:1px solid #ffffff25;border-radius:4px}
.wall-card .preview-image{pointer-events:none}
.wall-card:nth-child(3n){transform:rotate(-1deg)}
.wall-card:nth-child(4n){transform:rotate(1deg)}
.wall-card:hover,.wall-card:focus-visible{transform:translateY(-3px);z-index:2}
.wall-card:hover .wall-image,.wall-card:focus-visible .wall-image{border-color:var(--lime)}
.wall-caption{position:absolute;left:0;right:0;bottom:0;display:flex;gap:.65rem;align-items:center;justify-content:space-between;padding:1.6rem .8rem .75rem;background:linear-gradient(transparent,#10110ff0);font-size:.75rem;text-align:left;line-height:1.25;opacity:0;transition:opacity .2s;pointer-events:none}
.wall-caption svg{width:18px;height:18px;flex-shrink:0;color:var(--lime)}
.wall-card:hover .wall-caption,.wall-card:focus-visible .wall-caption{opacity:1}
.wall-note{position:relative;flex:none;height:var(--wall-height);width:calc(var(--wall-height)*1.35);padding:1rem;display:flex;flex-direction:column;justify-content:space-between;border-radius:4px}
.wall-note strong{font-size:clamp(1.5rem,2.5vw,2.4rem);line-height:.95;letter-spacing:-.055em;font-weight:800}
.wall-note>span{max-width:90%;font-size:.65rem;line-height:1.4;font-weight:500}
.wall-note>svg{position:absolute;right:.8rem;top:.8rem;width:24px;height:24px}
.note-lime{background:var(--lime);color:var(--ink)}.note-paper{background:var(--paper);color:var(--ink)}.note-dark{background:#24271e;color:var(--paper);border:1px solid #444938}.note-dark>svg{color:var(--lime)}
.hero-footer{position:relative;display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding-top:.1rem}
.hero-work-link{display:flex;align-items:center;gap:1.5rem;font-size:.875rem;border-bottom:1px solid #ffffff55;padding:.6rem 0;white-space:nowrap}
.hero-work-link:hover,.scroll-cue:hover{color:var(--lime)}
.scroll-cue{display:flex;align-items:center;gap:.8rem;font-size:.75rem;color:#bec2b1;white-space:nowrap}
.scroll-cue-line{display:none}.hero-end{position:absolute;bottom:0;left:0;width:1px;height:1px}
@media(max-width:1000px){.hero h1{font-size:7.4vw}}
@media(max-width:720px){
 .hero{height:auto;min-height:0;padding:0}.hero-screen{top:0;height:auto;min-height:0;padding:1.2rem 0 1.3rem;gap:1rem}.hero-topline{font-size:.65rem}.hero-heading{padding:.3rem 0 0}.hero h1{font-size:clamp(2rem,10.5vw,4.6rem);line-height:1;letter-spacing:-.045em}
 .project-wall{--wall-height:clamp(110px,15svh,145px);gap:5px;padding:4px 0}.wall-track{gap:8px}.wall-lane{padding:3px 0}.wall-note{padding:.7rem}.wall-note strong{font-size:1.6rem}.wall-note>span{font-size:.6rem}.wall-note>svg{right:.6rem;top:.6rem;width:18px;height:18px}
 .hero-footer{gap:.6rem}.hero-work-link{font-size:.75rem;gap:.65rem}.scroll-cue{font-size:.65rem;gap:.4rem}
 .project-track{--frame-height:220px;gap:1rem}.project-card{flex-basis:auto}.project-caption{grid-template-columns:minmax(0,1fr) 38px;gap:.5rem}.project-play{width:38px;height:38px}.project-type{font-size:.8125rem;gap:.5rem}#track-social{--frame-height:340px}.project-duration{font-size:.75rem}.project-image{aspect-ratio:var(--preview-ratio)}
}
@media(prefers-reduced-motion:reduce){.wall-track{will-change:auto}.wall-card,.wall-caption{transition:none}.hero h1 .hero-reveal,.hero-comma{opacity:1;transform:none}}

.project-play{background:var(--paper);color:var(--ink);border-color:transparent;box-shadow:0 2px 8px #0002}

/* Consistent, symmetric play controls and the supplied original photograph. */
.project-caption{padding:1rem 0;min-height:74px}
.project-caption>.project-play{padding:0;align-self:center;justify-self:center;line-height:1;color:var(--ink)}
.play-disc{line-height:1}
.about-photo img{aspect-ratio:auto;height:auto;max-height:none;object-fit:contain;object-position:center;border-radius:5px}
.collection{container-type:inline-size}
#track-film{--frame-height:calc((100cqw - 2.8rem) / 3 * 9 / 16)}
.project-caption{padding-inline:2px}
@media(max-width:1000px){#track-film{--frame-height:calc((100cqw - 1.4rem) / 2 * 9 / 16)}}
@media(max-width:720px){#track-film{--frame-height:calc(100cqw * 9 / 16)}}

.contact-address{font-size:.875rem;font-style:normal;text-align:right;line-height:1.6;margin-top:1.3rem;color:#4c4e44}
@media(max-width:720px){.contact-address{text-align:left}}

.admin-bar .site-header{top:32px}.legal-page{padding-top:160px;min-height:75vh}.legal-page h1{font-size:clamp(2rem,6vw,5rem);margin:32px 0}.legal-copy{max-width:900px;line-height:1.75}.legal-copy h2,.legal-copy h3{margin:2em 0 .6em}.legal-copy p{margin:0 0 1em}.legal-copy a{text-decoration:underline}.site-footer .footer-bottom a{margin-right:20px}@media(max-width:782px){.admin-bar .site-header{top:46px}}@media(max-width:600px){.admin-bar .site-header{top:0}}
