/*
Theme Name: RESEARCH X — Blocksy Child
Description: Visual foundation for the RESEARCH X institutional research procurement website. No payment processing or product authorization is included.
Author: RESEARCH X
Version: 0.1.0
Template: blocksy
Text Domain: research-x-blocksy-child
*/
:root { --rx-blue:#1646FF; --rx-ink:#101828; --rx-lime:#B7F000; --rx-snow:#F3F6FA; --rx-muted:#526175; --rx-border:#DAE2ED; }
.rx-site { color:var(--rx-ink); font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif; font-size:16px; }
.rx-site *, .rx-site *::before, .rx-site *::after { box-sizing:border-box; }
.rx-site h1, .rx-site h2, .rx-site h3 { font-family:'Space Grotesk','Inter',sans-serif; letter-spacing:-.045em; line-height:1.07; color:var(--rx-ink); margin-top:0; }
.rx-site h1 { font-size:clamp(42px,5.3vw,78px); font-weight:650; max-width:790px; margin-bottom:24px; }
.rx-site h2 { font-size:clamp(29px,3.2vw,48px); font-weight:630; margin-bottom:16px; }
.rx-site h3 { font-size:24px; font-weight:650; margin-bottom:13px; }
.rx-site p { line-height:1.65; margin-top:0; }
.rx-site .rx-kicker { font:600 12px/1.5 'IBM Plex Mono',monospace; color:var(--rx-blue); letter-spacing:.13em; text-transform:uppercase; margin-bottom:19px; }
.rx-site .rx-body { max-width:585px; font-size:clamp(16px,1.55vw,19px); color:var(--rx-muted); line-height:1.65; }
.rx-site .rx-shell { max-width:1240px; margin-left:auto; margin-right:auto; padding-left:clamp(20px,5vw,72px); padding-right:clamp(20px,5vw,72px); }
.rx-site .rx-hero { padding:clamp(56px,8vw,112px) 0; background:var(--rx-snow); }
.rx-site .rx-hero .wp-block-columns { gap:clamp(28px,6vw,86px); align-items:center; }
.rx-site .rx-actions { display:flex; gap:12px; flex-wrap:wrap; margin-top:32px; }
.rx-site .wp-block-button__link { background:var(--rx-blue); color:#fff; border:1px solid var(--rx-blue); border-radius:6px; font:600 14px/1.2 'Inter',sans-serif; padding:17px 22px; text-decoration:none; transition:transform .16s ease,background .16s ease; }
.rx-site .wp-block-button__link:hover { background:#103BDF; transform:translateY(-2px); }
.rx-site .rx-outline .wp-block-button__link { color:var(--rx-ink); background:transparent; border-color:#A5B0C1; }
.rx-site .rx-outline .wp-block-button__link:hover { background:#E3EAF3; }
.rx-site .rx-spec { position:relative; padding:32px 32px 26px; min-height:420px; overflow:hidden; background:var(--rx-ink); border-radius:12px; color:#fff; }
.rx-site .rx-spec:after { content:''; position:absolute; right:-80px; top:90px; width:270px; height:270px; border:1px solid #53627A; border-radius:50%; box-shadow:0 0 0 38px #101828, 0 0 0 39px #43536B, 0 0 0 77px #101828, 0 0 0 78px #43536B; pointer-events:none; opacity:.75; }
.rx-site .rx-spec .rx-kicker { color:var(--rx-lime); position:relative; z-index:1; }
.rx-site .rx-spec h2 { color:#fff; font-size:clamp(33px,3.1vw,46px); max-width:270px; position:relative; z-index:1; margin-top:52px; }
.rx-site .rx-spec .rx-spec-bottom { position:relative; z-index:1; color:#C4CEDC; font:500 12px/1.9 'IBM Plex Mono',monospace; text-transform:uppercase; letter-spacing:.06em; margin:75px 0 0; }
.rx-site .rx-spec .rx-spec-bottom strong { color:var(--rx-lime); }
.rx-site .rx-pillars { background:#fff; padding-top:27px; padding-bottom:27px; border-bottom:1px solid var(--rx-border); }
.rx-site .rx-pillars .wp-block-columns { margin-bottom:0; gap:22px; }
.rx-site .rx-pillar { border-left:2px solid var(--rx-blue); padding-left:18px; font-size:13px; color:var(--rx-muted); }
.rx-site .rx-pillar strong { display:block; font-size:14px; margin-bottom:3px; color:var(--rx-ink); }
.rx-site .rx-section { padding-top:clamp(70px,9vw,116px); padding-bottom:clamp(70px,9vw,116px); }
.rx-site .rx-section .rx-lead { max-width:610px; font-size:17px; color:var(--rx-muted); margin-bottom:35px; }
.rx-site .rx-cards { gap:18px; }
.rx-site .rx-card { height:100%; padding:30px; border:1px solid var(--rx-border); border-radius:10px; background:#fff; }
.rx-site .rx-card .rx-card-no { color:var(--rx-blue); font:600 12px/1 'IBM Plex Mono',monospace; letter-spacing:.08em; margin-bottom:56px; }
.rx-site .rx-card p:not(.rx-card-no) { color:var(--rx-muted); font-size:15px; min-height:80px; }
.rx-site .rx-card a { color:var(--rx-blue); font-weight:650; text-decoration:none; }
.rx-site .rx-card a:hover { text-decoration:underline; }
.rx-site .rx-flow { background:var(--rx-snow); }
.rx-site .rx-step { padding:25px 22px 28px 0; border-top:2px solid var(--rx-ink); }
.rx-site .rx-step .rx-number { font:600 13px/1 'IBM Plex Mono',monospace; color:var(--rx-blue); }
.rx-site .rx-step h3 { font-size:22px; margin:29px 0 12px; }
.rx-site .rx-step p { color:var(--rx-muted); font-size:15px; }
.rx-site .rx-cta { background:var(--rx-ink); color:#fff; padding-top:70px; padding-bottom:70px; }
.rx-site .rx-cta h2 { color:#fff; max-width:710px; }
.rx-site .rx-cta p { color:#D0D5DD; max-width:640px; }
.rx-site .rx-cta .wp-block-button__link { background:var(--rx-lime); border-color:var(--rx-lime); color:var(--rx-ink); }
.rx-site .rx-cta .wp-block-button__link:hover { background:#CBFF34; }
.rx-site .rx-disclaimer { padding-top:24px; padding-bottom:24px; background:white; }
.rx-site .rx-disclaimer p { font-size:12px; line-height:1.7; color:#65748A; margin-bottom:0; }
@media (max-width:781px) { .rx-site .rx-hero .wp-block-columns, .rx-site .rx-cards { gap:20px; } .rx-site .rx-spec { min-height:360px; } .rx-site .rx-card .rx-card-no { margin-bottom:28px; } .rx-site .rx-card p:not(.rx-card-no) { min-height:0; } }
@media (prefers-reduced-motion:reduce) { .rx-site .wp-block-button__link { transition:none; } .rx-site .wp-block-button__link:hover { transform:none; } }
