/* Shadow Walker Entertainment: cinematic, accessible, responsive. */
:root {
  --swe-ink:#141414; --swe-panel:#1b1b1b; --swe-paper:#f0ece4;
  --swe-white:#f7f3eb; --swe-muted:#b7b3ab; --swe-red:#ee6a59;
  --swe-line:rgba(240,236,228,.19); --swe-serif:"Libre Caslon Display","Baskerville","Palatino Linotype",serif;
  --swe-sans:"DM Sans","Avenir Next","Trebuchet MS",sans-serif;
}
html {scroll-behavior:smooth; scroll-padding-top:115px;}
body.swe-site {margin:0; color:var(--swe-white); background:var(--swe-ink); font-family:var(--swe-sans); font-size:17px; line-height:1.65; -webkit-font-smoothing:antialiased;}
.swe-site *, .swe-site *::before, .swe-site *::after {box-sizing:border-box;}
.swe-site h1,.swe-site h2,.swe-site h3,.swe-site p,.swe-site figure {margin:0;}
.swe-site h1,.swe-site h2 {font-family:var(--swe-serif); font-weight:400; letter-spacing:-.035em; line-height:1.04;}
.swe-site a {color:inherit; text-decoration:none;}
.swe-site a:hover {text-decoration:none;}
.swe-site button {font:inherit;}
.swe-site img {display:block; max-width:100%; height:auto;}
.swe-site ::selection {color:var(--swe-ink); background:var(--swe-red);}
.swe-site a:focus-visible,.swe-site button:focus-visible,.swe-site summary:focus-visible {outline:2px solid var(--swe-red); outline-offset:6px;}
.swe-wrap {width:min(1248px,calc(100% - 112px)); margin-inline:auto;}
.swe-skip-link {position:fixed; z-index:10001; top:-100px; left:20px; padding:14px 20px; background:var(--swe-paper); color:var(--swe-ink)!important;}
.swe-skip-link:focus {top:16px;}
.swe-header {position:relative; z-index:40; background:var(--swe-ink); border-bottom:1px solid var(--swe-line);}
.swe-header-inner {width:min(1344px,calc(100% - 80px)); min-height:112px; margin:auto; display:flex; align-items:center; justify-content:space-between; gap:40px;}
.swe-wordmark {font-size:18px; font-weight:600; letter-spacing:.075em; line-height:1.1; flex-shrink:0;}
.swe-wordmark>span {display:block;}
.swe-wordmark-sub {font-size:10px; letter-spacing:.39em; margin-top:9px; font-weight:450;}
.swe-red-dot {display:inline-block; width:6px; height:6px; border-radius:50%; margin-left:6px; vertical-align:3px; background:var(--swe-red);}
.swe-nav {display:flex; align-items:center; gap:34px; font-size:13px; font-weight:500;}
.swe-nav>a {position:relative; padding:12px 0;}
.swe-nav>a:not(.swe-nav-contact)::after {position:absolute; content:""; bottom:5px; left:0; width:0; height:1px; background:var(--swe-red); transition:width .18s;}
.swe-nav>a:hover::after,.swe-nav>a[aria-current=page]::after {width:100%;}
.swe-nav .swe-nav-contact {padding:13px 22px; border:1px solid var(--swe-line); display:flex; align-items:center; gap:20px; margin-left:15px;}
.swe-nav-contact:hover {background:var(--swe-paper); color:var(--swe-ink);}
.swe-arrow {width:22px; height:22px; flex-shrink:0; vertical-align:middle;}
.swe-menu-button {display:none;}
.swe-eyebrow {font-size:11px; font-weight:500; text-transform:uppercase; letter-spacing:.18em; line-height:1.5;}
.swe-eyebrow-dot {display:inline-block; width:6px; height:6px; margin-right:9px; margin-bottom:1px; background:var(--swe-red); border-radius:50%;}
.swe-hero {position:relative; overflow:hidden;}
.swe-hero-grid {display:grid; grid-template-columns:1.15fr .85fr; gap:30px; align-items:stretch; min-height:640px; padding-top:68px; padding-bottom:58px;}
.swe-hero-copy {position:relative; z-index:2; padding:16px 0 18px; display:flex; flex-direction:column; align-items:flex-start;}
.swe-hero h1 {font-size:clamp(64px,6.7vw,99px); max-width:9.6ch; margin-top:38px; white-space:pre-line;}
.swe-hero-intro {font-size:17px; line-height:1.8; color:var(--swe-muted); max-width:430px; margin-top:30px!important;}
.swe-hero-actions {display:flex; gap:28px; align-items:center; flex-wrap:wrap; margin-top:34px;}
.swe-button {display:inline-flex; align-items:center; justify-content:space-between; gap:36px; min-height:54px; font-size:13px; font-weight:500; padding:14px 24px; border:1px solid var(--swe-line); transition:background .2s,color .2s;}
.swe-button-light {background:var(--swe-paper); color:var(--swe-ink)!important; border-color:var(--swe-paper);}
.swe-button-light:hover {background:#fff;}
.swe-text-link {display:inline-flex; align-items:center; gap:15px; padding:12px 0; font-size:13px; border-bottom:1px solid transparent;}
.swe-text-link:hover {border-color:currentColor;}
.swe-hero-art {min-height:534px; position:relative; overflow:hidden; isolation:isolate; align-self:center; background:#121212; border:1px solid var(--swe-line);}
.swe-hero-art::before {position:absolute; z-index:1; inset:0; content:""; background:linear-gradient(0deg,#101010 0%,transparent 24%,transparent 85%,#101010 100%); pointer-events:none;}
.swe-hero-art::after {position:absolute; inset:17px; content:""; border:1px solid rgba(240,236,228,.08); pointer-events:none; z-index:2;}
.swe-brand-art-fallback {position:absolute; inset:0; background-size:auto 100%; background-position:left center; background-repeat:no-repeat;}
.swe-hero-brand-image {position:absolute; inset:0; width:100%; height:100%!important; object-fit:cover; object-position:left;}
.swe-art-caption {position:absolute; z-index:3; bottom:33px; left:32px; right:32px; display:flex; justify-content:space-between; align-items:flex-end; gap:18px; color:var(--swe-muted); font-size:10px; letter-spacing:.16em; text-transform:uppercase; line-height:1.8;}
.swe-art-caption>span:last-child {text-align:right;}
.swe-hero-bottom {border-top:1px solid var(--swe-line); padding:22px 0 25px; display:flex; justify-content:space-between; gap:20px; color:var(--swe-muted); font-size:11px; letter-spacing:.075em;}
.swe-hero-bottom strong {font-weight:500; color:var(--swe-white);}
.swe-section {padding:100px 0;}
.swe-section-head {display:grid; grid-template-columns:1fr 1fr; gap:40px; align-items:end; margin-bottom:48px;}
.swe-section-head h2 {font-size:clamp(48px,5vw,72px); margin-top:18px; max-width:12ch;}
.swe-section-head>p {max-width:370px; justify-self:end; color:var(--swe-muted); font-size:15px; padding-bottom:6px;}
.swe-projects {border-top:1px solid var(--swe-line);}
.swe-project-grid {display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:54px 36px;}
.swe-project {min-width:0; scroll-margin-top:40px;}
.swe-project-visual {position:relative; aspect-ratio:1.87; overflow:hidden; background:#252823; border:1px solid var(--swe-line);}
.swe-project-no {position:absolute; left:24px; top:19px; z-index:1; color:rgba(247,243,235,.65); font-size:10px; letter-spacing:.17em;}
.swe-project-visual-title {position:absolute; bottom:24px; left:24px; right:24px; z-index:1; font-family:var(--swe-serif); font-size:clamp(35px,3.6vw,54px); letter-spacing:.065em; line-height:1; color:#f7f3eb;}
.swe-project-visual .swe-project-symbol {position:absolute; width:58%; height:100%; right:0; top:0; color:rgba(247,243,235,.3); transition:transform .6s;}
.swe-project:hover .swe-project-symbol {transform:scale(1.04);}
.swe-project-testament .swe-project-visual {background:linear-gradient(120deg,#292d29,#4b5344);}
.swe-project-calling .swe-project-visual {background:linear-gradient(120deg,#3b2924,#735348);}
.swe-project-esoteric .swe-project-visual {background:linear-gradient(120deg,#222a30,#344b54);}
.swe-project-pride .swe-project-visual {background:linear-gradient(120deg,#30232a,#544339);}
.swe-project-type {margin-top:22px!important; font-size:10px; text-transform:uppercase; letter-spacing:.17em; color:var(--swe-muted); display:flex; justify-content:space-between; gap:15px; flex-wrap:wrap;}
.swe-project-type .swe-project-status {color:var(--swe-red); letter-spacing:.075em;}
.swe-project h3 {font-size:22px; font-weight:500; letter-spacing:.025em; margin-top:12px;}
.swe-project-summary {color:var(--swe-muted); font-size:15px; line-height:1.8; margin-top:13px!important; max-width:98%;}
.swe-project details {margin-top:23px; border-top:1px solid var(--swe-line);}
.swe-project summary {list-style:none; cursor:pointer; font-size:12px; font-weight:500; min-height:52px; display:flex; align-items:center; justify-content:space-between; gap:20px;}
.swe-project summary::-webkit-details-marker {display:none;}
.swe-detail-plus {font-size:22px; font-weight:400; color:var(--swe-red); line-height:1;}
.swe-project details[open] .swe-detail-plus {transform:rotate(45deg);}
.swe-project-expanded {padding:8px 0 22px; font-size:14px; color:var(--swe-muted);}
.swe-project-expanded>p {margin-bottom:16px;}
.swe-project-spec {font-size:11px; text-transform:uppercase; letter-spacing:.08em;}
.swe-project-expanded .swe-text-link {color:var(--swe-white);}
.swe-materials-note {margin-top:50px!important; padding-top:23px; border-top:1px solid var(--swe-line); color:var(--swe-muted); font-size:12px;}
.swe-about {color:var(--swe-ink); background:var(--swe-paper);}
.swe-about-grid {display:grid; grid-template-columns:1fr 1fr; gap:80px;}
.swe-about h2 {font-size:clamp(52px,5.6vw,78px); margin-top:20px; max-width:9ch;}
.swe-about-text {padding-top:5px;}
.swe-about-lead {font-size:22px; line-height:1.55;}
.swe-founder {margin-top:35px; padding-top:28px; border-top:1px solid rgba(20,20,20,.2);}
.swe-founder h3 {font-family:var(--swe-serif); font-size:36px; font-weight:400; line-height:1.2;}
.swe-founder-role {margin-top:6px!important; font-size:11px; text-transform:uppercase; letter-spacing:.1em;}
.swe-founder-bio {margin-top:20px!important; color:#514d48; font-size:15px; line-height:1.8;}
.swe-about .swe-text-link {margin-top:15px; border-bottom-color:rgba(20,20,20,.25);}
.swe-collaboration {background:#1b1b1b; border-bottom:1px solid var(--swe-line);}
.swe-collaboration-grid {display:grid; grid-template-columns:1fr 1fr; gap:80px;}
.swe-collaboration h2 {font-size:clamp(48px,5vw,72px); max-width:10ch; margin-top:20px;}
.swe-collaboration-intro {color:var(--swe-muted); font-size:15px; max-width:390px; margin-top:22px!important;}
.swe-opportunities {border-top:1px solid var(--swe-line);}
.swe-opportunity {display:grid; grid-template-columns:35px 1fr; column-gap:12px; padding:25px 0; border-bottom:1px solid var(--swe-line);}
.swe-opportunity>span {font-size:10px; color:var(--swe-red); padding-top:5px; letter-spacing:.1em;}
.swe-opportunity h3 {font-size:17px; font-weight:500;}
.swe-opportunity p {color:var(--swe-muted); font-size:13px; margin-top:7px; line-height:1.8;}
.swe-contact-grid {display:grid; grid-template-columns:1fr 1fr; gap:80px;}
.swe-contact h2 {font-size:clamp(58px,6.2vw,89px); max-width:9ch; margin-top:22px;}
.swe-contact-intro {font-size:15px; color:var(--swe-muted); max-width:370px; margin-top:26px!important;}
.swe-contact-links {align-self:center; width:100%;}
.swe-contact-row {display:block; padding:26px 0; border-bottom:1px solid var(--swe-line);}
.swe-contact-row:first-child {border-top:1px solid var(--swe-line);}
.swe-contact-row-label {font-size:10px; letter-spacing:.18em; text-transform:uppercase; color:var(--swe-muted); display:block; margin-bottom:10px;}
.swe-contact-value {display:flex; justify-content:space-between; align-items:center; gap:12px; font-size:clamp(15px,1.7vw,24px); line-height:1.6; font-weight:450;}
.swe-contact-value>span:first-child {overflow-wrap:anywhere; min-width:0;}
.swe-contact-row:hover .swe-arrow {color:var(--swe-red);}
.swe-contact-person {margin-top:23px!important; font-size:12px; color:var(--swe-muted);}
.swe-footer {border-top:1px solid var(--swe-line); padding:38px 0 40px;}
.swe-footer-inner {display:flex; align-items:end; justify-content:space-between; gap:25px; font-size:10px; color:var(--swe-muted);}
.swe-footer-brand {font-size:13px; color:var(--swe-white)!important; line-height:1.6;}
.swe-footer-brand>span {display:block; color:var(--swe-muted); font-size:10px;}
.swe-back-top {font-size:11px;}
.swe-back-top>span {margin-left:12px;}
.swe-page-intro {padding:66px 0 20px; border-bottom:1px solid var(--swe-line);}
.swe-page-intro h1 {font-size:clamp(50px,6vw,80px); margin:18px 0 35px;}
.swe-archive-content {max-width:860px; margin-inline:auto; padding:70px 0 100px; color:var(--swe-muted);}
.swe-archive-content p {margin-bottom:22px;}
.swe-archive-content iframe {width:100%; max-width:100%; aspect-ratio:16/9; height:auto; border:0;}
.swe-archive-content h1,.swe-archive-content h2,.swe-archive-content h3 {color:var(--swe-white); margin:24px 0 16px;}
.swe-hero-copy {animation:swe-arrive .7s ease-out both;}
@keyframes swe-arrive {from{opacity:.7;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
@media (min-width:1600px) {.swe-hero-grid {gap:70px;}}
@media (max-width:1100px) {
 .swe-wrap {width:calc(100% - 72px);}
 .swe-header-inner {width:calc(100% - 64px); gap:25px;}
 .swe-nav {gap:24px;}
 .swe-nav .swe-nav-contact {margin-left:0; gap:12px; padding-inline:16px;}
 .swe-hero-grid {grid-template-columns:1.15fr .85fr; min-height:580px; padding-top:50px;}
 .swe-hero h1 {font-size:clamp(58px,7.2vw,82px);}
 .swe-hero-art {min-height:500px;}
 .swe-about-grid,.swe-collaboration-grid,.swe-contact-grid {gap:50px;}
}
@media (max-width:760px) {
 html {scroll-padding-top:32px;}
 .swe-wrap {width:calc(100% - 40px);}
 .swe-header-inner {width:calc(100% - 40px); min-height:92px; flex-wrap:wrap; column-gap:16px; row-gap:0;}
 .swe-wordmark {font-size:15px; letter-spacing:.06em;}
 .swe-wordmark-sub {font-size:8px; margin-top:7px; letter-spacing:.32em;}
 .swe-red-dot {vertical-align:2px; width:5px; height:5px; margin-left:5px;}
 .swe-nav {width:100%; display:flex; flex-wrap:wrap; padding:2px 0 20px; gap:8px 22px;}
 .swe-nav .swe-nav-contact {padding:10px 14px; margin-left:auto;}
 .swe-enhanced .swe-nav {display:none;}
 .swe-enhanced.swe-menu-open .swe-nav {display:flex;}
 .swe-enhanced .swe-menu-button {display:flex; align-items:center; gap:12px; color:var(--swe-white); background:transparent; border:0; padding:12px 0; min-height:48px; font-size:11px;}
 .swe-menu-lines {width:21px; height:12px; border-top:1px solid currentColor; border-bottom:1px solid currentColor;}
 .swe-menu-open .swe-menu-lines {transform:rotate(90deg);}
 .swe-hero-grid {grid-template-columns:1fr; padding-top:32px; gap:25px; padding-bottom:28px; min-height:0;}
 .swe-hero-copy {padding-top:12px; padding-bottom:8px;}
 .swe-hero h1 {font-size:clamp(56px,12.4vw,88px); margin-top:28px; max-width:10ch;}
 .swe-hero-intro {font-size:15px; max-width:420px; margin-top:26px!important;}
 .swe-hero-actions {margin-top:28px; gap:23px;}
 .swe-button {min-height:50px; font-size:12px; padding-inline:20px; gap:24px;}
 .swe-text-link {font-size:12px;}
 .swe-hero-art {min-height:0; height:370px; width:100%;}
 .swe-brand-art-fallback {background-position:left center;}
 .swe-art-caption {bottom:25px; left:26px; right:26px; font-size:9px;}
 .swe-hero-bottom {padding:21px 0; font-size:10px; flex-wrap:wrap; gap:9px;}
 .swe-section {padding:65px 0;}
 .swe-section-head {grid-template-columns:1fr; gap:24px; margin-bottom:32px;}
 .swe-section-head h2 {font-size:54px; max-width:15ch;}
 .swe-section-head>p {justify-self:start; max-width:450px; font-size:14px;}
 .swe-project-grid {grid-template-columns:1fr; gap:36px;}
 .swe-project-visual-title {font-size:clamp(33px,8vw,48px); left:22px; bottom:22px;}
 .swe-project-no {left:22px;}
 .swe-project-type {margin-top:18px!important; font-size:9px;}
 .swe-project h3 {font-size:20px;}
 .swe-project-summary {font-size:14px; margin-top:10px!important;}
 .swe-project details {margin-top:18px;}
 .swe-project summary {min-height:53px;}
 .swe-project-expanded {font-size:13px;}
 .swe-materials-note {font-size:11px; margin-top:35px!important;}
 .swe-about-grid,.swe-collaboration-grid,.swe-contact-grid {grid-template-columns:1fr; gap:35px;}
 .swe-about h2 {font-size:60px; max-width:12ch;}
 .swe-about-lead {font-size:20px;}
 .swe-founder {margin-top:28px; padding-top:24px;}
 .swe-founder-bio {font-size:14px;}
 .swe-collaboration h2 {font-size:54px; max-width:12ch;}
 .swe-collaboration-intro {font-size:14px;}
 .swe-contact h2 {font-size:66px; max-width:11ch;}
 .swe-contact-intro {font-size:14px; max-width:450px;}
 .swe-contact-value {font-size:clamp(14px,4vw,22px);}
 .swe-contact-row {padding:21px 0;}
 .swe-footer {padding:30px 0;}
 .swe-footer-inner {align-items:flex-start; flex-wrap:wrap; gap:20px;}
 .swe-footer-inner>p {order:3; width:100%; font-size:9px;}
 .swe-footer-brand {font-size:12px;}
 .swe-back-top {margin-left:auto; font-size:10px;}
 .swe-page-intro {padding-top:38px;}
 .swe-page-intro h1 {font-size:58px; margin-bottom:24px;}
 .swe-archive-content {padding-block:45px;}
}
@media (max-width:360px) {
 .swe-header-inner,.swe-wrap {width:calc(100% - 32px);}
 .swe-wordmark {font-size:13px;}
 .swe-hero h1 {font-size:54px;}
 .swe-nav .swe-nav-contact {margin-left:0;}
 .swe-hero-art {height:325px;}
 .swe-hero-actions {gap:15px;}
 .swe-contact-value {font-size:13px;}
}
@media (prefers-reduced-motion:reduce) {
 html {scroll-behavior:auto;}
 .swe-site *, .swe-site *::before,.swe-site *::after {animation:none!important; transition:none!important;}
}
