
@font-face{font-family:'Archivo';font-style:normal;font-weight:400 800;font-stretch:100%;font-display:swap;src:url(/assets/fonts/archivo-v25-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:400 700;font-display:swap;src:url(/assets/fonts/jetbrainsmono-v24-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
*{box-sizing:border-box;margin:0}
:root{
  --bg:#FFFFFF;
  --bg2:#F4F6F9;
  --card:#FFFFFF;
  --border:#E4E7EC;
  --ink:#0B0D11;
  --muted:#5B6472;
  --accent:#C6FF3D;
  --accent-text:#4C6B05;
  --accent-ink:#0E0E0C;
  --dot:rgba(11,13,17,.16);
  --shadow:0 18px 40px -22px rgba(11,13,17,.32);
  --blend: multiply;
  --r-flat: 2px; --r-chip: 14px; --r-card: 18px; --r-pill: 24px; --r-full: 40px;
  --fs-3xs: 11px; --fs-2xs: 12.5px; --fs-sm: 14px; --fs-base: 15px;
  --fs-md: 16px; --fs-lg: 18px; --fs-xl: 20px; --fs-2xl: 28px; --fs-3xl: 36px;
  --glow-sm: 0 0 60px 10px rgba(198,255,61,.45);
  --glow-lg: 0 0 90px 22px rgba(198,255,61,.6);
  --srf:      #171C26;
  --srf-hi:   #212836;
  --srf-lo:   #12161E;
  --srf-card: #222A38;
  --srf-border: rgba(244,246,249,.15);
  --bed-near: rgba(16,20,28,.10);
  --bed-far:  rgba(16,20,28,.13);
  --bed-rim:  rgba(16,20,28,.07);
  --wire: #C3CAD4;
  --success: oklch(49.9% 0.2 130);
  --success-light: oklch(92% 0.08 130);
  --error: oklch(49.2% 0.22 20);
  --error-light: oklch(92% 0.1 20);
  --warning: oklch(52.7% 0.18 80);
  --warning-light: oklch(94% 0.06 80);
  --line: var(--border);
  --link: var(--accent-text);
  color-scheme: light;
}
[data-theme="dark"]{
  --bg:#0B0D11;
  --bg2:#12141A;
  --card:#161922;
  --border:rgba(244,246,249,.16);
  --ink:#FFFFFF;
  --muted:#8B93A1;
  --accent-text:#C6FF3D;
  --dot:rgba(244,246,249,.16);
  --shadow:0 18px 40px -20px rgba(0,0,0,.8);
  --blend: screen;
  --bed-near: rgba(0,0,0,.34);
  --bed-far:  rgba(0,0,0,.24);
  --bed-rim:  rgba(244,246,249,.06);
  --wire: rgba(244,246,249,.30);
  color-scheme: dark;
}
input, select, textarea{ background:var(--card); color:var(--ink); }
html{scroll-behavior:smooth}
body{
  background:var(--bg);
  color:var(--ink);
  font-family:'Archivo',system-ui,-apple-system,sans-serif;
  line-height:1.6;
  font-size:15px;
  -webkit-font-smoothing:antialiased;
  transition:background-color .25s ease,color .25s ease;
}
@media (min-width:768px){ body{ font-size:16px; } }
a{color:var(--link);text-decoration:none}
p.muted a,.faq-answer a{text-decoration:underline;text-underline-offset:2px}
::selection{ background:var(--accent); color:var(--accent-ink); }
.mono{
  font-family:'JetBrains Mono',monospace;
  letter-spacing:.12em;
  text-transform:uppercase;
  font-size:11px;
  color:var(--muted);
}
a:focus-visible, button:focus-visible, summary:focus-visible{
  outline:2px solid var(--ink);
  outline-offset:2px;
}
h1{ font-weight:800; letter-spacing:-.045em; line-height:.95; font-size:clamp(38px,5vw,64px); color:var(--ink); }
h2{ font-weight:800; letter-spacing:-.03em; font-size:clamp(24px,3vw,34px); margin:40px 0 16px; color:var(--ink); }
.muted{ color:var(--muted); font-size:.875rem; font-weight:500; }
.shell-inner{ max-width:1480px; margin-left:auto; margin-right:auto; padding:0 24px; }
@media (min-width:768px){ .shell-inner{ padding:0 40px; } }
@media (min-width:1024px){ .shell-inner{ padding:0 56px; } }
header{ background:var(--bg); border-bottom:1px solid var(--border); position:sticky; top:0; z-index:20; }
.nav{ display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap; padding-top:16px; padding-bottom:16px; }
.nav-left, .nav-right{ display:flex; align-items:center; gap:20px; flex-wrap:wrap; }
.nav .brand{ display:inline-flex; align-items:center; gap:9px; font-family:'Archivo',system-ui,sans-serif; font-weight:800; font-size:19px; letter-spacing:-.02em; color:var(--ink); margin-right:0; }
.nav-sections{ display:flex; align-items:center; gap:22px; }
@media (max-width:759px){ .nav-sections{ display:none; } }
.nav a:not(.btn){ color:var(--ink); font-weight:600; font-size:14.5px; }
.nav .muted{ color:var(--muted); font-size:.875rem; }
.lang-switch{ font-size:13.5px; }
.nav a:not(.btn), .lang-switch{ min-height:44px; display:inline-flex; align-items:center; }
.nav a:not(.btn):not(.brand){ position:relative; }
.nav a:not(.btn):not(.brand)::after{
  content:''; position:absolute; left:0; right:0; bottom:2px; height:2px;
  background:var(--accent-text); border-radius:1px;
  transform:scaleX(0); transform-origin:left; transition:transform .18s ease;
}
.nav a:not(.btn):not(.brand):hover::after, .nav a:not(.btn):not(.brand):focus-visible::after{ transform:scaleX(1); }
.nav a:not(.btn):not(.brand).nav-active{ font-weight:700; }
.nav a:not(.btn):not(.brand).nav-active::after{ transform:scaleX(1); }
.nav-right .btn-sm{ min-height:44px; display:inline-flex; align-items:center; }
.theme-toggle{
  background:transparent;
  border:1px solid var(--border);
  border-radius:20px;
  padding:7px 12px;
  min-height:44px;
  display:inline-flex;
  align-items:center;
  cursor:pointer;
  color:var(--muted);
}
.theme-toggle:hover{ border-color:var(--accent-text); color:var(--ink); }
.nav-more{ display:none; }
@media (max-width:759px){ .nav-more{ display:block; } }
.nav-more > summary{
  list-style:none; cursor:pointer; min-height:44px;
  display:inline-flex; align-items:center; gap:6px;
  font-weight:600; font-size:14.5px; color:var(--ink);
  -webkit-tap-highlight-color:transparent;
}
.nav-more > summary::-webkit-details-marker{ display:none; }
.nav-more > summary::after{ content:'▾'; font-size:11px; transition:transform .15s ease; }
.nav-more[open] > summary::after{ transform:rotate(180deg); }
.nav-more-panel{
  display:flex; flex-direction:column; gap:2px;
  margin:4px 0 8px; padding:8px 0 4px; border-top:1px solid var(--border);
}
.nav-more-panel a{ min-height:44px; display:flex; align-items:center; font-weight:600; font-size:14.5px; color:var(--ink); }
@media (max-width:759px){
  .nav-right > .nav-utils{ display:none; }
  .nav-right > a[href="/login"], .nav-right > a[href="/en/login"]{ display:none; }
  .nav-left, .nav-right{ flex-wrap:nowrap; }
  .nav-left{ gap:14px; min-width:0; }
  .brand span{ white-space:nowrap; }
  .nav-more, .nav-account-details{ position:static; }
  .nav-more-panel, .nav-account-panel{
    position:absolute; left:0; right:0; top:100%; z-index:30;
    margin:0; padding:10px 24px 18px;
    background:var(--bg); border-top:0;
    border-bottom:1px solid var(--border); box-shadow:var(--shadow);
  }
  .nav-more-panel .nav-utils{
    display:inline-flex; align-self:flex-start;
    margin-top:12px;
  }
  .nav-more-panel .nav-utils .lang-switch,
  .nav-more-panel .nav-utils .theme-toggle{ min-height:44px; }
}
.nav-account-details{ display:none; }
@media (max-width:759px){ .nav-account-details{ display:block; } }
.nav-account-details > summary{
  list-style:none; cursor:pointer; min-height:44px;
  display:inline-flex; align-items:center; gap:6px;
  font-weight:600; font-size:14.5px; color:var(--ink);
  -webkit-tap-highlight-color:transparent;
}
.nav-account-details > summary::-webkit-details-marker{ display:none; }
.nav-account-details > summary::after{ content:'▾'; font-size:11px; transition:transform .15s ease; }
.nav-account-details[open] > summary::after{ transform:rotate(180deg); }
.nav-account-panel{
  display:flex; flex-direction:column; align-items:flex-start; gap:2px;
  margin:4px 0 8px; padding:8px 0 4px; border-top:1px solid var(--border);
}
.nav-account-panel a, .nav-account-panel button.link{ min-height:44px; display:flex; align-items:center; font-weight:600; font-size:14.5px; }
.nav-account-panel .muted{ min-height:32px; display:flex; align-items:center; }
@media (max-width:759px){
  .nav-account-panel{
    margin:0; padding-top:10px; padding-bottom:18px;
    padding-left:24px; padding-right:24px; border-top:0;
  }
}
@media (min-width:760px){
  .nav-group-account, .nav-group-session{ margin-left:12px; padding-left:16px; border-left:1px solid var(--border); }
}
.nav-group{ display:inline-flex; align-items:center; gap:20px; }
@media (max-width:759px){ .nav-group-account, .nav-group-session{ display:none; } }
@media (min-width:1680px){
  .nav{ padding-top:22px; padding-bottom:22px; }
  .nav .brand{ font-size:21px; }
  .nav-sections{ gap:26px; }
  .nav a:not(.btn), .nav-mega > summary{ font-size:15.5px; }
}
main{ max-width:1100px; margin:0 auto; padding:40px 20px 80px; }
main.shell-full{ max-width:none; margin:0; padding:0; }
#productos, #serie{ scroll-margin-top:108px; }
.hero{ text-align:center; padding:56px 0 32px; }
.hero p{ color:var(--muted); font-size:1.1rem; line-height:1.7; max-width:70ch; margin:16px auto 32px; }
.grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); gap:24px; margin-top:24px; }
.card{
  background:var(--card);
  border:1px solid var(--border);
  border-radius:18px;
  padding:28px;
  position:relative;
  transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;
}
.card:hover{ transform:translateY(-4px); border-color:var(--accent-text); box-shadow:var(--shadow); }
.card.featured{ border-color:var(--accent-text); border-width:2px; padding:27px; box-shadow:var(--shadow); }
.card.featured::before{ content:''; position:absolute; top:0; left:0; right:0; height:3px; background:var(--accent); border-radius:18px 18px 0 0; }
.card h3{ font-size:19px; font-weight:700; margin-bottom:8px; color:var(--ink); letter-spacing:-.3px; }
.price{ font-size:36px; font-weight:800; margin:16px 0 4px; color:var(--accent-text); letter-spacing:-1px; }
.badge{ display:inline-block; font-size:.75rem; padding:4px 10px; border-radius:8px; font-weight:700; text-transform:uppercase; letter-spacing:.5px; }
.badge.active{ background:var(--success-light); color:var(--success); }
.badge.past_due{ background:var(--warning-light); color:var(--warning); }
.badge.suspended, .badge.canceled{ background:var(--error-light); color:var(--error); }
.badge.soon{ background:var(--bg2); color:var(--ink); border:1px solid var(--border); }
.btn{
  display:inline-block;
  background:var(--ink);
  color:var(--bg);
  border:0;
  border-radius:26px;
  padding:14px 26px;
  font-size:15px;
  font-weight:700;
  text-align:center;
  cursor:pointer;
  transition:transform .18s ease,box-shadow .18s ease;
}
.btn:hover{ transform:translateY(-1px); }
.btn:active{ transform:translateY(0) scale(.97); }
.btn-sm{ padding:9px 16px; font-size:13.5px; }
.btn-accent{ background:var(--accent); color:var(--accent-ink); }
.btn-accent:hover{ box-shadow:var(--glow-sm); }
.btn-accent:active{ box-shadow:var(--glow-lg); }
.btn-outline{ background:var(--card); color:var(--ink); border:1px solid var(--border); }
.btn-outline:hover{ background:var(--bg2); border-color:var(--accent-text); }
.btn-danger{ background:var(--error); color:#fff; }
.btn-success{ background:var(--success); color:#fff; }
button.link{ background:none; border:0; color:var(--link); cursor:pointer; font-size:15px; padding:0; }
.nav button.link{ min-height:44px; display:inline-flex; align-items:center; }
form.inline{ display:inline; }
.form{ max-width:420px; margin:40px auto; background:var(--card); border:1px solid var(--border); border-radius:18px; padding:40px 36px; }
.form label{ display:block; font-size:.875rem; font-weight:700; margin:16px 0 6px; color:var(--ink); letter-spacing:.3px; }
.form input, .form textarea{
  width:100%; padding:12px 14px; border:1px solid var(--border); border-radius:10px;
  font-size:1rem; background:var(--bg); color:var(--ink); font-family:'Archivo',system-ui,sans-serif;
}
.form textarea{ resize:vertical; }
.form input:focus-visible, .form textarea:focus-visible{ outline:2px solid var(--accent-text); outline-offset:0; border-color:var(--accent-text); }
.form input:disabled, .form textarea:disabled{ opacity:.6; cursor:not-allowed; background:var(--bg2); }
.form .btn{ width:100%; margin-top:20px; }
.form .btn-outline{ width:100%; margin-top:12px; }
.form-input{
  width:100%; padding:11px 13px; border:1px solid var(--border); border-radius:10px;
  font-size:1rem; background:var(--bg); color:var(--ink); font-family:'Archivo',system-ui,sans-serif;
}
.form-input:focus-visible{ outline:2px solid var(--accent-text); outline-offset:0; border-color:var(--accent-text); }
.form-label{ display:block; font-size:.875rem; font-weight:700; margin:16px 0 6px; color:var(--ink); letter-spacing:.3px; }
.flash{ max-width:600px; margin:0 auto 24px; padding:14px 18px; border-radius:10px; font-size:14px; font-weight:600; border-left:4px solid; }
.flash.ok{ background:var(--success-light); color:var(--success); border-color:var(--success); }
.flash.error{ background:var(--error-light); color:var(--error); border-color:var(--error); }
table{ width:100%; border-collapse:collapse; background:var(--card); border:1px solid var(--border); border-radius:18px; font-size:.9375rem; }
th{ background:var(--bg2); color:var(--ink); font-weight:700; font-size:.875rem; text-transform:uppercase; letter-spacing:.5px; }
th, td{ text-align:left; padding:12px 16px; border-bottom:1px solid var(--border); color:var(--ink); }
tr:hover{ background:var(--bg2); }
.skip{ position:absolute; left:-9999px; }
.skip:focus{ left:8px; top:8px; background:var(--card); padding:8px 12px; z-index:10; outline:2px solid var(--ink); }
.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; }
footer{ border-top:1px solid var(--border); padding:40px 0 28px; }
.foot-grid{ display:grid; gap:24px; grid-template-columns:repeat(auto-fit,minmax(160px,1fr)); text-align:left; }
.foot-grid .foot-label{ font-family:'JetBrains Mono',monospace; font-size:11px; letter-spacing:.12em; text-transform:uppercase; font-weight:700; margin-bottom:8px; color:var(--muted); }
.foot-grid a{
  display:inline-flex; align-items:center; min-height:44px;
  color:var(--muted); font-size:14px; padding:3px 10px 3px 0;
}
.foot-grid a:hover{ color:var(--accent-text); }
.foot-legal{ margin-top:6px; color:var(--muted); font-size:12px; }
.foot-bottom{ margin-top:28px; padding-top:20px; border-top:1px solid var(--border); }
.prose{ max-width:70ch; margin:0 auto; }
.prose-tbl{ overflow-x:auto; margin:0 0 18px; -webkit-overflow-scrolling:touch; }
.prose-tbl table{ min-width:520px; }
.prose table{ margin:0 0 18px; border-radius:12px; }
.prose th, .prose td{ padding:10px 14px; vertical-align:top; }
.prose td{ color:var(--muted); }
.prose td strong, .prose th{ color:var(--ink); }
.prose h2{ font-size:20px; margin:28px 0 8px; }
.prose p{ margin-bottom:12px; color:var(--ink); }
@keyframes marq{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@keyframes blink{50%{opacity:0}}
@keyframes bobA{0%,100%{transform:translateY(0) rotate(-1.2deg)}50%{transform:translateY(-13px) rotate(-1.2deg)}}
@keyframes bobB{0%,100%{transform:translateY(0) rotate(1deg)}50%{transform:translateY(-16px) rotate(1deg)}}
@keyframes bobC{0%,100%{transform:translateY(0) rotate(.6deg)}50%{transform:translateY(-10px) rotate(.6deg)}}
@keyframes nodePulse{0%,100%{transform:scale(1);opacity:1}50%{transform:scale(1.55);opacity:.55}}
@keyframes sheenRun{0%{transform:translateX(-120%) skewX(-18deg)}100%{transform:translateX(320%) skewX(-18deg)}}
@keyframes flowDash{to{stroke-dashoffset:-320}}
@keyframes barA{0%,100%{height:34%}50%{height:62%}}
@keyframes barB{0%,100%{height:58%}50%{height:88%}}
@keyframes barC{0%,100%{height:44%}50%{height:71%}}
@keyframes barD{0%,100%{height:72%}50%{height:96%}}
@keyframes rollUp{0%,18%{transform:translateY(0)}25%,43%{transform:translateY(-26px)}50%,68%{transform:translateY(-52px)}75%,93%{transform:translateY(-78px)}100%{transform:translateY(0)}}
@keyframes stockFill{0%,100%{width:34%}50%{width:82%}}
@keyframes typeDot{0%,60%,100%{transform:translateY(0);opacity:.35}30%{transform:translateY(-5px);opacity:1}}
@keyframes orbit{from{transform:rotate(0)}to{transform:rotate(360deg)}}
@keyframes orbitRev{from{transform:rotate(0)}to{transform:rotate(-360deg)}}
@keyframes ripple{0%{transform:scale(.6);opacity:.85}100%{transform:scale(2.6);opacity:0}}
@keyframes coreBeat{0%,100%{transform:scale(1);box-shadow:var(--glow-sm)}50%{transform:scale(1.06);box-shadow:var(--glow-lg)}}
@keyframes dashRun{to{stroke-dashoffset:-1000}}
@keyframes morphBlob{0%,100%{border-radius:52% 48% 44% 56%/50% 54% 46% 50%;transform:rotate(0)}50%{border-radius:44% 56% 56% 44%/56% 44% 56% 44%;transform:rotate(12deg)}}
@keyframes swingA{0%,100%{transform:rotate(-2.4deg)}50%{transform:rotate(2.4deg)}}
@keyframes swingB{0%,100%{transform:rotate(4deg)}50%{transform:rotate(-4deg)}}
@keyframes swingC{0%,100%{transform:rotate(-6deg)}50%{transform:rotate(6deg)}}
@keyframes plateIn{0%{transform:translateY(0)}50%{transform:translateY(-8px)}100%{transform:translateY(0)}}
@keyframes tickDraw{0%{stroke-dashoffset:26}60%,100%{stroke-dashoffset:0}}
html.js .rv{ opacity:0; transform:translateY(14px); }
html.js .rv.in{ opacity:1; transform:translateY(0); transition:opacity .5s ease-out,transform .5s ease-out; }
html.js .rv.rv-l{ transform:translateX(-24px); }
html.js .rv.rv-l.in{ transform:translateX(0); }
html.js .rv.rv-r{ transform:translateX(24px); }
html.js .rv.rv-r.in{ transform:translateX(0); }
html.js .rv.rv-s{ transform:scale(.96); }
html.js .rv.rv-s.in{ transform:scale(1); }
html.js .rv-set > .rv:nth-child(1).in{ transition-delay:0ms; }
html.js .rv-set > .rv:nth-child(2).in{ transition-delay:70ms; }
html.js .rv-set > .rv:nth-child(3).in{ transition-delay:140ms; }
html.js .rv-set > .rv:nth-child(4).in{ transition-delay:210ms; }
html.js .rv-set > .rv:nth-child(5).in{ transition-delay:280ms; }
html.js .rv-set > .rv:nth-child(n+6).in{ transition-delay:350ms; }
@media (prefers-reduced-motion: reduce){
  *, *::before, *::after{
    animation-duration:.01ms !important;
    animation-iteration-count:1 !important;
    transition-duration:.01ms !important;
    scroll-behavior:auto !important;
  }
}
@supports (view-transition-name: none) {
  @view-transition { navigation: auto; }
  ::view-transition-old(root), ::view-transition-new(root) {
    animation-duration: .2s;
    animation-timing-function: ease;
  }
  header { view-transition-name: site-header; }
}
@media (prefers-reduced-motion: reduce) {
  @view-transition { navigation: none; }
}
@supports (animation-timeline: view()) {
  @keyframes sd-depth-kf{ from{ transform:translateY(-18px); } to{ transform:translateY(18px); } }
  .sd-depth{
    animation-name:sd-depth-kf; animation-timing-function:linear; animation-fill-mode:both;
    animation-duration:auto; animation-timeline:view(); animation-range:cover 0% cover 100%;
  }
  @keyframes sd-fade-kf{ from{ opacity:.35; } to{ opacity:1; } }
  .sd-fade{
    animation-name:sd-fade-kf; animation-timing-function:linear; animation-fill-mode:both;
    animation-duration:auto; animation-timeline:view(); animation-range:entry 0% entry 60%;
  }
  @media (prefers-reduced-motion: reduce) {
    .sd-depth, .sd-fade{ animation-name:none; transform:none; opacity:1; }
  }
}
.lp-marquee{ display:flex; align-items:center; background:var(--bg2); border-bottom:1px solid var(--border); white-space:nowrap; }
.lp-marquee-label{ flex:none; background:var(--srf-lo); color:#C6FF3D; padding:10px 16px; font-size:10.5px; }
.lp-marquee-viewport{
  flex:1; overflow:hidden;
  -webkit-mask-image:linear-gradient(to right,transparent,#000 48px,#000 calc(100% - 72px),transparent);
  mask-image:linear-gradient(to right,transparent,#000 48px,#000 calc(100% - 72px),transparent);
}
.lp-marquee-track{ display:inline-flex; animation:marq 34s linear infinite; padding:10px 0; will-change:transform; }
.lp-marquee-track span{ padding:0 18px; white-space:nowrap; }
@media (max-width:759px){
  .lp-marquee-label{ padding:10px 12px; font-size:9.5px; }
  .lp-marquee-viewport{
    -webkit-mask-image:linear-gradient(to right,transparent,#000 18px,#000 calc(100% - 24px),transparent);
    mask-image:linear-gradient(to right,transparent,#000 18px,#000 calc(100% - 24px),transparent);
  }
}
.lp-hero-section{
  position:relative; overflow:hidden;
  background-image:radial-gradient(circle,var(--dot) 1.1px,transparent 1.6px);
  background-size:22px 22px;
}
.lp-hero{ position:relative; }
.lp-hero-content{
  position:relative; z-index:5; max-width:560px;
  padding:clamp(48px,9vw,120px) 0 clamp(40px,6vw,64px);
}
.lp-hero-canvas{ display:none; --mx:0; --my:0; }
.lp-pill{
  display:inline-flex; align-items:center; gap:9px; border:1px solid var(--border);
  background:var(--card); border-radius:22px; padding:7px 14px; font-size:11.5px;
}
.lp-pill-dot{ width:6px; height:6px; border-radius:50%; background:var(--accent); display:inline-block; }
.lp-hero-content h1, .lp-hero-content h2{ font-size:clamp(40px,7.2vw,70px); line-height:.98; letter-spacing:-.035em; font-weight:800; margin:22px 0 0; }
.lp-highlight-text{
  background:var(--accent);
  color:var(--accent-ink);
  padding:.04em .12em;
  border-radius:5px;
  -webkit-box-decoration-break:clone;
  box-decoration-break:clone;
}
.lp-hero-content p{ font-size:18px; line-height:1.55; color:var(--muted); margin:26px 0 0; max-width:430px; }
.lp-hero-ctas{ display:flex; gap:12px; margin-top:30px; flex-wrap:wrap; }
.lp-price-line{ display:flex; align-items:center; gap:18px; margin-top:32px; font-size:11.5px; }
.lp-price-line::before{ content:''; width:44px; height:1px; background:var(--border); display:inline-block; }
.lp-chips-label{ display:block; margin:26px 0 8px; font-size:11px; letter-spacing:.08em; text-transform:uppercase; }
.lp-chips{ display:flex; gap:9px; flex-wrap:wrap; max-width:280px; }
.lp-chip{ border:1px solid var(--border); background:var(--card); border-radius:20px; padding:8px 13px; font-size:11.5px; }
.lp-float{
  position:absolute; background:var(--card); border:1px solid var(--border);
  border-radius:18px; box-shadow:var(--shadow);
  transition:transform .4s ease-out;
}
.lp-float-chat{ left:648px; top:120px; width:352px; animation:bobA 12s ease-in-out infinite; transform:translate3d(calc(var(--mx)*12px),calc(var(--my)*-9px),0); }
.lp-float-chat .lp-float-head{ display:flex; align-items:center; gap:10px; padding:13px 16px; border-bottom:1px solid var(--border); }
.lp-float-chat .lp-float-avatar{ width:30px; height:30px; border-radius:9px; background:var(--ink); display:flex; align-items:center; justify-content:center; }
.lp-float-chat .lp-float-head span{ font-weight:700; font-size:15.5px; letter-spacing:-.015em; }
.lp-float-chat .lp-bubbles{ padding:16px; display:flex; flex-direction:column; gap:10px; }
.lp-bubble{ align-self:flex-start; max-width:80%; background:var(--bg2); border-radius:14px 14px 14px 4px; padding:10px 13px; font-size:14px; }
.lp-bubble.lp-bubble-mine{ align-self:flex-end; background:var(--accent); color:var(--accent-ink); border-radius:14px 14px 4px 14px; }
.lp-typing{ align-self:flex-start; display:flex; gap:5px; background:var(--bg2); border-radius:14px; padding:11px 13px; }
.lp-typing span{ width:6px; height:6px; border-radius:50%; background:var(--muted); animation:typeDot 1.2s ease-in-out infinite; }
.lp-typing span:nth-child(2){ animation-delay:.15s; }
.lp-typing span:nth-child(3){ animation-delay:.3s; }
.lp-rollup{ display:inline-block; height:26px; overflow:hidden; line-height:26px; }
.lp-rollup span{ display:block; animation:rollUp 6s ease-in-out infinite; }
.lp-rollup span span{ display:block; animation:none; }
.lp-stockbar{ position:relative; height:5px; border-radius:3px; background:var(--bg2); margin-top:14px; overflow:hidden; }
.lp-stockbar span{ position:absolute; inset:0; width:34%; background:var(--accent); border-radius:3px; animation:stockFill 7s ease-in-out infinite; }
.lp-float-paid{
  left:640px; top:812px; display:flex; align-items:center; gap:11px; border-radius:40px;
  padding:9px 18px 9px 10px; animation:bobC 10s ease-in-out infinite;
  transform:translate3d(calc(var(--mx)*7px),calc(var(--my)*12px),0);
}
.lp-float-paid .lp-paid-icon{ width:38px; height:38px; border-radius:50%; background:var(--ink); color:var(--accent); display:flex; align-items:center; justify-content:center; }
.lp-float-paid span:not(.lp-paid-icon){ font-weight:600; font-size:15.5px; }
.lp-float-paid .lp-paid-amount{ font-size:12.5px; color:var(--accent-text); font-weight:700; font-family:'JetBrains Mono',monospace; }
.lp-float-stats{
  left:340px; top:706px; width:280px; padding:16px 18px;
  transform:translate3d(calc(var(--mx)*-6px),calc(var(--my)*10px),0);
}
.lp-stats-head{ display:flex; justify-content:space-between; align-items:baseline; }
.lp-stats-head .lp-stats-delta{ font-size:11px; color:var(--accent-text); }
.lp-stats-amount{ font-weight:800; font-size:26px; letter-spacing:-.035em; margin-top:6px; font-family:'Archivo',sans-serif; }
.lp-stats-bars{ display:flex; align-items:flex-end; gap:6px; height:44px; margin-top:12px; }
.lp-stats-bars span{ flex:1; background:var(--bg2); border-top:2px solid var(--muted); border-radius:3px 3px 0 0; }
.lp-stats-bars span:nth-child(1){ height:40%; animation:barA 6s ease-in-out infinite; }
.lp-stats-bars span:nth-child(2){ height:58%; animation:barC 6s ease-in-out infinite; animation-delay:-1.5s; }
.lp-stats-bars span:nth-child(3){ height:72%; background:rgba(198,255,61,.32); border-top-color:var(--accent-text); animation:barD 6s ease-in-out infinite; animation-delay:-3s; }
.lp-stats-bars span:nth-child(4){ height:90%; background:rgba(198,255,61,.5); border-top-color:var(--accent-text); animation:barB 6s ease-in-out infinite; animation-delay:-4.5s; }
.lp-float-products{
  left:938px; top:706px; display:flex; align-items:center; gap:10px;
  background:var(--ink); color:var(--bg); border-radius:40px; padding:11px 18px;
  animation:bobB 12s ease-in-out infinite;
  transform:translate3d(calc(var(--mx)*13px),calc(var(--my)*11px),0);
}
.lp-float-products .lp-pill-dot{ width:8px; height:8px; animation:nodePulse 2s ease-in-out infinite; }
.lp-float-products span:last-child{ font-size:12px; letter-spacing:.1em; }
.lp-card-icon{ width:46px; height:46px; border-radius:14px; display:flex; align-items:center; justify-content:center; }
.lp-card-icon.lp-icon-local{ background:var(--accent); }
.lp-card-icon.lp-icon-cloud{ background:var(--ink); }
.cta-eyebrow{ color:inherit; opacity:.72; margin-bottom:10px; }
.lp-cta-section{
  position:relative; overflow:hidden; margin:34px 0 40px;
  background:linear-gradient(180deg,var(--srf-hi) 0%,var(--srf) 50%,var(--srf-hi) 100%);
  color:#F4F6F9;
  --ink:#FFFFFF;
}
.lp-cta{
  position:relative; padding-top:52px; padding-bottom:52px;
  display:flex; align-items:center; justify-content:space-between; gap:28px; flex-wrap:wrap;
}
.lp-cta-sheen{
  position:absolute; top:0; left:0; width:34%; height:100%;
  background:linear-gradient(90deg,transparent,rgba(198,255,61,.16),transparent);
  animation:sheenRun 8s ease-in-out infinite; pointer-events:none;
}
.lp-cta-text{ position:relative; font-size:clamp(26px,3.4vw,42px); font-weight:800; letter-spacing:-.045em; line-height:1.1; max-width:560px; }
.lp-cta .btn-accent{ position:relative; font-size:16px; padding:17px 34px; }
@media (min-width:900px){
  .lp-hero{
    display:grid; align-items:start;
    grid-template-columns:minmax(260px,1fr) minmax(260px,420px);
    column-gap:clamp(20px,3vw,40px);
  }
  .lp-hero-canvas{
    display:flex; flex-direction:column; gap:18px;
    position:relative; width:100%;
    padding-top:clamp(48px,7vw,90px);
  }
  .lp-float{ position:relative; left:auto; top:auto; }
  .lp-float-chat{ width:100%; max-width:352px; }
  .lp-float-stats{ width:100%; max-width:340px; }
  .lp-float-paid, .lp-float-products{ display:none; }
}
@media (min-width:1280px){
  .lp-hero{
    grid-template-columns:minmax(400px,1fr) minmax(360px,640px);
    column-gap:clamp(32px,4vw,56px);
  }
  .lp-hero-canvas{
    display:grid; grid-template-columns:1.3fr 1fr; grid-template-rows:auto auto auto;
    gap:18px; padding-top:clamp(48px,6vw,96px);
  }
  .lp-float-chat{ grid-column:1/3; grid-row:1; width:100%; max-width:none; }
  .lp-float-stats{ grid-column:2; grid-row:2/4; width:100%; max-width:none; align-self:stretch; }
  .lp-float-paid{ display:flex; grid-column:1; grid-row:2; align-self:start; }
  .lp-float-products{ display:flex; grid-column:1; grid-row:3; align-self:start; }
  .lp-hero-content h1, .lp-hero-content h2{ font-size:clamp(72px,6.4vw,80px); }
}
.ck-blob, .ck-plate-square, .ed-blob, .pl2-hero-blob, .pl2-overprint-bar,
.pl2-swing-b .pl2-circle, .pl2-swing-c .pl2-square-fg, .pl2-shape-circle-accent,
.pl2-shape-circle-accent-2, .pl2-shape-bar1, .pl2-shape-bar3,
.pl2-taller-art-circle, .pl2-cta-blob{
  background:var(--accent); mix-blend-mode:var(--blend);
}
.ck-page{
  position:relative; overflow:hidden;
  border:1px solid var(--border); border-radius:2px; background:var(--card);
  margin:8px 0 40px;
}
.ck-strip{
  display:flex; align-items:center; justify-content:space-between; gap:14px;
  flex-wrap:wrap; padding:9px 26px;
  border-bottom:1px solid var(--border);
}
.ck-strip span{ white-space:nowrap; }
.ck-head{ padding:24px 26px 0; }
.ck-blob{
  position:absolute; z-index:0; pointer-events:none;
  right:-190px; bottom:-200px; width:420px; height:420px;
  opacity:.5; filter:blur(28px);
  animation:morphBlob 16s ease-in-out infinite;
}
@media (prefers-reduced-motion: reduce){ .ck-blob{ animation:none; } }
.ck-layout{
  position:relative; z-index:1;
  display:grid; grid-template-columns:minmax(0,420px) minmax(0,1fr);
  gap:24px; align-items:start; padding:20px 26px 72px;
}
@media (max-width:759px){
  .ck-layout{ grid-template-columns:1fr; padding:16px 18px 56px; }
  .ck-strip{ padding:9px 18px; }
  .ck-head{ padding:20px 18px 0; }
}
.ck-plate{ position:relative; border:1px solid var(--border); border-radius:2px; background:var(--card); overflow:hidden; }
.ck-plate-art{ position:relative; height:150px; background:var(--bg2); overflow:hidden; }
.ck-plate-art::before, .pl2-plate-art::before{
  content:''; position:absolute;
  background-image:radial-gradient(circle,var(--dot) 1px,transparent 1.6px);
  background-size:10px 10px; opacity:.5;
}
.ck-plate-art::before{ inset:-20px; }
.ck-plate-circle{ position:absolute; left:26px; top:26px; width:88px; height:88px; border:2px solid var(--ink); border-radius:50%; }
.ck-plate-square{ position:absolute; left:64px; top:52px; width:76px; height:76px; }
.ck-plate-tag, .pl2-plate-tag{ position:absolute; right:14px; bottom:11px; }
.ck-plate-body{ padding:24px 26px 26px; }
.ck-plate-price{ font-family:'JetBrains Mono',monospace; letter-spacing:-.02em; }
.ck-form{ border:1px solid var(--border); border-radius:2px; background:var(--card); padding:28px; }
.ck-form .btn{ width:auto; }
.ck-actions{ display:flex; align-items:center; gap:14px; flex-wrap:wrap; margin-top:20px; }
.ck-actions .ck-actions-note{ flex:1 1 150px; min-width:0; color:var(--muted); font-size:14px; line-height:1.45; }
.pl2-plate{ display:flex; flex-direction:column; }
.pl2-plate-foot{ margin-top:auto; }
.pl2-plate-badge{ min-height:18px; }
.pl2-plate-badge.is-empty{ visibility:hidden; }
.pl2-plate-match{ min-height:28px; }
.pl2-plate-match[hidden]{ display:block; visibility:hidden; }
.pl2-serie-divider > span{
  font-family:'Archivo',system-ui,-apple-system,sans-serif;
  text-transform:none; letter-spacing:normal; font-size:13.5px; color:var(--muted);
}
.ck-label{ display:block; margin:16px 0 6px; }
.ck-label:first-of-type{ margin-top:0; }
.ck-input{
  width:100%; padding:11px 13px; border:1px solid var(--border); border-radius:2px;
  font-size:1rem; background:var(--bg); color:var(--ink); font-family:'Archivo',system-ui,sans-serif;
}
.ck-input:focus-visible{ outline:2px solid var(--accent-text); outline-offset:0; border-color:var(--accent-text); }
.ed-page{ position:relative; overflow:hidden; }
.ed-content{ position:relative; z-index:1; }
.ed-blob{
  position:absolute; z-index:0; pointer-events:none;
  width:200px; height:200px;
  opacity:.6;
  animation:morphBlob 16s ease-in-out infinite;
}
.ed-blob-tr{ right:-60px; top:-40px; }
.ed-blob-bl{ left:-60px; bottom:-40px; }
.ed-code{ font-weight:800; letter-spacing:-.04em; line-height:.85; font-size:clamp(72px,16vw,200px); margin:6px 0 0; }
.ed-code-mark{ position:relative; display:inline-block; padding:0 .1em; }
.ed-code-bar{ position:absolute; left:-.06em; right:-.1em; top:12%; bottom:14%; background:var(--accent); transform:rotate(-1deg); border-radius:.06em; }
.ed-code-text{ position:relative; z-index:1; color:var(--accent-ink); }
.ed-contact{ display:flex; gap:24px; flex-wrap:wrap; justify-content:center; align-items:flex-start; }
.ed-contact .form{ flex:1 1 380px; }
.ed-contact-card{ flex:0 1 260px; margin-top:40px; border:1px solid var(--border); border-radius:2px; background:var(--card); padding:20px 22px; }
.ed-contact-card p{ margin-bottom:10px; line-height:1.6; }
.ed-contact-card p:last-child{ margin-bottom:0; }
@media (max-width:759px){
  .ed-contact-card{ margin-top:0; }
}
.pn-stats{
  display:grid; grid-template-columns:repeat(auto-fit,minmax(160px,1fr));
  gap:1px; background:var(--border); border:1px solid var(--border);
  border-radius:14px; overflow:hidden; margin:20px 0 28px;
}
.pn-stat{ background:var(--card); padding:20px 22px; }
.pn-stat-num{ font-weight:800; font-size:30px; letter-spacing:-.03em; line-height:1; color:var(--ink); }
.pn-stat-label{ margin-top:7px; }
.pn-module:hover{ transform:translateY(-2px); }
.pn-modbar{ display:flex; gap:5px; margin-top:14px; }
.pn-modbar span{ flex:1; height:8px; border-radius:4px; background:var(--bg2); }
.pn-modbar span.on{ background:var(--accent); }
html.js .rv.rv-d1.in{ transition-delay:.1s; }
html.js .rv.rv-d2.in{ transition-delay:.2s; }
.lp2-steps{ padding-top:56px; padding-bottom:64px; }
.lp2-step{ background:var(--card); border:1px solid var(--border); border-radius:18px; padding:24px; }
.lp2-step-icon{ width:46px; height:46px; border-radius:14px; background:var(--bg2); display:flex; align-items:center; justify-content:center; }
.lp2-step-num{ margin-top:16px; }
.lp2-step h3{ font-size:18px; font-weight:700; margin-top:8px; letter-spacing:-.015em; color:var(--ink); }
.lp2-step p{ color:var(--muted); font-size:14.5px; line-height:1.55; margin-top:6px; }
.lp2-flow{ padding:56px 0 64px; }
.lp2-flow-sub{ margin-top:8px; }
.lp2-flow-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-top:32px; }
.lp2-flow-quote-body{ padding:18px 20px; }
.lp2-flow-link-body{ padding:18px 20px; }
.lp2-link-quote{ font-size:13.5px; color:var(--muted); }
.lp2-link-accept{ display:flex; align-items:center; gap:10px; margin-top:16px; background:var(--bg2); border-radius:40px; padding:9px 16px; width:fit-content; }
.lp2-tick{ width:26px; height:26px; border-radius:50%; background:var(--accent); display:flex; align-items:center; justify-content:center; flex:none; }
.lp2-tick path{ stroke-dasharray:26; stroke-dashoffset:26; animation:tickDraw 1s ease-out forwards; animation-play-state:paused; }
.rv.in .lp2-tick path{ animation-play-state:running; }
.lp2-link-accept span:last-child{ font-weight:600; font-size:14.5px; color:var(--ink); }
@media (max-width:759px){
  .lp2-flow-grid{ grid-template-columns:1fr; }
}
.lp2-products-eyebrow{ margin-bottom:4px; }
.lp2-seal{ display:inline-block; margin-top:10px; }
.pl2-page{ position:relative; }
.pl2-strip-seg{ display:flex; align-items:center; gap:10px; white-space:nowrap; }
.pl2-strip{ flex-wrap:wrap; row-gap:6px; }
.pl2-hero-section{
  position:relative; overflow:hidden;
  background-image:radial-gradient(circle,var(--dot) 1px,transparent 1.7px);
  background-size:11px 11px;
}
.pl2-hero-stage{ position:relative; overflow:hidden; }
.pl2-hero-blob{
  position:absolute; z-index:0; right:-90px; bottom:-190px; width:420px; height:420px;
  opacity:.42; filter:blur(30px);
  animation:morphBlob 16s ease-in-out infinite; pointer-events:none;
}
@media (prefers-reduced-motion: reduce){ .pl2-hero-blob{ animation:none; } }
.pl2-hero-grid{
  position:relative; z-index:1;
  display:grid; grid-template-columns:minmax(260px,1fr) 510px; gap:24px; align-items:start;
}
.pl2-hero-content{ padding:56px 0 40px; max-width:540px; }
.pl2-hero-content h1{ font-size:clamp(44px,6.4vw,88px); line-height:.92; letter-spacing:-.05em; font-weight:800; margin:22px 0 0; }
.pl2-overprint{ position:relative; display:inline-block; }
.pl2-overprint-bar{ position:absolute; left:-10px; right:-14px; top:12%; bottom:14%; transform:rotate(-1.4deg); }
.pl2-overprint-text{ position:relative; z-index:2; color:var(--accent-ink); }
.pl2-hero-content p{ font-size:18px; line-height:1.55; color:var(--muted); max-width:410px; margin:26px 0 0; }
.pl2-hero-content .lp-hero-ctas{ margin-top:32px; }
.pl2-hero-content .btn, .pl2-hero-content .btn-outline{ border-radius:2px; }
.pl2-hero-canvas{ position:relative; width:510px; height:640px; }
.pl2-mobile{ position:relative; width:470px; height:640px; transform:translate3d(calc(var(--mx)*16px),calc(var(--my)*10px),0); transition:transform .4s ease-out; }
.pl2-mobile-cord{ position:absolute; left:64%; top:0; width:1px; height:64px; background:var(--ink); opacity:.55; }
.pl2-swing-a{ position:absolute; left:64%; top:64px; width:0; height:0; transform-origin:top center; animation:swingA 11s ease-in-out infinite; }
.pl2-swing-a .pl2-bar{ position:absolute; left:-115px; top:0; width:230px; height:2px; background:var(--ink); }
.pl2-swing-a .pl2-drop-l{ position:absolute; left:-115px; top:0; width:1px; height:96px; background:var(--ink); opacity:.55; }
.pl2-swing-a .pl2-drop-r{ position:absolute; left:115px; top:0; width:1px; height:52px; background:var(--ink); opacity:.55; }
.pl2-swing-b{ position:absolute; left:115px; top:52px; width:0; height:0; transform-origin:top center; animation:swingB 8s ease-in-out infinite; }
.pl2-swing-b .pl2-circle{ position:absolute; left:-52px; top:0; width:104px; height:104px; border-radius:50%; }
.pl2-swing-b .pl2-label{ position:absolute; left:0; top:112px; transform:translateX(-50%); white-space:nowrap; }
.pl2-swing-b .pl2-thread{ position:absolute; left:0; top:0; width:1px; height:150px; background:var(--ink); opacity:.4; }
.pl2-swing-b .pl2-rombo{ position:absolute; left:-15px; top:150px; width:30px; height:30px; background:var(--ink); transform:rotate(45deg); }
.pl2-swing-c{ position:absolute; left:-115px; top:96px; width:0; height:0; transform-origin:top center; animation:swingC 13s ease-in-out infinite; }
.pl2-swing-c .pl2-bar{ position:absolute; left:-65px; top:0; width:130px; height:1.5px; background:var(--ink); }
.pl2-swing-c .pl2-drop-l{ position:absolute; left:-65px; top:0; width:1px; height:44px; background:var(--ink); opacity:.5; }
.pl2-swing-c .pl2-drop-r{ position:absolute; left:65px; top:0; width:1px; height:88px; background:var(--ink); opacity:.5; }
.pl2-swing-c .pl2-ring{ position:absolute; left:-92px; top:44px; width:66px; height:66px; border:2px solid var(--ink); border-radius:50%; }
.pl2-swing-c .pl2-label-local{ position:absolute; left:-59px; top:122px; transform:translateX(-50%); white-space:nowrap; }
.pl2-swing-c .pl2-square-bg{ position:absolute; left:38px; top:88px; width:56px; height:56px; background:var(--bg2); border:1px solid var(--border); }
.pl2-swing-c .pl2-square-fg{ position:absolute; left:52px; top:102px; width:28px; height:28px; }
.pl2-swing-c .pl2-label-soon{ position:absolute; left:66px; top:154px; transform:translateX(-50%); white-space:nowrap; }
.pl2-mobile-cota{ position:absolute; inset:0; width:430px; height:640px; pointer-events:none; }
.pl2-mobile-cota-label{ position:absolute; left:26px; top:140px; writing-mode:vertical-rl; }
.pl2-mobile-caption{ position:absolute; right:44px; bottom:34px; }
@media (max-width:900px){
  .pl2-hero-grid{ grid-template-columns:1fr; }
  .pl2-hero-canvas{ display:none; }
}
@media (max-width:759px){
  .pl2-hero-blob{ width:220px; height:220px; right:-60px; bottom:-40px; opacity:.55; }
}
.pl2-serie-divider{ display:flex; flex-wrap:wrap; row-gap:4px; justify-content:space-between; align-items:baseline; padding:18px 0; border-top:1px solid var(--ink); }
.pl2-serie-divider h2{ font-weight:inherit; margin:0; }
.pl2-serie-grid{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1px; background:var(--border); border:1px solid var(--border); }
.pl2-plate{ position:relative; background:var(--card); padding:30px 28px 26px; transition:background .25s ease; }
.pl2-plate:hover{ background:var(--bg2); }
.pl2-plate-art{ position:relative; height:190px; background:var(--bg2); overflow:hidden; animation:plateIn 11s ease-in-out infinite; }
.pl2-plate-art::before{ inset:0; }
.pl2-plate h3{ font-weight:700; font-size:20px; margin-top:20px; letter-spacing:-.02em; color:var(--ink); }
.pl2-plate-detail{ margin-top:8px; line-height:1.7; }
.pl2-plate-foot{ display:flex; justify-content:space-between; align-items:center; border-top:1px solid var(--border); margin-top:18px; padding-top:13px; font-family:'JetBrains Mono',monospace; font-size:13px; }
.pl2-plate-foot a{ color:var(--accent-text); }
.pl2-plate-foot .pl2-plate-buy{
  display:inline-flex; align-items:center; min-height:44px;
  padding:0 18px; font-size:13px; border-radius:2px; color:var(--bg);
}
.pl2-shape-circle{ position:absolute; left:34px; top:34px; width:104px; height:104px; border:2px solid var(--ink); border-radius:50%; }
.pl2-shape-circle-accent{ position:absolute; left:78px; top:66px; width:88px; height:88px; border-radius:50%; }
.pl2-shape-diamond{ position:absolute; left:30px; top:38px; width:110px; height:110px; background:var(--ink); transform:rotate(45deg); }
.pl2-shape-circle-accent-2{ position:absolute; left:96px; top:52px; width:96px; height:96px; border-radius:50%; }
.pl2-shape-axis-v{ position:absolute; left:26px; top:30px; width:1px; height:130px; background:var(--ink); }
.pl2-shape-axis-h{ position:absolute; left:26px; top:160px; width:150px; height:1px; background:var(--ink); }
.pl2-shape-bar1{ position:absolute; left:46px; top:96px; width:34px; height:64px; }
.pl2-shape-bar2{ position:absolute; left:90px; top:66px; width:34px; height:94px; background:var(--ink); }
.pl2-shape-bar3{ position:absolute; left:134px; top:44px; width:34px; height:116px; }
@media (max-width:759px){
  .pl2-serie-grid{ grid-template-columns:minmax(0,1fr); }
}
.pl2-taller{ position:relative; background:var(--bg2); overflow:hidden; padding:56px 0; }
.pl2-taller-grid{ display:grid; grid-template-columns:1fr 380px; gap:44px; align-items:center; }
.pl2-taller-facts{ display:flex; gap:36px; margin-top:32px; line-height:1.9; }
.pl2-taller-facts b{ display:block; color:var(--ink); font-weight:700; text-transform:none; letter-spacing:normal; font-family:'Archivo',sans-serif; font-size:15px; }
.pl2-taller-art{ position:relative; height:240px; }
.pl2-taller-art-frame{ position:absolute; left:40px; top:20px; width:200px; height:200px; border:2px solid var(--ink); }
.pl2-taller-art-circle{ position:absolute; left:110px; top:56px; width:170px; height:170px; border-radius:50%; }
.pl2-taller-art-label{ position:absolute; left:140px; bottom:-2px; }
@media (max-width:759px){
  .pl2-taller-grid{ grid-template-columns:1fr; }
  .pl2-taller-art{ display:none; }
}
.pl2-cta{ position:relative; overflow:hidden; padding-top:60px; padding-bottom:60px; display:flex; align-items:center; justify-content:space-between; gap:30px; flex-wrap:wrap; }
.pl2-cta-blob{ position:absolute; z-index:0; right:-70px; top:-70px; width:300px; height:300px; border-radius:50%; animation:morphBlob 18s ease-in-out infinite; pointer-events:none; }
.pl2-cta-text{ position:relative; z-index:1; font-size:clamp(28px,3.8vw,50px); font-weight:800; letter-spacing:-.045em; line-height:1.05; max-width:640px; }
.pl2-cta .btn{ position:relative; z-index:1; border-radius:2px; }
.ob-page{
  --bg:var(--srf); --bg2:#1B2130; --card:var(--srf-card);
  --border:var(--srf-border); --ink:#FFFFFF; --muted:#9AA3B2; --accent-text:#C6FF3D;
  --mx:0; --my:0; --px:50%; --py:50%;
  position:relative; background:var(--bg); color:var(--ink);
}
body:has(.ob-page) .theme-toggle{ display:none; }
.ob-hero{ position:relative; overflow:hidden; padding:60px 0 44px; }
.ob-hero-grid{
  position:absolute; inset:-40px;
  background-image:linear-gradient(var(--border) 1px,transparent 1px),linear-gradient(90deg,var(--border) 1px,transparent 1px);
  background-size:44px 44px; opacity:.3; pointer-events:none;
  transform:translate3d(calc(var(--mx)*8px),calc(var(--my)*8px),0); transition:transform .3s ease-out;
}
.ob-halo{
  position:absolute; width:640px; height:640px; max-width:150%; max-height:150%;
  border-radius:50%; left:var(--px); top:var(--py); transform:translate(-50%,-50%);
  background:radial-gradient(circle,rgba(198,255,61,.14),transparent 62%);
  pointer-events:none; transition:left .35s ease-out,top .35s ease-out;
}
.ob-hero-inner{ position:relative; z-index:2; display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:28px; }
.ob-copy{ transform:translate3d(calc(var(--mx)*-8px),calc(var(--my)*-8px),0); transition:transform .3s ease-out; }
.ob-copy .lp-pill{ border-color:var(--border); }
.ob-h1{ font-size:clamp(36px,5vw,62px); line-height:1.03; letter-spacing:-.04em; font-weight:800; margin:20px 0 0; }
.ob-accent{ color:var(--accent-text); }
.ob-lead{ font-size:16px; line-height:1.6; color:var(--muted); margin:18px 0 0; max-width:420px; }
.ob-hero-ctas{ display:flex; gap:12px; margin-top:26px; flex-wrap:wrap; }
.ob-hero-ctas .btn-outline{ background:transparent; }
.ob-term{ font-family:'JetBrains Mono',monospace; font-size:11.5px; color:var(--muted); margin-top:30px; line-height:1.9; }
.ob-term .ob-ok{ color:var(--accent-text); }
.ob-term .ob-cursor{ display:inline-block; width:8px; height:13px; background:var(--accent); margin-left:5px; vertical-align:-2px; animation:blink 1.1s step-end infinite; }
.ob-stage{
  position:relative; width:min(560px,88vw); aspect-ratio:1/1; margin:0 auto;
  transform:translate3d(calc(var(--mx)*16px),calc(var(--my)*16px),0); transition:transform .3s ease-out;
}
.ob-ring{ position:absolute; left:50%; top:50%; border-radius:50%; border:1px dashed var(--border); }
.ob-ring-1{ width:44%; aspect-ratio:1/1; margin:-22% 0 0 -22%; }
.ob-ring-2{ width:67%; aspect-ratio:1/1; margin:-33.5% 0 0 -33.5%; opacity:.75; }
.ob-ring-3{ width:90%; aspect-ratio:1/1; margin:-45% 0 0 -45%; border-style:solid; opacity:.5; }
.ob-ring-dash{ position:absolute; left:50%; top:50%; width:78%; aspect-ratio:1/1; margin:-39% 0 0 -39%; }
.ob-ring-dash circle{ animation:dashRun 22s linear infinite; }
.ob-core-wrap{ position:absolute; left:50%; top:50%; width:19%; aspect-ratio:1/1; margin:-9.5% 0 0 -9.5%; }
.ob-ripple{ position:absolute; inset:0; border-radius:50%; border:1px solid var(--accent); animation:ripple 3.4s ease-out infinite; }
.ob-ripple-2{ animation-delay:-1.7s; }
.ob-core{
  position:relative; width:100%; height:100%; border-radius:50%; text-align:center; padding:6px;
  background:var(--accent); color:var(--accent-ink); display:flex; align-items:center; justify-content:center;
  animation:coreBeat 3.4s ease-in-out infinite;
}
.ob-core span{ font-weight:800; font-size:clamp(9px,2.4vw,13px); letter-spacing:-.02em; line-height:1.15; }
.ob-orbit-a{ position:absolute; left:50%; top:50%; width:44%; aspect-ratio:1/1; margin:-22% 0 0 -22%; animation:orbit 26s linear infinite; }
.ob-orbit-a.ob-d2{ animation-delay:-13s; }
.ob-orbit-b{ position:absolute; left:50%; top:50%; width:67%; aspect-ratio:1/1; margin:-33.5% 0 0 -33.5%; animation:orbit 38s linear infinite reverse; }
.ob-orbit-b.ob-d2{ animation-delay:-19s; }
.ob-orbit-anchor{ position:absolute; left:50%; top:0; transform:translate(-50%,-50%); }
.ob-orbit-rev-a{ animation:orbitRev 26s linear infinite; }
.ob-orbit-rev-a.ob-d2{ animation-delay:-13s; }
.ob-orbit-rev-b{ animation:orbit 38s linear infinite; }
.ob-orbit-rev-b.ob-d2{ animation-delay:-19s; }
.ob-chip{
  display:flex; align-items:center; gap:6px; white-space:nowrap;
  background:var(--card); border:1px solid var(--border); border-radius:24px; padding:6px 13px 6px 8px;
  font-family:'JetBrains Mono',monospace; font-size:10.5px; color:var(--ink);
  box-shadow:0 10px 26px -14px rgba(0,0,0,.7);
}
.ob-chip svg{ flex:none; }
.ob-sat{ position:absolute; left:50%; top:50%; width:90%; aspect-ratio:1/1; margin:-45% 0 0 -45%; animation:orbit 16s linear infinite; }
.ob-sat.ob-d2{ animation-delay:-8s; }
.ob-sat-dot{ position:absolute; left:50%; top:0; transform:translate(-50%,-50%); width:10px; height:10px; border-radius:50%; background:var(--ink); opacity:.65; }
.ob-sat-dot-accent{ background:var(--accent); box-shadow:0 0 16px 4px rgba(198,255,61,.8); opacity:1; }
@media (max-width:900px){
  .ob-hero-inner{ grid-template-columns:1fr; }
  .ob-stage{ margin-top:24px; }
}
.ob-stats{ position:relative; z-index:2; display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid var(--border); border-bottom:1px solid var(--border); background:var(--bg2); }
.ob-stat{ padding:22px 26px; border-right:1px solid var(--border); }
.ob-stat:last-child{ border-right:0; }
.ob-stat-value{ font-weight:800; font-size:28px; letter-spacing:-.03em; }
.ob-stat-label{ font-family:'JetBrains Mono',monospace; font-size:10.5px; letter-spacing:.1em; text-transform:uppercase; color:var(--muted); margin-top:5px; }
@media (max-width:759px){
  .ob-stats{ grid-template-columns:repeat(2,1fr); }
  .ob-stat:nth-child(2n){ border-right:0; }
  .ob-stat:nth-child(n+3){ border-top:1px solid var(--border); }
}
.ob-modules-section{ padding-top:44px; padding-bottom:8px; position:relative; z-index:2; }
.ob-modules-label{ margin-bottom:14px; }
.ob-modules{ perspective:1200px; }
.ob-modules-grid{
  display:grid; grid-template-columns:repeat(4,1fr); gap:14px; transform-style:preserve-3d;
  transform:rotateY(calc(var(--mx)*4deg)) rotateX(calc(var(--my)*-3deg)); transition:transform .3s ease-out;
}
.ob-module{ border:1px solid var(--border); border-radius:16px; padding:20px; background:var(--card); transition:border-color .2s,transform .2s; transform:translateZ(10px); }
.ob-module:nth-child(1),.ob-module:nth-child(4){ transform:translateZ(24px); }
.ob-module:hover{ border-color:var(--accent-text); }
.ob-module-name{ font-weight:700; font-size:15.5px; margin-top:12px; letter-spacing:-.01em; }
.ob-module-price{ font-family:'JetBrains Mono',monospace; font-size:11px; color:var(--muted); margin-top:5px; }
@media (max-width:759px){ .ob-modules-grid{ grid-template-columns:repeat(2,1fr); } }
.ob-story{ padding-top:52px; padding-bottom:60px; position:relative; z-index:2; }
.ob-story-card{ border:1px solid var(--border); border-radius:18px; padding:36px 40px; background:var(--card); max-width:760px; }
.ob-story-eyebrow{ margin-bottom:10px; }
.ob-story-card h2{ font-size:clamp(22px,2.8vw,32px); letter-spacing:-.03em; font-weight:800; margin-bottom:16px; }
.ob-story-card p{ color:var(--muted); font-size:15px; line-height:1.7; margin-bottom:10px; max-width:60ch; }
.ob-story-card p:last-child{ margin-bottom:0; }
@media (max-width:759px){ .ob-story-card{ padding:28px 24px; } }
.ob-cta{ position:relative; z-index:2; overflow:hidden; background:var(--accent); color:var(--accent-ink); }
.ob-cta-inner{ position:relative; z-index:1; padding-top:48px; padding-bottom:48px; display:flex; align-items:center; justify-content:space-between; gap:24px; flex-wrap:wrap; }
.ob-cta-ring{ position:absolute; right:-40px; top:-90px; width:220px; height:220px; border:1px dashed rgba(14,14,12,.3); border-radius:50%; animation:orbit 30s linear infinite; pointer-events:none; }
.ob-cta-ring span{ position:absolute; left:50%; top:-5px; width:10px; height:10px; margin-left:-5px; border-radius:50%; background:var(--accent-ink); }
.ob-cta-text{ font-weight:800; font-size:clamp(26px,3.4vw,42px); letter-spacing:-.035em; line-height:1.1; }
.ob-cta-btn{ position:relative; z-index:1; background:var(--accent-ink); color:var(--accent); font-weight:700; padding:16px 30px; border-radius:28px; font-size:15px; }
.plan-card{ display:flex; flex-direction:column; }
.plan-card > .btn{ margin-top:auto; }
.plan-badge{ color:var(--accent-text); font-weight:700; margin-bottom:10px; }
.plan-features{ list-style:none; margin:6px 0 20px; padding:0; display:flex; flex-direction:column; gap:9px; }
.plan-features li{ display:flex; align-items:flex-start; gap:9px; font-size:14px; line-height:1.4; color:var(--muted); }
.plan-features li svg{ flex:none; margin-top:3px; }
.plan-usd-note{ text-align:center; margin-top:24px; }
.lp2-steps-eyebrow{ margin-bottom:4px; }
.ck-consent-form{ display:flex; gap:12px; flex-wrap:wrap; margin-top:18px; }
.ed-contact-card{ flex:0 1 300px; }
.ed-contact-card .ed-contact-links{
  margin-top:14px; padding-top:14px; border-top:1px solid var(--border);
  text-transform:none; letter-spacing:normal; font-size:12.5px;
}
.ed-contact-card .ed-contact-links a{ color:var(--accent-text); }
.cfg-row-2{ display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-top:12px; }
.cfg-row-3{ display:grid; grid-template-columns:2fr 1fr 1fr; gap:12px; margin-top:12px; }
.qi-row{ display:grid; grid-template-columns:1fr 2fr 110px 44px; gap:8px; margin-bottom:8px; align-items:center; }
.qi-row button{ min-height:44px; min-width:44px; }
@media (max-width:600px){
  .cfg-row-2, .cfg-row-3{ grid-template-columns:1fr; }
  .qi-row{ grid-template-columns:1fr 1fr; }
  .qi-row input[name="qi_desc[]"]{ grid-column:1 / -1; }
  .qi-row button{ grid-column:2; justify-self:end; }
}
.pn-hello{
  font-weight:800; letter-spacing:-.03em; line-height:1.15;
  font-size:clamp(24px,3.2vw,38px); overflow-wrap:anywhere; margin:0;
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical;
  overflow:hidden;
}
.pn-strip-company{
  overflow:hidden; text-overflow:ellipsis; white-space:nowrap;
  max-width:60vw; display:inline-block; vertical-align:bottom;
}
@media (max-width:759px){ .pn-stats{ grid-template-columns:1fr; } }
.lp-card-icon.lp-icon-cloud{ background:#0B0D11; }
@media (max-width:600px){
  .nav .muted{
    max-width:150px; overflow:hidden; text-overflow:ellipsis;
    white-space:nowrap; display:inline-block; vertical-align:middle;
  }
}
.cfg-editor-grid{ display:grid; grid-template-columns:minmax(0,1fr) minmax(260px,320px); gap:20px; align-items:start; }
@media (max-width:900px){ .cfg-editor-grid{ grid-template-columns:1fr; } }
.cfg-preview{ position:sticky; top:20px; border:1px solid var(--border); border-radius:14px; background:var(--card); padding:20px; }
@media (max-width:900px){ .cfg-preview{ position:static; order:-1; } }
.cfg-preview-doc{ border:1px solid var(--border); border-radius:8px; overflow:hidden; background:var(--bg); }
.cfg-preview-head{ display:flex; align-items:center; gap:12px; padding:16px; }
.cfg-preview-logo{ width:40px; height:40px; border-radius:8px; object-fit:contain; background:var(--bg2); flex:0 0 auto; }
.cfg-preview-logo-ph{ width:40px; height:40px; border-radius:8px; background:var(--bg2); display:flex; align-items:center; justify-content:center; flex:0 0 auto; font-size:10px; color:var(--muted); }
.cfg-preview-name{ font-weight:800; letter-spacing:-.02em; font-size:16px; overflow-wrap:anywhere; }
.cfg-preview-line{ display:flex; justify-content:space-between; gap:8px; font-size:13px; padding:3px 16px; }
.cfg-preview-total{ display:flex; justify-content:space-between; gap:8px; margin:10px 16px 12px; padding:10px 12px; border-radius:8px; font-weight:700; color:#fff; }
.pv-eyebrow{ margin-bottom:4px; }
.pv-sub{ margin-top:-8px; max-width:640px; }
.pv-frame{ border:2px solid var(--border); border-radius:14px; background:var(--bg2); overflow:hidden; margin-top:32px; }
.pv-topbar{ display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap; padding:14px 20px; background:var(--card); border-bottom:2px solid var(--border); }
.pv-brand{ display:flex; align-items:center; gap:8px; }
.pv-dot{ width:7px; height:7px; border-radius:50%; background:var(--accent); flex:none; }
.pv-toolbar{ display:flex; gap:8px; flex-wrap:wrap; }
.pv-pill{
  font-family:'JetBrains Mono',monospace; font-size:10.5px; letter-spacing:.08em; text-transform:uppercase;
  border:1px solid var(--border); background:var(--bg2); color:var(--muted); border-radius:20px; padding:6px 12px;
  white-space:nowrap;
}
.pv-pill-accent{ background:var(--accent); color:var(--accent-ink); border-color:var(--accent); font-weight:700; }
.pv-body{ display:grid; grid-template-columns:minmax(220px,34%) minmax(0,1fr); }
.pv-side{ padding:22px 20px; border-right:2px solid var(--border); }
.pv-doc-area{ padding:24px; position:relative; }
.pv-group{ border-bottom:1px solid var(--border); padding:14px 0; }
.pv-group:first-child{ padding-top:0; }
.pv-group:last-child{ border-bottom:0; padding-bottom:0; }
.pv-group > summary{
  cursor:pointer; font-size:11px; letter-spacing:.12em; text-transform:uppercase; color:var(--muted);
}
.pv-group > summary:focus-visible{ outline:2px solid var(--ink); outline-offset:3px; border-radius:3px; }
.pv-field{ margin-top:12px; }
.pv-field-label{ display:block; font-size:10px; }
.pv-field-value{ display:block; margin-top:3px; font-size:14px; font-weight:600; color:var(--ink); padding-bottom:6px; border-bottom:1px solid var(--border); }
.pv-status-pill{ display:inline-block; border:1px solid var(--accent-text); border-radius:6px; padding:2px 8px; font-size:11px; letter-spacing:.06em; }
.pv-chips{ display:flex; flex-wrap:wrap; gap:6px; margin-top:8px; }
.pv-chip{ border:1px solid var(--border); background:var(--card); border-radius:20px; padding:5px 11px; font-size:11.5px; }
.pv-chip-ghost{ border-style:dashed; color:var(--muted); }
.pv-tabs{ display:none; gap:6px; margin-bottom:16px; }
html.js .pv-tabs{ display:flex; }
.pv-tab{
  font-family:'JetBrains Mono',monospace; font-size:11px; letter-spacing:.08em; text-transform:uppercase;
  padding:8px 16px; border:1px solid var(--border); border-bottom:0; border-radius:10px 10px 0 0;
  background:var(--bg2); color:var(--muted); cursor:pointer;
}
.pv-tab[aria-selected="true"]{ background:var(--card); color:var(--ink); font-weight:700; }
.pv-tab:focus-visible{ outline:2px solid var(--ink); outline-offset:2px; }
.pv-doc{ background:var(--card); border:1px solid var(--border); border-radius:10px; padding:22px; box-shadow:var(--shadow); }
.pv-doc-head{ display:flex; align-items:center; gap:10px; }
.pv-doc-logo{ width:32px; height:32px; border-radius:8px; background:var(--ink); flex:none; }
.pv-doc-brand{ font-weight:800; letter-spacing:-.02em; }
.pv-doc-prepared{ margin-top:14px; }
.pv-doc-client{ margin-top:4px; font-size:19px; font-weight:700; letter-spacing:-.015em; }
.pv-doc-chips{ display:flex; flex-wrap:wrap; gap:8px; margin-top:16px; }
.pv-doc-chip{ font-size:10.5px; border:1px solid var(--border); border-radius:8px; padding:6px 10px; color:var(--muted); }
.pv-doc-chip b{ color:var(--ink); font-size:12px; margin-left:4px; }
.pv-doc-chip-status{ border-color:var(--accent-text); }
.pv-table{ margin-top:14px; border-top:2px solid var(--border); }
.pv-row{ display:grid; grid-template-columns:24px 1fr 76px; gap:10px; align-items:center; padding:10px 0; border-bottom:1px solid var(--border); }
.pv-row-head{ color:var(--muted); font-size:10px; letter-spacing:.1em; text-transform:uppercase; }
.pv-cell-amount{ text-align:right; font-weight:700; font-variant-numeric:tabular-nums; }
.pv-totals{ margin-top:14px; }
.pv-totals-line{ display:flex; justify-content:space-between; padding:4px 0; color:var(--muted); font-size:13px; }
.pv-total-main{ display:flex; justify-content:space-between; align-items:baseline; gap:10px; margin-top:10px; padding-top:12px; border-top:2px solid var(--border); }
.pv-total-main span:last-child{ font-size:26px; font-weight:800; color:var(--accent-text); font-variant-numeric:tabular-nums; }
.pv-doc-terms{ margin-top:14px; font-size:11.5px; }
.pv-pdf-wrap{ display:flex; flex-direction:column; align-items:center; padding:8px 0 4px; }
.pv-doc-area [hidden]{ display:none; }
.pv-pdf-stack{ position:relative; width:100%; max-width:300px; aspect-ratio:8.5/11; }
.pv-pdf-behind{
  position:absolute; inset:14px -14px -10px 14px; background:var(--bg2);
  border:1px solid var(--border); border-radius:8px; transform:rotate(2deg);
}
.pv-pdf-sheet{
  position:relative; z-index:1; width:100%; height:100%; background:var(--card);
  border:1px solid var(--border); border-radius:8px; box-shadow:var(--shadow);
  padding:20px; display:flex; flex-direction:column; gap:10px;
}
.pv-pdf-total{ margin-top:auto; padding-top:12px; }
.pv-pdf-hint{ margin-top:14px; text-align:center; max-width:280px; }
.pv-facts{ display:flex; flex-wrap:wrap; justify-content:center; gap:10px 28px; margin-top:28px; text-align:center; }
@media (max-width:759px){
  .pv-body{ grid-template-columns:1fr; }
  .pv-doc-area{ order:-1; border-bottom:2px solid var(--border); }
  .pv-side{ border-right:0; }
  .pv-row{ grid-template-columns:20px 1fr 62px; gap:6px; }
  .pv-total-main span:last-child{ font-size:22px; }
}
.pl2-plate{
  border:1px solid transparent;
  transition:background .25s ease,transform .18s ease,border-color .18s ease,box-shadow .18s ease;
}
.pl2-plate:hover{ transform:translateY(-4px); border-color:var(--accent-text); box-shadow:var(--shadow); z-index:1; }
.pl2-plate-featured{ border-color:var(--accent-text); }
.pl2-plate-featured::before{ content:''; position:absolute; top:0; left:0; right:0; height:3px; background:var(--accent); }
.pl2-plate-badge{
  font-family:'JetBrains Mono',monospace; font-size:10.5px; letter-spacing:.08em; text-transform:uppercase;
  color:var(--accent-text); font-weight:700; margin-top:20px;
}
html.js .ob-modules-grid.rv-set > .ob-module.rv{ transform:translateY(14px) translateZ(10px); }
html.js .ob-modules-grid.rv-set > .ob-module.rv.in{
  transform:translateY(0) translateZ(10px);
  transition:opacity .5s ease-out,transform .5s ease-out,border-color .2s,box-shadow .2s;
}
html.js .ob-modules-grid.rv-set > .ob-module.rv:nth-child(1),
html.js .ob-modules-grid.rv-set > .ob-module.rv:nth-child(4){ transform:translateY(14px) translateZ(24px); }
html.js .ob-modules-grid.rv-set > .ob-module.rv:nth-child(1).in,
html.js .ob-modules-grid.rv-set > .ob-module.rv:nth-child(4).in{ transform:translateY(0) translateZ(24px); }
.ob-module{ transition:border-color .2s,transform .2s,box-shadow .2s; }
.ob-module:hover{ box-shadow:0 14px 30px -18px rgba(0,0,0,.55); }
.ob-chip{ transition:border-color .18s ease,transform .18s ease,box-shadow .18s ease; }
.ob-chip:hover{ border-color:var(--accent-text); transform:scale(1.08); box-shadow:0 10px 24px -10px rgba(198,255,61,.45); }
.ob-cta-btn{ transition:transform .18s ease,box-shadow .18s ease; }
.ob-cta-btn:hover{ box-shadow:0 0 40px 10px rgba(11,13,17,.22); }
.ob-cta-btn:active{ transform:scale(.97); }
.cnt{ font-variant-numeric:tabular-nums; }
.lp2-steps-chapter{
  position:relative; margin-top:40px;
  display:grid; grid-template-columns:minmax(180px,260px) 1fr; gap:48px;
}
.lp2-steps-sticky{ position:sticky; top:96px; align-self:start; }
.lp2-steps-index{ font-size:13px; letter-spacing:.1em; color:var(--muted); }
.lp2-steps-track{ position:relative; padding-left:28px; border-left:2px dashed var(--border); }
.lp2-steps-dot{
  position:absolute; left:-7px; top:0; width:12px; height:12px; border-radius:50%;
  background:var(--accent); box-shadow:0 0 0 4px var(--bg2);
  transition:transform .35s ease;
}
.lp2-step-panel{
  min-height:220px; display:flex; flex-direction:column; justify-content:center;
  margin-bottom:24px;
}
.lp2-step-panel:last-child{ margin-bottom:0; }
html.js .lp2-step-panel{
  opacity:0; transform:translateY(16px);
  transition:opacity .4s ease-out,transform .4s ease-out;
}
html.js .lp2-step-panel.step-in{ opacity:.5; transform:translateY(0); }
html.js .lp2-step-panel.step-in.step-active{ opacity:1; border-color:var(--accent-text); }
@media (max-width:719px){
  .lp2-steps-chapter{ grid-template-columns:1fr; gap:20px; }
  .lp2-steps-sticky{ position:static; }
  .lp2-steps-track{ border-left:0; padding-left:0; }
  .lp2-steps-dot{ display:none; }
  .lp2-step-panel{ min-height:0; }
  html.js .lp2-step-panel,
  html.js .lp2-step-panel.step-in,
  html.js .lp2-step-panel.step-in.step-active{
    opacity:1; transform:none; border-color:var(--border);
  }
}
.pv-row-editable{ padding:14px 0; }
html.js .pv-row-editable .pv-row-name{ display:flex; flex-direction:column; align-items:flex-start; gap:8px; }
.pv-qty{ display:none; align-items:center; gap:6px; }
html.js .pv-qty{ display:inline-flex; }
.pv-qty-btn{
  min-width:44px; min-height:44px; display:inline-flex; align-items:center; justify-content:center;
  border:1px solid var(--border); border-radius:var(--r-chip); background:var(--card); color:var(--ink);
  font-family:'JetBrains Mono',monospace; font-size:16px; line-height:1; cursor:pointer;
  transition:transform .15s ease,border-color .15s ease;
}
.pv-qty-btn:hover:not(:disabled){ border-color:var(--accent-text); }
.pv-qty-btn:active:not(:disabled){ transform:scale(.94); }
.pv-qty-btn:focus-visible{ outline:2px solid var(--ink); outline-offset:2px; }
.pv-qty-btn:disabled{ opacity:.4; cursor:not-allowed; }
.pv-qty-val{ min-width:20px; text-align:center; font-size:13px; font-variant-numeric:tabular-nums; }
[data-pv-row-amount], [data-pv-subtotal], [data-pv-total]{ transition:color .25s ease; }
.pv-amount-hot{ color:var(--accent-text); }
@keyframes pvPanelIn{ from{ opacity:0; transform:translateY(8px); } to{ opacity:1; transform:translateY(0); } }
html.js .pv-panel-enter{ animation:pvPanelIn .32s ease-out; }
.nav-mega > summary{
  list-style:none; cursor:pointer; min-height:44px; position:relative;
  display:inline-flex; align-items:center; gap:6px;
  font-weight:600; font-size:14.5px; color:var(--ink);
  -webkit-tap-highlight-color:transparent;
}
.nav-mega > summary::-webkit-details-marker{ display:none; }
.nav-mega > summary::after{ content:'▾'; font-size:11px; transition:transform .15s ease; }
.nav-mega[open] > summary::after{ transform:rotate(180deg); }
.nav-mega > summary::before{
  content:''; position:absolute; left:0; right:14px; bottom:2px; height:2px;
  background:var(--accent-text); border-radius:1px;
  transform:scaleX(0); transform-origin:left; transition:transform .18s ease;
}
.nav-mega > summary:hover::before, .nav-mega > summary:focus-visible::before,
.nav-mega[open] > summary::before{ transform:scaleX(1); }
.nav-mega-panel{
  position:absolute; left:0; right:0; top:100%;
  background:var(--card); border-bottom:1px solid var(--border);
  box-shadow:var(--shadow);
}
@keyframes navMegaIn{ from{ opacity:0; transform:translateY(-6px); } to{ opacity:1; transform:translateY(0); } }
.nav-mega[open] > .nav-mega-panel{ animation:navMegaIn .18s ease-out; }
.nav-mega-grid{ display:grid; grid-template-columns:1fr 220px; gap:48px; padding-top:32px; padding-bottom:22px; }
.nav-mega-label{ margin-bottom:10px; }
.nav-mega-cards{ display:grid; grid-template-columns:repeat(2,minmax(220px,300px)); justify-content:start; gap:14px; }
.nav-mega-card{
  display:flex; flex-direction:column; align-items:flex-start; gap:8px;
  padding:16px; border:1px solid var(--border); border-radius:var(--r-card);
  color:var(--ink);
  transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;
}
.nav-mega-card:hover, .nav-mega-card:focus-visible{
  transform:translateY(-3px); border-color:var(--accent-text); box-shadow:var(--shadow);
}
.nav-mega-card-name{ font-weight:700; font-size:15px; letter-spacing:-.2px; }
.nav-mega-card-tag{ font-size:11px; color:var(--accent-text); }
.nav-mega-comingLabel{ margin-top:18px; }
.nav-mega-coming{ display:flex; flex-wrap:wrap; gap:6px 0; }
.nav-mega-coming span:not(:last-child)::after{ content:'◆'; margin:0 10px; color:var(--border); }
.nav-mega-secondary{ display:flex; flex-direction:column; gap:2px; border-left:1px solid var(--border); padding-left:24px; }
.nav-mega-secondary a{ min-height:44px; display:flex; align-items:center; font-weight:600; font-size:14px; color:var(--ink); }
.nav-mega-secondary a:hover{ color:var(--accent-text); }
.nav-mega-foot{
  display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap;
  border-top:1px solid var(--border); padding-top:16px; padding-bottom:16px;
}
.nav-mega-viewall{ min-height:44px; display:inline-flex; align-items:center; font-weight:700; font-size:14px; color:var(--ink); }
.nav-mega-viewall:hover{ color:var(--accent-text); }
.lp-margin-cota{ display:none; }
@media (min-width:1024px){
  main{ padding:40px 56px 80px; }
}
@media (min-width:1680px){
  main{ max-width:1300px; }
  .lp-hero-content{ max-width:660px; padding:clamp(120px,7.14vw,158px) 0 clamp(64px,3.81vw,84px); }
  .lp-hero-content h1, .lp-hero-content h2{ font-size:clamp(78px,4.64vw,106px); }
  .lp-hero-content p{ font-size:19px; max-width:500px; }
  .lp-price-line{ font-size:12.5px; }
  .lp-hero{
    grid-template-columns:minmax(460px,1fr) minmax(420px,760px);
    column-gap:clamp(40px,4vw,72px);
  }
  .lp-hero-canvas{ gap:22px; padding-top:clamp(64px,5vw,112px); }
  .lp-float-chat .lp-float-head span{ font-size:17px; }
  .lp-bubble{ font-size:15px; }
  .lp-stats-amount{ font-size:30px; }
  .lp-float-paid span:not(.lp-paid-icon){ font-size:17px; }
  .lp-float-products span:last-child{ font-size:13px; }
  .lp2-steps{ padding-top:76px; padding-bottom:84px; }
  .lp2-steps-chapter{ grid-template-columns:minmax(220px,300px) 1fr; gap:64px; }
  .lp2-steps-index{ font-size:14px; }
  .lp2-step-panel{ min-height:260px; }
  .lp2-step-panel h3{ font-size:21px; }
  .lp2-step-panel p{ font-size:16px; }
  .lp2-flow{ padding:76px 0 84px; }
  .lp2-flow-grid{ gap:28px; }
  .pv-body{ grid-template-columns:minmax(260px,32%) minmax(0,1fr); }
  .pv-side{ padding:28px 26px; }
  .pv-doc-area{ padding:32px; }
  .pv-doc{ padding:28px; }
  .pv-doc-client{ font-size:21px; }
  .pv-total-main span:last-child{ font-size:30px; }
  .grid{ gap:28px; }
  .lp-card-icon{ width:52px; height:52px; }
  .lp-cta{ padding-top:72px; padding-bottom:72px; }
  .lp-cta-text{ font-size:clamp(42px,2.5vw,58px); }
  .lp-cta .btn-accent{ font-size:17px; padding:19px 38px; }
  .lp-margin-cota{
    display:flex; flex-direction:column; align-items:center; gap:14px;
    position:absolute; top:0; bottom:0; width:1px;
    justify-content:center; pointer-events:none; z-index:1;
  }
  .lp-margin-cota-l{ left:calc((100% - 1480px)/4); }
  .lp-margin-cota-r{ right:calc((100% - 1480px)/4); }
  .lp-margin-line{ width:1px; flex:1; max-height:100px; background:var(--border); }
  .lp-margin-label{
    writing-mode:vertical-rl; text-transform:uppercase; white-space:nowrap;
    font-size:10.5px; letter-spacing:.16em; color:var(--muted); opacity:.75;
  }
  .pl2-hero-content{ max-width:600px; padding:76px 0 56px; }
  .pl2-hero-content h1{ font-size:clamp(88px,5.24vw,120px); }
  .pl2-hero-content p{ font-size:19px; max-width:460px; }
  .pl2-hero-grid{ grid-template-columns:minmax(400px,1fr) 600px; gap:40px; }
  .pl2-hero-canvas{ width:600px; height:740px; }
  .pl2-mobile{
    transform:translate3d(calc(var(--mx)*16px),calc(var(--my)*10px),0) scale(1.14);
    transform-origin:top left;
  }
  .pl2-serie-grid{ gap:2px; }
  .pl2-plate{ padding:38px 34px 32px; }
  .pl2-plate-art{ height:220px; }
  .pl2-plate h3{ font-size:23px; }
  .pl2-taller{ padding:76px 0; }
  .pl2-taller-grid{ grid-template-columns:1fr 440px; gap:56px; }
  .pl2-taller-art{ height:280px; }
  .pl2-cta{ padding-top:80px; padding-bottom:80px; }
  .pl2-cta-text{ font-size:clamp(50px,2.98vw,68px); }
  .ob-hero{ padding:80px 0 56px; }
  .ob-h1{ font-size:clamp(62px,3.69vw,84px); }
  .ob-lead{ font-size:17px; max-width:460px; }
  .ob-stage{ width:min(760px,36vw); }
  .ob-halo{ width:760px; height:760px; }
  .ob-modules-section{ padding-top:60px; padding-bottom:8px; }
  .ob-modules-grid{ gap:20px; }
  .ob-module{ padding:26px; }
  .ob-module-name{ font-size:17px; }
  .ob-story{ padding-top:72px; padding-bottom:80px; }
  .ob-story-card{ padding:44px 48px; max-width:860px; }
  .ob-cta-inner{ padding-top:64px; padding-bottom:64px; }
  .ob-cta-text{ font-size:clamp(42px,2.5vw,58px); }
  .lp-marquee-label{ font-size:11.5px; padding:12px 20px; }
  .lp-marquee-track{ font-size:12px; }
}
@media (min-width:2200px){
  .shell-inner{ max-width:1680px; }
  .lp-margin-cota-l{ left:calc((100% - 1680px)/4); }
  .lp-margin-cota-r{ right:calc((100% - 1680px)/4); }
}
.pl2-spread{ padding:56px 0 8px; }
.pl2-spread-alt{ background:var(--bg2); }
.pl2-spread-grid{ display:grid; grid-template-columns:380px 1fr; gap:44px; align-items:center; margin:28px 0 40px; }
.pl2-spread-grid-rev{ grid-template-columns:1fr 380px; }
.pl2-spread-grid-rev .pl2-spread-art{ order:2; }
.pl2-spread-specs h3{ font-size:clamp(28px,3vw,38px); font-weight:800; letter-spacing:-.03em; margin:10px 0 14px; }
.pl2-spread-specs > p{ color:var(--muted); line-height:1.7; max-width:460px; }
.pl2-spec-table{ margin:22px 0 0; display:flex; flex-direction:column; }
.pl2-spec-row{ display:flex; gap:16px; padding:9px 0; border-top:1px solid var(--border); }
.pl2-spec-row dt{ flex:0 0 112px; }
.pl2-spec-row dd{ margin:0; font-size:14px; color:var(--ink); line-height:1.6; }
.pl2-spread-note{ margin-top:18px; padding-top:14px; border-top:1px dashed var(--border); color:var(--accent-text); }
.pl2-spread-art{ position:relative; height:260px; }
.pl2-spread-art-frame{ position:absolute; left:24px; top:16px; width:170px; height:170px; border:2px solid var(--ink); }
.pl2-spread-art-orb{ position:absolute; right:20px; bottom:10px; width:150px; height:150px; border-radius:50%; background:var(--accent); mix-blend-mode:var(--blend); }
.pl2-spread-art-dash{ position:absolute; left:172px; top:96px; width:64px; height:0; border-top:1.5px dashed var(--muted); }
.pl2-spread-art-tag-a{ position:absolute; left:26px; top:150px; }
.pl2-spread-art-tag-b{ position:absolute; right:22px; bottom:-2px; }
.pl2-spread-art-bubble{ position:absolute; left:30px; top:34px; width:150px; height:96px; border:2px solid var(--ink); border-radius:22px 22px 22px 4px; }
.pl2-spread-art-dot{ position:absolute; top:96px; width:10px; height:10px; border-radius:50%; background:var(--ink); animation:typeDot 1.4s ease-in-out infinite; }
.pl2-spread-art-spark{ position:absolute; width:34px; height:34px; background:var(--accent); clip-path:polygon(50% 0%,61% 39%,100% 50%,61% 61%,50% 100%,39% 61%,0% 50%,39% 39%); animation:coreBeat 3.2s ease-in-out infinite; }
.pl2-spread-art-spark-lg{ right:24px; top:18px; }
.pl2-spread-art-spark-sm{ right:56px; bottom:30px; width:16px; height:16px; animation-delay:.6s; }
@media (max-width:759px){
  .pl2-spread-grid, .pl2-spread-grid-rev{ grid-template-columns:1fr; }
  .pl2-spread-art{ display:none; }
}
.pl2-bot-plate-bubble{ position:absolute; left:20px; top:22px; width:82px; height:56px; border:1.6px solid var(--ink); border-radius:14px 14px 14px 3px; }
.pl2-bot-plate-bubble-fill{ background:var(--ink); }
.pl2-bot-plate-spark{ position:absolute; width:18px; height:18px; background:var(--accent); clip-path:polygon(50% 0%,61% 39%,100% 50%,61% 61%,50% 100%,39% 61%,0% 50%,39% 39%); }
.pl2-bot-plate-ring{ position:absolute; left:34px; top:24px; width:122px; height:122px; border:1.5px dashed var(--muted); border-radius:50%; opacity:.6; }
.pl2-plate-price-setup{ display:block; font-size:11px; letter-spacing:.02em; margin-top:3px; text-transform:none; font-family:'Archivo',sans-serif; }
html.theme-vt::view-transition-old(root),
html.theme-vt::view-transition-new(root){
  animation: none;
  mix-blend-mode: normal;
}
html.theme-vt::view-transition-old(root){ z-index: 0; }
html.theme-vt::view-transition-new(root){ z-index: 1; }
main.shell-full::before, .ed-page::before{
  content:'';
  position:fixed; inset:0; z-index:3; pointer-events:none;
  opacity:.04;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='180' height='180' filter='url(%23n)'/%3E%3C/svg%3E");
}
[data-theme="dark"] main.shell-full::before, [data-theme="dark"] .ed-page::before{
  opacity:.06;
}
.btn-accent{ transform:translate(var(--mag-x,0px),var(--mag-y,0px)); }
.btn-accent:hover{ transform:translate(var(--mag-x,0px),calc(var(--mag-y,0px) - 1px)); }
.btn-accent:active{ transform:translate(var(--mag-x,0px),var(--mag-y,0px)) scale(.97); }
@media (prefers-reduced-motion: reduce){
  .btn-accent{ transform:none; }
}
.ac2{ position:relative; padding:8px 0 60px; }
.ac2-head{ max-width:640px; }
.ac2-head h2{ margin-top:14px; }
.ac2-body{ margin-top:10px; }
.ac2-chapter{ margin-top:36px; display:grid; grid-template-columns:1fr; gap:24px; }
@media (min-width:720px){
  .ac2-chapter{ grid-template-columns:minmax(0,1fr) 220px; gap:40px; align-items:start; }
  .ac2-stage-wrap{ position:sticky; top:96px; }
}
.ac2-stage{
  position:relative; overflow:hidden; border:1px solid var(--border);
  border-radius:var(--r-card); background:var(--bg2); padding:22px;
}
.ac2-stage::before{
  content:''; position:absolute; inset:0; background:var(--ac2-ll); opacity:.4;
  transition:background-color .5s ease; pointer-events:none;
}
.ac2-tools{ position:relative; z-index:1; display:grid; grid-template-columns:1fr; gap:14px; }
@media (min-width:560px){ .ac2-tools{ grid-template-columns:1fr 1fr; } }
.ac2-tool{
  background:var(--card); border:1px solid var(--border); border-radius:var(--r-card);
  border-top:3px solid var(--ac2-p); overflow:hidden; transition:border-color .5s ease;
}
.ac2-tool-head{ display:flex; align-items:center; gap:8px; padding:11px 13px; border-bottom:1px solid var(--border); }
.ac2-tool-dot{ width:9px; height:9px; border-radius:50%; background:var(--ac2-p); flex:0 0 auto; transition:background-color .5s ease; }
.ac2-tool-brand{ font-weight:700; font-size:13px; letter-spacing:-.01em; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.ac2-tool-kicker{ margin-left:auto; font-size:9px; flex:0 0 auto; }
.ac2-tool-body{ padding:12px 13px; display:flex; flex-direction:column; gap:7px; }
.ac2-bubble{ align-self:flex-start; max-width:88%; background:var(--bg2); border-radius:11px 11px 11px 3px; padding:7px 10px; font-size:12px; }
.ac2-bubble-mine{ align-self:flex-end; background:var(--ac2-l); color:var(--accent-ink); border-radius:11px 11px 3px 11px; transition:background-color .5s ease; }
.ac2-tool-rows{ padding:11px 13px 0; display:flex; flex-direction:column; gap:6px; font-size:12px; }
.ac2-tool-row{ display:flex; justify-content:space-between; gap:8px; color:var(--muted); }
.ac2-tool-total{
  display:flex; justify-content:space-between; align-items:baseline; gap:8px;
  margin:11px 13px 13px; padding:9px 11px; border-radius:var(--r-chip);
  background:var(--ac2-ll); transition:background-color .5s ease;
}
.ac2-tool-total span:first-child{ font-size:10.5px; text-transform:uppercase; letter-spacing:.06em; color:#5B6472; font-weight:600; }
.ac2-tool-total span:last-child{ font-size:15px; font-weight:700; color:var(--accent-ink); }
.ac2-track{ display:none; }
@media (min-width:720px){
  html.js .ac2-track{ display:block; position:relative; padding-left:22px; border-left:2px dashed var(--border); }
}
@media (prefers-reduced-motion: reduce){
  html.js .ac2-track{ display:none !important; }
}
.ac2-track-dot{
  position:absolute; left:-7px; top:0; width:12px; height:12px; border-radius:50%;
  background:var(--accent); box-shadow:0 0 0 4px var(--bg2); transition:transform .35s ease;
}
.ac2-frame{ min-height:clamp(180px,30vh,300px); display:flex; align-items:center; }
.ac2-frame-label{ opacity:.4; transition:opacity .3s ease,color .3s ease; }
.ac2-frame.is-active .ac2-frame-label{ opacity:1; color:var(--accent-text); }
.ac2-swatches{ display:flex; gap:8px; flex-wrap:wrap; list-style:none; padding:0; margin:26px auto 0; max-width:760px; justify-content:center; }
.ac2-swatch{
  display:inline-flex; align-items:center; gap:7px; min-height:44px; padding:8px 14px;
  border:1px solid var(--border); border-radius:var(--r-pill); background:var(--card);
  cursor:pointer; font-size:11.5px; color:var(--ink);
  transition:border-color .2s ease,box-shadow .2s ease,transform .15s ease;
}
.ac2-swatch-dot{ width:12px; height:12px; border-radius:50%; background:var(--sw); flex:0 0 auto; border:1px solid var(--border); }
.ac2-swatch:hover{ border-color:var(--accent-text); }
.ac2-swatch:active{ transform:scale(.96); }
.ac2-swatch:focus-visible{ outline:2px solid var(--ink); outline-offset:2px; }
.ac2-swatch[aria-pressed="true"]{ border-color:var(--accent-text); box-shadow:0 0 0 1px var(--accent-text) inset; }
@media (min-width:720px){
  html.js .ac2-swatches{
    position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden;
    clip:rect(0,0,0,0); white-space:nowrap; border:0;
  }
}
@media (prefers-reduced-motion: reduce){
  html.js .ac2-swatches{
    position:static; width:auto; height:auto; padding:0; margin:26px auto 0; overflow:visible;
    clip:auto; white-space:normal; border:0; display:flex;
  }
}
.ac2-hint{ display:none; }
html.js .ac2-hint{ display:block; text-align:center; margin-top:14px; }
.ac2-hint-desktop{ display:none; }
.ac2-hint-mobile{ display:inline; }
@media (min-width:720px){ .ac2-hint-desktop{ display:inline; } .ac2-hint-mobile{ display:none; } }
@media (prefers-reduced-motion: reduce){ html.js .ac2-hint{ display:none; } }
.ac3{ position:relative; padding:8px 0 64px; }
.ac3-head{ max-width:660px; }
.ac3-head h2{ margin-top:14px; }
.ac3-body{ margin-top:10px; }
.ac3-toolbar{ display:flex; align-items:center; gap:14px; margin-top:18px; }
.ac3-example-tag{ color:var(--muted); }
.ac3-replay{
  display:inline-flex; align-items:center; min-height:44px; padding:0 16px;
  border:1px solid var(--border); border-radius:var(--r-pill); background:var(--card);
  color:var(--ink); cursor:pointer; transition:border-color .2s ease,transform .15s ease;
}
.ac3-replay:hover{ border-color:var(--accent-text); }
.ac3-replay:active{ transform:scale(.96); }
.ac3-replay:focus-visible{ outline:2px solid var(--ink); outline-offset:2px; }
@media (prefers-reduced-motion: reduce){ .ac3-replay{ display:none; } }
.ac3-stage{ margin-top:32px; display:grid; grid-template-columns:1fr; gap:16px; }
@media (min-width:820px){ .ac3-stage{ grid-template-columns:1fr 1fr 1fr; } }
.ac3-card{
  position:relative; border:1px solid var(--border); border-radius:var(--r-card);
  background:var(--card); padding:18px; display:flex; flex-direction:column; gap:12px; min-height:220px;
}
.ac3-card-kicker{ color:var(--muted); }
.ac3-doc{
  position:relative; overflow:hidden; border:1px solid var(--border); border-radius:var(--r-flat);
  background:var(--bg2); padding:14px; display:flex; flex-direction:column; gap:7px;
}
.ac3-doc-line{ display:block; height:7px; border-radius:4px; background:var(--border); width:100%; }
.ac3-doc-line-s{ width:62%; }
.ac3-doc-total{ margin-top:4px; font-weight:800; font-size:17px; letter-spacing:-.02em; }
.ac3-doc-sheen{
  position:absolute; top:0; left:0; width:34%; height:100%;
  background:linear-gradient(90deg,transparent,rgba(198,255,61,.22),transparent);
  transform:translateX(-120%) skewX(-18deg); pointer-events:none;
}
html.js [data-ac3-reveal]{ opacity:0; transform:translateY(8px); }
html.js .ac3-play [data-ac3-reveal]{ animation:ac3RevealIn .5s ease-out both; }
html.js .ac3-play [data-ac3-reveal][data-ac3-delay="1"]{ animation-delay:.5s; }
html.js .ac3-play [data-ac3-reveal][data-ac3-delay="2"]{ animation-delay:1s; }
@keyframes ac3RevealIn{ from{ opacity:0; transform:translateY(8px); } to{ opacity:1; transform:translateY(0); } }
html.js .ac3-doc-sheen{ animation:none; }
html.js .ac3-play .ac3-doc-sheen{ animation:sheenRun .8s ease-out; animation-iteration-count:1; }
.ac3-link-row{ display:flex; align-items:center; gap:8px; font-size:12.5px; }
.ac3-link-icon{ color:var(--accent-text); font-weight:700; }
.ac3-pill-in, .ac3-accept, .ac3-deal-pill{
  display:inline-flex; align-items:center; gap:8px; align-self:flex-start;
  border:1px solid var(--border); border-radius:var(--r-pill); padding:8px 13px; font-size:12.5px;
}
.ac3-accept{ border-color:var(--accent-text); color:var(--ink); background:var(--bg2); }
.ac3-accept svg{ color:var(--accent-text); flex:0 0 auto; }
.ac3-deal-pill{ background:var(--bg2); }
.ac3-deal-pill b{ color:var(--accent-text); }
.ac3-counter{ margin-top:auto; padding-top:12px; border-top:1px solid var(--border); display:flex; justify-content:space-between; align-items:baseline; }
.ac3-counter-value{ font-size:20px; font-weight:800; letter-spacing:-.02em; font-variant-numeric:tabular-nums; }
.ac3-bubble{ align-self:flex-start; max-width:92%; background:var(--bg2); border-radius:12px 12px 12px 3px; padding:9px 12px; font-size:12.5px; }
.ac3-card-bot .ac3-bubble-mine{ border:1px dashed var(--border); }
.lp-hero{ display:block; }
.lp-hero-canvas{ display:block; padding-bottom:clamp(36px,5vw,64px); }
.lp-kin-word{
  display:inline-block;
  opacity:0; transform:translateY(14px);
  animation:kinWordIn .38s cubic-bezier(.16,1,.3,1) forwards;
  animation-delay:calc(var(--wi,0) * 35ms);
}
@keyframes kinWordIn{ to{ opacity:1; transform:translateY(0); } }
.lp-machines{ display:flex; flex-direction:column; gap:16px; }
@media (min-width:860px){
  .lp-machines{ flex-direction:row; align-items:stretch; }
  .lp-machine{ flex:1 1 0; min-width:0; }
}
.lp-machine{
  background:var(--card); border:1px solid var(--border); border-radius:var(--r-card);
  padding:20px 22px; box-shadow:var(--shadow);
  display:flex; flex-direction:column; gap:14px;
  opacity:0; transform:translateY(16px);
  animation:lpMachineIn .5s cubic-bezier(.16,1,.3,1) forwards;
}
.lp-machine:nth-child(2){ animation-delay:120ms; }
@keyframes lpMachineIn{ to{ opacity:1; transform:translateY(0); } }
@media (prefers-reduced-motion: reduce){
  .lp-kin-word{ animation:none; opacity:1; transform:none; }
  .lp-machine{ animation:none; opacity:1; transform:none; }
}
.lp-machine-head{ display:flex; align-items:center; gap:8px; }
.lp-machine-dot{ width:8px; height:8px; border-radius:50%; background:var(--accent); flex:none; animation:nodePulse 2s ease-in-out infinite; }
.lp-machine-title{ display:flex; align-items:center; gap:8px; font-weight:700; font-size:15.5px; color:var(--ink); }
.lp-machine-tag{ margin-left:auto; }
.lp-machine-sub{ margin-top:-6px; }
.lp-machine-note{ margin-top:2px; }
.lp-bot-log{ display:flex; flex-direction:column; gap:10px; min-height:88px; }
.lp-bot-close{
  align-self:flex-start; background:rgba(198,255,61,.14); border:1px solid var(--accent-text);
  border-radius:10px; padding:8px 12px; color:var(--accent-text); font-size:10.5px;
}
.lp-bot-choices{ display:none; flex-wrap:wrap; gap:8px; }
html.js .lp-bot-choices{ display:flex; }
html.js .lp-bot-static{ display:none; }
.lp-bot-choice{
  min-height:44px; padding:9px 14px; border:1px solid var(--border); border-radius:var(--r-pill);
  background:var(--bg2); color:var(--ink); font-size:13px; cursor:pointer;
  transition:border-color .15s ease, transform .15s ease;
}
.lp-bot-choice:hover{ border-color:var(--accent-text); }
.lp-bot-choice:active{ transform:scale(.97); }
.lp-bot-choice:focus-visible{ outline:2px solid var(--ink); outline-offset:2px; }
.lp-bot-reset{
  align-self:flex-start; min-height:40px; padding:8px 14px; border:1px solid var(--border);
  border-radius:var(--r-pill); background:transparent; color:var(--muted); cursor:pointer;
}
.lp-bot-reset:hover{ color:var(--ink); border-color:var(--accent-text); }
.lp-bot-reset:focus-visible{ outline:2px solid var(--ink); outline-offset:2px; }
.lp-tool-card{ display:flex; flex-direction:column; }
.lp-tool-card > .btn{ margin-top:auto; }
.lp-tool-price{ color:var(--accent-text); margin:2px 0 6px; }
.rails{ position:fixed; inset:0; z-index:0; pointer-events:none; }
.rails-inner{ max-width:1480px; height:100%; margin:0 auto; padding:0 24px; }
.rails-inner > span{ display:block; height:100%; border-left:1px solid var(--border); border-right:1px solid var(--border); opacity:.55; }
@media (min-width:768px){ .rails-inner{ padding:0 40px; } }
@media (min-width:1024px){ .rails-inner{ padding:0 56px; } }
main{ position:relative; z-index:1; }
footer{ position:relative; z-index:1; }
.nav{ padding-top:12px; padding-bottom:12px; gap:24px; }
.nav-left{ gap:28px; }
.nav-right{ gap:14px; }
.nav .brand{ font-size:17.5px; }
.nav-sections{ gap:4px; }
.nav-sections > a, .nav-mega > summary{
  padding:0 12px; border-radius:8px;
  transition:background-color .15s ease, color .15s ease;
}
.nav-sections > a:hover, .nav-mega > summary:hover{ background:var(--bg2); }
.nav-sections > a::after{ display:none; }
.nav-sections > a.nav-active{ background:var(--bg2); }
.nav-utils{
  display:inline-flex; align-items:stretch;
  border:1px solid var(--border); border-radius:var(--r-pill); overflow:hidden;
}
.nav-utils > *{ border-radius:0; border:0; min-height:38px; }
.nav-utils .lang-switch{
  display:inline-flex; align-items:center; padding:0 13px;
  font-size:10.5px; color:var(--muted); letter-spacing:.1em;
  border-right:1px solid var(--border);
  transition:background-color .15s ease, color .15s ease;
}
.nav-utils .lang-switch::after{ display:none; }
.nav-utils .lang-switch:hover{ background:var(--bg2); color:var(--ink); }
.nav-utils .theme-toggle{ padding:0 13px; font-size:11px; }
.nav-utils .theme-toggle:hover{ background:var(--bg2); }
@media (min-width:760px){
  .nav-right > a[href="/login"], .nav-right > a[href="/en/login"]{ margin-left:4px; padding-left:18px; border-left:1px solid var(--border); }
}
.lp-marquee{ background:var(--bg2); }
.lp-marquee-inner{ display:flex; align-items:stretch; min-width:0; }
.lp-marquee-viewport{ min-width:0; }
.lp-marquee-label{ display:inline-flex; align-items:center; padding:8px 28px 8px 0; background:transparent; color:var(--accent-text); flex:none; border-right:1px solid var(--border); }
.lp-marquee-label::before{
  content:''; width:6px; height:6px; border-radius:50%; background:var(--accent-text);
  margin-right:9px; flex:none; animation:nodePulse 2s ease-in-out infinite;
}
.lp-marquee-stat{ display:inline-flex; align-items:center; padding-left:26px; flex:none; border-left:1px solid var(--border); }
.lp-marquee-track{ padding:8px 0; }
.lp-marquee-viewport{
  -webkit-mask-image:linear-gradient(to right,transparent,#000 44px,#000 calc(100% - 44px),transparent);
  mask-image:linear-gradient(to right,transparent,#000 44px,#000 calc(100% - 44px),transparent);
}
.lp-marquee-viewport{ margin:0 4px; }
@media (max-width:759px){ .lp-marquee-stat{ display:none; } }
.lp-hero{ display:block; }
.lp-hero-content{ max-width:none; padding:clamp(44px,6vw,72px) 0 clamp(40px,5vw,60px); }
.lp-hero-content p{ max-width:480px; }
.lp-hero-canvas{ display:block; padding-bottom:clamp(36px,4vw,56px); }
@media (min-width:1024px){
  .lp-hero{
    display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.02fr);
    gap:clamp(36px,4.4vw,72px); align-items:center;
  }
  .lp-hero-content{ padding:clamp(40px,4vw,56px) 0; }
  .lp-hero-canvas{ padding-bottom:0; }
  .lp-machines{ flex-direction:column; }
}
.lp-chips{ max-width:none; gap:8px; }
.lp-chips-label{ margin:24px 0 10px; }
.lp-machine{ padding:16px 18px; gap:11px; }
.lp-machine .pv-row{ padding-top:9px; padding-bottom:9px; }
.lp-machine .pv-total-main{ padding-top:11px; padding-bottom:11px; }
.lp-bot-log{ min-height:72px; }
.lp-machine-title svg{ stroke:var(--accent-text); }
.lp-machine-title svg circle{ fill:var(--accent-text); }
.lp-cta-section{ padding-top:0; padding-bottom:0; }
.plan-usd-note{ text-align:left; }
.cns{
  --bg:var(--srf); --bg2:#1B2130; --card:var(--srf-card); --panel:rgba(244,246,249,.06);
  --border:var(--srf-border); --ink:#FFFFFF; --muted:#9AA3B2; --accent-text:#C6FF3D;
  --wire:rgba(244,246,249,.46);
  position:relative; border-radius:26px; color:var(--ink); padding:10px;
  background:linear-gradient(180deg,var(--srf-hi) 0%,var(--srf) 46%,var(--srf-lo) 100%);
  border:1px solid var(--border);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.07),
    0 0 0 7px var(--bed-rim),
    0 22px 42px -16px var(--bed-near),
    0 58px 104px -34px var(--bed-far);
}
.cns::before{
  content:''; position:absolute; inset:0; border-radius:inherit; pointer-events:none;
  background-image:radial-gradient(circle,rgba(244,246,249,.15) 1.1px,transparent 1.1px);
  background-size:22px 22px;
}
.cns > *{ position:relative; z-index:1; }
.cns-head{
  display:flex; align-items:center; gap:10px; padding:2px 6px 10px;
}
.cns-bar-dot{
  width:7px; height:7px; border-radius:50%; background:var(--accent-text); flex:none;
  box-shadow:0 0 0 0 rgba(198,255,61,.5); animation:cnsPing 2.4s ease-out infinite;
}
@keyframes cnsPing{ 0%{ box-shadow:0 0 0 0 rgba(198,255,61,.45); } 70%,100%{ box-shadow:0 0 0 9px rgba(198,255,61,0); } }
.cns-bar-name{ font-weight:700; font-size:14px; letter-spacing:-.01em; }
.cns-bar-state{ color:var(--accent-text); font-size:10px; }
.cns.is-manual .cns-bar-state{ color:var(--muted); }
.cns-bar-btn{
  flex:none; margin-left:auto; width:26px; height:26px; border-radius:50%; cursor:pointer;
  border:1px solid var(--border); background:transparent; color:var(--muted);
  display:inline-flex; align-items:center; justify-content:center;
  transition:border-color .15s ease, color .15s ease;
}
.cns-bar-btn:hover, .cns-bar-btn:focus-visible{ border-color:var(--accent-text); color:var(--ink); }
.cns-bar-icon{ width:9px; height:10px; border-left:3px solid currentColor; border-right:3px solid currentColor; }
.cns.is-paused .cns-bar-icon{
  width:0; height:0; border:0; margin-left:2px;
  border-left:9px solid currentColor; border-top:6px solid transparent; border-bottom:6px solid transparent;
}
.cns-sr{ position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }
.cns-board{ display:flex; flex-direction:column; gap:12px; }
.cns-slot{ position:relative; min-width:0; }
@media (min-width:1024px){
  .cns-board{
    display:grid;
    grid-template-columns:repeat(8,minmax(0,1fr)) 24px repeat(4,minmax(0,1fr));
    grid-template-rows:auto 26px auto;
    column-gap:12px; row-gap:0;
  }
  .cns-slot-bot     { grid-column:1 / 9;   grid-row:1; }
  .cns-slot-readouts{ grid-column:10 / 14; grid-row:1; }
  .cns-slot-wire1   { grid-column:1 / 9;   grid-row:2; }
  .cns-slot-wire3   { grid-column:10 / 14; grid-row:2; }
  .cns-slot-quote   { grid-column:1 / 9;   grid-row:3; }
  .cns-slot-wire2   { grid-column:9 / 10;  grid-row:3; }
  .cns-slot-stock   { grid-column:10 / 14; grid-row:3; }
  .cns-slot-stock{ margin-right:-48px; z-index:2; }
}
.cns-slot-bot, .cns-slot-readouts, .cns-slot-quote, .cns-slot-stock{ z-index:1; }
.cns-slot-wire1, .cns-slot-wire2, .cns-slot-wire3{ z-index:0; }
.cns-slot-readouts{ display:flex; flex-direction:column; }
.cns-slot-readouts > *{ flex:1 1 auto; }
.cns .lp-machine, .cns .cns-chip{
  --bg:#FFFFFF; --bg2:#F4F6F9; --card:#FFFFFF; --panel:#F4F6F9;
  --border:#E4E7EC; --ink:#0B0D11; --muted:#5B6472; --accent-text:#4C6B05;
  background:var(--card); border:1px solid var(--border); color:var(--ink);
}
.cns .lp-machine{
  border-radius:var(--r-card); padding:14px 16px; gap:10px;
  position:relative; overflow:hidden;
}
.cns-slot-bot   .lp-machine{ box-shadow:0 22px 44px -20px rgba(0,0,0,.55); }
.cns-slot-quote .lp-machine{ box-shadow:0 28px 54px -22px rgba(0,0,0,.6); }
.cns-slot-stock .lp-machine{ box-shadow:0 34px 64px -20px rgba(0,0,0,.7); height:100%; }
.cns-slot-quote .lp-machine{ animation-delay:90ms; }
.cns-slot-stock .lp-machine{ animation-delay:180ms; }
.cns-chip{
  display:flex; flex-direction:column; gap:8px; height:100%;
  border-radius:var(--r-card); padding:16px 18px; position:relative; overflow:hidden;
  box-shadow:0 22px 44px -20px rgba(0,0,0,.55);
  opacity:0; transform:translateY(16px);
  animation:lpMachineIn .5s cubic-bezier(.16,1,.3,1) forwards;
  animation-delay:135ms;
}
.cns-chip-label{ font-size:10px; color:var(--muted); }
.cns-avatar{
  flex:none; width:34px; height:34px; border-radius:11px;
  background:var(--ink); color:var(--accent);
  display:inline-flex; align-items:center; justify-content:center;
  box-shadow:0 6px 14px -6px rgba(11,13,17,.5);
}
.cns-avatar svg{ width:19px; height:19px; }
.cns-ask-row{ display:flex; align-items:center; gap:10px; margin-top:2px; }
.cns-ask{ font-size:9.5px; color:var(--muted); }
.cns-ask::after{ content:' ↓'; color:var(--accent-text); }
.cns .lp-bot-reset{
  margin-left:auto; align-self:auto; min-height:26px; width:26px; padding:0;
  display:inline-flex; align-items:center; justify-content:center;
  border-radius:50%; font-size:13px; line-height:1;
}
.cns .lp-bot-reset[hidden]{ display:none; }
.cns-wire{ position:absolute; inset:0; pointer-events:none; }
.cns-wire i{ position:absolute; display:block; }
.cns-wire-v1, .cns-wire-v2{
  width:1px;
  background:linear-gradient(180deg,var(--wire) 0 5px,transparent 5px 12px) 0 0/1px 12px repeat-y;
}
.cns-wire-h{
  height:1px;
  background:linear-gradient(90deg,var(--wire) 0 5px,transparent 5px 12px) 0 0/12px 1px repeat-x;
}
.cns-wire i::after{
  content:''; position:absolute; inset:0; opacity:0; background-repeat:no-repeat;
}
.cns-wire-v1::after, .cns-wire-v2::after{
  background-image:linear-gradient(180deg,transparent,var(--accent) 45%,var(--accent) 55%,transparent);
  background-size:100% 40%; background-position:0 -60%;
}
.cns-wire-h::after{
  background-image:linear-gradient(90deg,transparent,var(--accent) 45%,var(--accent) 55%,transparent);
  background-size:40% 100%; background-position:-60% 0;
}
.cns-wire.is-live .cns-wire-v1::after{ animation:cnsPulseV .34s ease-in forwards; }
.cns-wire.is-live .cns-wire-h::after{ animation:cnsPulseH .40s linear .30s forwards; }
.cns-wire.is-live .cns-wire-v2::after{ animation:cnsPulseV .34s ease-out .66s forwards; }
@keyframes cnsPulseV{
  0%{ opacity:0; background-position:0 -60%; } 12%{ opacity:1; }
  88%{ opacity:1; } 100%{ opacity:0; background-position:0 160%; }
}
@keyframes cnsPulseH{
  0%{ opacity:0; background-position:-60% 0; } 12%{ opacity:1; }
  88%{ opacity:1; } 100%{ opacity:0; background-position:160% 0; }
}
.cns-wire-node{
  width:7px; height:7px; border-radius:50%; background:var(--bg);
  border:1.5px solid var(--wire); box-shadow:0 0 0 0 rgba(198,255,61,0);
  transition:background-color .25s ease .4s, border-color .25s ease .4s, box-shadow .25s ease .4s;
}
.cns-wire.is-live .cns-wire-node{
  background:var(--accent); border-color:var(--accent);
  box-shadow:0 0 0 4px rgba(198,255,61,.22);
}
.cns-slot-wire1 .cns-wire-v1{ left:13%; top:-10px; bottom:-10px; }
.cns-slot-wire1 .cns-wire-h,
.cns-slot-wire1 .cns-wire-v2{ display:none; }
.cns-slot-wire1 .cns-wire-node{ left:13%; bottom:0; transform:translate(-50%,50%); }
.cns-slot-wire2 .cns-wire-v1,
.cns-slot-wire2 .cns-wire-v2{ display:none; }
.cns-slot-wire2 .cns-wire-h { left:-10px; right:-10px; top:42%; }
.cns-slot-wire2 .cns-wire-node{ right:0; top:42%; transform:translate(50%,-50%); }
.cns-slot-wire3 .cns-wire-v1{ left:22%; top:-10px; bottom:-10px; }
.cns-slot-wire3 .cns-wire-h,
.cns-slot-wire3 .cns-wire-v2{ display:none; }
.cns-slot-wire3 .cns-wire-node{ left:22%; top:0; transform:translate(-50%,-50%); }
.cns-wire-return.is-live .cns-wire-v1::after{ animation:cnsPulseV .42s ease-out reverse forwards; }
.cns .lp-machine-note{ display:none; }
.cns .lp-machine-sub{ margin-top:-2px; font-size:11px; letter-spacing:.08em; }
.cns .lp-machine-title{ font-size:16px; }
.cns .lp-machine-tag{ font-size:11px; }
.cns .lp-bubble{ font-size:14px; padding:8px 11px; line-height:1.45; }
.cns .lp-bot-log{ min-height:0; gap:8px; justify-content:flex-end; }
.cns .pv-row{ padding-top:7px; padding-bottom:7px; font-size:13px; }
.cns .pv-total-main{ padding-top:9px; padding-bottom:2px; }
.cns-mod-stock{ justify-content:space-between; }
.cns-mod-stock .cns-stock-list{ flex:1 1 auto; justify-content:space-between; }
@media (min-width:1024px){ .cns-mod-sales .cns-spark{ flex:0 0 auto; min-height:58px; } }
@media (min-width:1024px){
  .cns .lp-machine{ padding:12px 14px; gap:9px; }
  .cns .lp-bot-choice{ font-size:11px; padding:6px 10px; min-height:32px; }
  .cns .lp-bot-choices{ gap:6px; }
  .cns .pv-qty-btn{ width:26px; height:26px; min-height:26px; }
  .cns .lp-bot-log{
    height:132px; min-height:0; overflow-y:auto; scrollbar-width:thin;
    -webkit-mask-image:linear-gradient(to bottom,transparent,#000 20px);
    mask-image:linear-gradient(to bottom,transparent,#000 20px);
  }
  .cns .lp-bot-choices{
    flex-wrap:nowrap; overflow-x:auto; scrollbar-width:none; padding-bottom:2px;
    -webkit-mask-image:linear-gradient(to right,#000 calc(100% - 26px),transparent);
    mask-image:linear-gradient(to right,#000 calc(100% - 26px),transparent);
  }
  .cns .lp-bot-choices::-webkit-scrollbar{ display:none; }
  .cns .lp-bot-choice{ flex:none; white-space:nowrap; }
  .cns .pv-row{ padding-top:5px; padding-bottom:5px; }
  .cns .pv-total-main{ padding-top:7px; margin-top:6px; }
  .cns-stock-list{ gap:6px; }
  html.js .cns .pv-row-editable .pv-row-name{ flex-direction:row; align-items:center; gap:12px; }
}
.cns-mod{ transition:border-color .45s ease; }
.cns-mod.is-hot{ border-color:var(--accent-text); transition-duration:.12s; }
.cns-mod.is-hot::after{
  content:''; position:absolute; inset:0; pointer-events:none;
  background:linear-gradient(100deg,transparent 35%,rgba(198,255,61,.28) 50%,transparent 65%);
  transform:translateX(-100%); animation:cnsSweep .85s cubic-bezier(.4,0,.2,1) forwards;
}
@keyframes cnsSweep{ to{ transform:translateX(100%); } }
.cns-in{ animation:cnsIn .42s cubic-bezier(.2,1.25,.35,1) both; }
@keyframes cnsIn{ from{ opacity:0; transform:translateY(10px) scale(.97); } to{ opacity:1; transform:none; } }
.cns-sales-figure{ display:flex; align-items:baseline; gap:8px; }
.cns-sales-n{
  font-size:52px; font-weight:800; letter-spacing:-.04em; line-height:1;
  font-variant-numeric:tabular-nums; color:var(--ink); display:inline-block;
}
.cns-sales-n.is-bump{ animation:cnsBump .5s cubic-bezier(.2,1.4,.35,1); }
@keyframes cnsBump{ 0%{ transform:translateY(-14px) scale(.82); opacity:.2; } 100%{ transform:none; } }
.cns-sales-unit{ font-size:12.5px; color:var(--muted); }
.cns-mod-sales .cns-sales-figure{ margin-top:auto; }
.cns-mod-sales .cns-spark{ margin-top:auto; }
.cns-spark{ display:flex; align-items:flex-end; gap:5px; height:52px; margin-top:2px; }
.cns-sbar{
  flex:1; min-width:0; border-radius:3px 3px 1px 1px; height:100%;
  background:var(--border);
  transform-origin:bottom; transform:scaleY(0);
  animation:cnsGrow .55s cubic-bezier(.2,1.2,.35,1) forwards;
  animation-delay:calc(var(--bi) * 55ms + 200ms);
  transition:transform .55s cubic-bezier(.2,1.3,.35,1), background-color .3s ease;
}
@keyframes cnsGrow{ to{ transform:scaleY(var(--h)); } }
.cns-sbar-live{ background:var(--muted); opacity:.55; }
.cns-sbar-live.is-new{
  background:var(--accent-text);
  opacity:1; animation:none; transform:scaleY(.92);
}
.cns-spark-label{ font-size:9.5px; margin-top:2px; }
.cns-stock-list{ display:flex; flex-direction:column; gap:9px; }
.cns-stock-row{ display:flex; align-items:center; gap:10px; font-size:12.5px; }
.cns-stock-name{ flex:none; width:104px; color:var(--ink); font-size:13px; }
.cns-stock-track{ flex:1; min-width:0; height:5px; border-radius:3px; background:var(--border); overflow:hidden; }
.cns-stock-fill{
  display:block; height:100%; width:var(--f); border-radius:3px; background:var(--muted);
  transition:width .6s cubic-bezier(.2,1.2,.35,1), background-color .3s ease;
}
.cns-stock-qty{ flex:none; width:34px; text-align:right; color:var(--muted); font-size:10.5px; }
.cns-stock-qty.is-low{ color:var(--accent-text); font-weight:700; }
.cns-stock-row.is-syncing .cns-stock-fill{ background:var(--accent-text); }
.cns-stock-row.is-syncing .cns-stock-track{ position:relative; }
.cns-stock-row.is-syncing .cns-stock-track::after{
  content:''; position:absolute; inset:0;
  background:linear-gradient(90deg,transparent,rgba(198,255,61,.75),transparent);
  animation:cnsScan 1s linear infinite;
}
@keyframes cnsScan{ from{ transform:translateX(-100%); } to{ transform:translateX(100%); } }
.cns-stock-state{ color:var(--muted); }
.cns .is-syncing ~ * .cns-stock-state{ color:var(--accent-text); }
.cns-quote-state{ transition:color .25s ease; }
.cns.is-done .cns-quote-state{ color:var(--accent-text); }
@media (prefers-reduced-motion: reduce){
  .cns-sbar{ animation:none; transition:none; transform:scaleY(var(--h)); }
  .cns-sbar-live.is-new{ transform:scaleY(.92); }
  .cns-bar-dot{ animation:none; }
  .cns-in{ animation:none; }
  .cns-mod.is-hot::after{ animation:none; display:none; }
  .cns-wire i::after{ animation:none; display:none; }
  .cns-wire-node{
    transition:none; background:var(--accent); border-color:var(--accent);
  }
  .cns-chip{ animation:none; opacity:1; transform:none; }
}
@media (max-width:1023px){
  .cns-bar-btn{ width:44px; height:44px; }
  .cns-slot-wire1, .cns-slot-wire2{ height:20px; }
  .cns-slot-wire1 .cns-wire-v1, .cns-slot-wire2 .cns-wire-v1{ display:block; left:50%; top:-10px; bottom:-10px; }
  .cns-slot-wire1 .cns-wire-v2, .cns-slot-wire2 .cns-wire-v2,
  .cns-slot-wire1 .cns-wire-h,  .cns-slot-wire2 .cns-wire-h{ display:none; }
  .cns-slot-wire1 .cns-wire-node, .cns-slot-wire2 .cns-wire-node{
    left:50%; right:auto; top:auto; bottom:0; transform:translate(-50%,50%);
  }
  .cns-slot-wire3{ display:none; }
  .cns-chip{ height:auto; }
  .cns-slot-stock{ margin-right:0; }
}
.hw-head{ display:flex; align-items:flex-end; justify-content:space-between; gap:24px; flex-wrap:wrap; margin-bottom:26px; }
.hw-lead{ color:var(--muted); font-size:16px; margin-top:6px; max-width:52ch; }
.hw-try{ flex:none; color:var(--accent-text); border-color:var(--accent-text); }
.hw-machine{
  display:grid; grid-template-columns:1fr; gap:0;
  border:1px solid var(--border); border-radius:var(--r-card); overflow:hidden;
  background:var(--card);
}
@media (min-width:900px){ .hw-machine{ grid-template-columns:296px minmax(0,1fr); } }
.hw-rail{ display:flex; flex-direction:column; background:var(--bg2); border-right:1px solid var(--border); }
@media (max-width:899px){ .hw-rail{ border-right:0; border-bottom:1px solid var(--border); } }
.hw-tab{
  position:relative; display:grid; grid-template-columns:36px 1fr; gap:4px 14px;
  align-items:center; text-align:left; cursor:pointer;
  padding:20px 22px; border:0; border-bottom:1px solid var(--border);
  background:transparent; color:var(--ink); font-family:inherit;
  transition:background-color .2s ease;
}
.hw-tab:last-child{ border-bottom:0; }
.hw-tab:hover{ background:var(--card); }
.hw-tab:focus-visible{ outline:2px solid var(--ink); outline-offset:-3px; }
.hw-tab::before{
  content:''; position:absolute; left:0; top:0; bottom:0; width:3px;
  background:var(--accent-text); transform:scaleY(0); transform-origin:top;
  transition:transform .28s cubic-bezier(.2,1.1,.35,1);
}
.hw-tab[aria-selected="true"]{ background:var(--card); }
.hw-tab[aria-selected="true"]::before{ transform:scaleY(1); }
.hw-tab-icon{ grid-row:1 / span 2; display:flex; align-items:center; justify-content:center; width:36px; height:36px; border-radius:11px; background:var(--card); border:1px solid var(--border); }
.hw-tab[aria-selected="true"] .hw-tab-icon{ background:var(--accent); border-color:var(--accent); }
.hw-tab[aria-selected="true"] .hw-tab-icon svg{ stroke:var(--accent-ink); }
.hw-tab-num{ font-size:10px; color:var(--muted); }
.hw-tab-title{ grid-column:2; font-weight:700; font-size:16px; letter-spacing:-.02em; margin-top:-2px; }
.hw-tab-text{ grid-column:2; font-size:14px; color:var(--muted); line-height:1.45; }
.hw-stage{ padding:26px; min-height:340px; display:flex; flex-direction:column; }
.hw-stage-label{ margin-bottom:12px; }
.hw-foot{ margin-top:auto; padding-top:18px; font-size:10.5px; }
.hw-panel{ display:flex; flex-direction:column; flex:1; }
.hw-panel[hidden]{ display:none; }
.hw-panel.is-in{ animation:hwIn .42s cubic-bezier(.2,1.15,.35,1) both; }
@keyframes hwIn{ from{ opacity:0; transform:translateY(14px); } to{ opacity:1; transform:none; } }
.hw-shelf{ display:grid; grid-template-columns:repeat(auto-fit,minmax(210px,1fr)); gap:14px; }
.hw-shelf-card{
  display:flex; flex-direction:column; align-items:flex-start; gap:9px; text-align:left;
  padding:18px; border:1px solid var(--border); border-radius:var(--r-card);
  background:var(--bg2); color:var(--ink); cursor:pointer; font-family:inherit;
  transition:border-color .2s ease, transform .2s cubic-bezier(.2,1.2,.35,1), background-color .2s ease;
}
.hw-shelf-card:hover{ transform:translateY(-3px); border-color:var(--accent-text); }
.hw-shelf-card:focus-visible{ outline:2px solid var(--ink); outline-offset:2px; }
.hw-shelf-card.is-picked{ border-color:var(--accent-text); background:var(--card); box-shadow:var(--shadow); }
.hw-shelf-name{ font-weight:700; font-size:16px; letter-spacing:-.02em; }
.hw-shelf-tag{ font-size:10.5px; color:var(--accent-text); line-height:1.5; }
.cns-mod{ --tilt:0deg; rotate:var(--tilt); }
.cns-mod-bot  { --tilt:-.55deg; }
.cns-mod-sales{ --tilt:.45deg;  }
.cns-mod-quote{ --tilt:.3deg;   }
.cns-mod-stock{ --tilt:-.4deg;  }
.cns-mod-bot  { animation:lpMachineIn .5s cubic-bezier(.16,1,.3,1) forwards, cnsBobA 12s ease-in-out infinite; }
.cns-mod-sales{ animation:lpMachineIn .5s cubic-bezier(.16,1,.3,1) forwards, cnsBobB 13s ease-in-out infinite; }
.cns-mod-quote{ animation:lpMachineIn .5s cubic-bezier(.16,1,.3,1) forwards, cnsBobC 11s ease-in-out infinite; }
.cns-mod-stock{ animation:lpMachineIn .5s cubic-bezier(.16,1,.3,1) forwards, cnsBobB 14s ease-in-out infinite; }
@keyframes cnsBobA{
  0%,100%{ translate:0 0;    rotate:var(--tilt); }
  50%    { translate:0 -8px; rotate:calc(var(--tilt) + .28deg); }
}
@keyframes cnsBobB{
  0%,100%{ translate:0 0;    rotate:var(--tilt); }
  50%    { translate:0 -7px; rotate:calc(var(--tilt) - .24deg); }
}
@keyframes cnsBobC{
  0%,100%{ translate:0 0;     rotate:var(--tilt); }
  50%    { translate:0 -10px; rotate:calc(var(--tilt) + .32deg); }
}
.cns-board{ padding-left:2px; padding-right:2px; }
@media (prefers-reduced-motion: reduce){
  .cns-mod{ animation:none; translate:none; }
}
.cns.is-paused *,
.cns.is-paused *::before,
.cns.is-paused *::after{ animation-play-state:paused !important; }
.cns.is-vis .cns-wire-v1, .cns.is-vis .cns-wire-v2{ animation:cnsFlowV 1.4s linear infinite; }
.cns.is-vis .cns-wire-h{ animation:cnsFlowH 1.4s linear infinite; }
@keyframes cnsFlowV{ to{ background-position:0 12px; } }
@keyframes cnsFlowH{ to{ background-position:12px 0; } }
.cns.is-vis .cns-wire-return .cns-wire-v1{ animation-direction:reverse; }
.cns.is-vis .cns-wire-node{ animation:cnsNodeIdle 3.2s ease-in-out infinite; }
.cns.is-vis .cns-slot-wire2 .cns-wire-node{ animation-delay:1.1s; }
.cns.is-vis .cns-slot-wire3 .cns-wire-node{ animation-delay:2.2s; }
@keyframes cnsNodeIdle{
  0%,100%{ box-shadow:0 0 0 0 rgba(198,255,61,0); }
  50%    { box-shadow:0 0 0 3px rgba(198,255,61,.13); }
}
.cns.is-vis .cns-wire.is-live .cns-wire-node{ animation:none; }
.cns.is-vis .cns-mod::before{
  content:''; position:absolute; inset:-40% -12%; pointer-events:none;
  background:linear-gradient(100deg,transparent 40%,rgba(11,13,17,.05) 47%,rgba(198,255,61,.3) 51%,transparent 60%);
  translate:-135% 0;
  animation:cnsGlint 11s cubic-bezier(.45,0,.55,1) infinite;
}
@keyframes cnsGlint{ 0%{ translate:-135% 0; } 26%,100%{ translate:135% 0; } }
.cns.is-vis .cns-mod-bot::before  { animation-delay:1.4s; }
.cns.is-vis .cns-mod-quote::before{ animation-delay:4.3s; }
.cns.is-vis .cns-mod-stock::before{ animation-delay:7.1s; }
.cns.is-vis .cns-mod-sales::before{ animation-delay:9.6s; }
.cns.is-vis .cns-avatar{ animation:cnsHalo 3.6s ease-in-out infinite; }
@keyframes cnsHalo{
  0%,100%{ box-shadow:0 6px 14px -6px rgba(11,13,17,.5), 0 0 0 0 rgba(198,255,61,0); }
  50%    { box-shadow:0 6px 14px -6px rgba(11,13,17,.5), 0 0 0 5px rgba(198,255,61,.18); }
}
.cns-mod-bot .lp-machine-tag{ display:inline-flex; align-items:center; gap:6px; }
.cns-mod-bot .lp-machine-tag::before{
  content:''; flex:none; width:5px; height:5px; border-radius:50%; background:var(--accent-text);
}
.cns.is-vis .cns-mod-bot .lp-machine-tag::before{ animation:cnsBlip 1.9s ease-in-out infinite; }
@keyframes cnsBlip{ 0%,100%{ opacity:1; scale:1; } 50%{ opacity:.3; scale:.65; } }
.cns.is-vis .cns-mod-bot .lp-bot-choice:first-child{ animation:cnsNudge 5.7s ease-in-out infinite; }
@keyframes cnsNudge{
  0%,84%,100%{ box-shadow:0 0 0 0 rgba(198,255,61,0); }
  91%        { box-shadow:0 0 0 4px rgba(198,255,61,.22); }
}
.cns-meter{
  height:4px; border-radius:3px; background:var(--panel); overflow:hidden; margin-top:1px;
}
.cns-meter i{
  display:block; height:100%; width:100%; border-radius:3px;
  background:var(--accent); transform-origin:left; transform:scaleX(.38);
}
.cns.is-vis .cns-meter i{ animation:cnsMeter 6.5s ease-in-out infinite; }
@keyframes cnsMeter{ 0%,100%{ transform:scaleX(.38); } 50%{ transform:scaleX(.86); } }
.cns.is-vis .cns-stock-qty.is-low{
  border-radius:5px; padding:1px 4px; margin-right:-4px;
  animation:cnsLow 2.8s ease-in-out infinite;
}
@keyframes cnsLow{ 0%,100%{ background:transparent; } 50%{ background:rgba(198,255,61,.3); } }
.cns-mod-stock .cns-stock-list{ position:relative; }
.cns.is-vis .cns-mod-stock .cns-stock-list::after{
  content:''; position:absolute; inset:0 -14px; pointer-events:none;
  background-image:linear-gradient(180deg,transparent,rgba(198,255,61,.17),transparent);
  background-size:100% 34%; background-repeat:no-repeat; background-position:0 -45%;
  animation:cnsScanDown 5.4s cubic-bezier(.4,0,.6,1) infinite;
}
@keyframes cnsScanDown{ 0%{ background-position:0 -45%; } 58%,100%{ background-position:0 145%; } }
.cns.is-vis .cns-sbar{
  animation:cnsGrow .55s cubic-bezier(.2,1.2,.35,1) forwards,
            cnsBreathe 4.8s ease-in-out infinite;
  animation-delay:calc(var(--bi) * 55ms + 200ms), calc(var(--bi) * 190ms);
}
@keyframes cnsBreathe{ 0%,100%{ scale:1 1; } 50%{ scale:1 1.06; } }
.cns.is-vis .cns-sbar-live.is-new{ animation:none; }
.cns-payout{
  --ink:#0B0D11; --muted:#5B6472; --border:#E4E7EC; --accent-text:#4C6B05;
  --tilt:-.6deg; rotate:var(--tilt);
  position:relative; width:max-content; max-width:100%;
  display:flex; align-items:center; gap:11px;
  margin:24px 0 0 44px; padding:9px 18px 9px 9px;
  border-radius:40px; background:#FFFFFF; border:1px solid var(--border); color:var(--ink);
  box-shadow:0 26px 48px -20px rgba(11,13,17,.45);
  z-index:3;
}
.cns-payout-wire{
  position:absolute; left:31px; bottom:100%; width:1px; height:34px;
  background:linear-gradient(180deg,var(--wire) 0 5px,transparent 5px 12px) 0 0/1px 12px repeat-y;
}
.cns.is-vis ~ .cns-payout .cns-payout-wire{ animation:cnsFlowV 1.4s linear infinite; }
.cns-payout-icon{
  flex:none; width:38px; height:38px; border-radius:50%;
  background:var(--ink); color:var(--accent);
  display:inline-flex; align-items:center; justify-content:center;
}
.cns-payout-label{ font-weight:600; font-size:15px; letter-spacing:-.01em; }
.cns-payout-amount{ font-size:13px; font-weight:700; color:var(--accent-text); }
.cns.is-vis ~ .cns-payout{ animation:cnsBobC 15s ease-in-out infinite; }
.cns-payout.is-hot{ border-color:var(--accent-text); }
.cns-payout.is-hot .cns-payout-icon{ animation:cnsPayoutPop .6s cubic-bezier(.2,1.4,.35,1); }
@keyframes cnsPayoutPop{ 0%{ scale:.72; } 100%{ scale:1; } }
@media (prefers-reduced-motion: reduce){
  .cns-payout{ animation:none; translate:none; rotate:none; }
}
@media (max-width:1023px){
  .cns-payout{ margin:16px auto 0; }
  .cns-payout-wire{ display:none; }
}
.cns{ --mx:0; --my:0; }
.cns-slot{ transition:transform .5s cubic-bezier(.2,.8,.3,1); }
.cns-slot-bot     { transform:translate3d(calc(var(--mx) * 10px),calc(var(--my) *  -7px),0); }
.cns-slot-wire1   { transform:translate3d(calc(var(--mx) *  9px),calc(var(--my) *   1px),0); }
.cns-slot-quote   { transform:translate3d(calc(var(--mx) *  8px),calc(var(--my) *   9px),0); }
.cns-slot-readouts{ transform:translate3d(calc(var(--mx) *  6px),calc(var(--my) * -10px),0); }
.cns-slot-wire3   { transform:translate3d(calc(var(--mx) *4.5px),calc(var(--my) *   0px),0); }
.cns-slot-wire2   { transform:translate3d(calc(var(--mx) *  6px),calc(var(--my) *8.5px),0); }
.cns-slot-stock   { transform:translate3d(calc(var(--mx) *  3px),calc(var(--my) *   8px),0); }
@media (prefers-reduced-motion: reduce){
  .cns-slot{ transition:none; transform:none; }
  .cns-meter i{ transform:scaleX(.62); }
}
@media (max-width:1023px){
  .cns-board{ gap:8px; }
  .cns-slot-bot     { order:1; }
  .cns-slot-wire1   { order:2; }
  .cns-slot-quote   { order:3; }
  .cns-slot-wire2   { order:4; }
  .cns-slot-stock   { order:5; }
  .cns-slot-readouts{ order:6; }
  .cns .lp-machine{ padding:12px 13px; gap:8px; }
  .cns .lp-bot-log{ height:150px; min-height:0; overflow-y:auto; scrollbar-width:thin; }
  .cns .lp-bot-choices{
    display:flex; flex-wrap:nowrap; gap:6px; overflow-x:auto;
    scrollbar-width:none; -webkit-overflow-scrolling:touch;
    padding-bottom:2px;
  }
  .cns .lp-bot-choices::-webkit-scrollbar{ display:none; }
  .cns .lp-bot-choice{ flex:none; font-size:12px; padding:7px 12px; white-space:nowrap; }
  .cns .pv-row{ padding-top:5px; padding-bottom:5px; }
  .cns .pv-total-main{ padding-top:7px; }
  .cns-spark{ height:40px; gap:4px; }
  .cns-stock-list{ gap:6px; }
  .cns-stock-name{ width:auto; flex:1 1 auto; min-width:0; font-size:11.5px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
  .cns-stock-track{ display:none; }
  .cns-stock-qty{ width:auto; flex:none; font-size:10.5px; }
  .cns-sales-n{ font-size:34px; }
  .cns-mod-stock .lp-machine-head{ flex-wrap:wrap; }
  .cns-mod-stock .lp-machine-tag{ margin-left:0; }
}
@media (min-width:480px) and (max-width:1023px){
  .cns-stock-track{ display:block; flex:0 0 40px; }
}
.hw-shelf-state{
  margin-top:auto; font-size:11.5px; letter-spacing:.06em;
  display:inline-flex; align-items:center; align-self:flex-start;
  min-height:30px; padding:0 12px; border-radius:15px;
  border:1px solid var(--border); color:var(--muted);
  transition:border-color .15s ease, color .15s ease, background-color .15s ease;
}
.hw-shelf-card:hover .hw-shelf-state{ border-color:var(--accent-text); color:var(--ink); }
.hw-shelf-card.is-picked .hw-shelf-state{ border-color:var(--accent-text); background:var(--panel); }
.hw-shelf-on{ display:none; color:var(--accent-text); }
.hw-shelf-card.is-picked .hw-shelf-on{ display:inline; }
.hw-shelf-card.is-picked .hw-shelf-off{ display:none; }
.hw-edit{ display:grid; grid-template-columns:1fr; gap:22px; }
@media (min-width:720px){ .hw-edit{ grid-template-columns:minmax(0,1fr) minmax(0,1.1fr); gap:28px; } }
.hw-stage-label-2{ margin-top:20px; }
.hw-name{
  width:100%; max-width:340px; padding:11px 14px; font-size:15px; font-weight:600;
  border:1px solid var(--border); border-radius:var(--r-chip);
  background:var(--bg2); color:var(--ink); font-family:inherit;
  transition:border-color .18s ease;
}
.hw-name:focus{ outline:none; border-color:var(--ink); background:var(--card); }
.hw-sws{ display:grid; grid-template-columns:repeat(auto-fill,minmax(112px,1fr)); gap:8px; }
.hw-sw{
  display:flex; align-items:center; gap:9px; padding:9px 11px; cursor:pointer;
  border:1px solid var(--border); border-radius:var(--r-chip); background:var(--bg2);
  color:var(--ink); font-family:inherit; min-height:42px;
  transition:border-color .18s ease, transform .18s cubic-bezier(.2,1.3,.35,1);
}
.hw-sw:hover{ transform:translateY(-2px); }
.hw-sw:focus-visible{ outline:2px solid var(--ink); outline-offset:2px; }
.hw-sw.is-on{ border-color:var(--ink); background:var(--card); }
.hw-sw-dot{ width:18px; height:18px; border-radius:6px; flex:none; box-shadow:inset 0 0 0 1px rgba(0,0,0,.14); }
.hw-sw-name{ font-size:9.5px; }
.hw-doc{
  border:1px solid var(--border); border-radius:12px; overflow:hidden;
  background:var(--card); font-size:13px;
}
.hw-doc.is-repaint{ animation:hwRepaint .5s ease; }
@keyframes hwRepaint{ 0%{ transform:scale(.985); } 55%{ transform:scale(1.006); } 100%{ transform:scale(1); } }
.hw-doc-head{
  display:flex; align-items:center; gap:10px; padding:13px 15px;
  background:var(--p); color:#fff; transition:background-color .35s ease;
}
.hw-doc-logo{
  width:24px; height:24px; border-radius:7px; background:#fff; flex:none;
  display:flex; align-items:center; justify-content:center;
  font-weight:800; font-size:12px; color:var(--p);
  transition:background-color .35s ease, color .35s ease;
}
.hw-doc-title{ font-weight:700; letter-spacing:-.01em; }
.hw-doc-for{ padding:11px 15px; background:var(--xl); color:#1b1b1b; font-size:11.5px; transition:background-color .35s ease; }
.hw-doc-line{ display:flex; justify-content:space-between; padding:9px 15px; border-bottom:1px solid var(--border); }
.hw-doc-total{
  display:flex; justify-content:space-between; padding:12px 15px;
  font-weight:800; color:var(--p); transition:color .35s ease;
}
.hw-link{
  display:flex; align-items:center; gap:9px; align-self:flex-start;
  padding:9px 14px; border:1px solid var(--border); border-radius:var(--r-pill);
  background:var(--bg2); color:var(--muted); font-size:11px; margin-bottom:16px;
}
.hw-link-url{ letter-spacing:.06em; text-transform:none; }
.hw-quote{
  position:relative; border:1px solid var(--border); border-radius:12px;
  padding:18px 20px; background:var(--bg2); max-width:420px;
  transition:border-color .3s ease;
}
.hw-quote.is-accepted{ border-color:var(--accent-text); }
.hw-quote.is-rejected{ border-color:var(--border); opacity:.9; }
.hw-quote-stamp{
  align-self:flex-start; display:inline-block; font-size:11px; font-weight:700;
  padding:7px 14px; border-radius:6px; letter-spacing:.14em;
  transform:rotate(-3deg) scale(.6); opacity:0;
}
.hw-quote-stamp[hidden]{ display:none; }
.hw-quote-actions[hidden]{ display:none; }
.hw-quote.is-accepted .hw-quote-stamp,
.hw-quote.is-rejected .hw-quote-stamp{ animation:hwStamp .45s cubic-bezier(.2,1.5,.4,1) forwards; }
.hw-quote.is-accepted .hw-quote-stamp{ color:var(--accent-text); border:2px solid var(--accent-text); }
.hw-quote.is-rejected .hw-quote-stamp{ color:var(--muted); border:2px solid var(--border); }
@keyframes hwStamp{ to{ transform:rotate(-3deg) scale(1); opacity:1; } }
.hw-quote-head{ display:flex; justify-content:space-between; align-items:baseline; gap:14px; font-size:10.5px; font-family:'JetBrains Mono',monospace; letter-spacing:.1em; text-transform:uppercase; color:var(--muted); }
.hw-quote-total{ font-family:'Archivo',sans-serif; font-size:26px; font-weight:800; letter-spacing:-.03em; color:var(--ink); text-transform:none; }
.hw-quote-lines{ display:grid; grid-template-columns:1fr auto; gap:6px 14px; margin:14px 0 16px; font-size:14px; color:var(--muted); }
.hw-quote-actions{ display:flex; gap:10px; flex-wrap:wrap; }
.hw-quote-mailed{ margin-top:12px; color:var(--accent-text); font-size:10.5px; }
@media (prefers-reduced-motion: reduce){
  .hw-panel.is-in{ animation:none; }
  .hw-quote-stamp{ animation:none; transform:rotate(-3deg); opacity:0; }
  .hw-quote.is-accepted .hw-quote-stamp, .hw-quote.is-rejected .hw-quote-stamp{ animation:none; opacity:1; transform:rotate(-3deg); }
  .hw-doc.is-repaint{ animation:none; }
}
.wl{ position:relative; overflow:hidden; background:var(--bg2); }
.wl-head-block{ display:flex; align-items:flex-end; justify-content:space-between; gap:24px; flex-wrap:wrap; margin-bottom:34px; }
.wl-head-block h2{ margin-top:12px; }
.wl-head-block .ac2-body{ margin-top:10px; max-width:56ch; font-size:16px; }
.wl-hint{ flex:none; font-size:9.5px; }
@media (hover:none){ .wl-hint{ display:none; } }
.wl-grid{ display:grid; grid-template-columns:1fr; gap:18px; perspective:1100px; }
@media (min-width:820px){ .wl-grid{ grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; } }
.wl-paper{ border-radius:16px; }
.wl-paper-inner{
  --rx:0deg; --ry:0deg;
  --card:#FFFFFF; --bg2:#F4F6F9; --border:#E4E7EC; --ink:#0B0D11; --muted:#5B6472;
  height:100%; display:flex; flex-direction:column; gap:12px;
  background:#FFFFFF; color:var(--ink);
  border:1px solid var(--border); border-radius:16px;
  padding:0 0 16px; overflow:hidden;
  transform:rotateX(var(--rx)) rotateY(var(--ry));
  transition:transform .38s cubic-bezier(.2,1.1,.35,1), box-shadow .38s ease;
}
.wl-logo{ box-shadow:inset 0 0 0 1px rgba(11,13,17,.10); }
.wl-paper:hover .wl-paper-inner{ box-shadow:0 34px 60px -34px rgba(11,13,17,.42); }
.wl-head{
  display:flex; align-items:center; gap:10px; padding:14px 16px;
  background:var(--p); color:#fff;
}
.wl-logo{
  width:26px; height:26px; border-radius:8px; flex:none; background:#fff; color:var(--p);
  display:flex; align-items:center; justify-content:center; font-weight:800; font-size:13px;
}
.wl-name{ font-weight:700; font-size:14.5px; letter-spacing:-.015em; }
.wl-tool{ padding:0 16px; margin-top:2px; color:var(--muted); font-size:9.5px; }
.wl-body{ padding:0 16px; flex:1; display:flex; flex-direction:column; gap:9px; justify-content:center; }
.wl-foot{ padding:0 16px; font-size:9.5px; color:var(--muted); text-transform:none; letter-spacing:.02em; }
.wl-chat{ display:flex; flex-direction:column; gap:8px; }
.wl-bubble{ align-self:flex-start; max-width:88%; background:var(--bg2); border-radius:12px 12px 12px 3px; padding:8px 11px; font-size:12.5px; }
.wl-bubble-mine{ align-self:flex-end; background:var(--xl); color:#1b1b1b; border-radius:12px 12px 3px 12px; }
.wl-rows{ display:grid; grid-template-columns:1fr auto; gap:7px 12px; font-size:14px; color:var(--muted); }
.wl-total{
  display:flex; justify-content:space-between; align-items:baseline;
  border-top:1px solid var(--border); padding-top:10px; margin-top:4px;
  font-weight:800; color:var(--p); font-size:15px;
}
.wl-total span:first-child{ font-family:'JetBrains Mono',monospace; font-size:9.5px; letter-spacing:.12em; color:var(--muted); font-weight:500; }
.wl-stock{ display:flex; flex-direction:column; gap:10px; }
.wl-stock-row{ display:flex; align-items:center; gap:9px; font-size:12.5px; }
.wl-stock-row > span:first-child{ flex:1; min-width:0; }
.wl-stock-track{ flex:none; width:56px; height:5px; border-radius:3px; background:var(--bg2); overflow:hidden; }
.wl-stock-fill{ display:block; height:100%; background:var(--p); border-radius:3px; }
.wl-stock-n{ flex:none; width:30px; text-align:right; color:var(--muted); font-size:10px; }
@media (prefers-reduced-motion: reduce){
  .wl-paper-inner{ transition:none; transform:none; }
}
.ac3{ padding-top:0; padding-bottom:0; }
.ac3-head{ max-width:1480px; }
.ac3-head-in{ max-width:720px; }
.ac3-stage{
  position:relative; margin-top:28px; gap:0;
  border:1px solid var(--border); border-radius:var(--r-card);
  background:var(--card); overflow:hidden;
}
.ac3-stage::before{
  content:''; position:absolute; left:6%; right:6%; top:50%; height:1px; z-index:0;
  background:repeating-linear-gradient(90deg,var(--border) 0 7px,transparent 7px 14px);
}
.ac3-card{
  z-index:1; border:0; border-radius:0; background:transparent;
  padding:20px 22px; min-height:200px;
}
@media (min-width:820px){
  .ac3-card + .ac3-card{ border-left:1px solid var(--border); }
  .ac3-card + .ac3-card::before{
    content:'▸'; position:absolute; left:-8px; top:50%; transform:translateY(-50%);
    font-size:12px; color:var(--accent-text); background:var(--card); padding:3px 0; line-height:1;
  }
}
@media (max-width:819px){
  .ac3-card + .ac3-card{ border-top:1px solid var(--border); }
  .ac3-stage::before{ display:none; }
}
.pl2-sel{
  margin:34px 0 26px; padding:20px 22px;
  border:1px solid var(--border); border-radius:var(--r-flat); background:var(--bg2);
  display:flex; flex-direction:column; gap:16px;
}
.pl2-sel-qs{ display:flex; gap:38px; flex-wrap:wrap; }
.pl2-sel-q{ display:flex; flex-direction:column; gap:9px; transition:opacity .25s ease; }
.pl2-sel-q.is-off{ pointer-events:none; }
.pl2-sel-q.is-off .pl2-sel-opts{ background:transparent; border-style:dashed; }
.pl2-sel-q.is-off .pl2-sel-btn{ color:var(--muted); background:transparent; font-weight:500; }
.pl2-sel-label{ font-size:9.5px; }
.pl2-sel-opts{ display:inline-flex; border:1px solid var(--border); border-radius:var(--r-flat); overflow:hidden; background:var(--card); }
.pl2-sel-btn{
  min-height:42px; padding:0 18px; border:0; cursor:pointer; font-family:inherit;
  font-size:13.5px; font-weight:600; background:transparent; color:var(--muted);
  transition:background-color .18s ease, color .18s ease;
}
.pl2-sel-btn + .pl2-sel-btn{ border-left:1px solid var(--border); }
.pl2-sel-btn:hover{ color:var(--ink); }
.pl2-sel-btn.is-on{ background:var(--ink); color:var(--bg); }
.pl2-sel-btn:focus-visible{ outline:2px solid var(--ink); outline-offset:-3px; }
.pl2-sel-out{ font-size:14.5px; line-height:1.55; color:var(--ink); max-width:70ch; margin:0; }
.pl2-plate{ position:relative; transition:border-color .25s ease, transform .25s cubic-bezier(.2,1.15,.35,1); }
.pl2-plate.is-match{ border-color:var(--accent-text); transform:translateY(-4px); }
.pl2-plate.is-match::before{
  content:''; position:absolute; left:-1px; right:-1px; top:-1px; height:3px;
  background:var(--accent-text); z-index:2;
}
.pl2-plate-match{
  position:absolute; right:0; top:0; z-index:2;
  background:var(--accent-text); color:var(--bg);
  padding:5px 10px; font-size:9px; letter-spacing:.14em;
}
.pl2-plate-match[hidden]{ display:none; }
@media (prefers-reduced-motion: reduce){
  .pl2-plate{ transition:none; }
  .pl2-plate.is-match{ transform:none; }
}
.ob-story-card{ max-width:none; display:grid; grid-template-columns:1fr; gap:8px 44px; align-items:start; }
@media (min-width:900px){
  .ob-story-card{ grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); gap:12px 56px; padding:40px 44px; }
  .ob-story-eyebrow{ grid-column:1; grid-row:1; }
  .ob-story-card h2{ grid-column:1; grid-row:2; margin:0; align-self:start; }
  .ob-story-card p{ grid-column:2; max-width:62ch; margin-bottom:0; }
  .ob-story-card p:nth-of-type(1){ grid-row:1; }
  .ob-story-card p:nth-of-type(2){ grid-row:2; }
  .ob-story-card p:nth-of-type(3){ grid-row:3; }
}
.ob-mod-head{ display:flex; align-items:baseline; justify-content:space-between; gap:20px; flex-wrap:wrap; margin-bottom:16px; }
.ob-modules-label{ margin-bottom:0; }
.ob-mod-chainlabel{ font-size:9.5px; }
.ob-mod-chain{ position:relative; }
.ob-mod{ position:relative; padding:18px; display:flex; flex-direction:column; gap:8px; }
.ob-mod-top{ display:flex; align-items:center; justify-content:space-between; }
.ob-mod-n{ font-size:10px; color:var(--muted); }
.ob-mod .ob-module-name{ margin-top:4px; }
.ob-mod-does{ font-size:14px; line-height:1.5; color:var(--muted); }
.ob-mod .ob-module-price{ margin-top:auto; padding-top:8px; }
@media (min-width:900px){
  .ob-mod + .ob-mod::before{
    content:''; position:absolute; left:-15px; top:50%; width:12px; height:1px;
    background:var(--border); transition:background-color .22s ease;
  }
  .ob-mod + .ob-mod::after{
    content:''; position:absolute; left:-7px; top:50%; margin-top:-3px;
    border-left:5px solid var(--border); border-top:3px solid transparent;
    border-bottom:3px solid transparent; transition:border-left-color .22s ease;
  }
  .ob-mod:hover + .ob-mod::before, .ob-mod:hover::before{ background:var(--accent-text); }
  .ob-mod:hover + .ob-mod::after, .ob-mod:hover::after{ border-left-color:var(--accent-text); }
}
.lp-tool-rows{ display:flex; flex-direction:column; gap:12px; }
.lp-tool-row{
  display:grid; grid-template-columns:auto minmax(0,1fr) auto auto;
  align-items:center; gap:18px;
  padding:18px 22px; border:1px solid var(--border); border-radius:var(--r-card);
  background:var(--card); color:var(--ink); min-height:44px;
  transition:border-color .2s ease, transform .2s cubic-bezier(.2,1.15,.35,1);
}
.lp-tool-row:hover{ border-color:var(--accent-text); transform:translateX(4px); }
.lp-tool-row:focus-visible{ outline:2px solid var(--ink); outline-offset:2px; }
.lp-tool-row .lp-card-icon{ flex:none; }
.lp-tool-row-main{ display:flex; flex-direction:column; gap:3px; min-width:0; }
.lp-tool-row-name{ font-weight:700; font-size:17px; letter-spacing:-.02em; }
.lp-tool-row-desc{ color:var(--muted); font-size:14px; line-height:1.45; }
.lp-tool-row-cta{ font-weight:700; font-size:14px; white-space:nowrap; }
.lp-tool-row:hover .lp-tool-row-cta{ color:var(--accent-text); }
@media (max-width:719px){
  .lp-tool-row{ grid-template-columns:auto minmax(0,1fr); gap:12px 16px; }
  .lp-tool-row-cta{ grid-column:2; justify-self:start; }
}
@media (prefers-reduced-motion: reduce){ .lp-tool-row:hover{ transform:none; } }
.ac3-doc-for{ display:block; font-size:11px; color:var(--muted); margin-bottom:2px; }
.ac3-doc-row{ display:flex; justify-content:space-between; gap:14px; font-size:12.5px; padding:3px 0; }
.ac3-doc-row span:last-child{ font-variant-numeric:tabular-nums; }
.ac3-doc-total{ border-top:1px solid var(--border); padding-top:7px; margin-top:5px; }
.hw-stage{ min-height:276px; }
.pv-group > summary{ min-height:36px; display:flex; align-items:center; }
.nav-mega > summary{ min-height:44px; }
.lp-hero-chips{ padding-bottom:clamp(28px,4vw,44px); }
@media (max-width:1023px){
  .lp-hero{ display:flex; flex-direction:column; }
  .lp-hero-content{ order:1; }
  .lp-hero-canvas{ order:2; }
  .lp-hero-chips{ order:3; }
}
@media (min-width:1024px){
  .lp-hero-chips{ grid-column:1; grid-row:2; margin-top:-24px; padding-bottom:0; }
  .lp-hero{ align-items:start; }
  .lp-hero-canvas{
    grid-row:1 / span 2; align-self:start;
    padding-top:calc(clamp(40px,4vw,56px) + 48px);
  }
}
@media (max-width:759px){
  .lp-hero-ctas .btn{ padding-left:18px; padding-right:18px; font-size:15px; }
}
@media (max-width:759px){
  .nav{ row-gap:8px; padding-top:10px; padding-bottom:10px; }
  .nav-left, .nav-right{ gap:12px; }
  .lp-price-line{ gap:12px; }
  .lp-price-line::before{ display:none; }
}
:where(.shell-full) h2{ font-size:clamp(30px,3.6vw,50px); line-height:1.02; letter-spacing:-.035em; margin:10px 0 14px; }
:where(.shell-full) h3{ font-size:clamp(19px,1.5vw,23px); line-height:1.15; letter-spacing:-.02em; }
.mono{ font-size:11px; }
.shell-full .mono{ font-weight:500; }
:where(.shell-full) > section{ padding-top:clamp(56px,6vw,96px); padding-bottom:clamp(56px,6vw,96px); }
.shell-full > section.lp-hero-section{ padding-top:0; padding-bottom:0; }
.shell-full > section.lp-marquee, .shell-full > .lp-marquee{ padding:0; }
.nav-mega-grid{
  grid-template-columns:minmax(0,1.35fr) minmax(0,1fr) minmax(0,.85fr);
  gap:0; padding-top:30px; padding-bottom:24px;
}
.nav-mega-col{ min-width:0; }
.nav-mega-col + .nav-mega-col{ margin-left:40px; }
.nav-mega-col-sep{ border-left:1px solid var(--border); padding-left:40px; }
.nav-mega-label{ margin-bottom:14px; }
.nav-mega-cards{ display:flex; flex-direction:column; gap:10px; }
.nav-mega-card{
  flex-direction:row; align-items:center; gap:14px; padding:14px 16px;
}
.nav-mega-card .lp-card-icon{ flex:none; }
.nav-mega-card-body{ display:flex; flex-direction:column; gap:3px; min-width:0; }
.nav-mega-card-tag{ line-height:1.45; }
.nav-mega-card-go{
  margin-left:auto; flex:none; color:var(--muted); font-size:16px;
  transition:transform .18s ease, color .18s ease;
}
.nav-mega-card:hover{ transform:none; }
.nav-mega-card:hover .nav-mega-card-go{ transform:translateX(4px); color:var(--ink); }
.nav-mega-coming{ list-style:none; display:flex; flex-direction:column; margin:0; padding:0; }
.nav-mega-coming span:not(:last-child)::after{ content:none; margin:0; }
.nav-mega-coming-row{
  display:flex; align-items:center; gap:12px;
  padding:7px 0; border-bottom:1px solid var(--border);
}
.nav-mega-coming-row:last-child{ border-bottom:0; }
.nav-mega-coming-n{ flex:none; color:var(--muted); }
.ac2-frame-label{ opacity:1; color:var(--muted); }
.ac2-frame.is-active .ac2-frame-label{ opacity:1; color:var(--accent-text); font-weight:700; }
.pv-qty-btn:disabled{ opacity:1; color:var(--muted); border-color:var(--border); background:var(--bg2); }
.nav-mega-coming-name{ font-size:13.5px; font-weight:500; color:var(--muted); }
.nav-mega-secondary{ border-left:1px solid var(--border); padding-left:40px; }
.nav-mega-secondary a{ min-height:38px; font-size:13.5px; }
.nav-mega-foot{ padding-top:16px; padding-bottom:16px; border-top:1px solid var(--border); }
.aw{ position:relative; }
.aw-grid{
  display:grid; grid-template-columns:minmax(0,1fr); gap:22px; align-items:start;
  padding-top:clamp(28px,3.4vw,52px); padding-bottom:clamp(48px,5vw,84px);
}
@media (min-width:960px){
  .aw-grid{ grid-template-columns:minmax(0,420px) minmax(0,1fr); gap:34px; }
}
.aw-head{ padding-top:clamp(20px,2.4vw,34px); }
.aw-head h1{ font-size:clamp(30px,3.4vw,46px); line-height:1.02; letter-spacing:-.035em; margin:10px 0 10px; }
.aw-head p{ color:var(--muted); font-size:16.5px; line-height:1.6; max-width:52ch; margin:0; }
.aw-form{
  max-width:none; margin:0; border-radius:16px;
  padding-top:26px; padding-bottom:26px; padding-left:26px; padding-right:26px;
}
.aw-form h2{ font-size:19px; letter-spacing:-.02em; margin:0 0 4px; }
.aw-form .btn{ width:auto; margin-top:0; }
.aw-form .btn-outline{ width:auto; margin-top:0; }
.aw-actions{ display:flex; align-items:center; gap:14px; flex-wrap:wrap; margin-top:22px; }
.aw-actions .mono{ color:var(--muted); line-height:1.45; flex:1 1 160px; min-width:0; }
.aw-actions > .mono > a{ display:inline-flex; align-items:center; min-height:44px; color:var(--accent-text); font-weight:700; }
.aw-alt{ margin-top:18px; padding-top:16px; border-top:1px solid var(--border); color:var(--muted); font-size:14px; }
.aw-alt a{ color:var(--accent-text); font-weight:600; }
.aw-panel{
  --bg:var(--srf); --bg2:#1B2130; --card:var(--srf-card); --panel:rgba(244,246,249,.06);
  --border:var(--srf-border); --ink:#FFFFFF; --muted:#9AA3B2; --accent-text:#C6FF3D;
  position:relative; overflow:hidden; color:var(--ink); border-radius:20px;
  border:1px solid var(--border);
  padding-top:18px; padding-bottom:18px; padding-left:18px; padding-right:18px;
  background:linear-gradient(180deg,var(--srf-hi) 0%,var(--srf) 46%,var(--srf-lo) 100%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.07), 0 0 0 6px var(--bed-rim),
             0 16px 30px -14px var(--bed-near), 0 42px 80px -30px var(--bed-far);
}
.aw-panel::before{
  content:''; position:absolute; inset:0; pointer-events:none; opacity:.5;
  background-image:linear-gradient(rgba(244,246,249,.045) 1px,transparent 1px),
                   linear-gradient(90deg,rgba(244,246,249,.045) 1px,transparent 1px);
  background-size:34px 34px;
}
.aw-panel > *{ position:relative; z-index:1; }
.aw-bar{ display:flex; align-items:center; gap:9px; padding-bottom:14px; }
.aw-bar-dot{ width:7px; height:7px; border-radius:50%; background:var(--accent-text); flex:none; }
.aw-bar-name{ font-weight:700; font-size:13px; letter-spacing:-.01em; }
.aw-bar-state{ margin-left:auto; color:var(--accent-text); font-size:10px; }
.aw-card{
  background:var(--card); border:1px solid var(--border); border-radius:var(--r-card);
  padding-top:15px; padding-bottom:15px; padding-left:16px; padding-right:16px;
}
.aw-card + .aw-card{ margin-top:10px; }
.aw-card-head{ display:flex; align-items:center; gap:8px; margin-bottom:9px; }
.aw-card-title{ font-weight:700; font-size:13.5px; }
.aw-card-tag{ margin-left:auto; font-size:9.5px; color:var(--muted); }
.aw-step{ display:flex; align-items:flex-start; gap:11px; padding-top:8px; padding-bottom:8px; }
.aw-step + .aw-step{ border-top:1px solid var(--border); }
.aw-step-dot{
  flex:none; width:16px; height:16px; border-radius:50%; margin-top:2px;
  border:1.5px solid var(--border); background:transparent;
  display:inline-flex; align-items:center; justify-content:center;
  font-size:9px; color:var(--srf); font-weight:800;
  transition:background-color .2s ease, border-color .2s ease, transform .2s ease;
}
.aw-step.is-on .aw-step-dot{ background:var(--accent-text); border-color:var(--accent-text); transform:scale(1.06); }
.aw-step.is-on .aw-step-dot::after{ content:'✓'; }
.aw-step-body{ min-width:0; }
.aw-step-name{ font-size:13.5px; font-weight:600; line-height:1.3; }
.aw-step.is-on .aw-step-name{ color:var(--ink); }
.aw-step:not(.is-on) .aw-step-name{ color:var(--muted); }
.aw-step-note{ font-size:14px; color:var(--muted); line-height:1.45; margin-top:2px; }
.aw-field-label{ color:var(--muted); margin:2px 0 8px; }
.aw-topics{ display:flex; flex-wrap:wrap; gap:8px; margin-bottom:4px; }
.aw-topic{
  min-height:38px; padding:0 14px; border-radius:20px; cursor:pointer;
  border:1px solid var(--border); background:var(--bg); color:var(--ink);
  font-family:'Archivo',system-ui,sans-serif; font-size:13.5px; font-weight:600;
  transition:border-color .15s ease, background-color .15s ease, color .15s ease;
}
.aw-topic:hover{ border-color:var(--accent-text); }
.aw-topic.is-on{ background:var(--ink); color:var(--bg); border-color:var(--ink); font-weight:700; }
.aw-count{ color:var(--muted); text-align:right; margin-top:6px; }
.aw-h1-accent{ color:var(--accent-text); }
:root .aw-h1-accent{
  color:var(--ink); background:var(--accent); border-radius:2px;
  padding:.04em .14em; box-shadow:none;
  -webkit-box-decoration-break:clone; box-decoration-break:clone;
}
[data-theme="dark"] .aw-h1-accent{ background:none; padding:0; color:var(--accent-text); }
.aw-answer-text{ font-size:14px; line-height:1.55; color:var(--ink); margin:0 0 10px; }
.aw-answer-link{
  display:inline-flex; align-items:center; min-height:38px;
  color:var(--accent-text); font-weight:700; font-size:13px;
}
.aw-answer-link:hover{ text-decoration:underline; }
.aw-answer[hidden]{ display:none; }
.aw-after{ display:flex; align-items:flex-start; gap:12px; padding-top:9px; padding-bottom:9px; }
.aw-after + .aw-after{ border-top:1px solid var(--border); }
.aw-after-n{ flex:none; color:var(--accent-text); font-weight:700; margin-top:2px; }
@media (min-width:960px){ .aw-panel{ position:sticky; top:88px; } }
.gsi-btn{
  display:flex; align-items:center; justify-content:center; gap:12px;
  width:100%; min-height:44px; margin:14px 0 0; padding:0 16px; box-sizing:border-box;
  background:#FFFFFF; color:#1F1F1F; border:1px solid #747775; border-radius:8px;
  font-family:Roboto, Arial, sans-serif; font-size:15px; font-weight:500; letter-spacing:.01em;
  text-decoration:none; cursor:pointer; transition:background-color .15s, box-shadow .15s;
}
.gsi-btn:hover{ background:#F8F9FA; box-shadow:0 1px 2px rgba(60,64,67,.3); }
.gsi-btn:focus-visible{ outline:2px solid var(--accent); outline-offset:2px; }
.gsi-logo{ width:18px; height:18px; flex:none; }
[data-theme="dark"] .gsi-btn{ background:#131314; color:#E3E3E3; border-color:#8E918F; }
[data-theme="dark"] .gsi-btn:hover{ background:#1F1F20; }
.gsi-sep{ display:flex; align-items:center; gap:12px; margin:16px 0 4px; color:var(--muted); font-size:13px; }
.gsi-sep::before, .gsi-sep::after{ content:""; flex:1; height:1px; background:var(--border); }
.aw-pw{ position:relative; }
.aw-pw input{ padding-right:62px; }
.aw-pw-toggle{
  position:absolute; right:6px; top:50%; transform:translateY(-50%);
  min-width:48px; min-height:44px; border-radius:8px; cursor:pointer;
  border:1px solid var(--border); background:var(--bg2); color:var(--muted);
  font-weight:700; letter-spacing:.06em;
}
.aw-pw-toggle:hover{ color:var(--ink); border-color:var(--accent-text); }
.aw-meter{ display:flex; gap:5px; margin-top:10px; }
.aw-seg{ height:4px; flex:1; border-radius:2px; background:var(--border); transition:background-color .2s ease; }
.aw-meter[data-level="1"] .aw-seg:nth-child(-n+1),
.aw-meter[data-level="2"] .aw-seg:nth-child(-n+2),
.aw-meter[data-level="3"] .aw-seg:nth-child(-n+3),
.aw-meter[data-level="4"] .aw-seg{ background:var(--accent-text); }
:root .aw-meter .aw-seg{ background:#E4E7EC; }
:root .aw-meter[data-level="1"] .aw-seg:nth-child(-n+1),
:root .aw-meter[data-level="2"] .aw-seg:nth-child(-n+2),
:root .aw-meter[data-level="3"] .aw-seg:nth-child(-n+3),
:root .aw-meter[data-level="4"] .aw-seg{ background:var(--ink); }
[data-theme="dark"] .aw-meter .aw-seg{ background:var(--border); }
[data-theme="dark"] .aw-meter[data-level="1"] .aw-seg:nth-child(-n+1),
[data-theme="dark"] .aw-meter[data-level="2"] .aw-seg:nth-child(-n+2),
[data-theme="dark"] .aw-meter[data-level="3"] .aw-seg:nth-child(-n+3),
[data-theme="dark"] .aw-meter[data-level="4"] .aw-seg{ background:var(--accent-text); }
.aw-meter-note{ color:var(--muted); margin:7px 0 0; line-height:1.45; }
.aw-caps{ color:var(--warning); margin:8px 0 0; font-weight:700; }
.aw-caps[hidden]{ display:none; }
.aw-paper{
  --ink:#0B0D11; --muted:#5B6472; --border:#E4E7EC; --accent-text:#0B0D11;
  background:#FFFFFF; color:#0B0D11; border-radius:10px;
  padding-top:14px; padding-bottom:14px; padding-left:15px; padding-right:15px;
  box-shadow:0 10px 24px -14px rgba(0,0,0,.55);
}
.aw-paper-head{ display:flex; align-items:center; gap:10px; }
.aw-paper-mark{
  flex:none; width:30px; height:30px; border-radius:8px; background:#0B0D11; color:#C6FF3D;
  display:inline-flex; align-items:center; justify-content:center;
  font-weight:800; font-size:15px; font-family:'Archivo',system-ui,sans-serif;
  transition:transform .18s cubic-bezier(.2,1.3,.35,1);
}
.aw-paper-mark.is-new{ transform:scale(1.14); }
.aw-paper-name{ font-weight:800; font-size:15px; letter-spacing:-.02em; line-height:1.2; min-width:0; overflow-wrap:anywhere; }
.aw-paper-meta{ color:#5B6472; margin-top:9px; overflow-wrap:anywhere; }
.aw-paper-rows{ margin-top:10px; border-top:1px solid #E4E7EC; }
.aw-paper-row{ display:flex; justify-content:space-between; gap:12px; padding-top:7px; padding-bottom:7px; font-size:13px; border-bottom:1px solid #E4E7EC; color:#5B6472; }
.aw-paper .mono{ color:#5B6472; }
.aw-paper-foot{ display:flex; justify-content:space-between; align-items:baseline; margin-top:10px; }
.aw-paper-foot .mono{ color:#5B6472; }
.aw-paper-total{ font-weight:800; font-size:19px; letter-spacing:-.02em; }
.hw-foot, .hw-shelf-tag, .hw-quote-mailed,
.wl-foot, .pv-pdf-hint, .pv-doc-prepared,
.pl2-plate-detail, .pl2-spread-note,
.lp-machine-note, .nav-mega-card-tag,
.lp-price-line,
.ck-label, .aw-meter-note, .aw-caps, .lp-bot-close{
  font-family:'Archivo',system-ui,-apple-system,sans-serif;
  text-transform:none;
  letter-spacing:normal;
  font-size:13.5px;
  line-height:1.5;
}
.hw-foot, .pv-pdf-hint, .pl2-spread-note{ font-size:14px; }
.pl2-plate-detail{ font-size:14.5px; line-height:1.55; }
.pl2-plate-detail span{ display:block; }
.pl2-plate-detail span + span{ margin-top:5px; }
.lp-price-line{ font-size:14px; color:var(--muted); }
.ck-label{ font-size:13.5px; font-weight:700; color:var(--ink); }
.aw-form label, .form label{
  font-family:'Archivo',system-ui,-apple-system,sans-serif;
  text-transform:none; letter-spacing:normal; font-size:13.5px; font-weight:700;
}
.trust-strip{
  --ink:#FFFFFF; --muted:#9AA3B2; --accent-text:#C6FF3D;
  --border:var(--srf-border); --line:var(--srf-border);
  border-top:1px solid var(--line); border-bottom:1px solid var(--line); background:var(--srf); color:var(--ink);
}
.trust-strip-row{ display:flex; flex-wrap:wrap; gap:10px 28px; justify-content:center; padding-top:18px; padding-bottom:18px; font-size:14px; color:var(--muted); }
.trust-strip-row > span{ display:inline-flex; align-items:center; gap:8px; }
.trust-strip-row > span::before{ content:""; width:6px; height:6px; border-radius:50%; background:var(--accent); flex:none; }
.trust-strip-row a{ color:var(--ink); text-decoration:none; border-bottom:1px solid var(--line); }
.trust-strip-row a:hover{ border-bottom-color:var(--accent-text); }
.trust-strip-row a{ display:inline-flex; align-items:center; min-height:24px; }
@media (max-width:759px){ .trust-strip-row{ gap:8px 18px; justify-content:flex-start; } }
@media (hover: none), (pointer: coarse){ .wl-hint{ display:none; } }
.ob-who{ padding-top:8px; padding-bottom:8px; }
.ob-who-label{ color:var(--muted); margin-bottom:10px; }
.ob-who h2{ margin:0 0 24px; max-width:16ch; }
.ob-who-rows{ margin:0; max-width:1040px; }
.ob-who-row{
  display:flex; gap:20px; flex-wrap:wrap;
  padding-top:16px; padding-bottom:16px; border-top:1px solid var(--border);
}
.ob-who-row dt{ margin:0; flex:none; width:200px; color:var(--muted); padding-top:3px; }
.ob-who-row dd{ margin:0; flex:1 1 320px; font-size:15px; line-height:1.55; color:var(--ink); }
@media (max-width:759px){
  .ob-who-row{ flex-direction:column; gap:6px; }
  .ob-who-row dt{ width:auto; padding-top:0; }
}
.ob-who-foot{ margin:26px 0 0; font-size:15px; color:var(--muted); }
.ob-who-foot a{ color:var(--accent-text); }
.ob-mod-kind{ display:block; margin-top:14px; color:var(--muted); }
.ob-mod-kind.is-sold{ color:var(--accent-text); }
.lp2-products-eyebrow, .lp2-steps-eyebrow, .pv-eyebrow, .pl3-steps-eyebrow{
  font-size:13px; color:var(--ink);
}
.lp2-products-eyebrow, .lp2-steps-eyebrow, .pv-eyebrow{ margin-bottom:10px; }
.pl2-price-plain{
  margin:28px 0 0; padding-top:14px; border-top:1px solid var(--line);
  max-width:520px; font-size:15px; line-height:1.5; color:var(--ink);
}
.pl2-hero-content-solo{ max-width:720px; }
.pl2-index{ display:grid; grid-template-columns:repeat(auto-fit,minmax(320px,1fr)); gap:20px; margin-top:8px; }
.pl2-index-card{
  display:flex; flex-direction:column; gap:12px; text-decoration:none;
  background:var(--card); border:1px solid var(--border); border-radius:var(--r-card);
  padding:28px 28px 24px; transition:border-color .22s ease, transform .22s ease;
}
.pl2-index-card:hover{ border-color:var(--accent-text); transform:translateY(-3px); }
@media (prefers-reduced-motion: reduce){ .pl2-index-card{ transition:none; } .pl2-index-card:hover{ transform:none; } }
.pl2-index-name{ font-weight:800; font-size:26px; letter-spacing:-.02em; color:var(--ink); }
.pl2-index-line{ font-size:15px; line-height:1.55; color:var(--muted); }
.pl2-index-for{ font-size:14px; line-height:1.5; color:var(--ink); }
.pl2-index-for .mono{ color:var(--accent-text); }
.pl2-index-foot{
  margin-top:auto; padding-top:16px; border-top:1px solid var(--border);
  display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap;
}
.pl2-index-from{ font-size:15px; font-weight:700; color:var(--ink); }
.pl2-index-from .mono{ color:var(--muted); font-weight:400; }
.pl2-index-go{ font-size:14px; font-weight:700; color:var(--ink); }
.pl2-index-pricing{
  margin-top:24px; display:flex; align-items:center; justify-content:space-between;
  gap:20px; flex-wrap:wrap; background:var(--bg2); border:1px solid var(--border);
  border-radius:var(--r-card); padding-top:22px; padding-bottom:22px;
}
.pl2-index-pricing-line{ margin:6px 0 0; font-size:17px; color:var(--ink); }
.pl2-other{ margin-top:56px; }
.pl2-other-label{ color:var(--muted); margin-bottom:12px; }
.pl2-other-card{
  display:flex; align-items:center; gap:18px; flex-wrap:wrap; text-decoration:none;
  border:1px solid var(--border); border-radius:var(--r-card); padding:22px 26px;
  transition:border-color .22s ease;
}
.pl2-other-card:hover{ border-color:var(--accent-text); }
.pl2-other-name{ font-weight:800; font-size:19px; color:var(--ink); flex:none; }
.pl2-other-line{ flex:1 1 260px; font-size:14px; line-height:1.5; color:var(--muted); }
.pl2-other-go{ font-size:14px; font-weight:700; color:var(--ink); flex:none; }
.pl2-pricing{ padding-top:8px; }
.pl2-pricing .pl3-plangroups{ gap:56px; }
.pl2-serie-divider > span:first-child{ font-weight:inherit; }
.pl2-spread-specs > h2.pl3-spread-eyebrow{ margin:0 0 4px; max-width:none; line-height:1.5; }
.pl3-specs-solo{ max-width:640px; }
.pl3-specs-solo > p{ max-width:600px; }
@media (min-width:1100px){
  .pl3-specs-solo{ max-width:none; }
  .pl3-specs-solo > h2{ max-width:16ch; }
  .pl3-specs-solo .pl2-spec-table{
    display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:56px;
  }
  .pl3-specs-solo .pl2-spec-row{ border-top:1px solid var(--border); }
}
.pl3-plangroups{ margin-top:36px; display:flex; flex-direction:column; gap:32px; }
.pl3-group-title{
  font-family:'Archivo',system-ui,-apple-system,sans-serif; font-weight:700;
  font-size:20px; letter-spacing:-.015em; color:var(--ink); margin:0 0 16px;
}
.pl3-grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:16px; align-items:stretch; }
.pl3-card{
  position:relative; display:flex; flex-direction:column; gap:14px;
  background:var(--card); border:1px solid var(--border); border-radius:var(--r-card);
  padding:22px 24px; transition:border-color .22s ease, transform .22s ease;
}
.pl3-card-featured{ border-color:var(--accent-text); }
.pl3-card-featured::before{
  content:''; position:absolute; top:0; left:18px; right:18px; height:3px; background:var(--accent);
  border-radius:0 0 3px 3px;
}
.pl3-card.is-match{ border-color:var(--accent-text); transform:translateY(-4px); }
@media (prefers-reduced-motion: reduce){ .pl3-card{ transition:none; } .pl3-card.is-match{ transform:none; } }
.pl3-card-kind{ color:var(--muted); margin-bottom:-8px; }
.pl3-card-head{ display:flex; align-items:center; justify-content:space-between; gap:10px; min-height:22px; }
.pl3-card-head h4{
  font-family:'Archivo',system-ui,-apple-system,sans-serif; font-weight:700; font-size:17px;
  letter-spacing:-.01em; color:var(--ink); margin:0;
}
.pl3-badge{ color:var(--accent-text); white-space:nowrap; }
.pl3-match{ min-height:16px; color:var(--accent-text); }
.pl3-match[hidden]{ display:block; visibility:hidden; }
.pl3-rows{ display:flex; flex-direction:column; gap:8px; margin:0; padding-top:8px; border-top:1px solid var(--border); }
.pl3-row{ display:flex; flex-direction:column; gap:2px; }
.pl3-row dt{ margin:0; }
.pl3-row dd{ margin:0; font-size:14px; line-height:1.45; color:var(--ink); }
.pl3-card .mono, .pl2-spec-row dt.mono{ font-size:12.5px; letter-spacing:.06em; }
.pl3-card-foot{
  margin-top:auto; padding-top:14px; border-top:1px solid var(--border);
  display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap;
}
.pl3-price{ display:flex; align-items:baseline; gap:6px; }
.pl3-price-num{ font-size:20px; font-weight:800; letter-spacing:-.02em; color:var(--ink); }
.pl3-price-unit{ font-size:14px; color:var(--muted); }
.pl3-price-local{ margin-top:2px; text-transform:none; }
.pl3-buy{
  font-size:14px; min-height:44px; padding:0 20px; display:inline-flex; align-items:center;
  justify-content:center; border-radius:2px; white-space:nowrap;
}
.pl3-steps{ margin-top:40px; }
.pl3-steps-eyebrow{ margin-bottom:14px; }
.pl3-steps-list{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:20px; }
.pl3-steps-list li{ display:flex; flex-direction:column; gap:8px; padding-top:14px; border-top:1px solid var(--border); }
.pl3-step-n{ color:var(--accent-text); }
.pl3-step-text{ font-size:14px; line-height:1.55; color:var(--ink); }
.pl3-demo{
  display:flex; flex-direction:column; gap:12px; background:var(--card);
  border:1px solid var(--border); border-radius:var(--r-card); padding:20px 22px;
}
.pl3-demo-head{ display:flex; align-items:center; gap:8px; }
.pl3-demo-dot{ width:8px; height:8px; border-radius:50%; background:var(--accent); flex:none; }
.pl3-demo-name{ font-weight:700; font-size:15.5px; color:var(--ink); }
.pl3-demo-tag{ margin-left:auto; }
.pl3-demo-sub{ margin-top:-6px; }
.pl3-demo-log{ display:flex; flex-direction:column; gap:10px; }
.pl3-bubble{
  align-self:flex-start; max-width:88%; background:var(--bg2); color:var(--ink);
  border-radius:14px 14px 14px 4px; padding:10px 13px; font-size:14px; line-height:1.5;
}
.pl3-bubble-mine{ align-self:flex-end; background:var(--accent); color:var(--accent-ink); border-radius:14px 14px 4px 14px; }
.pl3-demo-pill{
  align-self:flex-start; display:flex; align-items:center; gap:8px;
  background:rgba(198,255,61,.14); border:1px solid var(--accent-text); border-radius:10px;
  padding:9px 14px; color:var(--accent-text);
}
.pl3-demo-pill b{ font-size:14px; font-weight:700; }
.pl3-demo-pill .mono{ color:var(--ink); }
.pl3-setup-note{ font-size:14px; line-height:1.5; color:var(--muted); margin-top:16px; }
.pl3-variants{ margin-top:auto; display:flex; flex-direction:column; gap:4px; }
.pl3-variants .pl3-card-foot{ margin-top:0; }
.pl3-variant-label{ flex-basis:100%; color:var(--accent-text); }
.pl3-card-foot .pl3-setup-note{ flex-basis:100%; margin-top:-4px; }
.pl3-faq{ padding-top:56px; padding-bottom:12px; }
.faq-list{ margin-top:20px; border-top:1px solid var(--border); }
.faq-item{ border-bottom:1px solid var(--border); padding:18px 0; }
.faq-item summary{
  cursor:pointer; list-style:none; display:flex; align-items:center; justify-content:space-between;
  gap:16px; font-family:'Archivo',system-ui,-apple-system,sans-serif; font-weight:700;
  font-size:16px; letter-spacing:-.01em; color:var(--ink);
}
.faq-item summary::-webkit-details-marker{ display:none; }
.faq-item summary::after{
  content:'+'; font-family:'JetBrains Mono',monospace; font-size:18px; color:var(--accent-text);
  flex:none; transition:transform .2s ease;
}
.faq-item[open] summary::after{ content:'−'; }
@media (prefers-reduced-motion: reduce){ .faq-item summary::after{ transition:none; } }
.faq-answer{ margin-top:12px; max-width:680px; }
.faq-answer p{ font-size:14px; line-height:1.65; color:var(--muted); margin:0; }
.faq-answer a{ color:var(--accent-text); }
.ob-modules-grid.ob-mod-chain{ grid-template-columns:repeat(5,minmax(0,1fr)); }
@media (max-width:1100px){ .ob-modules-grid.ob-mod-chain{ grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media (max-width:759px){ .ob-modules-grid.ob-mod-chain{ grid-template-columns:repeat(2,minmax(0,1fr)); } }
.shell-full > section.trust-strip{ padding-top:0; padding-bottom:0; }
.lp-price-line{ font-size:16px; display:block; }
.lp-price-line::before{ vertical-align:middle; margin-right:18px; }
.lp3-price-num{ color:var(--ink); font-weight:700; }
#productos-section{ padding-top:8px; padding-bottom:8px; }
#productos-section .lp2-products-eyebrow{ margin-bottom:4px; }
#productos-section h2{ margin-top:4px; margin-bottom:4px; }
#productos-section .plan-usd-note{ margin-top:6px; }
.lp-tool-rows{ gap:6px; }
.lp-tool-row{ padding-top:14px; padding-bottom:14px; }
.lp-tool-row{ grid-template-columns:auto minmax(0,1fr) auto; }
.lp3-tool-plans{ display:block; margin-top:2px; font-size:14px; line-height:1.5; color:var(--muted); }
.lp3-ac3-sub{ display:block; margin-top:4px; }
.ac3-counter{ flex-wrap:wrap; row-gap:2px; }
.ac3-counter .lp3-ac3-sub{ flex:0 0 100%; text-align:right; margin-top:0; }
html.js .cns-slot-quote, html.js .cns-slot-readouts, html.js .cns-slot-stock{
  transition:transform .5s cubic-bezier(.2,.8,.3,1), opacity .5s cubic-bezier(.16,1,.3,1), translate .5s cubic-bezier(.16,1,.3,1);
}
html.js .cns:not(.is-vis) .cns-slot-quote,
html.js .cns:not(.is-vis) .cns-slot-readouts,
html.js .cns:not(.is-vis) .cns-slot-stock{ opacity:0; translate:0 16px; }
html.js .cns.is-vis .cns-slot-quote{ transition-delay:.4s; }
html.js .cns.is-vis .cns-slot-readouts{ transition-delay:.8s; }
html.js .cns.is-vis .cns-slot-stock{ transition-delay:1.2s; }
@media (prefers-reduced-motion: reduce){
  html.js .cns-slot-quote, html.js .cns-slot-readouts, html.js .cns-slot-stock{
    opacity:1; translate:none; transition:none;
  }
}
.nav-focus .nav-right a{ font-size:14px; }
.ck2-highlights{ list-style:none; margin:14px 0 0; padding:0; display:flex; flex-direction:column; gap:8px; }
.ck2-highlights li{ position:relative; padding-left:16px; font-size:14px; line-height:1.4; color:var(--muted); }
.ck2-highlights li::before{ content:""; position:absolute; left:0; top:7px; width:6px; height:6px; border-radius:50%; background:var(--accent-text); }
.ck2-delivery{ margin:12px 0 0; padding-top:12px; border-top:1px solid var(--border); font-size:14px; }
.ck2-owned .btn{ margin-top:4px; width:auto; }
.ck2-trust{
  display:flex; align-items:center; gap:14px; flex-wrap:wrap;
  padding:9px 26px; border-bottom:1px solid var(--border);
  font-size:14px; color:var(--muted);
}
.ck2-trust a{ color:var(--accent-text); font-weight:600; text-decoration:underline; text-underline-offset:2px; }
.ck2-trust a{ display:inline-flex; align-items:center; min-height:24px; }
.ck-legal label a{ padding:5px 0; }
.ck-legal input[type="checkbox"]{ width:20px; height:20px; flex:none; margin:1px 0 0; }
@media (max-width:759px){ .ck2-trust{ padding:9px 18px; } }
.ck2-receipt{
  margin-top:20px; border:1px solid var(--border); border-radius:var(--r-card);
  background:var(--card); padding:20px 22px; text-align:left;
}
.ck2-receipt-eyebrow{ color:var(--muted); font-size:11px; margin-bottom:10px; }
.ck2-receipt-row{ display:flex; align-items:baseline; justify-content:space-between; gap:16px; padding:7px 0; border-top:1px solid var(--border); font-size:14px; }
.ck2-receipt-row:first-of-type{ border-top:none; }
.ck2-receipt-row > span:first-child{ color:var(--muted); font-size:11px; flex:none; }
.ck2-receipt-row > span:last-child{ font-weight:700; text-align:right; }
.ck2-receipt-delivery{ margin:12px 0 0; padding-top:12px; border-top:1px solid var(--border); font-size:14px; }
.au2-value{ display:flex; flex-direction:column; gap:10px; margin:2px 0 0; padding:0; list-style:none; }
.au2-value li{ position:relative; padding-left:18px; font-size:14px; line-height:1.4; color:var(--ink); }
.au2-value li::before{ content:""; position:absolute; left:0; top:7px; width:6px; height:6px; border-radius:50%; background:var(--accent-text); }
.au2-security{ font-size:14px; color:var(--muted); line-height:1.5; margin-top:2px; }
.au2-security a{ color:var(--accent-text); font-weight:600; }
.au2-steps{ display:flex; flex-direction:column; gap:0; margin:0; padding:0; list-style:none; }
.au2-steps li{ display:flex; gap:12px; padding:10px 0; }
.au2-steps li + li{ border-top:1px solid var(--border); }
.au2-steps-n{ font-family:'JetBrains Mono',monospace; font-size:12px; color:var(--muted); flex:none; padding-top:1px; }
.au2-steps-text{ font-size:14px; line-height:1.4; }
.au2-link-row{ display:flex; align-items:center; min-height:44px; }
.au2-link-row a{ font-size:14px; color:var(--accent-text); font-weight:600; }
.ck-plate, .ck-form{ border-radius:var(--r-card); }
.ck2-h1{ font-size:26px; }
.ck2-card-title{ font-size:19px; font-weight:700; margin:0 0 8px; letter-spacing:-.3px; }
.ck2-card-text{ margin:8px 0 16px; }
.ck2-long{ margin:8px 0 0; }
.ck2-legal{ margin:16px 0; }
.ck2-side{ min-width:0; }
.ck2-today{ margin:12px 0 0; padding:10px 12px; border:1px solid var(--border); border-radius:var(--r-chip); font-size:14px; }
.ck2-today-row{ display:flex; justify-content:space-between; gap:12px; }
.ck2-today-note{ margin-top:6px; }
.ck2-side .au3-alert{ margin-bottom:16px; }
.ed-toc{
  margin:24px 0 32px; border:1px solid var(--line); border-radius:var(--r-flat);
  padding-top:14px; padding-bottom:14px; padding-left:18px; padding-right:18px;
  background:var(--bg2);
}
.ed-toc > summary{
  cursor:pointer; font-weight:700; font-size:15px; color:var(--ink);
  display:flex; align-items:center; gap:12px; min-height:28px;
}
.ed-toc-count{ color:var(--muted); font-weight:400; }
.ed-toc-list{
  margin:14px 0 4px; padding-left:0; list-style:none;
  display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:2px 28px;
}
.ed-toc-list li{ margin:0; }
.ed-toc-list a{
  display:block; padding-top:7px; padding-bottom:7px;
  font-size:14px; line-height:1.4; color:var(--muted); text-decoration:none;
}
.ed-toc-list a:hover{ color:var(--ink); }
.prose h2[id]{ scroll-margin-top:96px; }
.doc-attrib{ text-align:center; padding-top:28px; padding-bottom:40px; padding-left:16px; padding-right:16px; color:var(--muted); font-size:13px; font-family:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif; }
.doc-page{
  max-width:640px; margin:0 auto; padding:40px 16px 8px; position:relative; z-index:1;
  --doc-font:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  font-family:var(--doc-font);
}
.doc-page h1, .doc-page h2, .doc-page h3, .doc-page p, .doc-page span, .doc-page td, .doc-page th,
.doc-page li, .doc-page small, .doc-page b, .doc-page strong, .doc-page a, .doc-page button{
  font-family:var(--doc-font); letter-spacing:normal; text-transform:none;
}
.doc-page h1{ font-weight:700; }
.doc-page .card, .doc-page .card:hover{ transform:none; box-shadow:none; transition:none; border-color:var(--border); border-radius:var(--r-card); }
.doc-folio{ color:var(--muted); font-size:13px; margin:0; }
.doc-head{ display:flex; align-items:center; gap:14px; margin-bottom:24px; }
.doc-logo{ height:40px; width:auto; max-width:200px; object-fit:contain; }
.doc-brand-name{ font-size:20px; font-weight:700; color:var(--ink); }
.doc-total{ text-align:right; margin-top:16px; padding:12px 16px; border-radius:var(--r-card); font-size:22px; font-weight:800; background:var(--doc-accent, var(--ink)); color:var(--doc-on-accent, var(--bg)); outline:1px solid var(--border); }
.doc-actions{ display:flex; gap:12px; justify-content:center; flex-wrap:wrap; margin-top:20px; }
.doc-btn-accept{ background:var(--doc-accent, var(--ink)); color:var(--doc-on-accent, var(--bg)); border:0; }
.doc-btn-accept:hover{ filter:brightness(.92); }
.doc-btn-reject{ background:var(--bg); color:var(--ink); border:1px solid var(--border); }
.doc-btn-reject:hover{ background:var(--bg2); }
.doc-decided{ text-align:center; font-weight:700; font-size:17px; margin-top:20px; }
.doc-state{ margin-top:20px; padding:16px 18px; border:1px solid var(--border); border-left-width:4px; border-radius:var(--r-card); background:var(--card); color:var(--ink); }
.doc-state h2{ margin:0 0 4px; font-size:17px; }
.doc-state p{ margin:0; color:var(--muted); font-size:15px; line-height:1.5; }
.doc-state.ok{ border-left-color:var(--success); }
.doc-state.no{ border-left-color:var(--ink); }
.doc-state.expired{ border-left-color:var(--error); }
.doc-thanks{ text-align:center; padding-top:48px; padding-bottom:24px; }
.doc-thanks h1{ font-size:24px; margin:0 0 8px; }
.doc-thanks p{ color:var(--muted); margin:0 auto; max-width:46ch; line-height:1.55; }
.doc-contact{ text-align:center; margin-top:16px; font-size:13px; }
.doc-meta{ display:flex; flex-wrap:wrap; gap:6px 18px; margin-top:10px; font-size:14px; color:var(--muted); }
.doc-meta b{ color:var(--ink); font-weight:600; }
.doc-breakdown{ margin-top:14px; margin-left:auto; max-width:320px; font-size:15px; }
.doc-breakdown div{ display:flex; justify-content:space-between; gap:16px; padding-top:4px; padding-bottom:4px; }
.doc-breakdown span:first-child{ color:var(--muted); }
.doc-total small{ display:block; font-size:12px; font-weight:600; opacity:.85; letter-spacing:.04em; }
.doc-tools{ display:flex; justify-content:center; margin-top:14px; }
@media print{
  html[data-theme]{ --bg:#FFFFFF; --bg2:#FFFFFF; --card:#FFFFFF; --ink:#0B0D11; --muted:#5B6472; --border:#D5DAE1; }
  body{ background:#FFFFFF; }
  .doc-actions, .doc-tools, .doc-attrib, .skip, .rails, .flash{ display:none !important; }
  .doc-page{ padding-top:0; max-width:none; }
  .doc-page .card{ box-shadow:none; }
  .doc-total, .doc-btn-accept{ -webkit-print-color-adjust:exact; print-color-adjust:exact; }
  .doc-total{ outline:0; }
  .doc-state{ break-inside:avoid; }
  @page{ margin:14mm; }
}
.pn-first-h2{ margin-top:28px; }
.pn-first-lead{ margin:6px 0 24px; max-width:56ch; font-size:16px; }
.pn-upsell-price{ margin:0 0 16px; font-size:14px; color:var(--muted); }
.pn-upsell-price b{ color:var(--ink); font-weight:700; }
.pn-verify{
  margin:16px 0 4px; border:1px solid var(--border); border-left:3px solid var(--accent);
  border-radius:var(--r-chip); background:var(--bg2);
  padding-top:12px; padding-bottom:12px; padding-left:16px; padding-right:16px;
  font-size:14px; line-height:1.55; color:var(--ink);
}
.ap2-agent-notice{ font-size:14px; color:var(--muted); margin:0; }
.ap2-file-btn{ position:relative; display:inline-flex; align-items:center; gap:10px; }
.ap2-file-btn input[type="file"]{ position:absolute; inset:0; width:100%; height:100%; opacity:0; cursor:pointer; }
.ap2-file-name{ font-size:13px; color:var(--muted); }
@media (max-width:640px){
  .ap2-quotes-table thead{ display:none; }
  .ap2-quotes-table, .ap2-quotes-table tbody, .ap2-quotes-table tr, .ap2-quotes-table td{ display:block; width:100%; }
  .ap2-quotes-table{ border:0; }
  .ap2-quotes-table tr{ margin-bottom:12px; padding:14px; border:1px solid var(--border); border-radius:var(--r-card); background:var(--card); }
  .ap2-quotes-table td{ border:0; padding:4px 0; }
  .ap2-quotes-table td::before{ content:attr(data-label); display:block; font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.05em; color:var(--muted); }
}
.pn-verify-form{ display:inline; margin-left:6px; }
.pn-verify-form .link{ font-weight:700; }
.pf-danger{ border-color:var(--error); }
.pf-check{ display:flex; gap:8px; align-items:flex-start; margin-top:12px; font-size:14px; line-height:1.45; }
.pf-check input{ margin-top:3px; }
.pn-empresa.is-current{ border-color:var(--accent); }
.tbl-wrap{ overflow-x:auto; -webkit-overflow-scrolling:touch; margin:0 0 8px; max-width:100%; }
.tbl-wrap > table{ min-width:100%; }
.tbl-wrap td, .tbl-wrap th{ overflow-wrap:break-word; }
.tbl-wrap .badge, .tbl-wrap button{ white-space:nowrap; }
.adm-2col{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:24px; align-items:start; }
.adm-2col > *{ min-width:0; }
@media (max-width:860px){ .adm-2col{ grid-template-columns:minmax(0,1fr); } }
.adm-search{ display:flex; gap:8px; flex-wrap:wrap; margin:14px 0 6px; }
.adm-search input{ flex:1; min-width:0; padding:10px 12px; border:1px solid var(--border); border-radius:8px; background:var(--card); color:var(--ink); }
.adm-link{ display:flex; gap:8px; align-items:center; flex-wrap:wrap; margin:6px 0; }
.adm-link code{ font-size:12px; overflow-wrap:anywhere; word-break:break-all; background:var(--bg2); padding:4px 6px; border-radius:6px; flex:1; min-width:200px; }
.adm-note{ font-size:13px; color:var(--muted); }
.nav-user{ position:relative; }
.nav-user > summary{
  list-style:none; cursor:pointer; min-height:44px; max-width:100%;
  display:inline-flex; align-items:center; gap:6px;
  font-weight:600; font-size:14.5px; color:var(--ink);
  -webkit-tap-highlight-color:transparent;
}
.nav-user > summary::-webkit-details-marker{ display:none; }
.nav-user > summary::after{ content:'▾'; font-size:11px; transition:transform .15s ease; flex:0 0 auto; }
.nav-user[open] > summary::after{ transform:rotate(180deg); }
.nav-user-email{ display:none; max-width:22ch; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.nav-user-label{ display:inline; }
.nav-user-who{ max-width:100%; overflow-wrap:anywhere; font-size:13px; }
.nav-user-panel a, .nav-user-panel button.link{ min-height:44px; display:flex; align-items:center; font-weight:600; font-size:14.5px; }
.nav-panel-link{ display:none; }
@media (min-width:760px){
  .nav-panel-link{ display:inline-flex; margin-left:12px; padding-left:16px; border-left:1px solid var(--border); }
  .nav-user-email{ display:inline-block; }
  .nav-user-label{ display:none; }
  .nav-user-home{ display:none !important; }
  .nav-user-panel{
    position:absolute; right:0; top:calc(100% + 8px); z-index:30; min-width:240px; max-width:320px;
    margin:0; padding-top:8px; padding-bottom:8px; padding-left:16px; padding-right:16px;
    background:var(--bg); border:1px solid var(--border); border-radius:var(--r-chip); box-shadow:var(--shadow);
  }
}
@media (max-width:759px){ .nav-user{ position:static; } }
.pn-shell{ display:grid; grid-template-columns:minmax(0,1fr); gap:20px; }
.pn-content{ min-width:0; }
.pn-side-desktop{ display:none; }
.pn-side-list{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:2px; }
.pn-side-list a{
  display:flex; align-items:center; min-height:44px; box-sizing:border-box;
  padding-left:14px; padding-right:14px;
  font-weight:600; font-size:14.5px; color:var(--ink); text-decoration:none;
  border-left:3px solid transparent; border-radius:var(--r-flat);
}
.pn-side-list a:hover{ background:var(--bg2); }
.pn-side-list a.is-current{ background:var(--bg2); border-left-color:var(--accent); }
.pn-side-mobile{ border:1px solid var(--border); border-radius:var(--r-chip); background:var(--card); }
.pn-side-mobile > summary{
  list-style:none; cursor:pointer; min-height:44px; box-sizing:border-box;
  display:flex; align-items:center; gap:10px;
  padding-left:14px; padding-right:14px; font-weight:700; font-size:14.5px;
}
.pn-side-mobile > summary::-webkit-details-marker{ display:none; }
.pn-side-mobile > summary::after{ content:'▾'; margin-left:auto; font-size:11px; transition:transform .15s ease; }
.pn-side-mobile[open] > summary::after{ transform:rotate(180deg); }
.pn-side-mobile .pn-side-list{ padding-bottom:8px; border-top:1px solid var(--border); padding-top:6px; }
.pn-side-kicker{ color:var(--muted); }
@media (min-width:760px){
  .pn-shell{ grid-template-columns:200px minmax(0,1fr); gap:32px; align-items:start; }
  .pn-side{ position:sticky; top:96px; }
  .pn-side-desktop{ display:block; }
  .pn-side-mobile{ display:none; }
}
.pn-grid{ grid-template-columns:repeat(auto-fill,minmax(280px,1fr)); }
.pn-grid-top{ margin-top:20px; }
.pn-h1{ font-size:26px; }
.pn-h2-gap{ margin-top:36px; }
.pn-note{ margin:8px 0 0; }
.pn-note-lg{ margin:8px 0 16px; }
.pn-note-md{ margin:8px 0 12px; }
.pn-note-sm{ margin:12px 0 16px; }
.pn-card-h3{ margin-top:14px; }
.pn-card-form{ margin-top:14px; }
.pn-card-btn{ margin-top:16px; }
.pn-mt-12{ margin-top:12px; }
.pn-mt-20{ margin-top:20px; }
.pn-mt-24{ margin-top:24px; }
.pn-actions{ display:flex; gap:10px; flex-wrap:wrap; }
.pn-actions-top{ margin:18px 0; }
.pn-form-inline{ display:inline; margin:0; }
.pn-form-flush{ margin:0; }
.pn-label-first{ margin-top:0; }
.pn-label-sm{ font-size:13px; font-weight:600; }
.pn-hint{ font-size:12px; margin:4px 0 0; }
.pn-small{ font-size:13.5px; }
.pn-nowrap{ white-space:nowrap; }
.pn-stat-sm{ font-size:20px; }
.pn-card-spaced{ margin-bottom:16px; }
.pn-card-spaced-lg{ margin-bottom:20px; }
.pn-agent-hint{ margin-top:10px; }
.pn-seen{ font-size:12px; }
.pn-pager{ margin-top:12px; display:flex; gap:16px; flex-wrap:wrap; }
.pn-list-plain{ list-style:none; padding:0; margin:12px 0 0; }
.pn-list-plain li{ margin:8px 0; }
.pn-quote-note{ margin-top:10px; }
.pn-narrow{ max-width:480px; }
.pn-email-input{ width:100%; }
.pn-case{ margin-bottom:12px; }
.pn-case-title{ margin:0 0 6px; }
.pn-case-text{ margin:0; }
.pn-case-reply{ margin-top:12px; white-space:pre-wrap; }
.btn-danger-quiet{ border:0; border-radius:6px; cursor:pointer; }
.pn-btn-lg{ font-size:16px; padding-top:12px; padding-bottom:12px; padding-left:28px; padding-right:28px; }
.pn-form-actions{ display:flex; gap:10px; align-items:center; flex-wrap:wrap; margin-top:4px; }
.pn-form-actions .btn[disabled]{ opacity:.7; cursor:progress; }
.flash.info{ background:var(--bg2); color:var(--ink); border-color:var(--accent); }
.pn-fieldset{ border:0; padding:0; margin:16px 0 0; min-width:0; }
.pn-legend{ font-size:14px; font-weight:600; margin-bottom:8px; }
.pn-swatch-opt{ display:inline-flex; align-items:center; gap:6px; margin-right:14px; margin-bottom:10px; cursor:pointer; min-height:44px; }
.pn-swatch{ display:inline-flex; border-radius:6px; overflow:hidden; border:1px solid var(--border); }
.pn-swatch i{ display:block; width:22px; height:22px; }
.pn-swatch-name{ font-size:14px; }
.pn-color-input{ width:44px; height:28px; padding:0; border:1px solid var(--border); border-radius:6px; background:none; cursor:pointer; }
.pn-color-now{ display:inline-block; width:14px; height:14px; border-radius:3px; vertical-align:middle; }
.pn-logo-row{ display:flex; align-items:center; gap:12px; margin-top:10px; flex-wrap:wrap; }
.pn-logo-img{ max-height:48px; max-width:160px; background:#fff; border:1px solid var(--border); border-radius:6px; padding-top:4px; padding-bottom:4px; padding-left:4px; padding-right:4px; }
.pn-check{ display:inline-flex; align-items:center; gap:8px; min-height:44px; cursor:pointer; }
.pn-check input{ width:20px; height:20px; }
.form-error{ margin:6px 0 0; font-size:13px; font-weight:600; color:var(--error); }
.form-input[aria-invalid="true"]{ border-color:var(--error); }
.pn-toc{ display:flex; gap:8px 18px; flex-wrap:wrap; margin:16px 0 4px; }
.pn-toc a{ font-weight:600; font-size:14.5px; min-height:44px; display:inline-flex; align-items:center; }
.pn-section{ scroll-margin-top:108px; margin-top:36px; }
.pn-section > h2{ margin-top:0; }
.pn-confirm-hint{ font-size:13.5px; }
.pn-confirm-name{ font-weight:700; overflow-wrap:anywhere; }
.pn-empty{
  border:1px dashed var(--border); border-radius:var(--r-card); background:var(--card);
  padding-top:28px; padding-bottom:28px; padding-left:24px; padding-right:24px;
}
.pn-empty h3{ margin:0 0 6px; }
.pn-empty p{ margin:0 0 14px; max-width:60ch; }
.pn-empty .btn{ margin-top:2px; }
.pn-empty-error{ border-style:solid; border-color:var(--error); }
.pn-skel{ display:grid; gap:10px; }
.pn-skel-row{ display:block; height:52px; border-radius:var(--r-chip); background:var(--bg2); animation:pnSkel 1.4s ease-in-out infinite; }
@keyframes pnSkel{ 0%,100%{ opacity:.55; } 50%{ opacity:1; } }
@media (prefers-reduced-motion:reduce){ .pn-skel-row{ animation:none; } }
.cfg-preview-cta{ padding-top:0; padding-bottom:16px; padding-left:16px; padding-right:16px; }
.pn-preview-btn{ width:100%; border:0; color:#fff; }
@media (max-width:1180px){
  .pn-content .cfg-editor-grid{ grid-template-columns:minmax(0,1fr); }
  .pn-content .cfg-preview{ position:static; order:-1; }
}
.pn-export-meta{ font-size:13.5px; color:var(--muted); margin:0 0 14px; }
.st-doors{ display:grid; grid-template-columns:1fr; gap:16px; margin-top:clamp(28px,4vw,48px); }
@media (min-width:860px){ .st-doors{ grid-template-columns:1fr 1fr; } }
.st-door{
  display:flex; flex-direction:column; gap:10px;
  padding-top:clamp(22px,3vw,34px); padding-right:clamp(22px,3vw,34px); padding-bottom:clamp(22px,3vw,34px); padding-left:clamp(22px,3vw,34px);
  border:1px solid var(--border); border-radius:var(--r-lg,16px);
  background:var(--card); color:var(--ink); text-decoration:none;
  transition:border-color var(--dur-2,200ms) var(--ease-out,ease),transform var(--dur-2,200ms) var(--ease-out,ease);
}
.st-door:hover, .st-door:focus-visible{ border-color:var(--ink); transform:translateY(-2px); }
.st-door-title{ font-size:clamp(22px,2.4vw,30px); font-weight:800; letter-spacing:-.03em; line-height:1.1; }
.st-door-desc{ color:var(--muted); font-size:15.5px; line-height:1.55; max-width:48ch; }
.st-door-cta{ align-self:flex-start; margin-top:10px; }
@media (prefers-reduced-motion:reduce){ .st-door{ transition:none; } .st-door:hover{ transform:none; } }
.st-hero{
  padding-top:clamp(56px,8vw,120px); padding-bottom:clamp(40px,5vw,72px);
}
.st-hero h1{
  font-size:clamp(36px,5.4vw,68px); line-height:1.02; letter-spacing:-.035em;
  font-weight:800; margin:18px 0 0; max-width:18ch;
}
.st-lead{
  font-size:clamp(16px,1.5vw,19px); line-height:1.55; color:var(--muted);
  margin:22px 0 0; max-width:60ch;
}
.st-actions{ display:flex; flex-wrap:wrap; gap:12px; margin-top:30px; }
.st-sec{ padding-top:clamp(40px,5vw,72px); padding-bottom:clamp(40px,5vw,72px); }
.st-sec-head{ max-width:62ch; margin-bottom:32px; }
.st-sec-head h2{ margin:10px 0 0; }
.st-sec-head p{ color:var(--muted); margin:14px 0 0; font-size:17px; line-height:1.55; }
.st-grid{ display:grid; gap:16px; grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr)); }
.st-grid-wide{ grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr)); }
.st-card{
  display:flex; flex-direction:column; gap:10px;
  border:1px solid var(--border); border-radius:var(--r-card); background:var(--card);
  padding-top:24px; padding-right:24px; padding-bottom:24px; padding-left:24px;
  color:var(--ink);
}
a.st-card:hover{ border-color:var(--ink); }
a.st-card:focus-visible, .st-link:focus-visible{ outline:2px solid var(--ink); outline-offset:3px; }
.st-card h3{ margin:0; }
.st-card p{ margin:0; color:var(--muted); font-size:15px; line-height:1.55; }
.st-card .st-tag{ align-self:flex-start; }
.st-card-foot{ margin-top:auto; padding-top:8px; }
.st-tag{
  display:inline-block; border:1px solid var(--border); border-radius:var(--r-full);
  padding-top:3px; padding-right:10px; padding-bottom:3px; padding-left:10px;
}
.st-link{ color:var(--ink); font-weight:700; font-size:15px; border-bottom:1px solid var(--border); }
.st-link:hover{ border-bottom-color:var(--ink); }
.st-mt-18{ margin-top:18px; }
.st-mt-22{ margin-top:22px; }
.st-mt-28{ margin-top:28px; }
.st-rows{ border-top:1px solid var(--border); max-width:860px; }
.st-row{
  display:grid; grid-template-columns:minmax(120px,200px) 1fr; gap:8px 28px;
  border-bottom:1px solid var(--border); padding-top:18px; padding-bottom:18px;
}
.st-row dt{ margin:0; }
.st-row dd{ margin:0; color:var(--ink); line-height:1.55; }
@media (max-width:640px){ .st-row{ grid-template-columns:1fr; } }
.st-case-meta{
  display:grid; gap:18px 32px; grid-template-columns:repeat(auto-fit,minmax(160px,1fr));
  margin:36px 0 0; max-width:720px;
}
.st-case-meta div{ border-top:1px solid var(--border); padding-top:12px; }
.st-case-meta dt{ margin:0 0 6px; }
.st-case-meta dd{ margin:0; color:var(--ink); }
.st-list{ margin:0; padding-left:0; list-style:none; display:grid; gap:12px; max-width:68ch; }
.st-list li{
  position:relative; padding-left:22px; line-height:1.55; font-size:17px;
}
.st-list li::before{
  content:""; position:absolute; left:0; top:.7em; width:8px; height:2px; background:var(--ink);
}
.st-note{
  margin:28px 0 0; max-width:68ch; color:var(--muted); font-size:15px; line-height:1.55;
  border-left:2px solid var(--border); padding-left:16px;
}
.st-chips{ display:flex; flex-wrap:wrap; gap:8px; }
.st-media{ display:grid; gap:16px; grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr)); margin-top:36px; }
.st-media img, .st-media video{ width:100%; height:auto; border-radius:var(--r-card); border:1px solid var(--border); }
.st-cta{
  display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:20px 32px;
  border:1px solid var(--border); border-radius:var(--r-card); background:var(--bg2);
  padding-top:28px; padding-right:28px; padding-bottom:28px; padding-left:28px;
}
.st-cta h2{ margin:0; font-size:clamp(22px,2.4vw,32px); }
.st-cta p{ margin:8px 0 0; color:var(--muted); }
.hm-card{ gap:12px; }
.hm-card .ms{ margin-bottom:6px; }
.hm-prod .hm-from{ color:var(--ink); font-weight:700; font-size:15px; }
.hm-prod .hm-plans{ font-size:14px; }
.hm-lines{ list-style:none; margin:0; padding:0; display:grid; gap:16px; grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr)); }
.hm-line{ border-top:1px solid var(--border); padding-top:16px; }
.hm-line h3{ margin:0 0 8px; font-size:17px; }
.hm-line p{ margin:0; color:var(--muted); font-size:15px; line-height:1.55; }
.hm-team{ max-width:720px; }
#seguridad .pg-doc-links{ margin-top:22px; }
.nav-mega-group + .nav-mega-group{ margin-top:18px; }
.nav-mega-goal{ margin-bottom:8px; color:var(--muted); }
.lp-chip, .pv-pill{ cursor:default; }
:root{
  --dur-1:120ms; --dur-2:200ms; --dur-3:320ms; --dur-4:560ms;
  --ease-out:cubic-bezier(.2,.7,.2,1);
  --ease-io:cubic-bezier(.65,0,.35,1);
  --z-nav:20; --z-drop:30; --z-modal:100; --z-toast:110;
  --tap:44px;
}
button, input, select, textarea{ font-family:inherit; }
.btn:focus-visible, button.link:focus-visible, .select:focus-visible,
select:focus-visible, input[type="checkbox"]:focus-visible,
input[type="radio"]:focus-visible, [role="tab"]:focus-visible{
  outline:2px solid var(--ink); outline-offset:3px;
}
.btn:disabled, .btn[aria-disabled="true"]{
  opacity:.5; cursor:not-allowed; transform:none; box-shadow:none; pointer-events:none;
}
.btn.is-loading{
  position:relative; color:transparent; pointer-events:none; cursor:progress;
}
.btn.is-loading::after{
  content:""; position:absolute; left:50%; top:50%; width:16px; height:16px;
  margin:-8px 0 0 -8px; border-radius:50%;
  border:2px solid var(--bg); border-right-color:transparent;
  animation:fnd-spin .7s linear infinite;
}
.btn-accent.is-loading::after{ border-color:var(--accent-ink); border-right-color:transparent; }
.btn-outline.is-loading::after, .btn-ghost.is-loading::after{ border-color:var(--ink); border-right-color:transparent; }
.btn-ghost{ background:transparent; color:var(--ink); border:1px solid transparent; }
.btn-ghost:hover{ background:var(--bg2); border-color:var(--border); }
.btn-lg{ padding:17px 32px; font-size:16px; }
.btn-block{ display:block; width:100%; }
.btn-icon{ display:inline-flex; align-items:center; justify-content:center; width:var(--tap); height:var(--tap); padding:0; }
.btn-ok::before{ content:"\2713"; margin-right:8px; }
@keyframes fnd-spin{ to{ transform:rotate(360deg); } }
@media (max-width:640px){
  .btn-block-m{ display:block; width:100%; }
  .btn, button.link{ min-height:var(--tap); }
}
.alert{
  display:flex; align-items:flex-start; gap:12px;
  margin:0 0 20px; padding:14px 16px; border-radius:var(--r-md,10px);
  border:1px solid var(--border);
  background:var(--card); color:var(--ink); font-size:14px; line-height:1.5;
}
.alert > .alert-body{ flex:1; min-width:0; }
.alert > .alert-body b{ display:block; font-weight:700; margin-bottom:2px; }
.alert .alert-x{
  flex:none; width:32px; height:32px; margin:-6px -8px 0 0; border:0; border-radius:50%;
  background:transparent; color:inherit; font-size:20px; line-height:1; cursor:pointer;
}
.alert .alert-x:hover{ background:var(--bg2); }
.alert.ok{ border-color:var(--success); background:var(--success-light); color:var(--success); }
.alert.error{ border-color:var(--error); background:var(--error-light); color:var(--error); }
.alert.warn{ border-color:var(--ink); }
.alert.info{ border-color:var(--accent-text); }
.flash{ position:relative; display:flex; align-items:flex-start; gap:12px; max-width:none; margin-left:24px; margin-right:24px; }
@media (min-width:768px){ .flash{ margin-left:40px; margin-right:40px; } }
@media (min-width:1024px){ .flash{ margin-left:max(56px,calc((100% - 1368px) / 2)); margin-right:max(56px,calc((100% - 1368px) / 2)); } }
.flash .flash-x{
  flex:none; width:32px; height:32px; margin:-6px -8px 0 auto; border:0; border-radius:50%;
  background:transparent; color:inherit; font-size:20px; line-height:1; cursor:pointer;
}
.flash .flash-x:hover{ background:var(--bg2); }
.flash.is-leaving{ opacity:0; transform:translateY(-6px); transition:opacity var(--dur-3) var(--ease-out),transform var(--dur-3) var(--ease-out); }
.toast-region{
  position:fixed; z-index:var(--z-toast); right:12px; top:12px; left:12px;
  display:flex; flex-direction:column; align-items:stretch; gap:10px; pointer-events:none;
}
.toast{
  pointer-events:auto; display:flex; align-items:flex-start; gap:12px;
  width:min(420px,100%); padding:14px 16px; border-radius:var(--r-md,10px);
  background:var(--ink); color:var(--bg); font-size:14px; line-height:1.45;
  box-shadow:var(--shadow);
  animation:fnd-toast-in var(--dur-3) var(--ease-out) both;
}
.toast.ok{ box-shadow:inset 0 0 0 1px var(--success); }
.toast.error{ box-shadow:inset 0 0 0 1px var(--error); }
.toast.warn, .toast.info{ box-shadow:inset 0 0 0 1px var(--accent); }
.toast .toast-msg{ flex:1; min-width:0; }
.toast .toast-act{ background:none; border:0; padding:0; color:inherit; font-weight:700; text-decoration:underline; cursor:pointer; }
.toast .toast-x{
  flex:none; width:28px; height:28px; margin:-4px -6px 0 0; border:0; border-radius:50%;
  background:transparent; color:inherit; font-size:18px; line-height:1; cursor:pointer;
}
.toast.is-leaving{ opacity:0; transform:translateY(8px); transition:opacity var(--dur-2) var(--ease-out),transform var(--dur-2) var(--ease-out); }
@keyframes fnd-toast-in{ from{ opacity:0; transform:translateY(12px); } to{ opacity:1; transform:none; } }
@media (min-width:640px){ .toast-region{ top:84px; right:auto; left:50%; transform:translateX(-50%); width:min(460px,calc(100vw - 32px)); align-items:stretch; } }
dialog.modal{
  margin:auto; width:min(480px,calc(100vw - 32px)); max-height:calc(100vh - 32px); padding:0;
  border:1px solid var(--border); border-radius:var(--r-lg,16px);
  background:var(--card); color:var(--ink); box-shadow:var(--shadow);
}
dialog.modal::backdrop{ background:rgba(11,13,17,.55); }
dialog.modal[open]{ animation:fnd-modal-in var(--dur-3) var(--ease-out) both; }
.modal-body{ padding:24px 24px 8px; }
.modal-body h2{ font-size:20px; letter-spacing:-.02em; margin:0 0 8px; }
.modal-body p{ margin:0; color:var(--muted); font-size:15px; line-height:1.55; }
.modal-foot{ display:flex; flex-wrap:wrap; justify-content:flex-end; gap:10px; padding:16px 24px 24px; }
.modal-foot .btn{ min-height:var(--tap); }
@keyframes fnd-modal-in{ from{ opacity:0; transform:translateY(10px) scale(.98); } to{ opacity:1; transform:none; } }
@media (max-width:640px){
  dialog.modal{ margin:auto auto 0; width:100vw; max-width:100vw; border-radius:var(--r-lg,16px) var(--r-lg,16px) 0 0; }
  .modal-foot .btn{ flex:1 1 100%; }
}
dialog.drawer{
  position:fixed; inset:0 0 0 auto; margin:0; width:min(420px,100vw); height:100vh; max-height:none;
  padding:0; border:0; border-left:1px solid var(--border);
  background:var(--card); color:var(--ink); box-shadow:var(--shadow);
}
dialog.drawer::backdrop{ background:rgba(11,13,17,.45); }
dialog.drawer[open]{ animation:fnd-drawer-in var(--dur-3) var(--ease-out) both; }
@keyframes fnd-drawer-in{ from{ transform:translateX(24px); opacity:0; } to{ transform:none; opacity:1; } }
[data-tip]{ position:relative; }
[data-tip]::after{
  content:attr(data-tip); position:absolute; left:50%; bottom:calc(100% + 8px);
  transform:translateX(-50%) translateY(4px); width:max-content; max-width:240px;
  padding:7px 10px; border-radius:8px; background:var(--ink); color:var(--bg);
  font-size:12.5px; font-weight:500; line-height:1.4; text-align:left; white-space:normal;
  opacity:0; pointer-events:none; z-index:var(--z-drop);
  transition:opacity var(--dur-2) var(--ease-out),transform var(--dur-2) var(--ease-out);
}
[data-tip]:hover::after, [data-tip]:focus-visible::after{ opacity:1; transform:translateX(-50%); }
.skel{
  display:block; border-radius:8px; min-height:1em;
  background:linear-gradient(90deg,var(--bg2) 0%,var(--border) 50%,var(--bg2) 100%);
  background-size:200% 100%; animation:fnd-shimmer 1.4s linear infinite;
}
.skel-line{ height:14px; margin:8px 0; }
.skel-block{ height:96px; }
@keyframes fnd-shimmer{ from{ background-position:200% 0; } to{ background-position:-200% 0; } }
.empty{
  display:flex; flex-direction:column; align-items:center; text-align:center; gap:10px;
  padding:40px 24px; border:1px dashed var(--border); border-radius:var(--r-lg,16px);
  background:var(--bg2); color:var(--muted);
}
.empty h3{ margin:0; color:var(--ink); font-size:18px; letter-spacing:-.02em; }
.empty p{ margin:0; max-width:46ch; font-size:14.5px; line-height:1.55; }
.empty .empty-actions{ display:flex; flex-wrap:wrap; gap:10px; justify-content:center; margin-top:6px; }
.badge.ok, .badge.success{ background:var(--success-light); color:var(--success); }
.badge.warn, .badge.pending{ background:var(--bg2); color:var(--ink); border:1px solid var(--ink); }
.badge.info{ background:var(--bg2); color:var(--accent-text); border:1px solid var(--accent-text); }
.badge.danger{ background:var(--error-light); color:var(--error); }
.badge.muted{ background:var(--bg2); color:var(--muted); border:1px solid var(--border); }
.pager{ display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:6px; margin:24px 0; }
.pager a, .pager span{
  display:inline-flex; align-items:center; justify-content:center; min-width:var(--tap); min-height:var(--tap);
  padding:0 12px; border:1px solid var(--border); border-radius:var(--r-md,10px);
  color:var(--ink); font-size:14px; text-decoration:none; background:var(--card);
}
.pager a:hover{ border-color:var(--accent-text); }
.pager [aria-current="page"]{ background:var(--ink); color:var(--bg); border-color:var(--ink); }
.pager .is-off{ opacity:.45; pointer-events:none; }
.crumbs{ display:flex; flex-wrap:wrap; gap:6px; margin:0 0 16px; padding:0; list-style:none; font-size:13.5px; color:var(--muted); }
.crumbs li + li::before{ content:"/"; margin-right:6px; opacity:.6; }
.crumbs a{ color:var(--muted); }
.crumbs [aria-current="page"]{ color:var(--ink); }
.progress{ height:8px; border-radius:999px; background:var(--bg2); overflow:hidden; }
.progress > i{ display:block; height:100%; width:100%; background:var(--accent); transform-origin:left; transform:scaleX(var(--p,0)); transition:transform var(--dur-3) var(--ease-out); }
.switch{ position:relative; display:inline-block; width:44px; height:26px; flex:none; }
.switch input{ position:absolute; inset:0; margin:0; opacity:0; cursor:pointer; z-index:1; }
.switch i{
  position:absolute; inset:0; border-radius:999px; background:var(--border);
  transition:background var(--dur-2) var(--ease-out);
}
.switch i::after{
  content:""; position:absolute; left:3px; top:3px; width:20px; height:20px; border-radius:50%;
  background:var(--card); box-shadow:0 1px 3px rgba(11,13,17,.3);
  transition:transform var(--dur-2) var(--ease-out);
}
.switch input:checked + i{ background:var(--accent); }
.switch input:checked + i::after{ transform:translateX(18px); }
.switch input:focus-visible + i{ outline:2px solid var(--ink); outline-offset:3px; }
.switch input:disabled + i{ opacity:.5; }
.select{
  appearance:none; -webkit-appearance:none; width:100%; min-height:var(--tap);
  padding:10px 38px 10px 14px; border:1px solid var(--border); border-radius:var(--r-md,10px);
  background-color:var(--card); color:var(--ink); font-size:15px; cursor:pointer;
  background-image:linear-gradient(45deg,transparent 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,transparent 50%);
  background-position:calc(100% - 20px) 55%,calc(100% - 14px) 55%;
  background-size:6px 6px,6px 6px; background-repeat:no-repeat;
}
.select:disabled{ opacity:.55; cursor:not-allowed; }
.field{ display:block; margin:0 0 18px; }
.field > label, .field > .form-label{ display:block; margin:0 0 6px; font-size:13.5px; font-weight:600; }
.field .help{ margin:6px 0 0; font-size:13px; color:var(--muted); }
.field .err{ margin:6px 0 0; font-size:13px; font-weight:600; color:var(--error); }
.field.has-error input, .field.has-error select, .field.has-error textarea{ border-color:var(--error); }
.field.is-ok input, .field.is-ok select, .field.is-ok textarea{ border-color:var(--success); }
input[readonly], textarea[readonly]{ background:var(--bg2); }
input:disabled, select:disabled, textarea:disabled{ opacity:.6; cursor:not-allowed; }
.tabs{ display:flex; gap:4px; border-bottom:1px solid var(--border); overflow-x:auto; }
.tabs [role="tab"]{
  position:relative; min-height:var(--tap); padding:0 16px; border:0; background:none;
  color:var(--muted); font-size:15px; font-weight:600; cursor:pointer; white-space:nowrap;
}
.tabs [role="tab"][aria-selected="true"]{ color:var(--ink); }
.tabs [role="tab"][aria-selected="true"]::after{
  content:""; position:absolute; left:12px; right:12px; bottom:-1px; height:2px; background:var(--accent-text);
}
.tabs [role="tab"]:disabled{ opacity:.45; cursor:not-allowed; }
.cb{
  position:fixed; z-index:var(--z-modal); left:12px; right:12px; bottom:88px;
  max-width:560px; padding:18px 20px; border:1px solid var(--border); border-radius:var(--r-lg,16px);
  background:var(--card); color:var(--ink); box-shadow:var(--shadow);
}
.cb[hidden]{ display:none; }
.cb h2{ margin:0 0 6px; font-size:16px; letter-spacing:-.01em; }
.cb p{ margin:0 0 14px; font-size:14px; line-height:1.5; color:var(--muted); }
.cb p a{ color:var(--ink); text-decoration:underline; }
.cb-actions{ display:flex; flex-wrap:wrap; gap:8px; }
.cb-actions > *{ margin:0; flex:1 1 0; min-width:96px; }
.cb-actions .btn, .cb-actions a.btn{ width:100%; min-height:var(--tap); padding:10px 14px; font-size:14px; border:1px solid var(--ink); }
@media (min-width:640px){ .cb{ left:16px; right:auto; bottom:16px; } }
.cb-actions form .btn{ white-space:nowrap; }
.nav .nav-cta{ white-space:nowrap; min-height:var(--tap); display:inline-flex; align-items:center; margin-left:8px; }
@media (max-width:480px){ .nav .nav-cta{ padding-left:12px; padding-right:12px; font-size:12.5px; } }
.nav-mega > summary.nav-active{ font-weight:700; }
.nav-mega > summary.nav-active::before{ transform:scaleX(1); }
.ed-content .prose h1{ font-size:clamp(28px,4.2vw,44px); line-height:1.08; letter-spacing:-.03em; margin-bottom:20px; }
@media (max-width:640px){ .ck-strip span{ white-space:normal; } }
@media (prefers-reduced-motion:reduce){
  .skel, .toast, dialog.modal[open], dialog.drawer[open], .btn.is-loading::after{ animation-duration:.01ms; animation-iteration-count:1; }
  .progress > i, .switch i, .switch i::after, [data-tip]::after{ transition:none; }
}
.pg-head{ max-width:62ch; margin-bottom:24px; }
.pg-head h2{ margin:8px 0 0; }
.pg-head p{ color:var(--muted); margin:10px 0 0; line-height:1.55; font-size:16px; }
.pg-catalog{ padding-top:clamp(32px,4vw,56px); padding-bottom:clamp(24px,3vw,40px); }
.pg-grid{ display:grid; gap:16px; grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr)); }
.pg-pcard{
  display:flex; flex-direction:column; gap:12px;
  border:1px solid var(--border); border-radius:var(--r-card); background:var(--card);
  padding:24px; color:var(--ink);
}
.pg-pcard-top{ display:flex; align-items:center; justify-content:space-between; gap:12px; }
.pg-pcard h3{ margin:0; font-size:22px; letter-spacing:-.02em; }
.pg-label{ color:var(--muted); }
.pg-tagline{ margin:0; color:var(--muted); line-height:1.5; font-size:15px; }
.pg-from{ margin:0; display:flex; align-items:baseline; flex-wrap:wrap; gap:6px; }
.pg-from b{ font-size:26px; letter-spacing:-.03em; }
.pg-guar{ margin:0; color:var(--muted); }
.pg-pcard-actions{ display:flex; flex-wrap:wrap; gap:10px; margin-top:auto; padding-top:6px; }
.pg-pcard-actions .btn{ min-height:44px; display:inline-flex; align-items:center; justify-content:center; }
.pg-owned{
  border:1px solid var(--accent-text); color:var(--accent-text); border-radius:var(--r-full);
  padding:3px 10px; font-size:11px;
}
.pg-soon{ padding-top:clamp(32px,4vw,56px); padding-bottom:clamp(24px,3vw,40px); }
.pg-soon-grid{ display:grid; gap:16px; grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr)); }
.pg-soon-item{
  display:flex; flex-direction:column; gap:10px; min-width:0;
  border:1px dashed var(--border); border-radius:var(--r-card); background:var(--bg2);
  padding:20px 22px;
}
.pg-soon-item h3{ margin:0; font-size:18px; letter-spacing:-.01em; }
.pg-soon-item .espera-form{ margin-top:4px; }
.pg-bar{
  position:fixed; left:0; right:0; bottom:0; z-index:40;
  background:var(--card); border-top:1px solid var(--border); box-shadow:var(--shadow);
  transform:translateY(110%); visibility:hidden;
  transition:transform var(--dur-3) var(--ease-out), bottom var(--dur-2) var(--ease-out), visibility 0s linear var(--dur-3);
}
.pg-bar.is-on{ transform:none; visibility:visible; transition-delay:0s,0s,0s; }
.pg-bar-in{ display:flex; align-items:center; gap:16px; padding-top:10px; padding-bottom:10px; }
.pg-bar-info{ display:flex; flex-direction:column; min-width:0; flex:1 1 auto; }
.pg-bar-name{ font-weight:700; line-height:1.2; }
.pg-bar-price{ color:var(--muted); font-size:14px; line-height:1.3; }
.pg-bar-guar{ display:none; color:var(--muted); }
.pg-bar .btn{ min-height:44px; white-space:nowrap; display:inline-flex; align-items:center; }
@media (min-width:760px){ .pg-bar-guar{ display:inline; } }
@media (min-width:640px){ .pg-bar.has-cb{ bottom:calc(var(--cb-h,0px) + 32px); } }
@media (prefers-reduced-motion:reduce){ .pg-bar{ transition:none; } }
.pg-cmp-sec{ padding-top:clamp(32px,4vw,56px); padding-bottom:clamp(16px,2vw,32px); }
.pg-cmp-block + .pg-cmp-block{ margin-top:36px; }
.pg-cmp-block h3{ margin:0 0 4px; font-size:20px; letter-spacing:-.02em; }
.pg-acc{ border:1px solid var(--border); border-radius:var(--r-card); background:var(--card); margin-top:12px; }
.pg-acc > summary{
  cursor:pointer; list-style:none; display:flex; align-items:center; justify-content:space-between; gap:16px;
  min-height:48px; padding:0 20px; font-weight:700;
}
.pg-acc > summary::-webkit-details-marker{ display:none; }
.pg-acc > summary::after{ content:'+'; color:var(--accent-text); font-family:'JetBrains Mono',monospace; font-size:18px; flex:none; }
.pg-acc[open] > summary::after{ content:'\2212'; }
.pg-acc > summary:focus-visible{ outline:2px solid var(--ink); outline-offset:-2px; border-radius:var(--r-card); }
.pg-cmp-wrap{ overflow-x:auto; padding:0 20px 14px; }
.pg-cmp{ width:100%; border-collapse:collapse; min-width:520px; }
.pg-cmp th, .pg-cmp td{
  text-align:left; vertical-align:top; padding:12px 14px 12px 0;
  border-top:1px solid var(--border); font-size:14.5px; line-height:1.45;
}
.pg-cmp thead th{ border-top:0; color:var(--muted); font-size:12.5px; font-weight:600; padding-top:4px; }
.pg-cmp tbody th{ width:26%; font-weight:600; color:var(--muted); }
.pg-cmp td{ color:var(--ink); }
.pg-incl{ padding-top:clamp(24px,3vw,40px); padding-bottom:clamp(16px,2vw,32px); }
.pg-incl-list{ list-style:none; margin:0; padding:0; display:grid; gap:12px; grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr)); }
.pg-incl-list li{
  position:relative; padding-left:26px; line-height:1.5; font-size:15.5px;
}
.pg-incl-list li::before{ content:'\2713'; position:absolute; left:0; top:0; color:var(--accent-text); font-weight:700; }
.pg-bridge{ padding-top:clamp(24px,3vw,40px); padding-bottom:clamp(32px,4vw,56px); }
.pg-plan-note{ margin:12px 0 0; color:var(--muted); font-size:14px; }
.pg-two{ width:100%; border-collapse:collapse; min-width:560px; }
.pg-two th, .pg-two td{ text-align:left; vertical-align:top; padding:16px 20px 16px 0; border-top:1px solid var(--border); line-height:1.5; font-size:15px; }
.pg-two thead th{ border-top:0; font-size:17px; letter-spacing:-.01em; }
.pg-two tbody th{ width:20%; color:var(--muted); font-weight:600; font-size:13px; }
.pg-two-links{ display:flex; flex-wrap:wrap; gap:16px; margin-top:18px; }
.pg-steps{ list-style:none; margin:0; padding:0; display:grid; gap:14px; max-width:68ch; counter-reset:pgs; }
.pg-steps li{ display:flex; gap:14px; align-items:flex-start; line-height:1.55; font-size:17px; }
.pg-steps li::before{
  counter-increment:pgs; content:counter(pgs, decimal-leading-zero);
  flex:none; font-family:'JetBrains Mono',monospace; font-size:12px; color:var(--accent-text); padding-top:5px;
}
.pg-faq-wrap{ max-width:760px; }
.pg-filter{ display:flex; flex-wrap:wrap; gap:8px; margin:0 0 24px; padding:0; list-style:none; }
.pg-filter a{
  display:inline-flex; align-items:center; gap:8px; min-height:44px; padding:0 16px;
  border:1px solid var(--border); border-radius:var(--r-full); background:var(--card);
  color:var(--ink); font-size:14px; text-decoration:none;
}
.pg-filter a:hover{ border-color:var(--accent-text); }
.pg-filter a[aria-current="true"]{ background:var(--ink); color:var(--bg); border-color:var(--ink); font-weight:700; }
.pg-filter a:focus-visible{ outline:2px solid var(--ink); outline-offset:3px; }
.pg-filter-n{ opacity:.7; font-size:12px; }
.pg-ccard-media{ display:block; }
.pg-case-hero{ margin-top:32px; }
.pg-pcard > .ms{ margin-bottom:4px; }
.pg-soon-item > .ms{ margin-bottom:4px; }
.pl2-other-card > .ms{ flex:0 0 220px; width:220px; }
@media (max-width:759px){ .pl2-other-card > .ms{ flex:1 1 100%; width:100%; } }
.pg-ccard-meta{ color:var(--muted); font-size:14px; line-height:1.4; }
.pg-empty{ margin-top:8px; }
.pg-tags{ display:flex; flex-wrap:wrap; gap:8px; margin-top:28px; }
.pg-case-actions{ display:flex; flex-wrap:wrap; gap:12px; align-items:center; margin-top:28px; }
.pg-next{ margin-top:0; }
.pg-hub{ padding-top:8px; padding-bottom:20px; }
.pg-routes{ display:grid; gap:12px; grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr)); }
.pg-route{
  display:flex; flex-direction:column; gap:6px; min-height:44px;
  border:1px solid var(--border); border-radius:var(--r-card); background:var(--card);
  padding:18px 20px; color:var(--ink); text-decoration:none;
}
.pg-route:hover{ border-color:var(--accent-text); }
.pg-route[aria-current="true"]{ border-color:var(--ink); box-shadow:inset 0 0 0 1px var(--ink); }
.pg-route:focus-visible{ outline:2px solid var(--ink); outline-offset:3px; }
.pg-route b{ font-size:17px; letter-spacing:-.01em; }
.pg-route span{ color:var(--muted); font-size:14px; line-height:1.45; }
.pg-prog{ display:none; }
html.js .pg-prog{ display:block; margin:6px 0 18px; }
.pg-prog-label{ color:var(--muted); }
.pg-prog-bars{ display:flex; gap:6px; list-style:none; margin:10px 0 0; padding:0; }
.pg-prog-bars li{ flex:1; height:4px; border-radius:2px; background:var(--border); }
.pg-prog-bars li.is-on{ background:var(--accent-text); }
.pg-step{ border:0; margin:0 0 18px; padding:0; min-width:0; }
.pg-step > legend{ font-weight:700; font-size:15px; margin-bottom:10px; padding:0; }
.pg-topics{ display:flex; flex-wrap:wrap; gap:8px; }
.pg-topic{ position:relative; display:inline-block; }
.pg-topic input{ position:absolute; inset:0; width:100%; height:100%; margin:0; opacity:0; cursor:pointer; }
.pg-topic span{
  display:inline-flex; align-items:center; min-height:44px; padding:0 16px;
  border:1px solid var(--border); border-radius:var(--r-full); background:var(--card); color:var(--ink); font-size:14px;
}
.pg-topic input:hover + span{ border-color:var(--accent-text); }
.pg-topic input:checked + span{ background:var(--ink); color:var(--bg); border-color:var(--ink); font-weight:700; }
.pg-topic input:focus-visible + span{ outline:2px solid var(--ink); outline-offset:3px; }
.pg-field{ margin:0 0 4px; }
.pg-field.has-error input, .pg-field.has-error textarea{ border-color:var(--error); }
.pg-err{ margin:6px 0 0; font-size:13px; font-weight:600; color:var(--error); }
.pg-err[hidden]{ display:none; }
.pg-caso{ margin:0 0 14px; padding:10px 14px; border:1px solid var(--border); border-radius:var(--r-md,10px); background:var(--bg2); font-size:14px; }
.pg-nav{ display:flex; flex-wrap:wrap; align-items:center; gap:10px; margin-top:8px; }
.pg-nav .btn{ min-height:44px; width:auto; }
.pg-net{ margin:14px 0 0; }
.pg-ok h2{ margin:0 0 6px; }
.pg-sum{ display:grid; gap:10px; margin:18px 0; }
.pg-sum div{ border-top:1px solid var(--border); padding-top:10px; }
.pg-sum dt{ margin:0 0 4px; color:var(--muted); }
.pg-sum dd{ margin:0; overflow-wrap:anywhere; white-space:pre-wrap; }
.pg-ok-next{ list-style:none; margin:14px 0 0; padding:0; display:grid; gap:10px; }
.pg-ok-next li{ line-height:1.5; }
.pg-ok-next b{ display:block; }
.pg-ok-next span{ color:var(--muted); font-size:14px; }
.aw-form form{ position:relative; }
.pg-step.is-off{ position:absolute; left:0; right:0; visibility:hidden; height:0; overflow:hidden; margin:0; }
.pg-legal{ font-size:14px; margin:12px 0 0; }
.pg-net[hidden], html.js .pg-prog[hidden], .aw-form [hidden]{ display:none; }
.pg-scroll{ overflow-x:auto; }
.cns .lp-bot-choices{
  flex-wrap:wrap; overflow:visible; padding-bottom:0;
  -webkit-mask-image:none; mask-image:none;
}
.cns .lp-bot-choice{ white-space:normal; text-align:left; flex:0 1 auto; }
.pg-doc-links{ display:flex; flex-wrap:wrap; gap:6px 18px; }
.in-note{ margin:18px 0 0; max-width:68ch; color:var(--muted); font-size:15.5px; line-height:1.55; }
.in-hint{ margin:8px 0 0; font-size:13.5px; line-height:1.5; overflow-wrap:anywhere; }
.in-hint[hidden], .in-help [hidden]{ display:none !important; }
.in-mail{ overflow-wrap:anywhere; }
.in-list{ list-style:none; margin:0; padding:0; max-width:760px; border-bottom:1px solid var(--border); }
.in-list li{ padding:18px 0; border-top:1px solid var(--border); }
.in-list h3{ margin:0 0 6px; font-size:18px; letter-spacing:-.01em; }
.in-list p{ margin:0; color:var(--muted); line-height:1.55; font-size:15.5px; }
.in-report{ max-width:68ch; }
.in-report p{ margin:0 0 10px; line-height:1.55; overflow-wrap:anywhere; }
.in-not{ list-style:none; margin:0; padding:0; max-width:68ch; display:grid; gap:10px; }
.in-not li{ border:1px solid var(--border); border-radius:var(--r-md,10px); background:var(--bg2); padding-top:10px; padding-right:14px; padding-bottom:10px; padding-left:14px; line-height:1.55; font-size:16px; }
.in-form{ max-width:620px; }
.in-field{ margin:0 0 6px; }
.in-field select.form-input, .in-field textarea.form-input{ width:100%; }
.in-field textarea.form-input{ resize:vertical; min-height:140px; font-family:inherit; }
.in-send{ margin-top:18px; }
.in-send .btn{ min-height:44px; }
.in-search{ max-width:620px; margin-bottom:28px; }
.in-search .form-input{ width:100%; min-height:44px; }
.in-group{ margin:0 0 32px; max-width:760px; }
.in-group h3{ margin:0; font-size:20px; letter-spacing:-.02em; }
.in-group .faq-list{ margin-top:12px; }
.in-none{ max-width:620px; }
@media (max-width:640px){
  .in-list li{ padding:14px 0; }
  .in-group h3{ font-size:18px; }
}
.nav summary:focus-visible, .nav-search:focus-visible, .ann-x:focus-visible,
.pal-opt:focus-visible, .pal-x:focus-visible{
  outline:2px solid var(--ink); outline-offset:3px;
}
.nav-search{
  display:inline-flex; align-items:center; justify-content:center;
  min-width:var(--tap); min-height:var(--tap);
  background:transparent; color:var(--muted); cursor:pointer;
  border:1px solid var(--border); border-radius:20px;
}
.nav-search:hover{ border-color:var(--accent-text); color:var(--ink); }
.nav-search svg{ width:18px; height:18px; }
@media (max-width:759px){ .nav-right > .nav-search{ display:none; } }
.nav .nav-cta-buy{ white-space:nowrap; min-height:var(--tap); display:inline-flex; align-items:center; margin-left:0; }
@media (max-width:1359px){ .nav .nav-cta-buy{ display:none; } }
@media (min-width:760px) and (max-width:1099px){ .nav .nav-cta{ display:none; } }
.nav-svc-grid{ display:grid; grid-template-columns:200px minmax(0,1fr); gap:32px; padding-top:30px; padding-bottom:24px; }
.nav-svc-label{ margin-bottom:0; }
.nav-svc-list{ display:grid; grid-template-columns:repeat(auto-fit,minmax(230px,1fr)); gap:8px 20px; }
.nav-svc-item{
  display:flex; flex-direction:column; gap:4px; padding:12px 14px;
  border:1px solid transparent; border-radius:var(--r-card); color:var(--ink);
}
.nav-svc-item:hover, .nav-svc-item:focus-visible{ background:var(--bg2); border-color:var(--border); }
.nav-svc-name{ font-weight:700; font-size:15px; letter-spacing:-.2px; }
.nav-svc-tag{ font-size:10.5px; color:var(--accent-text); margin-left:6px; }
.nav-svc-desc{ font-size:13.5px; line-height:1.45; color:var(--muted); font-weight:500; }
.st-card h3[id]{ scroll-margin-top:96px; }
.nav-more-search{
  display:flex; align-items:center; gap:10px; min-height:var(--tap); width:100%;
  background:transparent; border:1px solid var(--border); border-radius:var(--r-card);
  padding:0 14px; color:var(--muted); font-size:14.5px; cursor:pointer; text-align:left;
}
.nav-more-search svg{ width:18px; height:18px; flex:none; }
.nav-acc > summary{
  list-style:none; cursor:pointer; min-height:var(--tap);
  display:flex; align-items:center; justify-content:space-between;
  font-weight:600; font-size:14.5px; color:var(--ink);
}
.nav-acc > summary::-webkit-details-marker{ display:none; }
.nav-acc > summary::after{ content:'\25BE'; font-size:11px; transition:transform .15s ease; }
.nav-acc[open] > summary::after{ transform:rotate(180deg); }
.nav-acc-body{ display:flex; flex-direction:column; padding-left:14px; border-left:1px solid var(--border); margin-bottom:6px; }
.nav-more-ctas{ display:flex; flex-direction:column; gap:8px; }
.nav-more-ctas .btn, .nav-more-ctas .nav-more-login{ min-height:var(--tap); justify-content:center; text-align:center; }
@media (max-width:759px){
  .nav-more-panel{
    height:calc(100vh - 100%); height:calc(100dvh - 100%);
    overflow-y:auto; overscroll-behavior:contain; box-sizing:border-box;
  }
  .nav-more-ctas{
    position:sticky; bottom:0; margin-top:auto; padding-top:14px;
    background:var(--bg); border-top:1px solid var(--border);
  }
}
@media (min-width:760px){ .nav-more-search, .nav-more-ctas{ display:none; } }
.foot-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px 20px; }
.foot-grid .foot-brand{ grid-column:1 / -1; }
.foot-brand strong{ font-size:19px; letter-spacing:-.02em; }
@media (min-width:720px){ .foot-grid{ grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media (min-width:1024px){
  .foot-grid{ grid-template-columns:minmax(0,1.5fr) repeat(5,minmax(0,1fr)); gap:28px 24px; }
  .foot-grid .foot-brand{ grid-column:auto; }
}
.foot-bottom{ display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:8px 24px; font-size:12px; }
.foot-bottom > span{ color:var(--muted); }
.foot-bottom .foot-lang a{ min-height:var(--tap); display:inline-flex; align-items:center; color:var(--ink); font-weight:700; }
.foot-bottom .foot-lang a:hover{ color:var(--accent-text); }
.ann{
  display:flex; align-items:center; justify-content:center; gap:8px;
  background:var(--ink); color:var(--bg); font-size:14px; line-height:1.4;
  padding:4px 8px 4px 16px;
}
.ann-text{ margin:0; text-align:center; padding:6px 0; }
.ann-text a{ color:inherit; text-decoration:underline; text-underline-offset:3px; font-weight:700; }
.ann-x{
  flex:none; min-width:var(--tap); min-height:var(--tap);
  background:transparent; border:0; color:inherit; font-size:22px; line-height:1; cursor:pointer;
  border-radius:var(--r-card);
}
.ann-x:hover{ background:rgba(128,128,128,.25); }
.ann .ann-x:focus-visible, .ann a:focus-visible{ outline:2px solid var(--bg); outline-offset:2px; }
dialog.modal.pal{
  width:min(640px,calc(100vw - 32px)); max-height:min(560px,78vh);
  margin:12vh auto auto; overflow:hidden;
}
dialog.modal.pal[open]{ display:flex; flex-direction:column; }
.pal-head{ display:flex; align-items:center; gap:8px; padding:8px 12px 8px 18px; border-bottom:1px solid var(--border); }
.pal-head:focus-within{ box-shadow:inset 0 -2px 0 var(--accent-text); }
.pal-input{
  flex:1; min-width:0; min-height:var(--tap); border:0; outline:none; background:transparent;
  color:var(--ink); font-size:16px;
}
.pal-input::-webkit-search-cancel-button{ display:none; }
.pal-x{
  flex:none; min-width:var(--tap); min-height:var(--tap); background:transparent; border:0;
  color:var(--muted); font-size:24px; line-height:1; cursor:pointer; border-radius:var(--r-card);
}
.pal-x:hover{ color:var(--ink); background:var(--bg2); }
.pal-list{ flex:1; overflow-y:auto; padding:8px; }
.pal-group{
  font-family:'JetBrains Mono',monospace; font-size:11px; letter-spacing:.12em; text-transform:uppercase;
  font-weight:700; color:var(--muted); padding:12px 12px 4px;
}
.pal-opt{
  display:flex; align-items:center; width:100%; min-height:var(--tap); padding:8px 12px;
  background:transparent; border:0; border-radius:var(--r-card); color:var(--ink);
  font-size:15px; font-weight:600; text-align:left; cursor:pointer; text-decoration:none;
}
.pal-opt.is-active{ background:var(--bg2); box-shadow:inset 3px 0 0 var(--accent-text); }
.pal-none{ margin:0; padding:12px; color:var(--muted); font-size:14.5px; line-height:1.5; }
.pal-hint{ margin:0; padding:10px 18px; border-top:1px solid var(--border); color:var(--muted); font-size:12.5px; }
@media (max-width:640px){
  dialog.modal.pal{
    margin:0 auto auto; width:100vw; max-width:100vw; max-height:82vh; max-height:82dvh;
    border-radius:0 0 var(--r-lg,16px) var(--r-lg,16px);
  }
  .pal-hint{ display:none; }
}
.err-actions{ display:flex; flex-wrap:wrap; justify-content:center; gap:12px; margin-top:24px; }
.err-links{ list-style:none; display:flex; flex-wrap:wrap; justify-content:center; gap:0 22px; margin:20px 0 0; padding:0; }
.err-links a{ min-height:var(--tap); display:inline-flex; align-items:center; font-weight:600; font-size:14.5px; color:var(--ink); text-decoration:underline; text-underline-offset:3px; }
.err-links a:hover{ color:var(--accent-text); }
.ms{ position:relative; display:block; width:100%; margin:0; overflow:hidden; border:1px solid var(--border); border-radius:var(--r-card); background:var(--bg2); }
.ms > img, .ms-zoom > img{ display:block; width:100%; height:100%; object-fit:cover; }
.ms-zoom{ display:block; width:100%; height:100%; padding:0; margin:0; border:0; background:none; cursor:zoom-in; color:inherit; }
.ms-zoom:focus-visible{ outline:2px solid var(--ink); outline-offset:-4px; }
.ms-fb{ display:contents; }
.ms-fb[hidden]{ display:none; }
.ms-failed{ display:flex; align-items:center; justify-content:center; padding-top:6%; padding-right:6%; padding-bottom:6%; padding-left:6%; box-sizing:border-box; }
.ms-generic-label{ font-size:14px; font-weight:600; color:var(--ink); letter-spacing:-.01em; }
.ms-fig{ display:grid; gap:10px; margin:0; min-width:0; }
.ms-cap{ margin:0; color:var(--muted); font-size:14px; line-height:1.4; }
.ms-gallery{ padding-top:clamp(32px,4vw,56px); padding-bottom:clamp(16px,2vw,32px); }
.ms-gallery-eyebrow{ margin-bottom:8px; }
.ms-gallery h2{ margin:0 0 20px; }
.ms-gal{ display:grid; gap:16px; grid-template-columns:2fr 1fr; align-items:start; }
.ms-gal-hero{ grid-column:1; grid-row:1 / span 2; }
.ms-gal-side{ grid-column:2; }
.ms-note{ margin:14px 0 0; color:var(--muted); font-size:14px; line-height:1.5; }
.ms-dialog{ margin:auto; max-width:min(1100px,94vw); width:94vw; max-height:94vh; padding:0; border:1px solid var(--border); border-radius:var(--r-card); background:var(--card); color:var(--ink); }
.ms-dialog::backdrop{ background:rgba(11,13,17,.72); }
.ms-dialog-in{ position:relative; display:grid; gap:12px; padding-top:16px; padding-right:16px; padding-bottom:16px; padding-left:16px; }
.ms-dialog-img{ display:block; width:100%; max-height:70vh; object-fit:contain; border-radius:var(--r-chip); background:var(--bg2); }
.ms-dialog-cap{ margin:0; color:var(--muted); font-size:14px; }
.ms-dialog-nav{ display:flex; gap:10px; justify-content:center; }
.ms-dialog-nav .btn, .ms-dialog-close{ min-height:44px; }
.ms-dialog-close{ position:absolute; top:10px; right:10px; z-index:1; min-width:44px; padding:0; border:1px solid var(--border); border-radius:var(--r-full); background:var(--card); color:var(--ink); font-size:24px; line-height:1; cursor:pointer; }
.ms-dialog-close:focus-visible, .ms-dialog-nav .btn:focus-visible{ outline:2px solid var(--ink); outline-offset:3px; }
@media (max-width:759px){
  .ms-gal{ grid-template-columns:minmax(0,1fr); }
  .ms-gal-hero, .ms-gal-side{ grid-column:1; grid-row:auto; }
  .ms-dialog{ width:100vw; max-width:100vw; max-height:100vh; border-radius:0; }
}
.ms-mock{ display:flex; align-items:center; justify-content:center; padding-top:6%; padding-right:6%; padding-bottom:6%; padding-left:6%; box-sizing:border-box; }
.ms i{ display:block; font-style:normal; }
.ms-line{ height:8px; border-radius:4px; background:var(--border); }
.ms-w0{ width:92%; } .ms-w1{ width:64%; } .ms-w2{ width:78%; } .ms-w3{ width:46%; }
.ms-win{ width:100%; max-width:560px; border:1px solid var(--border); border-radius:12px; background:var(--card); overflow:hidden; box-shadow:var(--shadow); }
.ms-bar{ display:flex; align-items:center; gap:6px; padding-top:9px; padding-right:12px; padding-bottom:9px; padding-left:12px; border-bottom:1px solid var(--border); background:var(--bg2); }
.ms-bar i{ width:9px; height:9px; border-radius:50%; background:var(--border); }
.ms-bar b{ margin-left:8px; font-size:11px; font-weight:600; color:var(--muted); letter-spacing:.04em; }
.ms-doc{ padding-top:16px; padding-right:18px; padding-bottom:16px; padding-left:18px; }
.ms-doc-head{ display:flex; align-items:center; gap:12px; margin-bottom:14px; }
.ms-doc-title{ flex:1; display:grid; gap:7px; }
.ms-logo{ width:34px; height:34px; border-radius:9px; background:var(--accent); }
.ms-rows{ display:grid; gap:9px; margin-bottom:14px; }
.ms-row{ height:12px; border-radius:4px; background:var(--bg2); border:1px solid var(--border); }
.ms-total{ display:flex; align-items:center; justify-content:space-between; gap:14px; padding-top:12px; border-top:1px solid var(--border); }
.ms-total .ms-line{ flex:none; }
.ms-pill{ width:84px; height:26px; border-radius:999px; background:var(--ink); }
.ms-page{ display:grid; gap:9px; padding-top:16px; padding-right:18px; padding-bottom:18px; padding-left:18px; }
.ms-block{ height:46px; border-radius:10px; background:var(--accent); opacity:.85; }
.ms-generic{ width:60%; display:grid; gap:10px; }
.ms-phone{ position:relative; height:100%; max-height:340px; width:auto; aspect-ratio:9/17; border:2px solid var(--ink); border-radius:26px; background:var(--card); overflow:hidden; box-shadow:var(--shadow); }
.ms-notch{ position:absolute; top:7px; left:50%; width:34%; height:6px; margin-left:-17%; border-radius:4px; background:var(--ink); }
.ms-chat{ position:absolute; inset:24px 10px 10px 10px; display:flex; flex-direction:column; gap:8px; }
.ms-bubble{ height:30px; width:70%; border-radius:14px; background:var(--bg2); border:1px solid var(--border); }
.ms-bubble.ms-out{ align-self:flex-end; width:62%; background:var(--accent); border-color:var(--accent); }
.ms-bubble.ms-short{ height:20px; width:44%; }
.ms-compose{ margin-top:auto; display:flex; align-items:center; gap:8px; padding-top:7px; padding-right:8px; padding-bottom:7px; padding-left:8px; border:1px solid var(--border); border-radius:999px; }
.ms-compose .ms-line{ flex:1; }
.ms-send{ width:18px; height:18px; border-radius:50%; background:var(--ink); }
.ms-agent, .ms-phone-wrap{ background:var(--bg2); }
@media (prefers-reduced-motion:no-preference){ .ms-mock{ transition:border-color var(--dur-2,200ms) var(--ease-out,ease); } }
.py-lista{ display:grid; gap:14px; margin-top:20px; }
.py-tarjeta{ display:grid; gap:8px; }
.py-tarjeta h2{ margin:0; font-size:19px; line-height:1.25; }
.py-tarjeta h2 a{ color:var(--ink); text-decoration:none; }
.py-tarjeta h2 a:hover{ text-decoration:underline; }
.py-tarjeta h2 a:focus-visible{ outline:2px solid var(--accent-text); outline-offset:3px; }
.py-meta{ display:flex; flex-wrap:wrap; gap:6px 14px; align-items:center; margin:0; font-size:13.5px; color:var(--muted); }
.py-resumen{ margin:0; max-width:70ch; white-space:pre-wrap; overflow-wrap:anywhere; }
.py-aviso-aprob{ margin:0; font-weight:600; }
.py-barra{ display:flex; align-items:center; gap:12px; }
.py-barra .progress{ flex:1 1 auto; min-width:60px; }
.py-barra span{ font-size:13px; color:var(--muted); white-space:nowrap; }
.py-p0{ --p:0; } .py-p1{ --p:.1; } .py-p2{ --p:.2; } .py-p3{ --p:.3; } .py-p4{ --p:.4; } .py-p5{ --p:.5; }
.py-p6{ --p:.6; } .py-p7{ --p:.7; } .py-p8{ --p:.8; } .py-p9{ --p:.9; } .py-p10{ --p:1; }
.py-cab{ display:flex; flex-wrap:wrap; align-items:center; gap:8px 14px; }
.py-cab h1{ margin:0; overflow-wrap:anywhere; }
.py-volver{ margin:0 0 10px; font-size:14px; }
.py-seccion{ margin-top:32px; }
.py-seccion h2{ margin:0 0 12px; font-size:19px; }
.py-linea{ list-style:none; margin:0; padding-top:0; padding-right:0; padding-bottom:0; padding-left:0; display:grid; gap:0; }
.py-hito{ position:relative; display:grid; gap:6px; margin-left:11px; padding-left:26px; padding-bottom:22px; border-left:2px solid var(--border); }
.py-hito:last-child{ border-left-color:transparent; padding-bottom:0; }
.py-hito::before{ content:""; position:absolute; left:-8px; top:3px; width:14px; height:14px; border-radius:50%; background:var(--card); border:2px solid var(--muted); box-sizing:border-box; }
.py-hito.is-in_progress::before{ border-color:var(--accent-text); background:var(--accent); }
.py-hito.is-awaiting_approval::before{ border-color:var(--warning); background:var(--warning-light); }
.py-hito.is-approved::before{ border-color:var(--success); background:var(--success); }
.py-hito.is-changes_requested::before{ border-color:var(--error); background:var(--error-light); }
.py-hito h3{ margin:0; font-size:16px; line-height:1.3; }
.py-hito p{ margin:0; overflow-wrap:anywhere; }
.py-hito-cab{ display:flex; flex-wrap:wrap; align-items:center; gap:6px 10px; }
.py-nota{ background:var(--bg2); border:1px solid var(--border); border-radius:var(--r-chip); padding-top:10px; padding-right:12px; padding-bottom:10px; padding-left:12px; white-space:pre-wrap; font-size:14px; }
.py-decision{ display:grid; gap:12px; margin-top:6px; padding-top:14px; padding-right:16px; padding-bottom:14px; padding-left:16px; border:1px solid var(--warning); border-radius:var(--r-card); background:var(--card); }
.py-decision p{ margin:0; }
.py-acciones{ display:flex; flex-wrap:wrap; gap:8px 10px; align-items:flex-start; }
.py-acciones form{ margin:0; }
.py-acciones .btn, .py-form .btn{ min-height:44px; }
.py-cambios{ display:grid; gap:8px; width:100%; max-width:560px; }
.py-cambios:not([open]){ width:auto; }
.py-cambios > summary{ list-style:none; cursor:pointer; display:inline-flex; align-items:center; justify-content:center; }
.py-cambios > summary::-webkit-details-marker{ display:none; }
.py-cambios[open] > summary{ margin-bottom:10px; }
.py-cambios label{ font-size:13.5px; font-weight:700; }
.py-form{ display:grid; gap:10px; max-width:640px; }
.py-form .form-input{ min-height:44px; width:100%; }
.py-form textarea.form-input{ min-height:96px; resize:vertical; }
.py-form label{ font-size:13.5px; font-weight:700; }
.py-campo{ display:grid; gap:6px; }
.py-fechas{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.py-error{ margin:0; padding-top:10px; padding-right:12px; padding-bottom:10px; padding-left:12px; border:1px solid var(--error); border-radius:var(--r-chip); background:var(--error-light); color:var(--error); font-weight:600; font-size:14px; }
.py-ok{ margin:0 0 14px; padding-top:10px; padding-right:12px; padding-bottom:10px; padding-left:12px; border:1px solid var(--success); border-radius:var(--r-chip); background:var(--success-light); color:var(--success); font-weight:600; font-size:14px; }
.py-hilo{ list-style:none; margin:0 0 16px; padding-top:0; padding-right:0; padding-bottom:0; padding-left:0; display:grid; gap:12px; }
.py-msg{ display:grid; gap:4px; max-width:70ch; padding-top:10px; padding-right:14px; padding-bottom:10px; padding-left:14px; border:1px solid var(--border); border-radius:var(--r-card); background:var(--card); }
.py-msg.is-team{ border-left:4px solid var(--accent-text); background:var(--bg2); }
.py-msg-quien{ margin:0; font-size:13px; color:var(--muted); }
.py-msg-quien strong{ color:var(--ink); }
.py-msg-texto{ margin:0; white-space:pre-wrap; overflow-wrap:anywhere; }
.py-enlaces{ list-style:none; margin:0; padding-top:0; padding-right:0; padding-bottom:0; padding-left:0; display:grid; gap:8px; }
.py-enlaces li{ display:flex; flex-wrap:wrap; align-items:center; gap:6px 12px; }
.py-enlaces a{ display:inline-flex; align-items:center; min-height:44px; overflow-wrap:anywhere; }
.py-enlaces form{ margin:0; }
.py-adm-hito{ display:grid; gap:8px; padding-top:12px; padding-bottom:12px; border-top:1px solid var(--border); }
.py-adm-hito:first-child{ border-top:0; }
.py-adm-fila{ display:flex; flex-wrap:wrap; gap:8px 10px; align-items:center; }
.py-adm-fila form{ margin:0; display:flex; flex-wrap:wrap; gap:8px; align-items:center; }
.py-pref-lista{ display:grid; gap:12px; margin-top:16px; max-width:720px; }
.py-pref{ display:flex; align-items:flex-start; gap:16px; padding-top:14px; padding-right:16px; padding-bottom:14px; padding-left:16px; border:1px solid var(--border); border-radius:var(--r-card); background:var(--card); }
.py-pref-texto{ flex:1 1 auto; min-width:0; }
.py-pref-texto h3{ margin:0 0 4px; font-size:16px; }
.py-pref-texto p{ margin:0; font-size:14px; }
.py-pref .switch{ margin-top:2px; }
.py-pref.is-locked{ background:var(--bg2); }
.py-pref-nota{ display:inline-flex; align-items:center; gap:6px; margin-top:6px; font-size:13px; color:var(--muted); }
.py-pref-acciones{ margin-top:18px; display:flex; flex-wrap:wrap; gap:10px; align-items:center; }
@media (max-width:640px){
  .py-fechas{ grid-template-columns:1fr; }
  .py-pref{ gap:12px; }
  .py-acciones{ flex-direction:column; align-items:stretch; }
  .py-acciones .btn{ width:100%; justify-content:center; }
}
.aw-sub{ margin:0 0 6px; color:var(--muted); }
.aw-legal{
  display:flex; align-items:flex-start; gap:10px; min-height:44px;
  padding-top:4px; padding-bottom:4px; margin:10px 0 0;
  font-size:14px; line-height:1.45; cursor:pointer;
  text-transform:none; letter-spacing:normal; font-family:inherit;
}
.aw-legal input[type="checkbox"]{ width:20px; height:20px; flex:none; margin:1px 0 0; }
.aw-legal a{ padding-top:5px; padding-bottom:5px; }
.aw-meter-note{ min-height:2.9em; }
.au3-alert{ margin:0 0 18px; }
.au3-actions{ display:flex; align-items:center; gap:12px; flex-wrap:wrap; margin-top:22px; }
.au3-actions .btn{ width:auto; margin-top:0; }
.au3-facts{ margin:14px 0 0; padding:0; list-style:none; display:flex; flex-direction:column; gap:0; }
.au3-facts li{ display:flex; justify-content:space-between; gap:16px; padding-top:9px; padding-bottom:9px; border-top:1px solid var(--border); font-size:14px; }
.au3-facts li:first-child{ border-top:0; }
.au3-facts li > span:first-child{ color:var(--muted); flex:none; }
.au3-facts li > span:last-child{ font-weight:600; text-align:right; min-width:0; overflow-wrap:anywhere; }
.au3-state-mark{
  display:inline-flex; align-items:center; justify-content:center; width:44px; height:44px;
  border-radius:50%; border:1px solid var(--border); background:var(--bg2); color:var(--ink);
  font-size:20px; font-weight:700; margin:0 0 12px;
}
.au3-state-mark.ok{ border-color:var(--success); background:var(--success-light); color:var(--success); }
.au3-state-mark.warn{ border-color:var(--ink); }
@media (max-width:759px){
  .au3-actions .btn{ width:100%; }
  .au3-facts li{ flex-direction:column; gap:2px; }
  .au3-facts li > span:last-child{ text-align:left; }
}
body:has(.adm-header) .rails{ display:none; }
main:has(.adm-page){ max-width:1280px; }
.adm-header{ position:sticky; top:0; z-index:20; background:var(--bg); border-bottom:1px solid var(--border); }
.adm-bar{ display:flex; align-items:center; gap:8px 20px; flex-wrap:wrap; padding-top:8px; padding-bottom:8px; min-height:56px; }
.adm-brand{ display:inline-flex; align-items:center; gap:8px; color:var(--ink); font-weight:800; letter-spacing:-.02em; text-decoration:none; min-height:44px; }
.adm-brand svg{ width:22px; height:22px; flex:none; }
.adm-tag{ font-family:'JetBrains Mono',monospace; font-size:11px; letter-spacing:.12em; text-transform:uppercase; font-weight:700; color:var(--accent-ink); background:var(--accent); border-radius:var(--r-flat); padding:3px 7px; }
.adm-nav{ display:flex; align-items:center; gap:2px 6px; flex:1 1 auto; min-width:0; flex-wrap:wrap; }
.adm-nav a{ display:inline-flex; align-items:center; min-height:44px; padding:0 10px; font-size:14px; font-weight:600; color:var(--muted); border-bottom:2px solid transparent; text-decoration:none; }
.adm-nav a:hover{ color:var(--ink); }
.adm-nav a[aria-current="page"]{ color:var(--ink); border-bottom-color:var(--accent-text); }
.adm-nav a:focus-visible, .adm-brand:focus-visible, .adm-footer a:focus-visible, .adm-menu summary:focus-visible, .adm-orden:focus-visible{ outline:2px solid var(--accent-text); outline-offset:2px; }
.adm-salir{ display:inline-flex; margin:0; }
.adm-salir button.link{ display:inline-flex; align-items:center; min-height:44px; padding:0 10px; font-size:14px; font-weight:600; color:var(--muted); }
.adm-salir button.link:hover{ color:var(--ink); }
.adm-tema{ margin-left:auto; }
@media (max-width:759px){
  .adm-nav{ order:3; flex:1 0 100%; flex-wrap:nowrap; overflow-x:auto; -webkit-overflow-scrolling:touch; }
  .adm-nav a, .adm-salir button.link{ white-space:nowrap; }
}
.adm-footer{ border-top:1px solid var(--border); padding-top:20px; padding-bottom:20px; margin-top:24px; }
.adm-footer-in{ display:flex; justify-content:space-between; gap:12px; flex-wrap:wrap; font-size:13px; color:var(--muted); }
.adm-footer a{ color:var(--muted); }
.adm-page{ display:block; }
.adm-page h1{ word-spacing:.08em; font-size:clamp(24px,2.6vw,30px); line-height:1.15; letter-spacing:-.015em; font-weight:800; margin:4px 0 10px; overflow-wrap:anywhere; }
.adm-page h2{ font-size:19px; line-height:1.25; letter-spacing:-.01em; font-weight:700; margin:32px 0 10px; }
.adm-page h3{ font-size:16px; font-weight:700; margin:0 0 8px; }
.adm-h1-ficha{ display:flex; align-items:center; gap:10px 14px; flex-wrap:wrap; }
.adm-volver{ margin:0 0 6px; font-size:14px; }
.adm-sub{ margin:22px 0 8px; font-size:16px; font-weight:700; }
.adm-page .adm-card h2{ margin-top:0; }
.adm-note{ font-size:13px; color:var(--muted); }
.adm-texto{ white-space:pre-wrap; overflow-wrap:anywhere; }
.adm-nowrap{ white-space:nowrap; }
.adm-count{ font-size:13px; font-weight:700; color:var(--muted); }
.adm-sep{ margin-top:10px; }
.adm-bloque{ display:block; margin-top:8px; }
.adm-ancho{ width:100%; }
.adm-punto{ display:inline-block; width:8px; height:8px; border-radius:50%; background:var(--success); margin-right:6px; }
.adm-aviso{ padding:10px 14px; border-radius:10px; border:1px solid; font-size:14px; font-weight:600; margin:10px 0; max-width:760px; }
.adm-aviso.ok{ background:var(--success-light); color:var(--success); border-color:var(--success); }
.adm-aviso.error{ background:var(--error-light); color:var(--error); border-color:var(--error); }
.adm-aviso.warn{ background:var(--warning-light); color:var(--warning); border-color:var(--warning); }
.adm-resultado{ max-width:640px; margin:32px auto; background:var(--card); border:1px solid var(--border); border-radius:var(--r-card); padding-top:28px; padding-bottom:28px; padding-left:28px; padding-right:28px; border-color:var(--error); }
.adm-resultado.ok{ border-color:var(--success); }
.adm-resultado p{ margin:8px 0; }
.adm-acciones{ margin-top:16px; display:flex; gap:10px; flex-wrap:wrap; align-items:center; }
.adm-vacio{ max-width:640px; margin:20px 0; padding-top:20px; padding-bottom:20px; padding-left:20px; padding-right:20px; border:1px dashed var(--border); border-radius:var(--r-card); background:var(--bg2); }
.adm-vacio p{ margin:4px 0; }
.adm-login{ max-width:420px; margin:48px auto; background:var(--card); border:1px solid var(--border); border-radius:var(--r-card); padding-top:28px; padding-bottom:28px; padding-left:28px; padding-right:28px; }
.adm-login:hover{ transform:none; box-shadow:none; border-color:var(--border); }
.adm-form{ display:grid; gap:10px; margin-top:14px; }
.adm-form label{ font-weight:700; font-size:14px; }
.adm-input, .adm-select{ font:inherit; font-size:15px; color:var(--ink); background:var(--card); border:1px solid var(--border); border-radius:8px; padding:9px 12px; min-height:44px; min-width:0; }
.adm-input:focus-visible, .adm-select:focus-visible{ outline:2px solid var(--accent-text); outline-offset:0; border-color:var(--accent-text); }
.adm-fila{ display:flex; gap:8px 10px; flex-wrap:wrap; align-items:center; }
.adm-fila > .adm-input, .adm-fila > .adm-select{ flex:1 1 200px; }
.adm-campo{ display:grid; gap:6px; flex:1 1 220px; min-width:0; }
.adm-campo > .adm-input, .adm-campo > .adm-select{ width:100%; }
.adm-check{ display:inline-flex; gap:6px; align-items:center; font-size:14px; min-height:44px; }
.adm-apilado{ display:block; margin:0 0 6px; }
.adm-kpis{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; margin-top:12px; }
.adm-kpi{ background:var(--card); border:1px solid var(--border); border-radius:var(--r-card); padding-top:14px; padding-bottom:14px; padding-left:16px; padding-right:16px; display:flex; flex-direction:column; gap:2px; min-width:0; }
.adm-kpi-t{ font-size:12.5px; font-weight:600; color:var(--muted); }
.adm-kpi-v{ font-size:20px; font-weight:800; letter-spacing:-.01em; color:var(--ink); overflow-wrap:anywhere; }
.adm-kpi-n{ font-size:12.5px; color:var(--muted); }
.adm-kpi-u{ font-size:13px; font-weight:600; color:var(--muted); margin-left:2px; }
.adm-kpi-main{ border-color:var(--ink); padding-top:20px; padding-bottom:20px; }
.adm-kpi-main .adm-kpi-v{ font-size:clamp(26px,3vw,36px); line-height:1.05; }
.adm-kpis-sec .adm-kpi{ background:var(--bg2); }
@media (max-width:860px){ .adm-kpis{ grid-template-columns:repeat(2,minmax(0,1fr)); } }
.adm-toolbar{ display:flex; gap:8px 12px; flex-wrap:wrap; align-items:center; margin:10px 0 12px; }
.adm-toolbar .adm-input{ flex:1 1 240px; }
.adm-tabla-scroll{ max-height:min(72vh,720px); overflow:auto; border:1px solid var(--border); border-radius:var(--r-card); }
.adm-tabla-scroll > table{ border:0; border-radius:0; }
.adm-tabla-scroll thead th{ position:sticky; top:0; z-index:2; background:var(--bg2); box-shadow:0 1px 0 var(--border); }
.adm-compacta td, .adm-compacta th{ padding-top:6px; padding-bottom:6px; padding-left:12px; padding-right:12px; font-size:14px; }
.adm-compacta td{ vertical-align:middle; }
.adm-nombre{ min-width:240px; }
.adm-orden{ color:inherit; text-decoration:none; }
.adm-orden:hover{ text-decoration:underline; }
.adm-pager{ margin-top:10px; }
.adm-pager-links{ display:flex; gap:16px; align-items:center; flex-wrap:wrap; margin-top:4px; min-height:32px; }
.adm-menu{ position:relative; }
.adm-menu summary{ cursor:pointer; list-style:none; display:inline-flex; align-items:center; min-height:32px; padding:0 10px; border:1px solid var(--border); border-radius:8px; font-size:13px; font-weight:600; color:var(--ink); background:var(--card); }
.adm-menu summary::-webkit-details-marker{ display:none; }
.adm-menu-panel{ position:absolute; right:100%; top:0; z-index:3; display:flex; flex-direction:column; min-width:190px; background:var(--card); border:1px solid var(--border); border-radius:10px; box-shadow:var(--shadow); margin-right:6px; }
.adm-menu-panel a{ display:flex; align-items:center; min-height:44px; padding:0 14px; font-size:14px; color:var(--ink); text-decoration:none; }
.adm-menu-panel a:hover{ background:var(--bg2); }
.adm-mas{ margin:10px 0; }
.adm-mas > summary{ cursor:pointer; font-weight:600; min-height:44px; display:flex; align-items:center; color:var(--link); }
.adm-grupo{ margin-top:8px; }
.adm-feed{ list-style:none; margin:0; padding:0; }
.adm-feed-item{ display:flex; justify-content:space-between; gap:12px; padding-top:9px; padding-bottom:9px; border-bottom:1px solid var(--border); font-size:14px; padding-left:10px; }
.adm-feed-item:last-child{ border-bottom:0; }
.adm-feed-item time{ flex:none; white-space:nowrap; }
.adm-feed-crit{ background:var(--error-light); color:var(--error); }
.adm-feed-warn{ background:var(--warning-light); color:var(--warning); }
.adm-respaldo{ margin-top:16px; }
.adm-card{ background:var(--card); border:1px solid var(--border); border-radius:var(--r-card); padding-top:20px; padding-bottom:20px; padding-left:20px; padding-right:20px; min-width:0; margin-top:16px; }
.adm-grid{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; margin-top:16px; align-items:start; }
.adm-grid > .adm-card{ margin-top:0; }
.adm-span{ grid-column:1 / -1; }
@media (max-width:860px){ .adm-grid{ grid-template-columns:minmax(0,1fr); } }
.adm-angosto{ max-width:760px; }
.adm-cortesia{ margin-top:16px; }
.adm-cortesia label{ display:block; font-size:13px; font-weight:700; color:var(--muted); margin-bottom:6px; }
.adm-acciones-celda{ min-width:190px; }
.adm-canales{ display:flex; gap:4px 12px; flex-wrap:wrap; align-items:center; margin-top:6px; }
.adm-link{ display:flex; gap:8px; align-items:center; flex-wrap:wrap; margin:6px 0; }
.adm-link code{ font-size:12.5px; overflow-wrap:anywhere; word-break:break-all; background:var(--bg2); color:var(--ink); padding:6px 8px; border-radius:6px; flex:1 1 220px; min-width:0; }
.adm-link .btn{ min-height:36px; }
.adm-resultados{ list-style:none; margin:12px 0 0; padding:0; display:grid; gap:12px; grid-template-columns:repeat(auto-fill,minmax(300px,1fr)); }
.adm-res{ background:var(--card); border:1px solid var(--border); border-radius:var(--r-card); padding-top:14px; padding-bottom:14px; padding-left:16px; padding-right:16px; min-width:0; }
.adm-res-cab{ display:flex; gap:8px; align-items:center; flex-wrap:wrap; overflow-wrap:anywhere; }
.adm-datos{ display:grid; gap:4px; margin:8px 0 0; font-size:14px; }
.adm-datos div{ display:flex; gap:8px; }
.adm-datos dt{ color:var(--muted); min-width:96px; }
.adm-datos dd{ margin:0; overflow-wrap:anywhere; }
.adm-matriz{ min-width:max-content; }
.adm-matriz th, .adm-matriz td{ vertical-align:middle; }
.adm-matriz .adm-fija{ position:sticky; left:0; z-index:1; background:var(--card); min-width:200px; }
.adm-matriz thead .adm-fija{ z-index:3; background:var(--bg2); }
.adm-cab-nivel{ font-weight:800; }
.adm-seg{ display:inline-flex; border:1px solid var(--border); border-radius:8px; overflow:hidden; }
.adm-seg-op{ position:relative; display:block; }
.adm-seg-op input{ position:absolute; opacity:0; inset:0; width:100%; height:100%; margin:0; cursor:pointer; }
.adm-seg-op span{ display:flex; align-items:center; justify-content:center; min-width:52px; min-height:36px; padding:0 8px; font-size:12.5px; font-weight:600; color:var(--muted); background:var(--card); border-left:1px solid var(--border); text-transform:none; letter-spacing:0; }
.adm-seg-op:first-child span{ border-left:0; }
.adm-seg-op input:checked + span{ background:var(--ink); color:var(--bg); }
.adm-seg-op input:focus-visible + span{ outline:2px solid var(--accent-text); outline-offset:-2px; }
.adm-seg-op:hover input:not(:checked) + span{ background:var(--bg2); color:var(--ink); }
.adm-pre{ background:var(--bg2); color:var(--ink); border:1px solid var(--border); border-radius:var(--r-card); padding-top:16px; padding-bottom:16px; padding-left:16px; padding-right:16px; font-family:'JetBrains Mono',monospace; font-size:12.5px; line-height:1.5; overflow:auto; max-height:70vh; white-space:pre; }
@media (max-width:759px){
  .adm-page h2{ margin-top:26px; }
  .adm-compacta td, .adm-compacta th{ padding-left:8px; padding-right:8px; }
  .adm-menu-panel{ right:auto; left:0; top:100%; margin-right:0; }
}
@media (prefers-reduced-motion:reduce){
  .adm-nav a, .adm-seg-op span{ transition:none; }
}
.ag-cab{ display:flex; flex-wrap:wrap; align-items:center; gap:10px 14px; margin-bottom:6px; }
.ag-cab h1{ margin:0; }
.ag-nivel{ display:inline-block; font-size:.75rem; font-weight:700; letter-spacing:.5px; text-transform:uppercase; padding:4px 10px; border-radius:var(--r-chip); border:1px solid var(--border); color:var(--muted); background:var(--card); }
.ag-mt{ margin-top:16px; }
.ag-mb{ margin-bottom:18px; }
.ag-nota-0{ margin:0; }
.ag-compose .form-label{ margin-top:0; }
.ag-sub{ color:var(--muted); margin:0 0 18px; max-width:68ch; }
.ag-estado{ display:inline-flex; align-items:center; gap:7px; font-size:.75rem; font-weight:700; letter-spacing:.5px; text-transform:uppercase; padding:4px 10px; border-radius:8px; border:1px solid transparent; }
.ag-estado::before{ content:''; width:8px; height:8px; border-radius:50%; background:currentColor; flex:none; }
.ag-estado-linea{ background:var(--success-light); color:var(--success); }
.ag-estado-listo{ background:var(--card); color:var(--accent-text); border-color:var(--accent-text); }
.ag-estado-prep{ background:var(--bg2); color:var(--ink); border-color:var(--border); border-style:dashed; }
.ag-estado-pausa{ background:var(--warning-light); color:var(--warning); }
.ag-estado-afina{ background:var(--bg2); color:var(--ink); border-color:var(--warning); }
.ag-estado-config{ background:var(--bg2); color:var(--muted); border-color:var(--border); }
.ag-tabs{ display:flex; flex-wrap:wrap; gap:6px; margin:0 0 22px; padding:0; list-style:none; border-bottom:1px solid var(--border); }
.ag-tabs a{ display:inline-flex; align-items:center; min-height:44px; padding-left:14px; padding-right:14px; font-weight:600; font-size:14.5px; color:var(--muted); border-bottom:3px solid transparent; margin-bottom:-1px; }
.ag-tabs a:hover{ color:var(--ink); }
.ag-tabs a[aria-current="page"]{ color:var(--ink); border-bottom-color:var(--accent-text); }
.ag-tabs a:focus-visible, .ag-conv:focus-visible, .ag-enlace:focus-visible{ outline:2px solid var(--accent-text); outline-offset:2px; }
.ag-ejemplo{ margin:0 0 18px; padding-top:10px; padding-bottom:10px; padding-left:14px; padding-right:14px; border:1px dashed var(--accent-text); border-radius:var(--r-chip); background:var(--bg2); font-size:14px; color:var(--ink); }
.ag-ejemplo b{ text-transform:uppercase; letter-spacing:.5px; font-size:.75rem; margin-right:6px; }
.ag-aviso{ margin:0 0 14px; padding-top:12px; padding-bottom:12px; padding-left:16px; padding-right:16px; border-radius:10px; border:1px solid var(--border); background:var(--bg2); color:var(--ink); font-size:14px; font-weight:600; }
.ag-aviso:empty{ display:none; }
.ag-aviso.ok{ background:var(--success-light); color:var(--success); border-color:var(--success); }
.ag-aviso.error{ background:var(--error-light); color:var(--error); border-color:var(--error); }
.ag-aviso.aviso{ background:var(--warning-light); color:var(--warning); border-color:var(--warning); }
.ag-metricas{ display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:16px; margin:0 0 24px; }
.ag-metrica{ border:1px solid var(--border); border-radius:var(--r-card); background:var(--card); padding-top:18px; padding-bottom:18px; padding-left:20px; padding-right:20px; }
.ag-metrica h2, .ag-metrica h3{ margin:0 0 6px; font-size:.8125rem; font-weight:700; text-transform:uppercase; letter-spacing:.5px; color:var(--muted); }
.ag-num{ font-size:34px; font-weight:800; letter-spacing:-1px; line-height:1.1; color:var(--ink); margin:0; }
.ag-num small{ font-size:.875rem; font-weight:600; color:var(--muted); letter-spacing:0; margin-left:6px; }
.ag-desglose{ list-style:none; margin:10px 0 0; padding:0; display:grid; gap:6px; font-size:14px; }
.ag-desglose li{ display:flex; justify-content:space-between; gap:12px; }
.ag-desglose span:last-child{ font-weight:700; }
.ag-nota{ margin:8px 0 0; font-size:13px; color:var(--muted); }
.ag-progress{ width:100%; height:12px; margin-top:12px; appearance:none; -webkit-appearance:none; border:0; border-radius:var(--r-pill); background:var(--bg2); overflow:hidden; }
.ag-progress::-webkit-progress-bar{ background:var(--bg2); border-radius:var(--r-pill); }
.ag-progress::-webkit-progress-value{ background:var(--accent-text); border-radius:var(--r-pill); }
.ag-progress::-moz-progress-bar{ background:var(--accent-text); border-radius:var(--r-pill); }
.ag-progress-80::-webkit-progress-value{ background:var(--warning); }
.ag-progress-80::-moz-progress-bar{ background:var(--warning); }
.ag-progress-100::-webkit-progress-value{ background:var(--error); }
.ag-progress-100::-moz-progress-bar{ background:var(--error); }
.ag-accesos{ display:grid; grid-template-columns:repeat(auto-fit,minmax(230px,1fr)); gap:16px; }
.ag-acceso{ display:block; color:var(--ink); }
.ag-acceso h3{ margin:0 0 6px; }
.ag-acceso p{ margin:0; color:var(--muted); font-size:14px; }
.ag-panel{ border:1px solid var(--border); border-radius:var(--r-card); background:var(--card); padding-top:18px; padding-bottom:18px; padding-left:20px; padding-right:20px; }
.ag-panel h2{ font-size:1.0625rem; margin:0 0 10px; }
.ag-filtros{ display:flex; flex-wrap:wrap; align-items:flex-end; gap:12px; margin:0 0 18px; }
.ag-filtros label{ display:block; font-size:.8125rem; font-weight:700; margin:0 0 4px; color:var(--ink); }
.ag-filtros .form-input{ min-height:44px; width:auto; min-width:150px; }
.ag-filtros .ag-buscar{ flex:1 1 200px; }
.ag-filtros .ag-buscar .form-input{ width:100%; }
.ag-filtros .btn{ min-height:44px; padding-top:10px; padding-bottom:10px; }
.ag-inbox{ display:grid; grid-template-columns:minmax(260px,340px) 1fr; gap:18px; align-items:start; }
.ag-lista{ border:1px solid var(--border); border-radius:var(--r-card); background:var(--card); overflow:hidden; }
.ag-lista-cab{ display:flex; justify-content:space-between; align-items:center; gap:8px; padding-top:12px; padding-bottom:12px; padding-left:16px; padding-right:16px; border-bottom:1px solid var(--border); font-size:13px; color:var(--muted); }
.ag-lista ul{ list-style:none; margin:0; padding:0; max-height:640px; overflow-y:auto; }
.ag-conv{ display:block; min-height:44px; padding-top:12px; padding-bottom:12px; padding-left:16px; padding-right:16px; border-bottom:1px solid var(--border); color:var(--ink); }
.ag-conv:hover{ background:var(--bg2); }
.ag-conv.is-activa{ background:var(--bg2);  border-left-color:transparent; outline:2px solid var(--accent-text); outline-offset:-2px; }
.ag-conv-fila{ display:flex; justify-content:space-between; align-items:center; gap:8px; }
.ag-conv-nombre{ font-weight:700; overflow-wrap:anywhere; }
.ag-conv-prev{ display:block; margin-top:3px; font-size:13.5px; color:var(--muted); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.ag-conv-meta{ display:flex; flex-wrap:wrap; align-items:center; gap:6px; margin-top:6px; font-size:12px; color:var(--muted); }
.ag-sinleer{ min-width:22px; text-align:center; padding-left:6px; padding-right:6px; border-radius:var(--r-pill); background:var(--ink); color:var(--bg); font-size:12px; font-weight:700; line-height:20px; }
.ag-lista-pie{ padding-top:12px; padding-bottom:12px; padding-left:16px; padding-right:16px; border-top:1px solid var(--border); }
.ag-chip{ display:inline-block; font-size:11.5px; font-weight:700; padding:2px 8px; border-radius:var(--r-chip); border:1px solid var(--border); background:var(--bg2); color:var(--ink); }
.ag-temp-hot{ background:var(--error-light); color:var(--error); border-color:transparent; }
.ag-temp-warm{ background:var(--warning-light); color:var(--warning); border-color:transparent; }
.ag-temp-cold{ background:var(--bg2); color:var(--ink); }
.ag-chip-persona{ background:var(--ink); color:var(--bg); border-color:transparent; }
.ag-hilo-wrap{ display:grid; grid-template-columns:1fr; gap:18px; min-width:0; }
.ag-hilo{ border:1px solid var(--border); border-radius:var(--r-card); background:var(--card); min-width:0; }
.ag-hilo-cab{ display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:10px; padding-top:14px; padding-bottom:14px; padding-left:18px; padding-right:18px; border-bottom:1px solid var(--border); }
.ag-hilo-cab h2{ margin:0; font-size:1.0625rem; }
.ag-hilo-acciones{ display:flex; flex-wrap:wrap; gap:8px; align-items:center; }
.ag-hilo-acciones .btn{ min-height:44px; padding-top:10px; padding-bottom:10px; padding-left:18px; padding-right:18px; font-size:14px; }
.ag-volver{ display:none; }
.ag-msgs{ display:flex; flex-direction:column; gap:10px; padding-top:16px; padding-bottom:16px; padding-left:18px; padding-right:18px; max-height:520px; overflow-y:auto; }
.ag-msg{ max-width:78%; padding-top:9px; padding-bottom:9px; padding-left:13px; padding-right:13px; border-radius:var(--r-chip); background:var(--bg2); color:var(--ink); overflow-wrap:anywhere; }
.ag-msg p{ margin:0; white-space:pre-wrap; }
.ag-msg small{ display:block; margin-top:4px; font-size:11.5px; color:var(--muted); }
.ag-msg-user{ align-self:flex-start; }
.ag-msg-assistant{ align-self:flex-end; background:var(--card); border:1px solid var(--border); }
.ag-msg-human{ align-self:flex-end; background:var(--ink); color:var(--bg); }
.ag-msg-human small{ color:var(--bg); opacity:.8; }
.ag-msg.is-fallido{ border:1px solid var(--error); }
.ag-msg-error{ display:block; margin-top:4px; font-size:12px; font-weight:700; color:var(--error); }
.ag-msg-human .ag-msg-error{ color:var(--bg); }
.ag-estado-linea-hilo{ padding-top:10px; padding-bottom:10px; padding-left:18px; padding-right:18px; border-top:1px solid var(--border); font-size:13.5px; color:var(--muted); }
.ag-compose{ padding-top:14px; padding-bottom:16px; padding-left:18px; padding-right:18px; border-top:1px solid var(--border); }
.ag-compose textarea{ width:100%; min-height:88px; resize:vertical; }
.ag-compose-pie{ display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:10px; margin-top:8px; }
.ag-contador{ font-size:12.5px; color:var(--muted); }
.ag-contador.is-excedido{ color:var(--error); font-weight:700; }
.ag-compose .btn, .ag-plantilla .btn{ min-height:44px; padding-top:10px; padding-bottom:10px; }
.ag-plantilla{ margin-top:12px; border:1px solid var(--border); border-radius:var(--r-chip); padding-left:14px; padding-right:14px; background:var(--bg2); }
.ag-plantilla summary{ cursor:pointer; min-height:44px; display:flex; align-items:center; font-weight:700; font-size:14px; }
.ag-plantilla-cuerpo{ padding-bottom:14px; display:grid; gap:10px; }
.ag-plantilla-cuerpo label{ font-size:.8125rem; font-weight:700; display:block; margin-bottom:4px; }
.ag-plantilla-cuerpo .form-input{ min-height:44px; }
.ag-bloqueo{ margin:0 0 10px; padding-top:10px; padding-bottom:10px; padding-left:14px; padding-right:14px; border-radius:var(--r-chip); background:var(--warning-light); color:var(--warning); font-size:13.5px; font-weight:600; }
.ag-ficha dl{ margin:0; display:grid; gap:10px; font-size:14px; }
.ag-ficha dt{ font-size:.75rem; font-weight:700; text-transform:uppercase; letter-spacing:.5px; color:var(--muted); }
.ag-ficha dd{ margin:2px 0 0; overflow-wrap:anywhere; }
.ag-ficha h3{ margin:18px 0 8px; font-size:.9375rem; }
.ag-ficha ul{ margin:0; padding-left:18px; font-size:14px; }
.ag-vacio, .ag-error, .ag-sinpermiso, .ag-apagado{ border:1px solid var(--border); border-radius:var(--r-card); background:var(--card); padding-top:32px; padding-bottom:32px; padding-left:28px; padding-right:28px; max-width:640px; }
.ag-vacio h2, .ag-error h2, .ag-sinpermiso h2, .ag-apagado h2{ margin:0 0 8px; font-size:1.25rem; }
.ag-vacio p, .ag-error p, .ag-sinpermiso p, .ag-apagado p{ margin:0 0 16px; color:var(--muted); max-width:56ch; }
.ag-error{ border-color:var(--error); }
.ag-sinpermiso{ border-color:var(--warning); }
.ag-acciones{ display:flex; flex-wrap:wrap; gap:10px; }
.ag-skel{ display:grid; gap:12px; }
.ag-skel-fila{ height:18px; border-radius:var(--r-chip); background:var(--bg2); position:relative; overflow:hidden; }
.ag-skel-fila:nth-child(3n+1){ width:92%; }
.ag-skel-fila:nth-child(3n+2){ width:76%; }
.ag-skel-fila:nth-child(3n){ width:58%; }
.ag-skel-fila::after{ content:''; position:absolute; top:0; bottom:0; left:0; width:40%; background:var(--card); opacity:.6; transform:translateX(-100%); animation:ag-brillo 1.3s ease-in-out infinite; }
@keyframes ag-brillo{ from{ transform:translateX(-100%); } to{ transform:translateX(260%); } }
.ag-tabla-envoltura{ overflow-x:auto; -webkit-overflow-scrolling:touch; max-width:100%; }
.ag-tabla td, .ag-tabla th{ overflow-wrap:anywhere; }
.ag-tabla td.ag-num-col, .ag-tabla th.ag-num-col{ text-align:right; }
.ag-pagina{ display:flex; flex-wrap:wrap; gap:10px; align-items:center; justify-content:space-between; margin-top:14px; }
.ag-pagina .btn{ min-height:44px; padding-top:10px; padding-bottom:10px; }
.ag-form-linea{ display:grid; gap:10px; max-width:560px; }
.ag-form-linea label{ font-size:.8125rem; font-weight:700; display:block; margin-bottom:4px; }
.ag-form-linea .form-input{ min-height:44px; }
.ag-form-linea .btn{ min-height:44px; padding-top:10px; padding-bottom:10px; justify-self:start; }
.ag-fila-estado{ display:flex; flex-wrap:wrap; gap:8px; align-items:center; }
.ag-fila-estado .form-input{ min-height:44px; width:auto; min-width:140px; }
.ag-fila-estado .btn{ min-height:44px; padding-top:10px; padding-bottom:10px; font-size:14px; }
.ag-linea-tiempo{ list-style:none; margin:0; padding:0; display:grid; gap:10px; }
.ag-linea-tiempo li{ border-left:3px solid var(--border); padding-left:12px; font-size:14px; }
.ag-linea-tiempo b{ display:block; }
.ag-entradas{ display:grid; gap:12px; margin:0 0 20px; padding:0; list-style:none; }
.ag-entrada{ border:1px solid var(--border); border-radius:var(--r-card); background:var(--card); padding-top:14px; padding-bottom:14px; padding-left:18px; padding-right:18px; }
.ag-entrada h3{ margin:0 0 4px; font-size:1rem; }
.ag-entrada p{ margin:4px 0 0; overflow-wrap:anywhere; }
.ag-entrada-acciones{ display:flex; flex-wrap:wrap; gap:8px; margin-top:10px; align-items:center; }
.ag-entrada details summary{ cursor:pointer; min-height:44px; display:inline-flex; align-items:center; font-weight:700; font-size:14px; color:var(--accent-text); }
.ag-entrada .btn, .ag-entrada button.link{ min-height:44px; }
.ag-entrada button.link{ padding-left:10px; padding-right:10px; font-weight:700; color:var(--error); }
.ag-valor{ width:110px; min-height:44px; text-align:right; }
.ag-valor.is-cambiado{ border-color:var(--accent-text); background:var(--bg2); }
.ag-confirma{ border:1px solid var(--warning); border-radius:var(--r-card); background:var(--warning-light); color:var(--ink); padding-top:14px; padding-bottom:14px; padding-left:18px; padding-right:18px; margin:0 0 16px; }
.ag-confirma ul{ margin:8px 0 12px; padding-left:18px; }
@media (max-width:900px){
  .ag-inbox{ grid-template-columns:1fr; }
  .ag-inbox.tiene-hilo .ag-lista{ display:none; }
  .ag-volver{ display:inline-flex; align-items:center; min-height:44px; font-weight:700; }
  .ag-msg{ max-width:92%; }
  .ag-lista ul{ max-height:none; }
}
@media (min-width:1100px){
  .ag-hilo-wrap{ grid-template-columns:1fr 280px; }
}
@media (max-width:640px){
  .ag-tabla thead{ display:none; }
  .ag-tabla, .ag-tabla tbody, .ag-tabla tr, .ag-tabla td{ display:block; width:100%; }
  .ag-tabla{ border:0; background:transparent; }
  .ag-tabla tr{ margin-bottom:12px; padding:14px; border:1px solid var(--border); border-radius:var(--r-card); background:var(--card); }
  .ag-tabla td{ border:0; padding:4px 0; text-align:left; }
  .ag-tabla td.ag-num-col{ text-align:left; }
  .ag-tabla td::before{ content:attr(data-label); display:block; font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.05em; color:var(--muted); }
  .ag-filtros .form-input{ width:100%; }
  .ag-filtros > div{ flex:1 1 140px; }
  .ag-valor{ width:100%; text-align:left; }
}
@media (prefers-reduced-motion: reduce){
  .ag-skel-fila::after{ animation:none; display:none; }
}
