:root{--accent:#b8ff34;--motion-ease:cubic-bezier(.16,1,.3,1)}
/* Case-study copy uses natural flow; media and carousel masks remain unchanged. */
body[data-case-study] [data-copy-frame]{height:auto!important;max-height:none!important;min-width:0;overflow:visible!important;flex-shrink:0}
body[data-case-study] :is(h1,h2,h3,h4,h5,h6).portfolio-text{line-height:1.15!important;overflow-wrap:break-word}
body[data-case-study] [data-portfolio-name="Heading"]{height:auto!important;overflow:visible!important;max-width:100%}
body[data-case-study] #work-hero{height:auto!important;min-height:0!important;padding-top:clamp(64px,7vw,100px)!important;padding-bottom:clamp(64px,7vw,100px)!important}
body[data-case-study] [data-portfolio-name="Logo Text"]{height:auto!important;overflow:visible!important;width:100%!important}
html{scroll-behavior:smooth;background:#000;overflow-x:clip}body{margin:0;background:#000;overflow-x:clip}
.skip-link{position:fixed;left:20px;top:-80px;z-index:10000;background:var(--accent);color:#000;padding:14px 20px;font:16px sans-serif}.skip-link:focus{top:20px}
a:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:5px}
[data-enter]{opacity:1;transform:none}
[data-motion-pending]{opacity:0;transform:var(--enter-transform,translateY(80px))}
[data-portfolio-name="Work Card"] [data-portfolio-name="Cover Image"]{transition:transform 1s var(--motion-ease)}
[data-portfolio-name="Work Card"]:hover [data-portfolio-name="Cover Image"]{transform:scale(1.035)}
/* Keep the clickable mask still; roll two equal-height text rows through it. */
[data-portfolio-name="Menu-text"] [data-portfolio-name="Text"]{display:grid!important;grid-template-columns:max-content;align-items:start!important;justify-content:start!important;height:auto!important;overflow:hidden!important;transform:none!important;font-size:24px;line-height:1.35}
[data-portfolio-name="Menu-text"] [data-portfolio-name="Text"]>div{grid-area:1/1;position:relative!important;height:auto!important;transform:translateY(0)!important;transition:transform .6s var(--motion-ease)}
[data-portfolio-name="Menu-text"] [data-portfolio-name="Text"]>div:nth-child(2){transform:translateY(100%)!important}
[data-portfolio-name="Menu-text"] [data-portfolio-name="Text"] p{line-height:1.35!important;margin:0!important}
[data-portfolio-name="Menu-text"]:is(:hover,:focus-within) [data-portfolio-name="Text"]>div:first-child{transform:translateY(-100%)!important}
[data-portfolio-name="Menu-text"]:is(:hover,:focus-within) [data-portfolio-name="Text"]>div:nth-child(2){transform:translateY(0)!important}
.portfolio-pointer-events-none{pointer-events:none}
.portfolio-cursor{position:fixed;left:0;top:0;width:40px;height:40px;border:2px solid #999;border-radius:50%;pointer-events:none;z-index:100;opacity:0;transition:opacity .2s,border-radius .35s,background .35s;will-change:transform}.portfolio-cursor.over-link{border-radius:12px;background:#ffffff26;border-color:#ddd}
@media(pointer:coarse){.portfolio-cursor{display:none}[aria-label="Carousel pagination controls"] button{min-width:44px;min-height:44px}}
.tool-ticker{overflow:hidden}.tool-ticker>ul{animation:tools-drift 32s linear infinite;will-change:transform}.tool-ticker:hover>ul{animation-play-state:paused}
.tool-ticker{position:relative}.tool-ticker:hover>ul{animation-play-state:running}.tool-ticker.motion-paused>ul{animation-play-state:paused!important}
.motion-toggle{position:absolute;right:8px;bottom:8px;z-index:5;border:1px solid #777;border-radius:4px;padding:8px 12px;min-height:44px;background:#111;color:#fff;font:12px Inter,sans-serif;cursor:pointer}
.motion-toggle:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
@media(prefers-reduced-motion:reduce){.motion-toggle{display:none}}
@media(max-width:1199px){[aria-label="Carousel pagination controls"] button,[aria-label="Slideshow pagination controls"] button{min-width:44px;min-height:44px}[aria-label="Slideshow pagination controls"] button[aria-label^="Scroll to page"]{padding:12px!important}}
@keyframes tools-drift{to{transform:translateX(var(--ticker-distance,-1800px))}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}[data-motion-pending]{opacity:1!important;transform:none!important}}
@media(prefers-reduced-motion:reduce){.portfolio-cursor{display:none}}
