@import "tailwindcss";

:root { --black:#070707; --paper:#e9e8e2; --white:#f5f4ef; --red:#f02b20; --acid:#c6ff00; --line:rgba(255,255,255,.18); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; background:var(--black); }
body { margin:0; background:var(--black); color:var(--white); font-family:Arial, Helvetica, sans-serif; }
button, select, input { font:inherit; }
button, a { -webkit-tap-highlight-color:transparent; }
button { color:inherit; }
.site { min-height:100vh; overflow:hidden; background:var(--black); }

.nav-shell { position:fixed; z-index:80; top:0; left:0; right:0; height:94px; padding:14px 3vw; display:grid; grid-template-columns:1fr auto 1fr; align-items:center; background:linear-gradient(180deg,rgba(0,0,0,.96),rgba(0,0,0,.76) 60%,transparent); }
.brand { border:0; padding:0; background:none; display:flex; align-items:center; gap:15px; cursor:pointer; justify-self:start; font-size:13px; font-weight:900; letter-spacing:.22em; }
.mark { width:47px; height:47px; display:inline-block; position:relative; border:1px solid currentColor; border-radius:50%; flex:none; transform:rotate(8deg); }
.mark:before,.mark:after,.mark i,.mark b,.mark em { content:""; position:absolute; display:block; background:currentColor; }
.mark:before { width:1px; height:39px; left:22px; top:3px; transform:rotate(38deg); }
.mark:after { height:1px; width:39px; left:3px; top:22px; transform:rotate(-27deg); }
.mark i { width:22px; height:1px; top:14px; left:12px; transform:rotate(45deg); }
.mark b { width:1px; height:22px; left:14px; top:12px; transform:rotate(-22deg); }
.mark em { width:7px; height:7px; left:19px; top:19px; border-radius:50%; }
.nav-shell nav { display:flex; align-items:center; gap:clamp(18px,3vw,58px); }
.nav-shell nav button,.nav-shell nav a,.language,.cart-button { padding:11px 0; color:var(--white); background:none; border:0; text-decoration:none; font-size:11px; font-weight:800; letter-spacing:.18em; cursor:pointer; position:relative; }
.nav-shell nav button:after,.nav-shell nav a:after { content:""; position:absolute; height:2px; left:0; right:100%; bottom:2px; background:var(--red); transition:right .25s; }
.nav-shell nav button:hover:after,.nav-shell nav a:hover:after,.nav-shell nav button.active:after { right:0; }
.nav-actions { justify-self:end; display:flex; align-items:center; gap:25px; }
.language { opacity:.55; }
.cart-button { border:1px solid var(--white); padding:12px 15px; }
.cart-button span { margin-left:15px; color:var(--acid); }
.back-button { position:fixed; z-index:79; top:106px; left:3vw; border:0; background:none; font-size:10px; font-weight:900; letter-spacing:.16em; cursor:pointer; mix-blend-mode:difference; }

.hero { height:max(760px,100vh); position:relative; padding:clamp(150px,19vh,220px) 4vw 70px; background:radial-gradient(circle at 75% 37%,rgba(240,43,32,.18),transparent 30%),linear-gradient(135deg,#080808 0 50%,#111 50% 51%,#070707 51%); border-bottom:1px solid var(--line); }
.hero-noise { position:absolute; inset:0; opacity:.12; background-image:repeating-radial-gradient(circle at 20% 30%,transparent 0 2px,#fff 3px 4px); background-size:17px 13px; mask-image:linear-gradient(90deg,#000,transparent 52%); }
.eyebrow { position:relative; margin:0 0 28px 5px; font:700 10px/1 monospace; letter-spacing:.27em; color:var(--red); }
.hero h1 { position:relative; margin:0; font-size:clamp(75px,11vw,175px); line-height:.75; letter-spacing:-.075em; font-weight:950; transform:scaleX(.94); transform-origin:left; max-width:1100px; }
.hero h1 span { -webkit-text-stroke:1px var(--white); color:transparent; }
.hero-orbit { position:absolute; right:9vw; top:28%; width:240px; height:240px; border:1px solid rgba(255,255,255,.2); border-radius:50%; display:grid; place-items:center; animation:orbit 28s linear infinite; opacity:.72; }
.hero-orbit:before,.hero-orbit:after { content:""; position:absolute; inset:25px; border:1px dashed rgba(255,255,255,.15); border-radius:50%; }
.hero-orbit:after { inset:-18px 118px; border-radius:0; border-width:0 1px; }
.hero-orbit .mark { color:var(--red); width:96px; height:96px; transform:scale(1.8); }
.hero-orbit>span { position:absolute; right:-62px; top:120px; font:9px/1.5 monospace; letter-spacing:.14em; }
@keyframes orbit { to { transform:rotate(360deg); } }
.hero-copy { position:absolute; left:55%; bottom:90px; width:min(520px,40vw); display:grid; grid-template-columns:1fr 2fr; gap:30px; font-size:13px; line-height:1.55; }
.hero-copy p:first-child { color:var(--red); font-weight:900; text-transform:uppercase; }
.hero-copy p:last-child { color:#aaa; }
.scroll-cue { position:absolute; left:4vw; bottom:52px; color:var(--white); text-decoration:none; font-size:10px; letter-spacing:.15em; font-weight:900; }
.scroll-cue span { display:inline-grid; margin-left:12px; width:34px; height:34px; border:1px solid var(--white); border-radius:50%; place-items:center; transition:.2s; }
.scroll-cue:hover span { background:var(--acid); color:#000; transform:translateY(4px); }

.divisions { padding:8vw 4vw; display:flex; flex-direction:column; gap:32px; }
.division { min-height:480px; display:grid; grid-template-columns:58% 42%; border:1px solid #303030; background:#0c0c0c; overflow:hidden; cursor:pointer; transition:border-color .25s,transform .25s; }
.division:nth-child(even) { grid-template-columns:42% 58%; }
.division:nth-child(even) .division-visual { order:2; }
.division:hover { border-color:#777; transform:translateY(-3px); }
.division-visual { position:relative; min-height:480px; overflow:hidden; }
.division-copy { padding:55px; display:flex; flex-direction:column; justify-content:flex-end; border-left:1px solid #333; }
.division:nth-child(even) .division-copy { border-left:0; border-right:1px solid #333; }
.division-copy>span { margin-bottom:auto; font:10px monospace; letter-spacing:.16em; color:#888; }
.division-copy h2 { margin:0; font-size:clamp(68px,8vw,130px); line-height:.8; letter-spacing:-.075em; }
.division-copy p { width:80%; color:#aaa; line-height:1.55; margin:35px 0; }
.division-copy button { border:0; border-top:1px solid #555; padding:18px 0 0; background:none; text-align:left; font-size:11px; font-weight:900; letter-spacing:.16em; cursor:pointer; }
.division:hover .division-copy button { color:var(--acid); }
.merch-visual { background:var(--red); display:grid; place-items:center; }
.tee-form { position:relative; width:260px; height:330px; background:#080808; clip-path:polygon(25% 0,40% 8%,60% 8%,75% 0,100% 16%,87% 38%,75% 30%,75% 100%,25% 100%,25% 30%,13% 38%,0 16%); display:grid; place-items:center; transform:rotate(-6deg); filter:drop-shadow(28px 30px 0 rgba(0,0,0,.2)); transition:.4s; }
.division:hover .tee-form { transform:rotate(0) scale(1.04); }
.tee-form .mark { transform:scale(2); }
.ticker { position:absolute; bottom:25px; left:-20px; white-space:nowrap; color:#000; font-size:42px; font-weight:950; letter-spacing:-.04em; }
.studio-visual { background:var(--paper); color:#111; }
.giant-a { position:absolute; inset:-70px auto auto 20px; font-size:580px; line-height:.8; font-weight:950; letter-spacing:-.15em; }
.grid-lines { position:absolute; inset:0; background:linear-gradient(90deg,transparent 49.7%,rgba(0,0,0,.15) 50%,transparent 50.3%),linear-gradient(0deg,transparent 49.7%,rgba(0,0,0,.15) 50%,transparent 50.3%); background-size:80px 80px; mix-blend-mode:multiply; }
.studio-visual p { position:absolute; z-index:2; right:45px; bottom:40px; margin:0; text-align:right; font:800 17px/1.2 monospace; }
.workshop-visual { background:#191919; }
.material-disc { position:absolute; width:420px; height:420px; border-radius:50%; top:40px; left:50%; transform:translateX(-50%); background:repeating-radial-gradient(circle at 42% 35%,#a5a5a5 0 2px,#262626 3px 8px,#111 9px 14px); box-shadow:inset -40px -40px 90px #000,0 0 80px rgba(198,255,0,.14); transition:transform .6s; }
.division:hover .material-disc { transform:translateX(-50%) rotate(35deg) scale(1.05); }
.measure { position:absolute; left:20px; right:20px; bottom:20px; padding-top:8px; border-top:1px solid var(--acid); color:var(--acid); font:10px monospace; letter-spacing:.18em; }
.workshop-visual p { position:absolute; z-index:3; top:35px; left:35px; margin:0; font-size:72px; line-height:.78; font-weight:950; letter-spacing:-.08em; mix-blend-mode:difference; }
.portfolio-showcase { padding:10vw 4vw 6vw; background:#111; border-top:1px solid #333; }
.portfolio-heading { display:grid; grid-template-columns:1fr 2fr 1fr; gap:45px; align-items:start; margin-bottom:75px; }
.portfolio-heading>span { color:var(--red); font:9px monospace; letter-spacing:.17em; }
.portfolio-heading h2 { margin:0; font-size:clamp(55px,7vw,104px); line-height:.86; letter-spacing:-.065em; }
.portfolio-heading h2 i { font-family:Georgia,serif; font-weight:400; }
.portfolio-heading p { margin:0; color:#888; line-height:1.6; }
.project-grid { display:grid; grid-template-columns:1fr 1fr; gap:24px; }
.project-card { border:1px solid #393939; background:#0b0b0b; overflow:hidden; }
.project-card .project-art { height:430px; position:relative; overflow:hidden; display:grid; place-items:center; transition:transform .5s cubic-bezier(.2,.8,.2,1); }
.project-card:hover .project-art { transform:scale(.975); }
.project-card>div:last-child { min-height:170px; padding:25px; display:grid; grid-template-columns:1fr auto; gap:10px 30px; align-items:end; }
.project-card>div:last-child span { grid-column:1/-1; color:#777; font:8px monospace; letter-spacing:.13em; }
.project-card h3 { margin:0; font-size:30px; letter-spacing:-.04em; }
.project-card>div:last-child p { margin:0; color:#888; line-height:1.45; max-width:380px; font-size:12px; }
.project-altaparte .project-art { background:var(--red); color:#060606; }
.project-altaparte .project-art .mark { transform:scale(3); }
.project-altaparte .project-art>b { position:absolute; bottom:25px; left:25px; font:800 10px monospace; letter-spacing:.24em; }
.project-temple .project-art { background:repeating-linear-gradient(90deg,#090909 0 24px,#171717 25px 26px); }
.project-temple .project-art:before { content:""; position:absolute; width:240px; height:300px; border:1px solid #aaa; clip-path:polygon(50% 0,100% 25%,82% 25%,82% 100%,18% 100%,18% 25%,0 25%); }
.project-temple .project-art i { font:italic 160px Georgia,serif; color:var(--paper); opacity:.9; }
.project-temple .project-art b { position:absolute; bottom:24px; right:24px; color:var(--red); text-align:right; font-size:28px; line-height:.8; }
.project-signal .project-art { background:var(--paper); color:#080808; }
.project-signal .project-art:before,.project-signal .project-art:after { content:""; position:absolute; width:310px; height:310px; border:1px solid #111; border-radius:50%; }
.project-signal .project-art:after { width:220px; height:370px; border-radius:0; transform:rotate(45deg); background:var(--acid); mix-blend-mode:multiply; }
.project-signal .project-art b { position:relative; z-index:2; font-size:65px; letter-spacing:-.06em; }
.project-signal .project-art i { position:absolute; z-index:2; font:italic 150px Georgia,serif; color:var(--red); transform:translate(70px,55px); }
.project-archive .project-art { background:linear-gradient(135deg,#141414 50%,#080808 50%); }
.project-archive .project-art span { font-size:260px; line-height:.8; font-weight:950; letter-spacing:-.12em; color:#1e1e1e; }
.project-archive .project-art b { position:absolute; font-size:48px; line-height:.82; text-align:center; }
.inquiry-section { margin:6vw 4vw 10vw; border:1px solid #3b3b3b; display:grid; grid-template-columns:1fr 1.1fr; background:#0c0c0c; }
.inquiry-copy { padding:70px; border-right:1px solid #3b3b3b; }
.inquiry-copy>span { color:var(--acid); font:9px monospace; letter-spacing:.17em; }
.inquiry-copy h2 { margin:70px 0 30px; font-size:clamp(50px,6vw,88px); line-height:.87; letter-spacing:-.065em; }
.inquiry-copy>p { color:#888; line-height:1.6; max-width:560px; }
.inquiry-copy>div { display:flex; flex-direction:column; align-items:flex-start; gap:20px; margin-top:55px; }
.inquiry-copy a { color:#fff; text-decoration:none; border-bottom:1px solid #555; padding-bottom:7px; font:9px monospace; letter-spacing:.13em; }
.inquiry-form { padding:55px; display:grid; grid-template-columns:1fr 1fr; gap:32px 20px; background:var(--paper); color:#090909; min-height:700px; align-content:center; }
.inquiry-form label { font:9px monospace; letter-spacing:.12em; }
.inquiry-form input,.inquiry-form select,.inquiry-form textarea { display:block; width:100%; border:0; border-bottom:1px solid #777; border-radius:0; margin-top:9px; padding:14px 0; background:transparent; color:#090909; font:15px Arial,sans-serif; }
.inquiry-form textarea { min-height:120px; resize:vertical; }
.inquiry-form .full-field { grid-column:1/-1; }
.inquiry-form>button { border:0; background:#090909; color:#fff; padding:20px; display:flex; justify-content:space-between; font:800 10px Arial,sans-serif; letter-spacing:.14em; cursor:pointer; }
.form-success { grid-column:1/-1; display:grid; justify-items:center; text-align:center; gap:20px; }
.form-success h3 { margin:10px 0 0; font-size:62px; letter-spacing:-.06em; }
.form-success p { max-width:430px; color:#666; line-height:1.55; }
.form-success button { border:1px solid #111; background:none; padding:15px 20px; font:9px monospace; cursor:pointer; }
.handoff { min-height:650px; padding:9vw 8vw; background:var(--paper); color:#0a0a0a; display:flex; flex-direction:column; justify-content:center; }
.handoff>p { color:var(--red); font:800 10px monospace; letter-spacing:.2em; }
.handoff h2 { margin:35px 0 65px; font-size:clamp(55px,8vw,120px); line-height:.9; letter-spacing:-.07em; }
.handoff h2 i { font-family:Georgia,serif; font-weight:400; }
.handoff-actions { display:flex; gap:10px; }
.handoff-actions a { color:#000; text-decoration:none; padding:18px 25px; border:1px solid #111; font-size:11px; font-weight:900; letter-spacing:.12em; }
.handoff-actions a:first-child { background:#111; color:#fff; }

.page-shell { padding-top:94px; min-height:100vh; }
.page-hero { min-height:660px; position:relative; padding:155px 4vw 60px; border-bottom:1px solid #333; overflow:hidden; }
.page-hero>p { font:10px monospace; letter-spacing:.2em; color:#999; }
.page-hero h1 { position:relative; z-index:3; margin:75px 0 0; font-size:clamp(70px,10vw,155px); line-height:.76; letter-spacing:-.08em; }
.page-hero h1 i { font-family:Georgia,serif; font-weight:400; }
.merch-page-hero { background:linear-gradient(120deg,#080808 60%,#f02b20 60%); }
.merch-page-hero:after { content:"ALTAPARTE"; position:absolute; color:#090909; font-size:25vw; font-weight:950; right:-11vw; bottom:-5vw; transform:rotate(-90deg); transform-origin:center; opacity:.8; }
.drop-stamp { position:absolute; right:18vw; top:160px; width:150px; height:150px; border:2px solid #000; border-radius:50%; display:grid; place-items:center; text-align:center; color:#000; font:10px monospace; transform:rotate(10deg); z-index:2; }
.drop-stamp b { font-size:45px; line-height:.6; }
.shop-toolbar { min-height:90px; padding:20px 3vw; display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid #333; }
.shop-toolbar button { border:1px solid #333; background:none; padding:12px 18px; margin-right:8px; font-size:10px; letter-spacing:.12em; cursor:pointer; }
.shop-toolbar button.active { background:var(--white); color:#000; }
.shop-toolbar p { font:10px monospace; color:#777; }
.shop-toolbar p span { margin-left:30px; color:var(--white); }
.product-grid { display:grid; grid-template-columns:repeat(3,1fr); }
.product-card { padding:12px; border-right:1px solid #333; border-bottom:1px solid #333; cursor:pointer; }
.product-card:nth-child(3n) { border-right:0; }
.product-media { height:490px; position:relative; overflow:hidden; background:#151515; }
.product-media>button { position:absolute; z-index:4; right:15px; bottom:15px; border:1px solid #fff; background:#000; width:44px; height:44px; border-radius:50%; cursor:pointer; transition:.2s; }
.product-card:hover .product-media>button { background:var(--acid); color:#000; transform:rotate(45deg); }
.product-badge { position:absolute; z-index:5; top:13px; left:13px; padding:8px 10px; background:var(--acid); color:#000; font:800 9px monospace; letter-spacing:.1em; }
.product-meta { min-height:105px; display:flex; align-items:center; justify-content:space-between; gap:20px; padding:18px 10px 10px; }
.product-meta p { margin:0 0 8px; color:#777; font:9px monospace; letter-spacing:.1em; }
.product-meta h3 { margin:0; font-size:17px; }
.product-meta strong { white-space:nowrap; font-size:14px; }
.product-art { position:absolute; inset:0; overflow:hidden; display:grid; place-items:center; transition:transform .6s cubic-bezier(.2,.8,.2,1); }
.product-card:hover .product-art { transform:scale(1.045); }
.art-label { position:relative; z-index:4; font-size:58px; line-height:.72; letter-spacing:-.08em; font-weight:950; text-align:center; }
.art-sun { background:radial-gradient(circle,#f02b20 0 12%,#080808 12.5% 16%,#f02b20 16.5% 17%,#d5c9ad 17.5% 18%,#121212 18.5%); }
.art-sun:before { content:""; position:absolute; width:280px; height:280px; border:22px dashed var(--red); border-radius:50%; animation:orbit 30s linear infinite; }
.art-sigil { background:var(--red); color:#000; }
.art-sigil:before,.art-sigil:after { content:""; position:absolute; width:270px; height:270px; border:3px solid #000; transform:rotate(45deg); }
.art-sigil:after { transform:rotate(22deg); border-radius:50%; }
.art-temple { background:repeating-linear-gradient(90deg,#050505 0 18px,#1b1b1b 19px 20px); }
.art-temple:before { content:""; position:absolute; width:280px; height:310px; background:var(--paper); clip-path:polygon(50% 0,90% 20%,75% 20%,75% 100%,25% 100%,25% 20%,10% 20%); opacity:.9; }
.art-temple .art-label { color:#000; }
.art-object { background:radial-gradient(circle at 60% 30%,#d5d5d5,#505050 22%,#070707 55%); }
.art-object:before { content:""; position:absolute; width:220px; height:340px; border:35px double #bbb; border-radius:48% 52% 30% 70%; transform:rotate(22deg); mix-blend-mode:difference; }
.art-cap { background:var(--paper); color:#000; }
.art-cap:before { content:""; position:absolute; width:310px; height:210px; border-radius:50% 50% 20% 20%; background:#080808; transform:rotate(-12deg); box-shadow:120px 90px 0 -30px #111; }
.art-cap .art-label { color:var(--acid); transform:rotate(-12deg); }
.art-banner { background:var(--acid); color:#000; }
.art-banner:before { content:""; position:absolute; width:300px; height:390px; background:#111; transform:rotate(7deg); box-shadow:22px 20px 0 var(--red); }
.art-banner .art-label { transform:rotate(7deg); }
.commerce-note { margin:100px 4vw; padding:60px 0; border-top:1px solid #555; display:grid; grid-template-columns:1fr 2fr; gap:40px; }
.commerce-note span { font:10px monospace; color:var(--acid); }
.commerce-note p { margin:0; max-width:800px; font-size:clamp(28px,4vw,55px); line-height:1.05; letter-spacing:-.04em; }

.studio-page { background:var(--paper); color:#080808; }
.studio-page .back-button { color:#fff; }
.studio-page-hero { background:var(--paper); border-color:#aaa; }
.studio-page-hero:before { content:""; position:absolute; width:520px; height:520px; right:4vw; top:80px; border:1px solid #777; border-radius:50%; background:repeating-conic-gradient(from 0deg,transparent 0 3deg,#111 3.2deg 3.6deg); animation:orbit 50s linear infinite; }
.studio-page-hero:after { content:""; position:absolute; width:300px; height:300px; right:11vw; top:190px; background:var(--red); border-radius:50%; mix-blend-mode:multiply; }
.studio-index { position:absolute; z-index:3; right:6vw; bottom:55px; text-align:right; font:10px/1.65 monospace; letter-spacing:.16em; }
.section-intro { padding:9vw 5vw; display:grid; grid-template-columns:1fr 2fr 1fr; gap:50px; align-items:start; border-bottom:1px solid #aaa; }
.section-intro>span { font:9px monospace; color:var(--red); letter-spacing:.17em; }
.section-intro h2 { margin:0; font-size:clamp(47px,6vw,85px); line-height:.88; letter-spacing:-.06em; }
.section-intro p { margin:0; line-height:1.6; color:#555; }
.package-grid { display:grid; grid-template-columns:repeat(3,1fr); padding:6vw 3vw; gap:12px; }
.package-card { min-height:640px; padding:35px; border:1px solid #aaa; display:flex; flex-direction:column; position:relative; transition:.3s; }
.package-card:hover { transform:translateY(-8px); box-shadow:12px 12px 0 #111; }
.package-card.red { background:var(--red); }
.package-card.white { background:#fff; }
.package-card.acid { background:var(--acid); }
.recommended { position:absolute; right:20px; top:20px; padding:8px; background:#000; color:#fff; font:8px monospace; letter-spacing:.13em; }
.package-top { display:flex; align-items:center; justify-content:space-between; font:10px monospace; }
.package-top .mark { width:38px; height:38px; transform:scale(.75); }
.package-card h3 { margin:70px 0 20px; font-size:clamp(42px,4.8vw,72px); line-height:.82; letter-spacing:-.07em; }
.package-card>p { min-height:70px; line-height:1.5; }
.package-card ul { padding:25px 0; margin:15px 0 0; border-top:1px solid rgba(0,0,0,.4); list-style:none; font:11px/2 monospace; }
.package-price { margin-top:auto; display:flex; align-items:flex-end; gap:10px; }
.package-price strong { font-size:68px; line-height:.8; letter-spacing:-.08em; }
.package-price span { font:9px monospace; }
.package-card>button { margin-top:28px; padding:18px; border:1px solid #000; background:#000; color:#fff; display:flex; justify-content:space-between; cursor:pointer; font-size:10px; letter-spacing:.12em; font-weight:900; }
.package-card>button:hover { background:transparent; color:#000; }
.service-strip { margin:0 3vw 8vw; border:1px solid #777; display:grid; grid-template-columns:1.3fr repeat(3,1fr); }
.service-strip>* { padding:25px; border-right:1px solid #777; }
.service-strip>*:last-child { border:0; }
.service-strip>span { font:9px monospace; color:#777; }
.service-strip button { border:0; background:none; text-align:left; cursor:pointer; font-size:11px; font-weight:900; }
.retainer-panel { padding:9vw; background:#090909; color:#fff; }
.retainer-panel>p:first-child { color:var(--acid); font:10px monospace; letter-spacing:.18em; }
.retainer-panel h2 { font-size:clamp(50px,7vw,104px); line-height:.88; letter-spacing:-.07em; max-width:1100px; }
.retainer-panel>p:not(:first-child) { max-width:520px; color:#aaa; line-height:1.55; }
.retainer-panel a { display:inline-block; margin-top:40px; color:#fff; text-decoration:none; border-bottom:1px solid var(--acid); padding-bottom:8px; font-size:11px; letter-spacing:.14em; }

.workshop-page { background:#101010; }
.workshop-page-hero { background:linear-gradient(90deg,#101010 0 66%,var(--acid) 66%); }
.workshop-page-hero h1 i { color:var(--acid); }
.workshop-page-hero:after { content:""; position:absolute; right:7vw; top:80px; width:300px; height:500px; background:repeating-linear-gradient(0deg,#000 0 2px,transparent 2px 9px); opacity:.65; transform:skew(-8deg); }
.machine-readout { position:absolute; z-index:3; right:12vw; bottom:55px; color:#000; font:10px/1.6 monospace; }
.machine-readout b { font-size:38px; }
.process-grid { display:grid; grid-template-columns:repeat(3,1fr); }
.process-grid article { padding:20px; border-right:1px solid #333; border-bottom:1px solid #333; }
.process-grid article:last-child { border-right:0; }
.process-grid article>span { font:9px monospace; color:#777; }
.process-art { height:430px; position:relative; margin:18px 0 32px; background:#171717; overflow:hidden; }
.process-art i,.process-art b { position:absolute; display:block; }
.stitch-art { background:repeating-linear-gradient(46deg,#151515 0 3px,#333 3px 4px); }
.stitch-art i { width:260px; height:260px; border:17px dashed var(--red); border-radius:50%; left:50%; top:50%; transform:translate(-50%,-50%); }
.stitch-art b { width:130px; height:180px; left:50%; top:50%; transform:translate(-50%,-50%) rotate(35deg); border:4px solid var(--white); }
.laser-art:before { content:""; position:absolute; inset:55px; background:repeating-radial-gradient(circle,var(--acid) 0 1px,transparent 2px 17px); transform:perspective(300px) rotateX(55deg); }
.laser-art i { left:50%; top:0; width:2px; height:100%; background:var(--red); box-shadow:0 0 16px 4px var(--red); }
.laser-art b { left:calc(50% - 6px); bottom:70px; width:12px; height:12px; border-radius:50%; background:#fff; box-shadow:0 0 25px 10px #fff; }
.print-art { background:repeating-linear-gradient(0deg,#111 0 9px,#242424 10px 11px); }
.print-art i { width:220px; height:260px; left:50%; top:50%; transform:translate(-50%,-50%) rotate(8deg); border:30px double #aaa; border-radius:48% 52% 35% 65%; }
.print-art b { width:90px; height:90px; left:50%; top:50%; transform:translate(-50%,-50%); background:var(--acid); border-radius:50%; mix-blend-mode:difference; }
.process-grid h2 { margin:0; font-size:54px; line-height:.8; letter-spacing:-.06em; }
.process-grid p { color:#888; line-height:1.5; min-height:50px; }
.process-grid button { padding:0 0 8px; border:0; border-bottom:1px solid var(--acid); background:none; color:var(--acid); font:10px monospace; cursor:pointer; }
.configurator { margin:8vw 4vw; border:1px solid #444; display:grid; grid-template-columns:1fr 1fr; }
.config-copy { padding:65px; }
.config-copy>span { font:9px monospace; color:var(--acid); letter-spacing:.17em; }
.config-copy h2 { margin:60px 0 30px; font-size:clamp(50px,6vw,90px); line-height:.9; letter-spacing:-.07em; }
.config-copy p { color:#888; line-height:1.6; max-width:550px; }
.config-panel { padding:45px; background:var(--paper); color:#000; }
.config-panel label { display:block; margin-bottom:30px; font:10px monospace; letter-spacing:.12em; }
.config-panel label>span { float:right; }
.config-panel select { display:block; width:100%; margin-top:10px; border:0; border-bottom:1px solid #000; border-radius:0; padding:15px 0; background:transparent; font-size:27px; font-weight:900; }
.config-panel input { width:100%; accent-color:var(--red); margin-top:20px; }
.estimate { border-top:1px solid #999; padding-top:28px; display:grid; grid-template-columns:1fr auto; align-items:end; }
.estimate span { font:10px monospace; }
.estimate strong { font-size:45px; letter-spacing:-.05em; }
.estimate small { grid-column:1/-1; margin-top:8px; color:#777; }
.config-panel>button { width:100%; margin-top:30px; background:#000; color:#fff; border:0; padding:20px; font-size:10px; letter-spacing:.12em; cursor:pointer; }

footer { min-height:310px; padding:60px 4vw; border-top:1px solid #333; display:grid; grid-template-columns:1fr 1fr 1fr; align-items:end; color:#888; font:10px/1.7 monospace; }
footer>div:first-child { display:flex; align-items:center; gap:20px; color:#fff; font-family:Arial,sans-serif; font-size:15px; letter-spacing:.15em; }
footer>div:last-child { display:flex; flex-direction:column; align-items:flex-end; }
footer a { color:#fff; }

.modal-layer { position:fixed; z-index:120; inset:0; background:#070707; display:grid; grid-template-columns:58% 42%; animation:appear .25s ease; }
@keyframes appear { from { opacity:0; transform:translateY(20px); } }
.modal-close { position:absolute; z-index:2; right:25px; top:25px; border:1px solid #555; background:#000; padding:12px 15px; font:10px monospace; cursor:pointer; }
.product-detail-art { position:relative; margin:15px; overflow:hidden; }
.product-detail-copy { padding:11vh 6vw; display:flex; flex-direction:column; }
.product-detail-copy>p:first-child { font:9px monospace; color:var(--acid); letter-spacing:.15em; }
.product-detail-copy h2 { margin:35px 0 15px; font-size:clamp(50px,6vw,100px); line-height:.82; letter-spacing:-.07em; }
.product-detail-copy>strong { font-size:24px; }
.product-detail-copy>p:not(:first-child) { color:#999; line-height:1.6; margin:45px 0; }
.product-detail-copy label { font:9px monospace; }
.product-detail-copy select { display:block; width:100%; margin-top:10px; border:1px solid #555; background:#111; color:#fff; padding:15px; }
.product-detail-copy>button { margin-top:25px; display:flex; justify-content:space-between; background:var(--acid); color:#000; padding:20px; border:0; font-size:11px; font-weight:900; letter-spacing:.15em; cursor:pointer; }
.product-detail-copy small { margin-top:15px; color:#666; }
.cart-drawer { position:fixed; z-index:140; right:0; top:0; bottom:0; width:min(540px,100%); background:var(--paper); color:#000; transform:translateX(105%); transition:transform .35s cubic-bezier(.2,.8,.2,1); display:flex; flex-direction:column; }
.cart-drawer.open { transform:none; }
.drawer-backdrop { position:fixed; z-index:130; inset:0; border:0; background:rgba(0,0,0,.72); backdrop-filter:blur(5px); }
.cart-head { height:90px; padding:0 25px; border-bottom:1px solid #999; display:flex; align-items:center; justify-content:space-between; }
.cart-head h2 { font-size:20px; }
.cart-head button { border:0; background:none; font:10px monospace; cursor:pointer; }
.cart-items { flex:1; overflow:auto; padding:18px; }
.empty-cart { min-height:100%; display:grid; place-content:center; justify-items:center; text-align:center; gap:30px; color:#777; }
.cart-item { display:grid; grid-template-columns:100px 1fr 30px; gap:18px; align-items:center; border-bottom:1px solid #aaa; padding:12px 0; }
.cart-item>.product-art { position:relative; width:100px; height:120px; }
.cart-item .art-label { font-size:16px; }
.cart-item p { font:8px monospace; color:#777; }
.cart-item h3 { margin:7px 0; font-size:15px; }
.cart-item>button { border:0; background:none; font-size:20px; cursor:pointer; }
.cart-total { padding:25px; border-top:1px solid #999; }
.cart-total p { display:flex; justify-content:space-between; }
.cart-total strong { font-size:24px; }
.cart-total small { color:#777; }
.cart-total>button { width:100%; margin-top:20px; padding:18px; border:0; background:#000; color:#fff; font-size:10px; letter-spacing:.15em; }
.cart-total>button:disabled { opacity:.3; }
.woo-note { display:block; margin-top:12px; text-align:center; font:8px monospace; color:#999; letter-spacing:.14em; }

@media (max-width: 980px) {
  .nav-shell { grid-template-columns:1fr auto; height:82px; }
  .nav-shell nav { position:fixed; bottom:0; left:0; right:0; height:58px; background:#080808; border-top:1px solid #333; justify-content:space-around; gap:0; z-index:90; }
  .nav-shell nav button,.nav-shell nav a { font-size:8px; }
  .brand>span,.language { display:none; }
  .back-button { top:92px; }
  .hero { height:850px; padding-top:180px; }
  .hero h1 { font-size:17vw; }
  .hero-orbit { width:200px; height:200px; right:6vw; top:47%; }
  .hero-copy { left:5vw; bottom:105px; width:85vw; grid-template-columns:1fr 2fr; }
  .scroll-cue { display:none; }
  .division,.division:nth-child(even) { grid-template-columns:1fr; }
  .division:nth-child(even) .division-visual { order:0; }
  .division-visual { min-height:430px; }
  .division-copy { min-height:370px; padding:35px; border:0; border-top:1px solid #333; }
  .portfolio-heading { grid-template-columns:1fr; }
  .inquiry-section { grid-template-columns:1fr; }
  .inquiry-copy { border-right:0; border-bottom:1px solid #3b3b3b; }
  .product-grid { grid-template-columns:repeat(2,1fr); }
  .product-card:nth-child(3n) { border-right:1px solid #333; }
  .product-card:nth-child(2n) { border-right:0; }
  .product-media { height:430px; }
  .section-intro { grid-template-columns:1fr; }
  .package-grid { grid-template-columns:1fr; }
  .package-card { min-height:570px; }
  .service-strip { grid-template-columns:1fr 1fr; }
  .service-strip>* { border-bottom:1px solid #777; }
  .process-grid { grid-template-columns:1fr; }
  .process-grid article { border-right:0; }
  .configurator { grid-template-columns:1fr; }
  .modal-layer { grid-template-columns:1fr; overflow:auto; }
  .product-detail-art { min-height:60vh; }
  footer { padding-bottom:100px; }
}

@media (max-width: 620px) {
  .nav-shell { padding:10px 18px; }
  .mark { width:40px; height:40px; }
  .nav-actions { gap:8px; }
  .cart-button { padding:10px; font-size:8px; }
  .hero { min-height:780px; padding:155px 20px 70px; }
  .hero h1 { font-size:21vw; line-height:.78; }
  .hero-orbit { width:150px; height:150px; right:9vw; top:45%; }
  .hero-orbit .mark { transform:scale(1.1); }
  .hero-orbit>span { display:none; }
  .hero-copy { grid-template-columns:1fr; gap:5px; bottom:85px; font-size:12px; }
  .divisions { padding:45px 12px; gap:12px; }
  .division-visual { min-height:340px; }
  .division-copy { min-height:300px; padding:25px; }
  .division-copy h2 { font-size:20vw; }
  .portfolio-showcase { padding:90px 12px 50px; }
  .portfolio-heading { margin-bottom:45px; padding:0 12px; }
  .project-grid { grid-template-columns:1fr; gap:14px; }
  .project-card .project-art { height:340px; }
  .project-card>div:last-child { grid-template-columns:1fr; }
  .project-card>div:last-child p { margin-top:10px; }
  .inquiry-section { margin:60px 12px 90px; }
  .inquiry-copy,.inquiry-form { padding:35px 24px; }
  .inquiry-form { grid-template-columns:1fr; min-height:740px; }
  .inquiry-form label,.inquiry-form .full-field { grid-column:1; }
  .tee-form { width:190px; height:250px; }
  .ticker { font-size:28px; }
  .giant-a { font-size:400px; }
  .material-disc { width:300px; height:300px; }
  .handoff { padding:100px 25px; }
  .handoff-actions { flex-direction:column; }
  .page-hero { min-height:600px; padding:170px 20px 50px; }
  .page-hero h1 { font-size:20vw; }
  .drop-stamp,.studio-index,.machine-readout { display:none; }
  .product-grid { grid-template-columns:1fr; }
  .product-card { border-right:0; }
  .product-media { height:490px; }
  .shop-toolbar { align-items:flex-start; gap:18px; flex-direction:column; }
  .shop-toolbar button { padding:10px; margin:0 3px 3px 0; font-size:8px; }
  .commerce-note { grid-template-columns:1fr; }
  .section-intro { padding:90px 25px; }
  .package-grid { padding:50px 12px; }
  .package-card { padding:25px; }
  .package-price strong { font-size:55px; }
  .service-strip { grid-template-columns:1fr; margin:0 12px 70px; }
  .service-strip>* { border-right:0; }
  .retainer-panel { padding:90px 25px; }
  .process-grid article { padding:12px; }
  .process-art { height:360px; }
  .configurator { margin:70px 12px; }
  .config-copy,.config-panel { padding:30px 25px; }
  footer { grid-template-columns:1fr; gap:35px; align-items:start; }
  footer>div:last-child { align-items:flex-start; }
  .modal-layer { padding-bottom:60px; }
  .product-detail-art { min-height:52vh; margin:8px; }
  .product-detail-copy { padding:45px 25px; }
}

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

/* Branded platform systems */
.nav-shell { grid-template-columns:minmax(150px,230px) minmax(420px,1fr) auto; gap:28px; }
.asset-brand { justify-self:start; height:62px; min-width:126px; padding:5px 0; border:0; background:none; display:flex; align-items:center; gap:11px; cursor:pointer; color:#fff; }
.asset-brand img { display:block; max-width:100%; max-height:52px; object-fit:contain; object-position:left center; }
.asset-brand span { font:900 9px/1 monospace; letter-spacing:.22em; }
.asset-brand-hub img { width:185px; }
.asset-brand-store img { width:72px; filter:saturate(1.1); }
.asset-brand-studio img { width:27px; height:54px; }
.asset-brand-workshop img { width:58px; height:58px; border-radius:4px; }
.nav-shell nav { justify-content:center; }
.nav-actions { gap:16px; }
.nav-cta,.hub-link { color:#fff; text-decoration:none; border:1px solid rgba(255,255,255,.5); padding:12px 14px; font:800 9px/1 Arial,sans-serif; letter-spacing:.12em; transition:background .2s,color .2s,border-color .2s; white-space:nowrap; }
.hub-link { border-color:transparent; opacity:.68; }
.nav-cta:hover { background:#fff; color:#000; border-color:#fff; }
.nav-store { background:linear-gradient(180deg,rgba(61,0,0,.98),rgba(61,0,0,.84) 72%,transparent); }
.nav-store nav a:after { background:#ff3025; }
.nav-studio { background:linear-gradient(180deg,rgba(235,234,226,.98),rgba(235,234,226,.88) 72%,transparent); }
.nav-studio,.nav-studio nav a,.nav-studio .language,.nav-studio .hub-link,.nav-studio .nav-cta { color:#090909; }
.nav-studio .nav-cta { border-color:#090909; }
.nav-studio .nav-cta:hover { background:#090909; color:#fff; }
.nav-workshop { background:linear-gradient(180deg,rgba(4,8,3,.98),rgba(4,8,3,.86) 72%,transparent); }
.nav-workshop nav a:after { background:var(--acid); }

.hero-brand-asset { position:absolute; z-index:1; right:5vw; top:17vh; width:min(47vw,760px); opacity:.12; transform:rotate(-5deg); animation:brandFloat 8s ease-in-out infinite alternate; }
@keyframes brandFloat { to { transform:translateY(18px) rotate(-3deg); } }
.branded-visual { display:grid; place-items:center; isolation:isolate; }
.branded-visual>img { position:relative; z-index:2; max-width:68%; max-height:72%; object-fit:contain; transition:transform .7s cubic-bezier(.2,.8,.2,1),filter .7s; }
.division:hover .branded-visual>img { transform:scale(1.045) rotate(1.5deg); }
.merch-visual>img { width:58%; filter:drop-shadow(22px 24px 0 rgba(74,0,0,.48)); }
.studio-visual>img { height:84%; filter:drop-shadow(20px 16px 0 rgba(240,43,32,.22)); }
.workshop-visual>img { width:58%; border-radius:12px; filter:drop-shadow(0 0 36px rgba(0,255,106,.2)); }
.project-altaparte .project-art img { width:72%; max-height:68%; object-fit:contain; filter:brightness(0); }

/* Hub: one calm gateway, three clearly separated destinations */
.hub-gateway { min-height:100svh; padding:126px 3vw 30px; display:grid; grid-template-columns:1fr 1fr; grid-template-rows:1fr auto; background:#050505; border-bottom:1px solid #303030; }
.gateway-type { min-height:620px; padding:32px 3vw 30px 1vw; display:flex; flex-direction:column; justify-content:center; border-right:1px solid #383838; }
.gateway-type>p { margin:0 0 38px; color:#9f9a8d; font:9px monospace; letter-spacing:.22em; }
.gateway-type h1 { margin:0; font-size:clamp(112px,13.4vw,250px); line-height:.66; letter-spacing:-.09em; font-weight:950; color:#ede9dc; transform:scaleX(.78); transform-origin:left center; }
.gateway-type>div { margin-top:50px; display:flex; align-items:center; gap:20px; font:10px monospace; letter-spacing:.16em; }
.gateway-type>div span { color:#777; }
.gateway-type>div strong { color:#f02b20; }
.gateway-map { min-height:620px; display:grid; grid-template-columns:1fr 1fr; grid-template-rows:1fr 1fr; }
.gateway-map button { position:relative; padding:22px; overflow:hidden; border:0; border-right:1px solid #2c2c2c; border-bottom:1px solid #2c2c2c; text-align:left; cursor:pointer; transition:filter .25s; }
.gateway-map button:hover { filter:brightness(1.12); }
.gateway-map button>span { position:relative; z-index:3; font:9px monospace; letter-spacing:.16em; }
.gateway-map button>b { position:absolute; z-index:3; left:22px; right:22px; bottom:20px; font-size:13px; line-height:1.25; letter-spacing:.04em; }
.map-store { grid-column:1/-1; background:#a50000; color:#fff6e7; }
.map-store i { position:absolute; inset:0; background:linear-gradient(90deg,transparent 0 62%,#fff5e6 62%); }
.map-store i:after { content:""; position:absolute; right:0; top:0; bottom:0; width:38%; background-image:linear-gradient(#b10b0b 1px,transparent 1px),linear-gradient(90deg,#b10b0b 1px,transparent 1px); background-size:26px 26px; }
.map-store:hover i { animation:pixelShift .75s steps(3) infinite alternate; }
@keyframes pixelShift { to { transform:translateX(16px); } }
.map-studio { background:#eee9da; color:#0b0b0b; }
.map-studio i { position:absolute; width:96px; height:96px; left:50%; top:47%; border-radius:50%; background:#d6281d; transform:translate(-50%,-50%); transition:transform .5s; }
.map-studio:hover i { transform:translate(-38%,-62%) scale(1.12); }
.map-studio:after { content:""; position:absolute; z-index:1; right:-2px; top:20%; bottom:0; width:55%; background:#070707; clip-path:polygon(100% 0,100% 100%,0 100%,0 30%); }
.map-studio>b { width:max-content; max-width:calc(100% - 44px); padding:5px 7px; background:#eee9da; color:#0b0b0b; }
.map-workshop { background:#050705; color:#c8ff1a; }
.map-workshop i { position:absolute; inset:36px; border:1px solid #aee600; background:linear-gradient(90deg,transparent calc(50% - .5px),#aee600 50%,transparent calc(50% + .5px)),linear-gradient(0deg,transparent calc(50% - .5px),#aee600 50%,transparent calc(50% + .5px)); }
.map-workshop i:before,.map-workshop i:after { content:""; position:absolute; inset:12%; border:1px dashed #aee600; border-radius:50%; }
.map-workshop i:after { border-radius:0; transform:rotate(45deg); }
.map-workshop:hover i:after { animation:orbit 5s linear infinite; }
.gateway-foot { grid-column:1/-1; min-height:92px; display:flex; justify-content:space-between; align-items:center; gap:50px; padding:20px 1vw; border-top:1px solid #383838; }
.gateway-foot p { margin:0; max-width:620px; color:#908e86; font-size:13px; line-height:1.5; }
.gateway-foot a { color:#f3efe3; text-decoration:none; font:900 9px Arial,sans-serif; letter-spacing:.15em; }
.destination-intro { margin-bottom:30px; padding:2vw 1vw 4vw; display:grid; grid-template-columns:1fr 2fr 1fr; gap:40px; align-items:end; }
.destination-intro span { color:#f02b20; font:9px monospace; letter-spacing:.18em; align-self:start; }
.destination-intro h2 { margin:0; font-size:clamp(58px,7vw,108px); line-height:.82; letter-spacing:-.07em; }
.destination-intro p { margin:0; color:#8e8e8e; line-height:1.6; }
.hub-b2b { margin-top:2vw; }

/* Deliberately different identities under the same ALTAPARTE backbone */
.view-merch { --platform-accent:#ff2b1f; background:#160202; }
.view-merch .page-shell { background:#160202; }
.view-merch .product-card { background:#0c0504; }
.view-merch .product-card:nth-child(4n+2) .product-media { transform:rotate(.35deg); }
.view-studio { --platform-accent:#d6281d; background:#e9e5d8; }
.view-studio .page-hero h1 { max-width:72%; }
.view-studio .section-intro,.view-studio .package-grid { background:#e9e5d8; }
.view-workshop { --platform-accent:#c6ff00; background:#080b07; }
.view-workshop .process-art { border:1px solid #2e3c1f; }
.view-workshop .process-grid h2 { font-family:Arial Black,Arial,sans-serif; }

.page-hero { overflow:hidden; }
.platform-hero-logo { position:absolute; z-index:2; object-fit:contain; animation:platformPulse 7s ease-in-out infinite alternate; }
@keyframes platformPulse { to { transform:translateY(-10px) scale(1.018); } }
.store-hero-logo { width:min(31vw,470px); height:310px; right:8vw; top:145px; filter:drop-shadow(28px 24px 0 rgba(76,0,0,.65)); }
.studio-hero-logo { height:min(66vh,650px); width:300px; right:18vw; top:105px; opacity:.88; }
.workshop-hero-logo { width:min(27vw,390px); height:390px; right:5vw; top:125px; border-radius:18px; filter:drop-shadow(0 0 38px rgba(0,255,105,.2)); }
.merch-page { background:#120706; }
.merch-page-hero { background:linear-gradient(120deg,#0a0707 0 58%,#ee261d 58% 100%); }
.studio-page-hero:before { opacity:.34; }
.studio-page-hero:after { opacity:.9; animation:studioDisc 8s ease-in-out infinite alternate; }
@keyframes studioDisc { to { transform:translate(-22px,12px) scale(.94); } }
.workshop-page-hero { background:linear-gradient(90deg,#0b0f0a 0 68%,#baf400 68%); }

.store-info { margin:0 3vw 8vw; display:grid; grid-template-columns:repeat(3,1fr); border:1px solid #4a2926; }
.store-info article { min-height:230px; padding:34px; border-right:1px solid #4a2926; }
.store-info article:last-child { border:0; }
.store-info span,.materials-row>span,.workshop-faq>span { color:var(--red); font:9px monospace; letter-spacing:.17em; }
.store-info h3 { margin:48px 0 15px; font-size:28px; }
.store-info p { color:#a78e89; line-height:1.55; }
.package-top img { width:28px; height:52px; object-fit:contain; }
.package-card { overflow:hidden; }
.package-card:after { content:""; position:absolute; width:160px; height:160px; right:-80px; bottom:-80px; border:1px solid rgba(0,0,0,.35); border-radius:50%; transition:transform .4s; }
.package-card:hover:after { transform:scale(1.5); }
.materials-row { margin:7vw 4vw 0; padding:40px 0; display:grid; grid-template-columns:1fr 2fr 1fr; gap:35px; align-items:center; border-block:1px solid #3a3a3a; }
.materials-row>span { color:var(--acid); }
.materials-row p { margin:0; font-size:clamp(25px,4vw,58px); line-height:.9; font-weight:900; letter-spacing:-.05em; }
.materials-row small { color:#7d7d7d; line-height:1.5; }
.workshop-faq { margin:0 4vw 9vw; border-top:1px solid #444; display:grid; grid-template-columns:1fr 2fr; }
.workshop-faq>span { padding-top:30px; color:var(--acid); }
.workshop-faq details { grid-column:2; border-bottom:1px solid #444; padding:28px 0; }
.workshop-faq summary { cursor:pointer; font-size:clamp(20px,3vw,38px); font-weight:900; letter-spacing:-.03em; }
.workshop-faq details p { color:#888; line-height:1.6; max-width:680px; }

.dimension-fields { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; margin-bottom:22px; }
.dimension-fields label { position:relative; margin:0; }
.dimension-fields label>span { float:none; position:absolute; right:0; top:0; color:#666; }
.dimension-fields input[type="number"] { width:100%; margin-top:10px; padding:12px 0; border:0; border-bottom:1px solid #000; background:transparent; font-size:30px; font-weight:900; }
.config-panel label small { display:block; margin-top:8px; color:#777; font:10px/1.4 Arial,sans-serif; letter-spacing:0; }
.dimension-sketch { position:relative; width:min(330px,85%); aspect-ratio:1.45; margin-top:45px; border:1px solid #555; background:repeating-linear-gradient(0deg,transparent 0 24px,rgba(198,255,0,.08) 25px),repeating-linear-gradient(90deg,transparent 0 24px,rgba(198,255,0,.08) 25px); }
.dimension-sketch:before,.dimension-sketch:after { content:""; position:absolute; background:var(--acid); }
.dimension-sketch:before { left:0; right:0; top:50%; height:1px; }
.dimension-sketch:after { top:0; bottom:0; left:50%; width:1px; }
.dimension-sketch span,.dimension-sketch b,.dimension-sketch em { position:absolute; padding:5px 7px; background:#101010; color:var(--acid); font:9px monospace; font-style:normal; }
.dimension-sketch span { top:-12px; left:50%; transform:translateX(-50%); }
.dimension-sketch b { left:-22px; top:50%; transform:rotate(-90deg) translateX(50%); }
.dimension-sketch em { right:-14px; bottom:-12px; }

.footer-brand img { max-width:220px; max-height:90px; object-fit:contain; object-position:left bottom; }
.footer-studio { background:var(--paper); color:#555; border-color:#aaa; }
.footer-studio a { color:#090909; }
.footer-studio .footer-brand img { width:42px; height:90px; }
.footer-merch { background:#290403; }
.footer-merch .footer-brand img { width:150px; }
.footer-workshop .footer-brand img { width:90px; border-radius:6px; }

@media (max-width:1200px) {
  .nav-shell { grid-template-columns:150px 1fr auto; gap:16px; }
  .nav-shell nav { gap:18px; }
  .nav-shell nav a { font-size:9px; letter-spacing:.11em; }
  .nav-cta { display:none; }
}

@media (max-width:980px) {
  .nav-shell { grid-template-columns:1fr auto; }
  .nav-shell nav { background:#080808; }
  .nav-studio nav { background:var(--paper); border-color:#aaa; }
  .nav-studio nav a { color:#090909; }
  .nav-workshop nav { background:#060a05; border-color:#28331c; }
  .nav-store nav { background:#3c0503; border-color:#70251f; }
  .hub-link { display:none; }
  .platform-hero-logo { opacity:.28; }
  .store-hero-logo,.studio-hero-logo,.workshop-hero-logo { right:-4vw; }
  .store-info { grid-template-columns:1fr; }
  .store-info article { border-right:0; border-bottom:1px solid #4a2926; }
  .materials-row { grid-template-columns:1fr; }
  .workshop-faq { grid-template-columns:1fr; }
  .workshop-faq details { grid-column:1; }
  .hub-gateway { grid-template-columns:1fr; padding-top:105px; }
  .gateway-type { min-height:480px; border-right:0; border-bottom:1px solid #383838; }
  .gateway-map { min-height:560px; }
  .gateway-foot { grid-column:1; }
  .destination-intro { grid-template-columns:1fr; }
}

@media (max-width:620px) {
  .asset-brand { min-width:0; height:58px; }
  .asset-brand-hub img { width:140px; }
  .asset-brand-store img { width:54px; }
  .asset-brand-studio img { width:23px; height:46px; }
  .asset-brand-workshop img { width:45px; height:45px; }
  .asset-brand span { font-size:7px; }
  .nav-actions .language { display:block; font-size:8px; }
  .hero-brand-asset { width:86vw; top:24vh; right:-17vw; }
  .platform-hero-logo { width:58vw; height:260px; top:135px; right:-12vw; }
  .studio-hero-logo { width:130px; height:380px; }
  .workshop-hero-logo { width:62vw; }
  .store-info { margin:0 12px 70px; }
  .store-info article { min-height:190px; padding:28px; }
  .materials-row { margin:70px 18px 0; }
  .workshop-faq { margin:0 18px 90px; }
  .dimension-fields { grid-template-columns:repeat(2,1fr); }
  .dimension-sketch { width:92%; }
  .hub-gateway { padding:94px 12px 20px; }
  .gateway-type { min-height:420px; padding:26px 10px; }
  .gateway-type h1 { font-size:33vw; }
  .gateway-type>div { flex-direction:column; align-items:flex-start; gap:7px; }
  .gateway-map { min-height:640px; grid-template-columns:1fr; grid-template-rows:1.1fr 1fr 1fr; }
  .map-store { grid-column:1; }
  .gateway-map button { border-right:0; }
  .gateway-foot { align-items:flex-start; flex-direction:column; padding:28px 10px; }
  .destination-intro { padding:35px 12px; }
}

/* Precision pass: fixed geometry, isolated hero artwork, no collisions */
.map-studio { isolation:isolate; }
.map-studio:after { display:none; }
.map-studio i { z-index:1; width:min(56%,168px); height:auto; aspect-ratio:1; left:50%; top:48%; border:1px solid #111; border-radius:0; background:transparent; transform:translate(-50%,-50%); }
.map-studio i:after { content:""; position:absolute; width:82px; height:82px; left:50%; top:50%; border-radius:50%; background:#d6281d; transform:translate(-50%,-50%); }
.map-studio:hover i { transform:translate(-50%,-50%); }
.map-studio:hover i { transform:translate(-50%,-50%) rotate(45deg); transition:transform .45s cubic-bezier(.2,.8,.2,1); }
.map-studio:hover i:after { transform:translate(-50%,-50%); transition:transform .35s ease; }
.map-studio>b { background:transparent; }

.page-hero { min-height:660px; padding:94px 0 0; display:grid; grid-template-columns:minmax(0,1.35fr) minmax(360px,.65fr); border-bottom:1px solid #333; }
.page-hero-copy { min-width:0; padding:120px 4vw 65px; display:flex; flex-direction:column; justify-content:center; }
.page-hero-copy>p { margin:0; font:10px monospace; letter-spacing:.2em; color:#858585; }
.page-hero-copy h1 { position:relative; z-index:1; max-width:none!important; margin:70px 0 0; font-size:clamp(66px,7.6vw,124px); line-height:.78; letter-spacing:-.075em; }
.page-hero-art { position:relative; min-width:0; overflow:hidden; border-left:1px solid currentColor; }
.platform-hero-logo { animation:none; }
.merch-page,.view-merch .page-shell { background:#070707; }
.merch-page-hero { background:#070707; border-color:#3b3b3b; }
.merch-page-hero:after { display:none; }
.store-hero-art { display:grid; place-items:center; background:#e43b2f; color:#080808; }
.store-hero-art:before { content:""; position:absolute; inset:0; opacity:.09; background-image:linear-gradient(#070707 1px,transparent 1px),linear-gradient(90deg,#070707 1px,transparent 1px); background-size:32px 32px; transition:background-position .55s ease; }
.store-hero-art:hover:before { background-position:16px 16px; }
.store-hero-logo { position:relative; inset:auto; width:62%; height:auto; max-height:54%; object-fit:contain; filter:brightness(0); opacity:.94; }
.store-hero-art:hover .store-hero-logo { transform:translateY(-8px); transition:transform .4s cubic-bezier(.2,.8,.2,1); }
.drop-stamp { right:24px; top:24px; width:108px; height:108px; border:1px solid #080808; transform:none; font-size:8px; }
.store-hero-art:hover .drop-stamp { transform:rotate(8deg); transition:transform .35s ease; }
.drop-stamp b { font-size:33px; }
.nav-store { background:linear-gradient(180deg,rgba(7,7,7,.98),rgba(7,7,7,.9) 72%,transparent); }
.nav-store .asset-brand-store img { filter:none; }
.shop-toolbar { background:#070707; }
.footer-merch { background:#070707; }

.studio-page-hero { background:#e9e8e2; border-color:#aaa; }
.studio-page-hero:before,.studio-page-hero:after { display:none; }
.studio-page-hero .page-hero-copy { padding-right:2vw; }
.studio-hero-art { color:#111; display:grid; place-items:center; background:#eeeae0; }
.studio-geometry { position:absolute; width:min(34vw,430px); aspect-ratio:1; border:1px solid #666; }
.studio-geometry:before { content:""; position:absolute; width:58%; height:58%; left:50%; top:50%; border-radius:50%; background:#d6281d; transform:translate(-50%,-50%); }
.studio-geometry:after { content:""; position:absolute; inset:10%; border:1px solid #111; transform:rotate(45deg); }
.studio-hero-art:hover .studio-geometry { transform:rotate(45deg); transition:transform .65s cubic-bezier(.2,.8,.2,1); }
.studio-hero-art:hover .studio-hero-logo { transform:rotate(-3deg); transition:transform .45s ease; }
.studio-hero-logo { position:relative; inset:auto; z-index:2; width:34%; height:64%; object-fit:contain; opacity:1; }
.studio-index { right:24px; bottom:24px; }

.workshop-page-hero { background:#070a06; border-color:#2d3821; }
.workshop-page-hero:after { display:none; }
.workshop-hero-art { color:#0a0d08; display:grid; grid-template-rows:1fr auto; place-items:center; padding:48px 38px 28px; background:#c2f541; }
.workshop-mark-frame { position:relative; overflow:hidden; width:min(31vw,340px); aspect-ratio:1; display:grid; place-items:center; background:#070a06; border:1px solid #070a06; }
.workshop-mark-frame:after { content:""; position:absolute; left:0; right:0; top:50%; height:1px; background:#c2f541; box-shadow:0 0 10px #c2f541; animation:workshopScan 4.5s ease-in-out infinite; }
@keyframes workshopScan { 0%,100% { transform:translateY(-145px); opacity:.2; } 50% { transform:translateY(145px); opacity:.9; } }
.workshop-hero-logo { position:relative; inset:auto; width:82%; height:82%; border-radius:0; object-fit:contain; filter:none; }
.machine-readout { position:relative; inset:auto; width:100%; padding-top:20px; border-top:1px solid #0a0d08; text-align:center; }
.machine-readout b { font-size:32px; }

@media (max-width:980px) {
  .page-hero { grid-template-columns:1fr; padding-top:82px; }
  .page-hero-copy { min-height:520px; padding:105px 5vw 55px; }
  .page-hero-copy h1 { font-size:clamp(64px,13vw,112px); }
  .page-hero-art { min-height:470px; border-left:0; border-top:1px solid currentColor; }
  .store-hero-logo { right:auto; opacity:1; }
  .studio-hero-logo,.workshop-hero-logo { right:auto; opacity:1; }
  .studio-geometry { width:360px; }
  .workshop-mark-frame { width:330px; }
}

@media (max-width:620px) {
  .page-hero { min-height:0; padding-top:82px; }
  .page-hero-copy { min-height:430px; padding:82px 20px 42px; }
  .page-hero-copy h1 { margin-top:50px; font-size:18vw; line-height:.8; }
  .page-hero-art { min-height:390px; }
  .store-hero-logo { width:72%; height:auto; }
  .drop-stamp { display:grid; width:86px; height:86px; }
  .studio-geometry { width:76vw; }
  .studio-hero-logo { width:28%; height:62%; }
  .studio-index { display:block; font-size:8px; }
  .workshop-hero-art { min-height:470px; padding:35px 24px 24px; }
  .workshop-mark-frame { width:78vw; }
  .machine-readout { display:block; }
}
