/* 04 / SELECTED WORK. Cinematic editorial filmstrip, scoped to .sw. */
.sw{--sw-ink:#0a0708;--sw-cream:#e4ccaf;--sw-sand:#c1af9d;--sw-red:#b85e55;--sw-rule:rgba(228,204,175,.23);--sw-display:var(--display,'Big Shoulders Display',Impact,sans-serif);--sw-serif:var(--serif,'Instrument Serif',Georgia,serif);--sw-ui:var(--ui,'Instrument Sans',Arial,sans-serif);position:relative;isolation:isolate;background:#0a0708;color:var(--sw-cream);overflow:clip;scroll-margin-top:30px}
.sw *{box-sizing:border-box}.sw button,.sw a{-webkit-tap-highlight-color:transparent}.sw__grain{position:absolute;inset:0;background:linear-gradient(180deg,rgba(12,4,6,.42),rgba(9,4,6,.9)),radial-gradient(ellipse at 44% 53%,rgba(95,25,30,.28),transparent 68%),url('/assets/hero-atmosphere.webp') center/cover no-repeat;z-index:-1;pointer-events:none;opacity:.68}
.sw__shell{width:min(calc(100% - clamp(36px,7vw,146px)),1576px);margin:0 auto}.sw__folio{height:75px;border-top:1px solid var(--sw-rule);display:flex;align-items:center;gap:28px;color:#bd9c90;font:700 10px/1.4 var(--sw-ui);letter-spacing:.16em}.sw__folio>span:first-child{display:flex;align-items:center;white-space:nowrap;gap:13px}.sw__folio i,.sw__controls-note i{display:inline-block;flex:none;background:var(--sw-red);width:7px;height:7px;border-radius:50%;box-shadow:0 0 0 4px rgba(184,94,85,.12)}.sw__folio-rule{flex:1;background:var(--sw-rule);height:1px}
.sw__intro{padding:clamp(46px,5vw,94px) 0 60px;display:grid;grid-template-columns:minmax(0,1fr) 250px;gap:30px;align-items:end}.sw__eyebrow{color:#c39e8e;font:700 10px/1.3 var(--sw-ui);letter-spacing:.2em;margin:0}.sw__eyebrow span{color:var(--sw-red)}.sw__headline{font:900 clamp(103px,12vw,206px)/.8 var(--sw-display);letter-spacing:-.035em;margin:23px 0 0}.sw__headline em{font:italic 400 .62em/1 var(--sw-serif);color:#d69d8c;letter-spacing:-.05em;white-space:nowrap}.sw__intro-aside{display:flex;flex-direction:column;gap:19px;border-left:1px solid var(--sw-rule);padding-left:22px}.sw__intro-num{font:900 clamp(95px,8vw,133px)/.75 var(--sw-display);color:var(--sw-cream)}.sw__intro-num sup{font:italic 400 22px/1 var(--sw-serif);color:#aa685e;vertical-align:top;padding-left:5px}.sw__intro-aside p{max-width:230px;font:400 14px/1.62 var(--sw-ui);color:#b8a093;margin:0}.sw__intro-aside>span:last-child{font:700 9px/1.3 var(--sw-ui);letter-spacing:.14em;color:#b69382}.sw__intro-aside b{color:var(--sw-red);font-size:18px;margin-left:8px}
.sw__filters{display:flex;align-items:start;gap:27px;padding:19px 0 28px;border-top:1px solid var(--sw-rule)}.sw__filters-label{flex:none;font:700 10px/1.3 var(--sw-ui);color:#b69a8b;letter-spacing:.13em;padding-top:12px}.sw__filters-list{display:flex;flex-wrap:wrap;gap:7px}.sw__filter{border:1px solid rgba(228,204,175,.2);color:#ba9d8e;background:rgba(58,24,27,.33);padding:10px 12px;font:600 10px/1.4 var(--sw-ui);letter-spacing:.05em;text-transform:uppercase;display:inline-flex;align-items:center;gap:12px;cursor:pointer;transition:color .25s,border-color .25s,background .25s}.sw__filter small{font:italic 400 14px/1 var(--sw-serif);color:var(--sw-red)}.sw__filter:hover,.sw__filter.is-active{background:#522024;border-color:#b85e55;color:#f0d6b7}
.sw__cinema{position:relative;height:clamp(590px,65vw,850px);isolation:isolate;overflow:hidden;border-block:1px solid rgba(228,204,175,.17);background:radial-gradient(ellipse at 49% 54%,#341319 0%,#16090c 49%,#0b0608 88%);perspective:1000px}/* Three infinitely looping headline tapes. Motion continues even when a card is hovered. */
.sw__wall{position:absolute;inset:0;z-index:0;display:grid;grid-template-rows:repeat(3,minmax(0,1fr));overflow:hidden;pointer-events:none;contain:paint}
.sw__wall-row{position:relative;display:flex;align-items:center;overflow:hidden;border-bottom:1px solid rgba(228,204,175,.10)}
.sw__wall-row:nth-child(2){background:rgba(12,5,7,.17)}
.sw__wall-track{display:flex;width:max-content;flex:none;align-items:center;white-space:nowrap;will-change:transform;animation:sw-wall-to-left 55s linear infinite}
.sw__wall-row--1 .sw__wall-track{animation-name:sw-wall-to-right;animation-duration:52s}
.sw__wall-row--2 .sw__wall-track{animation-name:sw-wall-to-left;animation-duration:61s}
.sw__wall-row--3 .sw__wall-track{animation-name:sw-wall-to-right;animation-duration:48s}
.sw__wall-track span{display:block;flex:0 0 auto;padding:0 .16em;color:#d9bda6;font:900 clamp(120px,18vw,340px)/.78 var(--sw-display);letter-spacing:-.035em;opacity:.16;text-transform:uppercase}
.sw__wall-row:nth-child(2) .sw__wall-track span{color:#9f5b55;opacity:.25}
.sw__wall-row:nth-child(3) .sw__wall-track span{color:#d59c89;opacity:.18}
@keyframes sw-wall-to-left{from{transform:translate3d(0,0,0)}to{transform:translate3d(-50%,0,0)}}
@keyframes sw-wall-to-right{from{transform:translate3d(-50%,0,0)}to{transform:translate3d(0,0,0)}}
.sw__cinema-red{position:absolute;z-index:0;width:clamp(330px,54vw,850px);aspect-ratio:1;border-radius:50%;top:12%;left:50%;transform:translateX(-50%);background:radial-gradient(circle,#552024 0%,#451419 48%,rgba(72,19,25,0) 72%);filter:blur(30px);pointer-events:none;opacity:.5}.sw__fade{position:absolute;left:0;right:0;height:16%;pointer-events:none;z-index:12}.sw__fade--top{top:0;background:linear-gradient(to bottom,#0a0708,rgba(10,7,8,0))}.sw__fade--bottom{bottom:0;background:linear-gradient(to top,#0a0708,rgba(10,7,8,0))}.sw__reel{position:absolute;z-index:2;inset:0;pointer-events:none}.sw__item{position:absolute;top:0;left:50%;width:min(60vw,775px);height:clamp(250px,24vw,325px);margin-left:calc(min(60vw,775px) / -2);transform:translate3d(0,0,0);pointer-events:none}.sw__card-link{display:block;position:absolute;inset:0;color:inherit;text-decoration:none;pointer-events:auto;transform:translateX(var(--sw-x,0px)) rotate(var(--sw-angle,0deg));transition:filter .28s,scale .4s cubic-bezier(.2,.7,.3,1);filter:drop-shadow(0 24px 25px rgba(0,0,0,.55));outline-offset:5px}.sw__card-link:hover,.sw__card-link:focus-visible{filter:drop-shadow(0 34px 37px rgba(0,0,0,.62));scale:1.035}.sw__plate{width:100%;height:100%;border:1px solid rgba(228,204,175,.35);overflow:hidden;position:relative;display:flex;flex-direction:column;padding:18px 20px 16px;background:#261017;color:#e4ccaf}.sw__item--paper .sw__plate{background:#e7e0d6;color:#211719;border-color:#fff0de}.sw__item--ink .sw__plate{background:#17191a;color:#f0e8dd}.sw__item--wine .sw__plate{background:#32151a;color:#e8ccba}.sw__item--ember .sw__plate{background:#ac3f34;color:#f6e1ce;border-color:#c78679}.sw__plate-upper{display:flex;justify-content:space-between;gap:15px;font:700 9px/1 var(--sw-ui);letter-spacing:.18em}.sw__concept{flex:1;position:relative;min-height:0;display:flex;align-items:center;justify-content:center;overflow:hidden;isolation:isolate;padding:7px 8px}.sw__concept-lines{position:absolute;inset:5% 0;display:flex;flex-direction:column;justify-content:space-evenly;pointer-events:none;opacity:.2}.sw__concept-lines i{display:block;width:100%;height:1px;background:currentColor}.sw__concept-lines i:nth-child(2){width:66%}.sw__concept-lines i:nth-child(3){width:83%;margin-left:auto}.sw__concept-visual{position:relative;height:94%;width:90%;display:grid;place-items:center}.sw__concept-caption{position:absolute;bottom:2%;left:0;right:0;display:flex;justify-content:space-between;font:600 7px/1 var(--sw-ui);letter-spacing:.16em;opacity:.75}.sw__concept-caption span:last-child{font-size:18px}.sw__plate-bottom{border-top:1px solid currentColor;padding-top:10px;display:flex;align-items:end;justify-content:space-between;gap:10px}.sw__plate-bottom>div{display:flex;flex-direction:column;min-width:0;gap:4px}.sw__plate-bottom small{font:700 8px/1.2 var(--sw-ui);text-transform:uppercase;letter-spacing:.13em;opacity:.69}.sw__plate-bottom strong{font:900 clamp(34px,4vw,57px)/.83 var(--sw-display);letter-spacing:-.015em;max-width:100%;overflow-wrap:anywhere}.sw__plate-bottom>span{white-space:nowrap;flex:none;font:700 8px/1.2 var(--sw-ui);letter-spacing:.12em}.sw__plate-bottom b{color:var(--sw-red);font-size:15px;margin-left:5px}.sw__item--ember .sw__plate-bottom b{color:#efd1ae}
/* Project-specific editorial visual systems. They are explicitly not application screenshots. */
.sw__visual-dashboard{width:75%;height:82%;border:1px solid currentColor;display:grid;grid-template-columns:1.3fr 1fr 1fr;grid-template-rows:20% 1fr 1fr;gap:7px;padding:10px;opacity:.7;transform:rotate(-3deg)}.sw__visual-dashboard span{grid-column:1/4;border-bottom:1px solid currentColor}.sw__visual-dashboard i{display:block;background:currentColor;opacity:.18;grid-row:2/4}.sw__visual-dashboard i:nth-of-type(2){opacity:.34;grid-row:2}.sw__visual-dashboard i:nth-of-type(3){opacity:.13;grid-row:3;grid-column:2/4}.sw__visual-dashboard b{position:absolute;font:900 80px/.9 var(--sw-display);right:-16px;bottom:-13px;opacity:.47}.sw__visual-map{width:89%;height:94%;position:relative;background-image:repeating-linear-gradient(22deg,transparent,transparent 18px,currentColor 19px,transparent 20px),repeating-linear-gradient(113deg,transparent,transparent 24px,currentColor 25px,transparent 26px);opacity:.48;border:1px solid currentColor}.sw__route{position:absolute;display:block;width:62%;height:28%;border:7px solid transparent;border-top-color:#d8796e;border-left-color:#d8796e;transform:rotate(-19deg);left:20%;top:20%;border-radius:50%}.sw__route--b{left:24%;top:42%;width:44%;height:22%;transform:rotate(22deg);border-top-color:currentColor;border-left-color:currentColor}.sw__visual-map>b{position:absolute;top:16%;left:23%;color:#d8796e;font:900 38px/1 var(--sw-display)}.sw__visual-map>i{position:absolute;bottom:16%;right:25%;color:#d8796e;font:900 49px/1 var(--sw-display)}.sw__visual-device{height:97%;width:29%;min-width:110px;border:8px solid currentColor;border-radius:20px;display:flex;flex-direction:column;align-items:center;justify-content:space-evenly;transform:rotate(-8deg);opacity:.67;padding:9px}.sw__visual-device span{font-size:8px}.sw__visual-device b{font:900 clamp(41px,4vw,73px)/1 var(--sw-display)}.sw__visual-device i{height:4px;width:75%;background:currentColor;opacity:.5}.sw__visual-device i:nth-of-type(2){width:54%}.sw__visual-device i:nth-of-type(3){width:64%}.sw__visual-wave{width:100%;height:100%;display:flex;align-items:center;gap:12px;justify-content:center;opacity:.65}.sw__visual-wave span{position:absolute;width:195px;height:195px;border:1px solid currentColor;border-radius:50%;box-shadow:0 0 0 25px rgba(200,113,103,.14),0 0 0 50px rgba(200,113,103,.08)}.sw__visual-wave i{position:relative;display:block;width:22px;height:23%;background:currentColor;transform:skewY(-13deg)}.sw__visual-wave i:nth-of-type(2){height:67%}.sw__visual-wave i:nth-of-type(3){height:48%}.sw__visual-wave i:nth-of-type(4){height:89%}.sw__visual-wave i:nth-of-type(5){height:36%}.sw__visual-lens{width:175px;height:175px;max-height:95%;border:20px solid currentColor;border-radius:50%;display:grid;place-items:center;transform:rotate(-17deg);opacity:.65}.sw__visual-lens i{position:absolute;inset:18%;border:1px solid currentColor;border-radius:50%}.sw__visual-lens b{font:900 53px/.85 var(--sw-display)}.sw__visual-type{display:grid;gap:8px;text-align:center;place-items:center}.sw__visual-type i{font:italic 400 clamp(93px,12vw,160px)/.8 var(--sw-serif);letter-spacing:-.08em;opacity:.7}.sw__visual-type b{font:700 10px/1 var(--sw-ui);letter-spacing:.25em}
.sw__cinema-foot{position:absolute;z-index:15;bottom:18px;left:clamp(17px,5vw,86px);right:clamp(17px,5vw,86px);display:flex;justify-content:space-between;gap:10px;font:700 9px/1.2 var(--sw-ui);letter-spacing:.17em;color:#ceac9c;pointer-events:none}
.sw__controls{border-bottom:1px solid var(--sw-rule);padding:20px 0;display:flex;align-items:center;gap:20px;justify-content:space-between}.sw__controls-note{display:flex;align-items:center;gap:12px;font:700 9px/1.3 var(--sw-ui);letter-spacing:.14em;color:#b69888}.sw__state{font:700 9px/1.3 var(--sw-ui);letter-spacing:.12em;color:#ad7069}.sw__pause{flex:none;padding:12px 15px;color:#f0d7bd;border:1px solid #89554b;background:rgba(83,26,30,.4);font:700 10px/1.2 var(--sw-ui);letter-spacing:.13em;cursor:pointer}.sw__pause:hover{border-color:#dc9581;background:#6a272b}.sw__footer{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:45px 0 55px;font:700 10px/1.4 var(--sw-ui);letter-spacing:.14em;color:#b49b8b}.sw__footer a{color:#e5c6aa;text-decoration:none;border-bottom:1px solid #b85e55;padding-bottom:9px;transition:color .2s}.sw__footer a:hover{color:#fff0d8}
.sw__dialog{padding:0;border:0;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);margin:0;width:min(1050px,calc(100vw - 36px));max-height:min(91vh,950px);background:transparent;color:var(--sw-cream);overflow:visible;z-index:9999}.sw__dialog:not([open]){display:none!important}.sw__dialog::backdrop{background:rgba(4,3,4,.82);backdrop-filter:blur(12px)}.sw__modal{background:#160b0d;border:1px solid #8c4c42;box-shadow:0 30px 100px rgba(0,0,0,.75);max-height:min(91vh,950px);display:flex;flex-direction:column;overflow:hidden}.sw__modal-top,.sw__modal-bottom{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:16px clamp(18px,3vw,34px);font:700 10px/1.4 var(--sw-ui);letter-spacing:.16em;color:#c3a698}.sw__modal-top{border-bottom:1px solid var(--sw-rule)}.sw__modal-top>div{display:flex;align-items:center;gap:12px}.sw__modal-dot{width:7px;height:7px;border-radius:50%;background:#c96c5d}.sw__close{cursor:pointer;display:flex;align-items:center;gap:13px;border:1px solid #6c3733;padding:9px 12px;background:#311418;color:#e9c5ab;font:700 10px/1 var(--sw-ui);letter-spacing:.12em}.sw__close:hover{background:#542021}.sw__modal-body{display:grid;grid-template-columns:minmax(0,.74fr) minmax(0,1fr);min-height:430px;overflow:auto}.sw__modal-art{position:relative;isolation:isolate;overflow:hidden;min-height:420px;background:#421820;display:grid;place-items:center}.sw__modal-art--paper{background:#e0cbb8;color:#2b1518}.sw__modal-art--ink{background:#191518;color:#dcc5aa}.sw__modal-art--wine{background:#501b20;color:#f1d8b7}.sw__modal-art--ember{background:#ac443b;color:#f1d8b7}.sw__modal-art-grid{position:absolute;inset:0;opacity:.13;background:linear-gradient(90deg,currentColor 1px,transparent 1px),linear-gradient(currentColor 1px,transparent 1px);background-size:48px 48px}.sw__modal-art-circle{position:absolute;width:80%;aspect-ratio:1;border-radius:50%;border:1px solid currentColor;box-shadow:0 0 0 45px rgba(220,153,120,.06),0 0 0 80px rgba(220,153,120,.04);opacity:.48}.sw__modal-art strong{position:relative;font:900 clamp(120px,17vw,250px)/.7 var(--sw-display);letter-spacing:-.07em}.sw__modal-art-caption{position:absolute;left:24px;bottom:25px;font:700 9px/1 var(--sw-ui);letter-spacing:.14em}.sw__modal-copy{padding:clamp(25px,4vw,54px);display:flex;flex-direction:column;min-width:0}.sw__modal-eyebrow{font:700 10px/1.3 var(--sw-ui);letter-spacing:.16em;color:#ba756b;margin:0 0 25px}.sw__modal-title{font:900 clamp(55px,6vw,101px)/.83 var(--sw-display);letter-spacing:-.014em;margin:0;color:#edd1b2;overflow-wrap:anywhere}.sw__modal-subtitle{font:italic 400 clamp(19px,2vw,29px)/1.2 var(--sw-serif);color:#cc998b;margin:14px 0 24px}.sw__modal-rule{height:1px;background:#76453d}.sw__modal-description{font:400 clamp(14px,1.25vw,17px)/1.68 var(--sw-ui);color:#d5bbac;margin:23px 0 0}.sw__modal-features{padding-top:23px}.sw__modal-features h4{display:flex;justify-content:space-between;color:#b88b7e;font:700 10px/1.3 var(--sw-ui);letter-spacing:.15em;margin:0 0 11px}.sw__modal-features h4 span{color:#b85e55;font-size:17px}.sw__modal-features ul{padding:0;margin:0;list-style:none;display:grid;gap:7px}.sw__modal-features li{font:400 12px/1.45 var(--sw-ui);color:#d7bdb0;padding-left:18px;position:relative}.sw__modal-features li::before{content:"—";position:absolute;left:0;color:#b85e55}.sw__modal-stack-area{padding-top:25px}.sw__modal-stack-area h4{display:flex;align-items:center;justify-content:space-between;margin:0 0 14px;font:700 10px/1.3 var(--sw-ui);letter-spacing:.15em;color:#b88b7e}.sw__modal-stack-area h4 span{font-size:19px;color:#b85e55}.sw__modal-stack{display:flex;flex-wrap:wrap;gap:7px}.sw__modal-stack span{font:700 10px/1.2 var(--sw-ui);letter-spacing:.05em;color:#e7c9b3;border:1px solid #65433c;padding:10px 12px;background:#30171b}.sw__modal-note{margin:17px 0 0;font:400 12px/1.5 var(--sw-ui);color:#e2a39a}.sw__modal-repo{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:17px 0;border-top:1px solid #72443e;color:#f2d7b8;text-decoration:none;font:700 10px/1.3 var(--sw-ui);letter-spacing:.13em;margin-top:auto;padding-top:30px}.sw__modal-repo:hover{color:white}.sw__modal-repo span{font-size:22px;color:#b85e55}.sw__modal-bottom{border-top:1px solid var(--sw-rule);color:#a88e7f}.sw__filter:focus-visible,.sw__pause:focus-visible,.sw__card-link:focus-visible,.sw__close:focus-visible,.sw__modal-repo:focus-visible,.sw__footer a:focus-visible{outline:2px solid #ffbdad;outline-offset:4px}
@media(max-width:1024px){.sw__intro{grid-template-columns:minmax(0,1fr) 190px}.sw__headline{font-size:clamp(95px,12vw,150px)}.sw__cinema{height:700px}.sw__item{width:min(75vw,720px);height:300px;margin-left:calc(min(75vw,720px) / -2)}.sw__filters{flex-direction:column;gap:13px}.sw__filters-label{padding:0}}
@media(max-width:700px){.sw__folio{height:64px;gap:9px;font-size:8px;letter-spacing:.08em}.sw__folio>span:last-child{font-size:7px;white-space:nowrap}.sw__intro{display:block;padding:42px 0 36px}.sw__headline{font-size:clamp(77px,17vw,125px);line-height:.86;margin-top:21px}.sw__headline em{font-size:.62em}.sw__intro-aside{border-left:0;border-top:1px solid var(--sw-rule);padding:15px 0 0;margin-top:30px;display:grid;grid-template-columns:auto 1fr;gap:12px 24px;align-items:center}.sw__intro-num{font-size:65px;grid-row:1/3}.sw__intro-num sup{font-size:12px}.sw__intro-aside p{font-size:13px}.sw__intro-aside>span:last-child{font-size:8px}.sw__filters{padding:18px 0 23px}.sw__filters-list{gap:5px}.sw__filter{padding:9px 10px;font-size:9px}.sw__cinema{height:580px}.sw__wall span{font-size:clamp(95px,27vw,192px);opacity:.23}.sw__item{width:min(88vw,570px);height:235px;margin-left:calc(min(88vw,570px) / -2)}.sw__plate{padding:13px 15px 12px}.sw__plate-upper{font-size:7px}.sw__plate-bottom strong{font-size:clamp(29px,7vw,44px)}.sw__plate-bottom small{font-size:7px}.sw__plate-bottom>span{font-size:7px}.sw__concept-caption{font-size:6px}.sw__visual-device{min-width:95px}.sw__controls{flex-wrap:wrap;gap:14px}.sw__state{order:2}.sw__pause{margin-left:auto}.sw__footer{padding-block:32px;font-size:9px}.sw__modal-body{grid-template-columns:1fr;overflow-y:auto}.sw__modal-art{min-height:185px;max-height:200px}.sw__modal-art strong{font-size:135px}.sw__modal-art-caption{bottom:12px;font-size:7px}.sw__modal-copy{padding:24px 22px 27px}.sw__modal-eyebrow{margin-bottom:17px}.sw__modal-title{font-size:clamp(56px,13vw,84px)}.sw__modal-description{margin-top:16px}.sw__modal-stack-area{padding-top:20px}.sw__modal-repo{margin-top:24px;padding-top:18px}.sw__modal-top,.sw__modal-bottom{font-size:8px;padding:12px 18px}.sw__dialog,.sw__modal{max-height:90dvh}.sw__modal-art-circle{width:160px}.sw__modal-art strong{font-size:130px}}
@media(max-width:360px){.sw__shell{width:calc(100% - 32px)}.sw__headline{font-size:16.3vw}.sw__item{width:90vw;height:218px;margin-left:-45vw}.sw__cinema{height:520px}.sw__plate-bottom strong{font-size:26px}.sw__plate-bottom>span{font-size:6px}.sw__filters-list{gap:4px}.sw__filter{font-size:8px;padding:7px}.sw__controls-note{max-width:125px;font-size:8px}.sw__modal-title{font-size:52px}}
/* Functional fallback: all 18 real project entries remain reachable without motion/JS. */
.sw:not(.sw--animated) .sw__cinema{height:auto;min-height:460px;overflow:visible;padding:38px 0}.sw:not(.sw--animated) .sw__reel{position:relative;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:23px;width:min(calc(100% - 46px),1370px);margin:0 auto;pointer-events:auto}.sw:not(.sw--animated) .sw__item{position:relative;top:auto;left:auto;width:100%;height:230px;margin:0;transform:none!important;pointer-events:auto}.sw:not(.sw--animated) .sw__card-link{transform:none}.sw:not(.sw--animated) .sw__wall,.sw:not(.sw--animated) .sw__fade{display:none}.sw__item[hidden]{display:none!important}.sw-modal-open{overflow:hidden!important}
@media(max-width:700px){.sw:not(.sw--animated) .sw__reel{grid-template-columns:1fr;gap:15px;width:min(calc(100% - 34px),500px)}}
@media(prefers-reduced-motion:reduce){.sw *,.sw *::before,.sw *::after{animation:none!important;transition-duration:0.01ms!important}.sw__item{will-change:auto}.sw__card-link:hover,.sw__card-link:focus-visible{scale:1}}

/* V3 / project identity is above preview artwork and in the top-left safe area. */
.sw__plate{padding:0;isolation:isolate}
.sw__plate-upper{position:relative;z-index:6;flex:none;min-height:69px;padding:11px 17px;align-items:flex-start;gap:12px;background:rgba(11,8,10,.93);color:#f2dcc5;border-bottom:1px solid rgba(239,210,190,.25)}
.sw__plate-identity{display:flex;flex-direction:column;min-width:0;gap:5px}
.sw__plate-kicker{color:#c48e81;font:700 8px/1.1 var(--sw-ui);letter-spacing:.17em}
.sw__plate-identity strong{display:block;max-width:100%;font:900 clamp(25px,3.1vw,45px)/.89 var(--sw-display);letter-spacing:.018em;overflow-wrap:anywhere}
.sw__plate-count{font:italic 400 17px/1 var(--sw-serif);color:#d1aa9e;white-space:nowrap}
.sw__mockup{flex:1;min-height:0;position:relative;background:#161116;overflow:hidden}
.sw__mockup img{display:block;width:100%;height:100%;object-fit:cover;object-position:center;filter:saturate(.85) contrast(1.02);transition:filter .35s,transform .5s}
.sw__card-link:hover .sw__mockup img,.sw__card-link:focus-visible .sw__mockup img{filter:saturate(1.04) contrast(1.04);transform:scale(1.025)}
.sw__mockup-tag{position:absolute;bottom:10px;right:12px;padding:6px 9px;background:rgba(9,6,8,.85);border:1px solid rgba(230,186,164,.30);font:700 8px/1 var(--sw-ui);letter-spacing:.08em;color:#f0c4ae;pointer-events:none}
.sw__plate-bottom{position:relative;z-index:5;padding:9px 17px 12px;background:rgba(18,9,12,.96);color:#e4ccaf;border-top:1px solid rgba(228,204,175,.24);min-height:57px}
.sw__plate-bottom strong{font-size:clamp(24px,2.5vw,37px)}
.sw__plate-bottom small{color:#c2a197;opacity:1}
.sw__modal-art{padding:0;background:#191518!important;display:flex;align-items:stretch}
.sw__modal-image{width:100%;height:100%;object-fit:cover;object-position:center;display:block;min-height:0}
.sw__modal-art-caption{padding:8px 10px;background:rgba(9,7,9,.88);border:1px solid rgba(230,189,162,.25);font-size:8px;color:#edbbaa}
@media(max-width:1024px){.sw__plate-upper{min-height:65px}.sw__plate-identity strong{font-size:clamp(23px,3.9vw,39px)}}
@media(max-width:700px){.sw__wall-track span{font-size:clamp(110px,29vw,220px)}.sw__plate-upper{padding:8px 11px;min-height:50px}.sw__plate-identity{gap:3px}.sw__plate-kicker{font-size:6px}.sw__plate-identity strong{font-size:clamp(21px,6.3vw,30px)}.sw__plate-count{font-size:11px}.sw__mockup-tag{font-size:6px;bottom:6px;right:6px;padding:4px}.sw__plate-bottom{padding:7px 10px;min-height:45px}.sw__plate-bottom strong{font-size:clamp(20px,6vw,29px)}.sw__modal-art{height:220px;max-height:220px;min-height:220px}}
@media(prefers-reduced-motion:reduce){.sw__wall-track{animation:none!important;transform:translate3d(0,0,0)!important}}
/* Keep the top-left project label inside the safe viewing area on narrow screens. */
@media(max-width:700px){
  .sw__card-link{transform:rotate(-2deg)}
  .sw__item:nth-child(3n+2) .sw__card-link{transform:rotate(2deg)}
  .sw__item:nth-child(3n) .sw__card-link{transform:rotate(-1deg)}
}
/* Modal displays the WHOLE mockup, not a cropped fragment of its dashboard. */
.sw__modal-art{justify-content:center;align-items:center;background:radial-gradient(circle at 50% 50%,#322027,#100d12 70%)!important}
.sw__modal-image{display:block;width:100%;height:auto;max-height:100%;aspect-ratio:16/9;object-fit:contain;object-position:center}

/* V5: image-driven archive + GPU budget overrides; preserves the section art direction. */
.sw__visual-disclaimer {
  display:flex; align-items:center; gap:.75em; flex-wrap:wrap;
  margin:0; padding:12px 17px; border:1px solid rgba(230,177,145,.42);
  background:rgba(93,30,31,.35); color:#f1d8bf;
  font:600 clamp(10px,.9vw,12px)/1.5 var(--sw-ui);
  letter-spacing:.035em;
}
.sw__visual-disclaimer strong { color:#ffdbc6; font-weight:800; }
.sw__visual-disclaimer span { color:#e9a08f; font-size:18px; }
.sw__item { contain:layout style; will-change:auto; }
.sw__item.sw__item--composited { will-change:transform; }
.sw__card-link, .sw__card-link:hover, .sw__card-link:focus-visible {
  filter:none !important;
}
.sw__plate {
  box-shadow:0 15px 32px rgba(0,0,0,.42);
}
.sw__card-link { transition:scale .23s ease; }
.sw__mockup img {filter:none!important;transform:none!important;transition:none!important;}
.sw__card-link:hover .sw__mockup img,.sw__card-link:focus-visible .sw__mockup img {filter:none!important;transform:none!important;}
.sw__mockup-tag {
  left:10px; right:auto; bottom:10px; background:rgba(13,6,9,.93);
  color:#ffe1c9; border-color:rgba(252,205,174,.6); font-weight:800;
  letter-spacing:.07em; box-shadow:0 4px 14px rgba(0,0,0,.45);
}
.sw__wall-track {animation-play-state:paused;will-change:auto;}
.sw.sw--cinema-visible .sw__wall-track {animation-play-state:running;will-change:transform;}
.sw__cinema-red {filter:none !important;opacity:.24;}
.sw__dialog::backdrop{backdrop-filter:none;-webkit-backdrop-filter:none;}
.sw__modal-art-caption {max-width:calc(100% - 35px);line-height:1.5;white-space:normal;background:#230f13;color:#ffdbc2;border-color:#dfa088;}
.sw__modal-art-caption strong {color:#ffe9d8;}
@media(max-width:700px){
  .sw__visual-disclaimer {padding:11px 12px;font-size:10px;}
  .sw__mockup-tag {left:5px;bottom:5px;font-size:6px;max-width:94%;white-space:normal;}
}
@media(prefers-reduced-motion:reduce){
  .sw__item {will-change:auto!important;}
  .sw__wall-track {animation-play-state:paused!important;}
}

/* ==========================================
   PROJECT MODAL — DISCLAIMER TYPOGRAPHY FIX
   ========================================== */

.sw__modal-art .sw__modal-art-caption {
  position: absolute;
  z-index: 5;
  left: 16px;
  bottom: 16px;

  display: block;
  max-width: calc(100% - 32px);
  padding: 9px 13px;

  background: rgba(27, 10, 14, 0.94);
  border: 1px solid rgba(217, 151, 128, 0.45);

  color: #D6B8A7;
  font-family: var(--sw-ui, sans-serif);
  font-size: 10px;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  white-space: normal;

  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.2);
}

/* Prevent the old giant display-font rule
   from affecting the disclaimer */

.sw__modal-art .sw__modal-art-caption strong {
  position: static;
  display: inline;

  font-family: inherit;
  font-size: inherit;
  font-weight: 800;
  line-height: inherit;
  letter-spacing: inherit;

  color: #FFE2D0;
}
