/*
Theme Name: PackZ N PullZ
Theme URI: https://packznpullz.com
Author: PackZ N PullZ
Description: Premium trading card vending, machine locations, community pull submissions, and contact portal.
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 8.1
Text Domain: packz-n-pullz
*/

:root {
  --ink: #09090b;
  --ink-soft: #151518;
  --paper: #f3eee6;
  --white: #fffdf8;
  --red: #e51b24;
  --red-hot: #ff2a34;
  --gray: #aaa5a0;
  --line: rgba(255, 255, 255, 0.14);
  --display: "Arial Narrow", "Helvetica Neue", Helvetica, sans-serif;
  --body: "Helvetica Neue", Helvetica, Arial, sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; background: var(--ink); }
body { margin: 0; background: var(--paper); color: var(--ink); font-family: var(--body); -webkit-font-smoothing: antialiased; }
a { color: inherit; text-decoration: none; }
button, input, textarea, select { font: inherit; }
img { display: block; max-width: 100%; }
::selection { background: var(--red); color: white; }

.site-shell { min-height: 100vh; overflow: hidden; }
.content-width { width: min(1180px, calc(100% - 48px)); margin-inline: auto; }
.section-pad { padding: 112px 0; }

.site-header { position: absolute; z-index: 50; inset: 0 0 auto; color: white; border-bottom: 1px solid rgba(255,255,255,.14); }
.header-inner { height: 88px; display: flex; align-items: center; justify-content: space-between; gap: 30px; }
.brand { display: inline-flex; align-items: center; gap: 13px; font: 900 17px/1 var(--display); letter-spacing: -.05em; text-transform: uppercase; }
.brand img { width: 50px; height: 50px; object-fit: cover; border-radius: 50%; border: 1px solid rgba(255,255,255,.28); }
.brand span { transform: skew(-5deg); }
.brand i { color: var(--red-hot); font-style: normal; font-size: .72em; letter-spacing: -.15em; }
.main-nav { display: flex; align-items: center; gap: 38px; font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.main-nav a { color: #dad7d3; transition: color .2s ease; }
.main-nav a:hover, .main-nav a:focus-visible { color: white; }
.header-cta { display: inline-flex; align-items: center; gap: 24px; padding: 13px 18px; border: 1px solid rgba(255,255,255,.35); font-size: 11px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; transition: .2s ease; }
.header-cta:hover { background: white; color: var(--ink); }
.header-cta span { color: var(--red-hot); font-size: 15px; }

.hero { min-height: 810px; padding-top: 170px; padding-bottom: 84px; color: white; background:
  radial-gradient(circle at 73% 38%, rgba(229,27,36,.2), transparent 29%),
  linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px),
  linear-gradient(90deg, rgba(255,255,255,.025) 1px, transparent 1px),
  var(--ink); background-size: auto, 48px 48px, 48px 48px, auto; position: relative; }
.hero::before { content: ""; position: absolute; inset: 88px 0 auto; height: 1px; background: linear-gradient(90deg, transparent, var(--red) 30%, transparent 68%); opacity: .75; }
.hero::after { content: "PACKZ N PULLZ / COLLECTOR ACCESS NETWORK"; position: absolute; left: 20px; bottom: 38px; color: #56565a; font: 700 9px/1 monospace; letter-spacing: .24em; writing-mode: vertical-rl; }
.hero-grid { display: grid; grid-template-columns: 1.02fr .98fr; align-items: center; gap: 75px; }
.hero-copy { position: relative; z-index: 2; }
.eyebrow { display: inline-flex; align-items: center; gap: 11px; color: #c5c2be; font-size: 10px; font-weight: 800; letter-spacing: .2em; text-transform: uppercase; margin-bottom: 30px; }
.live-dot { position: relative; width: 7px; height: 7px; border-radius: 50%; background: var(--red-hot); box-shadow: 0 0 0 5px rgba(229,27,36,.12), 0 0 18px var(--red); }
.hero h1, .page-hero h1, .submit-intro h1 { margin: 0; font: 900 clamp(68px, 7.3vw, 116px)/.78 var(--display); letter-spacing: -.085em; text-transform: uppercase; transform: skew(-4deg); }
.hero h1 span, .page-hero h1 span, .submit-intro h1 span { color: var(--red-hot); }
.hero-lede { max-width: 610px; margin: 38px 0 30px; color: #bdbab5; font-size: 18px; line-height: 1.65; letter-spacing: -.015em; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-bottom: 31px; }
.button { min-height: 54px; padding: 0 22px; display: inline-flex; align-items: center; justify-content: center; gap: 32px; border: 0; cursor: pointer; font-size: 11px; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; transition: transform .2s ease, background .2s ease, color .2s ease; }
.button:hover { transform: translateY(-2px); }
.button-primary { background: var(--red); color: white; box-shadow: 0 12px 35px rgba(229,27,36,.22); }
.button-primary:hover { background: var(--red-hot); }
.button-primary:disabled { opacity: .65; cursor: wait; transform: none; }
.button-ghost { border: 1px solid rgba(255,255,255,.25); color: white; background: rgba(255,255,255,.02); }
.button-ghost:hover { border-color: white; background: white; color: var(--ink); }
.button-light { background: white; color: var(--ink); }
.button-dark { background: var(--ink); color: white; }
.trust-row { display: flex; flex-wrap: wrap; gap: 20px; color: #858589; font: 700 9px/1.3 monospace; letter-spacing: .06em; text-transform: uppercase; }
.trust-row span::first-letter { color: var(--red); }

.hero-visual { position: relative; perspective: 1200px; }
.machine-card { position: relative; width: min(100%, 500px); margin-left: auto; min-height: 560px; padding: 18px; background: linear-gradient(150deg, #27272b, #101012 65%); border: 1px solid #3a3a3f; box-shadow: 0 42px 100px rgba(0,0,0,.6), inset 0 0 0 6px #131315; transform: rotateY(-6deg) rotateZ(1.2deg); }
.machine-card::before, .machine-card::after { content: ""; position: absolute; z-index: 5; width: 9px; height: 9px; border: 1px solid #666; border-radius: 50%; background: #222; box-shadow: 0 0 0 3px #0b0b0d; }
.machine-card::before { top: 10px; left: 10px; } .machine-card::after { right: 10px; bottom: 10px; }
.machine-topline { height: 40px; padding: 0 12px; display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid #39393d; color: #7f7f84; font: 700 9px/1 monospace; letter-spacing: .13em; }
.online { color: #c6c4c0; }.online i { display: inline-block; width: 6px; height: 6px; margin-right: 6px; border-radius: 50%; background: #41de80; box-shadow: 0 0 12px #41de80; }
.logo-stage { position: relative; min-height: 390px; display: grid; place-items: center; overflow: hidden; background: radial-gradient(circle, #2b1719, #0d0d0f 65%); border: 1px solid #28282c; }
.logo-stage::before { content: ""; position: absolute; inset: 0; z-index: 2; pointer-events: none; background: repeating-linear-gradient(0deg, transparent 0 3px, rgba(0,0,0,.24) 4px); mix-blend-mode: multiply; }
.logo-stage img { position: relative; z-index: 1; width: 78%; border-radius: 50%; mix-blend-mode: screen; filter: contrast(1.08) saturate(.95) drop-shadow(0 16px 32px #000); }
.orbit { position: absolute; border: 1px solid rgba(229,27,36,.32); border-radius: 50%; }
.orbit-one { width: 380px; height: 380px; box-shadow: inset 0 0 35px rgba(229,27,36,.07); }
.orbit-two { width: 310px; height: 310px; border-style: dashed; animation: rotate 30s linear infinite; }
@keyframes rotate { to { transform: rotate(360deg); } }
.machine-interface { display: grid; grid-template-columns: 1fr 1.2fr 1fr; align-items: center; gap: 16px; min-height: 95px; margin-top: 15px; padding: 12px 16px; border: 1px solid #2f2f33; background: #0a0a0b; }
.machine-interface small { display: block; color: #68686c; font: 700 8px/1 monospace; letter-spacing: .18em; }
.machine-interface strong { display: block; margin-top: 7px; font: 900 22px/1 var(--display); letter-spacing: -.05em; }
.interface-bars { display: flex; align-items: end; justify-content: center; gap: 5px; height: 34px; }
.interface-bars i { width: 4px; background: var(--red); box-shadow: 0 0 9px rgba(229,27,36,.6); }
.interface-bars i:nth-child(1) { height: 10px }.interface-bars i:nth-child(2) { height: 19px }.interface-bars i:nth-child(3) { height: 29px }.interface-bars i:nth-child(4) { height: 17px }.interface-bars i:nth-child(5) { height: 25px }
.tap-zone { text-align: right; color: #9b9996; font: 800 9px/1.35 monospace; letter-spacing: .1em; }.tap-zone span { color: var(--red); font-size: 22px; vertical-align: middle; }
.floating-tag { position: absolute; z-index: 6; min-width: 130px; padding: 12px 15px; background: rgba(11,11,13,.92); border: 1px solid #3a3a3e; box-shadow: 0 16px 35px rgba(0,0,0,.4); backdrop-filter: blur(8px); }
.floating-tag b { display: block; color: white; font: 900 17px/1 var(--display); }.floating-tag span { display: block; margin-top: 5px; color: #77777b; font: 700 8px/1 monospace; letter-spacing: .13em; }
.tag-left { left: -42px; top: 110px; }.tag-right { right: -28px; bottom: 90px; border-left: 2px solid var(--red); }.tag-right b { color: var(--red-hot); }

.signal-strip { overflow: hidden; padding: 19px 0; background: var(--red); color: white; border-block: 1px solid #fc535a; transform: rotate(-.7deg) scale(1.02); box-shadow: 0 12px 25px rgba(0,0,0,.12); }
.signal-track { width: max-content; display: flex; align-items: center; gap: 27px; padding-left: 2vw; font: 900 14px/1 var(--display); letter-spacing: .09em; transform: skew(-5deg); }
.signal-track i { font-style: normal; color: #6d0c10; }

.section-heading { margin-bottom: 56px; }.split-heading { display: grid; grid-template-columns: 1.2fr .8fr; align-items: end; gap: 80px; }
.kicker { display: block; margin-bottom: 18px; color: var(--red); font: 800 10px/1 monospace; letter-spacing: .2em; text-transform: uppercase; }
.section-heading h2, .experience-intro h2, .community-copy h2, .location-cta h2, .map-bottom h2 { margin: 0; font: 900 clamp(48px, 5.4vw, 78px)/.9 var(--display); letter-spacing: -.075em; text-transform: uppercase; }
.section-heading p, .location-cta p, .map-bottom p { max-width: 450px; margin: 0 0 6px; color: #6e6b67; font-size: 17px; line-height: 1.7; }
.products-section { background: var(--paper); }
.product-grid { display: grid; grid-template-columns: repeat(4, 1fr); border: 1px solid #d5d0c9; }
.product-card { position: relative; min-height: 390px; padding: 24px; overflow: hidden; border-right: 1px solid #d5d0c9; transition: background .25s ease, color .25s ease; }
.product-card:last-child { border-right: 0; }.product-card:hover { background: var(--ink); color: white; }
.card-number { font: 700 9px/1 monospace; color: #8b8782; }.card-corner { position: absolute; right: 20px; bottom: 17px; color: #c5c0ba; font: 900 10px/1 monospace; }
.product-art { height: 200px; display: grid; place-items: center; }
.product-shape { position: relative; display: block; width: 98px; height: 145px; border-radius: 6px; background: linear-gradient(140deg, #2e2e33, #09090b); border: 2px solid #35353a; transform: rotate(-8deg); box-shadow: 12px 15px 0 rgba(229,27,36,.12), 0 17px 25px rgba(0,0,0,.18); }
.product-shape::before { content: "PZ"; position: absolute; inset: 42% 0 auto; color: white; text-align: center; font: 900 28px/1 var(--display); transform: skew(-7deg); }
.product-shape::after { content: ""; position: absolute; left: 14px; right: 14px; top: 18px; height: 6px; background: var(--red); box-shadow: 0 98px 0 var(--red); }
.shape-02 { width: 118px; height: 150px; transform: rotate(4deg); border-radius: 3px; }.shape-03 { width: 116px; height: 116px; border-radius: 50%; transform: none; }.shape-04 { width: 110px; height: 160px; background: #d6d3cc; border: 7px solid rgba(255,255,255,.75); }.shape-04::before { color: var(--ink); }
.product-card h3 { margin: 6px 0 10px; font: 900 24px/1 var(--display); letter-spacing: -.045em; text-transform: uppercase; }.product-card p { margin: 0; color: #89857f; font-size: 13px; line-height: 1.55; }.product-card:hover p { color: #aaa7a3; }

.experience-section { color: white; background: var(--ink); position: relative; }
.experience-section::before { content: ""; position: absolute; inset: 0; opacity: .035; background: repeating-linear-gradient(135deg, #fff 0 1px, transparent 1px 12px); }
.experience-grid { position: relative; display: grid; grid-template-columns: .85fr 1.15fr; gap: 100px; }
.experience-intro p { max-width: 400px; margin: 28px 0 32px; color: #918f8c; font-size: 16px; line-height: 1.7; }
.text-link { display: inline-flex; align-items: center; gap: 23px; padding-bottom: 7px; border-bottom: 1px solid currentColor; font-size: 11px; font-weight: 900; letter-spacing: .09em; text-transform: uppercase; }.text-link span { color: var(--red); }
.steps-list { border-top: 1px solid #353539; }
.step { min-height: 122px; display: grid; grid-template-columns: 54px 1fr 30px; align-items: center; gap: 18px; border-bottom: 1px solid #353539; transition: padding .2s ease, background .2s ease; }.step:hover { padding-inline: 18px; background: #111114; }
.step > span { color: var(--red); font: 800 10px/1 monospace; }.step h3 { margin: 0 0 7px; font: 900 26px/1 var(--display); letter-spacing: -.045em; text-transform: uppercase; }.step p { margin: 0; color: #77777b; font-size: 13px; }.step > i { color: #666; font-style: normal; }

.community-section { background: #e7e1d8; }
.community-panel { position: relative; min-height: 600px; padding: 76px; display: grid; grid-template-columns: 1fr .8fr; align-items: center; gap: 70px; overflow: hidden; color: white; background: #a50d14; box-shadow: 0 38px 80px rgba(76,16,18,.25); }
.community-panel::before { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(0,0,0,.35), transparent 62%), repeating-linear-gradient(0deg, transparent 0 3px, rgba(0,0,0,.07) 4px); }
.community-glow { position: absolute; width: 600px; height: 600px; right: -160px; top: -200px; border-radius: 50%; background: #ff2832; filter: blur(80px); opacity: .45; }
.community-copy, .hall-card { position: relative; z-index: 2; }.kicker.light { color: #ffb0b3; }
.community-copy h2 { font-size: clamp(58px, 6vw, 90px); }.community-copy h2 span { color: #ff757b; }.community-copy p { max-width: 570px; margin: 28px 0 31px; color: #e9c7c8; font-size: 16px; line-height: 1.7; }
.hall-card { width: 310px; min-height: 455px; margin-left: auto; padding: 15px; background: rgba(5,5,6,.85); border: 1px solid rgba(255,255,255,.23); box-shadow: 0 30px 70px rgba(50,0,2,.45); transform: rotate(3deg); }
.hall-card-top, .hall-status { display: flex; justify-content: space-between; align-items: center; color: #858589; font: 700 8px/1 monospace; letter-spacing: .14em; }
.slab { margin: 16px 0; padding: 10px; background: rgba(255,255,255,.75); border-radius: 7px; box-shadow: inset 0 0 0 2px white; }
.slab-label { height: 52px; padding: 8px 10px; display: grid; grid-template-columns: 1fr auto; background: white; color: var(--ink); border-top: 4px solid var(--red); }.slab-label b { font: 900 14px/1 var(--display); }.slab-label span { grid-row: 2; font: 700 7px/1 monospace; letter-spacing: .12em; }.slab-label strong { grid-column: 2; grid-row: 1/3; align-self: center; color: var(--red); font: 900 25px/1 var(--display); }
.slab-art { height: 293px; display: grid; place-items: center; background: radial-gradient(circle, #76151a, #16090b 65%); overflow: hidden; }.slab-art::before { content: ""; width: 150px; height: 220px; border-radius: 10px; background: linear-gradient(145deg, #ef333b, #1b1b1f 43%, #050506); transform: rotate(-8deg); box-shadow: 14px 18px 0 rgba(255,255,255,.08); }.slab-art i { position: absolute; color: white; font: 900 75px/1 var(--display); font-style: normal; }
.hall-status b { color: var(--red-hot); }

.location-cta { background: var(--paper); }.location-cta-grid, .map-bottom-grid { display: grid; grid-template-columns: 1.15fr .85fr; align-items: end; gap: 90px; }.location-cta .button { margin-top: 25px; }

.site-footer { padding: 78px 0 28px; color: white; background: #070708; border-top: 1px solid #242427; }
.footer-grid { display: grid; grid-template-columns: 1.3fr .65fr .8fr .8fr; gap: 65px; padding-bottom: 70px; }
.brand-footer img { border-color: #333; }.footer-brand p { margin: 27px 0 0; color: #68686c; font: 900 25px/1.02 var(--display); letter-spacing: -.04em; text-transform: uppercase; }
.footer-links { display: flex; flex-direction: column; gap: 12px; color: #939397; font-size: 12px; }.footer-links > span { margin-bottom: 8px; color: #4e4e52; font: 700 8px/1 monospace; letter-spacing: .17em; text-transform: uppercase; }.footer-links > a:hover { color: white; }
.footer-socials { margin-top: 7px; padding-top: 17px; border-top: 1px solid #222225; }.footer-socials > span { display: block; margin-bottom: 11px; color: #77777c; font: 800 9px/1 monospace; letter-spacing: .17em; text-transform: uppercase; }.social-links { display: flex; gap: 10px; }.footer-social-link { box-shadow: 0 8px 18px rgba(0,0,0,.24); transition: filter .2s ease, transform .2s ease; }.footer-social-link:hover, .footer-social-link:focus-visible { filter: brightness(1.17) saturate(1.12); transform: translateY(-3px); }.footer-social-link img { width: 23px; height: 23px; object-fit: contain; }.social-tiktok img { filter: drop-shadow(1.5px 0 #fe2c55) drop-shadow(-1.5px 0 #25f4ee); }
.footer-signal { min-height: 140px; padding: 18px; border: 1px solid #2c2c30; background: #0c0c0e; }.footer-signal span { color: #6d6d72; font: 700 8px/1 monospace; letter-spacing: .14em; }.footer-signal span i { display: inline-block; width: 6px; height: 6px; margin-right: 6px; border-radius: 50%; background: #41de80; box-shadow: 0 0 8px #41de80; }.footer-signal b { display: block; margin-top: 24px; font: 900 42px/1 var(--display); letter-spacing: -.07em; }.footer-signal small { color: var(--red); font: 700 8px/1 monospace; letter-spacing: .15em; }
.footer-bottom { padding-top: 25px; display: flex; justify-content: space-between; border-top: 1px solid #202023; color: #4c4c50; font: 700 8px/1 monospace; letter-spacing: .13em; }

/* Shared inner pages */
.subpage-shell { background: var(--paper); }.page-hero { min-height: 520px; padding-top: 190px; color: white; background: radial-gradient(circle at 75% 25%, rgba(229,27,36,.18), transparent 30%), var(--ink); }
.page-hero-grid { display: grid; grid-template-columns: 1fr auto; align-items: end; gap: 50px; }.page-hero h1 { font-size: clamp(66px, 7vw, 104px); }.page-hero p { max-width: 640px; margin: 33px 0 0; color: #9e9b97; font-size: 17px; line-height: 1.65; }
.network-stat { width: 245px; padding: 22px; border: 1px solid #3b3b3f; background: #101012; }.network-stat span, .network-stat small { display: block; color: #6e6e72; font: 700 8px/1.4 monospace; letter-spacing: .14em; }.network-stat b { display: block; margin: 14px 0 6px; color: var(--red-hot); font: 900 25px/1 var(--display); letter-spacing: -.04em; }

/* Map */
.map-section { background: #dcd7cf; border-bottom: 1px solid #cbc5bd; }.map-layout { min-height: 720px; display: grid; grid-template-columns: minmax(350px, 34vw) 1fr; }
.location-panel { position: relative; z-index: 3; padding: 48px 42px 30px max(42px, calc((100vw - 1180px) / 2)); background: var(--paper); box-shadow: 20px 0 50px rgba(23,21,20,.09); }
.location-panel-head h2 { margin: 0 0 27px; font: 900 38px/1 var(--display); letter-spacing: -.06em; text-transform: uppercase; }.location-search { height: 54px; display: flex; align-items: center; gap: 13px; padding: 0 17px; border: 1px solid #c9c4bd; background: white; }.location-search span { font-size: 22px; }.location-search input { width: 100%; border: 0; outline: 0; background: transparent; color: #777; font-size: 13px; }.location-search input:disabled { opacity: 1; }
.location-empty { padding: 74px 20px 45px; text-align: center; }.radar-icon { position: relative; width: 82px; height: 82px; margin: 0 auto 28px; display: grid; place-items: center; border: 1px solid #d4cec6; border-radius: 50%; }.radar-icon::before, .radar-icon::after { content: ""; position: absolute; border: 1px solid #d4cec6; border-radius: 50%; }.radar-icon::before { width: 54px; height: 54px; }.radar-icon::after { width: 25px; height: 25px; }.radar-icon i:first-child { width: 7px; height: 7px; border-radius: 50%; background: var(--red); box-shadow: 0 0 13px rgba(229,27,36,.55); }.radar-icon i:nth-child(2) { position: absolute; width: 40px; height: 1px; background: var(--red); transform-origin: left; transform: translateX(20px) rotate(-28deg); }.location-empty h3 { margin: 0 0 12px; font: 900 25px/1 var(--display); letter-spacing: -.045em; text-transform: uppercase; }.location-empty p { margin: 0 auto 24px; max-width: 320px; color: #77736e; font-size: 13px; line-height: 1.65; }.location-footnote { position: absolute; left: max(42px, calc((100vw - 1180px) / 2)); right: 30px; bottom: 24px; padding-top: 17px; border-top: 1px solid #d8d2cb; color: #8d8882; font: 700 8px/1.4 monospace; text-transform: uppercase; letter-spacing: .09em; }.location-footnote i { display: inline-block; width: 6px; height: 6px; margin-right: 7px; border-radius: 50%; background: #41b56c; }
.map-frame { position: relative; min-height: 720px; overflow: hidden; background: #c6c3bd; }.map-frame iframe { width: 100%; height: 100%; min-height: 720px; border: 0; filter: grayscale(1) contrast(1.05) brightness(.84); }.map-overlay { position: absolute; inset: 0; pointer-events: none; background: linear-gradient(90deg, rgba(229,27,36,.08), transparent 25%), repeating-linear-gradient(0deg, transparent 0 4px, rgba(10,10,11,.03) 5px); }.map-card { position: absolute; top: 30px; right: 30px; width: 245px; padding: 18px; color: white; background: rgba(9,9,11,.88); border: 1px solid rgba(255,255,255,.18); backdrop-filter: blur(7px); }.map-card span, .map-card small { display: block; color: #77777b; font: 700 8px/1.4 monospace; letter-spacing: .12em; }.map-card b { display: block; margin: 11px 0 5px; font: 900 15px/1 var(--display); }.map-crosshair { position: absolute; left: 50%; top: 50%; width: 85px; height: 85px; border: 1px solid rgba(229,27,36,.7); border-radius: 50%; transform: translate(-50%,-50%); box-shadow: 0 0 0 16px rgba(229,27,36,.08), 0 0 35px rgba(229,27,36,.2); }.map-crosshair::before, .map-crosshair::after { content: ""; position: absolute; background: rgba(229,27,36,.8); }.map-crosshair::before { width: 1px; top: -12px; bottom: -12px; left: 50%; }.map-crosshair::after { height: 1px; left: -12px; right: -12px; top: 50%; }
.map-bottom { background: var(--paper); }

/* Submission */
.submit-shell { background: var(--ink); }.submit-page { min-height: 1000px; padding-top: 170px; color: white; background: radial-gradient(circle at 15% 35%, rgba(229,27,36,.14), transparent 28%), linear-gradient(rgba(255,255,255,.02) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.02) 1px, transparent 1px), var(--ink); background-size: auto, 48px 48px, 48px 48px, auto; }
.submit-layout { display: grid; grid-template-columns: .82fr 1.18fr; align-items: start; gap: 85px; }.submit-intro { position: sticky; top: 50px; }.submit-intro h1 { font-size: clamp(65px, 6.5vw, 96px); }.submit-intro > p { max-width: 520px; margin: 35px 0; color: #999793; font-size: 16px; line-height: 1.68; }
.feature-steps { border-top: 1px solid #343438; }.feature-steps article { min-height: 82px; display: grid; grid-template-columns: 44px 1fr; align-items: center; border-bottom: 1px solid #343438; }.feature-steps article > span { color: var(--red); font: 800 9px/1 monospace; }.feature-steps b, .feature-steps small { display: block; }.feature-steps b { margin-bottom: 5px; font: 900 15px/1 var(--display); letter-spacing: -.02em; text-transform: uppercase; }.feature-steps small { color: #6e6e72; font-size: 11px; }
.submit-note { margin-top: 28px; padding: 18px; display: grid; grid-template-columns: 115px 1fr; gap: 18px; border: 1px solid #3b2022; background: #160d0e; }.submit-note b { color: var(--red-hot); font: 900 10px/1.2 var(--display); }.submit-note span { color: #878388; font-size: 10px; line-height: 1.5; }
.submission-card { padding: 30px; color: var(--ink); background: var(--paper); box-shadow: 0 38px 90px rgba(0,0,0,.5); }.form-topline { margin: -30px -30px 28px; height: 45px; padding: 0 18px; display: flex; align-items: center; justify-content: space-between; color: #77777b; background: #111113; font: 700 8px/1 monospace; letter-spacing: .13em; }.form-topline span:last-child { color: #74c98e; }.form-topline i { display: inline-block; width: 6px; height: 6px; margin-right: 5px; border-radius: 50%; background: #41de80; box-shadow: 0 0 7px #41de80; }
.form-heading { display: flex; align-items: center; gap: 17px; margin-bottom: 20px; }.form-heading > span { color: var(--red); font: 800 10px/1 monospace; }.form-heading h2 { margin: 0; font: 900 30px/1 var(--display); letter-spacing: -.055em; text-transform: uppercase; }.form-heading p { margin: 4px 0 0; color: #88837d; font-size: 10px; }
.upload-zone { position: relative; min-height: 245px; display: grid; place-items: center; overflow: hidden; border: 1px dashed #aaa49c; background: #ebe5dd; cursor: pointer; transition: border-color .2s, background .2s; }.upload-zone:hover { border-color: var(--red); background: #e6dfd6; }.upload-zone input { position: absolute; width: 1px; height: 1px; opacity: 0; }.upload-prompt { text-align: center; }.upload-icon { width: 45px; height: 45px; margin: 0 auto 15px; display: grid; place-items: center; color: white; background: var(--ink); font-size: 19px; }.upload-prompt b, .upload-prompt small, .upload-prompt em { display: block; }.upload-prompt b { font: 900 17px/1 var(--display); text-transform: uppercase; }.upload-prompt small { margin: 7px 0 18px; color: #8c8780; font-size: 10px; }.upload-prompt em { color: var(--red); font: normal 800 9px/1 monospace; letter-spacing: .12em; }.upload-zone.has-preview { background: #0d0d0f; border-style: solid; }.upload-zone.has-preview img { width: 100%; height: 330px; object-fit: contain; }.replace-photo { position: absolute; right: 12px; bottom: 12px; padding: 9px 12px; color: white; background: rgba(0,0,0,.75); font: 800 8px/1 monospace; letter-spacing: .1em; text-transform: uppercase; }
.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 17px; margin-top: 24px; }.form-grid label > span { display: block; margin-bottom: 8px; color: #595653; font: 800 9px/1 monospace; letter-spacing: .06em; text-transform: uppercase; }.form-grid input, .form-grid textarea, .form-grid select { width: 100%; border: 1px solid #c7c1b9; border-radius: 0; outline: 0; color: var(--ink); background: #fbf8f3; font-size: 12px; transition: border-color .2s, box-shadow .2s; }.form-grid input, .form-grid select { height: 49px; padding: 0 13px; }.form-grid textarea { padding: 13px; resize: vertical; line-height: 1.5; }.form-grid input:focus, .form-grid textarea:focus, .form-grid select:focus { border-color: var(--red); box-shadow: 0 0 0 3px rgba(229,27,36,.09); }.full-field { grid-column: 1/-1; }
.consent-row { display: grid; grid-template-columns: 16px 1fr; gap: 10px; align-items: start; margin: 20px 0; color: #75716c; font-size: 10px; line-height: 1.55; }.consent-row input { margin: 2px 0 0; accent-color: var(--red); }.submit-button { width: 100%; }.privacy-line { margin: 12px 0 0; color: #96918b; text-align: center; font-size: 9px; }.form-message { margin-bottom: 14px; padding: 12px; font-size: 11px; }.error-message { color: #8c161b; background: #f2d6d7; border: 1px solid #e2abad; }
.success-card { min-height: 640px; display: flex; flex-direction: column; align-items: flex-start; justify-content: center; }.success-mark { width: 72px; height: 72px; margin-bottom: 35px; display: grid; place-items: center; border: 1px solid #cbc5bd; border-radius: 50%; }.success-mark span { width: 48px; height: 48px; display: grid; place-items: center; border-radius: 50%; color: white; background: var(--red); font-size: 22px; }.success-card h2 { max-width: 480px; margin: 0 0 18px; font: 900 55px/.9 var(--display); letter-spacing: -.07em; text-transform: uppercase; }.success-card > p { color: #5f5b57; line-height: 1.6; }.success-small { max-width: 480px; font-size: 12px; }.success-card .button { margin-top: 18px; }

/* Contact */
.contact-page { min-height: 1050px; background: radial-gradient(circle at 84% 24%, rgba(229,27,36,.15), transparent 27%), linear-gradient(rgba(255,255,255,.02) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.02) 1px, transparent 1px), var(--ink); background-size: auto, 48px 48px, 48px 48px, auto; }.contact-form-grid { margin-top: 28px; }.contact-form-grid select { appearance: none; cursor: pointer; background-image: linear-gradient(45deg, transparent 50%, #777 50%), linear-gradient(135deg, #777 50%, transparent 50%); background-position: calc(100% - 17px) 21px, calc(100% - 12px) 21px; background-size: 5px 5px, 5px 5px; background-repeat: no-repeat; }.contact-honeypot { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }.contact-form .form-message { margin-top: 20px; }.contact-form .submit-button { margin-top: 22px; }.contact-success { min-height: 610px; }

@media (max-width: 1000px) {
  .main-nav { display: none; }
  .hero-grid, .submit-layout { grid-template-columns: 1fr; }
  .hero { padding-top: 155px; }.hero-copy { max-width: 720px; }.hero-visual { width: min(620px, 100%); margin: 30px auto 0; }.machine-card { margin: auto; }
  .product-grid { grid-template-columns: repeat(2, 1fr); }.product-card:nth-child(2) { border-right: 0; }.product-card:nth-child(-n+2) { border-bottom: 1px solid #d5d0c9; }
  .experience-grid { grid-template-columns: 1fr; gap: 60px; }.experience-intro { max-width: 650px; }
  .community-panel { padding: 55px; }.footer-grid { grid-template-columns: 1fr 1fr; }
  .submit-intro { position: relative; top: 0; }.submit-layout { max-width: 760px; }
  .map-layout { grid-template-columns: 380px 1fr; }.page-hero-grid { grid-template-columns: 1fr; }.network-stat { display: none; }
}

@media (max-width: 720px) {
  .content-width { width: min(100% - 30px, 1180px); }.section-pad { padding: 78px 0; }
  .site-header { position: absolute; }.header-inner { height: 74px; }.brand img { width: 42px; height: 42px; }.brand { font-size: 14px; }.header-cta { padding: 11px 12px; gap: 10px; font-size: 9px; }
  .hero { min-height: auto; padding-top: 135px; }.hero h1, .page-hero h1, .submit-intro h1 { font-size: clamp(57px, 17vw, 80px); }.hero-lede { margin-top: 28px; font-size: 15px; }.hero-actions { flex-direction: column; align-items: stretch; }.trust-row { gap: 12px; }
  .machine-card { min-height: 460px; padding: 12px; transform: none; }.logo-stage { min-height: 310px; }.machine-interface { grid-template-columns: 1fr 1fr; }.interface-bars { display: none; }.floating-tag { display: none; }
  .split-heading, .location-cta-grid, .map-bottom-grid { grid-template-columns: 1fr; gap: 28px; }.section-heading h2, .experience-intro h2, .community-copy h2, .location-cta h2, .map-bottom h2 { font-size: 48px; }.product-grid { grid-template-columns: 1fr; }.product-card { min-height: 350px; border-right: 0; border-bottom: 1px solid #d5d0c9; }.product-card:last-child { border-bottom: 0; }.product-art { height: 170px; }
  .community-panel { min-height: 0; padding: 40px 26px; grid-template-columns: 1fr; }.hall-card { width: min(100%, 310px); margin: 0 auto; }.community-copy h2 { font-size: 57px; }
  .footer-grid { grid-template-columns: 1fr 1fr; gap: 40px 25px; }.footer-brand { grid-column: 1/-1; }.footer-signal { grid-column: 1/-1; }.footer-bottom { gap: 20px; line-height: 1.5; }
  .page-hero { min-height: 520px; padding-top: 155px; }.map-layout { grid-template-columns: 1fr; }.location-panel { min-height: 600px; padding: 40px 25px 80px; }.location-footnote { left: 25px; }.map-frame, .map-frame iframe { min-height: 520px; }.map-card { right: 15px; top: 15px; }.submit-page { padding-top: 135px; }.submit-layout { gap: 55px; }.submission-card { margin-inline: -5px; padding: 20px; }.form-topline { margin: -20px -20px 24px; }.form-grid { grid-template-columns: 1fr; }.full-field { grid-column: auto; }.submit-note { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .001ms !important; animation-iteration-count: 1 !important; transition-duration: .001ms !important; }
}
