:root {
  --brand-teal:#11d2c3;
  --brand-teal-soft:#7cece4;
  --product-max:1480px;
}
html { scroll-behavior:smooth; }
body { padding-bottom:0; }
a { color:inherit; text-decoration:none; }
.product-header { position:sticky; top:0; z-index:80; display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:22px; width:100%; padding:12px max(18px,calc((100vw - var(--product-max))/2 + 18px)); background:rgba(4,13,20,.94); border-bottom:1px solid rgba(63,105,126,.35); backdrop-filter:blur(18px); }
.product-brand { display:flex; align-items:center; gap:11px; }
.product-brand img { width:42px; height:42px; object-fit:cover; border-radius:11px; border:1px solid #2f5769; }
.product-brand strong,.product-brand small { display:block; }
.product-brand strong { letter-spacing:.16em; font-size:14px; }
.product-brand small { color:#73b9b8; letter-spacing:.14em; font-size:8px; margin-top:3px; }
.product-nav { display:flex; justify-content:center; gap:22px; color:#9db2bf; font-size:13px; font-weight:700; }
.product-nav a { padding:9px 2px; border-bottom:2px solid transparent; }
.product-nav a.active,.product-nav a:hover { color:#f2fbfd; border-color:var(--brand-teal); }
.header-actions { display:flex; gap:8px; }
.account-btn,.start-btn,.mobile-menu-btn { border:1px solid #34556a; border-radius:10px; padding:10px 14px; background:#102431; color:#d8edf5; font-weight:800; cursor:pointer; }
.start-btn { background:linear-gradient(135deg,#0e9d91,#14c8b8); color:#041310; border-color:#23dccc; }
.mobile-menu-btn { display:none; }
.product-main { min-height:calc(100vh - 76px); }
.product-view { width:min(var(--product-max),calc(100% - 28px)); margin:0 auto; padding:34px 0 56px; }
.hero-panel { min-height:650px; display:grid; grid-template-columns:minmax(0,.9fr) minmax(520px,1.1fr); overflow:hidden; border:1px solid #1e3949; border-radius:26px; background:linear-gradient(110deg,#071119 0%,#071119 44%,rgba(7,17,25,.58) 66%),url('brand/regivis-cover.jpg') right center/cover no-repeat; box-shadow:0 30px 80px rgba(0,0,0,.35); }
.hero-copy { display:flex; flex-direction:column; justify-content:center; padding:clamp(34px,6vw,82px); }
.section-kicker { display:block; color:#61dcd5; font-size:11px; font-weight:900; letter-spacing:.16em; }
.hero-copy h1,.page-hero h1,.about-layout h1 { margin:12px 0 16px; font-size:clamp(42px,6vw,78px); line-height:.98; letter-spacing:-.05em; }
.hero-copy p,.page-hero p,.about-layout p { color:#a6bac5; font-size:clamp(16px,1.4vw,20px); line-height:1.65; max-width:720px; }
.hero-actions { display:flex; flex-wrap:wrap; gap:10px; margin-top:24px; }
.primary-cta,.secondary-cta { display:inline-flex; align-items:center; justify-content:center; min-height:48px; padding:12px 18px; border-radius:11px; font-weight:900; cursor:pointer; }
.primary-cta { border:0; background:linear-gradient(135deg,#0da99b,#18cfbd); color:#031411; }
.secondary-cta { border:1px solid #35566a; background:#0f222e; color:#dff4f8; }
.hero-trust { display:flex; flex-wrap:wrap; gap:8px; margin-top:24px; }
.hero-trust span { border:1px solid #244151; border-radius:999px; padding:7px 10px; color:#839da9; font-size:10px; }
.hero-art { min-height:200px; }
.how-section { padding:76px 0 22px; }
.section-heading { display:flex; align-items:end; justify-content:space-between; gap:30px; margin-bottom:20px; }
.section-heading h2,.product-principles h2 { margin:8px 0 0; font-size:clamp(28px,4vw,48px); }
.steps-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }
.steps-grid article,.legal-grid article,.roadmap-card,.disclosure-box { border:1px solid #203b4b; background:linear-gradient(180deg,#0f202c,#09151d); border-radius:16px; padding:20px; }
.steps-grid b { display:grid; place-items:center; width:34px; height:34px; border-radius:10px; background:#123d45; color:#73eee4; }
.steps-grid h3 { margin:15px 0 8px; }
.steps-grid p,.legal-grid p,.roadmap-card p,.disclosure-box p { color:#91a7b3; line-height:1.55; font-size:13px; }
.product-principles { display:grid; grid-template-columns:.8fr 1.2fr; gap:50px; align-items:center; margin-top:42px; padding:34px; border-radius:20px; border:1px solid #1d3a49; background:radial-gradient(circle at right top,rgba(17,210,195,.12),transparent 45%),#0a1720; }
.product-principles p { color:#9eb2bd; line-height:1.7; font-size:16px; }
.page-hero { padding:44px 0 28px; }
.page-hero.compact h1 { font-size:clamp(38px,5vw,66px); }
.partner-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
.partner-card { display:grid; grid-template-columns:72px 1fr; grid-template-areas:'logo title' 'logo copy' 'button button'; align-items:center; gap:6px 15px; border:1px solid #203b4b; border-radius:17px; padding:18px; background:#0b1821; }
.partner-card img { grid-area:logo; width:72px; height:72px; object-fit:contain; border-radius:14px; background:#050a0d; }
.partner-card h2 { grid-area:title; margin:0; font-size:20px; }
.partner-card p { grid-area:copy; margin:0; color:#8fa3b2; }
.partner-card a { grid-area:button; margin-top:10px; border:1px solid #2c746b; border-radius:10px; padding:10px; background:#10332f; color:#d3fff9; cursor:pointer; text-align:center; text-decoration:none; font-weight:800; }
.disclosure-box { margin-top:18px; }
.disclosure-box h2 { margin-top:0; }
.about-layout { display:grid; grid-template-columns:minmax(300px,.75fr) minmax(0,1.25fr); align-items:center; gap:52px; padding:35px 0; }
.about-logo img { width:100%; max-width:520px; border-radius:24px; border:1px solid #234252; }
.about-layout h2 { margin:28px 0 4px; }
.legal-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }
.legal-grid h3 { margin-top:0; }
.feedback-form { display:grid; gap:15px; max-width:820px; padding:24px; border:1px solid #203b4b; border-radius:18px; background:#0b1821; }
.feedback-form label>span { display:block; margin-bottom:7px; color:#b9cbd3; font-size:12px; font-weight:800; }
.feedback-form select,.feedback-form textarea,.feedback-form input { width:100%; border:1px solid #2c4859; border-radius:10px; padding:12px; background:#07131b; color:#edf7fa; }
.consent-line { display:flex; align-items:flex-start; gap:10px; }
.consent-line input { width:auto; margin-top:3px; }
.roadmap-card { max-width:820px; margin-top:16px; }
.product-footer { display:grid; grid-template-columns:auto 1fr minmax(260px,520px); align-items:center; gap:28px; padding:28px max(18px,calc((100vw - var(--product-max))/2 + 18px)); border-top:1px solid #1f3948; background:#050d13; }
.product-footer>div { display:flex; align-items:center; gap:10px; }
.product-footer img { width:38px; height:38px; border-radius:9px; object-fit:cover; }
.product-footer strong,.product-footer small { display:block; }
.product-footer small { color:#6c858f; }
.product-footer nav { display:flex; gap:16px; justify-content:center; color:#8ea4ae; }
.product-footer p { color:#667e89; font-size:10px; line-height:1.5; text-align:right; }
.dev-tools-dock { display:flex; align-items:center; justify-content:space-between; gap:14px; width:min(var(--product-max),calc(100% - 28px)); margin:20px auto; padding:12px; border:1px dashed #4b5c3c; border-radius:13px; background:#151b12; }
.dev-tools-dock .utility-actions { grid-template-columns:repeat(4,auto); }
.dev-tools-dock>small { color:#9b9f79; }
.product-version-footer { margin:0; padding:12px 16px 24px; }
.challenge-shell { padding-top:0; }
.challenge-topbar { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:12px; }
.challenge-identity { display:flex; align-items:center; gap:9px; }
.challenge-identity img { width:36px; height:36px; border-radius:9px; object-fit:cover; }
.challenge-identity strong,.challenge-identity small { display:block; }
.challenge-identity strong { font-size:12px; letter-spacing:.1em; }
.challenge-identity small { color:#7e98a5; font-size:9px; }
.milestone-banner { position:fixed; z-index:110; left:50%; top:92px; transform:translateX(-50%); width:min(720px,calc(100% - 24px)); display:flex; align-items:center; justify-content:space-between; gap:18px; padding:16px 18px; border:1px solid #4d8e7f; border-radius:16px; background:linear-gradient(135deg,#0d302f,#10212b); box-shadow:0 24px 70px rgba(0,0,0,.55); }
.milestone-banner span { color:#75e9de; font-size:9px; letter-spacing:.14em; font-weight:900; }
.milestone-banner strong { display:block; margin-top:4px; font-size:20px; }
.milestone-banner p { margin:4px 0 0; color:#a8c1c8; font-size:12px; }
.milestone-actions { display:flex; gap:7px; flex-shrink:0; }
.milestone-actions button { border:1px solid #3c665f; border-radius:9px; padding:9px 11px; background:#10272a; color:#dff9f5; cursor:pointer; }
.account-dialog,.debug-dialog { width:min(640px,calc(100% - 24px)); }
.account-inner,.debug-inner { padding:22px; }
.account-preview-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; margin:16px 0; }
.account-preview-grid>div { padding:13px; border:1px solid #284352; border-radius:10px; background:#08131b; }
.account-preview-grid strong,.account-preview-grid span { display:block; }
.account-preview-grid span { color:#8da3ae; margin-top:4px; font-size:11px; }
.debug-inner pre { white-space:pre-wrap; word-break:break-word; border:1px solid #284352; border-radius:10px; padding:13px; background:#061018; color:#a9d2d0; max-height:55vh; overflow:auto; }

@media (max-width:1100px) {
  .product-header { grid-template-columns:auto auto; }
  .mobile-menu-btn { display:block; justify-self:end; }
  .product-nav { grid-column:1/-1; display:none; flex-direction:column; align-items:stretch; gap:0; padding:8px; border:1px solid #274452; border-radius:12px; background:#08151d; }
  .product-nav.open { display:flex; }
  .product-nav a { padding:11px; }
  .header-actions { display:none; }
  .hero-panel { grid-template-columns:1fr; min-height:570px; background:linear-gradient(90deg,rgba(7,17,25,.94),rgba(7,17,25,.68)),url('brand/regivis-cover.jpg') center/cover no-repeat; }
  .hero-copy { max-width:760px; }
  .hero-art { display:none; }
  .steps-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .partner-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .legal-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .product-footer { grid-template-columns:1fr; text-align:center; }
  .product-footer>div,.product-footer nav { justify-content:center; }
  .product-footer p { text-align:center; }
  .dev-tools-dock { flex-wrap:wrap; }
}
@media (max-width:767px) {
  .product-header { padding:9px 12px; }
  .product-brand img { width:36px; height:36px; }
  .product-brand small { display:none; }
  .product-view { width:calc(100% - 16px); padding:18px 0 38px; }
  .hero-panel { min-height:610px; border-radius:18px; }
  .hero-copy { padding:28px 20px; justify-content:flex-end; }
  .hero-copy h1 { font-size:43px; }
  .hero-actions { display:grid; }
  .hero-actions a { width:100%; }
  .steps-grid,.partner-grid,.legal-grid,.product-principles,.about-layout { grid-template-columns:1fr; }
  .product-principles { gap:15px; padding:22px; }
  .partner-card { grid-template-columns:58px 1fr; }
  .partner-card img { width:58px; height:58px; }
  .about-layout { gap:20px; }
  .about-layout h1,.page-hero.compact h1 { font-size:42px; }
  .product-footer { padding:24px 14px; }
  .dev-tools-dock { display:block; width:calc(100% - 16px); }
  .dev-tools-dock .build-identity { margin-bottom:9px; flex-wrap:wrap; }
  .dev-tools-dock .utility-actions { grid-template-columns:1fr 1fr; }
  .dev-tools-dock .utility-btn { width:100%; }
  .challenge-view { width:100%; padding-top:8px; }
  .challenge-shell { width:100%; padding-left:8px; padding-right:8px; }
  .challenge-topbar { padding:0 3px; }
  .challenge-identity strong { font-size:10px; }
  .milestone-banner { top:66px; align-items:flex-start; flex-direction:column; }
  .milestone-actions { width:100%; }
  .milestone-actions button { flex:1; }
  .account-preview-grid { grid-template-columns:1fr; }
}

.partner-card { position:relative; }.partner-label { position:absolute; top:10px; right:10px; padding:4px 6px; border:1px solid #3a5d59; border-radius:999px; color:#7fdacf; font-size:7px; font-weight:900; letter-spacing:.08em; }.partner-route-highlight { border-color:#35c8b8; box-shadow:0 0 0 2px rgba(53,200,184,.18); }.account-status-notice { display:grid; gap:3px; margin:12px 0; padding:11px; border:1px solid #745f2d; border-radius:10px; background:#2b2414; }.account-status-notice strong { color:#ffe19b; }.account-status-notice span,.account-inner small { color:#8fa3b2; font-size:10px; }

/* Product 0.3.0 status-row cleanup */
.challenge-status-row { display:flex; align-items:center; justify-content:space-between; gap:14px; margin-bottom:12px; }
@media (max-width:767px) { .challenge-status-row { padding:0 3px; } }

/* Regivis Product 0.3.0 — social and conversion surfaces */
.product-footer { grid-template-columns:auto 1fr auto minmax(250px,430px); }
.social-cluster { display:flex!important; flex-direction:column; align-items:center!important; gap:7px!important; }
.social-cluster>span,.summary-social>.eyebrow { color:#79a9b4; font-size:8px; font-weight:900; letter-spacing:.13em; }
.social-links { display:flex!important; align-items:center; justify-content:center; gap:8px!important; }
.social-links a { display:grid; place-items:center; width:38px; height:38px; border:1px solid #2d4b59; border-radius:50%; background:#07131b; transition:.16s transform,.16s border-color; }
.social-links a:hover { transform:translateY(-2px); border-color:#21c4b5; }
.social-icon { display:grid; place-items:center; width:30px; height:30px; border-radius:50%; color:#fff; font-size:16px; font-family:Arial,sans-serif; font-weight:900; }
.social-icon.youtube { background:#e51d2a; font-size:13px; padding-left:2px; }
.social-icon.facebook { background:#1877f2; font-family:Arial,sans-serif; font-size:22px; }
.social-icon.tiktok { background:#050505; text-shadow:-1px 0 #25f4ee,1px 0 #fe2c55; font-size:21px; }
.guest-progress-warning { margin:10px 0!important; padding:9px 10px; border:1px solid #6d5830; border-radius:9px; background:#282113; color:#ffe0a0!important; font-size:10px!important; }
.summary-partner-recommendation { margin-top:14px; padding:14px; border:1px solid #2c756d; border-radius:13px; background:linear-gradient(135deg,#0d3936,#0a1a22); }
.summary-partner-recommendation.hidden { display:none; }
.summary-partner-recommendation>div { display:grid; grid-template-columns:54px minmax(0,1fr); align-items:center; gap:10px; margin-top:8px; }
.summary-partner-recommendation img { width:54px; height:54px; object-fit:contain; border-radius:10px; background:#030709; }
.summary-partner-recommendation span strong,.summary-partner-recommendation span small { display:block; }
.summary-partner-recommendation span small { margin-top:4px; color:#9fb5bc; font-size:9px; line-height:1.4; }
.summary-partner-recommendation>a { display:block; margin-top:10px; padding:11px; border-radius:10px; background:#12b7a8; color:#031411; text-align:center; font-weight:900; }
.summary-partner-recommendation>small { display:block; margin-top:6px; color:#7d969e; font-size:7.5px; }
.summary-social { margin-top:14px; padding:12px; border:1px solid #284554; border-radius:12px; background:#08151d; text-align:center; }
.summary-social p { margin:5px 0 10px; color:#8da6af; font-size:10px; }
@media (max-width:1100px) {
  .product-footer { grid-template-columns:1fr; }
}
@media (max-width:767px) {
  .social-links a { width:42px; height:42px; }
  .social-icon { width:34px; height:34px; }
}

/* v0.3.0 uses the challenge sidebar session-emotion module from app.css. */


/* Regivis Product 0.3.0 — official social channels */
.social-icon.telegram { background:#229ed9; padding:0; overflow:hidden; }
.social-icon.telegram img { width:100%; height:100%; display:block; object-fit:cover; border-radius:50%; }
.about-social-card { margin:18px 0; padding:18px; display:flex; align-items:center; justify-content:space-between; gap:24px; border:1px solid #244653; border-radius:18px; background:linear-gradient(135deg,rgba(10,31,41,.98),rgba(7,20,28,.98)); }
.about-social-card h2 { margin:5px 0 6px; }
.about-social-card p { margin:0; color:#9eb6be; }
.about-social-links { flex:0 0 auto; }
@media (max-width:767px) { .about-social-card { align-items:flex-start; flex-direction:column; gap:14px; }.about-social-links { align-self:center; } }


/* Product 0.3.0 — compact shell and non-blocking milestone toast */
.challenge-view { padding-top:14px; }
.milestone-toast { position:fixed; z-index:110; left:50%; top:72px; transform:translateX(-50%); width:min(560px,calc(100% - 20px)); display:flex; align-items:center; justify-content:space-between; gap:12px; padding:10px 12px; border:1px solid #428b80; border-radius:12px; background:rgba(9,41,39,.97); box-shadow:0 15px 45px rgba(0,0,0,.45); backdrop-filter:blur(14px); animation:milestoneToastIn .18s ease-out; }
.milestone-toast[data-tone="drawdown"] { border-color:#854859; background:rgba(48,20,28,.97); }
.milestone-toast span { color:#75e9de; font-size:7px; letter-spacing:.13em; font-weight:900; }
.milestone-toast strong { display:block; margin-top:2px; font-size:14px; }
.milestone-toast p { margin:2px 0 0; color:#a8c1c8; font-size:9px; line-height:1.35; }
.milestone-toast-actions { display:flex; align-items:center; gap:5px; }
.milestone-toast-actions button { min-width:30px; min-height:30px; border:1px solid #3c665f; border-radius:8px; background:#10272a; color:#dff9f5; cursor:pointer; }
@keyframes milestoneToastIn { from { opacity:0; transform:translate(-50%,-8px); } to { opacity:1; transform:translate(-50%,0); } }
@media (max-width:767px) { .challenge-view { padding-top:6px; }.milestone-toast { top:62px; padding:8px 10px; }.milestone-toast strong { font-size:12px; }.milestone-toast p { font-size:8px; } }


/* Regivis WordPress 0.3.5 — public forms and unobstructed footer */
body[data-product-view="challenge"] .product-footer { margin-bottom:110px; }
.footer-updates-btn { border:1px solid #2d5965; border-radius:999px; padding:7px 11px; background:#0c222c; color:#bfe7e8; font:inherit; cursor:pointer; }
.footer-updates-btn:hover { border-color:#18bdae; color:#eafffd; }
.form-honeypot,.form-honeypot-input { position:absolute!important; left:-10000px!important; width:1px!important; height:1px!important; overflow:hidden!important; opacity:0!important; pointer-events:none!important; }
.form-submit-row { display:flex; align-items:center; gap:14px; flex-wrap:wrap; }
.form-status { display:block; min-height:18px; color:#8ca7b1; font-size:11px; line-height:1.45; }
.form-status[data-tone="success"] { color:#50dfc9; }
.form-status[data-tone="error"] { color:#ff7186; }
.form-status[data-tone="working"] { color:#f1cc78; }
.newsletter-dialog { width:min(580px,calc(100% - 24px)); }
.newsletter-inner { padding:22px; }
.newsletter-inner>p { color:#9db3bc; line-height:1.55; }
.newsletter-form,.newsletter-inline-form { display:grid; gap:10px; margin-top:14px; }
.newsletter-form label>span { display:block; margin-bottom:6px; color:#b9cbd3; font-size:11px; font-weight:800; }
.newsletter-form input[type="email"],.newsletter-inline-form input[type="email"] { width:100%; border:1px solid #31505f; border-radius:10px; padding:12px; background:#07131b; color:#edf7fa; }
.newsletter-consent { display:flex; align-items:flex-start; gap:8px; color:#9bb1ba; font-size:9px; line-height:1.45; }
.newsletter-consent input { margin-top:2px; }
.privacy-note { display:block; margin-top:12px; color:#6f8892; font-size:9px; }
.newsletter-conversion-card { margin-top:14px; padding:15px; border:1px solid #2e756d; border-radius:13px; background:linear-gradient(145deg,#0c2929,#0a1b23); }
.newsletter-conversion-card h3 { margin:5px 0 6px; font-size:20px; }
.newsletter-conversion-card>p { margin:0; color:#a9c0c7; font-size:11px; line-height:1.5; }
.newsletter-inline-form { grid-template-columns:minmax(0,1fr) auto; align-items:start; }
.newsletter-inline-form .newsletter-consent,.newsletter-inline-form .form-status { grid-column:1/-1; }
.newsletter-inline-form button { min-height:43px; border:0; border-radius:10px; padding:0 16px; background:#16bcae; color:#041210; font-weight:900; cursor:pointer; }
@media (max-width:767px) {
  body[data-product-view="challenge"] .product-footer { margin-bottom:168px; }
  .newsletter-inline-form { grid-template-columns:1fr; }
  .newsletter-inline-form .newsletter-consent,.newsletter-inline-form .form-status { grid-column:auto; }
  .form-submit-row { align-items:stretch; flex-direction:column; }
}
