@font-face{
  font-family:'Bricolage Grotesque';
  font-style:normal;
  font-weight:200 800;
  font-display:swap;
  src:url("../fonts/bricolage-grotesque.woff2") format("woff2");
}

.redesigned{
  margin:0; padding:0;
  background:var(--paper); color:var(--text-on-paper); font-family:var(--font-body);
  font-size:16px; line-height:1.55; -webkit-font-smoothing:antialiased;
  --ink:#211f1b; --ink-soft:#2b2823; --ink-line:#45403a;
  --paper:#f6f2e4; --paper-raised:#ece3cb; --paper-line:#ddd3b6;
  --ember:#e2f400; --ember-ink:#1c2100; --steel:#8b8272; --steel-dim:#6b6558;
  --allow:#189a2a; --allow-dark:#4ade6e; --allow-light:#0d7a1f; --deny:#ff6e8e; --deny-light:#c81e4a;
  --peach:#ffceac;
  --sky:#b3d4f4;
  --accent:#4d5200;
  --radius:20px;
  --text-on-ink:#f6f2e4; --text-on-ink-dim:#b8ae9c;
  --text-on-paper:#211f1b; --text-on-paper-dim:#6b6558;
  --font-display:'Bricolage Grotesque',-apple-system,BlinkMacSystemFont,"Segoe UI",ui-sans-serif,system-ui,sans-serif;
  --font-body:-apple-system,BlinkMacSystemFont,"Segoe UI",ui-sans-serif,system-ui,sans-serif;
  --font-mono:ui-monospace,SFMono-Regular,Menlo,Consolas,"Liberation Mono",monospace;
  --maxw:1180px;
}
.redesigned *{ box-sizing:border-box; }
.redesigned a{ color:inherit; text-decoration:none; }
.redesigned .container{ max-width:var(--maxw); margin:0 auto; padding:0 32px; }
@media (max-width:700px){ .redesigned .container{ padding:0 20px; } }
.redesigned h1, .redesigned h2, .redesigned h3{ font-family:var(--font-display); font-weight:700; letter-spacing:-0.015em; text-wrap:balance; margin:0; line-height:1.05; }
.redesigned .mono{ font-family:var(--font-mono); font-variant-numeric:tabular-nums; }
.redesigned .btn{ display:inline-flex; align-items:center; gap:10px; font-family:var(--font-mono); font-size:14px; letter-spacing:0.01em; text-transform:none; padding:15px 28px; border-radius:999px; border:1px solid transparent; cursor:pointer; background:none; color:inherit; font-weight:400; text-decoration:none; transition:background-color .15s ease, border-color .15s ease, color .15s ease; }
.redesigned .btn-ember{ background:var(--ember); color:#1c2100; font-weight:700; }
.redesigned .btn-ember:hover{ background:#ecff4a; }
.redesigned .btn-ghost-paper{ border-color:var(--paper-line); color:var(--text-on-paper); }
.redesigned .btn-ghost-paper:hover{ border-color:var(--steel-dim); background:rgba(33,31,27,0.06); }
.redesigned .btn-ghost-ink{ border-color:var(--ink-line); color:var(--text-on-ink); }
.redesigned .btn-ghost-ink:hover{ border-color:var(--steel); background:rgba(242,244,241,0.08); }
.redesigned a:focus-visible, .redesigned button:focus-visible, .redesigned summary:focus-visible{ outline:2px solid var(--accent); outline-offset:2px; }
.redesigned .price-card a:focus-visible, .redesigned footer a:focus-visible{ outline-color:var(--ember); }
.redesigned header{ position:sticky; top:0; z-index:40; background:rgba(238,241,237,0.88); backdrop-filter:blur(10px); border-bottom:1px solid var(--paper-line); }
.redesigned nav{ display:flex; align-items:center; justify-content:space-between; padding:18px 0; }
.redesigned .brand{ display:flex; align-items:center; gap:9px; font-family:var(--font-mono); font-weight:700; font-size:15px; letter-spacing:0.02em; }
.redesigned .brand img{ height:56px; width:auto; display:block; }
.redesigned .brand .mark{ width:20px; height:20px; background:var(--ink); position:relative; clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%); }
.redesigned .brand .mark::after{ content:""; position:absolute; inset:5px; background:var(--ember); clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%); }
.redesigned .navlinks{ display:flex; gap:34px; align-items:center; }
.redesigned .navlinks a{ font-size:14.5px; color:var(--text-on-paper-dim); }
.redesigned .navlinks a:hover, .redesigned .navlinks a[aria-current]{ color:var(--text-on-paper); }
.redesigned .navcta{ display:flex; gap:12px; align-items:center; }
.redesigned .navcta a.login{ font-size:14.5px; color:var(--text-on-paper-dim); padding:10px 6px; }
.redesigned .menu-toggle{ display:none; background:none; border:1px solid var(--paper-line); border-radius:999px; width:40px; height:40px; align-items:center; justify-content:center; cursor:pointer; flex-shrink:0; }
.redesigned .menu-toggle span{ display:block; width:16px; height:2px; background:var(--text-on-paper); margin:2.5px 0; }
.redesigned .mobile-menu{ display:none; flex-direction:column; padding:6px 0 18px; border-top:1px solid var(--paper-line); }
.redesigned .mobile-menu a{ padding:13px 4px; font-size:15.5px; color:var(--text-on-paper-dim); border-bottom:1px solid var(--paper-line); }
.redesigned .mobile-menu a:last-child{ border-bottom:none; }
.redesigned .mobile-menu a[aria-current]{ color:var(--text-on-paper); font-weight:700; }
.redesigned .mobile-menu.open{ display:flex; }
@media (max-width:880px){ .redesigned .navlinks{ display:none; } .redesigned .menu-toggle{ display:flex; } }
.redesigned .skip-link{ position:absolute; left:12px; top:-48px; background:var(--ink); color:var(--text-on-ink); padding:12px 18px; border-radius:999px; font-size:14px; text-decoration:none; z-index:100; transition:top .15s ease; }
.redesigned .skip-link:focus{ top:12px; }

.redesigned .cta-band{ background:var(--ember); color:#1c2100; }
.redesigned .cta-band .container{ display:flex; justify-content:space-between; align-items:center; gap:32px; padding:56px 32px; }
.redesigned .cta-band h2{ font-size:clamp(26px,3vw,34px); color:#1c2100; }
.redesigned .cta-band p{ font-size:15px; margin-top:10px; color:#3d3a1f; max-width:44ch; }
.redesigned .cta-band .btn-ember{ background:#1c2100; color:#f6f2e4; }
.redesigned .cta-band .btn-ember:hover{ background:#141900; }
.redesigned .cta-band .btn-ghost-ink{ border-color:rgba(24,10,4,0.35); color:#1c2100; }
.redesigned .cta-band .actions{ display:flex; gap:12px; flex-shrink:0; flex-wrap:wrap; }
.redesigned .cta-band a:focus-visible{ outline-color:#1c2100; }
@media (max-width:760px){ .redesigned .cta-band .container{ flex-direction:column; align-items:flex-start; } }

.redesigned footer{ background:var(--ink); color:var(--text-on-ink-dim); padding:44px 0; border-top:1px solid var(--ink-line); }
.redesigned .foot-row{ display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:16px; font-size:13px; }
.redesigned .foot-links{ display:flex; gap:26px; flex-wrap:wrap; }
.redesigned .foot-links a{ color:var(--text-on-ink-dim); }
.redesigned .foot-links a:hover{ color:var(--text-on-ink); }

.redesigned.pg-home .hero{
    background:var(--ink);
    color:var(--text-on-ink);
    padding:76px 0 0;
    overflow:hidden;
  }
.redesigned.pg-home .hero-grid{
    display:grid;
    grid-template-columns:1.05fr 0.95fr;
    gap:56px;
    align-items:center;
    padding-bottom:64px;
  }
@media (max-width:960px){ .redesigned.pg-home .hero-grid{ grid-template-columns:1fr; } }
.redesigned.pg-home .hero h1{
    font-size:clamp(40px,5vw,64px);
    font-weight:300;
    letter-spacing:-0.02em;
    color:var(--text-on-ink);
    margin-top:24px;
  }
.redesigned.pg-home .hero h1 em{ font-style:normal; color:var(--ember); }
.redesigned.pg-home .hero p.lede{
    font-size:17.5px;
    color:var(--text-on-ink-dim);
    max-width:46ch;
    margin-top:20px;
  }
.redesigned.pg-home .hero-facts{
    display:flex; flex-wrap:wrap; gap:9px;
    margin-top:26px;
  }
.redesigned.pg-home .fact-chip{
    font-family:var(--font-mono);
    font-size:11.5px;
    letter-spacing:0.06em;
    text-transform:uppercase;
    color:var(--text-on-ink-dim);
    border:1px solid var(--ink-line);
    padding:7px 13px;
    border-radius:999px;
  }
.redesigned.pg-home .hero-cta{ display:flex; gap:14px; align-items:center; margin-top:34px; flex-wrap:wrap; }
.redesigned.pg-home .hero .price-note{ font-family:var(--font-mono); font-size:13.5px; letter-spacing:0.02em; color:var(--text-on-ink-dim); margin-top:16px; }
.redesigned.pg-home .feed-panel{
    background:var(--ink-soft);
    border:1px solid var(--ink-line);
    border-radius:var(--radius);
    overflow:hidden;
  }
.redesigned.pg-home .feed-head{
    display:flex; justify-content:space-between; align-items:center;
    padding:12px 16px;
    border-bottom:1px solid var(--ink-line);
    font-family:var(--font-mono);
    font-size:11.5px;
    color:var(--steel);
    letter-spacing:0.04em;
  }
.redesigned.pg-home .feed-head .live{ display:flex; align-items:center; gap:7px; color:var(--allow-dark); }
.redesigned.pg-home .feed-head .live::before{ content:""; width:6px; height:6px; background:var(--allow-dark); border-radius:50%; }
@media (prefers-reduced-motion:no-preference){ .redesigned.pg-home .feed-head .live::before{ animation:pulse-dot 2s ease-in-out infinite; } }
@keyframes pulse-dot{ 0%,100%{ opacity:1; } 50%{ opacity:0.35; } }
.redesigned.pg-home .feed-rows{ font-family:var(--font-mono); font-size:12.5px; }
.redesigned.pg-home .feed-row{
    display:grid;
    grid-template-columns:110px 1fr 72px 54px;
    gap:10px;
    padding:9px 16px;
    border-bottom:1px solid var(--ink-line);
    color:var(--text-on-ink-dim);
    align-items:center;
  }
.redesigned.pg-home .feed-row:last-child{ border-bottom:none; }
.redesigned.pg-home .feed-row span{ overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.redesigned.pg-home .feed-row .path{ color:var(--text-on-ink); }
.redesigned.pg-home .decision{ text-align:right; font-weight:700; letter-spacing:0.04em; font-size:11px; }
.redesigned.pg-home .decision.deny{ color:var(--deny); }
.redesigned.pg-home .decision.allow{ color:var(--allow-dark); }
.redesigned.pg-home .feed-stats{
    display:flex; justify-content:space-between;
    padding:13px 16px;
    background:var(--ink);
    font-family:var(--font-mono);
    font-size:11px;
    color:var(--steel);
    letter-spacing:0.04em;
    text-transform:uppercase;
  }
.redesigned.pg-home .feed-stats b{ color:var(--text-on-ink); font-size:15px; display:block; font-family:var(--font-display); font-weight:700; letter-spacing:-0.01em; margin-top:3px; }
.redesigned.pg-home .rule-strip{
    border-top:1px solid var(--ink-line);
    background:var(--ink-soft);
  }
.redesigned.pg-home .rule-strip .container{
    display:grid;
    grid-template-columns:repeat(5,1fr);
    gap:0;
  }
.redesigned.pg-home .rule-cell{
    padding:22px 20px;
    border-left:1px solid var(--ink-line);
  }
.redesigned.pg-home .rule-cell:first-child{ border-left:none; }
.redesigned.pg-home .rule-cell .num{ font-family:var(--font-mono); font-size:11px; color:var(--ember); letter-spacing:0.08em; }
.redesigned.pg-home .rule-cell .name{ font-size:14.5px; font-weight:700; margin-top:8px; color:var(--text-on-ink); }
.redesigned.pg-home .rule-cell .desc{ font-size:12.5px; color:var(--text-on-ink-dim); margin-top:6px; line-height:1.4; }
@media (max-width:880px){ .redesigned.pg-home .rule-strip .container{ grid-template-columns:1fr 1fr; } .redesigned.pg-home .rule-cell{ border-left:none; border-top:1px solid var(--ink-line);} .redesigned.pg-home .rule-cell:nth-child(odd){ border-right:1px solid var(--ink-line);} }
.redesigned.pg-home section{ padding:96px 0; }
.redesigned.pg-home section.tight{ padding:72px 0; }
.redesigned.pg-home .section-head{ max-width:640px; margin-bottom:52px; }
.redesigned.pg-home .section-head h2{ font-size:clamp(28px,3vw,38px); }
.redesigned.pg-home .section-head p{ font-size:16.5px; color:var(--text-on-paper-dim); margin-top:16px; max-width:56ch; }
.redesigned.pg-home section.on-ink .section-head p{ color:var(--text-on-ink-dim); }
.redesigned.pg-home section.on-ink .section-head h2{ color:var(--text-on-ink); }
.redesigned.pg-home section.on-ink{ background:var(--ink); color:var(--text-on-ink); }
.redesigned.pg-home .panel-caption{ padding:14px 20px; font-size:12px; color:var(--text-on-ink-dim); border-top:1px solid var(--ink-line); }
@media (prefers-reduced-motion:no-preference){ .redesigned.pg-home .feed-rows{ transition:opacity .4s ease; } }

/* ---------- homepage feature sections (replaces old #product/#how/#docs) ---------- */
.redesigned.pg-home .feat-section{ padding:88px 0; border-bottom:1px solid var(--paper-line); }
.redesigned.pg-home .feat-section:last-of-type{ border-bottom:none; }
.redesigned.pg-home .feat-stack{ display:flex; flex-direction:column; gap:36px; }
.redesigned.pg-home .feat-copy{ max-width:80%; align-self:flex-start; }
.redesigned.pg-home .feat-visual{ width:100%; }
.redesigned.pg-home .feat-copy h2{ font-size:clamp(24px,2.6vw,32px); margin-top:0; }
.redesigned.pg-home .feat-copy p{ font-size:15.5px; color:var(--text-on-paper-dim); margin-top:14px; max-width:110ch; line-height:1.6; }
.redesigned.pg-home .feat-points{ list-style:none; margin:18px 0 0; padding:0; display:grid; gap:9px; }
.redesigned.pg-home .feat-points li{ font-size:14px; color:var(--text-on-paper-dim); display:flex; gap:10px; align-items:baseline; }
.redesigned.pg-home .feat-points li::before{ content:"\2014"; color:var(--accent); font-family:var(--font-mono); flex-shrink:0; }

/* shot-panel: illustrative "product screenshot" stand-in for carousel slides until real screenshots arrive */
.redesigned.pg-home .shot-panel{ border:1px solid var(--ink-line); border-radius:var(--radius); overflow:hidden; }
.redesigned.pg-home .shot-panel:not(:has(img)){ background:var(--ink-soft); }
.redesigned.pg-home .shot-top{ display:flex; justify-content:space-between; align-items:center; padding:14px 20px; border-bottom:1px solid var(--ink-line); font-family:var(--font-mono); font-size:12.5px; color:var(--text-on-ink); }
.redesigned.pg-home .shot-top .tag{ color:var(--steel); font-size:11px; }
.redesigned.pg-home .shot-row{ display:flex; align-items:center; gap:16px; padding:12px 20px; border-bottom:1px solid var(--ink-line); font-family:var(--font-mono); font-size:12.5px; color:var(--text-on-ink-dim); }
.redesigned.pg-home .shot-row:last-child{ border-bottom:none; }
.redesigned.pg-home .shot-row .strong{ color:var(--text-on-ink); }
.redesigned.pg-home .shot-row .grow{ flex:1 1 auto; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.redesigned.pg-home .shot-row .end{ margin-left:auto; }
.redesigned.pg-home .shot-pill{ font-family:var(--font-mono); font-size:10.5px; text-transform:uppercase; letter-spacing:0.05em; padding:3px 10px; border-radius:999px; flex-shrink:0; }
.redesigned.pg-home .shot-pill.deny{ background:rgba(255,110,142,0.14); color:var(--deny); }
.redesigned.pg-home .shot-pill.allow{ background:rgba(74,222,110,0.14); color:var(--allow-dark); }
.redesigned.pg-home .shot-pill.warn{ background:rgba(255,206,172,0.18); color:var(--peach); }
.redesigned.pg-home .shot-kpis{ display:grid; grid-template-columns:repeat(3,1fr); border-bottom:1px solid var(--ink-line); }
.redesigned.pg-home .shot-kpi{ padding:18px 20px; border-left:1px solid var(--ink-line); }
.redesigned.pg-home .shot-kpi:first-child{ border-left:none; }
.redesigned.pg-home .shot-kpi .label{ font-family:var(--font-mono); font-size:10px; text-transform:uppercase; letter-spacing:0.06em; color:var(--steel); }
.redesigned.pg-home .shot-kpi .value{ font-size:22px; font-family:var(--font-display); font-weight:800; color:var(--text-on-ink); margin-top:6px; letter-spacing:-0.01em; }
.redesigned.pg-home .shot-grade{ display:flex; align-items:center; gap:22px; padding:26px 24px; border-bottom:1px solid var(--ink-line); }
.redesigned.pg-home .shot-grade .letter{ font-family:var(--font-display); font-weight:800; font-size:52px; color:var(--ember); line-height:1; }
.redesigned.pg-home .shot-grade .meta p{ font-size:12.5px; color:var(--text-on-ink-dim); margin:0; max-width:32ch; }
.redesigned.pg-home .shot-grade .meta .chips{ display:flex; flex-wrap:wrap; gap:7px; margin-top:10px; }
.redesigned.pg-home .shot-code pre{ margin:0; padding:20px; font-family:var(--font-mono); font-size:12px; line-height:1.7; color:var(--text-on-ink-dim); overflow-x:auto; }
.redesigned.pg-home .shot-code pre .k{ color:#8fd6ff; }
.redesigned.pg-home .shot-code pre .s{ color:var(--allow-dark); }
.redesigned.pg-home .shot-code pre .c{ color:var(--steel); }
.redesigned.pg-home .shot-matrix{ padding:18px 20px; }
.redesigned.pg-home .shot-matrix table{ width:100%; border-collapse:collapse; font-family:var(--font-mono); font-size:11.5px; }
.redesigned.pg-home .shot-matrix th{ text-align:left; padding:8px 6px; color:var(--steel); font-weight:500; text-transform:uppercase; font-size:10px; letter-spacing:0.05em; border-bottom:1px solid var(--ink-line); }
.redesigned.pg-home .shot-matrix td{ padding:9px 6px; border-bottom:1px solid var(--ink-line); color:var(--text-on-ink-dim); }
.redesigned.pg-home .shot-matrix td.name{ color:var(--text-on-ink); }
.redesigned.pg-home .shot-matrix td.check{ text-align:center; color:var(--allow-dark); }
.redesigned.pg-home .shot-matrix tr:last-child td{ border-bottom:none; }
.redesigned.pg-home .shot-caption{ padding:11px 20px; font-size:11px; color:var(--text-on-ink-dim); border-top:1px solid var(--ink-line); }

.redesigned.pg-product .page-hero{ padding:64px 0 8px; }
.redesigned.pg-product .page-hero-inner{ max-width:680px; }
.redesigned.pg-product .page-hero h1{ font-size:clamp(34px,4.4vw,50px); margin-top:18px;  font-weight:300; letter-spacing:-0.02em; }
.redesigned.pg-product .page-hero p{ font-size:17px; color:var(--text-on-paper-dim); margin-top:18px; max-width:56ch; }
.redesigned.pg-product section{ padding:88px 0; }
.redesigned.pg-product section.on-ink{ background:var(--ink); color:var(--text-on-ink); }
.redesigned.pg-product .section-head{ max-width:640px; margin-bottom:48px; }
.redesigned.pg-product .section-head h2{ font-size:clamp(26px,3vw,36px); }
.redesigned.pg-product .section-head p{ font-size:16px; color:var(--text-on-paper-dim); margin-top:14px; }
.redesigned.pg-product section.on-ink .section-head p{ color:var(--text-on-ink-dim); }
.redesigned.pg-product .feat-grid{ border-top:1px solid var(--paper-line); }
.redesigned.pg-product .feat{ display:grid; grid-template-columns:230px 1fr; gap:32px; padding:24px 4px; border-bottom:1px solid var(--paper-line); align-items:baseline; }
.redesigned.pg-product .feat .num{ font-family:var(--font-mono); font-size:11px; color:var(--steel-dim); margin-right:8px; }
.redesigned.pg-product .feat h3{ font-size:16px; font-weight:700; letter-spacing:-0.01em; display:inline; }
.redesigned.pg-product .feat p{ font-size:14px; color:var(--text-on-paper-dim); line-height:1.55; }
@media (max-width:760px){ .redesigned.pg-product .feat{ grid-template-columns:1fr; gap:8px; } }
.redesigned.pg-product .pipeline{ display:flex; align-items:stretch; gap:0; overflow-x:auto; padding-bottom:6px; }
.redesigned.pg-product .pipe-step{ flex:1 0 176px; position:relative; padding:22px 20px 22px 0; }
.redesigned.pg-product .pipe-step:not(:last-child)::after{ content:"\2192"; position:absolute; right:-2px; top:26px; color:var(--steel-dim); font-family:var(--font-mono); font-size:15px; }
.redesigned.pg-product .pipe-num{ font-family:var(--font-mono); font-size:11px; color:var(--accent); letter-spacing:0.08em; }
.redesigned.pg-product .pipe-step h3{ font-size:15.5px; margin-top:10px; font-weight:700; letter-spacing:-0.01em; }
.redesigned.pg-product .pipe-step p{ font-size:13px; color:var(--text-on-paper-dim); margin-top:8px; line-height:1.45; }
.redesigned.pg-product .pipe-step.deny h3{ color:var(--deny-light); }
.redesigned.pg-product .pipe-step.allow h3{ color:var(--allow-light); }
.redesigned.pg-product .diagram{ display:grid; grid-template-columns:1fr auto 1fr; gap:18px; align-items:center; margin-top:8px; }
.redesigned.pg-product .diagram .arrow{ font-family:var(--font-mono); color:var(--steel); font-size:20px; text-align:center; }
.redesigned.pg-product .diag-box{ border:1px solid var(--ink-line); border-radius:20px; padding:20px; background:var(--ink-soft); }
.redesigned.pg-product .diag-box .tag{ font-family:var(--font-mono); font-size:10.5px; letter-spacing:0.08em; text-transform:uppercase; color:var(--steel); }
.redesigned.pg-product .diag-box .label{ font-size:15px; font-weight:700; margin-top:8px; color:var(--text-on-ink); }
.redesigned.pg-product .diag-box.host{ border-color:var(--ember); position:relative; }
.redesigned.pg-product .diag-box.host::before{ content:"your infrastructure"; position:absolute; top:-11px; left:16px; background:var(--ink); color:var(--ember); font-family:var(--font-mono); font-size:10px; letter-spacing:0.08em; text-transform:uppercase; padding:0 8px; }
.redesigned.pg-product .diag-inner{ display:grid; gap:8px; margin-top:12px; }
.redesigned.pg-product .diag-chip{ font-family:var(--font-mono); font-size:11.5px; color:var(--text-on-ink-dim); border:1px solid var(--ink-line); border-radius:999px; padding:8px 12px; }
@media (max-width:760px){ .redesigned.pg-product .diagram{ grid-template-columns:1fr; } .redesigned.pg-product .diagram .arrow{ transform:rotate(90deg); } }
.redesigned.pg-product .rule-grid{ display:grid; grid-template-columns:1fr 1fr; gap:40px; align-items:start; margin-top:8px; }
@media (max-width:880px){ .redesigned.pg-product .rule-grid{ grid-template-columns:1fr; } }
.redesigned.pg-product .rule-list{ list-style:none; margin:0; padding:0; display:grid; gap:2px; }
.redesigned.pg-product .rule-list li{ padding:16px 0; border-bottom:1px solid var(--paper-line); cursor:default; }
.redesigned.pg-product .rule-list li:first-child{ padding-top:0; }
.redesigned.pg-product .rule-list .rname{ font-weight:700; font-size:15px; display:flex; align-items:center; gap:10px; }
.redesigned.pg-product .rule-list .rname .dot{ width:6px; height:6px; background:var(--accent); border-radius:1px; flex-shrink:0; }
.redesigned.pg-product .rule-list .rdesc{ font-size:13.5px; color:var(--text-on-paper-dim); margin-top:6px; margin-left:16px; }
.redesigned.pg-product .code-block{ background:var(--ink); border:1px solid var(--ink-line); border-radius:20px; overflow:hidden; }
.redesigned.pg-product .code-head{ padding:11px 16px; border-bottom:1px solid var(--ink-line); font-family:var(--font-mono); font-size:11px; color:var(--steel); }
.redesigned.pg-product pre{ margin:0; padding:20px; font-family:var(--font-mono); font-size:12.5px; line-height:1.7; color:var(--text-on-ink-dim); overflow-x:auto; }
.redesigned.pg-product pre .k{ color:#8fd6ff; }
.redesigned.pg-product pre .s{ color:var(--allow-dark); }
.redesigned.pg-product pre .c{ color:var(--steel); }
.redesigned.pg-product .panel-mock{ border:1px solid var(--ink-line); border-radius:20px; background:var(--ink-soft); margin-top:8px; overflow:hidden; }
.redesigned.pg-product .panel-topbar{ display:flex; justify-content:space-between; align-items:center; padding:14px 20px; border-bottom:1px solid var(--ink-line); }
.redesigned.pg-product .panel-topbar .site{ font-family:var(--font-mono); font-size:13px; color:var(--text-on-ink); }
.redesigned.pg-product .rule-editor{ display:grid; grid-template-columns:200px 1fr; }
@media (max-width:700px){ .redesigned.pg-product .rule-editor{ grid-template-columns:1fr; } }
.redesigned.pg-product .editor-nav{ border-right:1px solid var(--ink-line); padding:16px 0; }
@media (max-width:700px){ .redesigned.pg-product .editor-nav{ border-right:none; border-bottom:1px solid var(--ink-line); display:flex; overflow-x:auto; } }
.redesigned.pg-product .editor-nav a{ display:block; padding:10px 20px; font-family:var(--font-mono); font-size:12.5px; color:var(--text-on-ink-dim); white-space:nowrap; }
.redesigned.pg-product .editor-nav a.active{ color:var(--ember); background:rgba(226,244,0,0.08); border-right:2px solid var(--ember); }
.redesigned.pg-product .editor-body{ padding:22px 24px; }
.redesigned.pg-product .editor-row{ display:grid; grid-template-columns:110px 1fr 90px; gap:14px; align-items:center; padding:11px 0; border-bottom:1px solid var(--ink-line); font-family:var(--font-mono); font-size:12.5px; color:var(--text-on-ink-dim); }
.redesigned.pg-product .editor-row:last-child{ border-bottom:none; }
.redesigned.pg-product .editor-row .field{ color:var(--text-on-ink); }
.redesigned.pg-product .pill{ font-family:var(--font-mono); font-size:10.5px; letter-spacing:0.05em; text-transform:uppercase; padding:3px 10px; border-radius:999px; justify-self:start; }
.redesigned.pg-product .pill.deny{ background:rgba(255,110,142,0.14); color:var(--deny); }
.redesigned.pg-product .pill.allow{ background:rgba(74,222,110,0.14); color:var(--allow-dark); }
.redesigned.pg-pricing .page-hero{ padding:64px 0 56px; text-align:center; }
.redesigned.pg-pricing .page-hero h1{ font-size:clamp(34px,4.4vw,50px);  font-weight:300; letter-spacing:-0.02em; }
.redesigned.pg-pricing .page-hero p{ font-size:17px; color:var(--text-on-paper-dim); max-width:52ch; margin:18px auto 0; }
.redesigned.pg-pricing .price-wrap{ padding-bottom:96px; }
.redesigned.pg-pricing .price-card{ max-width:640px; margin:0 auto; background:var(--ink); color:var(--text-on-ink); border-radius:20px; border:1px solid var(--ink-line); overflow:hidden; }
.redesigned.pg-pricing .price-top{ padding:40px 40px 32px; border-bottom:1px solid var(--ink-line); }
.redesigned.pg-pricing .price-top .plan{ font-family:var(--font-mono); font-size:12.5px; letter-spacing:0.1em; text-transform:uppercase; color:var(--steel); }
.redesigned.pg-pricing .price-top .amount{ display:flex; align-items:baseline; gap:8px; margin-top:14px; }
.redesigned.pg-pricing .price-top .amount .num{ font-size:56px; font-family:var(--font-display); font-weight:800; letter-spacing:-0.02em; }
.redesigned.pg-pricing .price-top .amount .per{ font-family:var(--font-mono); font-size:14px; color:var(--text-on-ink-dim); }
.redesigned.pg-pricing .price-top p.note{ margin-top:10px; color:var(--text-on-ink-dim); font-size:14.5px; }
.redesigned.pg-pricing .price-top .btn{ margin-top:24px; width:100%; justify-content:center; }
.redesigned.pg-pricing .price-list{ list-style:none; margin:0; padding:28px 40px 36px; display:grid; gap:14px; }
.redesigned.pg-pricing .price-list li{ display:flex; gap:12px; font-size:14.5px; color:var(--text-on-ink-dim); align-items:flex-start; }
.redesigned.pg-pricing .price-list li::before{ content:"\2014"; color:var(--ember); font-family:var(--font-mono); flex-shrink:0; }
.redesigned.pg-pricing .price-foot{ padding:18px 40px; background:var(--ink-soft); font-family:var(--font-mono); font-size:12px; color:var(--steel); text-align:center; }
.redesigned.pg-pricing section.compare{ padding:0 0 96px; }
.redesigned.pg-pricing .section-head{ max-width:640px; margin:0 auto 44px; text-align:center; }
.redesigned.pg-pricing .section-head h2{ font-size:clamp(26px,3vw,34px); }
.redesigned.pg-pricing .section-head p{ font-size:16px; color:var(--text-on-paper-dim); margin-top:14px; }
.redesigned.pg-pricing .cmp-table{ max-width:900px; margin:0 auto; border:1px solid var(--paper-line); border-radius:20px; overflow:hidden; background:#fff; }
.redesigned.pg-pricing .cmp-row{ display:grid; grid-template-columns:1.3fr 1fr 1fr; border-top:1px solid var(--paper-line); }
.redesigned.pg-pricing .cmp-row:first-child{ border-top:none; background:var(--ink); color:var(--text-on-ink); font-family:var(--font-mono); font-size:11.5px; text-transform:uppercase; letter-spacing:0.06em; }
.redesigned.pg-pricing .cmp-row:first-child > div{ padding:14px 20px; }
.redesigned.pg-pricing .cmp-row:not(:first-child) > div{ padding:16px 20px; font-size:14.5px; border-left:1px solid var(--paper-line); }
.redesigned.pg-pricing .cmp-row:not(:first-child) > div:first-child{ border-left:none; color:var(--text-on-paper); font-weight:600; }
.redesigned.pg-pricing .cmp-row .no{ color:var(--deny-light); font-family:var(--font-mono); font-size:13px; }
.redesigned.pg-pricing .cmp-row .yes{ color:var(--allow-light); font-family:var(--font-mono); font-size:13px; }
@media (max-width:700px){ .redesigned.pg-pricing .cmp-table{ overflow-x:auto; } .redesigned.pg-pricing .cmp-row{ min-width:560px; } }
.redesigned.pg-pricing section.faq{ padding:0 0 96px; }
.redesigned.pg-pricing .faq-list{ max-width:760px; margin:0 auto; border-top:1px solid var(--paper-line); }
.redesigned.pg-pricing .faq-item{ border-bottom:1px solid var(--paper-line); }
.redesigned.pg-pricing .faq-item summary{ list-style:none; cursor:pointer; padding:22px 4px; display:flex; justify-content:space-between; align-items:center; gap:20px; font-size:16px; font-weight:700; letter-spacing:-0.01em; }
.redesigned.pg-pricing .faq-item summary::-webkit-details-marker{ display:none; }
.redesigned.pg-pricing .faq-item summary .plus{ font-family:var(--font-mono); font-size:20px; font-weight:400; color:var(--accent); flex-shrink:0; transition:transform .15s ease; }
.redesigned.pg-pricing .faq-item[open] summary .plus{ transform:rotate(45deg); }
.redesigned.pg-pricing .faq-item p{ font-size:14.5px; color:var(--text-on-paper-dim); margin:0 0 22px; padding:0 4px; max-width:64ch; }
.redesigned.pg-docs .page-hero{ padding:60px 0 44px; text-align:center; }
.redesigned.pg-docs .page-hero h1{ font-size:clamp(32px,4.2vw,46px);  font-weight:300; letter-spacing:-0.02em; }
.redesigned.pg-docs .page-hero p{ font-size:16.5px; color:var(--text-on-paper-dim); max-width:52ch; margin:16px auto 0; }
.redesigned.pg-docs .search{ max-width:480px; margin:28px auto 0; position:relative; }
.redesigned.pg-docs .search input{ width:100%; font-family:var(--font-mono); font-size:14px; padding:14px 16px 14px 40px; border:1px solid var(--paper-line); border-radius:999px; background:#fff; color:var(--text-on-paper); }
.redesigned.pg-docs .search input::placeholder{ color:var(--steel); }
.redesigned.pg-docs .search::before{ content:"\2315"; position:absolute; left:15px; top:50%; transform:translateY(-50%); color:var(--steel); font-size:16px; }
.redesigned.pg-docs .sr-only{ position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.redesigned.pg-docs section{ padding:20px 0 88px; }
.redesigned.pg-docs .cat-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:18px; }
@media (max-width:960px){ .redesigned.pg-docs .cat-grid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:560px){ .redesigned.pg-docs .cat-grid{ grid-template-columns:1fr; } }
.redesigned.pg-docs .cat{ background:#fff; border:1px solid var(--paper-line); border-radius:16px; padding:24px 22px; display:block; transition:border-color .15s ease; }
.redesigned.pg-docs .cat:hover{ border-color:var(--steel); }
.redesigned.pg-docs .cat .glyph{ width:36px; height:36px; border-radius:9px; display:flex; align-items:center; justify-content:center; font-family:var(--font-mono); font-size:13px; }
.redesigned.pg-docs .cat:nth-child(4n+1) .glyph{ background:rgba(226,244,0,0.35); color:#4d5200; }
.redesigned.pg-docs .cat:nth-child(4n+2) .glyph{ background:var(--sky); color:#0d2a45; }
.redesigned.pg-docs .cat:nth-child(4n+3) .glyph{ background:var(--peach); color:#5c2c10; }
.redesigned.pg-docs .cat:nth-child(4n+4) .glyph{ background:#e3ded0; color:var(--text-on-paper); }
.redesigned.pg-docs .cat h3{ font-size:15.5px; margin-top:16px; font-weight:700; letter-spacing:-0.01em; }
.redesigned.pg-docs .cat p{ font-size:13px; color:var(--text-on-paper-dim); margin-top:7px; line-height:1.45; }
.redesigned.pg-docs .quickstart{ margin-top:88px; display:grid; grid-template-columns:0.85fr 1fr; gap:48px; align-items:start; background:var(--peach); border-radius:24px; padding:44px; }
@media (max-width:880px){ .redesigned.pg-docs .quickstart{ grid-template-columns:1fr; } }
.redesigned.pg-docs .quickstart h2{ font-size:clamp(24px,2.8vw,32px); }
.redesigned.pg-docs .quickstart p{ font-size:15.5px; color:#5c2c10; margin-top:14px; max-width:44ch; }
.redesigned.pg-docs .popular h2{ font-size:clamp(24px,2.8vw,32px); margin-bottom:20px; }
.redesigned.pg-docs .code-block{ background:var(--ink); border:1px solid var(--ink-line); border-radius:20px; overflow:hidden; }
.redesigned.pg-docs .code-head{ padding:11px 16px; border-bottom:1px solid var(--ink-line); font-family:var(--font-mono); font-size:11px; color:var(--steel); display:flex; justify-content:space-between; }
.redesigned.pg-docs pre{ margin:0; padding:20px; font-family:var(--font-mono); font-size:12.5px; line-height:1.8; color:var(--text-on-ink-dim); overflow-x:auto; }
.redesigned.pg-docs pre .c{ color:var(--steel); }
.redesigned.pg-docs pre .p{ color:var(--allow-dark); }
.redesigned.pg-docs .cat-heading{ font-size:20px; margin-bottom:20px; }
.redesigned.pg-docs .popular{ margin-top:88px; }
.redesigned.pg-docs .pop-list{ list-style:none; margin:0; padding:0; border-top:1px solid var(--paper-line); }
.redesigned.pg-docs .pop-list li{ display:flex; justify-content:space-between; align-items:center; gap:20px; padding:16px 0; border-bottom:1px solid var(--paper-line); font-size:15px; }
.redesigned.pg-docs .pop-list li span.tag{ font-family:var(--font-mono); font-size:11px; color:var(--steel); flex-shrink:0; }
.redesigned.pg-docs-guide .page-hero{ padding:60px 0 44px; text-align:center; }
.redesigned.pg-docs-guide .page-hero h1{ font-size:clamp(32px,4.2vw,46px); font-weight:300; letter-spacing:-0.02em; }
.redesigned.pg-docs-guide .page-hero p{ font-size:16.5px; color:var(--text-on-paper-dim); max-width:56ch; margin:16px auto 0; }
.redesigned.pg-docs-guide .guide-shell{ padding:8px 0 96px; }
.redesigned.pg-docs-guide .guide-grid{ display:grid; grid-template-columns:220px 1fr; gap:56px; align-items:start; }
@media (max-width:820px){ .redesigned.pg-docs-guide .guide-grid{ grid-template-columns:1fr; } }
.redesigned.pg-docs-guide .guide-toc{ position:sticky; top:96px; display:flex; flex-direction:column; border-top:1px solid var(--paper-line); }
@media (max-width:820px){ .redesigned.pg-docs-guide .guide-toc{ position:static; flex-direction:row; flex-wrap:wrap; border-top:none; gap:4px 18px; } }
.redesigned.pg-docs-guide .guide-toc a{ padding:11px 4px; font-size:14px; color:var(--text-on-paper-dim); border-bottom:1px solid var(--paper-line); }
@media (max-width:820px){ .redesigned.pg-docs-guide .guide-toc a{ border-bottom:none; padding:4px 0; } }
.redesigned.pg-docs-guide .guide-toc a:hover{ color:var(--text-on-paper); }
.redesigned.pg-docs-guide .guide-section{ padding-bottom:56px; border-bottom:1px solid var(--paper-line); margin-bottom:56px; }
.redesigned.pg-docs-guide .guide-section:last-child{ border-bottom:none; margin-bottom:0; padding-bottom:0; }
.redesigned.pg-docs-guide .guide-kicker{ font-family:var(--font-mono); font-size:11.5px; letter-spacing:0.08em; color:var(--accent); }
.redesigned.pg-docs-guide .guide-section h2{ font-size:clamp(22px,2.6vw,28px); margin-top:8px; }
.redesigned.pg-docs-guide .guide-section p{ font-size:15.5px; color:var(--text-on-paper-dim); margin-top:14px; max-width:68ch; line-height:1.6; }
.redesigned.pg-docs-guide .guide-section ul{ margin:14px 0 0; padding-left:20px; }
.redesigned.pg-docs-guide .guide-section li{ font-size:15px; color:var(--text-on-paper-dim); margin-top:8px; max-width:64ch; line-height:1.55; }
.redesigned.pg-docs-guide .guide-section li b{ color:var(--text-on-paper); }
.redesigned.pg-docs-guide .guide-callout{ margin-top:18px; background:var(--paper-raised); border:1px solid var(--paper-line); border-radius:16px; padding:16px 20px; font-size:14.5px; color:var(--text-on-paper-dim); max-width:64ch; }
.redesigned.pg-docs-guide .guide-callout b{ color:var(--text-on-paper); }
.redesigned.pg-support .page-hero{ padding:64px 0 8px; text-align:center; }
.redesigned.pg-support .page-hero h1{ font-size:clamp(34px,4.4vw,50px); margin-top:18px;  font-weight:300; letter-spacing:-0.02em; }
.redesigned.pg-support .page-hero p{ font-size:17px; color:var(--text-on-paper-dim); max-width:52ch; margin:18px auto 0; }
.redesigned.pg-support section{ padding:56px 0; }
.redesigned.pg-support .section-head{ max-width:640px; margin:0 auto 40px; text-align:center; }
.redesigned.pg-support .section-head h2{ font-size:clamp(24px,2.8vw,32px); }
.redesigned.pg-support .section-head p{ font-size:15.5px; color:var(--text-on-paper-dim); margin-top:12px; }
.redesigned.pg-support .section-heading{ text-align:center; font-size:20px; margin-bottom:24px; }
.redesigned.pg-support .channel-list{ border-top:1px solid var(--paper-line); }
.redesigned.pg-support .channel-row{ display:grid; grid-template-columns:52px 1fr auto; gap:24px; align-items:center; padding:28px 4px; border-bottom:1px solid var(--paper-line); }
.redesigned.pg-support .channel-row .glyph{ width:44px; height:44px; border-radius:50%; background:var(--ink); color:var(--ember); display:flex; align-items:center; justify-content:center; font-size:17px; flex-shrink:0; }
.redesigned.pg-support .channel-row h3{ font-size:17px; font-weight:700; letter-spacing:-0.01em; }
.redesigned.pg-support .channel-row p{ font-size:14px; color:var(--text-on-paper-dim); margin-top:6px; max-width:52ch; }
.redesigned.pg-support .channel-row .meta{ font-family:var(--font-mono); font-size:11.5px; color:var(--text-on-paper-dim); margin-top:10px; display:block; }
.redesigned.pg-support .channel-row a.go{ font-size:14px; font-weight:700; color:var(--accent); white-space:nowrap; }
@media (max-width:700px){ .redesigned.pg-support .channel-row{ grid-template-columns:44px 1fr; } .redesigned.pg-support .channel-row a.go{ grid-column:2; margin-top:6px; } }
.redesigned.pg-support .status-wrap{ margin-top:8px; border:1px solid var(--paper-line); border-radius:20px; overflow:hidden; background:#fff; }
.redesigned.pg-support .status-head{ display:flex; justify-content:space-between; align-items:center; padding:16px 22px; border-bottom:1px solid var(--paper-line); }
.redesigned.pg-support .status-head .all-ok{ display:flex; align-items:center; gap:8px; font-family:var(--font-mono); font-size:12.5px; color:var(--allow-light); }
.redesigned.pg-support .status-head .all-ok::before{ content:""; width:7px; height:7px; background:var(--allow-light); border-radius:50%; }
.redesigned.pg-support .status-row{ display:flex; justify-content:space-between; align-items:center; padding:14px 22px; border-bottom:1px solid var(--paper-line); font-size:14.5px; }
.redesigned.pg-support .status-row:last-child{ border-bottom:none; }
.redesigned.pg-support .status-pill{ font-family:var(--font-mono); font-size:11px; letter-spacing:0.05em; text-transform:uppercase; color:var(--allow-light); background:rgba(13,122,31,0.1); padding:4px 10px; border-radius:999px; }
.redesigned.pg-support .faq-list{ max-width:760px; margin:8px auto 0; border-top:1px solid var(--paper-line); }
.redesigned.pg-support .faq-item{ border-bottom:1px solid var(--paper-line); }
.redesigned.pg-support .faq-item summary{ list-style:none; cursor:pointer; padding:22px 4px; display:flex; justify-content:space-between; align-items:center; gap:20px; font-size:16px; font-weight:700; letter-spacing:-0.01em; }
.redesigned.pg-support .faq-item summary::-webkit-details-marker{ display:none; }
.redesigned.pg-support .faq-item summary .plus{ font-family:var(--font-mono); font-size:20px; font-weight:400; color:var(--accent); flex-shrink:0; transition:transform .15s ease; }
.redesigned.pg-support .faq-item[open] summary .plus{ transform:rotate(45deg); }
.redesigned.pg-support .faq-item p{ font-size:14.5px; color:var(--text-on-paper-dim); margin:0 0 22px; padding:0 4px; max-width:64ch; }
.redesigned.pg-support .ticket-wrap{ max-width:640px; margin:0 auto; }
.redesigned.pg-support .ticket-card{ background:#fff; border:1px solid var(--paper-line); border-radius:20px; padding:32px; }
.redesigned.pg-support .ticket-card .form-message{ border-radius:12px; padding:12px 16px; font-size:14px; margin-bottom:20px; }
.redesigned.pg-support .ticket-card .form-message.success{ background:rgba(24,154,42,0.1); color:var(--allow-light); }
.redesigned.pg-support .ticket-card .form-message.error{ background:rgba(200,30,74,0.1); color:var(--deny-light); }
.redesigned.pg-support .field-row{ display:grid; grid-template-columns:1fr 1fr; gap:16px; }
@media (max-width:560px){ .redesigned.pg-support .field-row{ grid-template-columns:1fr; } }
.redesigned.pg-support .field{ margin-top:16px; }
.redesigned.pg-support .field:first-child, .redesigned.pg-support .field-row .field{ margin-top:0; }
.redesigned.pg-support .field label{ display:block; font-family:var(--font-mono); font-size:12px; letter-spacing:0.04em; text-transform:uppercase; color:var(--text-on-paper-dim); margin-bottom:6px; }
.redesigned.pg-support .field input, .redesigned.pg-support .field select, .redesigned.pg-support .field textarea{ width:100%; font-family:var(--font-body); font-size:15px; color:var(--text-on-paper); padding:12px 14px; border:1px solid var(--paper-line); border-radius:12px; background:var(--paper); }
.redesigned.pg-support .field textarea{ min-height:120px; resize:vertical; }
.redesigned.pg-support .form-submit{ margin-top:22px; width:100%; justify-content:center; }

/* ---------- old marketing.css bleed-through fixes ----------
   marketing.css stays linked (untouched pages still need it) and defines several of
   the same bare class/element names used by the new design with different property
   sets. CSS cascade resolves per-property, so any property the old stylesheet sets
   that a .redesigned rule above doesn't explicitly re-set can still leak through.
   These rules close that gap for every case found to have real visual impact.
   Note: the .btn background/color/weight/transition bleed-through fix now lives
   directly in the base .redesigned .btn rule above, not here — as a standalone
   rule at this equal specificity it was declared after (and so silently beat)
   .btn-ember/.btn-ghost-*, stripping every button's fill, text weight, and
   hover transition. */
.redesigned .brand{ color:inherit; text-decoration:none; }
.redesigned.pg-home .hero{ display:block; }
.redesigned.pg-pricing .faq-item, .redesigned.pg-support .faq-item{ background:none; }
.redesigned.pg-pricing .faq-item p, .redesigned.pg-support .faq-item p{ line-height:1.5; }
.redesigned.pg-support .field{ margin-bottom:0; }
.redesigned.pg-support .field select{ cursor:pointer; }
.redesigned.pg-product .pill{ display:inline-block; font-weight:700; }
.redesigned footer{ display:block; font-family:var(--font-body); font-size:16px; }
.redesigned .navlinks{ font-size:inherit; }
.redesigned nav{ position:static; z-index:auto; background:none; backdrop-filter:none; border-bottom:none; }
.redesigned .page-hero{ border-bottom:none; }
.redesigned.pg-pricing .faq-list, .redesigned.pg-support .faq-list{ display:block; background:none; border-left:none; border-right:none; border-bottom:none; }
.redesigned.pg-pricing .faq-item summary::after, .redesigned.pg-support .faq-item summary::after{ content:none; }

/* ---------- account area sub-nav (shared: dashboard, account, billing history) ---------- */
.redesigned .subnav{ border-bottom:1px solid var(--paper-line); margin-bottom:8px; }
.redesigned .subnav .container{ display:flex; gap:4px; }
.redesigned .subnav a{ padding:14px 18px; font-family:var(--font-mono); font-size:12.5px; text-transform:uppercase; letter-spacing:0.05em; color:var(--text-on-paper-dim); text-decoration:none; border-bottom:2px solid transparent; }
.redesigned .subnav a:hover{ color:var(--text-on-paper); }
.redesigned .subnav a[aria-current]{ color:var(--text-on-paper); border-bottom-color:var(--accent); font-weight:700; }

/* ---------- dashboard ---------- */
.redesigned.pg-dashboard .page-hero{ padding:64px 0 32px; text-align:left; border-bottom:none; }
.redesigned.pg-dashboard .page-hero h1{ font-size:clamp(30px,3.6vw,42px); font-weight:300; letter-spacing:-0.02em; }
.redesigned.pg-dashboard .page-hero .dek{ font-size:15.5px; line-height:1.5; color:var(--text-on-paper-dim); max-width:56ch; margin:14px 0 0; text-align:left; }
.redesigned.pg-dashboard .form-message{ margin:20px 0 0; padding:12px 16px; border:none; border-radius:12px; font-size:14px; }
.redesigned.pg-dashboard .form-message.error{ background:rgba(200,30,74,0.1); color:var(--deny-light); }
.redesigned.pg-dashboard .form-message.success{ background:rgba(24,154,42,0.1); color:var(--allow-light); }
.redesigned.pg-dashboard .processing-banner{ margin:20px 0 0; display:flex; align-items:center; gap:12px; padding:14px 18px; border:1px solid var(--paper-line); border-radius:12px; background:var(--paper-raised); font-size:14px; color:var(--text-on-paper-dim); }
.redesigned.pg-dashboard .spinner{ width:16px; height:16px; flex-shrink:0; border-radius:50%; border:2px solid var(--paper-line); border-top-color:var(--accent); animation:redesigned-spin .7s linear infinite; }
@keyframes redesigned-spin{ to{ transform:rotate(360deg); } }
.redesigned.pg-dashboard .licenses{ padding:8px 0 96px; }
.redesigned.pg-dashboard .licenses > p{ font-size:15px; color:var(--text-on-paper-dim); }
.redesigned.pg-dashboard .plan-card{ background:#fff; border:1px solid var(--paper-line); border-radius:var(--radius); padding:28px 32px; margin:0 0 20px; text-align:left; }
.redesigned.pg-dashboard .plan-name{ font-family:var(--font-mono); font-size:12.5px; letter-spacing:0.06em; text-transform:uppercase; color:var(--accent); margin:0 0 8px; }
.redesigned.pg-dashboard .plan-card p{ font-size:14.5px; color:var(--text-on-paper-dim); margin:0; }
.redesigned.pg-dashboard .plan-card .form-message{ margin-top:14px; }
.redesigned.pg-dashboard .cta-row{ display:flex; gap:12px; flex-wrap:wrap; margin-top:20px; }
.redesigned.pg-dashboard .cta-row .btn{ padding:12px 22px; font-size:13.5px; }
.redesigned.pg-dashboard form .btn{ padding:12px 22px; font-size:13.5px; }
.redesigned.pg-dashboard .billing-history-link{ margin:8px 0 0; font-size:14.5px; }
.redesigned.pg-dashboard .billing-history-link a{ color:var(--accent); font-weight:700; }
.redesigned.pg-dashboard .billing-history-link a:hover{ text-decoration:underline; }

/* ---------- billing checkout (subscribe / update-card, Stripe Elements) ---------- */
.redesigned.pg-checkout .auth-card{ max-width:460px; }
.redesigned.pg-checkout .field-row{ display:flex; gap:12px; margin:16px 0 0; }
.redesigned.pg-checkout .field-row .field{ flex:1; min-width:0; margin-top:0; }
.redesigned.pg-checkout .field-row .field.field-narrow{ flex:0 0 104px; }
@media (max-width:480px){ .redesigned.pg-checkout .field-row{ flex-direction:column; gap:0; } }
.redesigned.pg-checkout .stripe-field{ width:100%; background:var(--paper); border:1px solid var(--paper-line); border-radius:12px; padding:12px 14px; }
.redesigned.pg-checkout .stripe-field.StripeElement--focus{ border-color:var(--accent); }
.redesigned.pg-checkout .stripe-field.StripeElement--invalid{ border-color:var(--deny-light); }
.redesigned.pg-checkout .checkout-trust{ margin:14px 0 0; font-size:12px; color:var(--steel); text-align:center; line-height:1.5; }
.redesigned.pg-checkout .spinner{ display:inline-block; width:15px; height:15px; border-radius:50%; border:2px solid var(--paper-line); border-top-color:var(--accent); animation:redesigned-spin .7s linear infinite; vertical-align:middle; flex-shrink:0; }
.redesigned.pg-checkout .submit-spinner{ display:none; margin-left:8px; }
.redesigned.pg-checkout .submit-spinner.is-visible{ display:inline-block; }
.redesigned.pg-checkout .form-submit.is-loading{ opacity:.7; cursor:default; }

/* ---------- billing history ---------- */
.redesigned.pg-billing-history .page-hero{ padding:64px 0 32px; text-align:left; border-bottom:none; }
.redesigned.pg-billing-history .page-hero h1{ font-size:clamp(30px,3.6vw,42px); font-weight:300; letter-spacing:-0.02em; }
.redesigned.pg-billing-history .history-wrap{ padding:8px 0 96px; }
.redesigned.pg-billing-history .history-wrap > p{ font-size:15px; color:var(--text-on-paper-dim); }
.redesigned.pg-billing-history .proof-table-scroll{ border:1px solid var(--paper-line); border-radius:var(--radius); overflow:hidden; overflow-x:auto; }
.redesigned.pg-billing-history .proof-table{ width:100%; min-width:520px; border-collapse:collapse; font-family:var(--font-body); font-size:14px; background:#fff; border:none; border-radius:0; }
.redesigned.pg-billing-history .proof-table th{ background:var(--ink); color:var(--text-on-ink-dim); font-family:var(--font-mono); font-size:11px; text-transform:uppercase; letter-spacing:0.06em; text-align:left; padding:14px 20px; border-bottom:none; font-weight:600; }
.redesigned.pg-billing-history .proof-table td{ padding:14px 20px; color:var(--text-on-paper); border-bottom:1px solid var(--paper-line); font-family:var(--font-mono); font-size:13px; }
.redesigned.pg-billing-history .proof-table tr:last-child td{ border-bottom:none; }
.redesigned.pg-billing-history .back-link{ margin:24px 0 0; font-size:14.5px; }
.redesigned.pg-billing-history .back-link a{ color:var(--accent); font-weight:700; }
.redesigned.pg-billing-history .back-link a:hover{ text-decoration:underline; }

/* ---------- account (profile) ---------- */
.redesigned.pg-account .page-hero{ padding:64px 0 32px; text-align:left; border-bottom:none; }
.redesigned.pg-account .page-hero h1{ font-size:clamp(30px,3.6vw,42px); font-weight:300; letter-spacing:-0.02em; }
.redesigned.pg-account .page-hero .dek{ font-size:15.5px; line-height:1.5; color:var(--text-on-paper-dim); max-width:56ch; margin:14px 0 0; text-align:left; }
.redesigned.pg-account .account-wrap{ padding:8px 0 96px; }
.redesigned.pg-account .gate-banner{ background:rgba(232,84,42,0.08); border:1px solid var(--accent); border-radius:12px; padding:16px 20px; margin-bottom:24px; font-size:14px; color:var(--text-on-paper); max-width:560px; }
.redesigned.pg-account .gate-banner strong{ display:block; margin-bottom:4px; }
.redesigned.pg-account .form-message{ margin:0 0 20px; padding:12px 16px; border:none; border-radius:12px; font-size:14px; max-width:560px; }
.redesigned.pg-account .form-message.error{ background:rgba(200,30,74,0.1); color:var(--deny-light); }
.redesigned.pg-account .form-message.success{ background:rgba(24,154,42,0.1); color:var(--allow-light); }
.redesigned.pg-account .settings-card{ width:100%; max-width:560px; background:#fff; border:1px solid var(--paper-line); border-radius:var(--radius); padding:36px; }
.redesigned.pg-account .settings-card h2{ font-size:12.5px; text-transform:uppercase; letter-spacing:0.06em; font-family:var(--font-mono); color:var(--text-on-paper-dim); margin:28px 0 4px; }
.redesigned.pg-account .settings-card h2:first-of-type{ margin-top:0; }
.redesigned.pg-account .field{ margin:16px 0 0; }
.redesigned.pg-account .field:first-child{ margin-top:0; }
.redesigned.pg-account .field label{ display:block; font-family:var(--font-mono); font-size:12px; letter-spacing:0.04em; text-transform:uppercase; color:var(--text-on-paper-dim); margin:0 0 6px; }
.redesigned.pg-account .field input, .redesigned.pg-account .field select{ width:100%; font-family:var(--font-body); font-size:15px; color:var(--text-on-paper); background:var(--paper); border:1px solid var(--paper-line); border-radius:12px; padding:12px 14px; }
.redesigned.pg-account .field input:focus, .redesigned.pg-account .field select:focus{ outline:none; border-color:var(--accent); }
.redesigned.pg-account .field-row.cols-3{ display:grid; grid-template-columns:1.4fr 0.8fr 0.8fr; gap:14px; margin-top:16px; }
.redesigned.pg-account .field-row.cols-3 .field{ margin-top:0; }
@media (max-width:560px){ .redesigned.pg-account .field-row.cols-3{ grid-template-columns:1fr; } }
.redesigned.pg-account .optional-tag{ font-weight:400; text-transform:none; letter-spacing:0; color:var(--text-on-paper-dim); font-size:12px; }
.redesigned.pg-account .form-submit{ margin-top:28px; }

/* ---------- auth pages (register, login, forgot/reset password, verify) ---------- */
.redesigned.pg-auth .auth-shell{ padding:64px 0 96px; display:flex; justify-content:center; }
.redesigned.pg-auth .auth-card{ width:100%; max-width:420px; background:#fff; border:1px solid var(--paper-line); border-radius:var(--radius); padding:40px 36px; }
.redesigned.pg-auth .auth-card h1{ font-size:26px; margin:0 0 8px; }
.redesigned.pg-auth .dek{ font-size:14.5px; line-height:1.5; color:var(--text-on-paper-dim); max-width:none; margin:0 0 26px; }
.redesigned.pg-auth .field{ margin:16px 0 0; }
.redesigned.pg-auth .field:first-child{ margin-top:0; }
.redesigned.pg-auth .field label{ display:block; font-family:var(--font-mono); font-size:12px; letter-spacing:0.04em; text-transform:uppercase; color:var(--text-on-paper-dim); margin:0 0 6px; }
.redesigned.pg-auth .field input{ width:100%; font-family:var(--font-body); font-size:15px; color:var(--text-on-paper); background:var(--paper); border:1px solid var(--paper-line); border-radius:12px; padding:12px 14px; }
.redesigned.pg-auth .field input:focus{ outline:none; border-color:var(--accent); box-shadow:none; }
.redesigned.pg-auth .field input::placeholder{ color:var(--steel); }
.redesigned.pg-auth .form-submit{ width:100%; margin-top:22px; justify-content:center; }
.redesigned.pg-auth .form-message{ margin:0 0 20px; padding:12px 16px; border:none; border-radius:12px; font-size:14px; }
.redesigned.pg-auth .form-message.error{ background:rgba(200,30,74,0.1); color:var(--deny-light); }
.redesigned.pg-auth .form-message.success{ background:rgba(24,154,42,0.1); color:var(--allow-light); }
.redesigned.pg-auth .auth-alt{ margin-top:22px; text-align:center; font-size:13.5px; color:var(--text-on-paper-dim); }
.redesigned.pg-auth .auth-alt a{ color:var(--accent); font-weight:700; text-decoration:none; }
.redesigned.pg-auth .auth-alt a:hover{ text-decoration:underline; }
.redesigned.pg-auth .license-code{ margin:0 0 20px; padding:16px; background:var(--paper); border:1px solid var(--paper-line); border-radius:12px; text-align:center; }
.redesigned.pg-auth .license-code-label{ display:block; font-family:var(--font-mono); font-size:11px; letter-spacing:0.06em; text-transform:uppercase; color:var(--text-on-paper-dim); margin:0 0 8px; }
.redesigned.pg-auth .license-code code{ display:block; font-family:var(--font-mono); font-size:18px; font-weight:600; color:var(--text-on-paper); word-break:break-all; }
.redesigned.pg-auth .license-code-note{ margin:10px 0 0; font-size:12.5px; color:var(--text-on-paper-dim); }

/* ---------- feature carousel (shared component: prev/next screenshot carousel) ---------- */
.redesigned .feature-carousel{ margin-top:8px; }
.redesigned .feature-carousel .carousel-viewport{ border-radius:var(--radius); overflow:hidden; }
.redesigned .feature-carousel .carousel-track{ display:flex; }
@media (prefers-reduced-motion:no-preference){ .redesigned .feature-carousel .carousel-track{ transition:transform .4s cubic-bezier(.4,0,.2,1); } }
.redesigned .feature-carousel .carousel-slide{ flex:0 0 100%; min-width:0; }
.redesigned .feature-carousel .carousel-slide img{ display:block; width:100%; height:auto; }
.redesigned .feature-carousel .carousel-nav{ display:flex; align-items:center; justify-content:space-between; gap:16px; margin-top:18px; }
.redesigned .feature-carousel.is-single .carousel-nav{ display:none; }
.redesigned .feature-carousel .carousel-arrows{ display:flex; gap:8px; }
.redesigned .feature-carousel .carousel-btn{ width:38px; height:38px; border-radius:50%; border:1px solid var(--paper-line); background:#fff; color:var(--text-on-paper); display:flex; align-items:center; justify-content:center; cursor:pointer; font-family:var(--font-mono); font-size:15px; line-height:1; padding:0; transition:border-color .15s ease, background-color .15s ease; }
.redesigned .feature-carousel .carousel-btn:hover{ border-color:var(--steel-dim); background:var(--paper-raised); }
.redesigned .feature-carousel .carousel-dots{ display:flex; gap:7px; align-items:center; }
.redesigned .feature-carousel .carousel-dot{ width:7px; height:7px; padding:0; border:none; border-radius:50%; background:var(--paper-line); cursor:pointer; }
.redesigned .feature-carousel .carousel-dot[aria-current="true"]{ background:var(--accent); width:18px; border-radius:4px; }
@media (prefers-reduced-motion:no-preference){ .redesigned .feature-carousel .carousel-dot{ transition:width .15s ease; } }
.redesigned .feature-carousel .carousel-count{ font-family:var(--font-mono); font-size:11.5px; color:var(--text-on-paper-dim); letter-spacing:0.04em; }
