/* AROVI Public Experience — research-led production marketing surface.
   Deliberately separate from the authenticated owner/product shell. */
:root {
  --pub-ink: #0b1020;
  --pub-muted: #667085;
  --pub-line: rgba(17,24,39,.10);
  --pub-card: rgba(255,255,255,.82);
  --pub-violet: #6657f5;
  --pub-blue: #1687f8;
  --pub-cyan: #17b9cf;
  --pub-glow: 0 28px 90px rgba(65,72,145,.14);
  --pub-max: 1240px;
}
:root[data-theme="dark"] {
  --pub-ink: #f7f9fc;
  --pub-muted: #a8b2c5;
  --pub-line: rgba(255,255,255,.10);
  --pub-card: rgba(15,25,42,.80);
  --pub-glow: 0 28px 90px rgba(0,0,0,.34);
}

.pub-skip-link { position:fixed; z-index:9999; top:8px; left:8px; transform:translateY(-180%); background:var(--pub-ink); color:var(--bg); border-radius:9px; padding:9px 12px; font-size:12px; font-weight:700; text-decoration:none; }
.pub-skip-link:focus { transform:translateY(0); }
body.public-next {
  background:
    radial-gradient(circle at 14% -8%, rgba(102,87,245,.13), transparent 30rem),
    radial-gradient(circle at 92% 9%, rgba(23,185,207,.09), transparent 26rem),
    var(--bg);
  color: var(--pub-ink);
}
body.public-next .wrap { max-width: var(--pub-max); padding-left: 30px; padding-right: 30px; }
body.public-next .site-header {
  background: color-mix(in srgb, var(--bg) 78%, transparent);
  border-bottom: 1px solid transparent;
  backdrop-filter: blur(22px) saturate(150%);
  transition: border-color .2s ease, background .2s ease;
}
body.public-next .site-header::after {
  content: ''; position: absolute; left: 4%; right: 4%; bottom: -1px; height: 1px;
  background: linear-gradient(90deg, transparent, var(--pub-line), transparent);
}
body.public-next .site-header-inner { min-height: 70px; padding-top: 9px; padding-bottom: 9px; }
body.public-next .brand { font-size: 18px; letter-spacing: -.025em; gap: 9px; }
body.public-next .brand svg { filter: drop-shadow(0 7px 15px rgba(102,87,245,.18)); }
body.public-next .site-nav { gap: 7px; }
body.public-next .site-nav > a,
body.public-next .nav-dropdown-trigger {
  padding: 8px 10px; border-radius: 9px; font-size: 13px; font-weight: 600;
}
body.public-next .site-nav > a:hover,
body.public-next .nav-dropdown-trigger:hover { background: color-mix(in srgb,var(--surface) 82%, transparent); }
body.public-next .nav-cta-group { border-left: 1px solid var(--pub-line); padding-left: 12px; margin-left: 4px; }
body.public-next .nav-cta-group .btn-primary { padding: 10px 15px; border-radius: 10px; }
body.public-next .nav-cta-group .btn-text { padding: 8px 6px; }

.pub-hero { padding: 82px 0 56px; position: relative; overflow: hidden; }
.pub-hero::before {
  content:''; position:absolute; width:560px; height:560px; border-radius:50%; right:-220px; top:-170px;
  border:1px solid rgba(102,87,245,.13); box-shadow: 0 0 0 85px rgba(102,87,245,.025), 0 0 0 170px rgba(23,185,207,.018); pointer-events:none;
}
.pub-hero-grid { display:grid; grid-template-columns:minmax(0,1.04fr) minmax(460px,.96fr); gap:64px; align-items:center; }
.pub-kicker { display:inline-flex; align-items:center; gap:8px; margin-bottom:18px; color:var(--pub-violet); font-size:12px; font-weight:750; letter-spacing:.08em; text-transform:uppercase; }
.pub-kicker::before { content:''; width:22px; height:1px; background:linear-gradient(90deg,var(--pub-violet),var(--pub-cyan)); }
.pub-hero h1 { font-size:clamp(48px,6.6vw,84px); line-height:.96; letter-spacing:-.062em; font-weight:780; max-width:810px; margin:0; }
.pub-hero h1 em { font-style:normal; background:linear-gradient(105deg,var(--pub-violet),var(--pub-blue) 52%,var(--pub-cyan)); -webkit-background-clip:text; background-clip:text; color:transparent; }
.pub-hero-copy { max-width:690px; margin:23px 0 0; color:var(--pub-muted); font-size:18px; line-height:1.65; }
.pub-hero-actions { display:flex; align-items:center; gap:11px; flex-wrap:wrap; margin-top:31px; }
.pub-btn { display:inline-flex; align-items:center; justify-content:center; min-height:47px; padding:0 18px; border-radius:12px; border:1px solid var(--pub-line); font-size:13.5px; font-weight:700; text-decoration:none; transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease; }
.pub-btn-primary { color:#fff; border-color:transparent; background:linear-gradient(110deg,var(--pub-violet),var(--pub-blue)); box-shadow:0 12px 28px rgba(62,88,218,.20); }
.pub-btn-secondary { color:var(--pub-ink); background:color-mix(in srgb,var(--surface) 82%,transparent); }
.pub-btn:hover { transform:translateY(-2px); box-shadow:var(--pub-glow); }
.pub-trust-row { display:flex; flex-wrap:wrap; gap:15px; margin-top:23px; color:var(--pub-muted); font-size:11.5px; }
.pub-trust-row span { display:inline-flex; align-items:center; gap:6px; }
.pub-trust-row i { width:6px; height:6px; border-radius:50%; background:#20b46a; box-shadow:0 0 0 4px rgba(32,180,106,.10); }

.pub-product-stage { position:relative; min-height:510px; }
.pub-product-stage::before { content:''; position:absolute; inset:8% 3% -2% 7%; background:linear-gradient(135deg,rgba(102,87,245,.14),rgba(23,185,207,.08)); border-radius:36px; filter:blur(2px); transform:rotate(-3deg); }
.pub-window { position:absolute; inset:0; border:1px solid var(--pub-line); border-radius:24px; background:color-mix(in srgb,var(--surface) 91%,transparent); box-shadow:var(--pub-glow); overflow:hidden; backdrop-filter:blur(18px); transform:rotate(1.25deg); }
.pub-window-bar { height:49px; display:flex; align-items:center; gap:7px; padding:0 16px; border-bottom:1px solid var(--pub-line); }
.pub-window-bar b { margin-left:9px; font-size:11px; color:var(--pub-muted); font-family:var(--font-mono); font-weight:500; }
.pub-dot { width:8px; height:8px; border-radius:50%; background:var(--border-strong); }
.pub-window-body { display:grid; grid-template-columns:142px 1fr; min-height:460px; }
.pub-mini-nav { padding:14px 10px; border-right:1px solid var(--pub-line); background:color-mix(in srgb,var(--bg-subtle) 65%,transparent); }
.pub-mini-brand { font-weight:800; font-size:13px; padding:8px 9px 14px; }
.pub-mini-nav a { display:block; color:var(--pub-muted); text-decoration:none; padding:8px 9px; border-radius:8px; font-size:10.5px; margin:2px 0; }
.pub-mini-nav a.active { color:var(--pub-violet); background:rgba(102,87,245,.09); font-weight:700; }
.pub-mini-content { padding:22px; }
.pub-mini-label { color:var(--pub-violet); font-size:9px; font-weight:750; letter-spacing:.09em; text-transform:uppercase; }
.pub-mini-content h3 { font-size:24px; letter-spacing:-.035em; margin:6px 0 5px; }
.pub-mini-content > p { color:var(--pub-muted); font-size:11px; max-width:410px; }
.pub-command { margin-top:18px; border:1px solid var(--pub-line); border-radius:13px; padding:11px; display:flex; align-items:center; gap:9px; box-shadow:0 12px 30px rgba(40,50,94,.06); }
.pub-command span { flex:1; color:var(--pub-muted); font-size:10.5px; }
.pub-command button { border:0; border-radius:8px; background:var(--pub-violet); color:#fff; font-size:9.5px; padding:7px 9px; }
.pub-mini-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; margin-top:14px; }
.pub-mini-card { border:1px solid var(--pub-line); border-radius:12px; padding:12px; min-height:77px; }
.pub-mini-card i { display:block; width:24px; height:24px; border-radius:8px; background:linear-gradient(135deg,rgba(102,87,245,.13),rgba(23,185,207,.10)); margin-bottom:8px; }
.pub-mini-card b { display:block; font-size:10.5px; }
.pub-mini-card small { color:var(--pub-muted); font-size:8.8px; }
.pub-float-card { position:absolute; right:-24px; bottom:28px; width:205px; padding:13px 14px; border-radius:14px; border:1px solid var(--pub-line); background:color-mix(in srgb,var(--surface) 94%,transparent); box-shadow:0 22px 52px rgba(27,37,79,.14); transform:rotate(-2deg); }
.pub-float-card b { display:block; font-size:10.5px; }
.pub-float-card span { display:block; color:var(--pub-muted); font-size:9px; line-height:1.4; margin-top:3px; }
.pub-float-status { display:inline-flex; align-items:center; gap:6px; color:#188a55; font-size:8.5px; font-weight:700; margin-bottom:7px; text-transform:uppercase; letter-spacing:.06em; }
.pub-float-status::before { content:''; width:6px; height:6px; border-radius:50%; background:#20b46a; }

.pub-strip { padding:22px 0 54px; }
.pub-strip-inner { display:grid; grid-template-columns:repeat(4,1fr); gap:10px; }
.pub-proof { padding:14px 16px; border-top:1px solid var(--pub-line); }
.pub-proof b { display:block; font-size:12px; }
.pub-proof span { display:block; color:var(--pub-muted); font-size:10.5px; margin-top:3px; line-height:1.45; }

.pub-section { padding:74px 0; }
.pub-section.soft { border-top:1px solid var(--pub-line); border-bottom:1px solid var(--pub-line); background:linear-gradient(180deg,color-mix(in srgb,var(--surface) 48%,transparent),transparent); }
.pub-section-head { max-width:720px; margin-bottom:31px; }
.pub-section-head .pub-kicker { margin-bottom:11px; }
.pub-section-head h2 { font-size:clamp(32px,4.3vw,54px); line-height:1.02; letter-spacing:-.047em; margin:0; }
.pub-section-head p { color:var(--pub-muted); margin-top:13px; font-size:15px; line-height:1.6; }
.pub-outcomes { display:grid; grid-template-columns:repeat(4,1fr); gap:11px; }
.pub-outcome { display:flex; flex-direction:column; min-height:190px; padding:19px; border:1px solid var(--pub-line); border-radius:17px; background:var(--pub-card); text-decoration:none; box-shadow:0 1px 0 rgba(255,255,255,.42) inset; transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease; }
.pub-outcome:hover { transform:translateY(-3px); border-color:rgba(102,87,245,.28); box-shadow:var(--pub-glow); }
.pub-outcome-icon { width:38px; height:38px; border-radius:12px; display:grid; place-items:center; font-size:17px; background:linear-gradient(135deg,rgba(102,87,245,.11),rgba(23,185,207,.08)); margin-bottom:auto; }
.pub-outcome h3 { font-size:16px; margin:18px 0 5px; }
.pub-outcome p { color:var(--pub-muted); font-size:11.5px; line-height:1.5; margin:0; }

.pub-personal-grid { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:56px; align-items:start; }
.pub-pref-stack { display:grid; gap:10px; }
.pub-pref-row { display:grid; grid-template-columns:42px 1fr auto; gap:12px; align-items:center; padding:14px; border:1px solid var(--pub-line); border-radius:14px; background:var(--pub-card); }
.pub-pref-icon { width:38px; height:38px; border-radius:11px; display:grid; place-items:center; color:var(--pub-violet); background:rgba(102,87,245,.08); }
.pub-pref-row b { display:block; font-size:12.5px; }
.pub-pref-row span { display:block; color:var(--pub-muted); font-size:10.5px; margin-top:2px; }
.pub-pref-chip { font-size:9px; font-weight:700; color:var(--pub-violet); border:1px solid rgba(102,87,245,.18); background:rgba(102,87,245,.06); border-radius:999px; padding:5px 8px; }
.pub-copy h2 { font-size:clamp(32px,4vw,52px); line-height:1.02; letter-spacing:-.045em; margin:0; }
.pub-copy p { color:var(--pub-muted); font-size:15px; line-height:1.65; margin:16px 0 0; }
.pub-bullets { display:grid; gap:10px; margin-top:21px; }
.pub-bullets div { display:grid; grid-template-columns:18px 1fr; gap:9px; color:var(--pub-muted); font-size:12.5px; line-height:1.5; }
.pub-bullets i { width:17px; height:17px; border-radius:50%; background:rgba(32,180,106,.10); color:#1a925c; display:grid; place-items:center; font-style:normal; font-size:10px; margin-top:1px; }

.pub-control-grid { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.pub-control-card { border:1px solid var(--pub-line); border-radius:20px; padding:24px; background:var(--pub-card); }
.pub-control-card.big { grid-row:span 2; background:linear-gradient(145deg,rgba(102,87,245,.095),rgba(23,185,207,.05)),var(--pub-card); }
.pub-control-card .num { font-family:var(--font-mono); color:var(--pub-violet); font-size:10px; letter-spacing:.09em; }
.pub-control-card h3 { font-size:20px; margin:26px 0 7px; letter-spacing:-.025em; }
.pub-control-card p { color:var(--pub-muted); font-size:12px; line-height:1.55; }
.pub-action-flow { margin-top:28px; display:grid; gap:8px; }
.pub-action-step { display:grid; grid-template-columns:26px 1fr auto; gap:10px; align-items:center; padding:10px; border:1px solid var(--pub-line); background:color-mix(in srgb,var(--surface) 76%,transparent); border-radius:11px; font-size:10.5px; }
.pub-action-step strong { font-size:10.5px; }
.pub-action-step small { color:var(--pub-muted); }
.pub-action-step em { font-style:normal; font-size:8.5px; border-radius:999px; padding:4px 6px; background:rgba(32,180,106,.08); color:#188a55; }
.pub-action-step.wait em { background:rgba(245,166,35,.09); color:#a46600; }

.pub-products { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; }
.pub-product { padding:22px; border:1px solid var(--pub-line); border-radius:18px; background:var(--pub-card); text-decoration:none; }
.pub-product .label { font-size:9px; color:var(--pub-muted); text-transform:uppercase; letter-spacing:.1em; font-weight:700; }
.pub-product h3 { font-size:23px; margin:18px 0 7px; }
.pub-product p { color:var(--pub-muted); font-size:11.5px; line-height:1.55; }
.pub-product .arrow { display:inline-block; margin-top:20px; color:var(--pub-violet); font-size:11px; font-weight:700; }

body.public-next .site-footer { margin-top:26px; border-top:1px solid var(--pub-line); background:transparent; }
body.public-next .cta-banner { border:1px solid var(--pub-line); background:linear-gradient(135deg,rgba(102,87,245,.08),rgba(23,185,207,.055)),var(--surface); box-shadow:var(--pub-glow); border-radius:24px; }
body.public-next .footer-brand p { max-width:340px; }

@media (max-width: 1060px) {
  .pub-hero-grid { grid-template-columns:1fr; }
  .pub-product-stage { max-width:720px; min-height:500px; }
  .pub-outcomes { grid-template-columns:repeat(2,1fr); }
  .pub-personal-grid { grid-template-columns:1fr; gap:32px; }
}
@media (max-width: 760px) {
  body.public-next .wrap { padding-left:19px; padding-right:19px; }
  .pub-hero { padding:54px 0 30px; }
  .pub-hero h1 { font-size:clamp(42px,13vw,62px); }
  .pub-hero-copy { font-size:16px; }
  .pub-product-stage { min-height:430px; }
  .pub-window { transform:none; }
  .pub-window-body { grid-template-columns:1fr; }
  .pub-mini-nav { display:none; }
  .pub-float-card { right:10px; bottom:-10px; }
  .pub-strip-inner { grid-template-columns:1fr 1fr; }
  .pub-outcomes, .pub-products, .pub-control-grid { grid-template-columns:1fr; }
  .pub-control-card.big { grid-row:auto; }
  .pub-section { padding:54px 0; }
  .pub-pref-row { grid-template-columns:38px 1fr; }
  .pub-pref-chip { grid-column:2; justify-self:start; }
}
@media (max-width: 980px) {
  body.public-next .site-nav { gap:3px; }
  body.public-next .nav-cta-group { border-left:0; padding-left:0; }
}
