:root {
  --ink: #02070b;
  --ink-soft: #07131c;
  --paper: #050d13;
  --white: #ffffff;
  --blue: #009fe3;
  --blue-deep: #18bca8;
  --lime: #a8df36;
  --silver: #dce8ee;
  --muted: #8fa1ab;
  --line: rgba(35, 190, 176, .2);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 86px; }
body { margin: 0; color: #edf5f7; background: var(--paper); font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; line-height: 1.5; }
body.menu-open { overflow: hidden; }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; }
img { display: block; max-width: 100%; }
h1, h2, h3, p { margin-top: 0; }
.skip-link { position: fixed; z-index: 1000; top: 12px; left: 12px; padding: 10px 16px; background: var(--lime); color: var(--ink); transform: translateY(-150%); }
.skip-link:focus { transform: translateY(0); }
.live-topbar { min-height: 42px; display: flex; align-items: center; justify-content: space-between; gap: 25px; padding: 7px clamp(22px, 4vw, 68px); color: #fff; background: #031018; border-bottom: 1px solid rgba(0,159,227,.4); font-size: 11px; }
.live-topbar > div { display: flex; align-items: center; gap: 18px; }
.live-topbar > div > span:last-child { color: #b7c9d0; font-weight: 650; }
.live-topbar > a { color: var(--lime); font-weight: 900; white-space: nowrap; }
.live-pill { display: inline-flex; align-items: center; gap: 7px; padding: 4px 8px; color: #fff !important; background: #e73958; border-radius: 20px; font-size: 9px; font-weight: 950 !important; letter-spacing: .1em; }
.live-pill i { width: 6px; height: 6px; border-radius: 50%; background: #fff; box-shadow: 0 0 0 4px rgba(255,255,255,.15); animation: livePulse 1.4s ease infinite; }
@keyframes livePulse { 50% { opacity: .45; } }

.site-header { position: sticky; z-index: 100; top: 0; height: 84px; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; padding: 0 clamp(22px, 4vw, 68px); background: rgba(2,7,11,.96); border-bottom: 1px solid rgba(0,159,227,.25); backdrop-filter: blur(18px); color: #fff; }
.brand { display: inline-flex; align-items: center; }
.brand img { width: 237px; height: auto; max-height: 60px; object-fit: contain; object-position: left center; filter: drop-shadow(0 10px 24px rgba(0,159,227,.12)); }
.main-nav { display: flex; align-items: center; gap: clamp(18px, 2.3vw, 38px); }
.main-nav a { position: relative; color: #c9cdd3; font-size: 13px; font-weight: 700; }
.main-nav a::after { content: ""; position: absolute; left: 0; right: 100%; bottom: -9px; height: 2px; background: var(--lime); transition: right .25s ease; }
.main-nav a:hover, .main-nav a:focus-visible { color: #fff; }
.main-nav a:hover::after, .main-nav a:focus-visible::after { right: 0; }
.header-actions { display: flex; align-items: center; justify-content: flex-end; gap: 18px; }
.header-contact { padding: 12px 17px; color: var(--ink); background: linear-gradient(135deg, #007bc4, #22cdb6 54%, #a8df36); border-radius: 3px; font-size: 12px; font-weight: 850; }
.header-contact span { padding-left: 8px; }
.menu-toggle { display: none; width: 44px; height: 44px; border: 1px solid rgba(255,255,255,.25); background: transparent; }
.menu-toggle span { display: block; width: 18px; height: 2px; margin: 5px auto; background: #fff; transition: transform .2s ease; }

.hero { position: relative; min-height: calc(100svh - 84px); display: grid; grid-template-columns: minmax(0, 1fr) minmax(440px, .95fr); align-items: center; gap: 5vw; padding: clamp(70px, 9vw, 130px) clamp(22px, 7vw, 118px) clamp(80px, 9vw, 132px); overflow: hidden; color: #fff; background: var(--ink); }
.hero::before { content: ""; position: absolute; inset: 0; pointer-events: none; opacity: .17; background-image: linear-gradient(rgba(255,255,255,.1) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.1) 1px, transparent 1px); background-size: 70px 70px; mask-image: linear-gradient(to right, transparent, #000); }
.hero-glow { position: absolute; border-radius: 50%; filter: blur(90px); opacity: .17; }
.hero-glow-one { width: 420px; height: 420px; top: -120px; right: 10%; background: var(--blue); }
.hero-glow-two { width: 330px; height: 330px; bottom: -170px; left: 28%; background: var(--lime); }
.hero-copy { position: relative; z-index: 2; max-width: 750px; }
.eyebrow { display: flex; align-items: center; gap: 10px; margin-bottom: 24px; color: var(--lime); font-size: 12px; font-weight: 900; letter-spacing: .19em; text-transform: uppercase; }
.eyebrow > span { width: 22px; height: 2px; background: currentColor; }
.eyebrow.dark { color: var(--blue-deep); }
.eyebrow.pale { color: var(--lime); }
.hero h1, .section h2 { font-size: clamp(46px, 6.3vw, 96px); line-height: .93; letter-spacing: -.06em; }
.hero h1 { margin-bottom: 30px; }
.hero h1 em, .section h2 em { color: var(--blue); font-family: Georgia, "Times New Roman", serif; font-weight: 400; }
.hero-intro { max-width: 650px; color: #adb3bd; font-size: clamp(16px, 1.4vw, 20px); }
.hero-intro strong { color: #fff; }
.hero-buttons { display: flex; gap: 12px; flex-wrap: wrap; margin: 36px 0 48px; }
.button { display: inline-flex; justify-content: center; align-items: center; gap: 20px; min-height: 54px; padding: 0 24px; border: 1px solid transparent; border-radius: 3px; cursor: pointer; font-size: 13px; font-weight: 850; transition: transform .2s ease, background .2s ease, border .2s ease; }
.button:hover { transform: translateY(-2px); }
.button-primary { color: var(--ink); background: linear-gradient(135deg, #007bc4, #22cdb6 54%, #a8df36); }
.button-primary:hover { background: linear-gradient(135deg, #009fe3, #42dcc5 54%, #b7ed43); }
.button-ghost { color: #fff; border-color: rgba(255,255,255,.25); background: rgba(255,255,255,.04); }
.button-ghost:hover { border-color: rgba(255,255,255,.55); }
.button-lime { color: var(--ink); background: linear-gradient(135deg, #007bc4, #22cdb6 54%, #a8df36); }
.hero-proof { display: flex; gap: 34px; }
.hero-proof div { display: flex; align-items: center; gap: 10px; }
.hero-proof strong { color: var(--lime); font-size: 12px; }
.hero-proof span { color: #939aa5; font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .07em; }

.hero-stage { position: relative; z-index: 2; min-height: 590px; }
.stage-grid { position: absolute; inset: 6% 3% 8% 8%; border: 1px solid rgba(255,255,255,.12); background-image: linear-gradient(rgba(255,255,255,.055) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.055) 1px, transparent 1px); background-size: 34px 34px; transform: rotate(-3deg); }
.printer-shot { position: absolute; width: 58%; right: 2%; bottom: 3%; border: 7px solid #073746; box-shadow: 0 30px 80px rgba(0,0,0,.42); transform: rotate(4deg); }
.printer-shot::after { content: "MFH 3dPrint / 02"; position: absolute; right: 14px; bottom: 12px; padding: 6px 9px; color: var(--ink); background: var(--lime); font-size: 9px; font-weight: 900; letter-spacing: .12em; }
.printer-shot img { width: 100%; aspect-ratio: 1.05; object-fit: cover; }
.tcg-photo-card { position: absolute; z-index: 3; left: 0; top: 4%; width: 235px; height: 330px; overflow: hidden; border: 7px solid #073746; border-radius: 12px; box-shadow: 0 25px 60px rgba(0,0,0,.48); transform: rotate(-7deg); }
.card-fan { position: relative; overflow: hidden; isolation: isolate; background: radial-gradient(circle at 50% 30%, #17374c, #07121b 64%, #02070b); }
.card-fan::before { content: ""; position: absolute; z-index: 1; inset: 0; opacity: .24; background-image: linear-gradient(rgba(255,255,255,.08) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.08) 1px, transparent 1px); background-size: 24px 24px; }
.card-fan::after { content: ""; position: absolute; z-index: 4; inset: 0; background: linear-gradient(to top, rgba(0,0,0,.9), transparent 58%); pointer-events: none; }
.fan-card { position: absolute; z-index: 2; display: block; width: 142px; aspect-ratio: .715; object-fit: cover; border: 4px solid rgba(255,255,255,.88); border-radius: 9px; background: #fff; box-shadow: 0 18px 38px rgba(0,0,0,.62); transform-origin: center bottom; }
.card-fan-hero .fan-card { left: 50%; top: 23px; }
.card-fan-hero .fan-card-pokemon { transform: translateX(-91%) rotate(-15deg); }
.card-fan-hero .fan-card-onepiece { z-index: 3; top: 13px; transform: translateX(-50%) rotate(1deg); }
.card-fan-hero .fan-card-football { transform: translateX(-9%) rotate(15deg); }
.tcg-photo-logo { position: absolute; z-index: 6; left: 10px; bottom: 2px; width: 92px; height: 78px; object-fit: contain; object-position: left bottom; filter: drop-shadow(0 7px 12px rgba(0,0,0,.72)); }
.card-fan-label { position: absolute; z-index: 6; right: 10px; bottom: 15px; width: 105px; color: #fff; font-size: 7px; font-weight: 950; letter-spacing: .13em; line-height: 1.55; text-align: right; }
.trading-card { position: absolute; width: 185px; aspect-ratio: .69; border-radius: 13px; box-shadow: 0 25px 60px rgba(0,0,0,.45); }
.card-back { top: 20px; left: 45px; display: grid; place-items: center; color: rgba(255,255,255,.12); background: repeating-linear-gradient(45deg, #202938 0, #202938 8px, #171d28 8px, #171d28 16px); border: 6px solid #242d3b; transform: rotate(11deg); }
.card-back span { display: grid; place-items: center; width: 100px; height: 100px; border: 1px solid rgba(255,255,255,.18); border-radius: 50%; font-weight: 900; font-size: 30px; }
.card-front { display: flex; flex-direction: column; overflow: hidden; padding: 18px; color: var(--ink); background: linear-gradient(145deg, #d4f441, #70d3e6 55%, #2688c4); border: 6px solid #d8ecf5; transform: rotate(-8deg); }
.card-front::before { content: ""; position: absolute; width: 140px; height: 140px; top: 59px; left: 22px; border: 2px solid rgba(9,12,18,.4); border-radius: 50%; box-shadow: 0 0 0 18px rgba(255,255,255,.12), 0 0 0 40px rgba(9,12,18,.07); }
.card-front small { position: relative; font-size: 8px; font-weight: 900; letter-spacing: .13em; }
.card-front strong { position: relative; z-index: 2; margin-top: 75px; font-size: 52px; letter-spacing: -.08em; }
.card-front i { position: relative; z-index: 2; height: 2px; margin-top: auto; background: var(--ink); }
.card-front b { position: relative; z-index: 2; margin-top: 10px; font-size: 9px; letter-spacing: .1em; }
.code-window { position: absolute; z-index: 4; right: 10%; top: 7%; width: 285px; border: 1px solid rgba(0,159,227,.38); border-radius: 7px; background: rgba(2,10,15,.96); box-shadow: 0 28px 70px rgba(0,0,0,.5); transform: rotate(2deg); }
.window-bar { display: flex; align-items: center; gap: 6px; padding: 10px 12px; border-bottom: 1px solid rgba(255,255,255,.11); color: #697381; font-size: 9px; }
.window-bar i { width: 7px; height: 7px; border-radius: 50%; background: #697381; }
.window-bar i:first-child { background: #f06867; }.window-bar i:nth-child(2) { background: #e3b341; }.window-bar i:nth-child(3) { background: var(--lime); }
.window-bar span { margin-left: auto; }
.code-window code { display: block; padding: 22px; color: #d3d7dd; font-size: 12px; line-height: 2; }
.code-window code b { color: var(--silver); }.code-window code em { color: var(--lime); font-style: normal; }.code-window code span { color: var(--blue); }
.stage-label { position: absolute; z-index: 5; right: 1%; bottom: 1%; padding: 10px 13px; color: #dce1e8; background: var(--ink); border: 1px solid rgba(255,255,255,.16); font-size: 9px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.live-dot { display: inline-block; width: 7px; height: 7px; margin-right: 7px; border-radius: 50%; background: var(--lime); box-shadow: 0 0 0 4px rgba(168,223,54,.16); }

.service-ticker { overflow: hidden; color: var(--ink); background: linear-gradient(90deg, #007bc4, #22cdb6 52%, #a8df36); }
.service-ticker div { display: flex; justify-content: center; align-items: center; gap: clamp(18px, 3vw, 48px); min-width: max-content; padding: 17px 28px; font-size: 11px; font-weight: 900; letter-spacing: .12em; }
.service-ticker i { font-style: normal; }
.brand-family { display: grid; grid-template-columns: .8fr 1.2fr; color: #fff; background: #000; }
.brand-parent { min-height: 330px; display: flex; flex-direction: column; justify-content: center; padding: clamp(42px, 6vw, 90px) clamp(22px, 7vw, 118px); border-right: 1px solid rgba(255,255,255,.12); }
.brand-parent small { margin-bottom: 18px; color: var(--lime); font-size: 9px; font-weight: 900; letter-spacing: .2em; }
.brand-parent-logo { width: min(410px, 100%); height: auto; background: transparent; filter: drop-shadow(0 18px 34px rgba(0,159,227,.12)); }
.brand-parent strong { font-size: clamp(37px, 4vw, 60px); line-height: .9; letter-spacing: -.06em; }
.brand-parent strong span { display: block; color: var(--blue); font-family: Georgia, "Times New Roman", serif; font-weight: 400; }
.brand-parent p { margin: 24px 0 0; color: #929ba7; font-size: 13px; }
.brand-children { display: grid; grid-template-columns: repeat(3, 1fr); }
.brand-children a { min-height: 330px; display: flex; flex-direction: column; justify-content: center; padding: clamp(26px, 3vw, 46px); border-right: 1px solid rgba(255,255,255,.12); transition: background .2s ease; }
.brand-children a:last-child { border-right: 0; }
.brand-children a:hover { background: #071923; }
.brand-children small { margin-bottom: auto; color: var(--lime); font-size: 9px; font-weight: 900; letter-spacing: .14em; }
.subbrand-logo { width: 116px; height: 104px; margin-top: 22px; object-fit: contain; object-position: left center; filter: drop-shadow(0 12px 23px rgba(0,0,0,.38)); }
.createhouse-logo { width: min(175px, 100%); }
.brand-children strong { margin-top: 18px; font-size: clamp(20px, 2vw, 29px); line-height: 1; }
.brand-children span { margin-top: 10px; color: #8f98a4; font-size: 12px; }
.section { padding: clamp(80px, 10vw, 150px) clamp(22px, 7vw, 118px); }
.section-heading { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(280px, .55fr); align-items: end; gap: 70px; margin-bottom: 70px; }
.section-heading h2 { margin-bottom: 0; font-size: clamp(46px, 5.5vw, 82px); }
.section-heading > p { margin-bottom: 8px; color: var(--muted); font-size: 17px; }

.services { color: #fff; background: #050d13; }
.service-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 18px; }
.service-card { position: relative; min-height: 520px; display: flex; flex-direction: column; justify-content: flex-end; overflow: hidden; padding: 35px; border: 1px solid var(--line); background: #08151e; transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease; }
.service-card:hover { transform: translateY(-5px); border-color: rgba(0,159,227,.45); box-shadow: 0 25px 65px rgba(0,0,0,.3); }
.service-number { position: absolute; z-index: 4; top: 26px; right: 28px; color: #fff; font-size: 11px; font-weight: 900; }
.service-card > div:not(.service-number):not(.mini-cards):not(.tcg-card-photo):not(.terminal-art):not(.design-art) { position: relative; z-index: 2; max-width: 450px; }
.service-card p { margin-bottom: 7px; color: var(--blue-deep); font-size: 10px; font-weight: 900; letter-spacing: .16em; }
.service-card h3 { margin-bottom: 9px; font-size: clamp(29px, 3vw, 44px); line-height: 1; letter-spacing: -.04em; }
.service-card > div span { display: block; color: var(--muted); font-size: 14px; }
.service-card > b { position: relative; z-index: 2; margin-top: 25px; font-size: 12px; }
.service-card-image::after { content: ""; position: absolute; z-index: 1; inset: 0; background: linear-gradient(to top, rgba(2,8,12,.99) 2%, rgba(2,10,15,.86) 35%, rgba(2,12,18,.12) 72%), linear-gradient(120deg, rgba(0,123,196,.18), rgba(34,205,182,.08)); }
.service-visual { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .45s ease, filter .45s ease; }
.service-card-image:hover .service-visual { transform: scale(1.035); }
.service-card-image:hover .service-visual-tcg { filter: saturate(.86) brightness(.86); }
.service-card-image p { color: var(--lime); }
.service-card-image > div span { color: #bdc6ce; }
.service-visual-tcg { object-position: center; filter: saturate(.78) brightness(.82); }
.service-visual-print { object-position: 53% center; }
.service-visual-code { object-position: 38% center; }
.service-visual-design { object-position: center; }
.tcg-card-photo { position: absolute; inset: 52px 30px 218px; overflow: hidden; background: #111722; }
.card-fan-service .fan-card { left: 50%; top: 23px; width: min(30%, 145px); }
.card-fan-service .fan-card-pokemon { transform: translateX(-105%) rotate(-13deg); }
.card-fan-service .fan-card-onepiece { z-index: 3; top: 11px; transform: translateX(-50%); }
.card-fan-service .fan-card-football { transform: translateX(5%) rotate(13deg); }
.tcg-card-photo-logo { position: absolute; z-index: 4; left: 24px; top: 18px; width: 112px; height: 96px; object-fit: contain; object-position: left top; filter: drop-shadow(0 7px 12px rgba(0,0,0,.72)); }
.mini-cards { position: absolute; inset: 50px 30px 205px; }
.mini-cards i { position: absolute; left: 50%; top: 48%; width: 138px; aspect-ratio: .7; border: 6px solid #fff; border-radius: 11px; box-shadow: 0 18px 35px rgba(9,12,18,.2); transform-origin: center bottom; }
.mini-cards i:first-child { background: linear-gradient(145deg, #24364e, #149fd5); transform: translate(-75%,-50%) rotate(-14deg); }
.mini-cards i:nth-child(2) { z-index: 2; background: linear-gradient(145deg, #bedf38, #2fa8c9); transform: translate(-50%,-55%); }
.mini-cards i:last-child { background: linear-gradient(145deg, #572382, #e15683); transform: translate(-25%,-50%) rotate(14deg); }
.service-card-print { color: #fff; background: #14171c; }
.service-card-print p { color: var(--lime); }.service-card-print > div span { color: #bdc2ca; }.service-card-print .service-number { z-index: 2; color: #fff; }
.print-brand-mark { position: absolute !important; z-index: 3; top: 23px; left: 23px; width: 106px !important; height: 106px !important; object-fit: contain !important; filter: drop-shadow(0 9px 18px rgba(0,0,0,.5)); }
.service-card-dev { background: #000; }
.createhouse-card-logo { position: absolute; z-index: 3; top: 20px; left: 28px; width: 190px; height: 64px; object-fit: cover; object-position: center 43%; filter: drop-shadow(0 9px 18px rgba(0,0,0,.58)); }
.terminal-art { position: absolute; top: 72px; left: 35px; right: 35px; display: flex; flex-direction: column; gap: 17px; padding: 30px; color: #d9e6eb; background: #020a10; border: 1px solid #0b5970; box-shadow: 0 20px 60px rgba(0,0,0,.28); font-family: Consolas, monospace; font-size: 13px; }
.terminal-art .green { color: var(--lime); }
.service-card-design { background: #07131c; }
.design-brand-logo { position: absolute; z-index: 3; top: 24px; left: 28px; width: 160px; height: auto; object-fit: contain; filter: drop-shadow(0 9px 18px rgba(0,0,0,.58)); }
.design-art { position: absolute; inset: 64px 35px 226px; overflow: hidden; background: linear-gradient(135deg, #020a10, #0079b8 58%, #1fbda8); }
.design-art span { position: absolute; left: 26px; top: 4px; color: #fff; font-family: Georgia, serif; font-size: 125px; letter-spacing: -.12em; }
.design-art i { position: absolute; width: 115px; height: 115px; right: 16%; top: 16%; border: 18px solid var(--lime); border-radius: 50%; }
.design-art i:nth-of-type(2) { width: 100%; height: 13px; left: 0; right: 0; top: auto; bottom: 34px; border: 0; border-radius: 0; background: var(--ink); transform: rotate(-7deg); }
.design-art i:nth-of-type(3) { width: 44px; height: 44px; right: 35px; top: auto; bottom: 23px; border: 0; background: #fff; transform: rotate(12deg); }

.tcg-section { display: grid; grid-template-columns: minmax(400px, 1fr) minmax(400px, .9fr); gap: 8vw; align-items: center; color: #fff; background: var(--ink); }
.tcg-visual { position: relative; min-height: 650px; }
.tcg-real-photo { position: absolute; inset: 2% 7% 5% 1%; overflow: hidden; border: 1px solid rgba(255,255,255,.17); border-radius: 18px; box-shadow: 25px 35px 80px rgba(0,0,0,.45); transform: rotate(-3deg); }
.card-fan-main .fan-card { left: 50%; top: 12%; width: min(47%, 280px); border-width: 7px; border-radius: 15px; }
.card-fan-main .fan-card-pokemon { transform: translateX(-106%) rotate(-13deg); }
.card-fan-main .fan-card-onepiece { z-index: 3; top: 7%; transform: translateX(-50%); }
.card-fan-main .fan-card-football { transform: translateX(6%) rotate(13deg); }
.tcg-real-photo-shade { position: absolute; z-index: 4; inset: 0; background: linear-gradient(145deg, transparent 35%, rgba(0,0,0,.88)); }
.tcg-real-logo { position: absolute; z-index: 6; right: 26px; bottom: 30px; width: clamp(165px, 20vw, 270px); height: auto; filter: drop-shadow(0 10px 18px rgba(0,0,0,.62)); }
.tcg-real-photo > span { position: absolute; z-index: 6; left: 27px; bottom: 28px; max-width: 145px; color: #fff; font-size: 9px; font-weight: 900; letter-spacing: .17em; line-height: 1.6; }
.binder { position: absolute; inset: 3% 9% 7% 3%; overflow: hidden; padding: 65px; color: #fff; background: linear-gradient(135deg, #123754, #111927 48%, #071019); border: 1px solid rgba(255,255,255,.16); border-radius: 18px 34px 34px 18px; box-shadow: 25px 35px 80px rgba(0,0,0,.45); transform: rotate(-4deg); }
.binder::before { content: ""; position: absolute; inset: 0; opacity: .22; background: repeating-linear-gradient(90deg, transparent 0, transparent 4px, rgba(255,255,255,.06) 5px); }
.binder-label { position: relative; display: flex; height: 100%; flex-direction: column; }
.binder-label small { color: var(--lime); font-size: 10px; font-weight: 900; letter-spacing: .2em; }
.binder-label strong { margin-top: auto; font-size: clamp(50px, 6vw, 85px); line-height: .78; letter-spacing: -.07em; }
.binder-label span { margin-top: 35px; color: #738092; font-size: 10px; letter-spacing: .16em; }
.binder-ring { position: absolute; top: 6%; bottom: 6%; left: 20px; width: 3px; background: linear-gradient(#5e6979,#cbd4df,#5e6979); }
.loose-card { position: absolute; z-index: 2; display: grid; place-items: center; width: 145px; aspect-ratio: .69; color: rgba(255,255,255,.45); background: linear-gradient(145deg,#9145b8,#263f8b); border: 7px solid #dbe3ed; border-radius: 11px; box-shadow: 0 25px 50px rgba(0,0,0,.4); }
.loose-card::after { content: ""; width: 65px; height: 65px; border: 12px solid rgba(255,255,255,.2); border-radius: 50%; }
.loose-card span { position: absolute; font-size: 24px; font-weight: 900; }
.loose-one { right: 3%; bottom: 1%; transform: rotate(13deg); }.loose-two { right: 21%; bottom: -3%; background: linear-gradient(145deg,#1a91ba,#b0d735); transform: rotate(-5deg); }
.tcg-stamp { position: absolute; z-index: 3; right: -1%; top: 8%; display: grid; place-items: center; width: 108px; height: 108px; color: var(--ink); background: var(--lime); border-radius: 50%; font-size: 14px; font-weight: 950; line-height: 1.05; text-align: center; transform: rotate(9deg); }
.tcg-copy h2 { margin-bottom: 28px; font-size: clamp(48px, 5.5vw, 82px); }
.tcg-copy > p:not(.eyebrow) { color: #a7afb9; font-size: 17px; }
.tcg-copy > p:not(.eyebrow) strong { color: #fff; }
.tcg-categories { display: flex; flex-wrap: wrap; gap: 8px; margin: 26px 0 0; }
.tcg-categories span { padding: 8px 12px; color: #dce4ec; border: 1px solid rgba(255,255,255,.18); border-radius: 30px; font-size: 10px; font-weight: 800; }
.feature-list { margin: 38px 0; border-top: 1px solid rgba(255,255,255,.14); }
.feature-list > div { display: grid; grid-template-columns: 40px 1fr; gap: 15px; padding: 20px 0; border-bottom: 1px solid rgba(255,255,255,.14); }
.feature-list > div > span { color: var(--lime); font-size: 10px; font-weight: 900; }
.feature-list p { margin: 0; }.feature-list strong { display: block; margin-bottom: 4px; }.feature-list small { display: block; color: #8e97a2; font-size: 13px; }
.tcg-live-panel { grid-column: 1 / -1; position: relative; display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(290px, .62fr) minmax(360px, .9fr); gap: 0; margin-top: 38px; overflow: hidden; color: #fff; background: #080b0e; border: 1px solid rgba(255,221,51,.34); border-radius: 20px; box-shadow: 0 28px 80px rgba(0,0,0,.35); }
.tcg-live-panel::before { content: ""; position: absolute; z-index: 4; inset: 0 0 auto; height: 4px; background: linear-gradient(90deg, #ffdd33 0 66%, #25f4ee 66% 83%, #fe2c55 83%); }
.live-panel-copy { position: relative; padding: clamp(38px, 4vw, 66px); color: #080b0e; background: linear-gradient(135deg, #ffe34f, #ffcf1f 72%, #f5b900); border-right: 1px solid rgba(9,12,18,.16); }
.live-panel-copy::after { content: "W"; position: absolute; right: -8px; bottom: -56px; color: rgba(8,11,14,.07); font-size: clamp(170px, 17vw, 290px); font-weight: 950; line-height: 1; pointer-events: none; }
.live-kicker { position: relative; z-index: 1; display: flex; align-items: center; gap: 11px; margin-bottom: 30px; font-size: 10px; font-weight: 950; letter-spacing: .15em; }
.live-kicker span { width: 9px; height: 9px; border-radius: 50%; background: #080b0e; box-shadow: 0 0 0 6px rgba(8,11,14,.12); }
.live-panel-copy h3 { position: relative; z-index: 1; margin-bottom: 22px; font-size: clamp(42px, 4.2vw, 66px); line-height: .92; letter-spacing: -.055em; }
.live-panel-copy h3 em { color: #080b0e; font-family: Georgia, "Times New Roman", serif; font-weight: 400; opacity: .68; }
.live-panel-copy > p:last-child { position: relative; z-index: 1; max-width: 560px; margin: 0; font-size: clamp(14px, 1.15vw, 17px); line-height: 1.6; }
.live-schedule { display: flex; flex-direction: column; justify-content: center; padding: clamp(38px, 4vw, 64px); background: radial-gradient(circle at 75% 20%, rgba(255,221,51,.13), transparent 42%), #101317; border-right: 1px solid rgba(255,255,255,.12); }
.live-schedule > small { color: #ffdd33; font-size: 10px; font-weight: 950; letter-spacing: .18em; }
.live-time { margin: 28px 0 20px; }
.live-time > span { display: block; color: #fff; font-size: clamp(28px, 2.8vw, 43px); font-weight: 900; line-height: 1; letter-spacing: -.04em; }
.live-time p { display: flex; align-items: baseline; gap: 10px; margin: 9px 0 0; }
.live-time time { color: #ffdd33; font-size: clamp(58px, 6vw, 96px); font-weight: 950; line-height: .82; letter-spacing: -.065em; }
.live-time b { color: #fff; font-size: 12px; letter-spacing: .16em; text-transform: uppercase; }
.live-schedule > p { width: fit-content; margin: 0; padding: 9px 13px; color: #fff; background: rgba(255,255,255,.08); border: 1px solid rgba(255,221,51,.25); border-radius: 999px; font-size: 12px; font-weight: 850; }
.live-platforms { display: flex; flex-direction: column; background: #05080b; }
.live-platforms > * { flex: 1; display: flex; align-items: center; justify-content: space-between; gap: 25px; min-height: 112px; padding: 27px 32px; color: #fff; border-bottom: 1px solid rgba(255,255,255,.13); transition: background .2s ease, transform .2s ease; }
.live-platforms > *:last-child { border-bottom: 0; }
.live-platforms a:hover { background: #06202b; }
.whatnot-link { background: linear-gradient(90deg, rgba(255,221,51,.19), transparent 78%); box-shadow: inset 5px 0 #ffdd33; }
.whatnot-link:hover { background: linear-gradient(90deg, rgba(255,221,51,.28), #12150d 78%) !important; }
.live-platforms span { display: flex; flex-direction: column; gap: 3px; }
.live-platforms small { color: #9099a4; font-size: 9px; font-weight: 900; letter-spacing: .16em; }
.live-platforms strong { font-size: 22px; }
.live-platforms b { color: var(--lime); font-size: 11px; white-space: nowrap; }
.whatnot-brand { gap: 8px !important; }
.whatnot-brand small { color: #ffdd33; }
.whatnot-logo { width: 160px; height: auto; object-fit: contain; object-position: left center; }
.tiktok-soon { color: #fff; background: linear-gradient(90deg, rgba(37,244,238,.1), transparent 72%); box-shadow: inset 4px 0 #25f4ee; }
.tiktok-soon:hover { background: linear-gradient(90deg, rgba(37,244,238,.18), rgba(254,44,85,.08) 75%) !important; }
.tiktok-soon b { color: #fe2c55; }
.tiktok-brand { gap: 8px !important; }
.tiktok-brand small { color: #25f4ee; }
.tiktok-logo { width: 118px; height: auto; object-fit: contain; object-position: left center; }
.instagram-link strong { color: #fff; }

.print-section { color: #fff; background: #040b10; }
.print-showcase { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(280px, .65fr); gap: 18px; }
.print-main { position: relative; min-height: 660px; overflow: hidden; color: #fff; background: var(--ink); }
.print-main::after { content: ""; position: absolute; inset: 0; background: linear-gradient(to top, rgba(9,12,18,.92), transparent 65%); }
.print-main img { width: 100%; height: 100%; object-fit: cover; }
.print-main > div { position: absolute; z-index: 2; left: clamp(25px, 4vw, 58px); right: clamp(25px, 4vw, 58px); bottom: 45px; }
.print-main span { color: var(--lime); font-size: 10px; font-weight: 900; letter-spacing: .16em; }
.print-main h3 { max-width: 600px; margin: 10px 0 20px; font-size: clamp(34px, 4vw, 58px); line-height: .95; }
.print-main a { font-size: 13px; font-weight: 900; }
.print-info { display: flex; flex-direction: column; padding: clamp(30px, 4vw, 58px); color: #fff; background: #061722; border: 1px solid #087c91; }
.print-section-logo { width: 122px; height: 122px; margin: 0 0 45px auto; object-fit: contain; filter: drop-shadow(0 10px 20px rgba(0,0,0,.42)); }
.big-number { margin-bottom: auto; color: var(--lime); font-size: clamp(90px, 10vw, 150px); font-weight: 950; line-height: .8; letter-spacing: -.1em; }
.print-info h3 { margin-top: 60px; font-size: 28px; }
.print-info > p:not(.big-number) { color: #c4d5da; }
.print-info ul { margin: 20px 0 0; padding: 0; list-style: none; }
.print-info li { padding: 11px 0; border-top: 1px solid rgba(255,255,255,.2); font-size: 13px; font-weight: 700; }
.print-info li::before { content: "✓"; margin-right: 10px; color: var(--lime); }

.digital-section { color: #fff; background: var(--ink); }
.digital-head { max-width: 900px; margin-bottom: 70px; }
.digital-head h2 { margin-bottom: 30px; font-size: clamp(50px, 6.5vw, 95px); }
.digital-head > p:not(.eyebrow) { max-width: 610px; color: #969faa; font-size: 17px; }
.digital-grid { display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid rgba(255,255,255,.15); border-left: 1px solid rgba(255,255,255,.15); }
.digital-grid article { min-height: 375px; display: flex; flex-direction: column; padding: 30px; border-right: 1px solid rgba(255,255,255,.15); border-bottom: 1px solid rgba(255,255,255,.15); transition: background .2s ease; }
.digital-grid article:hover { background: #071923; }
.digital-icon { display: grid; place-items: center; width: 66px; height: 66px; margin-bottom: auto; color: var(--lime); border: 1px solid rgba(255,255,255,.18); font-family: Georgia, serif; font-size: 22px; }
.digital-grid small { color: var(--blue); font-size: 9px; font-weight: 900; letter-spacing: .15em; }
.digital-grid h3 { margin: 12px 0 10px; font-size: 25px; line-height: 1; }
.digital-grid p { margin: 0; color: #8d96a2; font-size: 13px; }

.process { display: grid; grid-template-columns: .75fr 1.25fr; gap: 9vw; color: #fff; background: #071018; }
.process-title { position: sticky; top: 130px; align-self: start; }
.process-title h2 { font-size: clamp(43px, 4.7vw, 70px); }
.process-steps { margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--line); }
.process-steps li { display: grid; grid-template-columns: 70px 1fr; gap: 25px; padding: 38px 0; border-bottom: 1px solid var(--line); }
.process-steps li > span { color: var(--blue-deep); font-size: 11px; font-weight: 950; }
.process-steps h3 { margin-bottom: 7px; font-size: clamp(23px, 2.3vw, 34px); letter-spacing: -.03em; }
.process-steps p { margin: 0; color: var(--muted); }

.contact-section { display: grid; grid-template-columns: minmax(0, 1fr) minmax(400px, .85fr); gap: 8vw; color: #fff; background: linear-gradient(135deg, #02070b, #052230 58%, #073a43); }
.contact-copy h2 { margin-bottom: 28px; font-size: clamp(48px, 5.8vw, 86px); }
.contact-copy h2 em { color: var(--lime); }
.contact-copy > p:not(.eyebrow) { max-width: 590px; color: #c7d8dd; font-size: 17px; }
.contact-direct { display: flex; gap: 40px; margin-top: 58px; flex-wrap: wrap; }
.contact-direct a { display: flex; flex-direction: column; gap: 6px; }
.contact-direct small { color: var(--lime); font-size: 9px; font-weight: 900; letter-spacing: .16em; }
.contact-direct strong { font-size: 14px; }
.contact-form { display: flex; flex-direction: column; gap: 19px; padding: clamp(28px, 4vw, 50px); color: #edf5f7; background: #07151e; border: 1px solid rgba(0,159,227,.3); box-shadow: 0 28px 75px rgba(0,0,0,.28); }
.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.contact-form label > span { display: block; margin-bottom: 8px; font-size: 11px; font-weight: 850; }
.contact-form input, .contact-form select, .contact-form textarea { width: 100%; border: 1px solid #174254; border-radius: 0; padding: 14px; color: #edf5f7; background: #020a10; outline: none; }
.contact-form input:focus, .contact-form select:focus, .contact-form textarea:focus { border-color: var(--blue); box-shadow: 0 0 0 3px rgba(0,159,227,.15); }
.contact-form option { color: #edf5f7; background: #020a10; }
.contact-form textarea { min-height: 125px; resize: vertical; }
.privacy { display: grid; grid-template-columns: 18px 1fr; gap: 9px; align-items: start; color: var(--muted); }
.privacy input { width: 16px; margin-top: 3px; }.privacy span { font-size: 10px !important; }
.form-button { width: 100%; border: 0; }
.form-note { margin: -8px 0 0; color: var(--muted); font-size: 10px; text-align: center; }

.footer { padding: 0 clamp(22px, 7vw, 118px); color: #fff; background: #010609; }
.footer-top { display: grid; grid-template-columns: 1fr 1fr auto; align-items: center; gap: 40px; padding: 70px 0 48px; border-bottom: 1px solid rgba(255,255,255,.13); }
.footer-brand { display: inline-flex; width: fit-content; }.footer-brand img { width: 250px; height: auto; object-fit: contain; filter: drop-shadow(0 12px 28px rgba(0,159,227,.1)); }.footer-top p { margin: 0; color: #91a3ac; }.footer-top p span { color: #fff; }
.footer-up { display: grid; place-items: center; width: 54px; height: 54px; color: var(--ink); background: var(--lime); font-size: 22px; }
.footer-grid { display: grid; grid-template-columns: 1.3fr 1fr 1fr .8fr; gap: 50px; padding: 62px 0; }
.footer-grid > div { display: flex; flex-direction: column; align-items: flex-start; gap: 11px; }
.footer-grid strong { margin-bottom: 11px; color: var(--lime); font-size: 10px; letter-spacing: .14em; text-transform: uppercase; }
.footer-grid a { color: #959da8; font-size: 13px; }.footer-grid a:hover { color: #fff; }
.footer-bottom { display: flex; justify-content: space-between; gap: 20px; padding: 22px 0 30px; color: #5f6874; border-top: 1px solid rgba(255,255,255,.1); font-size: 10px; }
.footer-bottom a { color: #8994a2; }

@media (max-width: 1120px) {
  .site-header { grid-template-columns: 1fr auto; }
  .main-nav { position: fixed; inset: 84px 0 auto; display: none; flex-direction: column; align-items: flex-start; padding: 35px; background: #020a10; border-bottom: 1px solid rgba(0,159,227,.28); }
  .main-nav.open { display: flex; }
  .main-nav a { font-size: 20px; }
  .header-contact { display: none; }.menu-toggle { display: block; }
  .hero { grid-template-columns: 1fr; min-height: auto; }.hero-copy { max-width: 850px; }.hero-stage { width: min(680px,100%); margin: 0 auto; }
  .digital-grid { grid-template-columns: repeat(2, 1fr); }
  .tcg-live-panel { grid-template-columns: minmax(0, 1.08fr) minmax(300px, .72fr); }
  .live-platforms { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(3, 1fr); }
  .live-platforms > * { min-height: 108px; border-right: 1px solid rgba(255,255,255,.13); border-bottom: 0; }
  .live-platforms > *:last-child { border-right: 0; }
}

@media (max-width: 800px) {
  html { scroll-padding-top: 72px; }
  .live-topbar { align-items: flex-start; padding-block: 9px; }
  .live-topbar > div { align-items: flex-start; flex-direction: column; gap: 2px; }
  .live-topbar > div > strong { margin-top: 4px; }
  .live-topbar > a { align-self: center; font-size: 10px; }
  .live-pill { position: absolute; left: -9999px; }
  .site-header { height: 72px; padding-inline: 18px; }.brand img { width: 158px; }.main-nav { top: 72px; }
  .hero { padding: 68px 20px 78px; }.hero h1 { font-size: clamp(46px, 14vw, 72px); }.hero-intro { font-size: 16px; }
  .hero-proof { display: grid; grid-template-columns: 1fr; gap: 12px; }
  .hero-stage { min-height: 485px; margin-top: 20px; }.tcg-photo-card { transform: scale(.77) rotate(-7deg); transform-origin: left top; }.printer-shot { width: 70%; }.code-window { width: 245px; right: 2%; top: 10%; }
  .service-ticker div { justify-content: flex-start; animation: ticker 18s linear infinite; }
  @keyframes ticker { to { transform: translateX(-45%); } }
  .brand-family { grid-template-columns: 1fr; }
  .brand-parent { min-height: 280px; border-right: 0; border-bottom: 1px solid rgba(255,255,255,.12); }
  .brand-children { grid-template-columns: 1fr; }
  .brand-children a { min-height: 180px; border-right: 0; border-bottom: 1px solid rgba(255,255,255,.12); }
  .brand-children a:last-child { border-bottom: 0; }
  .brand-children strong { margin-top: 18px; }
  .brand-children a:last-child strong { margin-top: 45px; }
  .section { padding: 80px 20px; }.section-heading { grid-template-columns: 1fr; gap: 25px; margin-bottom: 45px; }.section-heading h2 { font-size: 48px; }
  .service-grid { grid-template-columns: 1fr; }.service-card { min-height: 480px; padding: 25px; }
  .tcg-section { grid-template-columns: 1fr; }.tcg-visual { min-height: 520px; order: 2; }.tcg-stamp { width: 90px; height: 90px; }
  .tcg-copy { order: 1; }.tcg-live-panel { order: 3; grid-template-columns: 1fr; border-radius: 16px; }.live-panel-copy, .live-schedule { border-right: 0; border-bottom: 1px solid rgba(255,255,255,.14); }.live-platforms { grid-column: auto; grid-template-columns: 1fr; }.live-platforms > * { min-height: 98px; border-right: 0; border-bottom: 1px solid rgba(255,255,255,.13); }.live-platforms > *:last-child { border-bottom: 0; }
  .print-showcase { grid-template-columns: 1fr; }.print-main { min-height: 520px; }.print-info { min-height: 480px; }
  .digital-grid { grid-template-columns: 1fr; }.digital-grid article { min-height: 320px; }
  .process { grid-template-columns: 1fr; gap: 40px; }.process-title { position: static; }
  .contact-section { grid-template-columns: 1fr; }.contact-direct { margin-top: 38px; }.form-row { grid-template-columns: 1fr; }
  .footer-top { grid-template-columns: 1fr auto; }.footer-top p { grid-column: 1 / -1; grid-row: 2; }.footer-grid { grid-template-columns: repeat(2, 1fr); }.footer-bottom { flex-direction: column; }
}

@media (max-width: 520px) {
  .live-topbar > div > span:last-child { font-size: 9px; }.live-topbar > a { max-width: 90px; white-space: normal; text-align: right; }
  .hero-buttons .button { width: 100%; }.hero-stage { min-height: 410px; }.code-window { transform: scale(.8) rotate(2deg); transform-origin: right top; }.tcg-photo-card { transform: scale(.62) rotate(-7deg); }.printer-shot { width: 76%; }
  .service-card { min-height: 430px; }.tcg-card-photo { inset: 52px 24px 218px; }.design-art { inset: 64px 24px 226px; }
  .tcg-visual { min-height: 430px; }.tcg-real-photo { inset: 3% 3% 7%; }.tcg-real-logo { width: 140px; }.tcg-real-photo > span { max-width: 90px; }.whatnot-logo { width: 122px; }
  .print-main { min-height: 470px; }.process-steps li { grid-template-columns: 38px 1fr; gap: 12px; }
  .contact-form { padding: 24px 18px; }.contact-direct { flex-direction: column; gap: 22px; }
  .footer-grid { grid-template-columns: 1fr; }.footer-top { padding-top: 50px; }.footer-brand img { width: 160px; }
}

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