/*
Theme Name: Roses Tecnologic — Nuevo
Description: Tema independiente creado desde cero para el rediseño de Roses Tecnologic.
Version: 0.1.1
Requires at least: 6.3
Requires PHP: 7.4
Text Domain: roses-tecnologic-nuevo
*/
:root { --rt-ink: #172333; --rt-background: #fafbfc; --rt-accent: #145cda; }
* { box-sizing: border-box; }
body { margin: 0; background: var(--rt-background); color: var(--rt-ink); font: 1rem/1.65 system-ui, sans-serif; }
a { color: var(--rt-accent); text-underline-offset: .2em; }
a:focus-visible { outline: 3px solid var(--rt-accent); outline-offset: 4px; }
img { max-width: 100%; height: auto; }
.rt-container { width: min(1120px, calc(100% - 40px)); margin-inline: auto; }
.rt-header, .rt-footer { padding-block: 24px; }
.rt-header { border-bottom: 1px solid #dde3ea; }
.rt-brand { font-size: 1.25rem; font-weight: 750; text-decoration: none; color: var(--rt-ink); }
.rt-main { min-height: 65vh; padding-block: 56px; }
.rt-main h1 { line-height: 1.15; font-size: clamp(2rem, 5vw, 3.5rem); }
.rt-main article + article { margin-top: 48px; }
.rt-footer { border-top: 1px solid #dde3ea; }
.rt-nav ul { display: flex; flex-wrap: wrap; gap: 12px 24px; padding: 0; list-style: none; }
.rt-skip { position: absolute; top: -100px; left: 20px; padding: 12px; background: white; z-index: 100; }
.rt-skip:focus { top: 12px; }

/* Redisseny: tipografia local, composició editorial i LAN com a acció principal. */
:root { --rt-ink:#f1f3ef; --rt-background:#0c100e; --rt-accent:#b6ff45; }
html { scroll-behavior:smooth; scroll-padding-top:110px; }
body { font-family:Arial, Helvetica, sans-serif; }
.rt-container { width:min(1280px, calc(100% - 64px)); }
.rt-header { background:#0c100ef2; position:sticky; top:0; z-index:10; border-color:#ffffff18; padding-block:12px; backdrop-filter:blur(12px); }
.rt-header > div { display:flex; align-items:center; gap:36px; }
.rt-brand { margin-right:auto; flex-shrink:0; }
.rt-brand img { width:76px; height:76px; object-fit:contain; display:block; }
.rt-nav { display:flex; gap:28px; }
.rt-nav a { color:#d2d7ce; text-decoration:none; font-size:.9rem; }
.rt-button { background:var(--rt-accent); color:#0c100e; display:inline-flex; align-items:center; justify-content:center; gap:28px; padding:17px 24px; border-radius:6px; font-weight:750; text-decoration:none; line-height:1.3; transition:background .15s; }
.rt-button:hover { background:#cdff80; }
.rt-button span { font-size:1.4rem; }
.rt-header-cta { font-size:.85rem; padding:12px 18px; }
.rt-main { padding-block:0; }
.rt-hero { display:grid; grid-template-columns:1.35fr 1fr; align-items:center; gap:64px; padding-block:90px 80px; }
.rt-eyebrow { font-size:.72rem; font-weight:700; letter-spacing:.15em; color:var(--rt-accent); margin:0 0 26px; }
.rt-dot { display:inline-block; width:8px; height:8px; border-radius:50%; background:var(--rt-accent); margin-right:8px; }
.rt-main h1 { font-size:clamp(2.7rem,5.1vw,4.9rem); letter-spacing:-.065em; line-height:1.03; margin:0 0 28px; }
em { color:var(--rt-accent); font-style:normal; }
.rt-lead { color:#b8c0b5; max-width:530px; font-size:1.12rem; line-height:1.7; }
.rt-actions { display:flex; align-items:center; gap:24px; flex-wrap:wrap; margin-top:30px; }
.rt-text-link { color:var(--rt-ink); font-size:.9rem; }
.rt-small { color:#a4b09f; font-size:.8rem; }
.rt-ticket { position:relative; overflow:hidden; background:var(--rt-accent); color:#0c100e; padding:28px 32px; border-radius:10px; transform:rotate(3deg); box-shadow:0 25px 100px #b6ff4510; }
.rt-ticket::before { content:''; position:absolute; inset:0; pointer-events:none; background:repeating-linear-gradient(135deg,transparent 0 18px,#0c100e08 18px 19px); }
.rt-ticket-top,.rt-ticket-bottom { display:flex; justify-content:space-between; gap:16px; font-size:.72rem; font-weight:700; position:relative; }
.rt-ticket-top { border-bottom:1px solid #0c100e50; padding-bottom:18px; letter-spacing:.1em; }
.rt-ticket-word { font-size:clamp(4.5rem,9vw,8rem); line-height:.88; font-weight:900; letter-spacing:-.08em; margin:48px 0; }
.rt-ticket-word span { display:block; font-size:.67em; }
.rt-ticket-bottom { border-top:1px solid #0c100e50; padding-top:20px; align-items:center; }
.rt-ticket-price { font-size:2.1rem; line-height:1.2; }
.rt-ticket-price small { font-size:.65rem; display:block; font-weight:400; }
.rt-ticket-bars { height:28px; margin-top:22px; background:repeating-linear-gradient(90deg,#0c100e 0 2px,transparent 2px 5px,#0c100e 5px 6px,transparent 6px 11px); opacity:.7; }
.rt-facts { border-block:1px solid #ffffff25; display:grid; grid-template-columns:repeat(3,1fr); padding-block:28px; gap:30px; }
.rt-facts span,.rt-facts strong,.rt-facts small { display:block; }
.rt-facts span { font-size:.65rem; letter-spacing:.14em; color:#a4b09f; }
.rt-facts strong { font-size:1.3rem; margin-top:7px; }
.rt-facts small { font-size:.8rem; color:#a4b09f; }
.rt-section { padding-block:80px; }
.rt-section h2 { font-size:clamp(2.3rem,4vw,3.8rem); line-height:1.08; letter-spacing:-.055em; margin:0 0 24px; }
.rt-section-heading { display:grid; grid-template-columns:1.2fr 1fr; gap:80px; align-items:center; margin-bottom:32px; }
.rt-section-heading p,.rt-cards p,.rt-activities p,.rt-faq p { color:#b8c0b5; }
.rt-cards { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.rt-cards article { border:1px solid #ffffff20; border-radius:8px; padding:28px; background:#131a15; }
.rt-number { display:block; color:var(--rt-accent); margin-bottom:38px; font-size:.85rem; }
.rt-cards h3 { font-size:1.3rem; margin:0 0 12px; }
.rt-cards p { margin:0; font-size:.95rem; }
.rt-registration { display:grid; grid-template-columns:1fr 1fr; gap:60px; align-items:center; background:#1a2615; border:1px solid #b6ff4530; border-radius:10px; padding:48px; }
.rt-registration-action { max-width:390px; justify-self:end; width:100%; }
.rt-big-price { font-size:4rem; font-weight:750; letter-spacing:-.05em; line-height:1.2; margin:0 0 26px; }
.rt-big-price span { display:block; font-size:.82rem; font-weight:400; letter-spacing:0; color:#b8c0b5; margin-top:12px; }
.rt-registration-action .rt-button { width:100%; }
.rt-pending { padding:18px; border:1px solid #b6ff4550; border-radius:6px; }
.rt-activities { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.rt-activities article { border-top:1px solid #ffffff30; padding-top:18px; }
.rt-activities span { color:var(--rt-accent); font-size:.8rem; }
.rt-activities h3 { font-size:1.8rem; margin:16px 0 4px; }
.rt-activities p { margin:0; }
.rt-faq { padding-top:0; max-width:900px; }
.rt-faq details { border-bottom:1px solid #ffffff25; padding-block:21px; }
.rt-faq summary { cursor:pointer; font-size:1.1rem; font-weight:600; }
.rt-faq > a { display:inline-block; margin-top:28px; }
.rt-footer { color:#a4b09f; border-color:#ffffff20; font-size:.85rem; }
.rt-skip { color:#0c100e; }
@media(max-width:960px) { .rt-nav { gap:16px; } .rt-hero { gap:32px; } .rt-actions { gap:16px; } .rt-section-heading { gap:32px; } }
@media(max-width:720px) { .rt-container { width:calc(100% - 36px); } .rt-header > div { gap:12px; } .rt-brand img { width:60px; height:60px; } .rt-header-cta { padding:12px; font-size:.75rem; gap:8px; } .rt-nav { display:none; } .rt-hero { grid-template-columns:1fr; padding-block:48px; gap:44px; } .rt-main h1 { font-size:clamp(2.65rem,9vw,4rem); } .rt-ticket { width:90%; max-width:430px; justify-self:center; transform:rotate(2deg); } .rt-ticket-word { font-size:6.3rem; margin-block:30px; } .rt-facts { grid-template-columns:1fr; gap:20px; } .rt-facts > div { display:grid; grid-template-columns:110px 1fr; align-items:baseline; } .rt-facts small { grid-column:2; } .rt-facts strong { font-size:1.05rem; margin:0; } .rt-section { padding-block:52px; } .rt-section-heading,.rt-cards,.rt-registration,.rt-activities { grid-template-columns:1fr; gap:20px; } .rt-section-heading { margin-bottom:24px; } .rt-section-heading p { margin-top:0; } .rt-number { margin-bottom:18px; } .rt-registration { padding:28px 22px; } .rt-registration-action { justify-self:start; max-width:none; } .rt-faq { padding-top:0; } }
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } .rt-button { transition:none; } }

/* Portada amb hexàgon: composició amb els recursos proporcionats. */
:root { --rt-accent:#16ff46; }
.rt-hero-hex { position:relative; isolation:isolate; display:flex; justify-content:center; min-height:760px; padding:36px 0 40px; background:linear-gradient(180deg,#00000012,#00000070),url('assets/hero-background.png') center 45%/cover; border-bottom:1px solid #16ff4660; }
.rt-hero-hex::after { content:''; position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg,#0005,transparent 30%,transparent 70%,#0005); }
.rt-hero-art { position:absolute; inset:0; z-index:-1; overflow:hidden; pointer-events:none; }
.rt-hero-art img { position:absolute; object-fit:contain; object-position:bottom; mix-blend-mode:lighten; }
.rt-art-soldier { left:-8%; bottom:0; width:48%; height:96%; }
.rt-art-character { right:-6%; bottom:0; width:48%; height:100%; }
.rt-art-car { left:-6%; bottom:0; width:41%; height:auto; }
.rt-hero-hex .rt-hero-copy { text-align:center; width:min(570px,100%); align-self:center; }
.rt-hero-hex .rt-eyebrow { color:#fff; text-shadow:0 2px 10px #000; margin-bottom:16px; }
.rt-hex-frame { width:350px; height:370px; margin:auto; padding:3px; background:#16ff46; clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%); filter:drop-shadow(0 0 20px #16ff46); }
.rt-hex-inner { height:100%; background:radial-gradient(ellipse at top,#11391c,#030805 75%); clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%); display:flex; flex-direction:column; align-items:center; justify-content:center; }
.rt-edition { color:#16ff46; font-size:4rem; font-weight:900; line-height:1; }
.rt-hero-hex h1 { font-size:2.2rem; font-weight:900; line-height:1.02; letter-spacing:-.035em; margin:10px 0 0; text-shadow:none; }
.rt-hero-hex h1 em { font-size:3.5rem; }
.rt-hero-hex .rt-lead { color:#fff; font-size:1.05rem; margin:20px auto 0; padding:12px 20px; width:fit-content; background:#030805e8; border-radius:6px; }
.rt-hero-hex .rt-actions { justify-content:center; gap:12px; margin-top:16px; }
.rt-hero-hex .rt-actions .rt-button { width:100%; max-width:440px; }
.rt-hero-hex .rt-text-link { background:#030805e8; padding:6px 14px; border-radius:4px; }
.rt-hero-hex .rt-small { color:#fff; background:#030805e8; padding:6px 12px; border-radius:4px; width:fit-content; margin:12px auto 0; }
@media(min-width:1400px) { .rt-hero-hex { min-height:800px; } }
@media(max-width:960px) { .rt-art-soldier { left:-15%; width:55%; } .rt-art-character { right:-15%; width:55%; } .rt-art-car { left:-12%; width:45%; } }
@media(max-width:720px) { .rt-hero-hex { min-height:740px; padding:160px 16px 28px; } .rt-hero-art img { mix-blend-mode:lighten; } .rt-art-soldier { top:0; bottom:auto; left:-8%; width:58%; height:370px; opacity:.85; } .rt-art-character { top:0; bottom:auto; right:-8%; width:58%; height:370px; opacity:.85; } .rt-art-car { display:none; } .rt-hero-hex .rt-hero-copy { width:100%; } .rt-hex-frame { width:270px; height:290px; } .rt-edition { font-size:3rem; } .rt-hero-hex h1 { font-size:1.75rem; } .rt-hero-hex h1 em { font-size:2.6rem; } .rt-hero-hex .rt-eyebrow { font-size:.6rem; background:#030805d9; padding:8px; width:fit-content; margin:0 auto 12px; } .rt-hero-hex .rt-lead { font-size:.95rem; } }

/* Ajust de composició a la segona referència. */
.rt-hero-hex { width:100vw; margin-left:calc(50% - 50vw); height:calc(100svh - 100px); min-height:650px; max-height:920px; padding:0 0 18px; align-items:flex-end; background-position:center 32%; overflow:hidden; }
.rt-hero-hex .rt-hero-copy { align-self:flex-end; position:relative; z-index:2; width:480px; }
.rt-hero-hex .rt-hero-art { z-index:0; }
.rt-art-soldier { left:-6%; top:-7%; bottom:auto; width:47%; height:145%; object-position:center top !important; mask-image:linear-gradient(90deg,transparent,#000 16%,#000 78%,transparent); }
.rt-art-character { right:-5%; top:-7%; bottom:auto; width:46%; height:145%; object-position:center top !important; mask-image:linear-gradient(90deg,transparent,#000 20%,#000 85%,transparent); }
.rt-art-car { left:-2%; bottom:-3%; width:40%; height:auto; z-index:1; }
.rt-hex-frame { width:390px; height:380px; padding:4px; margin:auto; }
.rt-hex-inner { background:radial-gradient(ellipse at top,#062a0d,#010402 65%); }
.rt-edition { font-size:5.3rem; font-weight:950; transform:scaleX(1.25); }
.rt-hero-hex h1 { font-size:2.45rem; line-height:.98; font-weight:950; }
.rt-hero-hex h1 em { font-size:4rem; }
.rt-countdown { display:grid; grid-template-columns:repeat(4,1fr); gap:7px; width:390px; margin:14px auto 0; }
.rt-countdown > div { padding:9px 0 7px; background:#010703ed; border:2px solid #16ff46; clip-path:polygon(9% 0,91% 0,100% 15%,100% 85%,91% 100%,9% 100%,0 85%,0 15%); }
.rt-countdown strong { display:block; font-size:2rem; font-weight:900; line-height:1.1; }
.rt-countdown span { display:block; font-size:.65rem; }
.rt-hero-hex .rt-actions { margin-top:16px; }
.rt-hero-hex .rt-button { border-radius:0; clip-path:polygon(4% 0,96% 0,100% 22%,100% 78%,96% 100%,4% 100%,0 78%,0 22%); font-size:1rem; padding:16px 20px; }
.rt-hero-hex .rt-small { margin-top:6px; font-size:.7rem; }
@media(min-width:1400px) { .rt-hero-hex { min-height:700px; } }
@media(max-width:960px) and (min-width:721px) { .rt-art-soldier { left:-20%; width:67%; } .rt-art-character { right:-20%; width:67%; } .rt-art-car { left:-10%; width:45%; } }
@media(max-width:720px) { .rt-hero-hex { height:auto; min-height:720px; max-height:none; padding:210px 14px 22px; } .rt-hero-hex .rt-hero-copy { width:100%; } .rt-art-soldier { left:-20%; top:-12px; width:85%; height:520px; opacity:1; } .rt-art-character { right:-20%; top:-12px; width:85%; height:520px; opacity:1; } .rt-art-car { display:block; left:-9%; bottom:165px; width:45%; opacity:.85; } .rt-hex-frame { width:280px; height:290px; } .rt-edition { font-size:3.7rem; } .rt-hero-hex h1 { font-size:1.8rem; } .rt-hero-hex h1 em { font-size:2.8rem; } .rt-countdown { width:min(320px,100%); } .rt-countdown strong { font-size:1.6rem; } .rt-hero-hex .rt-button { font-size:.82rem; gap:12px; } }

/* Centre segons la referència: verd neó, negre i tipografia stencil local. */
@font-face { font-family:'RT Black Ops'; src:url('assets/black-ops-one.woff2') format('woff2'); font-weight:400; font-style:normal; font-display:swap; }
:root { --rt-accent:#19ff39; }
.rt-hex-frame { position:relative; width:400px; height:380px; padding:0; background:transparent; clip-path:none; filter:drop-shadow(0 0 9px #3dff51); }
.rt-hex-outline { position:absolute; inset:0; width:100%; height:100%; }
.rt-hex-inner { position:absolute; inset:0; background:transparent; clip-path:none; justify-content:center; padding-top:18px; }
.rt-edition { font-family:Arial,sans-serif; font-weight:1000; font-size:5.5rem; color:#15ff3c; line-height:.85; letter-spacing:-.12em; transform:scaleX(1.15); margin-left:-.12em; margin-bottom:12px; }
.rt-hero-hex h1 { font-family:'RT Black Ops',Impact,sans-serif; font-weight:400; font-size:2.65rem; line-height:.94; letter-spacing:-.025em; margin:0; color:#fff; text-shadow:none; }
.rt-hero-hex h1 span { display:block; }
.rt-hero-hex h1 span:nth-child(2) { font-size:.88em; }
.rt-hero-hex h1 em { display:block; color:#fff; font-size:3rem; line-height:.95; }
.rt-countdown { width:430px; gap:8px; margin-top:6px; filter:drop-shadow(0 0 6px #25ff46); }
.rt-countdown > div { position:relative; border:0; padding:12px 0 9px; background:#70ff48; clip-path:polygon(12% 0,88% 0,100% 16%,100% 84%,88% 100%,12% 100%,0 84%,0 16%); isolation:isolate; }
.rt-countdown > div::before { content:''; position:absolute; inset:2px; z-index:-1; background:#010b03; clip-path:polygon(12% 0,88% 0,100% 16%,100% 84%,88% 100%,12% 100%,0 84%,0 16%); }
.rt-countdown > div::after { content:''; position:absolute; left:9%; top:10%; bottom:10%; width:2px; background:#3ed649; opacity:.6; }
.rt-countdown strong { font-family:'RT Black Ops',Impact,sans-serif; font-weight:400; font-size:2.25rem; line-height:1; color:#fff; }
.rt-countdown span { font-size:.7rem; color:#e9ffe9; line-height:1.3; margin-top:2px; }
.rt-hero-hex .rt-button { background:#14f934; color:#001d06; font-weight:900; }
@media(max-width:720px) { .rt-hex-frame { width:290px; height:276px; } .rt-hex-inner { padding-top:14px; } .rt-edition { font-size:4rem; margin-bottom:8px; } .rt-hero-hex h1 { font-size:1.9rem; } .rt-hero-hex h1 em { font-size:2.2rem; } .rt-countdown { width:min(340px,100%); gap:6px; } .rt-countdown strong { font-size:1.7rem; } }

/* Composició final del hero, amb art panoràmic de referència. */
.rt-hero-hex { background:url('assets/hero-reference-v2.png') center center/cover no-repeat; height:auto; aspect-ratio:16/9; min-height:640px; max-height:900px; padding:0 0 20px; }
.rt-hero-hex::after { display:none; }
.rt-hero-art { display:none; }
.rt-hero-hex .rt-hero-copy { padding-top:220px; width:500px; }
.rt-hex-frame { width:360px; height:340px; }
.rt-hex-inner { padding-top:16px; }
.rt-edition { font-size:4.7rem; }
.rt-hero-hex h1 { font-size:2.4rem; }
.rt-hero-hex h1 em { font-size:2.9rem; }
.rt-countdown { width:370px; }
.rt-hero-hex .rt-actions { margin-top:14px; }
.rt-header { background:#020603f5; }
@media(min-width:1600px) { .rt-hero-hex .rt-hero-copy { padding-top:270px; } }
@media(max-width:960px) { .rt-hero-hex { min-height:650px; background-size:auto 100%; } .rt-hero-hex .rt-hero-copy { padding-top:160px; } }
@media(max-width:720px) { .rt-hero-hex { aspect-ratio:auto; min-height:660px; padding:150px 16px 24px; background-size:auto 440px; background-position:center top; background-color:#010803; } .rt-hero-hex .rt-hero-copy { padding-top:0; width:100%; } .rt-hex-frame { width:290px; height:276px; } .rt-hero-hex h1 { font-size:1.9rem; } .rt-hero-hex h1 em { font-size:2.2rem; } .rt-edition { font-size:3.8rem; } .rt-countdown { width:min(330px,100%); } }

/* Evitar que el hero a sangrado completo provoqui desplaçament lateral. */
body { overflow-x:clip; }

/* Enquadrament més obert: mostrar l'art complet i reduir el bloc central. */
.rt-hero-hex { aspect-ratio:1672/941; min-height:0; max-height:none; background-size:100% 100%; padding-bottom:14px; }
.rt-hero-hex .rt-hero-copy { padding-top:0; width:440px; }
.rt-hex-frame { width:320px; height:304px; }
.rt-edition { font-size:4.1rem; margin-bottom:10px; }
.rt-hero-hex h1 { font-size:2.1rem; }
.rt-hero-hex h1 em { font-size:2.55rem; }
.rt-countdown { width:340px; margin-top:5px; }
.rt-countdown strong { font-size:1.9rem; }
.rt-countdown > div { padding-block:9px 7px; }
.rt-hero-hex .rt-actions { margin-top:10px; }
.rt-hero-hex .rt-actions .rt-button { max-width:400px; padding-block:13px; font-size:.9rem; }
@media(min-width:1600px) { .rt-hero-hex .rt-hero-copy { padding-top:0; } }
@media(max-width:960px) and (min-width:721px) { .rt-hex-frame { width:260px; height:247px; } .rt-edition { font-size:3.2rem; } .rt-hero-hex h1 { font-size:1.7rem; } .rt-hero-hex h1 em { font-size:2rem; } .rt-countdown { width:280px; } .rt-countdown strong { font-size:1.4rem; } .rt-hero-hex .rt-actions .rt-button { max-width:350px; padding-block:10px; font-size:.8rem; } }
@media(max-width:720px) { .rt-hero-hex { aspect-ratio:auto; min-height:580px; padding:130px 16px 22px; background-size:100% auto; background-position:center top; background-color:#010803; } .rt-hero-hex .rt-hero-copy { width:100%; } .rt-hex-frame { width:260px; height:247px; } .rt-edition { font-size:3.3rem; } .rt-hero-hex h1 { font-size:1.7rem; } .rt-hero-hex h1 em { font-size:2rem; } .rt-countdown { width:min(310px,100%); } .rt-countdown strong { font-size:1.6rem; } }

@media(min-width:721px) { .rt-hero-hex { aspect-ratio:auto; height:clamp(520px,44vw,660px); background-size:auto 100%; background-color:#010603; background-position:center; } }

/* Capes independents de la portada. */
.rt-hero-hex { background-image:none; background-color:#010603; }
.rt-layer-stage { position:absolute; top:0; bottom:0; left:50%; transform:translateX(-50%); width:min(1120px,100%); overflow:hidden; z-index:0; pointer-events:none; }
.rt-layer { position:absolute; display:block; left:var(--desktop-x); top:var(--desktop-y); width:var(--desktop-width); max-width:none; height:auto; transform:translate(-50%,-50%) rotate(var(--desktop-rotation)); }
.rt-layer-background { height:100%; object-fit:cover; z-index:0; }
.rt-layer-soldier,.rt-layer-character { z-index:1; }
.rt-layer-car,.rt-layer-ball { z-index:2; }
.rt-hero-hex .rt-hero-copy { position:relative; z-index:3; }
@media(max-width:720px) { .rt-layer { left:var(--mobile-x); top:var(--mobile-y); width:var(--mobile-width); transform:translate(-50%,-50%) rotate(var(--mobile-rotation)); } .rt-layer-background { height:55%; } }

/* Capa frontal de fusió amb el fons de la secció següent. */
.rt-layer-blend { position:absolute; inset:auto 0 0; height:var(--blend-desktop-height,22%); z-index:2; pointer-events:none; opacity:var(--blend-opacity,1); background:linear-gradient(to bottom,transparent 0%,#0c100e38 30%,#0c100ea6 65%,#0c100e 100%); }
.rt-hero-hex { border-bottom:0; }
.rt-layer-stage { mask-image:linear-gradient(to right,transparent 0%,#000 3%,#000 97%,transparent 100%); }
.rt-facts { border-top:0; }
@media(max-width:720px) { .rt-layer-blend { height:var(--blend-mobile-height,20%); } }

/* Sisena capa: fum i fragments sobre el tall del soldat, darrere del cotxe. */
.rt-layer-energy { z-index:2; }
.rt-layer-car,.rt-layer-ball { z-index:3; }

/* Capes de fragments independents per als talls inferiors dels objectes. */
.rt-layer-stage { overflow:visible; }
.rt-layer-car-edge,.rt-layer-ball-edge { z-index:4; }
.rt-hero-hex { overflow:visible; margin-bottom:55px; }
.rt-facts { position:relative; z-index:1; }
@media(max-width:720px) { .rt-hero-hex { margin-bottom:0; } }
.rt-layer-stage { mask-image:none; }
.rt-layer-background { mask-image:linear-gradient(to bottom,#000 0%,#000 90%,transparent 100%); }

/* Difuminat de transparència dels retalls, sense desenfocar el subjecte. */
.rt-layer-soldier,.rt-layer-character,.rt-layer-car { mask-image:linear-gradient(to bottom,#000 0%,#000 calc(100% - var(--edge-feather,20%)),transparent 100%),linear-gradient(to right,transparent 0%,#000 calc(var(--edge-feather,20%) / 5),#000 calc(100% - var(--edge-feather,20%) / 5),transparent 100%); mask-composite:intersect; }
/* The character cutout has transparent side margins; preserve its hair and hand contours. */
.rt-layer-character { mask-image:linear-gradient(to bottom,#000 0%,#000 calc(100% - var(--edge-feather,20%)),transparent 100%); mask-composite:add; }
.rt-layer-ball { mask-image:none; }

/* Visibilitat independent, conservant la geometria guardada de cada capa. */
.rt-layer,.rt-layer-blend { display:var(--layer-display,block); }

/* Terra amb reflexos verds darrere de tota la web, independent del hero. */
body { position:relative; isolation:isolate; background:#010603; }
html { background:#010603; }
body { min-height:100svh; display:flex; flex-direction:column; }
.rt-main { flex:1 0 auto; }
.rt-footer { margin-top:auto; flex-shrink:0; }
.rt-hero-hex { background-color:transparent; }
.rt-facts { background:#010603b3; padding:28px 24px; border-radius:8px; }
.rt-section-heading p,.rt-faq { text-shadow:0 1px 8px #000; }
.rt-cards article { background:#101910e8; }
.rt-registration { background:#14210de8; }
.rt-footer { background:#010603c9; }

/* La portada ocupa tot l'ample; el terra continua a partir de la seva base. */
.rt-hero-hex { margin-bottom:25px; }
.rt-full-width-background { z-index:0; height:100%; object-fit:cover; mask-image:linear-gradient(to bottom,#000 0%,#000 78%,transparent 100%); }
.rt-layer-stage { z-index:1; }
.rt-hero-hex .rt-hero-copy { z-index:3; }
@media(max-width:720px) { .rt-full-width-background { height:55%; } .rt-hero-hex { margin-bottom:0; } }

/* Integració del terra sense erosionar els pneumàtics. */
.rt-layer-car { mask-image:none; filter:drop-shadow(0 10px 9px #0009); }
.rt-layer-car-edge { z-index:2; opacity:.65; }
.rt-layer-wheel-smoke { z-index:2; opacity:.85; }
.rt-full-width-background { mask-image:linear-gradient(to bottom,#000 0%,#000 65%,#000b3 78%,#00038 93%,transparent 100%); }

/* Acabat del bloc central: vora contínua, jerarquia i espais. */
.rt-hex-frame { filter:none; }
.rt-hex-outline { filter:drop-shadow(0 0 6px #29ff4466) drop-shadow(0 6px 20px #000b); }
.rt-hex-inner { padding-top:4px; gap:14px; }
.rt-edition-mark { width:70px; height:49px; flex:none; color:#17ff43; filter:none; text-shadow:none; }
.rt-hero-hex h1 { font-size:1.9rem; line-height:1.04; letter-spacing:.01em; text-shadow:none; }
.rt-hero-hex h1 span:first-child { font-size:.87em; margin-bottom:5px; }
.rt-hero-hex h1 span:nth-child(2) { font-size:.94em; }
.rt-hero-hex h1 em { font-size:2.7rem; margin-top:10px; letter-spacing:.02em; color:#eaffdf; }
.rt-countdown { margin-top:12px; gap:10px; filter:drop-shadow(0 0 4px #25ff4633); }
.rt-countdown > div { background:linear-gradient(145deg,#95ff69,#22dd42); padding-block:10px 9px; }
.rt-countdown > div::before { inset:1px; background:linear-gradient(180deg,#071e0e,#010803); }
.rt-countdown > div::after { display:none; }
.rt-countdown strong { font-size:1.7rem; }
.rt-countdown span { font-size:.58rem; letter-spacing:.12em; margin-top:5px; color:#b8d4bf; }
.rt-hero-hex .rt-actions { margin-top:16px; }
.rt-hero-hex .rt-actions .rt-button { padding-block:16px; font-size:.88rem; letter-spacing:.015em; background:linear-gradient(110deg,#31ff43,#0be533); }
.rt-hero-hex .rt-actions .rt-button:hover { background:#6bff66; }
.rt-hero-hex .rt-small { margin-top:10px; padding:6px 14px; border:1px solid #7aff6126; background:#020b05d9; color:#d3e4d8; }
@media(max-width:960px) and (min-width:721px) { .rt-edition-mark { width:52px; height:36px; } .rt-hex-inner { gap:9px; } .rt-hero-hex h1 { font-size:1.55rem; } .rt-hero-hex h1 em { font-size:2.1rem; margin-top:6px; } .rt-countdown strong { font-size:1.4rem; } }
@media(max-width:720px) { .rt-edition-mark { width:54px; height:38px; } .rt-hex-inner { gap:9px; } .rt-hero-hex h1 { font-size:1.55rem; } .rt-hero-hex h1 em { font-size:2.1rem; margin-top:6px; } .rt-countdown strong { font-size:1.5rem; } .rt-hero-hex .rt-actions .rt-button { font-size:.76rem; padding-block:16px; } }

/* Hexàgon regular: radi 190, sis costats iguals, escala uniforme. */
.rt-hex-frame { width:320px; height:auto; aspect-ratio:1; }
.rt-hex-outline { aspect-ratio:1; }
@media(max-width:960px) and (min-width:721px) { .rt-hex-frame { width:260px; height:auto; } }
@media(max-width:720px) { .rt-hex-frame { width:260px; height:auto; } }

/* Capa negra sobre l'art, sota tots els elements de lectura i interacció. */
.rt-dark-overlay { position:absolute; top:0; left:0; right:0; height:var(--dark-desktop-height,100%); background:#000; opacity:var(--dark-opacity,.25); display:var(--dark-display,block); z-index:2; pointer-events:none; }
.rt-hero-hex .rt-hero-copy { z-index:3; }
@media(max-width:720px) { .rt-dark-overlay { height:var(--dark-mobile-height,100%); } }

/* La capa negra es mesura respecte a tota la pàgina, no al hero. */
.rt-hero-hex { isolation:auto; }
.rt-dark-overlay { z-index:2; }
.rt-section,.rt-facts,.rt-footer { position:relative; z-index:3; }
.rt-main > article { position:relative; z-index:3; }

/* Hexàgon ajustable, amb tipografia proporcional i geometria regular. */
.rt-hex-frame { display:var(--hex-display,block); width:var(--hex-desktop-size,340px); height:auto; aspect-ratio:1; margin-left:calc(50% - var(--hex-desktop-size,340px) / 2); margin-right:0; transform:translate(var(--hex-desktop-x,0px),var(--hex-desktop-y,0px)); container-type:inline-size; }
.rt-hex-inner { gap:4.3cqw; }
.rt-edition-mark { width:22cqw; height:15.4cqw; }
.rt-hero-hex h1 { font-size:9.5cqw; }
.rt-hero-hex h1 em { font-size:13.5cqw; margin-top:3cqw; }
.rt-hero-hex h1 span:first-child { margin-bottom:1.5cqw; }
@media(max-width:720px) { .rt-hex-frame { width:var(--hex-mobile-size,260px); margin-left:calc(50% - var(--hex-mobile-size,260px) / 2); transform:translate(var(--hex-mobile-x,0px),var(--hex-mobile-y,0px)); } }

/* La marca d'edició és text editable, no una imatge. */
.rt-edition-mark { width:auto; height:auto; max-width:75%; font-family:'RT Black Ops',Impact,sans-serif; font-size:22cqw; line-height:.9; text-align:center; overflow-wrap:anywhere; }

/* Marge interior per separar el text de les arestes del hexàgon. */
.rt-hex-inner { padding:12cqw 12cqw 16cqw; gap:3.2cqw; }
.rt-edition-mark { font-size:18cqw; }
.rt-hero-hex h1 { font-size:8.7cqw; }
.rt-hero-hex h1 em { font-size:12cqw; margin-top:3cqw; }

/* Capçalera compacta segons la referència. */
.rt-header { padding-block:5px; background:#020603f5; border-bottom:1px solid #19ff3933; }
.rt-header > .rt-container { width:min(1280px,calc(100% - 48px)); gap:24px; }
.rt-brand img { width:48px; height:48px; }
.rt-nav { gap:22px; align-items:center; }
.rt-nav a { font-size:.75rem; font-weight:700; text-transform:uppercase; letter-spacing:.02em; padding-block:12px; }
.rt-nav a:hover { color:var(--rt-accent); }
.rt-header-cta { padding:10px 16px; font-size:.72rem; gap:18px; border-radius:4px; }
.rt-header-cta span { font-size:1.1rem; line-height:1; }
html { scroll-padding-top:80px; }
@media(max-width:720px) { .rt-header > .rt-container { width:calc(100% - 28px); gap:12px; } .rt-brand img { width:42px; height:42px; } .rt-header-cta { padding:10px 12px; font-size:.68rem; gap:12px; } }

/* Silueta angular de la capçalera, integrada amb la portada. */
.rt-header { background:transparent; border:0; backdrop-filter:none; isolation:isolate; padding:7px 0 11px; }
.rt-site-bar { --rt-bar-cut:48px; --rt-bar-join:48%; --rt-bar-shape:polygon(0 0,100% 0,100% var(--rt-bar-join),calc(100% - var(--rt-bar-cut)) 100%,var(--rt-bar-cut) 100%,0 var(--rt-bar-join)); }
.rt-site-bar::before { content:''; position:absolute; inset:0; z-index:-2; pointer-events:none; background:linear-gradient(110deg,#65ff83aa,#13e43988 28%,#13e43988 72%,#65ff83aa); clip-path:var(--rt-bar-shape); transform:scaleY(var(--rt-bar-flip,1)); }
.rt-site-bar::after { content:''; position:absolute; top:0; left:1px; right:1px; bottom:1px; z-index:-1; pointer-events:none; background:linear-gradient(180deg,#020603fa,#031009f5); clip-path:var(--rt-bar-shape); transform:scaleY(var(--rt-bar-flip,1)); }
.rt-header > .rt-container { width:min(1280px,calc(100% - 112px)); }
.rt-header-cta { border-radius:0; clip-path:polygon(6px 0,calc(100% - 6px) 0,100% 6px,100% calc(100% - 6px),calc(100% - 6px) 100%,6px 100%,0 calc(100% - 6px),0 6px); }
@media(max-width:720px) { .rt-header > .rt-container { width:calc(100% - 50px); } .rt-site-bar { --rt-bar-cut:18px; --rt-bar-join:55%; } }

/* La portada passa per darrere dels extrems inclinats de la capçalera. */
.home .rt-header { margin-bottom:-32px; }
.rt-brand img { width:92px; height:48px; object-fit:contain; }
@media(max-width:720px) { .home .rt-header { margin-bottom:-22px; } .rt-brand img { width:78px; height:42px; } }

/* Original logo from RosesTecnologic; white lettering, original magenta. */
.rt-logo-filter { position: absolute; pointer-events: none; }
.rt-brand img { filter: url(#rtn-logo-white-text); }

/* Marcador inspirat en els HUD de CS:GO i League, adaptat al verd de la web. */
.rt-countdown {
    position:relative; isolation:isolate; width:min(390px,100%);
    gap:9px 0; margin:12px auto 0; padding:11px 17px 17px;
    border:0; border-radius:0; background:none; box-shadow:none;
    filter:drop-shadow(0 5px 9px #0008);
}
.rt-countdown-frame { position:absolute; inset:0; width:100%; height:100%; z-index:-1; overflow:visible; }
.rt-countdown-label {
    grid-column:1 / -1; margin:0; display:block; color:#c1e5c4;
    font:700 9px/1 Arial,Helvetica,sans-serif; letter-spacing:.14em; text-transform:uppercase;
}
.rt-countdown-label::before,.rt-countdown-label::after { content:none; display:none; }
.rt-countdown > div {
    position:relative; padding:0 4px; border:0; border-radius:0; clip-path:none;
    background:none; box-shadow:none;
}
.rt-countdown > div::before { content:none; }
.rt-countdown > div::after { content:none; display:none; }
.rt-countdown > div + div::after {
    content:':'; display:block; position:absolute; left:-3px; top:3px; bottom:auto; width:6px;
    background:none; opacity:1; color:#80a684;
    font:400 24px/1 'Bahnschrift','Arial Narrow',Arial,sans-serif;
}
.rt-countdown strong {
    font-family:'Bahnschrift','Arial Narrow',Arial,sans-serif;
    font-size:2rem; font-weight:600; font-stretch:condensed; font-variant-numeric:tabular-nums;
    line-height:1; letter-spacing:.025em; color:#eff9e9; text-shadow:0 2px 5px #000;
}
.rt-countdown [data-unit="days"] { color:#eff9e9; }
.rt-countdown span { margin-top:5px; color:#adc4b0; font-size:.53rem; line-height:1; letter-spacing:.12em; }
/* Full bleed uses the containing block, excluding the browser scrollbar. */
.rt-hero-picture { display:contents; }
.rt-hero-picture > source { display:none; }
.home .rt-main { width:100%; }
.home .rt-imported { width:min(1280px,calc(100% - 64px)); margin-inline:auto; }
.rt-hero-hex { width:100%; margin-left:0; overflow-x:clip; overflow-y:visible; margin-bottom:calc(25px + var(--hero-layout-overflow,0px)); }
/* Artwork can extend beyond the 1120px positioning canvas; only the full-width hero clips it. */
.rt-layer-stage { overflow:visible; transform-origin:center; transform:translateX(-50%) scale(var(--hero-art-scale,1)); translate:var(--hero-art-safe-x,0px) var(--hero-art-safe-y,0px); }
.rt-hero-hex .rt-hero-copy { max-width:100%; }
.rt-hex-frame { max-width:calc(100% - 24px); translate:var(--hero-hex-safe-x,0px) var(--hero-hex-safe-y,0px); }
.rt-registration-date { position:relative; translate:var(--hero-date-safe-x,0px) var(--hero-date-safe-y,0px); }
.rt-lan-console { translate:var(--hero-lan-safe-x,0px) var(--hero-lan-safe-y,0px); }
#salo { translate:var(--cards-safe-x,0px) 0; }
#dubtes { translate:var(--faq-safe-x,0px) 0; }
@media(max-width:720px) {
    .home .rt-imported { width:calc(100% - 36px); }
    .rt-hero-hex { margin-bottom:var(--hero-layout-overflow,0px); }
}
@media(max-width:960px) and (min-width:721px) {
    .rt-countdown { width:min(325px,100%); }
    .rt-countdown strong { font-size:1.8rem; }
}
@media(max-width:720px) {
    .rt-countdown { width:min(340px,100%); padding:11px 13px 17px; gap:9px 0; }
    .rt-countdown strong { font-size:1.8rem; }
    .rt-countdown span { font-size:.5rem; }
}
