/*
Theme Name: DLX Printing
Theme URI: https://dlxprinting.com
Author: DLX Printing
Description: A kinetic, responsive portfolio theme built for DLX Printing.
Version: 1.0.0
Requires at least: 6.4
Requires PHP: 7.4
Text Domain: dlx-printing
*/
:root{--black:#090909;--white:#f4f3ef;--pink:#63b9cd;--cyan:#63b9cd;--yellow:#63b9cd;--line:rgba(255,255,255,.2)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--black);color:var(--white);font-family:Arial,Helvetica,sans-serif;overflow-x:hidden}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}::selection{background:var(--pink);color:#fff}
.dlx-cursor{position:fixed;z-index:100;left:-42px;top:-42px;width:84px;height:84px;border-radius:50%;background:var(--yellow);pointer-events:none;mix-blend-mode:difference}
.site-header{position:fixed;z-index:80;inset:0 0 auto;height:78px;padding:0 2.8vw;display:flex;align-items:center;border-bottom:1px solid var(--line);background:rgba(9,9,9,.78);backdrop-filter:blur(14px)}.admin-bar .site-header{top:32px}.brand{width:176px;overflow:hidden}.brand img,.brand .custom-logo{width:100%;height:auto;display:block;filter:invert(1) grayscale(1) brightness(2);mix-blend-mode:screen}.brand .custom-logo-link{display:block}.availability{margin-left:45px;font:8px monospace;letter-spacing:.08em}.availability i{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--yellow);margin-right:8px;box-shadow:0 0 12px var(--yellow)}.desktop-nav{margin-left:auto;display:flex;gap:32px;font-size:12px}.desktop-nav a{transition:color .2s}.desktop-nav a:hover{color:var(--yellow)}.menu-toggle{margin-left:35px;width:68px;height:38px;background:transparent;color:#fff;border:1px solid #555;display:grid;grid-template-columns:1fr 15px;place-content:center;gap:3px 6px;cursor:pointer}.menu-toggle span{font:8px monospace;grid-row:1/3;align-self:center}.menu-toggle i{display:block;height:1px;background:#fff}.mobile-menu{position:fixed;z-index:-1;top:78px;right:0;width:min(520px,100vw);padding:30px 3vw 55px;background:var(--pink);color:#111;transform:translateY(-130%);transition:.65s cubic-bezier(.75,0,.2,1)}.admin-bar .mobile-menu{top:110px}.mobile-menu.open{transform:none}.mobile-menu a{display:grid;grid-template-columns:45px 1fr auto;padding:18px 0;border-bottom:1px solid #111;font-size:38px}.mobile-menu small{font:8px monospace}
.hero{position:relative;height:100svh;min-height:720px;padding:78px 2.8vw 30px;overflow:hidden}.hero-glow{position:absolute;width:65vw;height:65vw;right:-16vw;top:-23vw;border-radius:50%;background:radial-gradient(circle,var(--pink),transparent 64%);opacity:.22;filter:blur(30px);transition:transform .25s ease-out}.hero-meta{display:flex;justify-content:space-between;margin-top:28px;font:8px monospace;letter-spacing:.1em}.hero-title{position:absolute;z-index:3;left:2.4vw;right:2.4vw;top:46%;transform:translateY(-50%)}.hero-line{height:.85em;display:flex;align-items:center;gap:2vw;font-size:clamp(80px,13vw,215px);font-weight:800;line-height:.76;letter-spacing:-.09em;white-space:nowrap}.hero-line.accent{justify-content:flex-end}.hero-line.accent span{color:var(--cyan)}.hero-line.accent i{font-style:normal;color:var(--pink)}.hero-printer{position:relative;width:15vw;height:7vw;min-width:130px;min-height:64px;max-width:245px;max-height:112px;perspective:600px;filter:drop-shadow(-12px 18px 14px #000);transform:rotate(-4deg);animation:printerFloat 4s ease-in-out infinite}.printer-top{position:absolute;height:18%;top:0;left:7%;right:7%;background:linear-gradient(#666,#171717);clip-path:polygon(9% 0,91% 0,100% 100%,0 100%)}.printer-face{position:absolute;inset:16% 8% 0 0;background:linear-gradient(145deg,#303030,#070707 72%);border:1px solid #555;box-shadow:inset 0 0 22px #000;display:flex;align-items:center;justify-content:center;gap:5%}.printer-face:after{content:"";position:absolute;inset:8px;border:1px solid rgba(255,255,255,.12)}.printer-face img{width:24%;height:56%;object-fit:contain;filter:brightness(0) invert(1);position:relative;z-index:1}.printer-face i{width:5%;aspect-ratio:1;border-radius:50%;background:var(--cyan);position:relative;z-index:1}.printer-side{position:absolute;width:9%;right:0;top:18%;bottom:4%;background:#151515;transform:skewY(-17deg);border:1px solid #333}@keyframes printerFloat{50%{transform:translateY(-7px) rotate(-2deg)}}.hero-bottom{position:absolute;z-index:3;left:2.8vw;right:2.8vw;bottom:30px;display:flex;justify-content:space-between;align-items:flex-end;padding-top:18px;border-top:1px solid var(--line)}.hero-bottom p{max-width:440px;margin:0;font:10px/1.6 monospace;color:#aaa}.hero-bottom a{font:9px monospace}.hero-bottom b{color:var(--yellow);margin-left:10px}.orbital{position:absolute;right:8vw;top:13%;width:25vw;height:25vw;border:1px solid #555;border-radius:50%;animation:spin 16s linear infinite}.orbital i{position:absolute;border-radius:50%}.orbital i:first-child{width:18px;height:18px;left:13%;top:8%;background:var(--yellow)}.orbital i:nth-child(2){width:10px;height:10px;right:8%;bottom:28%;background:var(--cyan)}.orbital i:last-child{width:5px;height:5px;left:36%;bottom:0;background:var(--pink)}
.ticker{overflow:hidden;background:var(--yellow);color:#111;padding:18px 0;transform:rotate(-1.5deg) scale(1.02)}.ticker div{width:max-content;display:flex;gap:28px;align-items:center;animation:marquee 18s linear infinite}.ticker span{font-size:24px;font-weight:700}.ticker b{font-size:14px}.eyebrow{display:flex;justify-content:space-between;padding-bottom:13px;border-bottom:1px solid currentColor;font:8px monospace;letter-spacing:.12em}
.intro{padding:130px 3vw;background:var(--white);color:#111}.intro>p{width:88%;margin:100px auto;font-size:clamp(50px,7.4vw,120px);line-height:.93;letter-spacing:-.065em}.intro>p em{font-style:normal;color:var(--pink)}.intro-note{display:flex;justify-content:space-between;font:8px monospace;border-top:1px solid #aaa;padding-top:15px}
[data-enter]{opacity:0;transform:translateY(55px);transition:opacity .85s,transform .9s cubic-bezier(.2,.8,.2,1)}[data-enter].is-in{opacity:1;transform:none}
.work{padding:120px 3vw;background:#111}.work>h2,.services-head h2,.process-copy>h2{margin:90px 0;font-size:clamp(72px,10vw,170px);line-height:.76;letter-spacing:-.08em;font-weight:800}.work>h2 i,.services-head h2 i,.process-copy>h2 i{font-style:normal;color:var(--cyan)}.project-list{display:grid;grid-template-columns:repeat(2,1fr);gap:8vw 2vw}.project-list article:nth-child(even){margin-top:13vw}.project-image{position:relative;aspect-ratio:1.28;overflow:hidden;background:#222}.project-image img{width:100%;height:100%;object-fit:cover;transition:transform .8s,filter .4s;filter:saturate(.8)}.project-image span{position:absolute;top:15px;left:15px;width:35px;height:35px;display:grid;place-items:center;background:#111;font:8px monospace}.project-copy{position:relative;padding:18px 0;border-top:5px solid var(--cyan)}.project-copy small{font:8px monospace;color:#888}.project-copy h3{margin:12px 0 0;font-size:28px;font-weight:400}.project-copy b{position:absolute;right:0;top:31px;font:8px monospace}.project-list a:hover img{transform:scale(1.04);filter:saturate(1)}
.services{padding:120px 3vw;background:var(--pink);color:#111}.services-head{display:grid;grid-template-columns:3fr 1fr;gap:6vw;align-items:end}.services-head h2 i{color:var(--white)}.services-head p{font:10px/1.6 monospace}.service-shell{display:grid;grid-template-columns:1fr 1.35fr;border-top:1px solid #111;border-bottom:1px solid #111}.service-menu{border-right:1px solid #111}.service-menu button{width:100%;display:grid;grid-template-columns:45px 1fr auto;padding:19px 22px 19px 0;border:0;border-bottom:1px solid rgba(0,0,0,.35);background:transparent;text-align:left;cursor:pointer;color:#111}.service-menu button span{font-size:20px;transition:transform .25s}.service-menu button small{font:8px monospace}.service-menu button b{font-weight:400;opacity:0}.service-menu button.active{background:#111;color:#fff;padding-left:18px}.service-menu button.active span{transform:translateX(10px)}.service-menu button.active b{opacity:1}.service-detail{position:relative;display:none;min-height:630px;padding:55px;overflow:hidden}.service-detail.active{display:block}.service-detail.tone-0{background:var(--yellow)}.service-detail.tone-1{background:var(--cyan)}.service-detail.tone-2{background:var(--white)}.service-no{position:absolute;right:-25px;top:-70px;font-size:290px;font-weight:800;letter-spacing:-.1em;opacity:.13}.service-detail h3{position:relative;max-width:580px;margin:0;font-size:45px;line-height:1;letter-spacing:-.04em}.service-detail ul{position:relative;margin:100px 0 50px;padding:0;list-style:none}.service-detail li{display:flex;justify-content:space-between;padding:12px 0;border-bottom:1px solid rgba(0,0,0,.35);font:10px monospace}.service-detail>a{display:inline-block;padding:15px 18px;background:#111;color:#fff;font:8px monospace}
.process{display:grid;grid-template-columns:1fr 1fr;min-height:100vh;background:#111}.process-photo{position:sticky;top:78px;height:calc(100vh - 78px)}.process-photo img{width:100%;height:100%;object-fit:cover;filter:saturate(.72)}.process-copy{padding:120px 3vw}.process-copy>h2 i{color:var(--cyan)}.steps{border-top:1px solid var(--line)}.steps article{display:grid;grid-template-columns:45px 1fr 1.3fr;align-items:center;gap:20px;padding:25px 0;border-bottom:1px solid var(--line)}.steps small,.steps p{font:9px/1.5 monospace}.steps h3{font-size:24px;font-weight:400;margin:0}.steps p{color:#999;margin:0}
footer{padding:120px 3vw 28px;background:var(--cyan);color:#111}.footer-top{display:grid;grid-template-columns:1.35fr .65fr;gap:8vw}.footer-kicker{font:8px monospace}.footer-top h2{margin:70px 0;font-size:clamp(80px,11vw,180px);line-height:.74;letter-spacing:-.09em}.footer-top h2 i{font-style:normal;color:var(--white)}.phone{font:13px monospace;border-bottom:1px solid}.quote-form{padding-top:42px}.quote-form label{display:block;margin-bottom:24px;font:8px monospace;text-transform:uppercase}.quote-form input,.quote-form select,.quote-form textarea{width:100%;display:block;padding:10px 0;margin-top:6px;border:0;border-bottom:1px solid #111;border-radius:0;background:transparent;color:#111;outline:none}.quote-form button{width:100%;display:flex;justify-content:space-between;padding:17px;border:1px solid #111;background:#111;color:#fff;font:8px monospace;cursor:pointer}.footer-info{display:grid;grid-template-columns:1.3fr repeat(3,1fr);gap:30px;margin-top:100px;padding:45px 0;border-top:1px solid #111}.footer-info img{width:220px}.footer-info div{display:flex;flex-direction:column;gap:10px}.footer-info small,.footer-info a,.footer-bottom{font:8px monospace}.footer-bottom{display:flex;justify-content:space-between;padding-top:20px;border-top:1px solid #111}.content-fallback{min-height:70vh;padding:150px 5vw 80px;max-width:1100px}.content-fallback h1{font-size:clamp(48px,8vw,120px)}
.about-hero{min-height:100svh;padding:135px 3vw 70px;display:flex;flex-direction:column;justify-content:space-between}.about-hero h1,.experience>h2,.about-cta h2{margin:70px 0;font-size:clamp(80px,12vw,195px);font-weight:800;line-height:.74;letter-spacing:-.09em}.about-hero h1 i,.experience>h2 i,.about-cta h2 i{font-style:normal;color:var(--cyan)}.about-hero>p{width:45%;margin-left:auto;font:13px/1.65 monospace;color:#aaa}.about-story{display:grid;grid-template-columns:1fr 1fr;background:var(--white);color:#111}.story-image{min-height:850px}.story-image img{width:100%;height:100%;object-fit:cover;filter:grayscale(1)}.story-copy{padding:10vw 5vw}.story-label,.about-cta>span{font:8px monospace;letter-spacing:.12em}.story-copy h2{margin:70px 0;font-size:clamp(42px,5vw,82px);line-height:.95;letter-spacing:-.055em;font-weight:500}.story-copy p{max-width:650px;margin:0 0 28px;font:12px/1.8 monospace;color:#555}.experience{padding:120px 3vw}.experience-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.experience-grid article{min-height:320px;padding:28px;border-right:1px solid var(--line)}.experience-grid article:last-child{border:0}.experience-grid small{font:8px monospace;color:var(--cyan)}.experience-grid h3{margin:90px 0 20px;font-size:27px;font-weight:400}.experience-grid p{font:10px/1.7 monospace;color:#999}.about-cta{padding:120px 3vw;background:var(--cyan);color:#111}.about-cta h2 i{color:#fff}.about-cta>a{display:inline-block;padding-bottom:5px;border-bottom:1px solid;font:10px monospace}
@keyframes marquee{to{transform:translateX(-50%)}}@keyframes spin{to{transform:rotate(360deg)}}
@media(pointer:coarse){.dlx-cursor{display:none}}@media(max-width:850px){.desktop-nav,.availability{display:none}.brand{width:155px}.menu-toggle{margin-left:auto}.hero-line{font-size:16vw}.hero-printer{width:22vw;height:10vw}.intro>p{width:100%}.services-head,.footer-top{grid-template-columns:1fr}.service-shell{grid-template-columns:1fr}.service-menu{border-right:0}.project-list{grid-template-columns:1fr}.project-list article:nth-child(even){margin-top:0}.process{grid-template-columns:1fr}.process-photo{position:relative;top:0;height:65vh}.footer-info{grid-template-columns:repeat(2,1fr)}}
@media(max-width:782px){.admin-bar .site-header{top:46px}.admin-bar .mobile-menu{top:124px}}@media(max-width:540px){.site-header{height:66px;padding:0 18px}.mobile-menu{top:66px}.admin-bar .mobile-menu{top:112px}.hero{min-height:680px;padding:66px 18px 24px}.hero-meta span:last-child{display:none}.hero-title{left:15px;right:15px}.hero-line{height:auto;flex-wrap:wrap;gap:3vw;font-size:21vw;line-height:.8}.hero-line.accent{justify-content:flex-start}.hero-printer{order:3;width:42vw;height:19vw;margin-left:4vw}.hero-bottom{left:18px;right:18px;bottom:24px}.hero-bottom p{max-width:75%}.hero-bottom a{font-size:0}.hero-bottom a b{font-size:18px}.orbital{width:58vw;height:58vw;right:-10vw;top:16%}.ticker{padding:14px 0}.ticker span{font-size:18px}.intro,.work,.services,.process-copy,footer{padding:80px 18px}.intro>p{margin:70px 0;font-size:15vw}.work>h2,.services-head h2,.process-copy>h2{margin:70px 0;font-size:19vw}.project-list{gap:70px}.project-copy h3{font-size:22px}.project-copy b{font-size:0}.project-copy b:after{content:"↗";font-size:16px}.service-detail{min-height:540px;padding:35px 22px}.service-detail h3{font-size:34px}.service-detail ul{margin-top:70px}.service-menu button span{font-size:17px}.process-photo{height:55vh}.steps article{grid-template-columns:35px 1fr}.steps p{grid-column:2}.footer-top h2{font-size:21vw}.footer-info{grid-template-columns:1fr}.footer-bottom span:nth-child(2){display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}[data-enter]{opacity:1;transform:none}.dlx-cursor{display:none}}
@media(max-width:850px){.about-story{grid-template-columns:1fr}.story-image{min-height:60vh}.experience-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:540px){.about-hero{padding:110px 18px 60px}.about-hero h1,.experience>h2,.about-cta h2{font-size:20vw}.about-hero>p{width:100%;margin:0}.story-copy{padding:80px 18px}.experience,.about-cta{padding:80px 18px}.experience-grid{grid-template-columns:1fr}.experience-grid article{min-height:240px}.experience-grid h3{margin-top:55px}}
.page-intro{position:fixed;z-index:120;inset:0;background:#050505;display:grid;place-items:center;animation:introExit 2.25s cubic-bezier(.76,0,.24,1) forwards}.page-intro img{width:min(560px,72vw);filter:brightness(0) invert(1);animation:introLogo 1.65s cubic-bezier(.22,1,.36,1) both}.page-intro span{position:absolute;bottom:34px;font:8px monospace;letter-spacing:.18em;color:#777}.hero-title .hero-line{overflow:hidden}.hero-title .hero-line span,.hero-title .hero-line>i{display:block;transform:translateY(115%);animation:titleSlide 1s cubic-bezier(.16,1,.3,1) 1.7s forwards}.hero-title .hero-line.accent span,.hero-title .hero-line.accent>i{animation-delay:1.82s}@keyframes introLogo{0%{opacity:0;transform:scale(.86)}35%,70%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(1.05)}}@keyframes introExit{0%,74%{clip-path:inset(0 0 0 0);visibility:visible}100%{clip-path:inset(0 0 100% 0);visibility:hidden}}@keyframes titleSlide{to{transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.page-intro{display:none}.hero-title .hero-line span,.hero-title .hero-line>i{transform:none}}
