/* AFTER CUT V3.5 — original colour at rest, chromatic highlight on hover.
   The interactive hit area NEVER moves. Only a pointer-transparent inner surface
   is animated. Mobile is a paged LIST of landscape strips, not a drag carousel. */
:root { --accent:#6470ff; --accent-light:#b8dfff; }
.sr-only { position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important; }
.js .reveal,.js .reveal.is-visible {opacity:1;transform:none;transition:none;}
.js .showcase-cell>.project-card,.js .showcase-cell.is-placed>.project-card,body[data-motion=soft] .showcase-cell>.project-card {opacity:1;transform:none;transition:border-color .3s,box-shadow .4s;}
.showcase-rail {position:relative;gap:12px;grid-auto-columns:calc((100% - 60px)/6);padding:6px 0 12px;}
.showcase-cell {perspective:none;}
.project-card {height:clamp(390px,35vw,595px);border:1px solid #ffffff20;background:#080a0b;isolation:isolate;border-radius:0;padding:0;touch-action:manipulation;cursor:pointer;-webkit-appearance:none;appearance:none;}
.card-surface {display:block;position:absolute;inset:0;pointer-events:none;}
.card-surface * {pointer-events:none!important;}
.card-no {display:none!important;}
.card-visual {display:block;position:absolute;inset:0;transform:none;overflow:hidden;}
.card-visual picture {position:absolute;inset:0;display:block;}
.project-card .card-visual img,.project-card:hover .card-visual img,.project-card:focus-visible .card-visual img {
 position:absolute;inset:-3%;width:106%;height:106%;max-width:none;object-fit:cover;object-position:var(--image-focus,50% 50%);filter:none;
 transform:translate3d(var(--mx,0px),calc(var(--my,0px) + var(--scroll-parallax,0px)),0) scale(1.01);
 transition:transform 950ms cubic-bezier(.22,1,.36,1),opacity 500ms ease;
}
.project-card .card-visual .card-tint {z-index:1;opacity:0;filter:none;}
.card-overlay {z-index:2;opacity:0;background:linear-gradient(0deg,rgba(2,5,18,.98),rgba(3,7,21,.68) 20%,transparent 55%);transition:opacity .4s ease;}
.card-light {z-index:3;opacity:0;mix-blend-mode:screen;background:radial-gradient(190px 240px at var(--hx,50%) var(--hy,50%),#63dfff99,#6776ff33 40%,transparent 76%);transition:opacity .4s ease;}
.card-glint {position:absolute;inset:-10%;z-index:3;opacity:0;mix-blend-mode:screen;background:linear-gradient(112deg,transparent 33%,#91f2ff00 43%,#a1ebff66 48%,#d7bdff99 50%,#7994ff22 54%,transparent 66%);transform:translateX(-90%);}
.project-card::before {content:'';position:absolute;inset:0;z-index:5;pointer-events:none;border:1px solid #a5c9ff77;box-shadow:inset 0 0 24px #788aff12;opacity:0;transition:opacity .4s;}
.card-meta,.card-view {opacity:0;transform:translateY(14px);pointer-events:none;transition:transform 600ms var(--ease),opacity 300ms ease;z-index:4;}
.card-meta {left:17px;right:16px;bottom:68px;gap:9px;}
.card-meta strong {font-size:clamp(22px,1.9vw,30px);font-weight:700;line-height:1.03;letter-spacing:-.055em;color:#fff;text-wrap:balance;}
.card-meta em {font-size:11px;line-height:1.4;font-weight:400;letter-spacing:.01em;color:#dae8fa;}
.card-view {inset:auto 17px 25px;font-size:9px;letter-spacing:.015em;text-transform:none;font-weight:500;color:#e0eeff;}
.card-view .card-plus {font-size:22px;font-weight:400;transform:none;}
.project-card:is(.is-pointed,:focus-visible) {border-color:#98bfff;box-shadow:0 0 28px #305df523;}
.project-card:is(.is-pointed,:focus-visible)::before {opacity:1;}
.project-card:is(.is-pointed,:focus-visible) .card-visual img {transform:translate3d(var(--mx,0px),calc(var(--my,0px) + var(--scroll-parallax,0px)),0) scale(1.045);}
.project-card:is(.is-pointed,:focus-visible) .card-visual .card-tint {opacity:.94;}
.project-card:is(.is-pointed,:focus-visible) .card-overlay,.project-card:is(.is-pointed,:focus-visible) .card-light {opacity:1;}
.project-card:is(.is-pointed,:focus-visible) .card-glint {animation:chromaticSweep 1050ms var(--ease) both;}
.project-card:is(.is-pointed,:focus-visible) .card-meta {opacity:1;transform:none;transition-delay:50ms;}
.project-card:is(.is-pointed,:focus-visible) .card-view {opacity:1;transform:none;transition-delay:110ms;}
.project-card:is(.is-pointed,:focus-visible) .card-plus {transform:translate(2px,-2px);}
.project-card[aria-expanded=true] {border-color:#9ba7d7;box-shadow:none;}
.project-card[aria-expanded=true]::after {height:2px;background:#a4c8ff;}
.project-card:focus-visible {outline:2px solid #e2f2fc;outline-offset:-4px;}
@keyframes chromaticSweep {0%{opacity:0;transform:translateX(-90%)}30%{opacity:.8}100%{opacity:0;transform:translateX(90%)}}
.rail-progress {height:1px;background:#ffffff16;margin:7px 0 17px;overflow:hidden;}
.rail-progress span {display:block;width:50%;height:1px;background:#aec5d1;}
.rail-foot {margin-top:0;gap:16px;}
.cursor-orbit {border-color:#d4e7f96b;background:#05132118;}
.cursor-cross {filter:drop-shadow(0 0 8px #a3b5ff);}
.mobile-rail-controls,#mobilePageLabel {display:none;}
.browser-notice {border:1px solid #728bae66;background:#151d26;padding:16px;font-size:13px;color:#d7e4ee;line-height:1.65;}
.interactions-ready .browser-notice {display:none;}
/* Quiet About. Actual text stays in the DOM, never split into inaccessible characters. */
.about-line {display:block;overflow:hidden;padding-bottom:.08em;margin-bottom:-.08em;}
.about-line>span {display:block;}
.portrait img {transform:translate3d(0,var(--portrait-shift,0px),0) scale(1.025);transition:transform 450ms ease-out;}
.motion-paused .portrait img {transition:none;}
body[data-motion=off] .portrait img {transform:none;}
@media(max-width:1100px) and (min-width:761px) {
 .showcase-rail{grid-auto-columns:calc((100% - 24px)/3)}.project-card{height:470px}.card-meta strong{font-size:29px;}
}
@media(hover:none),(pointer:coarse) {
 .project-card {cursor:pointer;}
 .project-card .card-meta {opacity:1;transform:none;}
 .project-card .card-view {opacity:1;transform:none;}
 .project-card .card-overlay {opacity:1;}
 .project-card .card-visual img,.project-card:hover .card-visual img {transform:none!important;}
 .project-card .card-visual .card-tint,.project-card:hover .card-visual .card-tint {opacity:0;}
 .project-card:active .card-visual .card-tint {opacity:.45;}
 .project-card .card-light,.project-card .card-glint {display:none;}
 .project-cursor {display:none!important;}
 .site-header nav a {padding:15px 0;}
}
@media(max-width:760px) {
 :root{--pad:22px}
 .showcase-rail {display:grid;grid-template-columns:minmax(0,1fr);grid-auto-flow:row;grid-auto-columns:auto;gap:10px;overflow:visible;scroll-snap-type:none;overscroll-behavior:auto;width:100%;max-width:100%;padding:4px 0 12px;min-height:0;}
 .showcase-cell {width:100%;min-width:0;scroll-snap-align:none;}
 .showcase-cell[hidden] {display:none!important;}
 .project-card,.js .showcase-cell>.project-card {width:100%;height:clamp(126px,33vw,165px);min-height:0;padding:0;opacity:1;visibility:visible;transform:none;overflow:hidden;}
 .card-surface {inset:0;}
 .card-visual {position:absolute;inset:0;width:auto;height:auto;aspect-ratio:auto;min-height:0;}
 .project-card .card-visual img,.project-card:hover .card-visual img {inset:0;width:100%;height:100%;transform:none!important;object-fit:cover;object-position:var(--mobile-focus,50% 45%);}
 .project-card .card-overlay,.project-card:hover .card-overlay {opacity:1;background:linear-gradient(90deg,#03060cbb,transparent 90%),linear-gradient(0deg,#02050ad9,transparent 80%);}
 .project-card .card-meta,.project-card:is(.is-pointed,:focus-visible) .card-meta {left:17px;right:43px;bottom:18px;opacity:1;transform:none;gap:5px;}
 .project-card .card-meta strong {font-size:clamp(22px,6vw,28px);line-height:1.04;letter-spacing:-.045em;font-weight:700;text-wrap:normal;}
 .project-card .card-meta em {font-size:10px;color:#d0d9e5;}
 .project-card .card-view {display:none;}
 .project-card::before {content:'↗';inset:auto 15px 22px auto;opacity:1;border:0;box-shadow:none;color:#d9e8ff;font-size:23px;width:auto;height:auto;}
 .project-card .card-light,.project-card .card-glint {display:none;}
 .project-card .card-visual .card-tint,.project-card:is(.is-pointed,:focus-visible) .card-visual .card-tint {opacity:0;}
 .project-card:active .card-visual .card-tint {opacity:.45;}
 .rail-controls{gap:7px;}.arrow{width:44px;height:44px;}
 .rail-progress {margin:4px 0 13px;}
 .rail-foot>span:first-child:not(#mobilePageLabel) {display:none;}
 .rail-foot {font-size:10px;gap:10px;}
 #mobilePageLabel{display:block;}
 .rail-foot>span:nth-child(2){display:none;}
 .mobile-rail-controls {display:flex;justify-content:center;gap:24px;align-items:center;margin-top:22px;}
 .mobile-rail-controls>span{font-size:11px;color:#b9c3ca;}
 .section-heading{align-items:center;gap:14px;}.section-heading h2{font-size:clamp(34px,9vw,45px);}
 .section-heading>div:first-child{gap:10px;}
 .hero,body[data-motion=soft] .hero {height:110svh;}
 .about-grid {display:flex;flex-direction:column;align-items:stretch;gap:12px;}
 .about-copy {order:0;max-width:none;width:100%;}
 .about-copy h3 {font-size:clamp(42px,12vw,58px);}
 .about-copy .clients{margin-top:24px;}
 .about-grid .portrait {order:1;align-self:flex-end;position:relative;width:min(82%,330px);height:clamp(215px,63vw,290px);min-height:0;max-height:290px;margin:2px 0 0;}
 .portrait img {object-fit:cover;object-position:50% 33%;transform:none!important;transition:none;}
 .portrait::after {background:linear-gradient(90deg,var(--bg),transparent 14%,transparent 90%,var(--bg)),linear-gradient(0deg,var(--bg),transparent 29%,transparent 94%,var(--bg));}
 .project-stage{margin-top:36px;scroll-margin-top:24px;}
 .case-hero{min-height:0;height:565px;}.case-copy{left:22px;right:22px;width:auto;}
 .case-copy h3{font-weight:700;}
 .credits{overflow-wrap:anywhere;}
 .contact-grid{grid-template-columns:1fr;}
 .contact-form input,.contact-form textarea {font-size:16px;}
 .case-footer .behance{font-size:12px;min-height:44px;padding:12px 0;}
 .project-cursor {display:none!important;}
}
@media(max-width:360px) {
 :root{--pad:18px}.site-header nav{gap:13px}.section-heading h2{font-size:35px}.section-heading .section-no{display:none;}
 .card-meta strong{font-size:23px;}
}
@media(prefers-reduced-motion:reduce) {
 .js .showcase-cell>.project-card,.card-surface,.js .reveal,.about-line>span{opacity:1!important;transform:none!important;}
 .portrait img{transform:none!important;transition:none;}.project-cursor{display:none!important;}.card-glint{display:none!important;}
}
body:not(.js) .card-meta,body:not(.js) .card-view{opacity:1;transform:none;}
body:not(.js) .card-overlay{opacity:1;}
