/* Native cursor: original BS period, tightly cropped; centered click hotspot. System cursor remains on touch. */
@media(hover:hover) and (pointer:fine){
 body,body *{cursor:url('dot-cursor.svg') 8 8,auto!important}
 input,textarea,[contenteditable=true]{cursor:text!important}
}
/* Existing header treatment; the landing hero now extends behind it at load. */
header{background:linear-gradient(180deg,rgba(16,12,24,.88),rgba(16,12,24,.42) 55%,transparent)!important}
header::before{inset:0!important;background:linear-gradient(180deg,rgba(19,13,28,.45),transparent)!important;mask-image:linear-gradient(#000 10%,transparent 100%)!important;-webkit-mask-image:linear-gradient(#000 10%,transparent 100%)!important}
@media(max-width:600px){
 header .brand{gap:6px;min-width:0}
 header .brand img{width:60px!important;flex-shrink:0}
 header .brand span{max-width:95px;font-size:8px!important;letter-spacing:0!important}
 header nav{gap:8px!important;font-size:8px;letter-spacing:.08em}
}
@media(max-width:390px){
 header{gap:8px}
 header .brand img{width:55px!important}
 header .brand span{max-width:75px;font-size:7px!important}
 header nav{gap:6px!important;font-size:7px;letter-spacing:.03em}
}

/* V7.14 — balanced central branding and quiet image interaction. */
header{display:grid!important;grid-template-columns:1fr 100px 1fr;gap:30px!important}
header .brand{grid-column:2;grid-row:1;justify-self:center}
header nav{grid-column:1;grid-row:1;justify-self:end;gap:26px}
.header-tagline{grid-column:3;grid-row:1;justify-self:start;font-size:11px;line-height:1.35;letter-spacing:.12em}

.workbench-bottom{justify-content:flex-end}.workbench-scroll{display:none}
.about-stage{height:1050px}.about-portrait{height:940px;width:100%;margin-left:0;align-self:center}
.about-partners{height:980px;gap:20px}
.about-partners img[alt="Arne Friedrich Stiftung"]{width:150px;height:60px;justify-self:center;align-self:center}
.about-bottom{max-width:1150px;margin-top:35px}
.about-bottom p{font-size:18px;line-height:1.65;text-wrap:balance}
#work .project.second h3{background:none!important;color:var(--white)!important;padding:0!important}
.ribbon-image>img{transition:transform .65s cubic-bezier(.2,.7,.2,1)!important;transform:scale(1) translate(0,0)}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
 .ribbon-card.is-inspected .ribbon-image>img{transform:scale(1.045) translate(var(--pan-x,0px),var(--pan-y,0px))}
 /* Keep the native dot visible even when the project label appears. */
}
.project-pointer{position:fixed;z-index:1000;pointer-events:none;width:28px;height:38px;opacity:0;background:transparent url('dot-cursor.svg') center/16px 16px no-repeat;transform:translate(16px,16px) rotate(0deg);transform-origin:5px 4px;transition:width .28s ease,transform .28s ease,background-color .28s ease,opacity .08s;display:flex;align-items:center;justify-content:center;overflow:hidden}
.project-pointer.is-visible{opacity:1}.project-pointer.is-open{width:140px;background:var(--pink);transform:translate(16px,16px) rotate(-13deg) skewX(-13deg)}
.project-pointer span{font:22px Wesley,Impact,sans-serif;color:#100d17;white-space:nowrap;opacity:0;transition:opacity .12s}
.project-pointer.is-open span{opacity:1;transition-delay:.12s}
@media(max-width:1000px){header{grid-template-columns:1fr 80px 1fr;gap:18px!important}header nav{gap:16px}.about-bottom p{font-size:17px}}
@media(max-width:750px){header{grid-template-columns:1fr 60px 1fr;gap:10px!important;padding-inline:4%}header nav{justify-self:start;display:grid;grid-template-columns:repeat(2,auto);gap:7px 12px!important;font-size:8px!important}.header-tagline{font-size:8px;letter-spacing:.04em}header .brand img{width:60px!important}.about-stage{height:760px}.about-portrait{height:650px;width:100%;margin-left:0}.about-partners{height:710px}.about-partners img[alt="Arne Friedrich Stiftung"]{width:65px;height:36px}.about-bottom p{font-size:15px;line-height:1.65}.about-bottom{margin-top:24px}}
@media(max-width:400px){.about-stage{height:710px}.about-portrait{height:610px}.about-partners{height:660px}}
@media(prefers-reduced-motion:reduce){.ribbon-image>img{transition:none!important}.project-pointer{display:none}}

/* V7.15 — original upper tools, only lower hands repositioned. */
.tool-videocam{right:-10%}.tool-mouse{left:31%}
header nav,.header-tagline{font-size:clamp(11px,1.05vw,14px)!important;font-weight:500;letter-spacing:.115em;line-height:1.15}
.header-tagline{white-space:nowrap}
.project-pointer.is-open span{transform:none}
.project-ribbon{margin-bottom:0}
.v75-manifest-grid{margin-top:-31px;padding-top:0;position:relative;z-index:2;pointer-events:none}
.v75-manifest-grid a{pointer-events:auto}
.v75-manifest-copy{align-items:start}
.v75-manifest-copy .v75-eyebrow{grid-column:1;grid-row:1}
.v75-manifest-copy>p:not(.v75-eyebrow){grid-column:2;grid-row:1/3;padding-right:70px}
.v75-manifest-copy .v75-text-link{grid-column:2;grid-row:3}
.ribbon-toggle{font-size:15px;line-height:15px;padding:8px 10px}
@media(min-width:1700px){.tool-videocam{right:0}}
@media(max-width:1000px){header nav{gap:12px}.tool-videocam{right:-24%}.header-tagline{font-size:11px!important}header nav{font-size:11px!important}}
@media(max-width:750px){header nav,.header-tagline{font-size:8px!important;letter-spacing:.025em}.tool-videocam{right:-28%}.tool-mouse{left:40%}.v75-manifest-grid{margin-top:-31px}.v75-manifest-copy>p:not(.v75-eyebrow){grid-column:auto;grid-row:auto;padding-right:0}.v75-manifest-copy .v75-text-link{grid-column:auto;grid-row:auto}}
@media(max-width:600px){.header-tagline{font-size:7px!important;letter-spacing:0}.tool-videocam{right:-28%}}
@media(max-width:400px){.tool-videocam{right:-35%}.header-tagline{font-size:7px!important}header nav{font-size:7px!important;gap:7px 8px!important}header{grid-template-columns:1fr 55px 1fr;gap:8px!important}}

/* SVG punctuation belongs in the title, never in the cover-image layer. */
#work .project h3 img.wesley-glyph{position:static!important;inset:auto!important;display:inline-block!important;height:.68em!important;width:auto!important;max-width:none!important;object-fit:contain!important;transform:none!important;z-index:auto!important;filter:brightness(0) invert(1);vertical-align:var(--glyph-baseline,-.09em)}
