 {} *{} {} #IE-warning { display: none; position: fixed; width: 100%; height: 100%; z-index: 9999; background: white; } .IE-warning-message { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); text-align: center; } *,*::before,*::after{box-sizing:border-box;margin:0;padding:0} :root{ --black:#050505;--surface:#0E0E0E;--rule:#262626;--white:#F2F2F2;--white-pure:#FFFFFF;--grey:#9C9C9C;--grey-dim:#5E5E5E; } html{scroll-behavior:smooth} body{font-family:'Barlow',sans-serif;background:var(--black);color:var(--white);line-height:1.6;overflow-x:hidden} img{max-width:100%;display:block} .stencil{font-family:'Allerta Stencil',sans-serif;text-transform:uppercase} .display{font-family:'Alfa Slab One',serif;text-transform:uppercase;line-height:1.08;font-weight:400} .skip{position:absolute;left:-999px;top:0;background:var(--white-pure);color:var(--black);padding:10px 18px;z-index:999;font-weight:600} .skip:focus{left:12px;top:12px} a:focus-visible,button:focus-visible{outline:3px solid var(--white-pure);outline-offset:3px} nav{position:sticky;top:0;z-index:100;background:rgba(5,5,5,.94);backdrop-filter:blur(10px);border-bottom:1px solid var(--rule)} .nav-inner{max-width:1160px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;height:68px;padding:0 1.5rem} .nav-brand{display:flex;align-items:center;gap:12px;text-decoration:none} .nav-brand img{height:42px;width:42px;border-radius:50%} .nav-brand span{font-family:'Allerta Stencil',sans-serif;font-size:14px;letter-spacing:.14em;text-transform:uppercase;color:var(--white)} .nav-links{display:flex;gap:1.8rem;list-style:none;align-items:center} .nav-links a{font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--grey);text-decoration:none;transition:color .2s} .nav-links a:hover{color:var(--white-pure)} .nav-cta{background:var(--white-pure);color:var(--black)!important;padding:9px 20px;font-weight:600} @media(max-width:720px){.nav-links a:not(.nav-cta){display:none}} /* HERO — split layout with grain */ .hero{position:relative;border-bottom:1px solid var(--rule);background:radial-gradient(ellipse 60% 70% at 78% 40%, #181818 0%, var(--black) 65%)} .hero::after{content:"";position:absolute;inset:0;pointer-events:none;opacity:.05;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='120' height='120' filter='url(%23n)'/%3E%3C/svg%3E")} .hero-grid{max-width:1160px;margin:0 auto;display:grid;grid-template-columns:1.15fr .85fr;gap:3rem;align-items:center;padding:5rem 1.5rem} .hero-eyebrow{font-family:'Allerta Stencil',sans-serif;font-size:12px;letter-spacing:.3em;text-transform:uppercase;color:var(--grey-dim);margin-bottom:1.2rem} .hero h1{font-size:clamp(2.6rem,6.5vw,5.6rem);color:var(--white-pure)} .hero h1 .out{color:transparent;-webkit-text-stroke:2.5px var(--white-pure)} .weathered{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='340' height='340'%3E%3Cfilter id='w'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.14' numOctaves='4' seed='11'/%3E%3CfeComponentTransfer%3E%3CfeFuncA type='discrete' tableValues='1 1 1 1 1 1 1 1 1 1 1 1 0.75 0.45 0.1'/%3E%3C/feComponentTransfer%3E%3C/filter%3E%3Crect width='340' height='340' filter='url(%23w)'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='340' height='340'%3E%3Cfilter id='w'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.14' numOctaves='4' seed='11'/%3E%3CfeComponentTransfer%3E%3CfeFuncA type='discrete' tableValues='1 1 1 1 1 1 1 1 1 1 1 1 0.75 0.45 0.1'/%3E%3C/feComponentTransfer%3E%3C/filter%3E%3Crect width='340' height='340' filter='url(%23w)'/%3E%3C/svg%3E");-webkit-mask-size:340px 340px;mask-size:340px 340px} .hero-sub{max-width:520px;margin:1.4rem 0 0;color:var(--grey);font-size:1.05rem} .hero-ctas{margin-top:2.2rem;display:flex;gap:1rem;flex-wrap:wrap} .btn{display:inline-block;min-height:44px;padding:13px 32px;font-weight:600;font-size:13px;letter-spacing:.12em;text-transform:uppercase;text-decoration:none;transition:all .2s} .btn-solid{background:linear-gradient(180deg,#FFFFFF 0%,#E2E2E2 55%,#C6C6C6 100%);color:var(--black);box-shadow:inset 0 1px 0 rgba(255,255,255,.9), 0 3px 10px rgba(0,0,0,.5)} .btn-solid:hover{background:linear-gradient(180deg,#F0F0F0 0%,#CFCFCF 55%,#B0B0B0 100%)} .btn-ghost{border:1px solid var(--white);color:var(--white)} .btn-ghost:hover{background:var(--white-pure);color:var(--black)} .hero-badge-wrap{position:relative;width:min(320px,64vw);margin:0 auto} .hero-badge-wrap::after{content:"";position:absolute;inset:-6%;border-radius:50%;background:radial-gradient(circle at 38% 30%, #232323 0%, #141414 55%, #0A0A0A 100%);border:1px solid #303030;box-shadow:0 24px 55px rgba(0,0,0,.9), 0 6px 18px rgba(0,0,0,.7), inset 0 1px 0 rgba(255,255,255,.07)} .hero-badge{position:relative;z-index:1;width:100%;filter:drop-shadow(0 3px 8px rgba(0,0,0,.85))} @media(max-width:860px){.hero-grid{grid-template-columns:1fr;text-align:center}.hero-sub{margin:1.4rem auto 0}.hero-ctas{justify-content:center}.hero-badge-wrap{order:-1}} /* GAFF TAPE MARQUEE */ .tape{position:relative;background:var(--white-pure);color:var(--black);overflow:hidden;padding:10px 0;transform:rotate(-1.2deg);margin:-14px 0;width:110%;left:-5%;box-shadow:0 4px 18px rgba(0,0,0,.6);z-index:5} .tape.flat{transform:rotate(0.8deg)} .tape-track{display:flex;width:max-content;animation:roll 28s linear infinite} .tape span{font-family:'Allerta Stencil',sans-serif;font-size:15px;letter-spacing:.3em;text-transform:uppercase;white-space:nowrap;padding-right:2.5rem} @keyframes roll{from{transform:translateX(0)}to{transform:translateX(-50%)}} @media(prefers-reduced-motion:reduce){.tape-track{animation:none}} section{padding:5rem 1.5rem} .wrap{max-width:1160px;margin:0 auto} .eyebrow{font-family:'Allerta Stencil',sans-serif;font-size:12px;letter-spacing:.32em;text-transform:uppercase;color:var(--grey-dim);margin-bottom:1rem} h2{font-family:'Alfa Slab One',serif;font-weight:400;font-size:clamp(1.7rem,4.2vw,2.8rem);text-transform:uppercase;line-height:1.1;color:var(--white-pure);margin-bottom:1.4rem} /* ABOUT — pull quote + stat trio */ .about{border-bottom:1px solid var(--rule);text-align:center} .about-pull{font-family:'Alfa Slab One',serif;font-weight:400;font-size:clamp(1.5rem,3.6vw,2.6rem);text-transform:uppercase;line-height:1.25;max-width:900px;margin:0 auto;color:var(--white-pure)} .about-pull em{font-style:normal;color:transparent;-webkit-text-stroke:1.5px var(--white-pure)} .about-body{max-width:640px;margin:2rem auto 0;color:var(--grey)} .about-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--rule);border:1px solid var(--rule);max-width:900px;margin:3rem auto 0;text-align:left} .stat{background:var(--surface);padding:1.6rem 1.8rem} .stat .stencil{font-size:12px;letter-spacing:.24em;color:var(--grey-dim)} .stat .display{font-size:1.15rem;color:var(--white-pure);margin-top:.4rem} @media(max-width:760px){.about-stats{grid-template-columns:1fr}} /* SERVICES — rivet cards */ .services{border-bottom:1px solid var(--rule);background:var(--surface)} .svc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--rule);border:1px solid var(--rule);margin-top:2.5rem} .svc{background:var(--black);padding:1.7rem 1.5rem;position:relative} .svc::before{content:"";position:absolute;top:12px;left:14px;width:9px;height:9px;border:2px solid var(--grey-dim);border-radius:50%} .svc::after{content:"";position:absolute;top:12px;right:14px;width:9px;height:9px;border:2px solid var(--grey-dim);border-radius:50%} .svc h3{font-family:'Allerta Stencil',sans-serif;font-size:15px;letter-spacing:.14em;text-transform:uppercase;color:var(--white-pure);margin:1rem 0 .45rem} .svc p{font-size:.9rem;color:var(--grey)} @media(max-width:880px){.svc-grid{grid-template-columns:repeat(2,1fr)}} @media(max-width:560px){.svc-grid{grid-template-columns:1fr}} /* SHOW DAY — five-stop timeline */ .work{border-bottom:1px solid var(--rule)} .timeline{display:grid;grid-template-columns:repeat(5,1fr);margin-top:2.8rem;position:relative} .timeline::before{content:"";position:absolute;top:7px;left:0;right:0;height:2px;background:var(--rule)} .tl-item{position:relative;padding:2rem 1rem 0 0} .tl-item::before{content:"";position:absolute;top:0;left:0;width:16px;height:16px;border-radius:50%;background:var(--black);border:3px solid var(--white-pure)} .tl-item .stencil{font-size:11px;letter-spacing:.22em;color:var(--grey-dim)} .tl-item h3{font-family:'Alfa Slab One',serif;font-weight:400;font-size:1.05rem;text-transform:uppercase;color:var(--white-pure);margin:.35rem 0 .4rem} .tl-item p{font-size:.88rem;color:var(--grey)} @media(max-width:820px){.timeline{grid-template-columns:1fr;gap:0}.timeline::before{top:0;bottom:0;left:7px;right:auto;width:2px;height:auto}.tl-item{padding:0 0 2rem 2.2rem}.tl-item::before{top:2px}} /* CONTACT */ .contact{text-align:center;background:radial-gradient(ellipse 60% 70% at 50% 100%, #151515 0%, var(--black) 70%)} .contact p{max-width:520px;margin:0 auto 2.2rem;color:var(--grey);font-size:1.05rem} .contact .hero-ctas{justify-content:center} .contact-note{margin-top:1.6rem;font-size:12px;letter-spacing:.2em;color:var(--grey-dim);text-transform:uppercase} footer{border-top:1px solid var(--rule);padding:2.2rem 1.5rem;text-align:center} footer p{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--grey-dim)} footer .motto{font-family:'Allerta Stencil',sans-serif;color:var(--grey);margin-bottom:.5rem} *,*::before,*::after{box-sizing:border-box;margin:0;padding:0} :root{ --black:#050505;--surface:#0E0E0E;--rule:#262626;--white:#F2F2F2;--white-pure:#FFFFFF;--grey:#9C9C9C;--grey-dim:#5E5E5E; } html{scroll-behavior:smooth} body{font-family:'Barlow',sans-serif;background:var(--black);color:var(--white);line-height:1.6;overflow-x:hidden} img{max-width:100%;display:block} .stencil{font-family:'Allerta Stencil',sans-serif;text-transform:uppercase} .display{font-family:'Alfa Slab One',serif;text-transform:uppercase;line-height:1.08;font-weight:400} .skip{position:absolute;left:-999px;top:0;background:var(--white-pure);color:var(--black);padding:10px 18px;z-index:999;font-weight:600} .skip:focus{left:12px;top:12px} a:focus-visible,button:focus-visible{outline:3px solid var(--white-pure);outline-offset:3px} nav{position:sticky;top:0;z-index:100;background:rgba(5,5,5,.94);backdrop-filter:blur(10px);border-bottom:1px solid var(--rule)} .nav-inner{max-width:1160px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;height:68px;padding:0 1.5rem} .nav-brand{display:flex;align-items:center;gap:12px;text-decoration:none} .nav-brand img{height:42px;width:42px;border-radius:50%} .nav-brand span{font-family:'Allerta Stencil',sans-serif;font-size:14px;letter-spacing:.14em;text-transform:uppercase;color:var(--white)} .nav-links{display:flex;gap:1.8rem;list-style:none;align-items:center} .nav-links a{font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--grey);text-decoration:none;transition:color .2s} .nav-links a:hover{color:var(--white-pure)} .nav-cta{background:var(--white-pure);color:var(--black)!important;padding:9px 20px;font-weight:600} @media(max-width:720px){.nav-links a:not(.nav-cta){display:none}} /* HERO — split layout with grain */ .hero{position:relative;border-bottom:1px solid var(--rule);background:radial-gradient(ellipse 60% 70% at 78% 40%, #181818 0%, var(--black) 65%)} .hero::after{content:"";position:absolute;inset:0;pointer-events:none;opacity:.05;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='120' height='120' filter='url(%23n)'/%3E%3C/svg%3E")} .hero-grid{max-width:1160px;margin:0 auto;display:grid;grid-template-columns:1.15fr .85fr;gap:3rem;align-items:center;padding:5rem 1.5rem} .hero-eyebrow{font-family:'Allerta Stencil',sans-serif;font-size:12px;letter-spacing:.3em;text-transform:uppercase;color:var(--grey-dim);margin-bottom:1.2rem} .hero h1{font-size:clamp(2.6rem,6.5vw,5.6rem);color:var(--white-pure)} .hero h1 .out{color:transparent;-webkit-text-stroke:2.5px var(--white-pure)} .weathered{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='340' height='340'%3E%3Cfilter id='w'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.14' numOctaves='4' seed='11'/%3E%3CfeComponentTransfer%3E%3CfeFuncA type='discrete' tableValues='1 1 1 1 1 1 1 1 1 1 1 1 0.75 0.45 0.1'/%3E%3C/feComponentTransfer%3E%3C/filter%3E%3Crect width='340' height='340' filter='url(%23w)'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='340' height='340'%3E%3Cfilter id='w'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.14' numOctaves='4' seed='11'/%3E%3CfeComponentTransfer%3E%3CfeFuncA type='discrete' tableValues='1 1 1 1 1 1 1 1 1 1 1 1 0.75 0.45 0.1'/%3E%3C/feComponentTransfer%3E%3C/filter%3E%3Crect width='340' height='340' filter='url(%23w)'/%3E%3C/svg%3E");-webkit-mask-size:340px 340px;mask-size:340px 340px} .hero-sub{max-width:520px;margin:1.4rem 0 0;color:var(--grey);font-size:1.05rem} .hero-ctas{margin-top:2.2rem;display:flex;gap:1rem;flex-wrap:wrap} .btn{display:inline-block;min-height:44px;padding:13px 32px;font-weight:600;font-size:13px;letter-spacing:.12em;text-transform:uppercase;text-decoration:none;transition:all .2s} .btn-solid{background:linear-gradient(180deg,#FFFFFF 0%,#E2E2E2 55%,#C6C6C6 100%);color:var(--black);box-shadow:inset 0 1px 0 rgba(255,255,255,.9), 0 3px 10px rgba(0,0,0,.5)} .btn-solid:hover{background:linear-gradient(180deg,#F0F0F0 0%,#CFCFCF 55%,#B0B0B0 100%)} .btn-ghost{border:1px solid var(--white);color:var(--white)} .btn-ghost:hover{background:var(--white-pure);color:var(--black)} .hero-badge-wrap{position:relative;width:min(320px,64vw);margin:0 auto} .hero-badge-wrap::after{content:"";position:absolute;inset:-6%;border-radius:50%;background:radial-gradient(circle at 38% 30%, #232323 0%, #141414 55%, #0A0A0A 100%);border:1px solid #303030;box-shadow:0 24px 55px rgba(0,0,0,.9), 0 6px 18px rgba(0,0,0,.7), inset 0 1px 0 rgba(255,255,255,.07)} .hero-badge{position:relative;z-index:1;width:100%;filter:drop-shadow(0 3px 8px rgba(0,0,0,.85))} @media(max-width:860px){.hero-grid{grid-template-columns:1fr;text-align:center}.hero-sub{margin:1.4rem auto 0}.hero-ctas{justify-content:center}.hero-badge-wrap{order:-1}} /* GAFF TAPE MARQUEE */ .tape{position:relative;background:var(--white-pure);color:var(--black);overflow:hidden;padding:10px 0;transform:rotate(-1.2deg);margin:-14px 0;width:110%;left:-5%;box-shadow:0 4px 18px rgba(0,0,0,.6);z-index:5} .tape.flat{transform:rotate(0.8deg)} .tape-track{display:flex;width:max-content;animation:roll 28s linear infinite} .tape span{font-family:'Allerta Stencil',sans-serif;font-size:15px;letter-spacing:.3em;text-transform:uppercase;white-space:nowrap;padding-right:2.5rem} @keyframes roll{from{transform:translateX(0)}to{transform:translateX(-50%)}} @media(prefers-reduced-motion:reduce){.tape-track{animation:none}} section{padding:5rem 1.5rem;scroll-margin-top:80px} .wrap{max-width:1160px;margin:0 auto} .eyebrow{font-family:'Allerta Stencil',sans-serif;font-size:12px;letter-spacing:.32em;text-transform:uppercase;color:var(--grey-dim);margin-bottom:1rem} h2{font-family:'Alfa Slab One',serif;font-weight:400;font-size:clamp(1.7rem,4.2vw,2.8rem);text-transform:uppercase;line-height:1.1;color:var(--white-pure);margin-bottom:1.4rem} /* ABOUT — pull quote + stat trio */ .about{border-bottom:1px solid var(--rule);text-align:center} .about-pull{font-family:'Alfa Slab One',serif;font-weight:400;font-size:clamp(1.5rem,3.6vw,2.6rem);text-transform:uppercase;line-height:1.25;max-width:900px;margin:0 auto;color:var(--white-pure)} .about-pull em{font-style:normal;color:transparent;-webkit-text-stroke:1.5px var(--white-pure)} .about-body{max-width:640px;margin:2rem auto 0;color:var(--grey)} .about-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--rule);border:1px solid var(--rule);max-width:900px;margin:3rem auto 0;text-align:left} .stat{background:var(--surface);padding:1.6rem 1.8rem} .stat .stencil{font-size:12px;letter-spacing:.24em;color:var(--grey-dim)} .stat .display{font-size:1.15rem;color:var(--white-pure);margin-top:.4rem} @media(max-width:760px){.about-stats{grid-template-columns:1fr}} /* SERVICES — rivet cards */ .services{border-bottom:1px solid var(--rule);background:var(--surface)} .svc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--rule);border:1px solid var(--rule);margin-top:2.5rem} .svc{background:var(--black);padding:1.7rem 1.5rem;position:relative} .svc::before{content:"";position:absolute;top:12px;left:14px;width:9px;height:9px;border:2px solid var(--grey-dim);border-radius:50%} .svc::after{content:"";position:absolute;top:12px;right:14px;width:9px;height:9px;border:2px solid var(--grey-dim);border-radius:50%} .svc h3{font-family:'Allerta Stencil',sans-serif;font-size:15px;letter-spacing:.14em;text-transform:uppercase;color:var(--white-pure);margin:1rem 0 .45rem} .svc p{font-size:.9rem;color:var(--grey)} @media(max-width:880px){.svc-grid{grid-template-columns:repeat(2,1fr)}} @media(max-width:560px){.svc-grid{grid-template-columns:1fr}} /* SHOW DAY — five-stop timeline */ .work{border-bottom:1px solid var(--rule)} .timeline{display:grid;grid-template-columns:repeat(5,1fr);margin-top:2.8rem;position:relative} .timeline::before{content:"";position:absolute;top:7px;left:0;right:0;height:2px;background:var(--rule)} .tl-item{position:relative;padding:2rem 1rem 0 0} .tl-item::before{content:"";position:absolute;top:0;left:0;width:16px;height:16px;border-radius:50%;background:var(--black);border:3px solid var(--white-pure)} .tl-item .stencil{font-size:11px;letter-spacing:.22em;color:var(--grey-dim)} .tl-item h3{font-family:'Alfa Slab One',serif;font-weight:400;font-size:1.05rem;text-transform:uppercase;color:var(--white-pure);margin:.35rem 0 .4rem} .tl-item p{font-size:.88rem;color:var(--grey)} @media(max-width:820px){.timeline{grid-template-columns:1fr;gap:0}.timeline::before{top:0;bottom:0;left:7px;right:auto;width:2px;height:auto}.tl-item{padding:0 0 2rem 2.2rem}.tl-item::before{top:2px}} /* GALLERY — on the job */ .gallery{border-bottom:1px solid var(--rule);background:var(--surface);scroll-margin-top:80px} .gal-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:2.5rem} .gal-item{position:relative;overflow:hidden;border:1px solid var(--rule);background:#000} .gal-item.big{grid-column:span 2;grid-row:span 2} .gal-item img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s} .gal-item:hover img{transform:scale(1.04)} .gal-cap{position:absolute;left:10px;bottom:10px;background:var(--white-pure);color:var(--black);font-family:'Allerta Stencil',sans-serif;font-size:11px;letter-spacing:.16em;text-transform:uppercase;padding:5px 10px;transform:rotate(-1.2deg);box-shadow:0 3px 8px rgba(0,0,0,.6)} @media(max-width:760px){.gal-grid{grid-template-columns:repeat(2,1fr)}.gal-item.big{grid-column:span 2;grid-row:span 1}} /* CONTACT */ .contact{text-align:center;background:radial-gradient(ellipse 60% 70% at 50% 100%, #151515 0%, var(--black) 70%)} .contact p{max-width:520px;margin:0 auto 2.2rem;color:var(--grey);font-size:1.05rem} .contact .hero-ctas{justify-content:center} .contact-note{margin-top:1.6rem;font-size:12px;letter-spacing:.2em;color:var(--grey-dim);text-transform:uppercase} footer{border-top:1px solid var(--rule);padding:2.2rem 1.5rem;text-align:center} footer p{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--grey-dim)} footer .motto{font-family:'Allerta Stencil',sans-serif;color:var(--grey);margin-bottom:.5rem} *,*::before,*::after{box-sizing:border-box;margin:0;padding:0} :root{ --black:#050505;--surface:#0E0E0E;--rule:#262626;--white:#F2F2F2;--white-pure:#FFFFFF;--grey:#9C9C9C;--grey-dim:#5E5E5E; } html{scroll-behavior:smooth} body{font-family:'Barlow',sans-serif;background:var(--black);color:var(--white);line-height:1.6;overflow-x:hidden} img{max-width:100%;display:block} .stencil{font-family:'Allerta Stencil',sans-serif;text-transform:uppercase} .display{font-family:'Alfa Slab One',serif;text-transform:uppercase;line-height:1.08;font-weight:400} .skip{position:absolute;left:-999px;top:0;background:var(--white-pure);color:var(--black);padding:10px 18px;z-index:999;font-weight:600} .skip:focus{left:12px;top:12px} a:focus-visible,button:focus-visible{outline:3px solid var(--white-pure);outline-offset:3px} nav{position:sticky;top:0;z-index:100;background:rgba(5,5,5,.94);backdrop-filter:blur(10px);border-bottom:1px solid var(--rule)} .nav-inner{max-width:1160px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;height:68px;padding:0 1.5rem} .nav-brand{display:flex;align-items:center;gap:12px;text-decoration:none} .nav-brand img{height:42px;width:42px;border-radius:50%} .nav-brand span{font-family:'Allerta Stencil',sans-serif;font-size:14px;letter-spacing:.14em;text-transform:uppercase;color:var(--white)} .nav-links{display:flex;gap:1.8rem;list-style:none;align-items:center} .nav-links a{font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--grey);text-decoration:none;transition:color .2s} .nav-links a:hover{color:var(--white-pure)} .nav-cta{background:var(--white-pure);color:var(--black)!important;padding:9px 20px;font-weight:600} @media(max-width:720px){.nav-links a:not(.nav-cta){display:none}} /* HERO — split layout with grain */ .hero{position:relative;border-bottom:1px solid var(--rule);background:radial-gradient(ellipse 60% 70% at 78% 40%, #181818 0%, var(--black) 65%)} .hero::after{content:"";position:absolute;inset:0;pointer-events:none;opacity:.05;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='120' height='120' filter='url(%23n)'/%3E%3C/svg%3E")} .hero-grid{max-width:1160px;margin:0 auto;display:grid;grid-template-columns:1.15fr .85fr;gap:3rem;align-items:center;padding:5rem 1.5rem} .hero-eyebrow{font-family:'Allerta Stencil',sans-serif;font-size:12px;letter-spacing:.3em;text-transform:uppercase;color:var(--grey-dim);margin-bottom:1.2rem} .hero h1{font-size:clamp(2.6rem,6.5vw,5.6rem);color:var(--white-pure)} .hero h1 .out{color:transparent;-webkit-text-stroke:2.5px var(--white-pure)} .weathered{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='340' height='340'%3E%3Cfilter id='w'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.14' numOctaves='4' seed='11'/%3E%3CfeComponentTransfer%3E%3CfeFuncA type='discrete' tableValues='1 1 1 1 1 1 1 1 1 1 1 1 0.75 0.45 0.1'/%3E%3C/feComponentTransfer%3E%3C/filter%3E%3Crect width='340' height='340' filter='url(%23w)'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='340' height='340'%3E%3Cfilter id='w'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.14' numOctaves='4' seed='11'/%3E%3CfeComponentTransfer%3E%3CfeFuncA type='discrete' tableValues='1 1 1 1 1 1 1 1 1 1 1 1 0.75 0.45 0.1'/%3E%3C/feComponentTransfer%3E%3C/filter%3E%3Crect width='340' height='340' filter='url(%23w)'/%3E%3C/svg%3E");-webkit-mask-size:340px 340px;mask-size:340px 340px} .hero-sub{max-width:520px;margin:1.4rem 0 0;color:var(--grey);font-size:1.05rem} .hero-ctas{margin-top:2.2rem;display:flex;gap:1rem;flex-wrap:wrap} .btn{display:inline-block;min-height:44px;padding:13px 32px;font-weight:600;font-size:13px;letter-spacing:.12em;text-transform:uppercase;text-decoration:none;transition:all .2s} .btn-solid{background:linear-gradient(180deg,#FFFFFF 0%,#E2E2E2 55%,#C6C6C6 100%);color:var(--black);box-shadow:inset 0 1px 0 rgba(255,255,255,.9), 0 3px 10px rgba(0,0,0,.5)} .btn-solid:hover{background:linear-gradient(180deg,#F0F0F0 0%,#CFCFCF 55%,#B0B0B0 100%)} .btn-ghost{border:1px solid var(--white);color:var(--white)} .btn-ghost:hover{background:var(--white-pure);color:var(--black)} .hero-badge-wrap{position:relative;width:min(320px,64vw);margin:0 auto} .hero-badge-wrap::after{content:"";position:absolute;inset:-6%;border-radius:50%;background:radial-gradient(circle at 38% 30%, #232323 0%, #141414 55%, #0A0A0A 100%);border:1px solid #303030;box-shadow:0 24px 55px rgba(0,0,0,.9), 0 6px 18px rgba(0,0,0,.7), inset 0 1px 0 rgba(255,255,255,.07)} .hero-badge{position:relative;z-index:1;width:100%;filter:drop-shadow(0 3px 8px rgba(0,0,0,.85))} @media(max-width:860px){.hero-grid{grid-template-columns:1fr;text-align:center}.hero-sub{margin:1.4rem auto 0}.hero-ctas{justify-content:center}.hero-badge-wrap{order:-1}} /* GAFF TAPE MARQUEE */ .tape{position:relative;background:var(--white-pure);color:var(--black);overflow:hidden;padding:10px 0;transform:rotate(-1.2deg);margin:-14px 0;width:110%;left:-5%;box-shadow:0 4px 18px rgba(0,0,0,.6);z-index:5} .tape.flat{transform:rotate(0.8deg)} .tape-track{display:flex;width:max-content;animation:roll 28s linear infinite} .tape span{font-family:'Allerta Stencil',sans-serif;font-size:15px;letter-spacing:.3em;text-transform:uppercase;white-space:nowrap;padding-right:2.5rem} @keyframes roll{from{transform:translateX(0)}to{transform:translateX(-50%)}} @media(prefers-reduced-motion:reduce){.tape-track{animation:none}} section{padding:5rem 1.5rem;scroll-margin-top:80px} .wrap{max-width:1160px;margin:0 auto} .eyebrow{font-family:'Allerta Stencil',sans-serif;font-size:12px;letter-spacing:.32em;text-transform:uppercase;color:var(--grey-dim);margin-bottom:1rem} h2{font-family:'Alfa Slab One',serif;font-weight:400;font-size:clamp(1.7rem,4.2vw,2.8rem);text-transform:uppercase;line-height:1.1;color:var(--white-pure);margin-bottom:1.4rem} /* ABOUT — pull quote + stat trio */ .about{border-bottom:1px solid var(--rule);text-align:center} .about-pull{font-family:'Alfa Slab One',serif;font-weight:400;font-size:clamp(1.5rem,3.6vw,2.6rem);text-transform:uppercase;line-height:1.25;max-width:900px;margin:0 auto;color:var(--white-pure)} .about-pull em{font-style:normal;color:transparent;-webkit-text-stroke:1.5px var(--white-pure)} .about-body{max-width:640px;margin:2rem auto 0;color:var(--grey)} .about-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--rule);border:1px solid var(--rule);max-width:900px;margin:3rem auto 0;text-align:left} .stat{background:var(--surface);padding:1.6rem 1.8rem} .stat .stencil{font-size:12px;letter-spacing:.24em;color:var(--grey-dim)} .stat .display{font-size:1.15rem;color:var(--white-pure);margin-top:.4rem} @media(max-width:760px){.about-stats{grid-template-columns:1fr}} /* SERVICES — rivet cards */ .services{border-bottom:1px solid var(--rule);background:var(--surface)} .svc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--rule);border:1px solid var(--rule);margin-top:2.5rem} .svc{background:var(--black);padding:1.7rem 1.5rem;position:relative} .svc::before{content:"";position:absolute;top:12px;left:14px;width:9px;height:9px;border:2px solid var(--grey-dim);border-radius:50%} .svc::after{content:"";position:absolute;top:12px;right:14px;width:9px;height:9px;border:2px solid var(--grey-dim);border-radius:50%} .svc h3{font-family:'Allerta Stencil',sans-serif;font-size:15px;letter-spacing:.14em;text-transform:uppercase;color:var(--white-pure);margin:1rem 0 .45rem} .svc p{font-size:.9rem;color:var(--grey)} @media(max-width:880px){.svc-grid{grid-template-columns:repeat(2,1fr)}} @media(max-width:560px){.svc-grid{grid-template-columns:1fr}} /* SHOW DAY — five-stop timeline */ .work{border-bottom:1px solid var(--rule)} .timeline{display:grid;grid-template-columns:repeat(5,1fr);margin-top:2.8rem;position:relative} .timeline::before{content:"";position:absolute;top:7px;left:0;right:0;height:2px;background:var(--rule)} .tl-item{position:relative;padding:2rem 1rem 0 0} .tl-item::before{content:"";position:absolute;top:0;left:0;width:16px;height:16px;border-radius:50%;background:var(--black);border:3px solid var(--white-pure)} .tl-item .stencil{font-size:11px;letter-spacing:.22em;color:var(--grey-dim)} .tl-item h3{font-family:'Alfa Slab One',serif;font-weight:400;font-size:1.05rem;text-transform:uppercase;color:var(--white-pure);margin:.35rem 0 .4rem} .tl-item p{font-size:.88rem;color:var(--grey)} @media(max-width:820px){.timeline{grid-template-columns:1fr;gap:0}.timeline::before{top:0;bottom:0;left:7px;right:auto;width:2px;height:auto}.tl-item{padding:0 0 2rem 2.2rem}.tl-item::before{top:2px}} /* GALLERY — on the job */ .gallery{border-bottom:1px solid var(--rule);background:var(--surface);scroll-margin-top:80px} .gal-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:2.5rem} .gal-item{position:relative;overflow:hidden;border:1px solid var(--rule);background:#000} .gal-item.big{grid-column:span 2;grid-row:span 2} .gal-item img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s} .gal-item:hover img{transform:scale(1.04)} .gal-cap{position:absolute;left:10px;bottom:10px;background:var(--white-pure);color:var(--black);font-family:'Allerta Stencil',sans-serif;font-size:11px;letter-spacing:.16em;text-transform:uppercase;padding:5px 10px;transform:rotate(-1.2deg);box-shadow:0 3px 8px rgba(0,0,0,.6)} .gal-hint{display:none} @media(max-width:760px){ .gal-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:12px;-webkit-overflow-scrolling:touch;padding:4px 4px 14px;scrollbar-width:thin;scrollbar-color:var(--grey-dim) transparent} .gal-item,.gal-item.big{flex:0 0 86%;grid-column:auto;grid-row:auto;aspect-ratio:3/2;scroll-snap-align:center} .gal-item img{height:100%} .gal-cap{font-size:10px;padding:4px 8px} .gal-hint{display:block;font-family:'Allerta Stencil',sans-serif;font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--grey-dim);margin-top:.8rem;text-align:right} } /* CONTACT */ .contact{text-align:center;background:radial-gradient(ellipse 60% 70% at 50% 100%, #151515 0%, var(--black) 70%)} .contact p{max-width:520px;margin:0 auto 2.2rem;color:var(--grey);font-size:1.05rem} .contact .hero-ctas{justify-content:center} .contact-note{margin-top:1.6rem;font-size:12px;letter-spacing:.2em;color:var(--grey-dim);text-transform:uppercase} footer{border-top:1px solid var(--rule);padding:2.2rem 1.5rem;text-align:center} footer p{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--grey-dim)} footer .motto{font-family:'Allerta Stencil',sans-serif;color:var(--grey);margin-bottom:.5rem}
