/* ========================================
   Product pages: each product gets its own visual identity.
   Scoped by body class: pg-rs (Resuminn), pg-sc (Scorinn), pg-rv (Reservinn), pg-ts (TavernSight)
   ======================================== */
.pg-wrap { max-width: 1240px; margin: 0 auto; padding: 0 24px; }
.pg-btn { display: inline-flex; align-items: center; gap: 8px; padding: 14px 28px; border-radius: 12px; font-weight: 600; transition: transform .2s ease, box-shadow .2s ease, background .2s ease; }
.pg-btn:hover { transform: translateY(-2px); }
.pg-btn { white-space: nowrap; }
.pg-btn svg { width: 18px; height: 18px; flex-shrink: 0; }
.pg-actions { display: flex; flex-wrap: wrap; gap: 14px; }
@media (prefers-reduced-motion: reduce) { .pg-btn:hover { transform: none; } }

/* ---------- Resuminn ---------- */
.pg-rs { background: #FFFDF8; --navy: #243B7C; --cyan: #14B8C6; }
.pg-rs h1, .pg-rs h2, .pg-rs h3 { color: #1b2a55; letter-spacing: -0.02em; }
.rs-hero { padding: 150px 24px 0; text-align: center; background: radial-gradient(70% 60% at 50% 0%, #E6ECFB 0%, #FFFDF8 70%); overflow: hidden; }
.rs-pill { display: inline-block; padding: 6px 16px; border-radius: 999px; background: #E0F7F9; color: #0b7f89; font-weight: 600; font-size: .85rem; margin-bottom: 22px; }
.rs-hero h1 { font-size: clamp(2.4rem, 5.4vw, 4.2rem); line-height: 1.05; max-width: 900px; margin: 0 auto 20px; }
.rs-hero h1 em { font-style: normal; color: var(--navy); background: linear-gradient(transparent 62%, #BFEFF3 62%); }
.rs-hero p.lead { font-size: 1.2rem; color: #5b6478; max-width: 640px; margin: 0 auto 32px; }
.rs-hero .pg-actions { justify-content: center; }
.rs-hero .pg-btn.primary { background: var(--navy); color: #fff; box-shadow: 0 12px 28px -12px var(--navy); }
.rs-hero .pg-btn.ghost { background: #fff; color: var(--navy); border: 1px solid #d6dcec; }
.rs-fan { --w: clamp(150px, 27vw, 330px); position: relative; height: calc(var(--w) * 1.3 + 40px); margin: 56px auto 0; max-width: 1000px; }
.rs-fan img { position: absolute; bottom: 0; left: 50%; width: var(--w); height: auto; border-radius: 10px; background: #fff; box-shadow: 0 30px 60px -20px rgba(27,42,85,.45), 0 0 0 1px rgba(27,42,85,.08); transform-origin: 50% 100%; transition: transform .4s ease; }
.rs-fan .l { transform: translateX(calc(-50% - var(--w) * .62)) rotate(-8deg); }
.rs-fan .c { transform: translateX(-50%) translateY(-18px) scale(1.06); z-index: 2; }
.rs-fan .r { transform: translateX(calc(-50% + var(--w) * .62)) rotate(8deg); }
.rs-fan:hover .l { transform: translateX(calc(-50% - var(--w) * .7)) rotate(-10deg); }
.rs-fan:hover .r { transform: translateX(calc(-50% + var(--w) * .7)) rotate(10deg); }
.rs-fan::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 90px; background: linear-gradient(transparent, #FFFDF8); z-index: 3; pointer-events: none; }
.rs-stats { background: var(--navy); color: #fff; }
.rs-stats .pg-wrap { display: grid; grid-template-columns: repeat(4, 1fr); }
.rs-stat { padding: 34px 20px; text-align: center; border-right: 1px solid rgba(255,255,255,.14); }
.rs-stat:last-child { border-right: 0; }
.rs-stat b { display: block; font-size: 2.4rem; line-height: 1; margin-bottom: 6px; }
.rs-stat span { color: rgba(255,255,255,.75); font-size: .95rem; }
.rs-sec { padding: 96px 0; }
.rs-sec h2 { font-size: clamp(1.9rem, 3.2vw, 2.7rem); text-align: center; margin-bottom: 12px; }
.rs-sec .sub { text-align: center; color: #5b6478; max-width: 560px; margin: 0 auto 52px; }
.rs-bento { display: grid; grid-template-columns: repeat(6, 1fr); gap: 20px; }
.rs-card { background: #fff; border: 1px solid #e8e6df; border-radius: 22px; padding: 30px; position: relative; overflow: hidden; }
.rs-card h3 { font-size: 1.25rem; margin-bottom: 8px; }
.rs-card p { color: #5b6478; }
.rs-card.a { grid-column: span 4; background: linear-gradient(135deg, #243B7C, #1b2a55); border: 0; }
.rs-card.a h3 { color: #fff; } .rs-card.a p { color: rgba(255,255,255,.78); max-width: 420px; }
.rs-card.b { grid-column: span 2; }
.rs-card.c, .rs-card.d, .rs-card.e { grid-column: span 2; }
.rs-ico { width: 46px; height: 46px; border-radius: 14px; background: #E0F7F9; color: #0b7f89; display: grid; place-items: center; margin-bottom: 18px; }
.rs-ico svg { width: 22px; height: 22px; }
.rs-card.a .rs-ico { background: rgba(255,255,255,.14); color: #fff; }
.rs-tags { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 20px; }
.rs-tags span { padding: 6px 12px; border-radius: 999px; background: rgba(255,255,255,.12); color: #fff; font-size: .85rem; }
.rs-bars { margin-top: 22px; display: grid; gap: 10px; }
.rs-bars i { display: block; height: 8px; border-radius: 99px; background: #E6ECFB; position: relative; overflow: hidden; }
.rs-bars i::after { content: ""; position: absolute; inset: 0; width: var(--v); background: linear-gradient(90deg, var(--navy), var(--cyan)); border-radius: 99px; }
.rs-steps { background: linear-gradient(160deg, #243B7C 0%, #16224a 100%); color: #fff; }
.rs-steps h2 { color: #fff; } .rs-steps .sub { color: rgba(255,255,255,.72); }
.rs-timeline { display: grid; grid-template-columns: repeat(4, 1fr); gap: 28px; position: relative; }
.rs-timeline::before { content: ""; position: absolute; top: 28px; left: 12%; right: 12%; height: 2px; background: repeating-linear-gradient(90deg, rgba(255,255,255,.35) 0 8px, transparent 8px 16px); }
.rs-step { position: relative; text-align: center; }
.rs-step b { width: 56px; height: 56px; border-radius: 50%; background: var(--cyan); color: #06323a; display: grid; place-items: center; font-size: 1.2rem; margin: 0 auto 18px; position: relative; box-shadow: 0 0 0 8px rgba(20,184,198,.2); }
.rs-step h3 { color: #fff; font-size: 1.1rem; margin-bottom: 8px; }
.rs-step p { color: rgba(255,255,255,.72); font-size: .95rem; }
.rs-cta { padding: 90px 24px; }
.rs-cta-box { max-width: 980px; margin: 0 auto; text-align: center; background: #fff; border: 1px solid #e8e6df; border-radius: 28px; padding: 64px 32px; box-shadow: 0 30px 60px -40px rgba(27,42,85,.35); }
.rs-cta-box h2 { font-size: clamp(1.8rem, 3vw, 2.5rem); margin-bottom: 12px; }
.rs-cta-box p { color: #5b6478; margin-bottom: 28px; }
.rs-cta-box .pg-btn { background: var(--navy); color: #fff; }

/* ---------- Scorinn ---------- */
.pg-sc { background: #F3F6F3; --g: #0A7A33; --lime: #8BC34A; }
.pg-sc h1, .pg-sc h2, .pg-sc h3 { font-family: 'Bebas Neue', 'Inter', sans-serif; font-weight: 400; letter-spacing: .02em; text-transform: uppercase; color: #11241a; }
.sc-hero { position: relative; padding: 140px 0 90px; background: linear-gradient(135deg, #06240f 0%, #0d4a22 55%, #17632f 100%); color: #fff; overflow: hidden; }
.sc-hero::before { content: ""; position: absolute; width: 900px; height: 900px; border-radius: 50%; border: 2px solid rgba(255,255,255,.08); right: -260px; top: 50%; transform: translateY(-50%); }
.sc-hero::after { content: ""; position: absolute; top: 0; bottom: 0; right: 190px; width: 2px; background: rgba(255,255,255,.08); }
.sc-hero-grid { position: relative; z-index: 1; max-width: 1400px; margin: 0 auto; padding: 0 24px; display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.5fr); gap: 48px; align-items: center; }
.sc-tag { display: inline-block; padding: 6px 14px; border: 1px solid rgba(255,255,255,.35); border-radius: 6px; font-weight: 600; font-size: .78rem; letter-spacing: .12em; text-transform: uppercase; margin-bottom: 22px; }
.sc-hero h1 { color: #fff; font-size: clamp(3.6rem, 8vw, 7rem); line-height: .92; margin-bottom: 22px; }
.sc-hero h1 em { font-style: normal; color: var(--lime); display: block; }
.sc-hero p.lead { color: rgba(255,255,255,.78); font-size: 1.15rem; max-width: 460px; margin-bottom: 30px; }
.sc-hero .pg-btn.primary { background: var(--lime); color: #0a2410; }
.sc-hero .pg-btn.ghost { border: 1px solid rgba(255,255,255,.4); color: #fff; }
.sc-frame { border-radius: 16px; overflow: hidden; box-shadow: 0 40px 80px -20px rgba(0,0,0,.6), 0 0 0 1px rgba(255,255,255,.14); margin-right: -2vw; }
.sc-frame img { display: block; width: 100%; height: auto; }
.sc-strip { background: #0a2410; color: #fff; }
.sc-strip .pg-wrap { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px 40px; padding-top: 22px; padding-bottom: 22px; }
.sc-strip span { font-family: 'Bebas Neue', sans-serif; font-size: 1.6rem; letter-spacing: .06em; }
.sc-strip span b { color: var(--lime); font-weight: 400; margin-right: 8px; }
.sc-sec { padding: 96px 0; }
.sc-sec h2 { font-size: clamp(2.4rem, 4.4vw, 3.6rem); line-height: 1; margin-bottom: 14px; }
.sc-sec .sub { color: #4d6455; max-width: 560px; margin-bottom: 44px; }
.sc-metrics { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 36px; }
.sc-metrics span { padding: 10px 18px; border-radius: 8px; background: #0f2f6b; color: #e8eefc; font-weight: 700; letter-spacing: .14em; font-size: .85rem; }
.sc-split { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 56px; align-items: center; }
.sc-split p { color: #4d6455; margin-bottom: 14px; }
.sc-list { list-style: none; margin-top: 18px; }
.sc-list li { padding: 12px 0 12px 44px; border-top: 1px solid #d5e0d8; position: relative; font-weight: 500; }
.sc-list li::before { content: ""; position: absolute; left: 0; top: 50%; width: 28px; height: 28px; margin-top: -14px; border-radius: 50%; background: var(--g) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center / 14px no-repeat; }
.sc-snake { background: #fff; border-radius: 20px; padding: 32px; box-shadow: 0 24px 50px -30px rgba(10,36,16,.4); }
.sc-snake h4 { font-family: 'Bebas Neue', sans-serif; font-size: 1.4rem; letter-spacing: .05em; font-weight: 400; margin-bottom: 18px; color: #11241a; }
.sc-row { display: grid; grid-template-columns: 70px repeat(6, 1fr); gap: 8px; align-items: center; margin-bottom: 10px; }
.sc-row label { font-weight: 700; font-size: .8rem; letter-spacing: .1em; color: #4d6455; }
.sc-row i { height: 44px; border-radius: 10px; display: grid; place-items: center; font-style: normal; font-weight: 700; background: #E6EEE8; color: #9bb0a2; }
.sc-row i.on { background: var(--g); color: #fff; }
.sc-row.b i.on { background: #0f2f6b; }
.sc-cards { display: grid; grid-template-columns: 1.2fr 1fr; gap: 24px; }
.sc-shot { background: #fff; border-radius: 16px; overflow: hidden; box-shadow: 0 24px 50px -28px rgba(10,36,16,.5); border: 1px solid #dbe5de; }
.sc-shot img { display: block; width: 100%; height: auto; }
.sc-shot figcaption { padding: 16px 20px; font-weight: 600; border-top: 1px solid #e6ede8; }
.sc-shot figcaption span { display: block; font-weight: 400; color: #4d6455; font-size: .92rem; margin-top: 2px; }
.sc-cta { position: relative; padding: 96px 24px; text-align: center; color: #fff; background: linear-gradient(135deg, #06240f, #0d4a22); overflow: hidden; }
.sc-cta::before { content: ""; position: absolute; left: 50%; top: 50%; width: 520px; height: 520px; margin: -260px 0 0 -260px; border-radius: 50%; border: 2px solid rgba(255,255,255,.1); }
.sc-cta h2 { position: relative; color: #fff; font-size: clamp(2.6rem, 5vw, 4.4rem); line-height: 1; margin-bottom: 12px; }
.sc-cta p { position: relative; color: rgba(255,255,255,.78); margin-bottom: 28px; }
.sc-cta .pg-btn { position: relative; background: var(--lime); color: #0a2410; }

/* ---------- Reservinn ---------- */
.pg-rv { background: #FAF8F4; --t: #11755C; --ink: #14181c; font-family: 'Manrope', 'Inter', sans-serif; }
.pg-rv h1, .pg-rv h2, .pg-rv h3 { font-family: 'Fraunces', Georgia, serif; color: var(--ink); letter-spacing: -0.02em; font-weight: 700; }
.rv-hero { padding: 150px 0 80px; }
.rv-hero-grid { max-width: 1240px; margin: 0 auto; padding: 0 24px; display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); gap: 56px; align-items: center; }
.rv-eyebrow { display: inline-block; padding: 6px 14px; border-radius: 999px; background: #DDF0EA; color: #0b5a47; font-weight: 700; font-size: .76rem; letter-spacing: .06em; text-transform: uppercase; margin-bottom: 22px; }
.rv-hero h1 { font-size: clamp(2.6rem, 5.4vw, 4.6rem); line-height: 1.02; margin-bottom: 22px; }
.rv-hero h1 em { color: var(--t); font-style: italic; }
.rv-hero p.lead { color: #5a625f; font-size: 1.15rem; max-width: 520px; margin-bottom: 30px; }
.rv-hero .pg-btn.primary { background: var(--t); color: #fff; box-shadow: 0 14px 30px -14px var(--t); }
.rv-hero .pg-btn.ghost { background: #fff; color: var(--ink); border: 1px solid #ddd8cf; }
.rv-visual { position: relative; }
.rv-visual::before { content: ""; position: absolute; inset: -30px -20px -30px 40px; border-radius: 40px; background: #DDF0EA; transform: rotate(3deg); }
.rv-widget { position: relative; border-radius: 22px; overflow: hidden; box-shadow: 0 40px 70px -30px rgba(17,117,92,.5), 0 0 0 1px rgba(20,24,28,.06); background: #fff; }
.rv-widget img { display: block; width: 100%; height: auto; }
.rv-chip { position: absolute; z-index: 2; background: #fff; border-radius: 14px; padding: 12px 16px; font-weight: 700; font-size: .9rem; box-shadow: 0 18px 36px -16px rgba(20,24,28,.35); }
.rv-chip small { display: block; font-weight: 500; color: #6a726f; font-size: .75rem; }
.rv-chip.one { left: -28px; bottom: -26px; } .rv-chip.two { right: -14px; top: -20px; color: var(--t); }
.rv-industries { border-block: 1px solid #e6e1d8; background: #fff; padding: 26px 0; }
.rv-industries .pg-wrap { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; }
.rv-industries span { padding: 8px 18px; border: 1px solid #e0dacf; border-radius: 999px; font-weight: 600; color: #3d4542; font-size: .92rem; }
.rv-sec { padding: 96px 0; }
.rv-sec h2 { font-size: clamp(2rem, 3.6vw, 3rem); margin-bottom: 14px; }
.rv-sec .sub { color: #5a625f; max-width: 560px; margin-bottom: 44px; }
.rv-math { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.rv-math > div { border-radius: 24px; padding: 40px; border: 1px solid #e0dacf; background: #fff; }
.rv-math small { font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: #7b827f; font-size: .76rem; }
.rv-math strong { display: block; font-family: 'Fraunces', serif; font-size: clamp(2.6rem, 5vw, 4rem); line-height: 1.1; margin: 8px 0 12px; }
.rv-math .bad strong { color: #c8452c; }
.rv-math .good { background: var(--t); border-color: var(--t); color: #fff; }
.rv-math .good small { color: rgba(255,255,255,.75); } .rv-math .good strong { color: #fff; }
.rv-math p { color: #5a625f; } .rv-math .good p { color: rgba(255,255,255,.85); }
.rv-features { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0; border: 1px solid #e0dacf; border-radius: 24px; overflow: hidden; background: #fff; }
.rv-feat { padding: 34px; border-right: 1px solid #e0dacf; border-bottom: 1px solid #e0dacf; }
.rv-feat:nth-child(3n) { border-right: 0; } .rv-feat:nth-child(n+4) { border-bottom: 0; }
.rv-feat svg { width: 26px; height: 26px; color: var(--t); margin-bottom: 16px; }
.rv-feat h3 { font-size: 1.2rem; margin-bottom: 8px; } .rv-feat p { color: #5a625f; font-size: .96rem; }
.rv-people { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; counter-reset: p; }
.rv-person { position: relative; padding: 36px 30px 30px; background: #fff; border-radius: 24px; border: 1px solid #e0dacf; counter-increment: p; }
.rv-person::before { content: "0" counter(p); position: absolute; top: 14px; right: 22px; font-family: 'Fraunces', serif; font-size: 3.4rem; color: #EAF3EF; font-weight: 700; line-height: 1; }
.rv-avatar { width: 52px; height: 52px; border-radius: 50%; background: #DDF0EA; color: var(--t); display: grid; place-items: center; font-family: 'Fraunces', serif; font-weight: 700; margin-bottom: 18px; }
.rv-person h3 { margin-bottom: 8px; } .rv-person p { color: #5a625f; }
.rv-cta { padding: 0 24px 96px; }
.rv-cta-box { max-width: 1100px; margin: 0 auto; background: #12171c; color: #fff; text-align: center; border-radius: 32px; padding: 72px 32px; }
.rv-cta-box h2 { color: #fff; font-size: clamp(2rem, 3.6vw, 3rem); margin-bottom: 12px; }
.rv-cta-box p { color: rgba(255,255,255,.72); margin-bottom: 28px; }
.rv-cta-box .pg-btn { background: var(--t); color: #fff; }

/* ---------- TavernSight ---------- */
.pg-ts { background: #0b0f18; color: #d9deea; --gold: #F2B53E; --ember: #D9731A; }
.pg-ts h1, .pg-ts h2, .pg-ts h3 { font-family: 'Cinzel', Georgia, serif; color: #f6efe0; letter-spacing: .01em; }
.ts-hero { position: relative; padding: 150px 24px 70px; text-align: center; background: radial-gradient(60% 50% at 50% 0%, rgba(217,115,26,.28) 0%, rgba(11,15,24,0) 70%), #0b0f18; overflow: hidden; }
.ts-badge { display: inline-block; padding: 6px 16px; border: 1px solid rgba(242,181,62,.5); color: var(--gold); border-radius: 999px; font-size: .78rem; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; margin-bottom: 24px; }
.ts-hero h1 { font-size: clamp(2.4rem, 5.4vw, 4.4rem); line-height: 1.08; max-width: 960px; margin: 0 auto 22px; }
.ts-hero h1 em { font-style: normal; color: var(--gold); }
.ts-hero p.lead { max-width: 640px; margin: 0 auto 32px; color: #a9b2c6; font-size: 1.15rem; }
.ts-hero .pg-actions { justify-content: center; }
.ts-hero .pg-btn.primary { background: linear-gradient(180deg, #F7C860, #D98C1F); color: #2a1700; box-shadow: 0 16px 36px -14px rgba(242,181,62,.7); }
.ts-hero .pg-btn.ghost { border: 1px solid rgba(255,255,255,.2); color: #e8ecf6; }
.ts-stage { position: relative; max-width: 1180px; margin: 56px auto 0; border-radius: 20px; overflow: hidden; border: 1px solid rgba(242,181,62,.25); box-shadow: 0 0 120px -20px rgba(217,115,26,.45), 0 40px 80px -30px #000; }
.ts-stage img { display: block; width: 100%; height: auto; }
.ts-tribes { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; max-width: 900px; margin: 28px auto 0; }
.ts-tribes span { padding: 6px 14px; border-radius: 999px; background: #151b2a; border: 1px solid #252e45; color: #b8c1d6; font-size: .85rem; }
.ts-sec { padding: 100px 0; }
.ts-sec h2 { font-size: clamp(1.9rem, 3.4vw, 2.8rem); margin-bottom: 14px; }
.ts-sec .sub { color: #a9b2c6; max-width: 560px; margin-bottom: 48px; }
.ts-center { text-align: center; } .ts-center .sub { margin-left: auto; margin-right: auto; }
.ts-showcase { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: 56px; align-items: center; }
.ts-tabs { display: grid; gap: 14px; }
.ts-tab { padding: 22px 24px; border-radius: 16px; background: #121826; border: 1px solid #1f2840; transition: border-color .25s ease, transform .25s ease; }
.ts-tab:hover { border-color: rgba(242,181,62,.5); transform: translateX(4px); }
.ts-tab h3 { font-size: 1.1rem; margin-bottom: 6px; display: flex; align-items: center; gap: 12px; }
.ts-tab h3 svg { width: 22px; height: 22px; color: var(--gold); flex-shrink: 0; }
.ts-tab p { color: #98a2b8; font-size: .95rem; padding-left: 34px; }
.ts-panels { display: flex; gap: 20px; justify-content: center; align-items: flex-start; }
.ts-panels img { width: 46%; height: auto; border-radius: 16px; border: 1px solid #252e45; box-shadow: 0 30px 60px -20px #000; }
.ts-panels img + img { margin-top: 56px; }
.ts-band { background: #0e1422; border-block: 1px solid #1b2338; }
.ts-comp { border-radius: 18px; overflow: hidden; border: 1px solid #252e45; }
.ts-comp img { display: block; width: 100%; height: auto; }
.ts-legend { display: flex; flex-wrap: wrap; gap: 22px; justify-content: center; margin-top: 22px; color: #98a2b8; font-size: .95rem; }
.ts-legend b { display: inline-grid; place-items: center; width: 22px; height: 22px; border-radius: 50%; margin-right: 8px; font-size: .75rem; vertical-align: middle; }
.ts-legend .core b { background: #F7D47A; color: #2a1700; } .ts-legend .cycle b { background: #6b9cff; color: #06142d; }
.ts-dash { position: relative; border-radius: 18px; overflow: hidden; border: 1px solid #252e45; box-shadow: 0 40px 80px -30px #000; }
.ts-dash img { display: block; width: 100%; height: auto; }
.ts-tiles { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin-top: 28px; }
.ts-tile { padding: 22px; border-radius: 16px; background: #121826; border: 1px solid #1f2840; }
.ts-tile h3 { font-size: 1rem; margin-bottom: 6px; color: var(--gold); } .ts-tile p { color: #98a2b8; font-size: .93rem; }
.ts-trust { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.ts-trust > div { text-align: center; padding: 34px 26px; border-radius: 20px; background: linear-gradient(180deg, #141b2c, #0f1524); border: 1px solid #1f2840; }
.ts-trust svg { width: 36px; height: 36px; color: var(--gold); margin-bottom: 14px; }
.ts-trust h3 { font-size: 1.15rem; margin-bottom: 8px; } .ts-trust p { color: #98a2b8; font-size: .95rem; }
.ts-cta { padding: 100px 24px; text-align: center; background: radial-gradient(50% 80% at 50% 100%, rgba(217,115,26,.35), rgba(11,15,24,0) 70%); }
.ts-cta h2 { font-size: clamp(2rem, 4vw, 3.2rem); margin-bottom: 12px; }
.ts-cta p { color: #a9b2c6; margin-bottom: 28px; }
.ts-cta .pg-btn { background: linear-gradient(180deg, #F7C860, #D98C1F); color: #2a1700; }

/* ---------- Responsive ---------- */
@media (max-width: 960px) {
    .rs-stats .pg-wrap { grid-template-columns: repeat(2, 1fr); }
    .rs-stat:nth-child(2) { border-right: 0; } .rs-stat:nth-child(-n+2) { border-bottom: 1px solid rgba(255,255,255,.14); }
    .rs-bento { grid-template-columns: 1fr 1fr; } .rs-card.a { grid-column: span 2; } .rs-card.b, .rs-card.c, .rs-card.d, .rs-card.e { grid-column: span 1; }
    .rs-timeline { grid-template-columns: 1fr 1fr; } .rs-timeline::before { display: none; }
    .sc-hero-grid, .sc-split, .sc-cards, .rv-hero-grid, .rv-math, .rv-people, .ts-showcase, .ts-trust, .ts-tiles { grid-template-columns: 1fr; }
    .sc-frame { margin-right: 0; transform: none; }
    .sc-hero::after { display: none; }
    .rv-features { grid-template-columns: 1fr 1fr; }
    .rv-feat:nth-child(3n) { border-right: 1px solid #e0dacf; } .rv-feat:nth-child(2n) { border-right: 0; } .rv-feat:nth-child(n+4) { border-bottom: 1px solid #e0dacf; } .rv-feat:nth-child(n+5) { border-bottom: 0; }
    .rv-chip.one { left: 8px; bottom: -44px; } .rv-chip.two { right: 8px; } .rv-visual { margin-bottom: 48px; }
    .rv-visual::before { inset: -16px 0 -16px 0; }
}
@media (max-width: 600px) {
    .rs-bento, .rs-timeline, .rv-features { grid-template-columns: 1fr; }
    .rs-card.a, .rs-card.b, .rs-card.c, .rs-card.d, .rs-card.e { grid-column: span 1; }
    .rv-feat { border-right: 0 !important; border-bottom: 1px solid #e0dacf !important; } .rv-feat:last-child { border-bottom: 0 !important; }
    .sc-row { grid-template-columns: 52px repeat(6, 1fr); }
    .ts-panels img { width: 48%; }
    .rs-sec, .sc-sec, .rv-sec, .ts-sec { padding: 64px 0; }
}
@media (prefers-reduced-motion: reduce) { .rs-fan img, .ts-tab { transition: none; } }
